Merge pull request #6165 from annando/default-features

Several default features are now in the core
This commit is contained in:
Tobias Diekershoff 2018-11-19 10:34:51 +01:00 committed by GitHub
commit ef1813b88e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 52 additions and 92 deletions

View file

@ -769,7 +769,7 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
'$mode' => $mode,
'$user' => $a->user,
'$threads' => $threads,
'$dropping' => ($page_dropping && Feature::isEnabled(local_user(), 'multi_delete') ? L10n::t('Delete Selected Items') : False),
'$dropping' => ($page_dropping ? L10n::t('Delete Selected Items') : False),
]);
return $o;
@ -1163,7 +1163,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
'$lockstate' => $x['lockstate'],
'$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'],
'$preview' => Feature::isEnabled($x['profile_uid'], 'preview') ? L10n::t('Preview') : '',
'$preview' => L10n::t('Preview'),
'$jotplugins' => $jotplugins,
'$notes_cid' => $notes_cid,
'$sourceapp' => L10n::t($a->sourcename),

View file

@ -160,9 +160,8 @@ function network_init(App $a)
$a->page['aside'] = '';
}
$a->page['aside'] .= (Feature::isEnabled(local_user(), 'groups') ?
Group::sidebarWidget('network/0', 'network', 'standard', $group_id) : '');
$a->page['aside'] .= (Feature::isEnabled(local_user(), 'forumlist_widget') ? ForumManager::widget(local_user(), $cid) : '');
$a->page['aside'] .= Group::sidebarWidget('network/0', 'network', 'standard', $group_id);
$a->page['aside'] .= ForumManager::widget(local_user(), $cid);
$a->page['aside'] .= posted_date_widget('network', local_user(), false);
$a->page['aside'] .= Widget::networks('network', (x($_GET, 'nets') ? $_GET['nets'] : ''));
$a->page['aside'] .= saved_searches($search);
@ -171,10 +170,6 @@ function network_init(App $a)
function saved_searches($search)
{
if (!Feature::isEnabled(local_user(), 'savedsearch')) {
return '';
}
$a = get_app();
$srchurl = '/network?f='
@ -993,16 +988,14 @@ function network_tabs(App $a)
],
];
if (Feature::isEnabled(local_user(), 'personal_tab')) {
$tabs[] = [
'label' => L10n::t('Personal'),
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
'sel' => $conv_active,
'title' => L10n::t('Posts that mention or involve you'),
'id' => 'personal-tab',
'accesskey' => 'r',
];
}
$tabs[] = [
'label' => L10n::t('Personal'),
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
'sel' => $conv_active,
'title' => L10n::t('Posts that mention or involve you'),
'id' => 'personal-tab',
'accesskey' => 'r',
];
if (Feature::isEnabled(local_user(), 'new_tab')) {
$tabs[] = [
@ -1026,16 +1019,14 @@ function network_tabs(App $a)
];
}
if (Feature::isEnabled(local_user(), 'star_posts')) {
$tabs[] = [
'label' => L10n::t('Starred'),
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
'sel' => $starred_active,
'title' => L10n::t('Favourite Posts'),
'id' => 'starred-posts-tab',
'accesskey' => 'm',
];
}
$tabs[] = [
'label' => L10n::t('Starred'),
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
'sel' => $starred_active,
'title' => L10n::t('Favourite Posts'),
'id' => 'starred-posts-tab',
'accesskey' => 'm',
];
// save selected tab, but only if not in file mode
if (!x($_GET, 'file')) {

View file

@ -1480,7 +1480,7 @@ function photos_content(App $a)
$likebuttons = Renderer::replaceMacros($like_tpl, [
'$id' => $link_item['id'],
'$likethis' => L10n::t("I like this \x28toggle\x29"),
'$nolike' => (Feature::isEnabled(local_user(), 'dislike') ? L10n::t("I don't like this \x28toggle\x29") : ''),
'$nolike' => L10n::t("I don't like this \x28toggle\x29"),
'$wait' => L10n::t('Please wait'),
'$return_path' => $a->query_string,
]);
@ -1607,9 +1607,7 @@ function photos_content(App $a)
}
}
$response_verbs = ['like'];
if (Feature::isEnabled($owner_uid, 'dislike')) {
$response_verbs[] = 'dislike';
}
$response_verbs[] = 'dislike';
$responses = get_responses($conv_responses, $response_verbs, '', $link_item);
$paginate = $pager->renderFull($total);

View file

@ -150,25 +150,21 @@ function ping_init(App $a)
}
if ($network_count) {
if (intval(Feature::isEnabled(local_user(), 'groups'))) {
// Find out how unseen network posts are spread across groups
$group_counts = Group::countUnseen();
if (DBA::isResult($group_counts)) {
foreach ($group_counts as $group_count) {
if ($group_count['count'] > 0) {
$groups_unseen[] = $group_count;
}
// Find out how unseen network posts are spread across groups
$group_counts = Group::countUnseen();
if (DBA::isResult($group_counts)) {
foreach ($group_counts as $group_count) {
if ($group_count['count'] > 0) {
$groups_unseen[] = $group_count;
}
}
}
if (intval(Feature::isEnabled(local_user(), 'forumlist_widget'))) {
$forum_counts = ForumManager::countUnseenItems();
if (DBA::isResult($forum_counts)) {
foreach ($forum_counts as $forum_count) {
if ($forum_count['count'] > 0) {
$forums_unseen[] = $forum_count;
}
$forum_counts = ForumManager::countUnseenItems();
if (DBA::isResult($forum_counts)) {
foreach ($forum_counts as $forum_count) {
if ($forum_count['count'] > 0) {
$forums_unseen[] = $forum_count;
}
}
}

View file

@ -26,9 +26,6 @@ function search_saved_searches() {
$o = '';
$search = ((x($_GET,'search')) ? Strings::escapeTags(trim(rawurldecode($_GET['search']))) : '');
if (!Feature::isEnabled(local_user(),'savedsearch'))
return $o;
$r = q("SELECT `id`,`term` FROM `search` WHERE `uid` = %d",
intval(local_user())
);

View file

@ -86,7 +86,6 @@ class Feature
// Post composition
'composition' => [
L10n::t('Post Composition Features'),
['preview', L10n::t('Post Preview'), L10n::t('Allow previewing posts and comments before publishing them'), false, Config::get('feature_lock', 'preview', false)],
['aclautomention', L10n::t('Auto-mention Forums'), L10n::t('Add/remove mention when a forum page is selected/deselected in ACL window.'), false, Config::get('feature_lock', 'aclautomention', false)],
],
@ -94,16 +93,12 @@ class Feature
'widgets' => [
L10n::t('Network Sidebar'),
['archives', L10n::t('Archives'), L10n::t('Ability to select posts by date ranges'), false, Config::get('feature_lock', 'archives', false)],
['forumlist_widget', L10n::t('List Forums'), L10n::t('Enable widget to display the forums your are connected with'), true, Config::get('feature_lock', 'forumlist_widget', false)],
['groups', L10n::t('Group Filter'), L10n::t('Enable widget to display Network posts only from selected group'), false, Config::get('feature_lock', 'groups', false)],
['networks', L10n::t('Protocol Filter'), L10n::t('Enable widget to display Network posts only from selected protocols'), false, Config::get('feature_lock', 'networks', false)],
['savedsearch', L10n::t('Saved Searches'), L10n::t('Save search terms for re-use'), false, Config::get('feature_lock', 'savedsearch', false)],
],
// Network tabs
'net_tabs' => [
L10n::t('Network Tabs'),
['personal_tab', L10n::t('Network Personal Tab'), L10n::t('Enable tab to display only Network posts that you\'ve interacted on'), false, Config::get('feature_lock', 'personal_tab', false)],
['new_tab', L10n::t('Network New Tab'), L10n::t("Enable tab to display only new Network posts \x28from the last 12 hours\x29"), false, Config::get('feature_lock', 'new_tab', false)],
['link_tab', L10n::t('Network Shared Links Tab'), L10n::t('Enable tab to display only Network posts with links in them'), false, Config::get('feature_lock', 'link_tab', false)],
],
@ -111,14 +106,7 @@ class Feature
// Item tools
'tools' => [
L10n::t('Post/Comment Tools'),
['multi_delete', L10n::t('Multiple Deletion'), L10n::t('Select and delete multiple posts/comments at once'), false, Config::get('feature_lock', 'multi_delete', false)],
['edit_posts', L10n::t('Edit Sent Posts'), L10n::t('Edit and correct posts and comments after sending'), false, Config::get('feature_lock', 'edit_posts', false)],
['commtag', L10n::t('Tagging'), L10n::t('Ability to tag existing posts'), false, Config::get('feature_lock', 'commtag', false)],
['categories', L10n::t('Post Categories'), L10n::t('Add categories to your posts'), false, Config::get('feature_lock', 'categories', false)],
['filing', L10n::t('Saved Folders'), L10n::t('Ability to file posts under folders'), false, Config::get('feature_lock', 'filing', false)],
['dislike', L10n::t('Dislike Posts'), L10n::t('Ability to dislike posts/comments'), false, Config::get('feature_lock', 'dislike', false)],
['star_posts', L10n::t('Star Posts'), L10n::t('Ability to mark special posts with a star indicator'), false, Config::get('feature_lock', 'star_posts', false)],
['ignore_posts', L10n::t('Mute Post Notifications'), L10n::t('Ability to mute notifications for a thread'), false, Config::get('feature_lock', 'ignore_posts', false)],
],
// Advanced Profile Settings

View file

@ -93,10 +93,6 @@ class ForumManager
*/
public static function widget($uid, $cid = 0)
{
if (! intval(Feature::isEnabled(local_user(), 'forumlist_widget'))) {
return;
}
$o = '';
//sort by last updated item

View file

@ -966,7 +966,7 @@ class HTML
'$action_url' => $url,
'$search_label' => L10n::t('Search'),
'$save_label' => $save_label,
'$savedsearch' => local_user() && Feature::isEnabled(local_user(), 'savedsearch'),
'$savedsearch' => 'savedsearch',
'$search_hint' => L10n::t('@name, !forum, #tags, content'),
'$mode' => $mode
];

View file

@ -176,10 +176,6 @@ class Widget
return '';
}
if (!Feature::isEnabled(local_user(), 'filing')) {
return '';
}
$saved = PConfig::get(local_user(), 'system', 'filetags');
if (!strlen($saved)) {
return;

View file

@ -157,6 +157,8 @@ class Post extends BaseObject
$shareable = in_array($conv->getProfileOwner(), [0, local_user()]) && $item['private'] != 1;
$edpost = false;
if (local_user()) {
if (Strings::compareLink($a->contact['url'], $item['author-link'])) {
if ($item["event-id"] != 0) {
@ -166,8 +168,6 @@ class Post extends BaseObject
}
}
$dropping = in_array($item['uid'], [0, local_user()]);
} else {
$edpost = false;
}
// Editing on items of not subscribed users isn't currently possible
@ -202,7 +202,7 @@ class Post extends BaseObject
$drop = [
'dropping' => $dropping,
'pagedrop' => ((Feature::isEnabled($conv->getProfileOwner(), 'multi_delete')) ? $item['pagedrop'] : ''),
'pagedrop' => $item['pagedrop'],
'select' => L10n::t('Select'),
'delete' => $delete,
];
@ -294,12 +294,10 @@ class Post extends BaseObject
'starred' => L10n::t('starred'),
];
if (Feature::isEnabled($conv->getProfileOwner(), 'commtag')) {
$tagger = [
'add' => L10n::t("add tag"),
'class' => "",
];
}
$tagger = [
'add' => L10n::t("add tag"),
'class' => "",
];
}
} else {
$indent = 'comment';
@ -308,7 +306,7 @@ class Post extends BaseObject
if ($conv->isWritable()) {
$buttons = [
'like' => [L10n::t("I like this \x28toggle\x29"), L10n::t("like")],
'dislike' => Feature::isEnabled($conv->getProfileOwner(), 'dislike') ? [L10n::t("I don't like this \x28toggle\x29"), L10n::t("dislike")] : '',
'dislike' => [L10n::t("I don't like this \x28toggle\x29"), L10n::t("dislike")],
];
if ($shareable) {
$buttons['share'] = [L10n::t('Share this'), L10n::t('share')];
@ -401,12 +399,12 @@ class Post extends BaseObject
'owner_photo' => $a->removeBaseURL(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)),
'owner_name' => htmlentities($owner_name_e),
'plink' => Item::getPlink($item),
'edpost' => Feature::isEnabled($conv->getProfileOwner(), 'edit_posts') ? $edpost : '',
'edpost' => $edpost,
'isstarred' => $isstarred,
'star' => Feature::isEnabled($conv->getProfileOwner(), 'star_posts') ? $star : '',
'ignore' => Feature::isEnabled($conv->getProfileOwner(), 'ignore_posts') ? $ignore : '',
'star' => $star,
'ignore' => $ignore,
'tagger' => $tagger,
'filer' => Feature::isEnabled($conv->getProfileOwner(), 'filing') ? $filer : '',
'filer' => $filer,
'drop' => $drop,
'vote' => $buttons,
'like' => $responses['like']['output'],
@ -820,7 +818,7 @@ class Post extends BaseObject
'$edurl' => L10n::t('Link'),
'$edattach' => L10n::t('Link or Media'),
'$prompttext' => L10n::t('Please enter a image/video/audio/webpage URL:'),
'$preview' => ((Feature::isEnabled($conv->getProfileOwner(), 'preview')) ? L10n::t('Preview') : ''),
'$preview' => L10n::t('Preview'),
'$indent' => $indent,
'$sourceapp' => L10n::t($a->sourcename),
'$ww' => $conv->getMode() === 'network' ? $ww : '',

View file

@ -94,7 +94,7 @@ class ApiTest extends DatabaseTest
$this->assertEquals($this->selfUser['id'], $user['uid']);
$this->assertEquals($this->selfUser['id'], $user['cid']);
$this->assertEquals(1, $user['self']);
$this->assertEquals('Friendica', $user['location']);
$this->assertEquals('DFRN', $user['location']);
$this->assertEquals($this->selfUser['name'], $user['name']);
$this->assertEquals($this->selfUser['nick'], $user['screen_name']);
$this->assertEquals('dfrn', $user['network']);
@ -1289,7 +1289,7 @@ class ApiTest extends DatabaseTest
$result = api_users_show('json');
// We can't use assertSelfUser() here because the user object is missing some properties.
$this->assertEquals($this->selfUser['id'], $result['user']['cid']);
$this->assertEquals('Friendica', $result['user']['location']);
$this->assertEquals('DFRN', $result['user']['location']);
$this->assertEquals($this->selfUser['name'], $result['user']['name']);
$this->assertEquals($this->selfUser['nick'], $result['user']['screen_name']);
$this->assertEquals('dfrn', $result['user']['network']);
@ -3296,7 +3296,7 @@ class ApiTest extends DatabaseTest
$result = api_account_update_profile('json');
// We can't use assertSelfUser() here because the user object is missing some properties.
$this->assertEquals($this->selfUser['id'], $result['user']['cid']);
$this->assertEquals('Friendica', $result['user']['location']);
$this->assertEquals('DFRN', $result['user']['location']);
$this->assertEquals($this->selfUser['nick'], $result['user']['screen_name']);
$this->assertEquals('dfrn', $result['user']['network']);
$this->assertEquals('new_name', $result['user']['name']);
@ -3650,7 +3650,7 @@ class ApiTest extends DatabaseTest
$result = api_friendica_profile_show('json');
// We can't use assertSelfUser() here because the user object is missing some properties.
$this->assertEquals($this->selfUser['id'], $result['$result']['friendica_owner']['cid']);
$this->assertEquals('Friendica', $result['$result']['friendica_owner']['location']);
$this->assertEquals('DFRN', $result['$result']['friendica_owner']['location']);
$this->assertEquals($this->selfUser['name'], $result['$result']['friendica_owner']['name']);
$this->assertEquals($this->selfUser['nick'], $result['$result']['friendica_owner']['screen_name']);
$this->assertEquals('dfrn', $result['$result']['friendica_owner']['network']);