Merge pull request #8872 from MrPetovan/task/5742-update-addl-features

Update additional features
This commit is contained in:
Michael Vogel 2020-07-14 07:52:02 +02:00 committed by GitHub
commit acea18a255
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 6 additions and 90 deletions

View file

@ -292,13 +292,6 @@ function cal_content(App $a)
return; return;
} }
// Test permissions
// Respect the export feature setting for all other /cal pages if it's not the own profile
if ((local_user() !== $owner_uid) && !Feature::isEnabled($owner_uid, "export_calendar")) {
notice(DI::l10n()->t('Permission denied.') . EOL);
DI::baseUrl()->redirect('cal/' . $nick);
}
// Get the export data by uid // Get the export data by uid
$evexport = Event::exportListByUserId($owner_uid, $format); $evexport = Event::exportListByUserId($owner_uid, $format);

View file

@ -102,9 +102,7 @@ function network_init(App $a)
'order=activity', //all 'order=activity', //all
'order=post', //postord 'order=post', //postord
'conv=1', //conv 'conv=1', //conv
'new=1', //new
'star=1', //starred 'star=1', //starred
'bmark=1', //bookmarked
]; ];
$k = array_search('active', $last_sel_tabs); $k = array_search('active', $last_sel_tabs);
@ -154,40 +152,28 @@ function network_init(App $a)
* '/network?order=activity' => $activity_active = 'active' * '/network?order=activity' => $activity_active = 'active'
* '/network?order=post' => $postord_active = 'active' * '/network?order=post' => $postord_active = 'active'
* '/network?conv=1', => $conv_active = 'active' * '/network?conv=1', => $conv_active = 'active'
* '/network?new=1', => $new_active = 'active'
* '/network?star=1', => $starred_active = 'active' * '/network?star=1', => $starred_active = 'active'
* '/network?bmark=1', => $bookmarked_active = 'active'
* *
* @param App $a * @param App $a
* @return array ($no_active, $activity_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active); * @return array ($no_active, $activity_active, $postord_active, $conv_active, $starred_active);
*/ */
function network_query_get_sel_tab(App $a) function network_query_get_sel_tab(App $a)
{ {
$no_active = ''; $no_active = '';
$starred_active = ''; $starred_active = '';
$new_active = '';
$bookmarked_active = '';
$all_active = ''; $all_active = '';
$conv_active = ''; $conv_active = '';
$postord_active = ''; $postord_active = '';
if (!empty($_GET['new'])) {
$new_active = 'active';
}
if (!empty($_GET['star'])) { if (!empty($_GET['star'])) {
$starred_active = 'active'; $starred_active = 'active';
} }
if (!empty($_GET['bmark'])) {
$bookmarked_active = 'active';
}
if (!empty($_GET['conv'])) { if (!empty($_GET['conv'])) {
$conv_active = 'active'; $conv_active = 'active';
} }
if (($new_active == '') && ($starred_active == '') && ($bookmarked_active == '') && ($conv_active == '')) { if (($starred_active == '') && ($conv_active == '')) {
$no_active = 'active'; $no_active = 'active';
} }
@ -198,7 +184,7 @@ function network_query_get_sel_tab(App $a)
} }
} }
return [$no_active, $all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active]; return [$no_active, $all_active, $postord_active, $conv_active, $starred_active];
} }
function network_query_get_sel_group(App $a) function network_query_get_sel_group(App $a)
@ -312,7 +298,7 @@ function network_content(App $a, $update = 0, $parent = 0)
$arr = ['query' => DI::args()->getQueryString()]; $arr = ['query' => DI::args()->getQueryString()];
Hook::callAll('network_content_init', $arr); Hook::callAll('network_content_init', $arr);
if (!empty($_GET['new']) || !empty($_GET['file'])) { if (!empty($_GET['file'])) {
$o = networkFlatView($a, $update); $o = networkFlatView($a, $update);
} else { } else {
$o = networkThreadedView($a, $update, $parent); $o = networkThreadedView($a, $update, $parent);
@ -468,7 +454,6 @@ function networkThreadedView(App $a, $update, $parent)
$cid = intval($_GET['contactid'] ?? 0); $cid = intval($_GET['contactid'] ?? 0);
$star = intval($_GET['star'] ?? 0); $star = intval($_GET['star'] ?? 0);
$bmark = intval($_GET['bmark'] ?? 0);
$conv = intval($_GET['conv'] ?? 0); $conv = intval($_GET['conv'] ?? 0);
$order = Strings::escapeTags(($_GET['order'] ?? '') ?: 'activity'); $order = Strings::escapeTags(($_GET['order'] ?? '') ?: 'activity');
$nets = $_GET['nets'] ?? ''; $nets = $_GET['nets'] ?? '';
@ -543,7 +528,6 @@ function networkThreadedView(App $a, $update, $parent)
$sql_post_table = ''; $sql_post_table = '';
$sql_options = ($star ? " AND `thread`.`starred` " : ''); $sql_options = ($star ? " AND `thread`.`starred` " : '');
$sql_options .= ($bmark ? sprintf(" AND `thread`.`post-type` = %d ", Item::PT_PAGE) : '');
$sql_extra = $sql_options; $sql_extra = $sql_options;
$sql_extra2 = ''; $sql_extra2 = '';
$sql_extra3 = ''; $sql_extra3 = '';
@ -888,7 +872,7 @@ function network_tabs(App $a)
// item filter tabs // item filter tabs
/// @TODO fix this logic, reduce duplication /// @TODO fix this logic, reduce duplication
/// DI::page()['content'] .= '<div class="tabs-wrapper">'; /// DI::page()['content'] .= '<div class="tabs-wrapper">';
list($no_active, $all_active, $post_active, $conv_active, $new_active, $starred_active, $bookmarked_active) = network_query_get_sel_tab($a); list($no_active, $all_active, $post_active, $conv_active, $starred_active) = network_query_get_sel_tab($a);
// if no tabs are selected, defaults to activitys // if no tabs are selected, defaults to activitys
if ($no_active == 'active') { if ($no_active == 'active') {
@ -931,28 +915,6 @@ function network_tabs(App $a)
'accesskey' => 'r', 'accesskey' => 'r',
]; ];
if (Feature::isEnabled(local_user(), 'new_tab')) {
$tabs[] = [
'label' => DI::l10n()->t('New'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['new' => true])),
'sel' => $new_active,
'title' => DI::l10n()->t('Activity Stream - by date'),
'id' => 'activitiy-by-date-tab',
'accesskey' => 'w',
];
}
if (Feature::isEnabled(local_user(), 'link_tab')) {
$tabs[] = [
'label' => DI::l10n()->t('Shared Links'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['bmark' => true])),
'sel' => $bookmarked_active,
'title' => DI::l10n()->t('Interesting Links'),
'id' => 'shared-links-tab',
'accesskey' => 'b',
];
}
$tabs[] = [ $tabs[] = [
'label' => DI::l10n()->t('Starred'), 'label' => DI::l10n()->t('Starred'),
'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['star' => true])), 'url' => $cmd . '?' . http_build_query(array_merge($def_param, ['star' => true])),
@ -965,7 +927,7 @@ function network_tabs(App $a)
// save selected tab, but only if not in file mode // save selected tab, but only if not in file mode
if (empty($_GET['file'])) { if (empty($_GET['file'])) {
DI::pConfig()->set(local_user(), 'network.view', 'tab.selected', [ DI::pConfig()->set(local_user(), 'network.view', 'tab.selected', [
$all_active, $post_active, $conv_active, $new_active, $starred_active, $bookmarked_active $all_active, $post_active, $conv_active, $starred_active
]); ]);
} }

View file

@ -96,7 +96,6 @@ class Feature
DI::l10n()->t('General Features'), DI::l10n()->t('General Features'),
//array('expire', DI::l10n()->t('Content Expiration'), DI::l10n()->t('Remove old posts/comments after a period of time')), //array('expire', DI::l10n()->t('Content Expiration'), DI::l10n()->t('Remove old posts/comments after a period of time')),
['photo_location', DI::l10n()->t('Photo Location'), DI::l10n()->t("Photo metadata is normally stripped. This extracts the location \x28if present\x29 prior to stripping metadata and links it to a map."), false, DI::config()->get('feature_lock', 'photo_location', false)], ['photo_location', DI::l10n()->t('Photo Location'), DI::l10n()->t("Photo metadata is normally stripped. This extracts the location \x28if present\x29 prior to stripping metadata and links it to a map."), false, DI::config()->get('feature_lock', 'photo_location', false)],
['export_calendar', DI::l10n()->t('Export Public Calendar'), DI::l10n()->t('Ability for visitors to download the public calendar'), false, DI::config()->get('feature_lock', 'export_calendar', false)],
['trending_tags', DI::l10n()->t('Trending Tags'), DI::l10n()->t('Show a community page widget with a list of the most popular tags in recent public posts.'), false, DI::config()->get('feature_lock', 'trending_tags', false)], ['trending_tags', DI::l10n()->t('Trending Tags'), DI::l10n()->t('Show a community page widget with a list of the most popular tags in recent public posts.'), false, DI::config()->get('feature_lock', 'trending_tags', false)],
], ],
@ -107,20 +106,6 @@ class Feature
['explicit_mentions', DI::l10n()->t('Explicit Mentions'), DI::l10n()->t('Add explicit mentions to comment box for manual control over who gets mentioned in replies.'), false, DI::config()->get('feature_lock', 'explicit_mentions', false)], ['explicit_mentions', DI::l10n()->t('Explicit Mentions'), DI::l10n()->t('Add explicit mentions to comment box for manual control over who gets mentioned in replies.'), false, DI::config()->get('feature_lock', 'explicit_mentions', false)],
], ],
// Network sidebar widgets
'widgets' => [
DI::l10n()->t('Network Sidebar'),
['archives', DI::l10n()->t('Archives'), DI::l10n()->t('Ability to select posts by date ranges'), false, DI::config()->get('feature_lock', 'archives', false)],
['networks', DI::l10n()->t('Protocol Filter'), DI::l10n()->t('Enable widget to display Network posts only from selected protocols'), false, DI::config()->get('feature_lock', 'networks', false)],
],
// Network tabs
'net_tabs' => [
DI::l10n()->t('Network Tabs'),
['new_tab', DI::l10n()->t('Network New Tab'), DI::l10n()->t("Enable tab to display only new Network posts \x28from the last 12 hours\x29"), false, DI::config()->get('feature_lock', 'new_tab', false)],
['link_tab', DI::l10n()->t('Network Shared Links Tab'), DI::l10n()->t('Enable tab to display only Network posts with links in them'), false, DI::config()->get('feature_lock', 'link_tab', false)],
],
// Item tools // Item tools
'tools' => [ 'tools' => [
DI::l10n()->t('Post/Comment Tools'), DI::l10n()->t('Post/Comment Tools'),

View file

@ -269,10 +269,6 @@ class Widget
return ''; return '';
} }
if (!Feature::isEnabled(local_user(), 'networks')) {
return '';
}
$extra_sql = self::unavailableNetworks(); $extra_sql = self::unavailableNetworks();
$r = DBA::p("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = ? AND NOT `deleted` AND `network` != '' $extra_sql ORDER BY `network`", $r = DBA::p("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = ? AND NOT `deleted` AND `network` != '' $extra_sql ORDER BY `network`",
@ -497,10 +493,6 @@ class Widget
{ {
$o = ''; $o = '';
if (!Feature::isEnabled($uid, 'archives')) {
return $o;
}
$visible_years = DI::pConfig()->get($uid, 'system', 'archive_visible_years', 5); $visible_years = DI::pConfig()->get($uid, 'system', 'archive_visible_years', 5);
/* arrange the list in years */ /* arrange the list in years */

View file

@ -54,22 +54,6 @@ class CalendarExport
return; return;
} }
/*
* If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and
* export feature isn't enabled.
*/
/*
* Cal logged in user (test permission at foreign profile page).
* If the $owner uid is available we know it is part of one of the profile pages (like /cal).
* So we have to test if if it's the own profile page of the logged in user
* or a foreign one. For foreign profile pages we need to check if the feature
* for exporting the cal is enabled (otherwise the widget would appear for logged in users
* on foreigen profile pages even if the widget is disabled).
*/
if (local_user() != $owner_uid && !Feature::isEnabled($owner_uid, "export_calendar")) {
return;
}
// $a->data is only available if the profile page is visited. If the visited page is not part // $a->data is only available if the profile page is visited. If the visited page is not part
// of the profile page it should be the personal /events page. So we can use $a->user. // of the profile page it should be the personal /events page. So we can use $a->user.
$user = ($a->data['user']['nickname'] ?? '') ?: $a->user['nickname']; $user = ($a->data['user']['nickname'] ?? '') ?: $a->user['nickname'];