Several default features are now in the core

This commit is contained in:
Michael 2018-11-18 20:13:46 +00:00
parent 75398b96d5
commit 43079bfaf8
10 changed files with 48 additions and 88 deletions

View file

@ -769,7 +769,7 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ
'$mode' => $mode, '$mode' => $mode,
'$user' => $a->user, '$user' => $a->user,
'$threads' => $threads, '$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; return $o;
@ -1163,7 +1163,7 @@ function status_editor(App $a, $x, $notes_cid = 0, $popup = false)
'$lockstate' => $x['lockstate'], '$lockstate' => $x['lockstate'],
'$bang' => $x['bang'], '$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'], '$profile_uid' => $x['profile_uid'],
'$preview' => Feature::isEnabled($x['profile_uid'], 'preview') ? L10n::t('Preview') : '', '$preview' => L10n::t('Preview'),
'$jotplugins' => $jotplugins, '$jotplugins' => $jotplugins,
'$notes_cid' => $notes_cid, '$notes_cid' => $notes_cid,
'$sourceapp' => L10n::t($a->sourcename), '$sourceapp' => L10n::t($a->sourcename),

View file

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

View file

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

View file

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

View file

@ -26,9 +26,6 @@ function search_saved_searches() {
$o = ''; $o = '';
$search = ((x($_GET,'search')) ? Strings::escapeTags(trim(rawurldecode($_GET['search']))) : ''); $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", $r = q("SELECT `id`,`term` FROM `search` WHERE `uid` = %d",
intval(local_user()) intval(local_user())
); );

View file

@ -86,7 +86,6 @@ class Feature
// Post composition // Post composition
'composition' => [ 'composition' => [
L10n::t('Post Composition Features'), 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)], ['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' => [ 'widgets' => [
L10n::t('Network Sidebar'), L10n::t('Network Sidebar'),
['archives', L10n::t('Archives'), L10n::t('Ability to select posts by date ranges'), false, Config::get('feature_lock', 'archives', false)], ['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)], ['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 // Network tabs
'net_tabs' => [ 'net_tabs' => [
L10n::t('Network 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)], ['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)], ['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 // Item tools
'tools' => [ 'tools' => [
L10n::t('Post/Comment 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)], ['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 // Advanced Profile Settings

View file

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

View file

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

View file

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

View file

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