diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/contact_widgets.php | 2 | ||||
-rw-r--r-- | include/widgets.php | 42 |
2 files changed, 44 insertions, 0 deletions
diff --git a/include/contact_widgets.php b/include/contact_widgets.php index ba1241fcb..e62d57aa2 100644 --- a/include/contact_widgets.php +++ b/include/contact_widgets.php @@ -79,12 +79,14 @@ function categories_widget($baseurl,$selected = '') { where item.uid = %d and term.uid = item.uid and term.type = %d + and term.otype = %d and item.owner_xchan = '%s' and item.item_wall = 1 $item_normal order by term.term asc", intval(App::$profile['profile_uid']), intval(TERM_CATEGORY), + intval(TERM_OBJ_POST), dbesc(App::$profile['channel_hash']) ); if($r && count($r)) { diff --git a/include/widgets.php b/include/widgets.php index 7384aa399..2641a718e 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -400,6 +400,48 @@ function widget_categories($arr) { } +function widget_appcategories($arr) { + + if(! local_channel()) + return ''; + + $cat = ((x($_REQUEST,'cat')) ? htmlspecialchars($_REQUEST['cat'],ENT_COMPAT,'UTF-8') : ''); + $srchurl = App::$query_string; + $srchurl = rtrim(preg_replace('/cat\=[^\&].*?(\&|$)/is','',$srchurl),'&'); + $srchurl = str_replace(array('?f=','&f='),array('',''),$srchurl); + + $terms = array(); + + $r = q("select distinct(term.term) + from term join app on term.oid = app.id + where app_channel = %d + and term.uid = app_channel + and term.otype = %d + order by term.term asc", + intval(local_channel()), + intval(TERM_OBJ_APP) + ); + if($r) { + foreach($r as $rr) + $terms[] = array('name' => $rr['term'], 'selected' => (($selected == $rr['term']) ? 'selected' : '')); + + return replace_macros(get_markup_template('categories_widget.tpl'),array( + '$title' => t('Categories'), + '$desc' => '', + '$sel_all' => (($selected == '') ? 'selected' : ''), + '$all' => t('Everything'), + '$terms' => $terms, + '$base' => $srchurl, + + )); + } + + + +} + + + function widget_appcloud($arr) { if(! local_channel()) return ''; |