From e1380525841509ae9bf05c11bf27f655567e63ae Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 28 Nov 2012 19:23:39 -0800 Subject: backport features categories and add some new ones like the affinity slider --- include/features.php | 55 ++++++++++++++++++++++++++++++------------ mod/connections.php | 23 ++++++++++-------- mod/network.php | 39 +++++++++++++++--------------- mod/settings.php | 13 +++++++--- view/tpl/settings_features.tpl | 6 ++++- 5 files changed, 86 insertions(+), 50 deletions(-) diff --git a/include/features.php b/include/features.php index 2767f51e9..45d866d45 100644 --- a/include/features.php +++ b/include/features.php @@ -14,22 +14,45 @@ function feature_enabled($uid,$feature) { function get_features() { -$arr = array( - -array('multi_delete', t('Multiple Deletion'), t('Select and delete multiple posts/comments at once')), -array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')), -array('commtag', t('Community Tagging'), t('Tag existing posts and share the links')), -array('categories', t('Post Categories'), t('Add categories to your channel postings')), -array('filing', t('Saved Folders'), t('Ability to file posts under easily remembered names')), -array('archives', t('Search by Date'), t('Select posts by date ranges')), -array('dislike', t('Dislike Posts'), t('Ability to dislike posts/comments')), -array('savedsearch', t('Saved Searches'), t('Save search terms for re-use')), -array('preview', t('Post Preview'), t('Preview posts and comments before publishing them')), -array('edit_posts', t('Edit Sent Posts'), t('Edit and correct posts and comments after sending')), -array('star_posts', t('Star Posts'), t('Ability to mark special posts with a star indicator')), -array('richtext', t('Richtext Editor'), t('Use richtext/visual editor where applicable')), -array('multi_profiles', t('Multiple Profiles'), t('Show different profiles to different connections/collections')), -); + $arr = array( + + // General + 'general' => array( + t('General Features'), + array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')), + array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles')), + ), + + // Post composition + 'composition' => array( + t('Post Composition Features'), + array('richtext', t('Richtext Editor'), t('Enable richtext editor')), + array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them')), + ), + + // Network Tools + 'net_module' => array( + t('Network and Stream Filtering'), + array('archives', t('Search by Date'), t('Ability to select posts by date ranges')), + array('groups', t('Collections Filter'), t('Enable widget to display Network posts only from selected collections')), + array('savedsearch', t('Saved Searches'), t('Save search terms for re-use')), + array('personal_tab', t('Network Personal Tab'), t('Enable tab to display only Network posts that you\'ve interacted on')), + array('new_tab', t('Network New Tab'), t('Enable tab to display all new Network activity')), + array('affinity', t('Affinity Tool'), t('Filter stream activity by depth of relationships')), + ), + + // Item tools + 'tools' => array( + t('Post/Comment Tools'), + array('multi_delete', t('Multiple Deletion'), t('Select and delete multiple posts/comments at once')), + array('edit_posts', t('Edit Sent Posts'), t('Edit and correct posts and comments after sending')), + array('commtag', t('Tagging'), t('Ability to tag existing posts')), + array('categories', t('Post Categories'), t('Add categories to your posts')), + array('filing', t('Saved Folders'), t('Ability to file posts under folders')), + array('dislike', t('Dislike Posts'), t('Ability to dislike posts/comments')), + array('star_posts', t('Star Posts'), t('Ability to mark special posts with a star indicator')), + ), + ); call_hooks('get_features',$arr); return $arr; diff --git a/mod/connections.php b/mod/connections.php index addebc9cd..877d5d5c3 100644 --- a/mod/connections.php +++ b/mod/connections.php @@ -359,16 +359,19 @@ EOT; $tpl = get_markup_template("abook_edit.tpl"); - $slider_tpl = get_markup_template('contact_slider.tpl'); - $slide = replace_macros($slider_tpl,array( - '$me' => t('Me'), - '$val' => $contact['abook_closeness'], - '$intimate' => t('Best Friends'), - '$friends' => t('Friends'), - '$oldfriends' => t('Former Friends'), - '$acquaintances' => t('Acquaintances'), - '$world' => t('Unknown') - )); + if(feature_enabled(local_user(),'affinity')) { + + $slider_tpl = get_markup_template('contact_slider.tpl'); + $slide = replace_macros($slider_tpl,array( + '$me' => t('Me'), + '$val' => $contact['abook_closeness'], + '$intimate' => t('Best Friends'), + '$friends' => t('Friends'), + '$oldfriends' => t('Former Friends'), + '$acquaintances' => t('Acquaintances'), + '$world' => t('Unknown') + )); + } $perms = array(); $channel = $a->get_channel(); diff --git a/mod/network.php b/mod/network.php index a0f4ab354..c86bbc261 100644 --- a/mod/network.php +++ b/mod/network.php @@ -368,26 +368,27 @@ function network_content(&$a, $update = 0, $load = false) { if(! $update) { - - $tpl = get_markup_template('main_slider.tpl'); - $o .= replace_macros($tpl,array( - '$val' => intval($cmin) . ';' . intval($cmax), - '$refresh' => t('Refresh'), - '$me' => t('Me'), - '$intimate' => t('Best Friends'), - '$friends' => t('Friends'), - '$coworkers' => t('Co-workers'), - '$oldfriends' => t('Former Friends'), - '$acquaintances' => t('Acquaintances'), - '$world' => t('Everybody') - )); + if(feature_enabled(local_user(),'affinity')) { + $tpl = get_markup_template('main_slider.tpl'); + $o .= replace_macros($tpl,array( + '$val' => intval($cmin) . ';' . intval($cmax), + '$refresh' => t('Refresh'), + '$me' => t('Me'), + '$intimate' => t('Best Friends'), + '$friends' => t('Friends'), + '$coworkers' => t('Co-workers'), + '$oldfriends' => t('Former Friends'), + '$acquaintances' => t('Acquaintances'), + '$world' => t('Everybody') + )); + } - $arr = array('tabs' => $tabs); - call_hooks('network_tabs', $arr); + $arr = array('tabs' => $tabs); + call_hooks('network_tabs', $arr); - $o .= replace_macros(get_markup_template('common_tabs.tpl'), array('$tabs'=> $arr['tabs'])); + $o .= replace_macros(get_markup_template('common_tabs.tpl'), array('$tabs'=> $arr['tabs'])); - // --- end item filter tabs + // --- end item filter tabs // search terms header @@ -666,7 +667,7 @@ function network_content(&$a, $update = 0, $load = false) { ); } else { -dbg(1); + $r = q("SELECT item.id AS item_id FROM item left join abook on item.author_xchan = abook.abook_xchan WHERE item.uid = %d AND item.item_restrict = 0 @@ -677,7 +678,7 @@ dbg(1); intval(local_user()), intval(ABOOK_FLAG_BLOCKED) ); -dbg(0); + } // Then fetch all the children of the parents that are on this page diff --git a/mod/settings.php b/mod/settings.php index 5c3d7dead..ef52388e2 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -654,17 +654,22 @@ function settings_content(&$a) { $arr = array(); $features = get_features(); - foreach($features as $f) { - $arr[] = array('feature_' .$f[0],$f[1],((intval(get_pconfig(local_user(),'feature',$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On'))); + + foreach($features as $fname => $fdata) { + $arr[$fname] = array(); + $arr[$fname][0] = $fdata[0]; + foreach(array_slice($fdata,1) as $f) { + $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(get_pconfig(local_user(),'feature',$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On'))); + } } - $tpl = get_markup_template("settings_features.tpl"); $o .= replace_macros($tpl, array( '$form_security_token' => get_form_security_token("settings_features"), '$title' => t('Additional Features'), '$features' => $arr, - '$submit' => t('Submit') + '$submit' => t('Submit'), + '$field_yesno' => 'field_yesno.tpl', )); return $o; } diff --git a/view/tpl/settings_features.tpl b/view/tpl/settings_features.tpl index 23de2c0e3..fd65abebb 100644 --- a/view/tpl/settings_features.tpl +++ b/view/tpl/settings_features.tpl @@ -5,7 +5,11 @@ {{ for $features as $f }} - {{ inc field_yesno.tpl with $field=$f }}{{endinc}} +

$f.0

+ +{{ for $f.1 as $fcat }} + {{ inc $field_yesno with $field=$fcat }}{{endinc}} +{{ endfor }} {{ endfor }}
-- cgit v1.2.3