mirror of
https://github.com/friendica/friendica
synced 2024-11-10 03:42:53 +00:00
Several default features are now in the core
This commit is contained in:
parent
75398b96d5
commit
43079bfaf8
10 changed files with 48 additions and 88 deletions
|
@ -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),
|
||||||
|
|
|
@ -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()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
26
mod/ping.php
26
mod/ping.php
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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())
|
||||||
);
|
);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
];
|
];
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 : '',
|
||||||
|
|
Loading…
Reference in a new issue