From b0c9c9b7cb52e96b0321e315bb1246c61d602da3 Mon Sep 17 00:00:00 2001 From: Michael Date: Tue, 22 Sep 2020 15:48:44 +0000 Subject: [PATCH 1/4] Relay settings are now valid for the ActivityRelay as well --- src/Model/Search.php | 2 +- src/Module/Admin/Site.php | 4 +- src/Protocol/ActivityPub/Processor.php | 91 +++ src/Protocol/ActivityPub/Receiver.php | 8 +- view/lang/C/messages.po | 870 +++++++++++++------------ 5 files changed, 545 insertions(+), 430 deletions(-) diff --git a/src/Model/Search.php b/src/Model/Search.php index ca8960ef3..0b921ecc1 100644 --- a/src/Model/Search.php +++ b/src/Model/Search.php @@ -42,7 +42,7 @@ class Search $tags = []; while ($term = DBA::fetch($termsStmt)) { - $tags[] = trim($term['term'], '#'); + $tags[] = trim(mb_strtolower($term['term']), '#'); } DBA::close($termsStmt); return $tags; diff --git a/src/Module/Admin/Site.php b/src/Module/Admin/Site.php index 6de01bd03..3c5688977 100644 --- a/src/Module/Admin/Site.php +++ b/src/Module/Admin/Site.php @@ -691,8 +691,8 @@ class Site extends BaseAdmin '$worker_fastlane' => ['worker_fastlane', DI::l10n()->t('Enable fastlane'), DI::config()->get('system', 'worker_fastlane'), DI::l10n()->t('When enabed, the fastlane mechanism starts an additional worker if processes with higher priority are blocked by processes of lower priority.')], '$worker_frontend' => ['worker_frontend', DI::l10n()->t('Enable frontend worker'), DI::config()->get('system', 'frontend_worker'), DI::l10n()->t('When enabled the Worker process is triggered when backend access is performed (e.g. messages being delivered). On smaller sites you might want to call %s/worker on a regular basis via an external cron job. You should only enable this option if you cannot utilize cron/scheduled jobs on your server.', DI::baseUrl()->get())], - '$relay_subscribe' => ['relay_subscribe', DI::l10n()->t('Subscribe to relay'), DI::config()->get('system', 'relay_subscribe'), DI::l10n()->t('Enables the receiving of public posts from the relay. They will be included in the search, subscribed tags and on the global community page.')], - '$relay_server' => ['relay_server', DI::l10n()->t('Relay server'), DI::config()->get('system', 'relay_server'), DI::l10n()->t('Address of the relay server where public posts should be send to. For example %s', 'https://social-relay.isurf.ca')], + '$relay_subscribe' => ['relay_subscribe', DI::l10n()->t('Use relay servers'), DI::config()->get('system', 'relay_subscribe'), DI::l10n()->t('Enables the receiving of public posts from relay servers. They will be included in the search, subscribed tags and on the global community page.')], + '$relay_server' => ['relay_server', DI::l10n()->t('"Social Relay" server'), DI::config()->get('system', 'relay_server'), DI::l10n()->t('Address of the "Social Relay" server where public posts should be send to. For example %s. ActivityRelay servers are administrated via the "console relay" command line command.', 'https://social-relay.isurf.ca')], '$relay_directly' => ['relay_directly', DI::l10n()->t('Direct relay transfer'), DI::config()->get('system', 'relay_directly'), DI::l10n()->t('Enables the direct transfer to other servers without using the relay servers')], '$relay_scope' => ['relay_scope', DI::l10n()->t('Relay scope'), DI::config()->get('system', 'relay_scope'), DI::l10n()->t('Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received.'), ['' => DI::l10n()->t('Disabled'), 'all' => DI::l10n()->t('all'), 'tags' => DI::l10n()->t('tags')]], '$relay_server_tags' => ['relay_server_tags', DI::l10n()->t('Server tags'), DI::config()->get('system', 'relay_server_tags'), DI::l10n()->t('Comma separated list of tags for the "tags" subscription.')], diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index 5d5bfc0b1..c94a82a9e 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -35,6 +35,7 @@ use Friendica\Model\Event; use Friendica\Model\Item; use Friendica\Model\ItemURI; use Friendica\Model\Mail; +use Friendica\Model\Search; use Friendica\Model\Tag; use Friendica\Model\User; use Friendica\Protocol\Activity; @@ -767,6 +768,10 @@ class Processor $ldactivity['thread-completion'] = true; $ldactivity['from-relay'] = Contact::getIdForURL($relay_actor); + if (!empty($relay_actor) && !self::acceptIncomingMessage($ldactivity, $object['id'])) { + return ''; + } + ActivityPub\Receiver::processActivity($ldactivity, json_encode($activity), $uid, true, false, $signer); Logger::notice('Activity had been fetched and processed.', ['url' => $url, 'object' => $activity['id']]); @@ -774,6 +779,92 @@ class Processor return $activity['id']; } + /** + * Test if incoming relay messages should be accepted + * + * @param array $activity activity array + * @param string $id object ID + * @return boolean true if message is accepted + */ + private static function acceptIncomingMessage(array $activity, string $id) + { + if (empty($activity['as:object'])) { + Logger::info('No object field in activity - accepted', ['id' => $id]); + return true; + } + + $config = DI::config(); + + $subscribe = $config->get('system', 'relay_subscribe', false); + if ($subscribe) { + $scope = $config->get('system', 'relay_scope', SR_SCOPE_ALL); + } else { + $scope = SR_SCOPE_NONE; + } + + if ($scope == SR_SCOPE_ALL) { + Logger::info('Server accept all posts - accepted', ['id' => $id]); + return true; + } + + $replyto = JsonLD::fetchElement($activity['as:object'], 'as:inReplyTo', '@id'); + if (Item::exists(['uri' => $replyto])) { + Logger::info('Post is a reply to an existing post - accepted', ['id' => $id, 'replyto' => $replyto]); + return true; + } + + if ($scope == SR_SCOPE_NONE) { + Logger::info('Server does not accept relay posts - rejected', ['id' => $id]); + return false; + } + + $messageTags = []; + $tags = Receiver::processTags(JsonLD::fetchElementArray($activity['as:object'], 'as:tag') ?? []); + if (!empty($tags)) { + foreach ($tags as $tag) { + if ($tag['type'] != 'Hashtag') { + continue; + } + $messageTags[] = ltrim(mb_strtolower($tag['name']), '#'); + } + } + + $systemTags = []; + $userTags = []; + + if ($scope == SR_SCOPE_TAGS) { + $server_tags = $config->get('system', 'relay_server_tags', []); + $tagitems = explode(',', mb_strtolower($server_tags)); + + foreach ($tagitems AS $tag) { + $systemTags[] = trim($tag, '# '); + } + + if ($config->get('system', 'relay_user_tags')) { + $userTags = Search::getUserTags(); + } + } + + $content = mb_strtolower(JsonLD::fetchElement($activity['as:object'], 'as:content', '@value')); + + $tagList = array_unique(array_merge($systemTags, $userTags)); + foreach ($messageTags as $tag) { + if (in_array($tag, $tagList)) { + Logger::info('Subscribed hashtag found - accepted', ['id' => $id, 'hashtag' => $tag]); + return true; + } + // We check with "strpos" for performance issues. Only when this is true, the regular expression check is used + // RegExp is taken from here: https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed + if ((strpos($content, $tag) !== false) && preg_match('/(?<=[\s,.:;"\']|^)' . $tag . '(?=[\s,.:;"\']|$)/', $content)) { + Logger::info('Subscribed hashtag found in content - accepted', ['id' => $id, 'hashtag' => $tag]); + return true; + } + } + + Logger::info('No matching hashtags found - rejected', ['id' => $id]); + return false; + } + /** * perform a "follow" request * diff --git a/src/Protocol/ActivityPub/Receiver.php b/src/Protocol/ActivityPub/Receiver.php index 3c6dd28e5..aaf5d9b0f 100644 --- a/src/Protocol/ActivityPub/Receiver.php +++ b/src/Protocol/ActivityPub/Receiver.php @@ -181,7 +181,11 @@ class Receiver return; } - Processor::fetchMissingActivity($object_id, [], $actor); + $id = Processor::fetchMissingActivity($object_id, [], $actor); + if (empty($id)) { + Logger::notice('Relayed message had not been fetched', ['id' => $object_id]); + return; + } $item_id = Item::searchByLink($object_id); if ($item_id) { @@ -964,7 +968,7 @@ class Receiver * * @return array with tags in a simplified format */ - private static function processTags(array $tags) + public static function processTags(array $tags) { $taglist = []; diff --git a/view/lang/C/messages.po b/view/lang/C/messages.po index 698dc3603..4d63dbaff 100644 --- a/view/lang/C/messages.po +++ b/view/lang/C/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 2020.09-rc\n" +"Project-Id-Version: 2020.12-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-09-16 05:18+0000\n" +"POT-Creation-Date: 2020-09-22 15:48+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,7 +51,7 @@ msgstr "" #: mod/message.php:206 mod/message.php:375 mod/events.php:572 #: mod/photos.php:959 mod/photos.php:1062 mod/photos.php:1348 #: mod/photos.php:1400 mod/photos.php:1457 mod/photos.php:1530 -#: src/Object/Post.php:945 src/Module/Debug/Localtime.php:64 +#: src/Object/Post.php:937 src/Module/Debug/Localtime.php:64 #: src/Module/Profile/Profile.php:241 src/Module/FriendSuggest.php:129 #: src/Module/Install.php:230 src/Module/Install.php:270 #: src/Module/Install.php:306 src/Module/Delegation.php:151 @@ -144,7 +144,7 @@ msgstr "" msgid "Enter name or interest" msgstr "" -#: view/theme/vier/theme.php:171 include/conversation.php:957 +#: view/theme/vier/theme.php:171 include/conversation.php:920 #: mod/follow.php:163 src/Model/Contact.php:960 src/Model/Contact.php:973 #: src/Content/Widget.php:79 msgid "Connect/Follow" @@ -422,7 +422,7 @@ msgstr "" msgid "Manage/edit friends and contacts" msgstr "" -#: view/theme/frio/theme.php:321 include/conversation.php:940 +#: view/theme/frio/theme.php:321 include/conversation.php:903 msgid "Follow Thread" msgstr "" @@ -481,7 +481,7 @@ msgstr "" msgid "%1$s poked %2$s" msgstr "" -#: include/conversation.php:221 src/Model/Item.php:3384 +#: include/conversation.php:221 src/Model/Item.php:3405 msgid "event" msgstr "" @@ -489,7 +489,7 @@ msgstr "" msgid "status" msgstr "" -#: include/conversation.php:229 mod/tagger.php:89 src/Model/Item.php:3386 +#: include/conversation.php:229 mod/tagger.php:89 src/Model/Item.php:3407 msgid "photo" msgstr "" @@ -498,373 +498,391 @@ msgstr "" msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" -#: include/conversation.php:562 mod/photos.php:1488 src/Object/Post.php:227 +#: include/conversation.php:558 mod/photos.php:1488 src/Object/Post.php:229 msgid "Select" msgstr "" -#: include/conversation.php:563 mod/settings.php:560 mod/settings.php:702 +#: include/conversation.php:559 mod/settings.php:560 mod/settings.php:702 #: mod/photos.php:1489 src/Module/Contact.php:842 src/Module/Contact.php:1145 #: src/Module/Admin/Users.php:248 msgid "Delete" msgstr "" -#: include/conversation.php:597 src/Object/Post.php:442 src/Object/Post.php:443 +#: include/conversation.php:589 src/Object/Post.php:434 src/Object/Post.php:435 #, php-format msgid "View %s's profile @ %s" msgstr "" -#: include/conversation.php:610 src/Object/Post.php:430 +#: include/conversation.php:602 src/Object/Post.php:422 msgid "Categories:" msgstr "" -#: include/conversation.php:611 src/Object/Post.php:431 +#: include/conversation.php:603 src/Object/Post.php:423 msgid "Filed under:" msgstr "" -#: include/conversation.php:618 src/Object/Post.php:456 +#: include/conversation.php:610 src/Object/Post.php:448 #, php-format msgid "%s from %s" msgstr "" -#: include/conversation.php:633 +#: include/conversation.php:625 msgid "View in context" msgstr "" -#: include/conversation.php:635 include/conversation.php:1210 +#: include/conversation.php:627 include/conversation.php:1173 #: mod/wallmessage.php:155 mod/message.php:205 mod/message.php:376 -#: mod/editpost.php:104 mod/photos.php:1373 src/Object/Post.php:488 +#: mod/editpost.php:104 mod/photos.php:1373 src/Object/Post.php:480 #: src/Module/Item/Compose.php:159 msgid "Please wait" msgstr "" -#: include/conversation.php:699 +#: include/conversation.php:691 msgid "remove" msgstr "" -#: include/conversation.php:703 +#: include/conversation.php:695 msgid "Delete Selected Items" msgstr "" -#: include/conversation.php:729 include/conversation.php:800 -#: include/conversation.php:1098 include/conversation.php:1141 -#, php-format -msgid "%s reshared this." -msgstr "" - -#: include/conversation.php:741 -#, php-format -msgid "%s commented on this." -msgstr "" - -#: include/conversation.php:746 include/conversation.php:749 -#: include/conversation.php:752 include/conversation.php:755 +#: include/conversation.php:717 include/conversation.php:720 +#: include/conversation.php:723 include/conversation.php:726 #, php-format msgid "You had been addressed (%s)." msgstr "" -#: include/conversation.php:758 +#: include/conversation.php:729 #, php-format msgid "You are following %s." msgstr "" -#: include/conversation.php:761 +#: include/conversation.php:732 msgid "Tagged" msgstr "" -#: include/conversation.php:764 +#: include/conversation.php:742 include/conversation.php:1061 +#: include/conversation.php:1104 +#, php-format +msgid "%s reshared this." +msgstr "" + +#: include/conversation.php:744 msgid "Reshared" msgstr "" -#: include/conversation.php:767 +#: include/conversation.php:744 +#, php-format +msgid "Reshared by %s" +msgstr "" + +#: include/conversation.php:747 #, php-format msgid "%s is participating in this thread." msgstr "" -#: include/conversation.php:770 +#: include/conversation.php:750 msgid "Stored" msgstr "" -#: include/conversation.php:773 include/conversation.php:777 +#: include/conversation.php:753 msgid "Global" msgstr "" -#: include/conversation.php:941 src/Model/Contact.php:965 +#: include/conversation.php:756 +msgid "Relayed" +msgstr "" + +#: include/conversation.php:756 +#, php-format +msgid "Relayed by %s." +msgstr "" + +#: include/conversation.php:759 +msgid "Fetched" +msgstr "" + +#: include/conversation.php:759 +#, php-format +msgid "Fetched because of %s" +msgstr "" + +#: include/conversation.php:904 src/Model/Contact.php:965 msgid "View Status" msgstr "" -#: include/conversation.php:942 include/conversation.php:960 +#: include/conversation.php:905 include/conversation.php:923 #: src/Module/Directory.php:166 src/Module/Settings/Profile/Index.php:240 #: src/Model/Contact.php:891 src/Model/Contact.php:957 #: src/Model/Contact.php:966 msgid "View Profile" msgstr "" -#: include/conversation.php:943 src/Model/Contact.php:967 +#: include/conversation.php:906 src/Model/Contact.php:967 msgid "View Photos" msgstr "" -#: include/conversation.php:944 src/Model/Contact.php:958 +#: include/conversation.php:907 src/Model/Contact.php:958 #: src/Model/Contact.php:968 msgid "Network Posts" msgstr "" -#: include/conversation.php:945 src/Model/Contact.php:959 +#: include/conversation.php:908 src/Model/Contact.php:959 #: src/Model/Contact.php:969 msgid "View Contact" msgstr "" -#: include/conversation.php:946 src/Model/Contact.php:971 +#: include/conversation.php:909 src/Model/Contact.php:971 msgid "Send PM" msgstr "" -#: include/conversation.php:947 src/Module/Contact.php:593 +#: include/conversation.php:910 src/Module/Contact.php:593 #: src/Module/Contact.php:839 src/Module/Contact.php:1120 #: src/Module/Admin/Users.php:249 src/Module/Admin/Blocklist/Contact.php:84 msgid "Block" msgstr "" -#: include/conversation.php:948 src/Module/Notifications/Notification.php:59 +#: include/conversation.php:911 src/Module/Notifications/Notification.php:59 #: src/Module/Notifications/Introductions.php:110 #: src/Module/Notifications/Introductions.php:185 src/Module/Contact.php:594 #: src/Module/Contact.php:840 src/Module/Contact.php:1128 msgid "Ignore" msgstr "" -#: include/conversation.php:952 src/Model/Contact.php:972 +#: include/conversation.php:915 src/Model/Contact.php:972 msgid "Poke" msgstr "" -#: include/conversation.php:1083 +#: include/conversation.php:1046 #, php-format msgid "%s likes this." msgstr "" -#: include/conversation.php:1086 +#: include/conversation.php:1049 #, php-format msgid "%s doesn't like this." msgstr "" -#: include/conversation.php:1089 +#: include/conversation.php:1052 #, php-format msgid "%s attends." msgstr "" -#: include/conversation.php:1092 +#: include/conversation.php:1055 #, php-format msgid "%s doesn't attend." msgstr "" -#: include/conversation.php:1095 +#: include/conversation.php:1058 #, php-format msgid "%s attends maybe." msgstr "" -#: include/conversation.php:1106 +#: include/conversation.php:1069 msgid "and" msgstr "" -#: include/conversation.php:1112 +#: include/conversation.php:1075 #, php-format msgid "and %d other people" msgstr "" -#: include/conversation.php:1120 +#: include/conversation.php:1083 #, php-format msgid "%2$d people like this" msgstr "" -#: include/conversation.php:1121 +#: include/conversation.php:1084 #, php-format msgid "%s like this." msgstr "" -#: include/conversation.php:1124 +#: include/conversation.php:1087 #, php-format msgid "%2$d people don't like this" msgstr "" -#: include/conversation.php:1125 +#: include/conversation.php:1088 #, php-format msgid "%s don't like this." msgstr "" -#: include/conversation.php:1128 +#: include/conversation.php:1091 #, php-format msgid "%2$d people attend" msgstr "" -#: include/conversation.php:1129 +#: include/conversation.php:1092 #, php-format msgid "%s attend." msgstr "" -#: include/conversation.php:1132 +#: include/conversation.php:1095 #, php-format msgid "%2$d people don't attend" msgstr "" -#: include/conversation.php:1133 +#: include/conversation.php:1096 #, php-format msgid "%s don't attend." msgstr "" -#: include/conversation.php:1136 +#: include/conversation.php:1099 #, php-format msgid "%2$d people attend maybe" msgstr "" -#: include/conversation.php:1137 +#: include/conversation.php:1100 #, php-format msgid "%s attend maybe." msgstr "" -#: include/conversation.php:1140 +#: include/conversation.php:1103 #, php-format msgid "%2$d people reshared this" msgstr "" -#: include/conversation.php:1170 +#: include/conversation.php:1133 msgid "Visible to everybody" msgstr "" -#: include/conversation.php:1171 src/Object/Post.php:955 +#: include/conversation.php:1134 src/Object/Post.php:947 #: src/Module/Item/Compose.php:153 msgid "Please enter a image/video/audio/webpage URL:" msgstr "" -#: include/conversation.php:1172 +#: include/conversation.php:1135 msgid "Tag term:" msgstr "" -#: include/conversation.php:1173 src/Module/Filer/SaveTag.php:65 +#: include/conversation.php:1136 src/Module/Filer/SaveTag.php:65 msgid "Save to Folder:" msgstr "" -#: include/conversation.php:1174 +#: include/conversation.php:1137 msgid "Where are you right now?" msgstr "" -#: include/conversation.php:1175 +#: include/conversation.php:1138 msgid "Delete item(s)?" msgstr "" -#: include/conversation.php:1185 +#: include/conversation.php:1148 msgid "New Post" msgstr "" -#: include/conversation.php:1188 +#: include/conversation.php:1151 msgid "Share" msgstr "" -#: include/conversation.php:1189 mod/editpost.php:89 mod/photos.php:1402 -#: src/Object/Post.php:946 src/Module/Contact/Poke.php:155 +#: include/conversation.php:1152 mod/editpost.php:89 mod/photos.php:1402 +#: src/Object/Post.php:938 src/Module/Contact/Poke.php:155 msgid "Loading..." msgstr "" -#: include/conversation.php:1190 mod/wallmessage.php:153 mod/message.php:203 +#: include/conversation.php:1153 mod/wallmessage.php:153 mod/message.php:203 #: mod/message.php:373 mod/editpost.php:90 msgid "Upload photo" msgstr "" -#: include/conversation.php:1191 mod/editpost.php:91 +#: include/conversation.php:1154 mod/editpost.php:91 msgid "upload photo" msgstr "" -#: include/conversation.php:1192 mod/editpost.php:92 +#: include/conversation.php:1155 mod/editpost.php:92 msgid "Attach file" msgstr "" -#: include/conversation.php:1193 mod/editpost.php:93 +#: include/conversation.php:1156 mod/editpost.php:93 msgid "attach file" msgstr "" -#: include/conversation.php:1194 src/Object/Post.php:947 +#: include/conversation.php:1157 src/Object/Post.php:939 #: src/Module/Item/Compose.php:145 msgid "Bold" msgstr "" -#: include/conversation.php:1195 src/Object/Post.php:948 +#: include/conversation.php:1158 src/Object/Post.php:940 #: src/Module/Item/Compose.php:146 msgid "Italic" msgstr "" -#: include/conversation.php:1196 src/Object/Post.php:949 +#: include/conversation.php:1159 src/Object/Post.php:941 #: src/Module/Item/Compose.php:147 msgid "Underline" msgstr "" -#: include/conversation.php:1197 src/Object/Post.php:950 +#: include/conversation.php:1160 src/Object/Post.php:942 #: src/Module/Item/Compose.php:148 msgid "Quote" msgstr "" -#: include/conversation.php:1198 src/Object/Post.php:951 +#: include/conversation.php:1161 src/Object/Post.php:943 #: src/Module/Item/Compose.php:149 msgid "Code" msgstr "" -#: include/conversation.php:1199 src/Object/Post.php:952 +#: include/conversation.php:1162 src/Object/Post.php:944 #: src/Module/Item/Compose.php:150 msgid "Image" msgstr "" -#: include/conversation.php:1200 src/Object/Post.php:953 +#: include/conversation.php:1163 src/Object/Post.php:945 #: src/Module/Item/Compose.php:151 msgid "Link" msgstr "" -#: include/conversation.php:1201 src/Object/Post.php:954 +#: include/conversation.php:1164 src/Object/Post.php:946 #: src/Module/Item/Compose.php:152 msgid "Link or Media" msgstr "" -#: include/conversation.php:1202 mod/editpost.php:100 +#: include/conversation.php:1165 mod/editpost.php:100 #: src/Module/Item/Compose.php:155 msgid "Set your location" msgstr "" -#: include/conversation.php:1203 mod/editpost.php:101 +#: include/conversation.php:1166 mod/editpost.php:101 msgid "set location" msgstr "" -#: include/conversation.php:1204 mod/editpost.php:102 +#: include/conversation.php:1167 mod/editpost.php:102 msgid "Clear browser location" msgstr "" -#: include/conversation.php:1205 mod/editpost.php:103 +#: include/conversation.php:1168 mod/editpost.php:103 msgid "clear location" msgstr "" -#: include/conversation.php:1207 mod/editpost.php:117 +#: include/conversation.php:1170 mod/editpost.php:117 #: src/Module/Item/Compose.php:160 msgid "Set title" msgstr "" -#: include/conversation.php:1209 mod/editpost.php:119 +#: include/conversation.php:1172 mod/editpost.php:119 #: src/Module/Item/Compose.php:161 msgid "Categories (comma-separated list)" msgstr "" -#: include/conversation.php:1211 mod/editpost.php:105 +#: include/conversation.php:1174 mod/editpost.php:105 msgid "Permission settings" msgstr "" -#: include/conversation.php:1212 mod/editpost.php:134 mod/events.php:575 +#: include/conversation.php:1175 mod/editpost.php:134 mod/events.php:575 #: mod/photos.php:977 mod/photos.php:1344 msgid "Permissions" msgstr "" -#: include/conversation.php:1221 mod/editpost.php:114 +#: include/conversation.php:1184 mod/editpost.php:114 msgid "Public post" msgstr "" -#: include/conversation.php:1225 mod/editpost.php:125 mod/events.php:570 +#: include/conversation.php:1188 mod/editpost.php:125 mod/events.php:570 #: mod/photos.php:1401 mod/photos.php:1458 mod/photos.php:1531 -#: src/Object/Post.php:956 src/Module/Item/Compose.php:154 +#: src/Object/Post.php:948 src/Module/Item/Compose.php:154 msgid "Preview" msgstr "" -#: include/conversation.php:1229 mod/settings.php:500 mod/settings.php:526 +#: include/conversation.php:1192 mod/settings.php:500 mod/settings.php:526 #: mod/unfollow.php:137 mod/tagrm.php:36 mod/tagrm.php:126 #: mod/dfrn_request.php:648 mod/editpost.php:128 mod/follow.php:169 #: mod/fbrowser.php:105 mod/fbrowser.php:134 mod/photos.php:1045 @@ -873,16 +891,16 @@ msgstr "" msgid "Cancel" msgstr "" -#: include/conversation.php:1236 mod/editpost.php:132 +#: include/conversation.php:1199 mod/editpost.php:132 #: src/Module/Contact.php:336 src/Model/Profile.php:444 msgid "Message" msgstr "" -#: include/conversation.php:1237 mod/editpost.php:133 +#: include/conversation.php:1200 mod/editpost.php:133 msgid "Browser" msgstr "" -#: include/conversation.php:1239 mod/editpost.php:136 +#: include/conversation.php:1202 mod/editpost.php:136 msgid "Open Compose page" msgstr "" @@ -890,276 +908,276 @@ msgstr "" msgid "[Friendica:Notify]" msgstr "" -#: include/enotify.php:140 +#: include/enotify.php:143 #, php-format msgid "%s New mail received at %s" msgstr "" -#: include/enotify.php:142 +#: include/enotify.php:145 #, php-format msgid "%1$s sent you a new private message at %2$s." msgstr "" -#: include/enotify.php:143 +#: include/enotify.php:146 msgid "a private message" msgstr "" -#: include/enotify.php:143 +#: include/enotify.php:146 #, php-format msgid "%1$s sent you %2$s." msgstr "" -#: include/enotify.php:145 +#: include/enotify.php:148 #, php-format msgid "Please visit %s to view and/or reply to your private messages." msgstr "" -#: include/enotify.php:189 +#: include/enotify.php:192 #, php-format msgid "%1$s replied to you on %2$s's %3$s %4$s" msgstr "" -#: include/enotify.php:191 +#: include/enotify.php:194 #, php-format msgid "%1$s tagged you on %2$s's %3$s %4$s" msgstr "" -#: include/enotify.php:193 +#: include/enotify.php:196 #, php-format msgid "%1$s commented on %2$s's %3$s %4$s" msgstr "" -#: include/enotify.php:203 +#: include/enotify.php:206 #, php-format msgid "%1$s replied to you on your %2$s %3$s" msgstr "" -#: include/enotify.php:205 +#: include/enotify.php:208 #, php-format msgid "%1$s tagged you on your %2$s %3$s" msgstr "" -#: include/enotify.php:207 +#: include/enotify.php:210 #, php-format msgid "%1$s commented on your %2$s %3$s" msgstr "" -#: include/enotify.php:214 +#: include/enotify.php:217 #, php-format msgid "%1$s replied to you on their %2$s %3$s" msgstr "" -#: include/enotify.php:216 +#: include/enotify.php:219 #, php-format msgid "%1$s tagged you on their %2$s %3$s" msgstr "" -#: include/enotify.php:218 +#: include/enotify.php:221 #, php-format msgid "%1$s commented on their %2$s %3$s" msgstr "" -#: include/enotify.php:229 +#: include/enotify.php:232 #, php-format msgid "%s %s tagged you" msgstr "" -#: include/enotify.php:231 +#: include/enotify.php:234 #, php-format msgid "%1$s tagged you at %2$s" msgstr "" -#: include/enotify.php:233 +#: include/enotify.php:236 #, php-format msgid "%1$s Comment to conversation #%2$d by %3$s" msgstr "" -#: include/enotify.php:235 +#: include/enotify.php:238 #, php-format msgid "%s commented on an item/conversation you have been following." msgstr "" -#: include/enotify.php:240 include/enotify.php:255 include/enotify.php:280 -#: include/enotify.php:299 include/enotify.php:315 +#: include/enotify.php:243 include/enotify.php:258 include/enotify.php:283 +#: include/enotify.php:302 include/enotify.php:318 #, php-format msgid "Please visit %s to view and/or reply to the conversation." msgstr "" -#: include/enotify.php:247 +#: include/enotify.php:250 #, php-format msgid "%s %s posted to your profile wall" msgstr "" -#: include/enotify.php:249 +#: include/enotify.php:252 #, php-format msgid "%1$s posted to your profile wall at %2$s" msgstr "" -#: include/enotify.php:250 +#: include/enotify.php:253 #, php-format msgid "%1$s posted to [url=%2$s]your wall[/url]" msgstr "" -#: include/enotify.php:263 +#: include/enotify.php:266 #, php-format msgid "%s %s shared a new post" msgstr "" -#: include/enotify.php:265 +#: include/enotify.php:268 #, php-format msgid "%1$s shared a new post at %2$s" msgstr "" -#: include/enotify.php:266 +#: include/enotify.php:269 #, php-format msgid "%1$s [url=%2$s]shared a post[/url]." msgstr "" -#: include/enotify.php:271 +#: include/enotify.php:274 #, php-format msgid "%s %s shared a post from %s" msgstr "" -#: include/enotify.php:273 +#: include/enotify.php:276 #, php-format msgid "%1$s shared a post from %2$s at %3$s" msgstr "" -#: include/enotify.php:274 +#: include/enotify.php:277 #, php-format msgid "%1$s [url=%2$s]shared a post[/url] from %3$s." msgstr "" -#: include/enotify.php:287 +#: include/enotify.php:290 #, php-format msgid "%1$s %2$s poked you" msgstr "" -#: include/enotify.php:289 +#: include/enotify.php:292 #, php-format msgid "%1$s poked you at %2$s" msgstr "" -#: include/enotify.php:290 +#: include/enotify.php:293 #, php-format msgid "%1$s [url=%2$s]poked you[/url]." msgstr "" -#: include/enotify.php:307 +#: include/enotify.php:310 #, php-format msgid "%s %s tagged your post" msgstr "" -#: include/enotify.php:309 +#: include/enotify.php:312 #, php-format msgid "%1$s tagged your post at %2$s" msgstr "" -#: include/enotify.php:310 +#: include/enotify.php:313 #, php-format msgid "%1$s tagged [url=%2$s]your post[/url]" msgstr "" -#: include/enotify.php:322 +#: include/enotify.php:325 #, php-format msgid "%s Introduction received" msgstr "" -#: include/enotify.php:324 +#: include/enotify.php:327 #, php-format msgid "You've received an introduction from '%1$s' at %2$s" msgstr "" -#: include/enotify.php:325 +#: include/enotify.php:328 #, php-format msgid "You've received [url=%1$s]an introduction[/url] from %2$s." msgstr "" -#: include/enotify.php:330 include/enotify.php:376 +#: include/enotify.php:333 include/enotify.php:379 #, php-format msgid "You may visit their profile at %s" msgstr "" -#: include/enotify.php:332 +#: include/enotify.php:335 #, php-format msgid "Please visit %s to approve or reject the introduction." msgstr "" -#: include/enotify.php:339 +#: include/enotify.php:342 #, php-format msgid "%s A new person is sharing with you" msgstr "" -#: include/enotify.php:341 include/enotify.php:342 +#: include/enotify.php:344 include/enotify.php:345 #, php-format msgid "%1$s is sharing with you at %2$s" msgstr "" -#: include/enotify.php:349 +#: include/enotify.php:352 #, php-format msgid "%s You have a new follower" msgstr "" -#: include/enotify.php:351 include/enotify.php:352 +#: include/enotify.php:354 include/enotify.php:355 #, php-format msgid "You have a new follower at %2$s : %1$s" msgstr "" -#: include/enotify.php:365 +#: include/enotify.php:368 #, php-format msgid "%s Friend suggestion received" msgstr "" -#: include/enotify.php:367 +#: include/enotify.php:370 #, php-format msgid "You've received a friend suggestion from '%1$s' at %2$s" msgstr "" -#: include/enotify.php:368 +#: include/enotify.php:371 #, php-format msgid "You've received [url=%1$s]a friend suggestion[/url] for %2$s from %3$s." msgstr "" -#: include/enotify.php:374 +#: include/enotify.php:377 msgid "Name:" msgstr "" -#: include/enotify.php:375 +#: include/enotify.php:378 msgid "Photo:" msgstr "" -#: include/enotify.php:378 +#: include/enotify.php:381 #, php-format msgid "Please visit %s to approve or reject the suggestion." msgstr "" -#: include/enotify.php:386 include/enotify.php:401 +#: include/enotify.php:389 include/enotify.php:404 #, php-format msgid "%s Connection accepted" msgstr "" -#: include/enotify.php:388 include/enotify.php:403 +#: include/enotify.php:391 include/enotify.php:406 #, php-format msgid "'%1$s' has accepted your connection request at %2$s" msgstr "" -#: include/enotify.php:389 include/enotify.php:404 +#: include/enotify.php:392 include/enotify.php:407 #, php-format msgid "%2$s has accepted your [url=%1$s]connection request[/url]." msgstr "" -#: include/enotify.php:394 +#: include/enotify.php:397 msgid "" "You are now mutual friends and may exchange status updates, photos, and " "email without restriction." msgstr "" -#: include/enotify.php:396 +#: include/enotify.php:399 #, php-format msgid "Please visit %s if you wish to make any changes to this relationship." msgstr "" -#: include/enotify.php:409 +#: include/enotify.php:412 #, php-format msgid "" "'%1$s' has chosen to accept you a fan, which restricts some forms of " @@ -1168,37 +1186,37 @@ msgid "" "automatically." msgstr "" -#: include/enotify.php:411 +#: include/enotify.php:414 #, php-format msgid "" "'%1$s' may choose to extend this into a two-way or more permissive " "relationship in the future." msgstr "" -#: include/enotify.php:413 +#: include/enotify.php:416 #, php-format msgid "Please visit %s if you wish to make any changes to this relationship." msgstr "" -#: include/enotify.php:423 mod/removeme.php:63 +#: include/enotify.php:426 mod/removeme.php:63 msgid "[Friendica System Notify]" msgstr "" -#: include/enotify.php:423 +#: include/enotify.php:426 msgid "registration request" msgstr "" -#: include/enotify.php:425 +#: include/enotify.php:428 #, php-format msgid "You've received a registration request from '%1$s' at %2$s" msgstr "" -#: include/enotify.php:426 +#: include/enotify.php:429 #, php-format msgid "You've received a [url=%1$s]registration request[/url] from %2$s." msgstr "" -#: include/enotify.php:431 +#: include/enotify.php:434 #, php-format msgid "" "Full Name:\t%s\n" @@ -1206,7 +1224,7 @@ msgid "" "Login Name:\t%s (%s)" msgstr "" -#: include/enotify.php:437 +#: include/enotify.php:440 #, php-format msgid "Please visit %s to approve or reject the request." msgstr "" @@ -1424,8 +1442,8 @@ msgstr "" #: mod/videos.php:129 mod/display.php:179 mod/dfrn_request.php:606 #: mod/photos.php:844 src/Module/Debug/WebFinger.php:38 #: src/Module/Debug/Probe.php:39 src/Module/Conversation/Community.php:139 -#: src/Module/Directory.php:49 src/Module/Search/Index.php:49 -#: src/Module/Search/Index.php:54 +#: src/Module/Directory.php:49 src/Module/Search/Index.php:50 +#: src/Module/Search/Index.php:55 msgid "Public access denied." msgstr "" @@ -1437,7 +1455,7 @@ msgstr "" msgid "Access to this item is restricted." msgstr "" -#: mod/videos.php:252 src/Model/Item.php:3576 +#: mod/videos.php:252 src/Model/Item.php:3597 msgid "View Video" msgstr "" @@ -1552,7 +1570,7 @@ msgstr "" #: mod/settings.php:499 mod/settings.php:606 mod/settings.php:704 #: mod/settings.php:839 src/Module/Admin/Themes/Index.php:113 #: src/Module/Admin/Features.php:87 src/Module/Admin/Logs/Settings.php:82 -#: src/Module/Admin/Site.php:589 src/Module/Admin/Tos.php:66 +#: src/Module/Admin/Site.php:583 src/Module/Admin/Tos.php:66 #: src/Module/Admin/Addons/Index.php:69 src/Module/Settings/Delegation.php:170 #: src/Module/Settings/Display.php:185 msgid "Save Settings" @@ -2474,7 +2492,7 @@ msgstr "" msgid "failed" msgstr "" -#: mod/ostatus_subscribe.php:98 src/Object/Post.php:305 +#: mod/ostatus_subscribe.php:98 src/Object/Post.php:304 msgid "ignored" msgstr "" @@ -3143,7 +3161,7 @@ msgid "Basic" msgstr "" #: mod/events.php:574 src/Module/Profile/Profile.php:243 -#: src/Module/Contact.php:909 src/Module/Admin/Site.php:594 +#: src/Module/Contact.php:909 src/Module/Admin/Site.php:588 msgid "Advanced" msgstr "" @@ -3380,22 +3398,22 @@ msgstr "" msgid "Rotate CCW (left)" msgstr "" -#: mod/photos.php:1371 src/Object/Post.php:345 +#: mod/photos.php:1371 src/Object/Post.php:344 msgid "I like this (toggle)" msgstr "" -#: mod/photos.php:1372 src/Object/Post.php:346 +#: mod/photos.php:1372 src/Object/Post.php:345 msgid "I don't like this (toggle)" msgstr "" #: mod/photos.php:1397 mod/photos.php:1454 mod/photos.php:1527 -#: src/Object/Post.php:942 src/Module/Contact.php:1051 +#: src/Object/Post.php:934 src/Module/Contact.php:1051 #: src/Module/Item/Compose.php:142 msgid "This is you" msgstr "" #: mod/photos.php:1399 mod/photos.php:1456 mod/photos.php:1529 -#: src/Object/Post.php:482 src/Object/Post.php:944 +#: src/Object/Post.php:474 src/Object/Post.php:936 msgid "Comment" msgstr "" @@ -4148,168 +4166,168 @@ msgstr "" msgid "Remove locally" msgstr "" -#: src/Object/Post.php:235 +#: src/Object/Post.php:234 msgid "save to folder" msgstr "" -#: src/Object/Post.php:270 +#: src/Object/Post.php:269 msgid "I will attend" msgstr "" -#: src/Object/Post.php:270 +#: src/Object/Post.php:269 msgid "I will not attend" msgstr "" -#: src/Object/Post.php:270 +#: src/Object/Post.php:269 msgid "I might attend" msgstr "" -#: src/Object/Post.php:300 +#: src/Object/Post.php:299 msgid "ignore thread" msgstr "" -#: src/Object/Post.php:301 +#: src/Object/Post.php:300 msgid "unignore thread" msgstr "" -#: src/Object/Post.php:302 +#: src/Object/Post.php:301 msgid "toggle ignore status" msgstr "" -#: src/Object/Post.php:314 +#: src/Object/Post.php:313 msgid "pin" msgstr "" -#: src/Object/Post.php:315 +#: src/Object/Post.php:314 msgid "unpin" msgstr "" -#: src/Object/Post.php:316 +#: src/Object/Post.php:315 msgid "toggle pin status" msgstr "" -#: src/Object/Post.php:319 +#: src/Object/Post.php:318 msgid "pinned" msgstr "" -#: src/Object/Post.php:326 +#: src/Object/Post.php:325 msgid "add star" msgstr "" -#: src/Object/Post.php:327 +#: src/Object/Post.php:326 msgid "remove star" msgstr "" -#: src/Object/Post.php:328 +#: src/Object/Post.php:327 msgid "toggle star status" msgstr "" -#: src/Object/Post.php:331 +#: src/Object/Post.php:330 msgid "starred" msgstr "" -#: src/Object/Post.php:335 +#: src/Object/Post.php:334 msgid "add tag" msgstr "" -#: src/Object/Post.php:345 +#: src/Object/Post.php:344 msgid "like" msgstr "" -#: src/Object/Post.php:346 +#: src/Object/Post.php:345 msgid "dislike" msgstr "" -#: src/Object/Post.php:348 +#: src/Object/Post.php:347 msgid "Share this" msgstr "" -#: src/Object/Post.php:348 +#: src/Object/Post.php:347 msgid "share" msgstr "" -#: src/Object/Post.php:400 +#: src/Object/Post.php:392 #, php-format msgid "%s (Received %s)" msgstr "" -#: src/Object/Post.php:405 +#: src/Object/Post.php:397 msgid "Comment this item on your system" msgstr "" -#: src/Object/Post.php:405 +#: src/Object/Post.php:397 msgid "remote comment" msgstr "" -#: src/Object/Post.php:417 +#: src/Object/Post.php:409 msgid "Pushed" msgstr "" -#: src/Object/Post.php:417 +#: src/Object/Post.php:409 msgid "Pulled" msgstr "" -#: src/Object/Post.php:444 +#: src/Object/Post.php:436 msgid "to" msgstr "" -#: src/Object/Post.php:445 +#: src/Object/Post.php:437 msgid "via" msgstr "" -#: src/Object/Post.php:446 +#: src/Object/Post.php:438 msgid "Wall-to-Wall" msgstr "" -#: src/Object/Post.php:447 +#: src/Object/Post.php:439 msgid "via Wall-To-Wall:" msgstr "" -#: src/Object/Post.php:483 +#: src/Object/Post.php:475 #, php-format msgid "Reply to %s" msgstr "" -#: src/Object/Post.php:486 +#: src/Object/Post.php:478 msgid "More" msgstr "" -#: src/Object/Post.php:504 +#: src/Object/Post.php:496 msgid "Notifier task is pending" msgstr "" -#: src/Object/Post.php:505 +#: src/Object/Post.php:497 msgid "Delivery to remote servers is pending" msgstr "" -#: src/Object/Post.php:506 +#: src/Object/Post.php:498 msgid "Delivery to remote servers is underway" msgstr "" -#: src/Object/Post.php:507 +#: src/Object/Post.php:499 msgid "Delivery to remote servers is mostly done" msgstr "" -#: src/Object/Post.php:508 +#: src/Object/Post.php:500 msgid "Delivery to remote servers is done" msgstr "" -#: src/Object/Post.php:528 +#: src/Object/Post.php:520 #, php-format msgid "%d comment" msgid_plural "%d comments" msgstr[0] "" msgstr[1] "" -#: src/Object/Post.php:529 +#: src/Object/Post.php:521 msgid "Show more" msgstr "" -#: src/Object/Post.php:530 +#: src/Object/Post.php:522 msgid "Show fewer" msgstr "" -#: src/Object/Post.php:541 src/Model/Item.php:3390 +#: src/Object/Post.php:533 src/Model/Item.php:3411 msgid "comment" msgid_plural "comments" msgstr[0] "" @@ -5041,19 +5059,19 @@ msgstr "" #: src/Module/Profile/Status.php:61 src/Module/Profile/Status.php:64 #: src/Module/Profile/Profile.php:320 src/Module/Profile/Profile.php:323 -#: src/Protocol/OStatus.php:1269 src/Protocol/Feed.php:892 +#: src/Protocol/OStatus.php:1269 src/Protocol/Feed.php:913 #, php-format msgid "%s's timeline" msgstr "" #: src/Module/Profile/Status.php:62 src/Module/Profile/Profile.php:321 -#: src/Protocol/OStatus.php:1273 src/Protocol/Feed.php:896 +#: src/Protocol/OStatus.php:1273 src/Protocol/Feed.php:917 #, php-format msgid "%s's posts" msgstr "" #: src/Module/Profile/Status.php:63 src/Module/Profile/Profile.php:322 -#: src/Protocol/OStatus.php:1276 src/Protocol/Feed.php:899 +#: src/Protocol/OStatus.php:1276 src/Protocol/Feed.php:920 #, php-format msgid "%s's comments" msgstr "" @@ -5198,7 +5216,7 @@ msgstr "" msgid "Your invitation code: " msgstr "" -#: src/Module/Register.php:139 src/Module/Admin/Site.php:591 +#: src/Module/Register.php:139 src/Module/Admin/Site.php:585 msgid "Registration" msgstr "" @@ -5423,11 +5441,11 @@ msgstr "" msgid "Base settings" msgstr "" -#: src/Module/Install.php:210 src/Module/Admin/Site.php:615 +#: src/Module/Install.php:210 src/Module/Admin/Site.php:609 msgid "SSL link policy" msgstr "" -#: src/Module/Install.php:212 src/Module/Admin/Site.php:615 +#: src/Module/Install.php:212 src/Module/Admin/Site.php:609 msgid "Determines whether generated links should be forced to use SSL" msgstr "" @@ -5621,7 +5639,8 @@ msgstr "" msgid "Posts from users of the whole federated network" msgstr "" -#: src/Module/Conversation/Community.php:84 src/Module/Search/Index.php:179 +#: src/Module/Conversation/Community.php:84 src/Module/Search/Index.php:139 +#: src/Module/Search/Index.php:176 msgid "No results." msgstr "" @@ -5847,7 +5866,7 @@ msgstr "" msgid "Configuration" msgstr "" -#: src/Module/BaseAdmin.php:90 src/Module/Admin/Site.php:588 +#: src/Module/BaseAdmin.php:90 src/Module/Admin/Site.php:582 msgid "Site" msgstr "" @@ -6066,8 +6085,8 @@ msgid "" "are taken from the meta header in the feed item and are posted as hash tags." msgstr "" -#: src/Module/Contact.php:544 src/Module/Admin/Site.php:693 -#: src/Module/Admin/Site.php:703 src/Module/Settings/TwoFactor/Index.php:113 +#: src/Module/Contact.php:544 src/Module/Admin/Site.php:687 +#: src/Module/Admin/Site.php:697 src/Module/Settings/TwoFactor/Index.php:113 msgid "Disabled" msgstr "" @@ -6251,7 +6270,7 @@ msgstr "" msgid "Search your contacts" msgstr "" -#: src/Module/Contact.php:831 src/Module/Search/Index.php:186 +#: src/Module/Contact.php:831 src/Module/Search/Index.php:183 #, php-format msgid "Results for: %s" msgstr "" @@ -6520,7 +6539,7 @@ msgstr "" #: src/Module/Admin/Themes/Details.php:90 src/Module/Admin/Themes/Index.php:111 #: src/Module/Admin/Users.php:237 src/Module/Admin/Queue.php:72 #: src/Module/Admin/Federation.php:140 src/Module/Admin/Logs/View.php:64 -#: src/Module/Admin/Logs/Settings.php:80 src/Module/Admin/Site.php:587 +#: src/Module/Admin/Logs/Settings.php:80 src/Module/Admin/Site.php:581 #: src/Module/Admin/Summary.php:230 src/Module/Admin/Tos.php:58 #: src/Module/Admin/Blocklist/Server.php:88 #: src/Module/Admin/Blocklist/Contact.php:78 @@ -7010,162 +7029,162 @@ msgstr "" msgid "Interactors" msgstr "" -#: src/Module/Admin/Site.php:557 +#: src/Module/Admin/Site.php:551 msgid "Database (legacy)" msgstr "" -#: src/Module/Admin/Site.php:590 +#: src/Module/Admin/Site.php:584 msgid "Republish users to directory" msgstr "" -#: src/Module/Admin/Site.php:592 +#: src/Module/Admin/Site.php:586 msgid "File upload" msgstr "" -#: src/Module/Admin/Site.php:593 +#: src/Module/Admin/Site.php:587 msgid "Policies" msgstr "" -#: src/Module/Admin/Site.php:595 +#: src/Module/Admin/Site.php:589 msgid "Auto Discovered Contact Directory" msgstr "" -#: src/Module/Admin/Site.php:596 +#: src/Module/Admin/Site.php:590 msgid "Performance" msgstr "" -#: src/Module/Admin/Site.php:597 +#: src/Module/Admin/Site.php:591 msgid "Worker" msgstr "" -#: src/Module/Admin/Site.php:598 +#: src/Module/Admin/Site.php:592 msgid "Message Relay" msgstr "" -#: src/Module/Admin/Site.php:599 +#: src/Module/Admin/Site.php:593 msgid "Relocate Instance" msgstr "" -#: src/Module/Admin/Site.php:600 +#: src/Module/Admin/Site.php:594 msgid "" "Warning! Advanced function. Could make this server " "unreachable." msgstr "" -#: src/Module/Admin/Site.php:604 +#: src/Module/Admin/Site.php:598 msgid "Site name" msgstr "" -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:599 msgid "Sender Email" msgstr "" -#: src/Module/Admin/Site.php:605 +#: src/Module/Admin/Site.php:599 msgid "" "The email address your server shall use to send notification emails from." msgstr "" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:600 msgid "Name of the system actor" msgstr "" -#: src/Module/Admin/Site.php:606 +#: src/Module/Admin/Site.php:600 msgid "" "Name of the internal system account that is used to perform ActivityPub " "requests. This must be an unused username. If set, this can't be changed " "again." msgstr "" -#: src/Module/Admin/Site.php:607 +#: src/Module/Admin/Site.php:601 msgid "Banner/Logo" msgstr "" -#: src/Module/Admin/Site.php:608 +#: src/Module/Admin/Site.php:602 msgid "Email Banner/Logo" msgstr "" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:603 msgid "Shortcut icon" msgstr "" -#: src/Module/Admin/Site.php:609 +#: src/Module/Admin/Site.php:603 msgid "Link to an icon that will be used for browsers." msgstr "" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:604 msgid "Touch icon" msgstr "" -#: src/Module/Admin/Site.php:610 +#: src/Module/Admin/Site.php:604 msgid "Link to an icon that will be used for tablets and mobiles." msgstr "" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:605 msgid "Additional Info" msgstr "" -#: src/Module/Admin/Site.php:611 +#: src/Module/Admin/Site.php:605 #, php-format msgid "" "For public servers: you can add additional information here that will be " "listed at %s/servers." msgstr "" -#: src/Module/Admin/Site.php:612 +#: src/Module/Admin/Site.php:606 msgid "System language" msgstr "" -#: src/Module/Admin/Site.php:613 +#: src/Module/Admin/Site.php:607 msgid "System theme" msgstr "" -#: src/Module/Admin/Site.php:613 +#: src/Module/Admin/Site.php:607 msgid "" "Default system theme - may be over-ridden by user profiles - Change default theme settings" msgstr "" -#: src/Module/Admin/Site.php:614 +#: src/Module/Admin/Site.php:608 msgid "Mobile system theme" msgstr "" -#: src/Module/Admin/Site.php:614 +#: src/Module/Admin/Site.php:608 msgid "Theme for mobile devices" msgstr "" -#: src/Module/Admin/Site.php:616 +#: src/Module/Admin/Site.php:610 msgid "Force SSL" msgstr "" -#: src/Module/Admin/Site.php:616 +#: src/Module/Admin/Site.php:610 msgid "" "Force all Non-SSL requests to SSL - Attention: on some systems it could lead " "to endless loops." msgstr "" -#: src/Module/Admin/Site.php:617 +#: src/Module/Admin/Site.php:611 msgid "Hide help entry from navigation menu" msgstr "" -#: src/Module/Admin/Site.php:617 +#: src/Module/Admin/Site.php:611 msgid "" "Hides the menu entry for the Help pages from the navigation menu. You can " "still access it calling /help directly." msgstr "" -#: src/Module/Admin/Site.php:618 +#: src/Module/Admin/Site.php:612 msgid "Single user instance" msgstr "" -#: src/Module/Admin/Site.php:618 +#: src/Module/Admin/Site.php:612 msgid "Make this instance multi-user or single-user for the named user" msgstr "" -#: src/Module/Admin/Site.php:620 +#: src/Module/Admin/Site.php:614 msgid "File storage backend" msgstr "" -#: src/Module/Admin/Site.php:620 +#: src/Module/Admin/Site.php:614 msgid "" "The backend used to store uploaded data. If you change the storage backend, " "you can manually move the existing files. If you do not do so, the files " @@ -7174,201 +7193,201 @@ msgid "" "for more information about the choices and the moving procedure." msgstr "" -#: src/Module/Admin/Site.php:622 +#: src/Module/Admin/Site.php:616 msgid "Maximum image size" msgstr "" -#: src/Module/Admin/Site.php:622 +#: src/Module/Admin/Site.php:616 msgid "" "Maximum size in bytes of uploaded images. Default is 0, which means no " "limits." msgstr "" -#: src/Module/Admin/Site.php:623 +#: src/Module/Admin/Site.php:617 msgid "Maximum image length" msgstr "" -#: src/Module/Admin/Site.php:623 +#: src/Module/Admin/Site.php:617 msgid "" "Maximum length in pixels of the longest side of uploaded images. Default is " "-1, which means no limits." msgstr "" -#: src/Module/Admin/Site.php:624 +#: src/Module/Admin/Site.php:618 msgid "JPEG image quality" msgstr "" -#: src/Module/Admin/Site.php:624 +#: src/Module/Admin/Site.php:618 msgid "" "Uploaded JPEGS will be saved at this quality setting [0-100]. Default is " "100, which is full quality." msgstr "" -#: src/Module/Admin/Site.php:626 +#: src/Module/Admin/Site.php:620 msgid "Register policy" msgstr "" -#: src/Module/Admin/Site.php:627 +#: src/Module/Admin/Site.php:621 msgid "Maximum Daily Registrations" msgstr "" -#: src/Module/Admin/Site.php:627 +#: src/Module/Admin/Site.php:621 msgid "" "If registration is permitted above, this sets the maximum number of new user " "registrations to accept per day. If register is set to closed, this setting " "has no effect." msgstr "" -#: src/Module/Admin/Site.php:628 +#: src/Module/Admin/Site.php:622 msgid "Register text" msgstr "" -#: src/Module/Admin/Site.php:628 +#: src/Module/Admin/Site.php:622 msgid "" "Will be displayed prominently on the registration page. You can use BBCode " "here." msgstr "" -#: src/Module/Admin/Site.php:629 +#: src/Module/Admin/Site.php:623 msgid "Forbidden Nicknames" msgstr "" -#: src/Module/Admin/Site.php:629 +#: src/Module/Admin/Site.php:623 msgid "" "Comma separated list of nicknames that are forbidden from registration. " "Preset is a list of role names according RFC 2142." msgstr "" -#: src/Module/Admin/Site.php:630 +#: src/Module/Admin/Site.php:624 msgid "Accounts abandoned after x days" msgstr "" -#: src/Module/Admin/Site.php:630 +#: src/Module/Admin/Site.php:624 msgid "" "Will not waste system resources polling external sites for abandonded " "accounts. Enter 0 for no time limit." msgstr "" -#: src/Module/Admin/Site.php:631 +#: src/Module/Admin/Site.php:625 msgid "Allowed friend domains" msgstr "" -#: src/Module/Admin/Site.php:631 +#: src/Module/Admin/Site.php:625 msgid "" "Comma separated list of domains which are allowed to establish friendships " "with this site. Wildcards are accepted. Empty to allow any domains" msgstr "" -#: src/Module/Admin/Site.php:632 +#: src/Module/Admin/Site.php:626 msgid "Allowed email domains" msgstr "" -#: src/Module/Admin/Site.php:632 +#: src/Module/Admin/Site.php:626 msgid "" "Comma separated list of domains which are allowed in email addresses for " "registrations to this site. Wildcards are accepted. Empty to allow any " "domains" msgstr "" -#: src/Module/Admin/Site.php:633 +#: src/Module/Admin/Site.php:627 msgid "No OEmbed rich content" msgstr "" -#: src/Module/Admin/Site.php:633 +#: src/Module/Admin/Site.php:627 msgid "" "Don't show the rich content (e.g. embedded PDF), except from the domains " "listed below." msgstr "" -#: src/Module/Admin/Site.php:634 +#: src/Module/Admin/Site.php:628 msgid "Allowed OEmbed domains" msgstr "" -#: src/Module/Admin/Site.php:634 +#: src/Module/Admin/Site.php:628 msgid "" "Comma separated list of domains which oembed content is allowed to be " "displayed. Wildcards are accepted." msgstr "" -#: src/Module/Admin/Site.php:635 +#: src/Module/Admin/Site.php:629 msgid "Block public" msgstr "" -#: src/Module/Admin/Site.php:635 +#: src/Module/Admin/Site.php:629 msgid "" "Check to block public access to all otherwise public personal pages on this " "site unless you are currently logged in." msgstr "" -#: src/Module/Admin/Site.php:636 +#: src/Module/Admin/Site.php:630 msgid "Force publish" msgstr "" -#: src/Module/Admin/Site.php:636 +#: src/Module/Admin/Site.php:630 msgid "" "Check to force all profiles on this site to be listed in the site directory." msgstr "" -#: src/Module/Admin/Site.php:636 +#: src/Module/Admin/Site.php:630 msgid "Enabling this may violate privacy laws like the GDPR" msgstr "" -#: src/Module/Admin/Site.php:637 +#: src/Module/Admin/Site.php:631 msgid "Global directory URL" msgstr "" -#: src/Module/Admin/Site.php:637 +#: src/Module/Admin/Site.php:631 msgid "" "URL to the global directory. If this is not set, the global directory is " "completely unavailable to the application." msgstr "" -#: src/Module/Admin/Site.php:638 +#: src/Module/Admin/Site.php:632 msgid "Private posts by default for new users" msgstr "" -#: src/Module/Admin/Site.php:638 +#: src/Module/Admin/Site.php:632 msgid "" "Set default post permissions for all new members to the default privacy " "group rather than public." msgstr "" -#: src/Module/Admin/Site.php:639 +#: src/Module/Admin/Site.php:633 msgid "Don't include post content in email notifications" msgstr "" -#: src/Module/Admin/Site.php:639 +#: src/Module/Admin/Site.php:633 msgid "" "Don't include the content of a post/comment/private message/etc. in the " "email notifications that are sent out from this site, as a privacy measure." msgstr "" -#: src/Module/Admin/Site.php:640 +#: src/Module/Admin/Site.php:634 msgid "Disallow public access to addons listed in the apps menu." msgstr "" -#: src/Module/Admin/Site.php:640 +#: src/Module/Admin/Site.php:634 msgid "" "Checking this box will restrict addons listed in the apps menu to members " "only." msgstr "" -#: src/Module/Admin/Site.php:641 +#: src/Module/Admin/Site.php:635 msgid "Don't embed private images in posts" msgstr "" -#: src/Module/Admin/Site.php:641 +#: src/Module/Admin/Site.php:635 msgid "" "Don't replace locally-hosted private photos in posts with an embedded copy " "of the image. This means that contacts who receive posts containing private " "photos will have to authenticate and load each image, which may take a while." msgstr "" -#: src/Module/Admin/Site.php:642 +#: src/Module/Admin/Site.php:636 msgid "Explicit Content" msgstr "" -#: src/Module/Admin/Site.php:642 +#: src/Module/Admin/Site.php:636 msgid "" "Set this to announce that your node is used mostly for explicit content that " "might not be suited for minors. This information will be published in the " @@ -7377,234 +7396,234 @@ msgid "" "will be shown at the user registration page." msgstr "" -#: src/Module/Admin/Site.php:643 +#: src/Module/Admin/Site.php:637 msgid "Allow Users to set remote_self" msgstr "" -#: src/Module/Admin/Site.php:643 +#: src/Module/Admin/Site.php:637 msgid "" "With checking this, every user is allowed to mark every contact as a " "remote_self in the repair contact dialog. Setting this flag on a contact " "causes mirroring every posting of that contact in the users stream." msgstr "" -#: src/Module/Admin/Site.php:644 +#: src/Module/Admin/Site.php:638 msgid "Block multiple registrations" msgstr "" -#: src/Module/Admin/Site.php:644 +#: src/Module/Admin/Site.php:638 msgid "Disallow users to register additional accounts for use as pages." msgstr "" -#: src/Module/Admin/Site.php:645 +#: src/Module/Admin/Site.php:639 msgid "Disable OpenID" msgstr "" -#: src/Module/Admin/Site.php:645 +#: src/Module/Admin/Site.php:639 msgid "Disable OpenID support for registration and logins." msgstr "" -#: src/Module/Admin/Site.php:646 +#: src/Module/Admin/Site.php:640 msgid "No Fullname check" msgstr "" -#: src/Module/Admin/Site.php:646 +#: src/Module/Admin/Site.php:640 msgid "" "Allow users to register without a space between the first name and the last " "name in their full name." msgstr "" -#: src/Module/Admin/Site.php:647 +#: src/Module/Admin/Site.php:641 msgid "Community pages for visitors" msgstr "" -#: src/Module/Admin/Site.php:647 +#: src/Module/Admin/Site.php:641 msgid "" "Which community pages should be available for visitors. Local users always " "see both pages." msgstr "" -#: src/Module/Admin/Site.php:648 +#: src/Module/Admin/Site.php:642 msgid "Posts per user on community page" msgstr "" -#: src/Module/Admin/Site.php:648 +#: src/Module/Admin/Site.php:642 msgid "" "The maximum number of posts per user on the community page. (Not valid for " "\"Global Community\")" msgstr "" -#: src/Module/Admin/Site.php:649 +#: src/Module/Admin/Site.php:643 msgid "Disable OStatus support" msgstr "" -#: src/Module/Admin/Site.php:649 +#: src/Module/Admin/Site.php:643 msgid "" "Disable built-in OStatus (StatusNet, GNU Social etc.) compatibility. All " "communications in OStatus are public, so privacy warnings will be " "occasionally displayed." msgstr "" -#: src/Module/Admin/Site.php:650 +#: src/Module/Admin/Site.php:644 msgid "OStatus support can only be enabled if threading is enabled." msgstr "" -#: src/Module/Admin/Site.php:652 +#: src/Module/Admin/Site.php:646 msgid "" "Diaspora support can't be enabled because Friendica was installed into a sub " "directory." msgstr "" -#: src/Module/Admin/Site.php:653 +#: src/Module/Admin/Site.php:647 msgid "Enable Diaspora support" msgstr "" -#: src/Module/Admin/Site.php:653 +#: src/Module/Admin/Site.php:647 msgid "Provide built-in Diaspora network compatibility." msgstr "" -#: src/Module/Admin/Site.php:654 +#: src/Module/Admin/Site.php:648 msgid "Only allow Friendica contacts" msgstr "" -#: src/Module/Admin/Site.php:654 +#: src/Module/Admin/Site.php:648 msgid "" "All contacts must use Friendica protocols. All other built-in communication " "protocols disabled." msgstr "" -#: src/Module/Admin/Site.php:655 +#: src/Module/Admin/Site.php:649 msgid "Verify SSL" msgstr "" -#: src/Module/Admin/Site.php:655 +#: src/Module/Admin/Site.php:649 msgid "" "If you wish, you can turn on strict certificate checking. This will mean you " "cannot connect (at all) to self-signed SSL sites." msgstr "" -#: src/Module/Admin/Site.php:656 +#: src/Module/Admin/Site.php:650 msgid "Proxy user" msgstr "" -#: src/Module/Admin/Site.php:657 +#: src/Module/Admin/Site.php:651 msgid "Proxy URL" msgstr "" -#: src/Module/Admin/Site.php:658 +#: src/Module/Admin/Site.php:652 msgid "Network timeout" msgstr "" -#: src/Module/Admin/Site.php:658 +#: src/Module/Admin/Site.php:652 msgid "Value is in seconds. Set to 0 for unlimited (not recommended)." msgstr "" -#: src/Module/Admin/Site.php:659 +#: src/Module/Admin/Site.php:653 msgid "Maximum Load Average" msgstr "" -#: src/Module/Admin/Site.php:659 +#: src/Module/Admin/Site.php:653 #, php-format msgid "" "Maximum system load before delivery and poll processes are deferred - " "default %d." msgstr "" -#: src/Module/Admin/Site.php:660 +#: src/Module/Admin/Site.php:654 msgid "Maximum Load Average (Frontend)" msgstr "" -#: src/Module/Admin/Site.php:660 +#: src/Module/Admin/Site.php:654 msgid "Maximum system load before the frontend quits service - default 50." msgstr "" -#: src/Module/Admin/Site.php:661 +#: src/Module/Admin/Site.php:655 msgid "Minimal Memory" msgstr "" -#: src/Module/Admin/Site.php:661 +#: src/Module/Admin/Site.php:655 msgid "" "Minimal free memory in MB for the worker. Needs access to /proc/meminfo - " "default 0 (deactivated)." msgstr "" -#: src/Module/Admin/Site.php:662 +#: src/Module/Admin/Site.php:656 msgid "Periodically optimize tables" msgstr "" -#: src/Module/Admin/Site.php:662 +#: src/Module/Admin/Site.php:656 msgid "Periodically optimize tables like the cache and the workerqueue" msgstr "" -#: src/Module/Admin/Site.php:664 +#: src/Module/Admin/Site.php:658 msgid "Discover followers/followings from contacts" msgstr "" -#: src/Module/Admin/Site.php:664 +#: src/Module/Admin/Site.php:658 msgid "" "If enabled, contacts are checked for their followers and following contacts." msgstr "" -#: src/Module/Admin/Site.php:665 +#: src/Module/Admin/Site.php:659 msgid "None - deactivated" msgstr "" -#: src/Module/Admin/Site.php:666 +#: src/Module/Admin/Site.php:660 msgid "" "Local contacts - contacts of our local contacts are discovered for their " "followers/followings." msgstr "" -#: src/Module/Admin/Site.php:667 +#: src/Module/Admin/Site.php:661 msgid "" "Interactors - contacts of our local contacts and contacts who interacted on " "locally visible postings are discovered for their followers/followings." msgstr "" -#: src/Module/Admin/Site.php:669 +#: src/Module/Admin/Site.php:663 msgid "Synchronize the contacts with the directory server" msgstr "" -#: src/Module/Admin/Site.php:669 +#: src/Module/Admin/Site.php:663 msgid "" "if enabled, the system will check periodically for new contacts on the " "defined directory server." msgstr "" -#: src/Module/Admin/Site.php:671 +#: src/Module/Admin/Site.php:665 msgid "Days between requery" msgstr "" -#: src/Module/Admin/Site.php:671 +#: src/Module/Admin/Site.php:665 msgid "Number of days after which a server is requeried for his contacts." msgstr "" -#: src/Module/Admin/Site.php:672 +#: src/Module/Admin/Site.php:666 msgid "Discover contacts from other servers" msgstr "" -#: src/Module/Admin/Site.php:672 +#: src/Module/Admin/Site.php:666 msgid "" "Periodically query other servers for contacts. The system queries Friendica, " "Mastodon and Hubzilla servers." msgstr "" -#: src/Module/Admin/Site.php:673 +#: src/Module/Admin/Site.php:667 msgid "Search the local directory" msgstr "" -#: src/Module/Admin/Site.php:673 +#: src/Module/Admin/Site.php:667 msgid "" "Search the local directory instead of the global directory. When searching " "locally, every search will be executed on the global directory in the " "background. This improves the search results when the search is repeated." msgstr "" -#: src/Module/Admin/Site.php:675 +#: src/Module/Admin/Site.php:669 msgid "Publish server information" msgstr "" -#: src/Module/Admin/Site.php:675 +#: src/Module/Admin/Site.php:669 msgid "" "If enabled, general server and usage data will be published. The data " "contains the name and version of the server, number of users with public " @@ -7612,50 +7631,50 @@ msgid "" "href=\"http://the-federation.info/\">the-federation.info for details." msgstr "" -#: src/Module/Admin/Site.php:677 +#: src/Module/Admin/Site.php:671 msgid "Check upstream version" msgstr "" -#: src/Module/Admin/Site.php:677 +#: src/Module/Admin/Site.php:671 msgid "" "Enables checking for new Friendica versions at github. If there is a new " "version, you will be informed in the admin panel overview." msgstr "" -#: src/Module/Admin/Site.php:678 +#: src/Module/Admin/Site.php:672 msgid "Suppress Tags" msgstr "" -#: src/Module/Admin/Site.php:678 +#: src/Module/Admin/Site.php:672 msgid "Suppress showing a list of hashtags at the end of the posting." msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:673 msgid "Clean database" msgstr "" -#: src/Module/Admin/Site.php:679 +#: src/Module/Admin/Site.php:673 msgid "" "Remove old remote items, orphaned database records and old content from some " "other helper tables." msgstr "" -#: src/Module/Admin/Site.php:680 +#: src/Module/Admin/Site.php:674 msgid "Lifespan of remote items" msgstr "" -#: src/Module/Admin/Site.php:680 +#: src/Module/Admin/Site.php:674 msgid "" "When the database cleanup is enabled, this defines the days after which " "remote items will be deleted. Own items, and marked or filed items are " "always kept. 0 disables this behaviour." msgstr "" -#: src/Module/Admin/Site.php:681 +#: src/Module/Admin/Site.php:675 msgid "Lifespan of unclaimed items" msgstr "" -#: src/Module/Admin/Site.php:681 +#: src/Module/Admin/Site.php:675 msgid "" "When the database cleanup is enabled, this defines the days after which " "unclaimed remote items (mostly content from the relay) will be deleted. " @@ -7663,140 +7682,140 @@ msgid "" "items if set to 0." msgstr "" -#: src/Module/Admin/Site.php:682 +#: src/Module/Admin/Site.php:676 msgid "Lifespan of raw conversation data" msgstr "" -#: src/Module/Admin/Site.php:682 +#: src/Module/Admin/Site.php:676 msgid "" "The conversation data is used for ActivityPub and OStatus, as well as for " "debug purposes. It should be safe to remove it after 14 days, default is 90 " "days." msgstr "" -#: src/Module/Admin/Site.php:683 +#: src/Module/Admin/Site.php:677 msgid "Path to item cache" msgstr "" -#: src/Module/Admin/Site.php:683 +#: src/Module/Admin/Site.php:677 msgid "The item caches buffers generated bbcode and external images." msgstr "" -#: src/Module/Admin/Site.php:684 +#: src/Module/Admin/Site.php:678 msgid "Cache duration in seconds" msgstr "" -#: src/Module/Admin/Site.php:684 +#: src/Module/Admin/Site.php:678 msgid "" "How long should the cache files be hold? Default value is 86400 seconds (One " "day). To disable the item cache, set the value to -1." msgstr "" -#: src/Module/Admin/Site.php:685 +#: src/Module/Admin/Site.php:679 msgid "Maximum numbers of comments per post" msgstr "" -#: src/Module/Admin/Site.php:685 +#: src/Module/Admin/Site.php:679 msgid "How much comments should be shown for each post? Default value is 100." msgstr "" -#: src/Module/Admin/Site.php:686 +#: src/Module/Admin/Site.php:680 msgid "Maximum numbers of comments per post on the display page" msgstr "" -#: src/Module/Admin/Site.php:686 +#: src/Module/Admin/Site.php:680 msgid "" "How many comments should be shown on the single view for each post? Default " "value is 1000." msgstr "" -#: src/Module/Admin/Site.php:687 +#: src/Module/Admin/Site.php:681 msgid "Temp path" msgstr "" -#: src/Module/Admin/Site.php:687 +#: src/Module/Admin/Site.php:681 msgid "" "If you have a restricted system where the webserver can't access the system " "temp path, enter another path here." msgstr "" -#: src/Module/Admin/Site.php:688 +#: src/Module/Admin/Site.php:682 msgid "Disable picture proxy" msgstr "" -#: src/Module/Admin/Site.php:688 +#: src/Module/Admin/Site.php:682 msgid "" "The picture proxy increases performance and privacy. It shouldn't be used on " "systems with very low bandwidth." msgstr "" -#: src/Module/Admin/Site.php:689 +#: src/Module/Admin/Site.php:683 msgid "Only search in tags" msgstr "" -#: src/Module/Admin/Site.php:689 +#: src/Module/Admin/Site.php:683 msgid "On large systems the text search can slow down the system extremely." msgstr "" -#: src/Module/Admin/Site.php:691 +#: src/Module/Admin/Site.php:685 msgid "New base url" msgstr "" -#: src/Module/Admin/Site.php:691 +#: src/Module/Admin/Site.php:685 msgid "" "Change base url for this server. Sends relocate message to all Friendica and " "Diaspora* contacts of all users." msgstr "" -#: src/Module/Admin/Site.php:693 +#: src/Module/Admin/Site.php:687 msgid "RINO Encryption" msgstr "" -#: src/Module/Admin/Site.php:693 +#: src/Module/Admin/Site.php:687 msgid "Encryption layer between nodes." msgstr "" -#: src/Module/Admin/Site.php:693 +#: src/Module/Admin/Site.php:687 msgid "Enabled" msgstr "" -#: src/Module/Admin/Site.php:695 +#: src/Module/Admin/Site.php:689 msgid "Maximum number of parallel workers" msgstr "" -#: src/Module/Admin/Site.php:695 +#: src/Module/Admin/Site.php:689 #, php-format msgid "" "On shared hosters set this to %d. On larger systems, values of %d are great. " "Default value is %d." msgstr "" -#: src/Module/Admin/Site.php:696 +#: src/Module/Admin/Site.php:690 msgid "Don't use \"proc_open\" with the worker" msgstr "" -#: src/Module/Admin/Site.php:696 +#: src/Module/Admin/Site.php:690 msgid "" "Enable this if your system doesn't allow the use of \"proc_open\". This can " "happen on shared hosters. If this is enabled you should increase the " "frequency of worker calls in your crontab." msgstr "" -#: src/Module/Admin/Site.php:697 +#: src/Module/Admin/Site.php:691 msgid "Enable fastlane" msgstr "" -#: src/Module/Admin/Site.php:697 +#: src/Module/Admin/Site.php:691 msgid "" "When enabed, the fastlane mechanism starts an additional worker if processes " "with higher priority are blocked by processes of lower priority." msgstr "" -#: src/Module/Admin/Site.php:698 +#: src/Module/Admin/Site.php:692 msgid "Enable frontend worker" msgstr "" -#: src/Module/Admin/Site.php:698 +#: src/Module/Admin/Site.php:692 #, php-format msgid "" "When enabled the Worker process is triggered when backend access is " @@ -7806,74 +7825,75 @@ msgid "" "server." msgstr "" -#: src/Module/Admin/Site.php:700 -msgid "Subscribe to relay" +#: src/Module/Admin/Site.php:694 +msgid "Use relay servers" msgstr "" -#: src/Module/Admin/Site.php:700 +#: src/Module/Admin/Site.php:694 msgid "" -"Enables the receiving of public posts from the relay. They will be included " -"in the search, subscribed tags and on the global community page." +"Enables the receiving of public posts from relay servers. They will be " +"included in the search, subscribed tags and on the global community page." msgstr "" -#: src/Module/Admin/Site.php:701 -msgid "Relay server" +#: src/Module/Admin/Site.php:695 +msgid "\"Social Relay\" server" msgstr "" -#: src/Module/Admin/Site.php:701 +#: src/Module/Admin/Site.php:695 #, php-format msgid "" -"Address of the relay server where public posts should be send to. For " -"example %s" +"Address of the \"Social Relay\" server where public posts should be send to. " +"For example %s. ActivityRelay servers are administrated via the \"console " +"relay\" command line command." msgstr "" -#: src/Module/Admin/Site.php:702 +#: src/Module/Admin/Site.php:696 msgid "Direct relay transfer" msgstr "" -#: src/Module/Admin/Site.php:702 +#: src/Module/Admin/Site.php:696 msgid "" "Enables the direct transfer to other servers without using the relay servers" msgstr "" -#: src/Module/Admin/Site.php:703 +#: src/Module/Admin/Site.php:697 msgid "Relay scope" msgstr "" -#: src/Module/Admin/Site.php:703 +#: src/Module/Admin/Site.php:697 msgid "" "Can be \"all\" or \"tags\". \"all\" means that every public post should be " "received. \"tags\" means that only posts with selected tags should be " "received." msgstr "" -#: src/Module/Admin/Site.php:703 +#: src/Module/Admin/Site.php:697 msgid "all" msgstr "" -#: src/Module/Admin/Site.php:703 +#: src/Module/Admin/Site.php:697 msgid "tags" msgstr "" -#: src/Module/Admin/Site.php:704 +#: src/Module/Admin/Site.php:698 msgid "Server tags" msgstr "" -#: src/Module/Admin/Site.php:704 +#: src/Module/Admin/Site.php:698 msgid "Comma separated list of tags for the \"tags\" subscription." msgstr "" -#: src/Module/Admin/Site.php:705 +#: src/Module/Admin/Site.php:699 msgid "Allow user tags" msgstr "" -#: src/Module/Admin/Site.php:705 +#: src/Module/Admin/Site.php:699 msgid "" "If enabled, the tags from the saved searches will used for the \"tags\" " "subscription in addition to the \"relay_server_tags\"." msgstr "" -#: src/Module/Admin/Site.php:708 +#: src/Module/Admin/Site.php:702 msgid "Start Relocation" msgstr "" @@ -8555,20 +8575,20 @@ msgstr "" msgid "Add contact to group" msgstr "" -#: src/Module/Search/Index.php:53 +#: src/Module/Search/Index.php:54 msgid "Only logged in users are permitted to perform a search." msgstr "" -#: src/Module/Search/Index.php:75 +#: src/Module/Search/Index.php:76 msgid "Only one search per minute is permitted for not logged in users." msgstr "" -#: src/Module/Search/Index.php:98 src/Content/Nav.php:220 +#: src/Module/Search/Index.php:99 src/Content/Nav.php:220 #: src/Content/Text/HTML.php:902 msgid "Search" msgstr "" -#: src/Module/Search/Index.php:184 +#: src/Module/Search/Index.php:181 #, php-format msgid "Items tagged with: %s" msgstr "" @@ -9416,7 +9436,7 @@ msgstr "" msgid "thanks" msgstr "" -#: src/Util/EMailer/MailBuilder.php:212 +#: src/Util/EMailer/MailBuilder.php:229 msgid "Friendica Notification" msgstr "" @@ -9522,37 +9542,37 @@ msgstr "" msgid "Enter a valid existing folder" msgstr "" -#: src/Model/Item.php:3388 +#: src/Model/Item.php:3409 msgid "activity" msgstr "" -#: src/Model/Item.php:3393 +#: src/Model/Item.php:3414 msgid "post" msgstr "" -#: src/Model/Item.php:3516 +#: src/Model/Item.php:3537 #, php-format msgid "Content warning: %s" msgstr "" -#: src/Model/Item.php:3593 +#: src/Model/Item.php:3614 msgid "bytes" msgstr "" -#: src/Model/Item.php:3638 +#: src/Model/Item.php:3659 msgid "View on separate page" msgstr "" -#: src/Model/Item.php:3639 +#: src/Model/Item.php:3660 msgid "view on separate page" msgstr "" -#: src/Model/Item.php:3644 src/Model/Item.php:3650 +#: src/Model/Item.php:3665 src/Model/Item.php:3671 #: src/Content/Text/BBCode.php:1071 msgid "link to source" msgstr "" -#: src/Model/Mail.php:128 src/Model/Mail.php:263 +#: src/Model/Mail.php:128 src/Model/Mail.php:266 msgid "[no subject]" msgstr "" From c5304d1ff42350fc09753e52b92e4cd9e72a7ff9 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 23 Sep 2020 09:00:09 +0000 Subject: [PATCH 2/4] Use plainext --- src/Protocol/ActivityPub/Processor.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index c94a82a9e..f181e70c6 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -43,6 +43,7 @@ use Friendica\Protocol\ActivityPub; use Friendica\Util\DateTimeFormat; use Friendica\Util\JsonLD; use Friendica\Util\Strings; +use Text_LanguageDetect; /** * ActivityPub Processor Protocol class @@ -845,7 +846,7 @@ class Processor } } - $content = mb_strtolower(JsonLD::fetchElement($activity['as:object'], 'as:content', '@value')); + $content = mb_strtolower(BBCode::toPlaintext(HTML::toBBCode(JsonLD::fetchElement($activity['as:object'], 'as:content', '@value')), false)); $tagList = array_unique(array_merge($systemTags, $userTags)); foreach ($messageTags as $tag) { From 4a8531354b5cc6ece7937e5f32d546311afb3e75 Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 23 Sep 2020 15:28:00 +0000 Subject: [PATCH 3/4] Use preg_quote --- src/Protocol/ActivityPub/Processor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index f181e70c6..7026d18da 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -856,7 +856,7 @@ class Processor } // We check with "strpos" for performance issues. Only when this is true, the regular expression check is used // RegExp is taken from here: https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed - if ((strpos($content, $tag) !== false) && preg_match('/(?<=[\s,.:;"\']|^)' . $tag . '(?=[\s,.:;"\']|$)/', $content)) { + if ((strpos($content, $tag) !== false) && preg_match('/(?<=[\s,.:;"\']|^)' . preg_quote($tag) . '(?=[\s,.:;"\']|$)/', $content)) { Logger::info('Subscribed hashtag found in content - accepted', ['id' => $id, 'hashtag' => $tag]); return true; } From ea698b670267b230ecd958424720fe29d4b836bc Mon Sep 17 00:00:00 2001 From: Michael Date: Wed, 23 Sep 2020 15:57:10 +0000 Subject: [PATCH 4/4] Delimiter added --- src/Protocol/ActivityPub/Processor.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index 7026d18da..95eecabca 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -856,7 +856,7 @@ class Processor } // We check with "strpos" for performance issues. Only when this is true, the regular expression check is used // RegExp is taken from here: https://medium.com/@shiba1014/regex-word-boundaries-with-unicode-207794f6e7ed - if ((strpos($content, $tag) !== false) && preg_match('/(?<=[\s,.:;"\']|^)' . preg_quote($tag) . '(?=[\s,.:;"\']|$)/', $content)) { + if ((strpos($content, $tag) !== false) && preg_match('/(?<=[\s,.:;"\']|^)' . preg_quote($tag, '/') . '(?=[\s,.:;"\']|$)/', $content)) { Logger::info('Subscribed hashtag found in content - accepted', ['id' => $id, 'hashtag' => $tag]); return true; }