]> git.mxchange.org Git - friendica.git/commitdiff
Merge https://github.com/friendica/friendica into pull
authorfriendica <info@friendica.com>
Fri, 23 Nov 2012 04:55:03 +0000 (20:55 -0800)
committerfriendica <info@friendica.com>
Fri, 23 Nov 2012 04:55:03 +0000 (20:55 -0800)
37 files changed:
boot.php
include/contact_selectors.php
include/contact_widgets.php
include/conversation.php
include/features.php [new file with mode: 0644]
include/items.php
include/nav.php
mod/editpost.php
mod/item.php
mod/message.php
mod/network.php
mod/profiles.php
mod/search.php
mod/settings.php
object/Item.php
view/jot.tpl
view/settings_features.tpl [new file with mode: 0644]
view/theme/diabook/jot.tpl
view/theme/diabook/wall_thread.tpl
view/theme/dispy/jot.tpl
view/theme/dispy/wall_thread.tpl
view/theme/frost-mobile/jot.tpl
view/theme/frost-mobile/nav.tpl
view/theme/frost-mobile/style.css
view/theme/frost-mobile/wall_thread.tpl
view/theme/frost/images/net-reset.png [new file with mode: 0644]
view/theme/frost/jot.tpl
view/theme/frost/nav.tpl
view/theme/frost/style.css
view/theme/frost/wall_thread.tpl
view/theme/quattro/jot.tpl
view/theme/quattro/wall_thread.tpl
view/theme/smoothly/jot.tpl
view/theme/smoothly/wall_thread.tpl
view/theme/testbubble/wall_thread.tpl
view/theme/vier/wall_thread.tpl
view/wall_thread.tpl

index cfe8cbcbd3dd80cf6385713318ea5dc122042b7f..b83fe32a1ecb3c170a2758f9ad62d3c15e0a7f97 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -9,6 +9,7 @@ require_once('include/pgettext.php');
 require_once('include/nav.php');
 require_once('include/cache.php');
 require_once('library/Mobile_Detect/Mobile_Detect.php');
+require_once('include/features.php');
 
 define ( 'FRIENDICA_PLATFORM',     'Friendica');
 define ( 'FRIENDICA_VERSION',      '3.0.1535' );
@@ -359,6 +360,7 @@ if(! class_exists('App')) {
 
                public $category;
 
+
                // Allow themes to control internal parameters
                // by changing App values in theme.php
 
@@ -1232,7 +1234,7 @@ if(! function_exists('profile_sidebar')) {
 
 
                // show edit profile to yourself
-               if ($profile['uid'] == local_user()) {
+               if ($profile['uid'] == local_user() && feature_enabled(local_user(),'multi_profiles')) {
                        $profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
                
                        $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
index 4b3ca987a6675276917b22c6d7919897f2c8d4f3..7e2f81dffe4985d40e436b9aac110880cb91c35b 100644 (file)
@@ -83,6 +83,8 @@ function network_to_name($s) {
                NETWORK_LINKEDIN => t('LinkedIn'),
                NETWORK_XMPP     => t('XMPP/IM'),
                NETWORK_MYSPACE  => t('MySpace'),
+               NETWORK_MAIL2    => t('Email'),
+               NETWORK_GPLUS    => t('Google+')
        );
 
        call_hooks('network_to_name', $nets);
index ea71b3b707b35b5a2fe3c3d5c976eb6be15ace63..9401adccad88f76c4859624b20880af7e5c35272 100644 (file)
@@ -47,6 +47,8 @@ function networks_widget($baseurl,$selected = '') {
        if(! local_user())
                return '';
 
+       if(! feature_enabled(local_user(),'networks'))
+               return '';
        
        $r = q("select distinct(network) from contact where uid = %d and self = 0",
                intval(local_user())
@@ -80,6 +82,9 @@ function fileas_widget($baseurl,$selected = '') {
        if(! local_user())
                return '';
 
+       if(! feature_enabled(local_user(),'filing'))
+               return '';
+
        $saved = get_pconfig(local_user(),'system','filetags');
        if(! strlen($saved))
                return;
@@ -106,8 +111,12 @@ function fileas_widget($baseurl,$selected = '') {
 }
 
 function categories_widget($baseurl,$selected = '') {
+
        $a = get_app();
 
+       if(! feature_enabled($a->profile['profile_uid'],'categories'))
+               return '';
+
        $saved = get_pconfig($a->profile['profile_uid'],'system','filetags');
        if(! strlen($saved))
                return;
@@ -196,4 +205,4 @@ function common_friends_visitor_widget($profile_uid) {
                '$items' => $r
        )); 
 
-};
\ No newline at end of file
+};
index 1de77feb1b1aec9c14dd0281a83abd7ece7c4de3..e4f3ec9ff63a8c1932e766c78cc24e6ad351cfcd 100644 (file)
@@ -686,7 +686,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
                '$mode' => $mode,
                '$user' => $a->user,
                '$threads' => $threads,
-               '$dropping' => ($page_dropping?t('Delete Selected Items'):False),
+               '$dropping' => ($page_dropping && feature_enabled(local_user(),'multi_delete') ? t('Delete Selected Items') : False),
        ));
 
        return $o;
@@ -887,9 +887,12 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
 
        $geotag = (($x['allow_location']) ? get_markup_template('jot_geotag.tpl') : '');
 
-       $plaintext = false;
-       if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
-               $plaintext = true;
+/*     $plaintext = false;
+       if( local_user() && (intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext')) )
+               $plaintext = true;*/
+       $plaintext = true;
+       if( local_user() && feature_enabled(local_user(),'richtext') )
+               $plaintext = false;
 
        $tpl = get_markup_template('jot-header.tpl');
        $a->page['htmlhead'] .= replace_macros($tpl, array(
@@ -958,7 +961,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
        if($notes_cid)
                $jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $notes_cid .'" />';
 
-       $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
+//     $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
 
        $o .= replace_macros($tpl,array(
                '$return_path' => $a->query_string,
@@ -981,7 +984,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
                '$title' => "",
                '$placeholdertitle' => t('Set title'),
                '$category' => "",
-               '$placeholdercategory' => t('Categories (comma-separated list)'),
+               '$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
                '$wait' => t('Please wait'),
                '$permset' => t('Permission settings'),
                '$shortpermset' => t('permissions'),
@@ -1000,7 +1003,8 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
                '$acl' => $x['acl'],
                '$bang' => $x['bang'],
                '$profile_uid' => $x['profile_uid'],
-               '$preview' => t('Preview'),
+               '$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''),
+               '$jotplugins' => $jotplugins,
                '$sourceapp' => t($a->sourcename),
                '$cancel' => t('Cancel'),
                '$rand_num' => random_digits(12)
diff --git a/include/features.php b/include/features.php
new file mode 100644 (file)
index 0000000..9decef4
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+/*
+ * Features management
+ */
+
+
+function feature_enabled($uid,$feature) {
+       //return true;
+
+       $x = get_pconfig($uid,'feature',$feature);
+       $arr = array('uid' => $uid, 'feature' => $feature, 'enabled' => $x);
+       call_hooks('feature_enabled',$arr);
+       return($arr['enabled']);
+}
+
+function get_features() {
+
+       $arr = array(
+
+               // General
+               'general' => array(
+                       '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(
+                       '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 sidebar widgets
+               'widgets' => array(
+                       'Network Sidebar Widgets',
+                       array('archives',       t('Search by Date'),                    t('Ability to select posts by date ranges')),
+                       array('groups',                 t('Group Filter'),                              t('Enable widget to display Network posts only from selected group')),
+                       array('networks',               t('Network Filter'),                    t('Enable widget to display Network posts only from selected network')),
+                       array('savedsearch',    t('Saved Searches'),                    t('Save search terms for re-use')),
+               ),
+
+               // Network tabs
+               'net_tabs' => array(
+                       'Network Tabs',
+                       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 only new Network posts (from the last 12 hours)')),
+                       array('link_tab',       t('Network Shared Links Tab'),  t('Enable tab to display only Network posts with links in them')),
+               ),
+
+               // Item tools
+               'tools' => array(
+                       '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;
+}
index 95676ac056ae246b50f46e40c48717d68267aac1..fb7a7e25d153d8bd5a93a626a388fac9d23257a3 100755 (executable)
@@ -4031,10 +4031,13 @@ function posted_dates($uid,$wall) {
 function posted_date_widget($url,$uid,$wall) {
        $o = '';
 
+       if(! feature_enabled($uid,'archives'))
+               return $o;
+
        // For former Facebook folks that left because of "timeline"
 
-       if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
-               return $o;
+/*     if($wall && intval(get_pconfig($uid,'system','no_wall_archive_widget')))
+               return $o;*/
 
        $ret = posted_dates($uid,$wall);
        if(! count($ret))
index e26cc8889a916ebae6d1c807a6651e3e6540cd8e..3c058e04f62b736ffc150199918c2eb1ef7b170d 100644 (file)
@@ -111,6 +111,7 @@ function nav(&$a) {
        if(local_user()) {
 
                $nav['network'] = array('network', t('Network'), "", t('Conversations from your friends'));
+               $nav['net_reset'] = array('network/0?f=&order=comment&nets=all', t('Network Reset'), "", t('Load Network page with no filters'));
 
                $nav['home'] = array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations'));
 
@@ -135,7 +136,9 @@ function nav(&$a) {
                }
 
                $nav['settings'] = array('settings', t('Settings'),"", t('Account settings'));
-               $nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/edit profiles'));
+               if(feature_enabled(local_user(),'multi_profiles'))
+                       $nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/Edit Profiles'));
+
                $nav['contacts'] = array('contacts', t('Contacts'),"", t('Manage/edit friends and contacts'));
        }
 
index 1dc6aea21e054a3af159ebbda149cab5414a7538..d6539e10782a55da57068903c8ccc8ef0265572d 100644 (file)
@@ -28,9 +28,12 @@ function editpost_content(&$a) {
                return;
        }
 
-       $plaintext = false;
-       if(local_user() && intval(get_pconfig(local_user(),'system','plaintext')))
-               $plaintext = true;
+/*     $plaintext = false;
+       if( local_user() && intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext') )
+               $plaintext = true;*/
+       $plaintext = true;
+       if( local_user() && feature_enabled(local_user(),'richtext') )
+               $plaintext = false;
 
 
        $o .= '<h2>' . t('Edit post') . '</h2>';
@@ -130,7 +133,7 @@ function editpost_content(&$a) {
                '$title' => $itm[0]['title'],
                '$placeholdertitle' => t('Set title'),
                '$category' => file_tag_file_to_list($itm[0]['file'], 'category'),
-               '$placeholdercategory' => t('Categories (comma-separated list)'),
+               '$placeholdercategory' => (feature_enabled(local_user(),'categories') ? t('Categories (comma-separated list)') : ''),
                '$emtitle' => t('Example: bob@example.com, mary@example.com'),
                '$lockstate' => $lockstate,
                '$acl' => '', // populate_acl((($group) ? $group_acl : $a->user), $celeb),
index 6bd856b96d0377b45a64303165864967d838f863..2ed1b812a48cb22cc51ed31dfcb40e58e906dede 100644 (file)
@@ -309,7 +309,11 @@ function item_post(&$a) {
        // First figure out if it's a status post that would've been
        // created using tinymce. Otherwise leave it alone. 
 
-       $plaintext = (local_user() ? intval(get_pconfig(local_user(),'system','plaintext')) : 0);
+/*     $plaintext = (local_user() ? intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled($profile_uid,'richtext') : 0);
+       if((! $parent) && (! $api_source) && (! $plaintext)) {
+               $body = fix_mce_lf($body);
+       }*/
+       $plaintext = (local_user() ? !feature_enabled($profile_uid,'richtext') : 0);
        if((! $parent) && (! $api_source) && (! $plaintext)) {
                $body = fix_mce_lf($body);
        }
index 97c65863209441b3749a4012c69cfc3e6da89dd4..744a3eb3f7c8a6a50e584c0cb2a0a03d17b6dc6e 100644 (file)
@@ -46,7 +46,11 @@ function message_post(&$a) {
 
        // Work around doubled linefeeds in Tinymce 3.5b2
 
-       $plaintext = intval(get_pconfig(local_user(),'system','plaintext'));
+/*     $plaintext = intval(get_pconfig(local_user(),'system','plaintext') && !feature_enabled(local_user(),'richtext'));
+       if(! $plaintext) {
+               $body = fix_mce_lf($body);
+       }*/
+       $plaintext = intval(!feature_enabled(local_user(),'richtext'));
        if(! $plaintext) {
                $body = fix_mce_lf($body);
        }
@@ -229,9 +233,12 @@ function message_content(&$a) {
                
                $o .= $header;
                
-               $plaintext = false;
+/*             $plaintext = false;
                if(intval(get_pconfig(local_user(),'system','plaintext')))
-                       $plaintext = true;
+                       $plaintext = true;*/
+               $plaintext = true;
+               if( local_user() && feature_enabled(local_user(),'richtext') )
+                       $plaintext = false;
 
 
                $tpl = get_markup_template('msg-header.tpl');
index bbdd0130d72bb02f2280b3261f143d988c925fb6..2ab5b6de35b17f0b57b5c4f4de1894b3e789b67a 100644 (file)
@@ -181,7 +181,7 @@ function network_init(&$a) {
                $a->page['content'] .= '<h2>' . t('Search Results For:') . ' '  . $search . '</h2>';
        }
 
-       $a->page['aside'] .= group_side('network/0','network',true,$group_id);
+       $a->page['aside'] .= (feature_enabled(local_user(),'groups') ? group_side('network/0','network',true,$group_id) : '');
        $a->page['aside'] .= posted_date_widget($a->get_baseurl() . '/network',local_user(),false);     
        $a->page['aside'] .= networks_widget($a->get_baseurl(true) . '/network',(x($_GET, 'nets') ? $_GET['nets'] : ''));
        $a->page['aside'] .= saved_searches($search);
@@ -191,6 +191,9 @@ function network_init(&$a) {
 
 function saved_searches($search) {
 
+       if(! feature_enabled(local_user(),'savedsearch'))
+               return '';
+
        $a = get_app();
 
        $srchurl = '/network?f=' 
@@ -403,30 +406,30 @@ function network_content(&$a, $update = 0) {
                        'title' => t('Sort by Post Date'),
                ),
 
-               array(
+/*             array(
                        'label' => t('Personal'),
                        'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
                        'sel' => $conv_active,
                        'title' => t('Posts that mention or involve you'),
-               ),
-               array(
+               ),*/
+/*             array(
                        'label' => t('New'),
                        'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
                        'sel' => $new_active,
                        'title' => t('Activity Stream - by date'),
-               ),
-               array(
+               ),*/
+/*             array(
                        'label' => t('Starred'),
                        'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
                        'sel'=>$starred_active,
                        'title' => t('Favourite Posts'),
-               ),
-               array(
+               ),*/
+/*             array(
                        'label' => t('Shared Links'),
                        'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
                        'sel'=>$bookmarked_active,
                        'title'=> t('Interesting Links'),
-               ),      
+               ),      */
 //             array(
 //                     'label' => t('Spam'),
 //                     'url'=>$a->get_baseurl(true) . '/network?f=&spam=1'
@@ -436,6 +439,53 @@ function network_content(&$a, $update = 0) {
 
        );
        
+       if(feature_enabled(local_user(),'personal_tab')) {
+               $tabs[] = array(
+                       'label' => t('Personal'),
+                       'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&conv=1',
+                       'sel' => $conv_active,
+                       'title' => t('Posts that mention or involve you'),
+               );
+       }
+
+       if(feature_enabled(local_user(),'new_tab')) {
+               $tabs[] = array(
+                       'label' => t('New'),
+                       'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
+                       'sel' => $new_active,
+                       'title' => t('Activity Stream - by date'),
+               );
+       }
+
+       if(feature_enabled(local_user(),'link_tab')) {
+               $tabs[] = array(
+                       'label' => t('Shared Links'),
+                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1',
+                       'sel'=>$bookmarked_active,
+                       'title'=> t('Interesting Links'),
+               );
+       }
+
+       if(feature_enabled(local_user(),'star_posts')) {
+               $tabs[] = array(
+                       'label' => t('Starred'),
+                       'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&star=1',
+                       'sel'=>$starred_active,
+                       'title' => t('Favourite Posts'),
+               );
+       }
+
+       // Not yet implemented
+
+/*     if(feature_enabled(local_user(),'spam_filter'))  {
+               $tabs[] = array(
+                       'label' => t('Spam'),
+                       'url'=>$a->get_baseurl(true) . '/network?f=&spam=1',
+                       'sel'=> $spam_active,
+                       'title' => t('Posts flagged as SPAM'),
+               );
+       }*/
+
        // save selected tab, but only if not in search or file mode
        if(!x($_GET,'search') && !x($_GET,'file')) {
                set_pconfig( local_user(), 'network.view','tab.selected',array($all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active) );
index 013e8e82002617ac88b23940909567c29d6bf106..e30c982182d74b1ceff4f84cf9afa57f97c4a17b 100644 (file)
@@ -554,9 +554,12 @@ function profiles_content(&$a) {
                require_once('include/profile_selectors.php');
 
 
-               $editselect = 'textareas';
-               if(intval(get_pconfig(local_user(),'system','plaintext')))
-                       $editselect = 'none';
+/*             $editselect = 'textareas';
+               if( intval(get_pconfig(local_user(),'system','plaintext')) || !feature_enabled(local_user(),'richtext') )
+                       $editselect = 'none';*/
+               $editselect = 'none';
+               if( feature_enabled(local_user(),'richtext') )
+                       $editselect = 'textareas';
 
                $a->page['htmlhead'] .= replace_macros(get_markup_template('profed_head.tpl'), array(
                        '$baseurl' => $a->get_baseurl(true),
index ac848a0ceced8af051aee13655c98c95155d61f3..d572750986179192a5637c22180713c9299e0d2b 100644 (file)
@@ -4,6 +4,9 @@ function search_saved_searches() {
 
        $o = '';
 
+       if(! feature_enabled(local_user(),'savedsearch'))
+               return $o;
+
        $r = q("select `id`,`term` from `search` WHERE `uid` = %d",
                intval(local_user())
        );
index bd5e81e2e976a2d107ef639904df251b3721b7b3..1e464de18c8dadd888433f2eb7776537e9015390 100644 (file)
@@ -31,6 +31,11 @@ function settings_init(&$a) {
                        'url'   => $a->get_baseurl(true).'/settings',
                        'selected'      => (($a->argc == 1)?'active':''),
                ),      
+               array(
+                       'label' => t('Additional features'),
+                       'url'   => $a->get_baseurl(true).'/settings/features',
+                       'selected'      => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
+               ),
                array(
                        'label' => t('Display settings'),
                        'url'   => $a->get_baseurl(true).'/settings/display',
@@ -231,7 +236,18 @@ function settings_post(&$a) {
                return;
        }
        
-       if(($a->argc > 1) && ($a->argv[1] == 'display')) {
+       if(($a->argc > 1) && ($a->argv[1] === 'features')) {
+               check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
+               foreach($_POST as $k => $v) {
+                       if(strpos($k,'feature_') === 0) {
+                               set_pconfig(local_user(),'feature',substr($k,8),((intval($v)) ? 1 : 0));
+                       }
+               }
+               info( t('Features updated') . EOL);
+               return;
+       }
+
+       if(($a->argc > 1) && ($a->argv[1] === 'display')) {
                
                check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
 
@@ -612,6 +628,7 @@ function settings_content(&$a) {
                return $o;
                
        }
+
        if(($a->argc > 1) && ($a->argv[1] === 'addon')) {
                $settings_addons = "";
                
@@ -631,6 +648,30 @@ function settings_content(&$a) {
                return $o;
        }
 
+       if(($a->argc > 1) && ($a->argv[1] === 'features')) {
+               
+               $arr = array();
+               $features = get_features();
+               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'),
+                       '$field_yesno'  => 'field_yesno.tpl',
+               ));
+               return $o;
+       }
+
        if(($a->argc > 1) && ($a->argv[1] === 'connectors')) {
 
                $settings_connectors = "";
index 2799291111d7aeca659c0c28f32878a2692442e7..9cc9fe15a60117c46c73a7861e07e9de7c8236f1 100644 (file)
@@ -113,7 +113,7 @@ class Item extends BaseObject {
 
                $drop = array(
                        'dropping' => $dropping,
-                       'pagedrop' => $item['pagedrop'],
+                       'pagedrop' => ((feature_enabled($conv->get_profile_owner(),'multi_delete')) ? $item['pagedrop'] : ''),
                        'select' => t('Select'), 
                        'delete' => t('Delete'),
                );
@@ -184,9 +184,14 @@ class Item extends BaseObject {
                                        'classdo' => (($item['starred']) ? "hidden" : ""),
                                        'classundo' => (($item['starred']) ? "" : "hidden"),
                                        'starred' =>  t('starred'),
-                                       'tagger' => t("add tag"),
-                                       'classtagger' => "",
                                );
+                               $tagger = '';
+                               if(feature_enabled($conv->get_profile_owner(),'commtag')) {
+                                       $tagger = array(
+                                               'add' => t("add tag"),
+                                               'class' => "",
+                                       );
+                               }
                        }
                } else {
                        $indent = 'comment';
@@ -195,7 +200,7 @@ class Item extends BaseObject {
                if($conv->is_writable()) {
                        $buttons = array(
                                'like' => array( t("I like this \x28toggle\x29"), t("like")),
-                               'dislike' => array( t("I don't like this \x28toggle\x29"), t("dislike")),
+                               'dislike' => ((feature_enabled($conv->get_profile_owner(),'dislike')) ? array( t("I don't like this \x28toggle\x29"), t("dislike")) : ''),
                        );
                        if ($shareable) $buttons['share'] = array( t('Share this'), t('share'));
                }
@@ -249,14 +254,15 @@ class Item extends BaseObject {
                        'owner_photo' => $this->get_owner_photo(),
                        'owner_name' => template_escape($this->get_owner_name()),
                        'plink' => get_plink($item),
-                       'edpost' => $edpost,
+                       'edpost'    => ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''),
                        'isstarred' => $isstarred,
-                       'star' => $star,
-                       'filer' => $filer,
+                       'star'      => ((feature_enabled($conv->get_profile_owner(),'star_posts')) ? $star : ''),
+                       'tagger'        => $tagger,
+                       'filer'     => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''),
                        'drop' => $drop,
                        'vote' => $buttons,
                        'like' => $like,
-                       'dislike' => $dislike,
+                       'dislike'   => $dislike,
                        'switchcomment' => t('Comment'),
                        'comment' => $this->get_comment_box($indent),
                        'previewing' => ($conv->is_preview() ? ' preview ' : ''),
@@ -570,7 +576,7 @@ class Item extends BaseObject {
                                '$edimg' => t('Image'),
                                '$edurl' => t('Link'),
                                '$edvideo' => t('Video'),
-                               '$preview' => t('Preview'),
+                               '$preview' => ((feature_enabled($conv->get_profile_owner(),'preview')) ? t('Preview') : ''),
                                '$indent' => $indent,
                                '$sourceapp' => t($a->sourcename),
                                '$ww' => (($conv->get_mode() === 'network') ? $ww : ''),
index 0f21766812f95a6976064d9f322cfa78cfdb7165..61d727307019aa5e460f5baaea1f6d492b3c069f 100644 (file)
@@ -16,7 +16,9 @@
                <input type="hidden" name="preview" id="jot-preview" value="0" />
                <input type="hidden" name="post_id_random" value="$rand_num" />
                <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
+               {{ if $placeholdercategory }}
                <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
+               {{ endif }}
                <div id="jot-text-wrap">
                <img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
                <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
diff --git a/view/settings_features.tpl b/view/settings_features.tpl
new file mode 100644 (file)
index 0000000..4065d8f
--- /dev/null
@@ -0,0 +1,20 @@
+<h1>$title</h1>
+
+
+<form action="settings/features" method="post" autocomplete="off">
+<input type='hidden' name='form_security_token' value='$form_security_token'>
+
+{{ for $features as $f }}
+<h3 class="settings-heading">$f.0</h3>
+
+{{ for $f.1 as $fcat }}
+       {{ inc $field_yesno with $field=$fcat }}{{endinc}}
+{{ endfor }}
+{{ endfor }}
+
+<div class="settings-submit-wrapper" >
+<input type="submit" name="submit" class="settings-features-submit" value="$submit" />
+</div>
+
+</form>
+
index 1d94cb6d3c05752da8b856a4bad13386413ab6a3..bd2cb30e803730301f4fd32f5400c8230f690ea7 100644 (file)
@@ -14,7 +14,9 @@
                <input type="hidden" name="post_id" value="$post_id" />
                <input type="hidden" name="preview" id="jot-preview" value="0" />
                <input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none">
+               {{ if $placeholdercategory }}
                <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>           
+               {{ endif }}
                <div id="character-counter" class="grey"></div>         
                <img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
                <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
index 70c8f1d9b4c9a60605f6e670cff5d3e22b47232c..21e0c747b96c1d7b9ed87cede5964e4dc2f19b9a 100644 (file)
                        
                        {{ if $item.vote }}
                                <a href="#" id="like-$item.id" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
+                               {{ if $item.vote.dislike }}
                                <a href="#" id="dislike-$item.id" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
+                               {{ endif }}
                        {{ endif }}
                                                
                        {{ if $item.vote.share }}
                        {{ if $item.star }}
                                <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle">
                                <img src="images/star_dummy.png" class="icon star" alt="$item.star.do" /> </a>
-                               <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>                                   
+                       {{ endif }}
+
+                       {{ if $item.tagger }}
+                               <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>                                    
                        {{ endif }}     
                        
                        {{ if $item.filer }}
index 58090448590f19f8847f7c7bec9cbf48203052eb..193872f182f6daffe46beccafa11c36e04110099 100644 (file)
@@ -12,7 +12,9 @@
                <input type="hidden" name="post_id_random" value="$rand_num" />
                <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none" /></div>
                <div id="character-counter" class="grey jothidden"></div>
+               {{ if $placeholdercategory }}
                <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
+               {{ endif }}
                <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body">{{ if $content }}$content{{ else }}$share{{ endif }}
                </textarea>
 
index 44517fabcefbb14a2fc87e3e4f326e5fe795481a..3524c95684883b66e9c0c1388a9c4b6226c4a2c0 100644 (file)
                                {{ if $item.star }}
                                <li>
                                        <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
-                                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
+                               </li>
+                               {{ endif }}
+                               {{ if $item.tagger }}
+                               <li>
+                                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
                                </li>
                                {{ endif }}
                                {{ if $item.vote }}
                                <li class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
                                        <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
+                                       {{ if $item.vote.dislike }}
                                        <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
+                                       {{ endif }}
                                        {{ if $item.vote.share }}
                                        <a href="#" id="share-$item.id"
 class="icon recycle wall-item-share-buttons"  title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
index 7dd68937837b432d16080b7e1771ca13ead970c3..d8dd44990a113ea67365459e7f475d24741bbd90 100644 (file)
@@ -17,7 +17,9 @@
                <input type="hidden" name="preview" id="jot-preview" value="0" />
                <input type="hidden" name="post_id_random" value="$rand_num" />
                <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
+               {{ if $placeholdercategory }}
                <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
+               {{ endif }}
                <div id="jot-text-wrap">
                <!--<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />-->
                <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
index 38f78c5c7664cf9f8c99830b4d55503f44e70247..8425640a707d26e79f90815755d56a7b65feeb92 100644 (file)
                <!--<span id="net-update" class="nav-ajax-left"></span>-->
                {{ endif }}
 
+               {{ if $nav.network }}
+               <li>
+               <a class="nav-menu-icon network-reset-link nav-link" href="$nav.net_reset.0" title="$nav.net_reset.3">$nav.net_reset.1</a>
+               </li>
+               {{ endif }}
+
                {{ if $nav.home }}
                <li><a id="nav-home-link" class="$nav.home.2 $sel.home nav-load-page-link" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a></li>
                <!--<span id="home-update" class="nav-ajax-left"></span>-->
index b38fdceb879be788be2cdcc226190dabfc47a585..9cf97e0a7a37966e5a276e5a73eed5429110a1ea 100644 (file)
@@ -278,6 +278,7 @@ nav .nav-link {
 }\r
 \r
 #network-menu-list {\r
+       width: 9em;\r
        left: 3px;\r
 }\r
 \r
@@ -2750,7 +2751,7 @@ aside input[type='text'] {
        margin-left: 100px;\r
        margin-bottom: 20px;\r
 }\r
-.settings-submit, .profile-edit-submit-button {\r
+.settings-submit, .profile-edit-submit-button, .settings-features-submit {\r
        padding: 0.25em 0.5em;\r
        margin-bottom: 10px;\r
        font-size: 18px;\r
@@ -3420,7 +3421,7 @@ aside input[type='text'] {
        display: block;\r
        margin-left: 20px;\r
        color: #666666;\r
-       \r
+       clear: left;\r
 }\r
 \r
 \r
@@ -3457,7 +3458,7 @@ aside input[type='text'] {
 }\r
 .hidden { display: none!important; }\r
 \r
-.field.radio .field_help { clear: left; margin-left: 20px; }\r
+.field.radio .field_help { margin-left: 20px; }\r
 \r
 /**\r
  * ADMIN\r
index dec5a7183c11331874d9ca9fe3fa8524b89d540a..2b3b3d42d846061742a400d6ce4cc5e44b29fa86 100644 (file)
@@ -67,7 +67,9 @@
                        {{ if $item.vote }}
                        <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
                                <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
+                               {{ if $item.vote.dislike }}
                                <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
+                               {{ endif }}
                                {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
                                <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
                        </div>
@@ -81,7 +83,9 @@
                         
                        {{ if $item.star }}
                        <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
-                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
+                       {{ endif }}
+                       {{ if $item.tagger }}
+                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
                        {{ endif }}
                        {{ if $item.filer }}
                        <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
diff --git a/view/theme/frost/images/net-reset.png b/view/theme/frost/images/net-reset.png
new file mode 100644 (file)
index 0000000..8ea1afc
Binary files /dev/null and b/view/theme/frost/images/net-reset.png differ
index 9f7b71c531ef172ca4a4eaeb348a420442c817f8..48187b4430f389888af24c3acc9ccdda05d78240 100644 (file)
@@ -16,7 +16,9 @@
                <input type="hidden" name="preview" id="jot-preview" value="0" />
                <input type="hidden" name="post_id_random" value="$rand_num" />
                <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none"></div>
+               {{ if $placeholdercategory }}
                <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" /></div>
+               {{ endif }}
                <div id="jot-text-wrap">
                <img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
                <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
index 1e14b1e72215128040cdb5e937cdb34027542a5d..e25f9a1219e1950b81be8e4ccb1f67b613d371db 100644 (file)
        </ul>
        </div>
                
+       {{ if $nav.network }}
+       <div class="nav-button-container nav-menu-link" rel="#network-reset-button">
+       <a class="nav-menu-icon network-reset-link nav-link" href="$nav.net_reset.0" title="$nav.net_reset.3">
+       <img class="network-reset-link" src="$baseurl/view/theme/frost/images/net-reset.png">
+       </a>
+       </div>
+       {{ endif }}
+               
        </span>
        <!--<span id="nav-end"></span>-->
        <span id="banner">$banner</span>
index 4878e253105fc3f200835b5f33b53bcac072d07e..58c960d733cad8dd7d6883ab090941d8525c92c3 100644 (file)
@@ -3204,6 +3204,9 @@ aside input[type='text'] {
        float: left;
        width: 200px;
 }
+.field.yesno label {
+       font-weight: 700;
+}
 
 .field input,
 .field textarea {
index e82657583f92542913264477984d926118f9092c..b8e77d7fa83b23be6005a1857ba9bdf5185f5206 100644 (file)
@@ -66,7 +66,9 @@
                        {{ if $item.vote }}
                        <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
                                <a href="#" class="tool like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
+                               {{ if $item.vote.dislike }}
                                <a href="#" class="tool dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
+                               {{ endif }}
                                {{ if $item.vote.share }}<a href="#" class="tool recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
                                <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
                        </div>
@@ -80,7 +82,9 @@
                         
                        {{ if $item.star }}
                        <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item tool $item.isstarred" title="$item.star.toggle"></a>
-                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item tool tagged" title="$item.star.tagger"></a>
+                       {{ endif }}
+                       {{ if $item.tagger }}
+                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item tool tagged" title="$item.tagger.add"></a>
                        {{ endif }}
                        {{ if $item.filer }}
                        <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>
index 55fc322d741776783bc42d0f340646aa9b44dd29..55de92d08f59391f001596f34694724b4f31d9a1 100644 (file)
@@ -1,7 +1,10 @@
 <form id="profile-jot-form" action="$action" method="post">
        <div id="jot">
                <div id="profile-jot-desc" class="jothidden">&nbsp;</div>
-               <input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" title="$placeholdertitle" value="$title" class="jothidden" style="display:none" /><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" title="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
+               <input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" title="$placeholdertitle" value="$title" class="jothidden" style="display:none" />
+               {{ if $placeholdercategory }}
+               <input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" title="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
+               {{ endif }}
                <div id="character-counter" class="grey jothidden"></div>
                
 
index b39dda3a2e23b7dfc086bdae3b12eed7c1e8cfa6..eee27776be6ebdbb414c030f097089423aed8764 100644 (file)
@@ -93,8 +93,9 @@
                        {{ if $item.star }}
                                <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;"  class="$item.star.classdo"  title="$item.star.do">$item.star.do</a>
                                <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;"  class="$item.star.classundo"  title="$item.star.undo">$item.star.undo</a>
-                               <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger">$item.star.tagger</a>
-
+                       {{ endif }}
+                       {{ if $item.tagger }}
+                               <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.tagger.class" title="$item.tagger.add">$item.tagger.add</a>
                        {{ endif }}
                        {{ if $item.filer }}
                                 <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer">$item.filer</a>
                        
                        {{ if $item.vote }}
                                <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false">$item.vote.like.1</a>
+                               {{ if $item.vote.dislike }}
                                <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false">$item.vote.dislike.1</a>
+                               {{ endif }}
                        {{ endif }}
                                                
                        {{ if $item.vote.share }}
index f990c95e115e9dedabaecca20b961b289afe3ebb..12792fa0b419d2496f71b7e7e514dea660beb1ad 100644 (file)
                <div id="jot-title-wrap">
                        <input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" style="display:none">
                </div>
+               {{ if $placeholdercategory }}
                <div id="jot-category-wrap">
                        <input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" style="display:none" />
                </div>
+               {{ endif }}
                <div id="jot-text-wrap">
                        <img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /><br>
                        <textarea rows="5" cols="80" class="profile-jot-text" id="profile-jot-text" name="body" >
index 3b4deaff91e171677533722e356e004a91955cba..e31f343e2fd7c5a028c0e4448c08452e76874df4 100644 (file)
@@ -85,7 +85,9 @@
                        {{ if $item.vote }}
                        <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
                                <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
+                               {{ if $item.vote.dislike }}
                                <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
+                               {{ endif }}
                                {{ if $item.vote.share }}
                                <a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>                             {{ endif }}
                                <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
                 
                        {{ if $item.star }}
                        <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
-                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
+                       {{ endif }}
+                       {{ if $item.tagger }}
+                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
                        {{ endif }}
 
                        {{ if $item.filer }}
index f37f79bfc5ea6191282a645a2c599b32a92e4321..634ae7f0021c8f98b904697f6bafa6f3145ab652 100644 (file)
@@ -50,7 +50,7 @@
                        {{ if $item.vote }}
                        <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
                                <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
-                               <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
+                               {{ if $item.vote.dislike }}<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>{{ endif }}
                                {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
                                <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
                        </div>
@@ -64,7 +64,9 @@
                         
                        {{ if $item.star }}
                        <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
-                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
+                       {{ endif }}
+                       {{ if $item.tagger }}
+                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
                        {{ endif }}
                        
                        <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >
index 19b612b08d22ab255fdaa07fe2a099c14752abe2..84f164b8e0c54e53f40d8fff888d267dd2c8496c 100644 (file)
@@ -93,7 +93,9 @@
                        {{ endif }}{{ endif }}
                        {{ if $item.vote }}
                                <a href="#" id="like-$item.id" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"><i class="icon-thumbs-up icon-large"></i></a>
+                               {{ if $item.vote.dislike }}
                                <a href="#" id="dislike-$item.id" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"><i class="icon-thumbs-down icon-large"></i></a>
+                               {{ endif }}
                        {{ endif }}
                        {{ if $item.vote.share }}
                                <a href="#" id="share-$item.id" title="$item.vote.share.0" onclick="jotShare($item.id); return false"><i class="icon-share icon-large"></i></a>
                        {{ if $item.star }}
                                <a href="#" id="star-$item.id" onclick="dostar($item.id); return false;"  class="$item.star.classdo"  title="$item.star.do"><i class="icon-star icon-large"></i></a>
                                <a href="#" id="unstar-$item.id" onclick="dostar($item.id); return false;"  class="$item.star.classundo"  title="$item.star.undo"><i class="icon-star-empty icon-large"></i></a>
-                               <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.star.classtagger" title="$item.star.tagger"><i class="icon-tags icon-large"></i></a>
+                       {{ endif }}
+                       {{ if $item.tagger }}
+                               <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="$item.tagger.class" title="$item.tagger.add"><i class="icon-tags icon-large"></i></a>
                        {{ endif }}
                        {{ if $item.filer }}
                                 <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"><i class="icon-folder-close icon-large"></i></a>
index e891d571c6e5c0c93fae345b1b87b09cede992d8..bcb74ec7045033953d0735f50535dee3d80b0a1c 100644 (file)
@@ -64,7 +64,7 @@
                        {{ if $item.vote }}
                        <div class="wall-item-like-buttons" id="wall-item-like-buttons-$item.id">
                                <a href="#" class="icon like" title="$item.vote.like.0" onclick="dolike($item.id,'like'); return false"></a>
-                               <a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>
+                               {{ if $item.vote.dislike }}<a href="#" class="icon dislike" title="$item.vote.dislike.0" onclick="dolike($item.id,'dislike'); return false"></a>{{ endif }}
                                {{ if $item.vote.share }}<a href="#" class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick="jotShare($item.id); return false"></a>{{ endif }}
                                <img id="like-rotator-$item.id" class="like-rotator" src="images/rotator.gif" alt="$item.wait" title="$item.wait" style="display: none;" />
                        </div>
@@ -78,7 +78,9 @@
                         
                        {{ if $item.star }}
                        <a href="#" id="starred-$item.id" onclick="dostar($item.id); return false;" class="star-item icon $item.isstarred" title="$item.star.toggle"></a>
-                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.star.tagger"></a>
+                       {{ endif }}
+                       {{ if $item.tagger }}
+                       <a href="#" id="tagger-$item.id" onclick="itemTag($item.id); return false;" class="tag-item icon tagged" title="$item.tagger.add"></a>
                        {{ endif }}
                        {{ if $item.filer }}
                        <a href="#" id="filer-$item.id" onclick="itemFiler($item.id); return false;" class="filer-item filer-icon" title="$item.filer"></a>