if (!$update) {
$live_update_div = '<div id="live-community"></div>' . "\r\n"
. "<script> var profile_uid = -1; var netargs = '" . substr(DI::args()->getCommand(), 10)
- ."/?f='; </script>\r\n";
+ . '?f='
+ . (!empty($_GET['no_sharer']) ? '&no_sharer=' . rawurlencode($_GET['no_sharer']) : '')
+ . "'; </script>\r\n";
}
} elseif ($mode === 'contacts') {
$items = conversation_add_children($items, false, $order, $uid);
'$community' => DI::l10n()->t('Communities'),
]);
+ if (local_user() && DI::config()->get('system', 'community_no_sharer')) {
+ $path = self::$content . ($parameters['accounttype'] ? '/' . $parameters['accounttype'] : '');
+ $query_parameters = [];
+
+ if (!empty($_GET['since_id'])) {
+ $query_parameters['since_id'] = $_GET['since_id'];
+ }
+ if (!empty($_GET['max_id'])) {
+ $query_parameters['max_id'] = $_GET['max_id'];
+ }
+
+ $path_all = $path . (!empty($query_parameters) ? '?' . http_build_query($query_parameters) : '');
+ $path_no_sharer = $path . '?' . http_build_query(array_merge($query_parameters, ['no_sharer' => true]));
+ DI::page()['aside'] .= Renderer::replaceMacros(Renderer::getMarkupTemplate('widget/community_sharer.tpl'), [
+ '$title' => DI::l10n()->t('Own Contacts'),
+ '$path_all' => $path_all,
+ '$path_no_sharer' => $path_no_sharer,
+ '$no_sharer' => !empty($_REQUEST['no_sharer']),
+ '$all' => DI::l10n()->t('Include'),
+ '$no_sharer_label' => DI::l10n()->t('Hide'),
+ ]);
+ }
+
if (Feature::isEnabled(local_user(), 'trending_tags')) {
DI::page()['aside'] .= TrendingTags::getHTML(self::$content);
}
if (!is_null(self::$accounttype)) {
$condition = ["`wall` AND `origin` AND `private` = ? AND `owner`.`contact-type` = ?", Item::PUBLIC, self::$accounttype];
} else {
- $condition = ["`wall` AND `origin` AND `private` = ?", Item::PUBLIC];
+ $condition = ["`wall` AND `origin` AND `private` = ?", Item::PUBLIC];
}
} elseif (self::$content == 'global') {
if (!is_null(self::$accounttype)) {
return [];
}
- if (local_user() && DI::config()->get('system', 'community_no_followers')) {
+ if (local_user() && !empty($_REQUEST['no_sharer'])) {
$condition[0] .= " AND NOT EXISTS (SELECT `uri-id` FROM `thread` AS t1 WHERE `t1`.`uri-id` = `thread`.`uri-id` AND `t1`.`uid` = ?)";
$condition[] = local_user();
}
// Deny public access to the local user directory.
'block_local_dir' => false,
- // community_no_followers (Boolean)
- // Don't display followers on the global community
- 'community_no_followers' => false,
+ // community_no_sharer (Boolean)
+ // Don't display sharing accounts on the global community
+ 'community_no_sharer' => false,
// cron_interval (Integer)
// Minimal period in minutes between two calls of the "Cron" worker job.