mirror of
https://github.com/friendica/friendica
synced 2024-11-18 21:43:40 +00:00
Merge pull request #8872 from MrPetovan/task/5742-update-addl-features
Update additional features
This commit is contained in:
commit
acea18a255
5 changed files with 6 additions and 90 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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'] .= '<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_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
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
@ -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)],
|
||||
],
|
||||
|
||||
|
@ -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)],
|
||||
],
|
||||
|
||||
// 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
|
||||
'tools' => [
|
||||
DI::l10n()->t('Post/Comment Tools'),
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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'];
|
||||
|
|
Loading…
Reference in a new issue