2013-02-26 01:09:40 +00:00
< ? php /** @file */
2012-10-26 22:31:10 +00:00
/*
* Features management
*/
function feature_enabled ( $uid , $feature ) {
$x = get_pconfig ( $uid , 'feature' , $feature );
2014-01-26 11:27:36 +00:00
if ( $x === false )
$x = get_config ( 'feature' , $feature );
2012-10-26 22:31:10 +00:00
$arr = array ( 'uid' => $uid , 'feature' => $feature , 'enabled' => $x );
call_hooks ( 'feature_enabled' , $arr );
return ( $arr [ 'enabled' ]);
}
function get_features () {
2012-11-29 03:23:39 +00:00
$arr = array (
// General
'general' => array (
t ( 'General Features' ),
2013-11-07 08:47:50 +00:00
// This is per post, and different from fixed expiration 'expire' which isn't working yet
array ( 'content_expire' , t ( 'Content Expiration' ), t ( 'Remove posts/comments and/or private messages at a future time' )),
2012-11-29 03:23:39 +00:00
array ( 'multi_profiles' , t ( 'Multiple Profiles' ), t ( 'Ability to create multiple profiles' )),
2014-08-04 23:47:49 +00:00
array ( 'advanced_profiles' , t ( 'Advanced Profiles' ), t ( 'Additional profile sections and selections' )),
array ( 'profile_export' , t ( 'Profile Import/Export' ), t ( 'Save and load profile details across sites/channels' )),
2012-12-12 23:31:43 +00:00
array ( 'webpages' , t ( 'Web Pages' ), t ( 'Provide managed web pages on your channel' )),
2013-12-10 02:54:50 +00:00
array ( 'private_notes' , t ( 'Private Notes' ), t ( 'Enables a tool to store notes and reminders' )),
2013-12-26 21:08:16 +00:00
// prettyphoto has licensing issues and will no longer be provided in core -
// in any event this setting should probably be a theme option or plugin
// array('prettyphoto', t('Enhanced Photo Albums'), t('Enable photo album with enhanced features')),
2014-08-19 03:03:48 +00:00
array ( 'nav_channel_select' , t ( 'Navigation Channel Select' ), t ( 'Change channels directly from within the navigation dropdown menu' )),
2013-04-16 04:52:10 +00:00
//FIXME - needs a description, but how the hell do we explain this to normals?
2013-12-28 05:19:23 +00:00
array ( 'sendzid' , t ( 'Extended Identity Sharing' ), t ( 'Share your identity with all websites on the internet. When disabled, identity is only shared with sites in the matrix.' )),
2013-02-13 15:35:57 +00:00
array ( 'expert' , t ( 'Expert Mode' ), t ( 'Enable Expert Mode to provide advanced configuration options' )),
2013-08-22 08:00:54 +00:00
array ( 'premium_channel' , t ( 'Premium Channel' ), t ( 'Allows you to set restrictions and terms on those that connect with your channel' )),
2012-11-29 03:23:39 +00:00
),
// Post composition
'composition' => array (
t ( 'Post Composition Features' ),
2014-06-28 12:12:29 +00:00
// array('richtext', t('Richtext Editor'), t('Enable richtext editor')),
2014-07-02 23:53:40 +00:00
array ( 'markdown' , t ( 'Use Markdown' ), t ( 'Allow use of "Markdown" to format posts' )),
2012-11-29 03:23:39 +00:00
array ( 'preview' , t ( 'Post Preview' ), t ( 'Allow previewing posts and comments before publishing them' )),
2013-09-30 01:18:05 +00:00
array ( 'channel_sources' , t ( 'Channel Sources' ), t ( 'Automatically import channel content from other channels or feeds' )),
2013-12-28 05:19:23 +00:00
array ( 'content_encrypt' , t ( 'Even More Encryption' ), t ( 'Allow optional encryption of content end-to-end with a shared secret key' )),
2012-11-29 03:23:39 +00:00
),
// 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' )),
2013-12-11 11:01:28 +00:00
array ( 'suggest' , t ( 'Suggest Channels' ), t ( 'Show channel suggestions' )),
2012-11-29 03:23:39 +00:00
),
// Item tools
'tools' => array (
t ( 'Post/Comment Tools' ),
2013-11-15 11:44:52 +00:00
// array('multi_delete', t('Multiple Deletion'), t('Select and delete multiple posts/comments at once')),
2012-11-29 03:23:39 +00:00
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' )),
2013-07-03 04:04:46 +00:00
array ( 'tagadelic' , t ( 'Tag Cloud' ), t ( 'Provide a personal tag cloud on your channel page' )),
2012-11-29 03:23:39 +00:00
),
);
2012-10-26 22:31:10 +00:00
call_hooks ( 'get_features' , $arr );
return $arr ;
2013-01-06 21:42:51 +00:00
}