Merge pull request #14039 from annando/widget-features

Configuration for widgets
This commit is contained in:
Tobias Diekershoff 2024-03-25 08:45:16 +01:00 committed by GitHub
commit f928372266
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 275 additions and 205 deletions

View File

@ -26,13 +26,22 @@ use Friendica\DI;
class Feature
{
const ACCOUNTS = 'accounts';
const ADD_ABSTRACT = 'add_abstract';
const ARCHIVE = 'archive';
const CATEGORIES = 'categories';
const CHANNELS = 'channels';
const CIRCLES = 'circles';
const COMMUNITY = 'community';
const EXPLICIT_MENTIONS = 'explicit_mentions';
const FOLDERS = 'folders';
const GROUPS = 'forumlist_profile';
const MEMBER_SINCE = 'profile_membersince';
const NETWORKS = 'networks';
const NOSHARER = 'nosharer';
const PHOTO_LOCATION = 'photo_location';
const PUBLIC_CALENDAR = 'public_calendar';
const SEARCHES = 'searches';
const TAGCLOUD = 'tagadelic';
const TRENDING_TAGS = 'trending_tags';
@ -46,21 +55,14 @@ class Feature
*/
public static function isEnabled(int $uid, $feature): bool
{
$x = DI::config()->get('feature_lock', $feature, false);
if ($x === false) {
$x = DI::pConfig()->get($uid, 'feature', $feature, false);
if (!DI::config()->get('feature_lock', $feature, false)) {
$enabled = DI::config()->get('feature', $feature) ?? self::getDefault($feature);
$enabled = DI::pConfig()->get($uid, 'feature', $feature) ?? $enabled;
} else {
$enabled = true;
}
if ($x === false) {
$x = DI::config()->get('feature', $feature, false);
}
if ($x === false) {
$x = self::getDefault($feature);
}
$arr = ['uid' => $uid, 'feature' => $feature, 'enabled' => $x];
$arr = ['uid' => $uid, 'feature' => $feature, 'enabled' => $enabled];
Hook::callAll('isEnabled', $arr);
return (bool)$arr['enabled'];
}
@ -74,8 +76,7 @@ class Feature
*/
private static function getDefault($feature)
{
$f = self::get();
foreach ($f as $cat) {
foreach (self::get() as $cat) {
foreach ($cat as $feat) {
if (is_array($feat) && $feat[0] === $feature) {
return $feat[3];
@ -105,8 +106,8 @@ class Feature
'general' => [
DI::l10n()->t('General Features'),
//array('expire', DI::l10n()->t('Content Expiration'), DI::l10n()->t('Remove old posts/comments after a period of time')),
[self::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', self::PHOTO_LOCATION, false)],
[self::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', self::TRENDING_TAGS, false)],
[self::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', self::PHOTO_LOCATION, false)],
[self::COMMUNITY, DI::l10n()->t('Display the community in the navigation'), DI::l10n()->t('If enabled, the community can be accessed via the navigation menu. Independant from this setting, the community timelines can always be accessed via the channels.'), true, DI::config()->get('feature_lock', self::COMMUNITY, false)],
],
// Post composition
@ -122,10 +123,24 @@ class Feature
[self::CATEGORIES, DI::l10n()->t('Post Categories'), DI::l10n()->t('Add categories to your posts'), false, DI::config()->get('feature_lock', self::CATEGORIES, false)],
],
// Widget visibility on the network stream
'network' => [
DI::l10n()->t('Network Widgets'),
[self::CIRCLES, DI::l10n()->t('Circles'), DI::l10n()->t('Display posts that have been created by accounts of the selected circle.'), true, false, true],
[self::GROUPS, DI::l10n()->t('Groups'), DI::l10n()->t('Display posts that have been distributed by the selected group.'), true, false, true],
[self::ARCHIVE, DI::l10n()->t('Archives'), DI::l10n()->t('Display an archive where posts can be selected by month and year.'), true, false, true],
[self::NETWORKS, DI::l10n()->t('Protocols'), DI::l10n()->t('Display posts with the selected protocols.'), true, false, true],
[self::ACCOUNTS, DI::l10n()->t('Account Types'), DI::l10n()->t('Display posts done by accounts with the selected account type.'), true, false, true],
[self::CHANNELS, DI::l10n()->t('Channels'), DI::l10n()->t('Display posts in the system channels and user defined channels.'), true, false, true],
[self::SEARCHES, DI::l10n()->t('Saved Searches'), DI::l10n()->t('Display posts that contain subscribed hashtags.'), true, false, true],
[self::FOLDERS, DI::l10n()->t('Saved Folders'), DI::l10n()->t('Display a list of folders in which posts are stored.'), true, false, true],
[self::NOSHARER, DI::l10n()->t('Own Contacts'), DI::l10n()->t('Include or exclude posts from subscribed accounts. This widget is not visible on all channels.'), true, false, true],
[self::TRENDING_TAGS, DI::l10n()->t('Trending Tags'), DI::l10n()->t('Display a list of the most popular tags in recent public posts.'), false, false, true],
],
// Advanced Profile Settings
'advanced_profile' => [
DI::l10n()->t('Advanced Profile Settings'),
[self::GROUPS, DI::l10n()->t('List Groups'), DI::l10n()->t('Show visitors public groups at the Advanced Profile Page'), false, DI::config()->get('feature_lock', 'forumlist_profile', false)],
[self::TAGCLOUD, DI::l10n()->t('Tag Cloud'), DI::l10n()->t('Provide a personal tag cloud on your profile page'), false, DI::config()->get('feature_lock', self::TAGCLOUD, false)],
[self::MEMBER_SINCE, DI::l10n()->t('Display Membership Date'), DI::l10n()->t('Display membership date in profile'), false, DI::config()->get('feature_lock', self::MEMBER_SINCE, false)],
],

View File

@ -284,8 +284,8 @@ class Nav
$gdirpath = Profile::zrl($this->config->get('system', 'directory'), true);
}
if (($this->session->getLocalUserId() || $this->config->get('system', 'community_page_style') != Community::DISABLED_VISITOR) &&
!($this->config->get('system', 'community_page_style') == Community::DISABLED)) {
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::COMMUNITY) && (($this->session->getLocalUserId() || $this->config->get('system', 'community_page_style') != Community::DISABLED_VISITOR) &&
!($this->config->get('system', 'community_page_style') == Community::DISABLED))) {
$nav['community'] = ['community', $this->l10n->t('Community'), '', $this->l10n->t('Conversations on this and other servers')];
}

View File

@ -34,23 +34,16 @@ class Features extends BaseAdmin
self::checkFormSecurityTokenRedirectOnError('/admin/features', 'admin_manage_features');
$features = Feature::get(false);
foreach ($features as $fname => $fdata) {
foreach (Feature::get(false) as $fdata) {
foreach (array_slice($fdata, 1) as $f) {
$feature = $f[0];
$feature_state = 'feature_' . $feature;
$featurelock = 'featurelock_' . $feature;
if (!empty($_POST[$feature_state])) {
$val = intval($_POST[$feature_state]);
} else {
$val = 0;
}
DI::config()->set('feature', $feature, $val);
DI::config()->set('feature', $feature, !empty($_POST[$feature_state]));
if (!empty($_POST[$featurelock])) {
DI::config()->set('feature_lock', $feature, 1);
DI::config()->set('feature_lock', $feature, true);
} else {
DI::config()->delete('feature_lock', $feature);
}
@ -71,10 +64,11 @@ class Features extends BaseAdmin
$features[$fname][0] = $fdata[0];
foreach (array_slice($fdata, 1) as $f) {
$set = DI::config()->get('feature', $f[0], $f[3]);
$features[$fname][1][] = [
['feature_' . $f[0], $f[1], $set, $f[2]],
['featurelock_' . $f[0], DI::l10n()->t('Lock feature %s', $f[1]), $f[4], '']
];
$feature = [['feature_' . $f[0], $f[1], $set, $f[2]]];
if (empty($f[5])) {
$feature[] = ['featurelock_' . $f[0], DI::l10n()->t('Lock feature %s', $f[1]), $f[4], ''];
}
$features[$fname][1][] = $feature;
}
}

View File

@ -130,20 +130,34 @@ class Network extends Timeline
$o = '';
$this->page['aside'] .= Circle::sidebarWidget($module, $module . '/circle', 'standard', $this->circleId);
$this->page['aside'] .= GroupManager::widget($this->session->getLocalUserId());
$this->page['aside'] .= Widget::postedByYear($module . '/archive', $this->session->getLocalUserId(), false);
$this->page['aside'] .= Widget::networks($module, $this->network);
$this->page['aside'] .= Widget::accountTypes($module, $this->accountTypeString);
$this->page['aside'] .= Widget::channels($module, $this->selectedTab, $this->session->getLocalUserId());
$this->page['aside'] .= Widget\SavedSearches::getHTML($this->args->getQueryString());
$this->page['aside'] .= Widget::fileAs('filed', '');
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::CIRCLES)) {
$this->page['aside'] .= Circle::sidebarWidget($module, $module . '/circle', 'standard', $this->circleId);
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::GROUPS)) {
$this->page['aside'] .= GroupManager::widget($this->session->getLocalUserId());
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::ARCHIVE)) {
$this->page['aside'] .= Widget::postedByYear($module . '/archive', $this->session->getLocalUserId(), false);
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::NETWORKS)) {
$this->page['aside'] .= Widget::networks($module, $this->network);
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::ACCOUNTS)) {
$this->page['aside'] .= Widget::accountTypes($module, $this->accountTypeString);
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::CHANNELS)) {
$this->page['aside'] .= Widget::channels($module, $this->selectedTab, $this->session->getLocalUserId());
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::SEARCHES)) {
$this->page['aside'] .= Widget\SavedSearches::getHTML($this->args->getQueryString());
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::FOLDERS)) {
$this->page['aside'] .= Widget::fileAs('filed', '');
}
if (($this->channel->isTimeline($this->selectedTab) || $this->userDefinedChannel->isTimeline($this->selectedTab, $this->session->getLocalUserId())) &&
!in_array($this->selectedTab, [Channel::FOLLOWERS, Channel::FORYOU, Channel::DISCOVER])) {
!in_array($this->selectedTab, [Channel::FOLLOWERS, Channel::FORYOU, Channel::DISCOVER]) && Feature::isEnabled($this->session->getLocalUserId(), Feature::NOSHARER)) {
$this->page['aside'] .= $this->getNoSharerWidget('network');
}
if (Feature::isEnabled($this->session->getLocalUserId(), Feature::TRENDING_TAGS)) {
$this->page['aside'] .= TrendingTags::getHTML($this->selectedTab);
}

View File

@ -49,7 +49,7 @@ class Features extends BaseSettings
BaseSettings::checkFormSecurityTokenRedirectOnError('/settings/features', 'settings_features');
foreach ($request as $k => $v) {
if (strpos($k, 'feature_') === 0) {
$this->pConfig->set($this->session->getLocalUserId(), 'feature', substr($k, 8), ((intval($v)) ? 1 : 0));
$this->pConfig->set($this->session->getLocalUserId(), 'feature', substr($k, 8), (bool)$v);
}
}
}
@ -58,9 +58,8 @@ class Features extends BaseSettings
{
parent::content($request);
$arr = [];
$features = Feature::get();
foreach ($features as $name => $feature) {
$arr = [];
foreach (Feature::get() as $name => $feature) {
$arr[$name] = [];
$arr[$name][0] = $feature[0];
foreach (array_slice($feature, 1) as $f) {

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2024.06-dev\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-03-24 13:55+0000\n"
"POT-Creation-Date: 2024-03-25 07:19+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -280,7 +280,7 @@ msgstr ""
msgid "Your message:"
msgstr ""
#: mod/message.php:199 mod/message.php:354 src/Content/Conversation.php:370
#: mod/message.php:199 mod/message.php:354 src/Content/Conversation.php:369
#: src/Module/Post/Edit.php:131
msgid "Upload photo"
msgstr ""
@ -290,7 +290,7 @@ msgid "Insert web link"
msgstr ""
#: mod/message.php:201 mod/message.php:357 mod/photos.php:1297
#: src/Content/Conversation.php:401 src/Content/Conversation.php:1586
#: src/Content/Conversation.php:400 src/Content/Conversation.php:1583
#: src/Module/Item/Compose.php:206 src/Module/Post/Edit.php:145
#: src/Object/Post.php:624
msgid "Please wait"
@ -478,7 +478,7 @@ msgstr ""
msgid "Do not show a status post for this upload"
msgstr ""
#: mod/photos.php:732 mod/photos.php:1093 src/Content/Conversation.php:403
#: mod/photos.php:732 mod/photos.php:1093 src/Content/Conversation.php:402
#: src/Module/Calendar/Event/Form.php:253 src/Module/Post/Edit.php:183
msgid "Permissions"
msgstr ""
@ -491,7 +491,7 @@ msgstr ""
msgid "Delete Album"
msgstr ""
#: mod/photos.php:799 mod/photos.php:899 src/Content/Conversation.php:419
#: mod/photos.php:799 mod/photos.php:899 src/Content/Conversation.php:417
#: src/Module/Contact/Follow.php:173 src/Module/Contact/Revoke.php:109
#: src/Module/Contact/Unfollow.php:126
#: src/Module/Media/Attachment/Browser.php:77
@ -610,23 +610,23 @@ msgid "Comment"
msgstr ""
#: mod/photos.php:1139 mod/photos.php:1195 mod/photos.php:1275
#: src/Content/Conversation.php:416 src/Module/Calendar/Event/Form.php:248
#: src/Content/Conversation.php:414 src/Module/Calendar/Event/Form.php:248
#: src/Module/Item/Compose.php:201 src/Module/Post/Edit.php:165
#: src/Object/Post.php:1182
msgid "Preview"
msgstr ""
#: mod/photos.php:1140 src/Content/Conversation.php:369
#: mod/photos.php:1140 src/Content/Conversation.php:368
#: src/Module/Post/Edit.php:130 src/Object/Post.php:1170
msgid "Loading..."
msgstr ""
#: mod/photos.php:1232 src/Content/Conversation.php:1501
#: mod/photos.php:1232 src/Content/Conversation.php:1498
#: src/Object/Post.php:274
msgid "Select"
msgstr ""
#: mod/photos.php:1233 src/Content/Conversation.php:1502
#: mod/photos.php:1233 src/Content/Conversation.php:1499
#: src/Module/Moderation/Users/Active.php:136
#: src/Module/Moderation/Users/Blocked.php:136
#: src/Module/Moderation/Users/Index.php:151
@ -1239,281 +1239,281 @@ msgid_plural "<button type=\"button\" %2$s>%1$d people</button> reshared this"
msgstr[0] ""
msgstr[1] ""
#: src/Content/Conversation.php:338
#: src/Content/Conversation.php:337
msgid "Visible to <strong>everybody</strong>"
msgstr ""
#: src/Content/Conversation.php:339 src/Module/Item/Compose.php:200
#: src/Content/Conversation.php:338 src/Module/Item/Compose.php:200
#: src/Object/Post.php:1181
msgid "Please enter a image/video/audio/webpage URL:"
msgstr ""
#: src/Content/Conversation.php:340
#: src/Content/Conversation.php:339
msgid "Tag term:"
msgstr ""
#: src/Content/Conversation.php:341 src/Module/Filer/SaveTag.php:73
#: src/Content/Conversation.php:340 src/Module/Filer/SaveTag.php:73
msgid "Save to Folder:"
msgstr ""
#: src/Content/Conversation.php:342
#: src/Content/Conversation.php:341
msgid "Where are you right now?"
msgstr ""
#: src/Content/Conversation.php:343
#: src/Content/Conversation.php:342
msgid "Delete item(s)?"
msgstr ""
#: src/Content/Conversation.php:355 src/Module/Item/Compose.php:175
#: src/Content/Conversation.php:354 src/Module/Item/Compose.php:175
msgid "Created at"
msgstr ""
#: src/Content/Conversation.php:365
#: src/Content/Conversation.php:364
msgid "New Post"
msgstr ""
#: src/Content/Conversation.php:368
#: src/Content/Conversation.php:367
msgid "Share"
msgstr ""
#: src/Content/Conversation.php:371 src/Module/Post/Edit.php:132
#: src/Content/Conversation.php:370 src/Module/Post/Edit.php:132
msgid "upload photo"
msgstr ""
#: src/Content/Conversation.php:372 src/Module/Post/Edit.php:133
#: src/Content/Conversation.php:371 src/Module/Post/Edit.php:133
msgid "Attach file"
msgstr ""
#: src/Content/Conversation.php:373 src/Module/Post/Edit.php:134
#: src/Content/Conversation.php:372 src/Module/Post/Edit.php:134
msgid "attach file"
msgstr ""
#: src/Content/Conversation.php:374 src/Module/Item/Compose.php:190
#: src/Content/Conversation.php:373 src/Module/Item/Compose.php:190
#: src/Module/Post/Edit.php:171 src/Object/Post.php:1171
msgid "Bold"
msgstr ""
#: src/Content/Conversation.php:375 src/Module/Item/Compose.php:191
#: src/Content/Conversation.php:374 src/Module/Item/Compose.php:191
#: src/Module/Post/Edit.php:172 src/Object/Post.php:1172
msgid "Italic"
msgstr ""
#: src/Content/Conversation.php:376 src/Module/Item/Compose.php:192
#: src/Content/Conversation.php:375 src/Module/Item/Compose.php:192
#: src/Module/Post/Edit.php:173 src/Object/Post.php:1173
msgid "Underline"
msgstr ""
#: src/Content/Conversation.php:377 src/Module/Item/Compose.php:193
#: src/Content/Conversation.php:376 src/Module/Item/Compose.php:193
#: src/Module/Post/Edit.php:174 src/Object/Post.php:1175
msgid "Quote"
msgstr ""
#: src/Content/Conversation.php:378 src/Module/Item/Compose.php:194
#: src/Content/Conversation.php:377 src/Module/Item/Compose.php:194
#: src/Module/Post/Edit.php:175 src/Object/Post.php:1176
msgid "Add emojis"
msgstr ""
#: src/Content/Conversation.php:379 src/Module/Item/Compose.php:195
#: src/Content/Conversation.php:378 src/Module/Item/Compose.php:195
#: src/Object/Post.php:1174
msgid "Content Warning"
msgstr ""
#: src/Content/Conversation.php:380 src/Module/Item/Compose.php:196
#: src/Content/Conversation.php:379 src/Module/Item/Compose.php:196
#: src/Module/Post/Edit.php:176 src/Object/Post.php:1177
msgid "Code"
msgstr ""
#: src/Content/Conversation.php:381 src/Module/Item/Compose.php:197
#: src/Content/Conversation.php:380 src/Module/Item/Compose.php:197
#: src/Object/Post.php:1178
msgid "Image"
msgstr ""
#: src/Content/Conversation.php:382 src/Module/Item/Compose.php:198
#: src/Content/Conversation.php:381 src/Module/Item/Compose.php:198
#: src/Module/Post/Edit.php:177 src/Object/Post.php:1179
msgid "Link"
msgstr ""
#: src/Content/Conversation.php:383 src/Module/Item/Compose.php:199
#: src/Content/Conversation.php:382 src/Module/Item/Compose.php:199
#: src/Module/Post/Edit.php:178 src/Object/Post.php:1180
msgid "Link or Media"
msgstr ""
#: src/Content/Conversation.php:384
#: src/Content/Conversation.php:383
msgid "Video"
msgstr ""
#: src/Content/Conversation.php:385 src/Module/Item/Compose.php:202
#: src/Content/Conversation.php:384 src/Module/Item/Compose.php:202
#: src/Module/Post/Edit.php:141
msgid "Set your location"
msgstr ""
#: src/Content/Conversation.php:386 src/Module/Post/Edit.php:142
#: src/Content/Conversation.php:385 src/Module/Post/Edit.php:142
msgid "set location"
msgstr ""
#: src/Content/Conversation.php:387 src/Module/Post/Edit.php:143
#: src/Content/Conversation.php:386 src/Module/Post/Edit.php:143
msgid "Clear browser location"
msgstr ""
#: src/Content/Conversation.php:388 src/Module/Post/Edit.php:144
#: src/Content/Conversation.php:387 src/Module/Post/Edit.php:144
msgid "clear location"
msgstr ""
#: src/Content/Conversation.php:390 src/Module/Item/Compose.php:207
#: src/Content/Conversation.php:389 src/Module/Item/Compose.php:207
#: src/Module/Post/Edit.php:157
msgid "Set title"
msgstr ""
#: src/Content/Conversation.php:392 src/Module/Item/Compose.php:208
#: src/Content/Conversation.php:391 src/Module/Item/Compose.php:208
#: src/Module/Post/Edit.php:159
msgid "Categories (comma-separated list)"
msgstr ""
#: src/Content/Conversation.php:397 src/Module/Item/Compose.php:224
#: src/Content/Conversation.php:396 src/Module/Item/Compose.php:224
msgid "Scheduled at"
msgstr ""
#: src/Content/Conversation.php:402 src/Module/Post/Edit.php:146
#: src/Content/Conversation.php:401 src/Module/Post/Edit.php:146
msgid "Permission settings"
msgstr ""
#: src/Content/Conversation.php:412 src/Module/Post/Edit.php:155
#: src/Content/Conversation.php:410 src/Module/Post/Edit.php:155
msgid "Public post"
msgstr ""
#: src/Content/Conversation.php:426 src/Content/Widget/VCard.php:130
#: src/Content/Conversation.php:424 src/Content/Widget/VCard.php:130
#: src/Model/Profile.php:482 src/Module/Admin/Logs/View.php:92
#: src/Module/Post/Edit.php:181
msgid "Message"
msgstr ""
#: src/Content/Conversation.php:427 src/Module/Post/Edit.php:182
#: src/Content/Conversation.php:425 src/Module/Post/Edit.php:182
#: src/Module/Settings/TwoFactor/Trusted.php:143
msgid "Browser"
msgstr ""
#: src/Content/Conversation.php:429 src/Module/Post/Edit.php:185
#: src/Content/Conversation.php:427 src/Module/Post/Edit.php:185
msgid "Open Compose page"
msgstr ""
#: src/Content/Conversation.php:597
#: src/Content/Conversation.php:594
msgid "remove"
msgstr ""
#: src/Content/Conversation.php:601
#: src/Content/Conversation.php:598
msgid "Delete Selected Items"
msgstr ""
#: src/Content/Conversation.php:729 src/Content/Conversation.php:732
#: src/Content/Conversation.php:735 src/Content/Conversation.php:738
#: src/Content/Conversation.php:741
#: src/Content/Conversation.php:726 src/Content/Conversation.php:729
#: src/Content/Conversation.php:732 src/Content/Conversation.php:735
#: src/Content/Conversation.php:738
#, php-format
msgid "You had been addressed (%s)."
msgstr ""
#: src/Content/Conversation.php:744
#: src/Content/Conversation.php:741
#, php-format
msgid "You are following %s."
msgstr ""
#: src/Content/Conversation.php:749
#: src/Content/Conversation.php:746
#, php-format
msgid "You subscribed to %s."
msgstr ""
#: src/Content/Conversation.php:751
#: src/Content/Conversation.php:748
msgid "You subscribed to one or more tags in this post."
msgstr ""
#: src/Content/Conversation.php:771
#: src/Content/Conversation.php:768
#, php-format
msgid "%s reshared this."
msgstr ""
#: src/Content/Conversation.php:773
#: src/Content/Conversation.php:770
msgid "Reshared"
msgstr ""
#: src/Content/Conversation.php:773
#: src/Content/Conversation.php:770
#, php-format
msgid "Reshared by %s <%s>"
msgstr ""
#: src/Content/Conversation.php:776
#: src/Content/Conversation.php:773
#, php-format
msgid "%s is participating in this thread."
msgstr ""
#: src/Content/Conversation.php:779
#: src/Content/Conversation.php:776
msgid "Stored for general reasons"
msgstr ""
#: src/Content/Conversation.php:782
#: src/Content/Conversation.php:779
msgid "Global post"
msgstr ""
#: src/Content/Conversation.php:785
#: src/Content/Conversation.php:782
msgid "Sent via an relay server"
msgstr ""
#: src/Content/Conversation.php:785
#: src/Content/Conversation.php:782
#, php-format
msgid "Sent via the relay server %s <%s>"
msgstr ""
#: src/Content/Conversation.php:788
#: src/Content/Conversation.php:785
msgid "Fetched"
msgstr ""
#: src/Content/Conversation.php:788
#: src/Content/Conversation.php:785
#, php-format
msgid "Fetched because of %s <%s>"
msgstr ""
#: src/Content/Conversation.php:791
#: src/Content/Conversation.php:788
msgid "Stored because of a child post to complete this thread."
msgstr ""
#: src/Content/Conversation.php:794
#: src/Content/Conversation.php:791
msgid "Local delivery"
msgstr ""
#: src/Content/Conversation.php:797
#: src/Content/Conversation.php:794
msgid "Stored because of your activity (like, comment, star, ...)"
msgstr ""
#: src/Content/Conversation.php:800
#: src/Content/Conversation.php:797
msgid "Distributed"
msgstr ""
#: src/Content/Conversation.php:803
#: src/Content/Conversation.php:800
msgid "Pushed to us"
msgstr ""
#: src/Content/Conversation.php:1529 src/Object/Post.php:261
#: src/Content/Conversation.php:1526 src/Object/Post.php:261
msgid "Pinned item"
msgstr ""
#: src/Content/Conversation.php:1546 src/Object/Post.php:563
#: src/Content/Conversation.php:1543 src/Object/Post.php:563
#: src/Object/Post.php:564
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
#: src/Content/Conversation.php:1559 src/Object/Post.php:551
#: src/Content/Conversation.php:1556 src/Object/Post.php:551
msgid "Categories:"
msgstr ""
#: src/Content/Conversation.php:1560 src/Object/Post.php:552
#: src/Content/Conversation.php:1557 src/Object/Post.php:552
msgid "Filed under:"
msgstr ""
#: src/Content/Conversation.php:1568 src/Object/Post.php:577
#: src/Content/Conversation.php:1565 src/Object/Post.php:577
#, php-format
msgid "%s from %s"
msgstr ""
#: src/Content/Conversation.php:1584
#: src/Content/Conversation.php:1581
msgid "View in context"
msgstr ""
@ -1669,13 +1669,14 @@ msgid ""
msgstr ""
#: src/Content/Feature.php:109
msgid "Trending Tags"
msgid "Display the community in the navigation"
msgstr ""
#: src/Content/Feature.php:109
msgid ""
"Show a community page widget with a list of the most popular tags in recent "
"public posts."
"If enabled, the community can be accessed via the navigation menu. "
"Independant from this setting, the community timelines can always be "
"accessed via the channels."
msgstr ""
#: src/Content/Feature.php:114
@ -1716,51 +1717,131 @@ msgid "Add categories to your posts"
msgstr ""
#: src/Content/Feature.php:127
msgid "Advanced Profile Settings"
msgid "Network Widgets"
msgstr ""
#: src/Content/Feature.php:128 src/Content/Widget.php:216
#: src/Model/Circle.php:601 src/Module/Contact.php:400
#: src/Module/Welcome.php:76
msgid "Circles"
msgstr ""
#: src/Content/Feature.php:128
msgid "List Groups"
msgid ""
"Display posts that have been created by accounts of the selected circle."
msgstr ""
#: src/Content/Feature.php:128
msgid "Show visitors public groups at the Advanced Profile Page"
#: src/Content/Feature.php:129 src/Content/GroupManager.php:147
#: src/Content/Nav.php:278 src/Content/Text/HTML.php:881
#: src/Content/Widget.php:538 src/Model/User.php:1385
msgid "Groups"
msgstr ""
#: src/Content/Feature.php:129
msgid "Tag Cloud"
msgid "Display posts that have been distributed by the selected group."
msgstr ""
#: src/Content/Feature.php:129
msgid "Provide a personal tag cloud on your profile page"
#: src/Content/Feature.php:130 src/Content/Widget.php:507
msgid "Archives"
msgstr ""
#: src/Content/Feature.php:130
msgid "Display Membership Date"
msgid "Display an archive where posts can be selected by month and year."
msgstr ""
#: src/Content/Feature.php:130
msgid "Display membership date in profile"
#: src/Content/Feature.php:131 src/Content/Widget.php:289
msgid "Protocols"
msgstr ""
#: src/Content/Feature.php:131
msgid "Display posts with the selected protocols."
msgstr ""
#: src/Content/Feature.php:132 src/Content/Widget.php:544
#: src/Module/Settings/Account.php:442
msgid "Account Types"
msgstr ""
#: src/Content/Feature.php:132
msgid "Display posts done by accounts with the selected account type."
msgstr ""
#: src/Content/Feature.php:133 src/Content/Widget.php:593
#: src/Module/Admin/Site.php:474 src/Module/BaseSettings.php:125
#: src/Module/Settings/Channels.php:219 src/Module/Settings/Display.php:318
msgid "Channels"
msgstr ""
#: src/Content/Feature.php:133
msgid "Display posts in the system channels and user defined channels."
msgstr ""
#: src/Content/Feature.php:134 src/Content/Widget/SavedSearches.php:60
msgid "Saved Searches"
msgstr ""
#: src/Content/Feature.php:134
msgid "Display posts that contain subscribed hashtags."
msgstr ""
#: src/Content/Feature.php:135 src/Content/Widget.php:319
msgid "Saved Folders"
msgstr ""
#: src/Content/Feature.php:135
msgid "Advanced Calendar Settings"
msgid "Display a list of folders in which posts are stored."
msgstr ""
#: src/Content/Feature.php:136
msgid "Allow anonymous access to your calendar"
#: src/Content/Feature.php:136 src/Module/Conversation/Timeline.php:196
msgid "Own Contacts"
msgstr ""
#: src/Content/Feature.php:136
msgid ""
"Allows anonymous visitors to consult your calendar and your public events. "
"Contact birthday events are private to you."
"Include or exclude posts from subscribed accounts. This widget is not "
"visible on all channels."
msgstr ""
#: src/Content/GroupManager.php:147 src/Content/Nav.php:278
#: src/Content/Text/HTML.php:881 src/Content/Widget.php:538
#: src/Model/User.php:1385
msgid "Groups"
#: src/Content/Feature.php:137
msgid "Trending Tags"
msgstr ""
#: src/Content/Feature.php:137
msgid "Display a list of the most popular tags in recent public posts."
msgstr ""
#: src/Content/Feature.php:142
msgid "Advanced Profile Settings"
msgstr ""
#: src/Content/Feature.php:143
msgid "Tag Cloud"
msgstr ""
#: src/Content/Feature.php:143
msgid "Provide a personal tag cloud on your profile page"
msgstr ""
#: src/Content/Feature.php:144
msgid "Display Membership Date"
msgstr ""
#: src/Content/Feature.php:144
msgid "Display membership date in profile"
msgstr ""
#: src/Content/Feature.php:149
msgid "Advanced Calendar Settings"
msgstr ""
#: src/Content/Feature.php:150
msgid "Allow anonymous access to your calendar"
msgstr ""
#: src/Content/Feature.php:150
msgid ""
"Allows anonymous visitors to consult your calendar and your public events. "
"Contact birthday events are private to you."
msgstr ""
#: src/Content/GroupManager.php:149
@ -2296,11 +2377,6 @@ msgstr ""
msgid "Local Directory"
msgstr ""
#: src/Content/Widget.php:216 src/Model/Circle.php:601
#: src/Module/Contact.php:400 src/Module/Welcome.php:76
msgid "Circles"
msgstr ""
#: src/Content/Widget.php:218
msgid "Everyone"
msgstr ""
@ -2318,18 +2394,10 @@ msgstr ""
msgid "All Contacts"
msgstr ""
#: src/Content/Widget.php:289
msgid "Protocols"
msgstr ""
#: src/Content/Widget.php:291
msgid "All Protocols"
msgstr ""
#: src/Content/Widget.php:319
msgid "Saved Folders"
msgstr ""
#: src/Content/Widget.php:321 src/Content/Widget.php:352
msgid "Everything"
msgstr ""
@ -2345,10 +2413,6 @@ msgid_plural "%d contacts in common"
msgstr[0] ""
msgstr[1] ""
#: src/Content/Widget.php:507
msgid "Archives"
msgstr ""
#: src/Content/Widget.php:515
msgid "On this date"
msgstr ""
@ -2369,20 +2433,10 @@ msgstr ""
msgid "Relays"
msgstr ""
#: src/Content/Widget.php:544 src/Module/Settings/Account.php:442
msgid "Account Types"
msgstr ""
#: src/Content/Widget.php:546 src/Module/Moderation/BaseUsers.php:69
msgid "All"
msgstr ""
#: src/Content/Widget.php:593 src/Module/Admin/Site.php:474
#: src/Module/BaseSettings.php:125 src/Module/Settings/Channels.php:219
#: src/Module/Settings/Display.php:318
msgid "Channels"
msgstr ""
#: src/Content/Widget/CalendarExport.php:56
msgid "Export"
msgstr ""
@ -2414,10 +2468,6 @@ msgstr ""
msgid "Remove term"
msgstr ""
#: src/Content/Widget/SavedSearches.php:60
msgid "Saved Searches"
msgstr ""
#: src/Content/Widget/TrendingTags.php:52
#, php-format
msgid "Trending Tags (last %d hour)"
@ -3030,18 +3080,18 @@ msgstr ""
msgid "The debug logfile '%s' is not usable. No logging possible (error: '%s')"
msgstr ""
#: src/Core/Renderer.php:89 src/Core/Renderer.php:118 src/Core/Renderer.php:147
#: src/Core/Renderer.php:181 src/Render/FriendicaSmartyEngine.php:60
#: src/Core/Renderer.php:92 src/Core/Renderer.php:121 src/Core/Renderer.php:150
#: src/Core/Renderer.php:184 src/Render/FriendicaSmartyEngine.php:60
msgid ""
"Friendica can't display this page at the moment, please contact the "
"administrator."
msgstr ""
#: src/Core/Renderer.php:143
#: src/Core/Renderer.php:146
msgid "template engine cannot be registered without a name."
msgstr ""
#: src/Core/Renderer.php:177
#: src/Core/Renderer.php:180
msgid "template engine is not registered!"
msgstr ""
@ -3988,14 +4038,14 @@ msgstr ""
msgid "Addon %s failed to install."
msgstr ""
#: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:86
#: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:80
#: src/Module/Admin/Logs/Settings.php:87 src/Module/Admin/Site.php:460
#: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:86
#: src/Module/Settings/Account.php:551 src/Module/Settings/Addons.php:78
#: src/Module/Settings/Connectors.php:160
#: src/Module/Settings/Connectors.php:246
#: src/Module/Settings/Delegation.php:193 src/Module/Settings/Display.php:312
#: src/Module/Settings/Features.php:76
#: src/Module/Settings/Features.php:75
msgid "Save Settings"
msgstr ""
@ -4070,12 +4120,12 @@ msgstr ""
msgid "Attempt to execute this update step automatically"
msgstr ""
#: src/Module/Admin/Features.php:76
#: src/Module/Admin/Features.php:69
#, php-format
msgid "Lock feature %s"
msgstr ""
#: src/Module/Admin/Features.php:84
#: src/Module/Admin/Features.php:78
msgid "Manage Additional Features"
msgstr ""
@ -4085,7 +4135,7 @@ msgstr ""
msgid "Other"
msgstr ""
#: src/Module/Admin/Federation.php:160 src/Module/Admin/Federation.php:409
#: src/Module/Admin/Federation.php:160 src/Module/Admin/Federation.php:408
msgid "unknown"
msgstr ""
@ -4149,7 +4199,7 @@ msgstr ""
msgid "Federation Statistics"
msgstr ""
#: src/Module/Admin/Federation.php:225
#: src/Module/Admin/Federation.php:224
#, php-format
msgid ""
"Currently this node is aware of %2$s node (%3$s active users last month, "
@ -5848,7 +5898,7 @@ msgstr ""
msgid "Missing parameters"
msgstr ""
#: src/Module/Api/Mastodon/Statuses/Bookmark.php:51
#: src/Module/Api/Mastodon/Statuses/Bookmark.php:50
msgid "Only starting posts can be bookmarked"
msgstr ""
@ -6621,8 +6671,8 @@ msgstr ""
#: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:407
#: src/Module/Contact/Unfollow.php:129
#: src/Module/Moderation/Blocklist/Contact.php:133
#: src/Module/Moderation/Reports.php:104
#: src/Module/Moderation/Blocklist/Contact.php:131
#: src/Module/Moderation/Reports.php:102
#: src/Module/Notifications/Introductions.php:129
#: src/Module/Notifications/Introductions.php:198
msgid "Profile URL"
@ -7065,28 +7115,24 @@ msgstr ""
msgid "Not available."
msgstr ""
#: src/Module/Conversation/Network.php:200
#: src/Module/Conversation/Network.php:214
msgid "No such circle"
msgstr ""
#: src/Module/Conversation/Network.php:204
#: src/Module/Conversation/Network.php:218
#, php-format
msgid "Circle: %s"
msgstr ""
#: src/Module/Conversation/Network.php:223
#: src/Module/Conversation/Network.php:237
#, php-format
msgid "Error %d (%s) while fetching the timeline."
msgstr ""
#: src/Module/Conversation/Network.php:300
#: src/Module/Conversation/Network.php:314
msgid "Network feed not available."
msgstr ""
#: src/Module/Conversation/Timeline.php:196
msgid "Own Contacts"
msgstr ""
#: src/Module/Conversation/Timeline.php:200
msgid "Include"
msgstr ""
@ -7973,28 +8019,28 @@ msgstr ""
msgid "Reason"
msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:130
#: src/Module/Moderation/Blocklist/Contact.php:128
#, php-format
msgid "%s total blocked contact"
msgid_plural "%s total blocked contacts"
msgstr[0] ""
msgstr[1] ""
#: src/Module/Moderation/Blocklist/Contact.php:133
#: src/Module/Moderation/Blocklist/Contact.php:131
msgid "URL of the remote contact to block."
msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:134
#: src/Module/Moderation/Blocklist/Contact.php:132
msgid "Also purge contact"
msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:134
#: src/Module/Moderation/Blocklist/Contact.php:132
msgid ""
"Removes all content related to this contact from the node. Keeps the contact "
"record. This action cannot be undone."
msgstr ""
#: src/Module/Moderation/Blocklist/Contact.php:135
#: src/Module/Moderation/Blocklist/Contact.php:133
#: src/Module/Moderation/Blocklist/Server/Import.php:124
msgid "Block Reason"
msgstr ""
@ -8540,14 +8586,14 @@ msgstr ""
msgid "Category"
msgstr ""
#: src/Module/Moderation/Reports.php:101
#: src/Module/Moderation/Reports.php:99
#, php-format
msgid "%s total report"
msgid_plural "%s total reports"
msgstr[0] ""
msgstr[1] ""
#: src/Module/Moderation/Reports.php:104
#: src/Module/Moderation/Reports.php:102
msgid "URL of the reported contact."
msgstr ""
@ -10775,7 +10821,7 @@ msgstr ""
msgid "Default calendar view:"
msgstr ""
#: src/Module/Settings/Features.php:74
#: src/Module/Settings/Features.php:73
msgid "Additional Features"
msgstr ""

View File

@ -18,7 +18,9 @@
{{foreach $f.1 as $fcat}}
<div class="settings-block">
{{include file="field_checkbox.tpl" field=$fcat.0}}
{{include file="field_checkbox.tpl" field=$fcat.1}}
{{if $fcat.1}}
{{include file="field_checkbox.tpl" field=$fcat.1}}
{{/if}}
</div>
{{/foreach}}
</div>