From 6ad8bf0cca82b34bad742826b9caaeb719014979 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 12 Jul 2020 22:41:12 -0400 Subject: [PATCH 1/3] Remove network tabs additional features - Remove New network tab - Remove Bookmark network tab --- mod/network.php | 50 +++++------------------------------------ src/Content/Feature.php | 7 ------ 2 files changed, 6 insertions(+), 51 deletions(-) diff --git a/mod/network.php b/mod/network.php index 16fde6c351..3311a796a8 100644 --- a/mod/network.php +++ b/mod/network.php @@ -102,9 +102,7 @@ function network_init(App $a) 'order=activity', //all 'order=post', //postord 'conv=1', //conv - 'new=1', //new 'star=1', //starred - 'bmark=1', //bookmarked ]; $k = array_search('active', $last_sel_tabs); @@ -154,40 +152,28 @@ function network_init(App $a) * '/network?order=activity' => $activity_active = 'active' * '/network?order=post' => $postord_active = 'active' * '/network?conv=1', => $conv_active = 'active' - * '/network?new=1', => $new_active = 'active' * '/network?star=1', => $starred_active = 'active' - * '/network?bmark=1', => $bookmarked_active = 'active' * * @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) { $no_active = ''; $starred_active = ''; - $new_active = ''; - $bookmarked_active = ''; $all_active = ''; $conv_active = ''; $postord_active = ''; - if (!empty($_GET['new'])) { - $new_active = 'active'; - } - if (!empty($_GET['star'])) { $starred_active = 'active'; } - if (!empty($_GET['bmark'])) { - $bookmarked_active = 'active'; - } - if (!empty($_GET['conv'])) { $conv_active = 'active'; } - if (($new_active == '') && ($starred_active == '') && ($bookmarked_active == '') && ($conv_active == '')) { + if (($starred_active == '') && ($conv_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) @@ -312,7 +298,7 @@ function network_content(App $a, $update = 0, $parent = 0) $arr = ['query' => DI::args()->getQueryString()]; Hook::callAll('network_content_init', $arr); - if (!empty($_GET['new']) || !empty($_GET['file'])) { + if (!empty($_GET['file'])) { $o = networkFlatView($a, $update); } else { $o = networkThreadedView($a, $update, $parent); @@ -468,7 +454,6 @@ function networkThreadedView(App $a, $update, $parent) $cid = intval($_GET['contactid'] ?? 0); $star = intval($_GET['star'] ?? 0); - $bmark = intval($_GET['bmark'] ?? 0); $conv = intval($_GET['conv'] ?? 0); $order = Strings::escapeTags(($_GET['order'] ?? '') ?: 'activity'); $nets = $_GET['nets'] ?? ''; @@ -543,7 +528,6 @@ function networkThreadedView(App $a, $update, $parent) $sql_post_table = ''; $sql_options = ($star ? " AND `thread`.`starred` " : ''); - $sql_options .= ($bmark ? sprintf(" AND `thread`.`post-type` = %d ", Item::PT_PAGE) : ''); $sql_extra = $sql_options; $sql_extra2 = ''; $sql_extra3 = ''; @@ -888,7 +872,7 @@ function network_tabs(App $a) // item filter tabs /// @TODO fix this logic, reduce duplication /// DI::page()['content'] .= '
'; - 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_active == 'active') { @@ -931,28 +915,6 @@ function network_tabs(App $a) '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[] = [ 'label' => DI::l10n()->t('Starred'), '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 if (empty($_GET['file'])) { 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 ]); } diff --git a/src/Content/Feature.php b/src/Content/Feature.php index 880a6706bc..ee755a2b35 100644 --- a/src/Content/Feature.php +++ b/src/Content/Feature.php @@ -114,13 +114,6 @@ class Feature ['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 'tools' => [ DI::l10n()->t('Post/Comment Tools'), From d11125d2341ec78847ca4c37789205cb576dc054 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 12 Jul 2020 22:52:51 -0400 Subject: [PATCH 2/3] Move network sidebar widget additional features to core - Make Archives filter core - Make Protocol filter core --- src/Content/Feature.php | 7 ------- src/Content/Widget.php | 8 -------- 2 files changed, 15 deletions(-) diff --git a/src/Content/Feature.php b/src/Content/Feature.php index ee755a2b35..b35aa3f363 100644 --- a/src/Content/Feature.php +++ b/src/Content/Feature.php @@ -107,13 +107,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)], ], - // 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)], - ], - // Item tools 'tools' => [ DI::l10n()->t('Post/Comment Tools'), diff --git a/src/Content/Widget.php b/src/Content/Widget.php index 8c72f68f4c..ffc5debb33 100644 --- a/src/Content/Widget.php +++ b/src/Content/Widget.php @@ -269,10 +269,6 @@ class Widget return ''; } - if (!Feature::isEnabled(local_user(), 'networks')) { - return ''; - } - $extra_sql = self::unavailableNetworks(); $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 = ''; - if (!Feature::isEnabled($uid, 'archives')) { - return $o; - } - $visible_years = DI::pConfig()->get($uid, 'system', 'archive_visible_years', 5); /* arrange the list in years */ From 0816e0330f65e8559859aac4963f7ace48aed65e Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Sun, 12 Jul 2020 23:08:38 -0400 Subject: [PATCH 3/3] Move export public calendar additional feature to core --- mod/cal.php | 7 ------- src/Content/Feature.php | 1 - src/Content/Widget/CalendarExport.php | 16 ---------------- 3 files changed, 24 deletions(-) diff --git a/mod/cal.php b/mod/cal.php index dcfb5db9c8..8db2237844 100644 --- a/mod/cal.php +++ b/mod/cal.php @@ -292,13 +292,6 @@ function cal_content(App $a) 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 $evexport = Event::exportListByUserId($owner_uid, $format); diff --git a/src/Content/Feature.php b/src/Content/Feature.php index b35aa3f363..0f3493ab29 100644 --- a/src/Content/Feature.php +++ b/src/Content/Feature.php @@ -96,7 +96,6 @@ class Feature DI::l10n()->t('General Features'), //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)], - ['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)], ], diff --git a/src/Content/Widget/CalendarExport.php b/src/Content/Widget/CalendarExport.php index dda3513fec..9f282d2642 100644 --- a/src/Content/Widget/CalendarExport.php +++ b/src/Content/Widget/CalendarExport.php @@ -54,22 +54,6 @@ class CalendarExport 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 // 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'];