Merge pull request #13000 from annando/audience

Store "audience" and "attributedTo" data
This commit is contained in:
Hypolite Petovan 2023-04-23 19:40:46 -04:00 committed by GitHub
commit dd8f875d6b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 186 additions and 153 deletions

View file

@ -873,6 +873,9 @@ class Conversation
case ItemModel::PR_BCC:
$row['direction'] = ['direction' => 7, 'title' => $this->l10n->t('You had been addressed (%s).', 'bcc')];
break;
case ItemModel::PR_AUDIENCE:
$row['direction'] = ['direction' => 7, 'title' => $this->l10n->t('You had been addressed (%s).', 'audience')];
break;
case ItemModel::PR_FOLLOWER:
$row['direction'] = ['direction' => 6, 'title' => $this->l10n->t('You are following %s.', $row['causer-name'] ?: $row['author-name'])];
break;

View file

@ -79,6 +79,7 @@ class Item
const PR_DISTRIBUTE = 79;
const PR_PUSHED = 80;
const PR_LOCAL = 81;
const PR_AUDIENCE = 82;
// system.accept_only_sharer setting values
const COMPLETION_NONE = 1;
@ -1624,7 +1625,7 @@ class Item
if (($uid != 0) && (($item['gravity'] == self::GRAVITY_PARENT) || $is_reshare) &&
DI::pConfig()->get($uid, 'system', 'accept_only_sharer') == self::COMPLETION_NONE &&
!in_array($item['post-reason'], [self::PR_FOLLOWER, self::PR_TAG, self::PR_TO, self::PR_CC, self::PR_ACTIVITY])) {
!in_array($item['post-reason'], [self::PR_FOLLOWER, self::PR_TAG, self::PR_TO, self::PR_CC, self::PR_ACTIVITY, self::PR_AUDIENCE])) {
Logger::info('Contact is not a follower, thread will not be stored', ['author' => $item['author-link'], 'uid' => $uid, 'uri-id' => $uri_id, 'post-reason' => $item['post-reason']]);
return 0;
}

View file

@ -54,10 +54,12 @@ class Tag
*/
const EXCLUSIVE_MENTION = 9;
const TO = 10;
const CC = 11;
const BTO = 12;
const BCC = 13;
const TO = 10;
const CC = 11;
const BTO = 12;
const BCC = 13;
const AUDIENCE = 14;
const ATTRIBUTED = 15;
const ACCOUNT = 1;
const GENERAL_COLLECTION = 2;
@ -103,7 +105,7 @@ class Tag
$cid = 0;
$tagid = 0;
if (in_array($type, [self::MENTION, self::EXCLUSIVE_MENTION, self::IMPLICIT_MENTION, self::TO, self::CC, self::BTO, self::BCC])) {
if (in_array($type, [self::MENTION, self::EXCLUSIVE_MENTION, self::IMPLICIT_MENTION, self::TO, self::CC, self::BTO, self::BCC, self::AUDIENCE, self::ATTRIBUTED])) {
if (empty($url)) {
// No mention without a contact url
return;
@ -130,7 +132,7 @@ class Tag
}
if (empty($cid)) {
if (!in_array($type, [self::TO, self::CC, self::BTO, self::BCC])) {
if (!in_array($type, [self::TO, self::CC, self::BTO, self::BCC, self::AUDIENCE, self::ATTRIBUTED])) {
if (($type != self::HASHTAG) && !empty($url) && ($url != $name)) {
$url = strtolower($url);
} else {

View file

@ -190,7 +190,7 @@ class PermissionTooltip extends \Friendica\BaseModule
}
$receivers = [];
foreach (Tag::getByURIId($uriId, [Tag::TO, Tag::CC, Tag::BCC]) as $receiver) {
foreach (Tag::getByURIId($uriId, [Tag::TO, Tag::CC, Tag::BCC, Tag::AUDIENCE, Tag::ATTRIBUTED]) as $receiver) {
// We only display BCC when it contains the current user
if (($receiver['type'] == Tag::BCC) && ($receiver['url'] != $own_url)) {
continue;
@ -236,6 +236,12 @@ class PermissionTooltip extends \Friendica\BaseModule
case Tag::BCC:
$output .= DI::l10n()->t('<b>BCC:</b> %s<br>', implode(', ', $receiver));
break;
case Tag::AUDIENCE:
$output .= DI::l10n()->t('<b>Audience:</b> %s<br>', implode(', ', $receiver));
break;
case Tag::ATTRIBUTED:
$output .= DI::l10n()->t('<b>Attributed To:</b> %s<br>', implode(', ', $receiver));
break;
}
}

View file

@ -208,7 +208,7 @@ class ClientToServer
$targets = [];
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc'] as $element) {
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc', 'as:audience'] as $element) {
switch ($element) {
case 'as:to':
$type = Receiver::TARGET_TO;
@ -222,6 +222,9 @@ class ClientToServer
case 'as:bcc':
$type = Receiver::TARGET_BCC;
break;
case 'as:audience':
$type = Receiver::TARGET_AUDIENCE;
break;
}
$receiver_list = JsonLD::fetchElementArray($object, $element, '@id');
if (empty($receiver_list)) {

View file

@ -1026,6 +1026,9 @@ class Processor
case Receiver::TARGET_BCC:
$item['post-reason'] = Item::PR_BCC;
break;
case Receiver::TARGET_AUDIENCE:
$item['post-reason'] = Item::PR_AUDIENCE;
break;
case Receiver::TARGET_FOLLOWER:
$item['post-reason'] = Item::PR_FOLLOWER;
break;
@ -1071,7 +1074,7 @@ class Processor
continue;
}
if (($receiver != 0) && ($item['gravity'] == Item::GRAVITY_PARENT) && !in_array($item['post-reason'], [Item::PR_FOLLOWER, Item::PR_TAG, item::PR_TO, Item::PR_CC])) {
if (($receiver != 0) && ($item['gravity'] == Item::GRAVITY_PARENT) && !in_array($item['post-reason'], [Item::PR_FOLLOWER, Item::PR_TAG, item::PR_TO, Item::PR_CC, Item::PR_AUDIENCE])) {
if (!($item['isForum'] ?? false)) {
if ($item['post-reason'] == Item::PR_BCC) {
Logger::info('Top level post via BCC from a non sharer, ignoring', ['uid' => $receiver, 'contact' => $item['contact-id'], 'url' => $item['uri']]);
@ -1274,7 +1277,7 @@ class Processor
public static function storeReceivers(int $uriid, array $receivers)
{
foreach (['as:to' => Tag::TO, 'as:cc' => Tag::CC, 'as:bto' => Tag::BTO, 'as:bcc' => Tag::BCC] as $element => $type) {
foreach (['as:to' => Tag::TO, 'as:cc' => Tag::CC, 'as:bto' => Tag::BTO, 'as:bcc' => Tag::BCC, 'as:audience' => Tag::AUDIENCE, 'as:attributedTo' => Tag::ATTRIBUTED] as $element => $type) {
if (!empty($receivers[$element])) {
foreach ($receivers[$element] as $receiver) {
if ($receiver == ActivityPub::PUBLIC_COLLECTION) {

View file

@ -73,6 +73,7 @@ class Receiver
const TARGET_FOLLOWER = 5;
const TARGET_ANSWER = 6;
const TARGET_GLOBAL = 7;
const TARGET_AUDIENCE = 8;
const COMPLETION_NONE = 0;
const COMPLETION_ANNOUNCE = 1;
@ -487,7 +488,7 @@ class Receiver
$object_data['object_type'] = $object_type;
}
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc'] as $element) {
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc', 'as:audience', 'as:attributedTo'] as $element) {
if ((empty($object_data['receiver_urls'][$element]) || in_array($element, ['as:bto', 'as:bcc'])) && !empty($urls[$element])) {
$object_data['receiver_urls'][$element] = array_unique(array_merge($object_data['receiver_urls'][$element] ?? [], $urls[$element]));
}
@ -1032,7 +1033,7 @@ class Receiver
{
$urls = [];
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc'] as $element) {
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc', 'as:audience', 'as:attributedTo'] as $element) {
$receiver_list = JsonLD::fetchElementArray($activity, $element, '@id');
if (empty($receiver_list)) {
continue;
@ -1104,7 +1105,7 @@ class Receiver
// We have to prevent false follower assumptions upon thread completions
$follower_target = empty($activity['thread-completion']) ? self::TARGET_FOLLOWER : self::TARGET_UNKNOWN;
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc'] as $element) {
foreach (['as:to', 'as:cc', 'as:bto', 'as:bcc','as:audience'] as $element) {
$receiver_list = JsonLD::fetchElementArray($activity, $element, '@id');
if (empty($receiver_list)) {
continue;
@ -1165,6 +1166,9 @@ class Receiver
case 'as:bcc':
$type = self::TARGET_BCC;
break;
case 'as:audience':
$type = self::TARGET_AUDIENCE;
break;
}
$receivers[$contact['uid']] = ['uid' => $contact['uid'], 'type' => $type];

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2023.06-dev\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-04-20 07:48-0400\n"
"POT-Creation-Date: 2023-04-23 21:21+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"
@ -294,7 +294,7 @@ msgstr ""
#: mod/message.php:202 mod/message.php:358 mod/photos.php:1291
#: src/Content/Conversation.php:389 src/Content/Conversation.php:733
#: src/Module/Item/Compose.php:204 src/Module/Post/Edit.php:145
#: src/Module/Profile/UnkMail.php:154 src/Object/Post.php:545
#: src/Module/Profile/UnkMail.php:154 src/Object/Post.php:550
msgid "Please wait"
msgstr ""
@ -311,7 +311,7 @@ msgstr ""
#: src/Module/Install.php:309 src/Module/Invite.php:178
#: src/Module/Item/Compose.php:189 src/Module/Moderation/Item/Source.php:79
#: src/Module/Profile/Profile.php:274 src/Module/Profile/UnkMail.php:155
#: src/Module/Settings/Profile/Index.php:230 src/Object/Post.php:1058
#: src/Module/Settings/Profile/Index.php:230 src/Object/Post.php:1063
#: view/theme/duepuntozero/config.php:85 view/theme/frio/config.php:171
#: view/theme/quattro/config.php:87 view/theme/vier/config.php:135
msgid "Submit"
@ -596,28 +596,28 @@ msgstr ""
#: mod/photos.php:1135 mod/photos.php:1191 mod/photos.php:1265
#: src/Module/Contact.php:588 src/Module/Item/Compose.php:188
#: src/Object/Post.php:1055
#: src/Object/Post.php:1060
msgid "This is you"
msgstr ""
#: mod/photos.php:1137 mod/photos.php:1193 mod/photos.php:1267
#: src/Object/Post.php:539 src/Object/Post.php:1057
#: src/Object/Post.php:544 src/Object/Post.php:1062
msgid "Comment"
msgstr ""
#: mod/photos.php:1139 mod/photos.php:1195 mod/photos.php:1269
#: src/Content/Conversation.php:404 src/Module/Calendar/Event/Form.php:248
#: src/Module/Item/Compose.php:199 src/Module/Post/Edit.php:165
#: src/Object/Post.php:1069
#: src/Object/Post.php:1074
msgid "Preview"
msgstr ""
#: mod/photos.php:1140 src/Content/Conversation.php:359
#: src/Module/Post/Edit.php:130 src/Object/Post.php:1059
#: src/Module/Post/Edit.php:130 src/Object/Post.php:1064
msgid "Loading..."
msgstr ""
#: mod/photos.php:1226 src/Content/Conversation.php:649 src/Object/Post.php:256
#: mod/photos.php:1226 src/Content/Conversation.php:649 src/Object/Post.php:257
msgid "Select"
msgstr ""
@ -629,19 +629,19 @@ msgstr ""
msgid "Delete"
msgstr ""
#: mod/photos.php:1288 src/Object/Post.php:384
#: mod/photos.php:1288 src/Object/Post.php:385
msgid "Like"
msgstr ""
#: mod/photos.php:1289 src/Object/Post.php:384
#: mod/photos.php:1289 src/Object/Post.php:385
msgid "I like this (toggle)"
msgstr ""
#: mod/photos.php:1290 src/Object/Post.php:385
#: mod/photos.php:1290 src/Object/Post.php:386
msgid "Dislike"
msgstr ""
#: mod/photos.php:1292 src/Object/Post.php:385
#: mod/photos.php:1292 src/Object/Post.php:386
msgid "I don't like this (toggle)"
msgstr ""
@ -770,7 +770,7 @@ msgstr ""
msgid "All contacts"
msgstr ""
#: src/BaseModule.php:432 src/Content/Widget.php:239 src/Core/ACL.php:194
#: src/BaseModule.php:432 src/Content/Widget.php:239 src/Core/ACL.php:195
#: src/Module/Contact.php:407 src/Module/PermissionTooltip.php:127
#: src/Module/PermissionTooltip.php:149
msgid "Followers"
@ -1213,7 +1213,7 @@ msgid "Visible to <strong>everybody</strong>"
msgstr ""
#: src/Content/Conversation.php:329 src/Module/Item/Compose.php:198
#: src/Object/Post.php:1068
#: src/Object/Post.php:1073
msgid "Please enter a image/video/audio/webpage URL:"
msgstr ""
@ -1258,42 +1258,42 @@ msgid "attach file"
msgstr ""
#: src/Content/Conversation.php:364 src/Module/Item/Compose.php:190
#: src/Module/Post/Edit.php:171 src/Object/Post.php:1060
#: src/Module/Post/Edit.php:171 src/Object/Post.php:1065
msgid "Bold"
msgstr ""
#: src/Content/Conversation.php:365 src/Module/Item/Compose.php:191
#: src/Module/Post/Edit.php:172 src/Object/Post.php:1061
#: src/Module/Post/Edit.php:172 src/Object/Post.php:1066
msgid "Italic"
msgstr ""
#: src/Content/Conversation.php:366 src/Module/Item/Compose.php:192
#: src/Module/Post/Edit.php:173 src/Object/Post.php:1062
#: src/Module/Post/Edit.php:173 src/Object/Post.php:1067
msgid "Underline"
msgstr ""
#: src/Content/Conversation.php:367 src/Module/Item/Compose.php:193
#: src/Module/Post/Edit.php:174 src/Object/Post.php:1063
#: src/Module/Post/Edit.php:174 src/Object/Post.php:1068
msgid "Quote"
msgstr ""
#: src/Content/Conversation.php:368 src/Module/Item/Compose.php:194
#: src/Module/Post/Edit.php:175 src/Object/Post.php:1064
#: src/Module/Post/Edit.php:175 src/Object/Post.php:1069
msgid "Code"
msgstr ""
#: src/Content/Conversation.php:369 src/Module/Item/Compose.php:195
#: src/Object/Post.php:1065
#: src/Object/Post.php:1070
msgid "Image"
msgstr ""
#: src/Content/Conversation.php:370 src/Module/Item/Compose.php:196
#: src/Module/Post/Edit.php:176 src/Object/Post.php:1066
#: src/Module/Post/Edit.php:176 src/Object/Post.php:1071
msgid "Link"
msgstr ""
#: src/Content/Conversation.php:371 src/Module/Item/Compose.php:197
#: src/Module/Post/Edit.php:177 src/Object/Post.php:1067
#: src/Module/Post/Edit.php:177 src/Object/Post.php:1072
msgid "Link or Media"
msgstr ""
@ -1355,25 +1355,25 @@ msgstr ""
msgid "Open Compose page"
msgstr ""
#: src/Content/Conversation.php:677 src/Object/Post.php:243
#: src/Content/Conversation.php:677 src/Object/Post.php:244
msgid "Pinned item"
msgstr ""
#: src/Content/Conversation.php:693 src/Object/Post.php:491
#: src/Object/Post.php:492
#: src/Content/Conversation.php:693 src/Object/Post.php:496
#: src/Object/Post.php:497
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
#: src/Content/Conversation.php:706 src/Object/Post.php:479
#: src/Content/Conversation.php:706 src/Object/Post.php:484
msgid "Categories:"
msgstr ""
#: src/Content/Conversation.php:707 src/Object/Post.php:480
#: src/Content/Conversation.php:707 src/Object/Post.php:485
msgid "Filed under:"
msgstr ""
#: src/Content/Conversation.php:715 src/Object/Post.php:505
#: src/Content/Conversation.php:715 src/Object/Post.php:510
#, php-format
msgid "%s from %s"
msgstr ""
@ -1392,81 +1392,82 @@ msgstr ""
#: src/Content/Conversation.php:865 src/Content/Conversation.php:868
#: src/Content/Conversation.php:871 src/Content/Conversation.php:874
#: src/Content/Conversation.php:877
#, php-format
msgid "You had been addressed (%s)."
msgstr ""
#: src/Content/Conversation.php:877
#: src/Content/Conversation.php:880
#, php-format
msgid "You are following %s."
msgstr ""
#: src/Content/Conversation.php:880
#: src/Content/Conversation.php:883
msgid "You subscribed to one or more tags in this post."
msgstr ""
#: src/Content/Conversation.php:893
#: src/Content/Conversation.php:896
#, php-format
msgid "%s reshared this."
msgstr ""
#: src/Content/Conversation.php:895
#: src/Content/Conversation.php:898
msgid "Reshared"
msgstr ""
#: src/Content/Conversation.php:895
#, php-format
msgid "Reshared by %s <%s>"
msgstr ""
#: src/Content/Conversation.php:898
#, php-format
msgid "%s is participating in this thread."
msgid "Reshared by %s <%s>"
msgstr ""
#: src/Content/Conversation.php:901
msgid "Stored for general reasons"
#, php-format
msgid "%s is participating in this thread."
msgstr ""
#: src/Content/Conversation.php:904
msgid "Stored for general reasons"
msgstr ""
#: src/Content/Conversation.php:907
msgid "Global post"
msgstr ""
#: src/Content/Conversation.php:907
#: src/Content/Conversation.php:910
msgid "Sent via an relay server"
msgstr ""
#: src/Content/Conversation.php:907
#: src/Content/Conversation.php:910
#, php-format
msgid "Sent via the relay server %s <%s>"
msgstr ""
#: src/Content/Conversation.php:910
#: src/Content/Conversation.php:913
msgid "Fetched"
msgstr ""
#: src/Content/Conversation.php:910
#: src/Content/Conversation.php:913
#, php-format
msgid "Fetched because of %s <%s>"
msgstr ""
#: src/Content/Conversation.php:913
#: src/Content/Conversation.php:916
msgid "Stored because of a child post to complete this thread."
msgstr ""
#: src/Content/Conversation.php:916
#: src/Content/Conversation.php:919
msgid "Local delivery"
msgstr ""
#: src/Content/Conversation.php:919
#: src/Content/Conversation.php:922
msgid "Stored because of your activity (like, comment, star, ...)"
msgstr ""
#: src/Content/Conversation.php:922
#: src/Content/Conversation.php:925
msgid "Distributed"
msgstr ""
#: src/Content/Conversation.php:925
#: src/Content/Conversation.php:928
msgid "Pushed to us"
msgstr ""
@ -1600,7 +1601,7 @@ msgstr ""
msgid "show more"
msgstr ""
#: src/Content/Item.php:326 src/Model/Item.php:2921
#: src/Content/Item.php:326 src/Model/Item.php:2922
msgid "event"
msgstr ""
@ -1608,7 +1609,7 @@ msgstr ""
msgid "status"
msgstr ""
#: src/Content/Item.php:335 src/Model/Item.php:2923
#: src/Content/Item.php:335 src/Model/Item.php:2924
#: src/Module/Post/Tag/Add.php:123
msgid "photo"
msgstr ""
@ -1671,7 +1672,7 @@ msgstr ""
msgid "Collapse"
msgstr ""
#: src/Content/Item.php:432 src/Object/Post.php:460
#: src/Content/Item.php:432 src/Object/Post.php:465
msgid "Languages"
msgstr ""
@ -2014,8 +2015,8 @@ msgid ""
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr ""
#: src/Content/Text/BBCode.php:956 src/Model/Item.php:3606
#: src/Model/Item.php:3612 src/Model/Item.php:3613
#: src/Content/Text/BBCode.php:956 src/Model/Item.php:3607
#: src/Model/Item.php:3613 src/Model/Item.php:3614
msgid "Link to source"
msgstr ""
@ -2262,64 +2263,64 @@ msgstr ""
msgid "Unfollow"
msgstr ""
#: src/Core/ACL.php:165 src/Module/Profile/Profile.php:269
#: src/Core/ACL.php:166 src/Module/Profile/Profile.php:269
msgid "Yourself"
msgstr ""
#: src/Core/ACL.php:201 src/Module/PermissionTooltip.php:133
#: src/Core/ACL.php:202 src/Module/PermissionTooltip.php:133
#: src/Module/PermissionTooltip.php:155
msgid "Mutuals"
msgstr ""
#: src/Core/ACL.php:293
#: src/Core/ACL.php:294
msgid "Post to Email"
msgstr ""
#: src/Core/ACL.php:320 src/Module/PermissionTooltip.php:90
#: src/Core/ACL.php:321 src/Module/PermissionTooltip.php:90
#: src/Module/PermissionTooltip.php:201
msgid "Public"
msgstr ""
#: src/Core/ACL.php:321
#: src/Core/ACL.php:322
msgid ""
"This content will be shown to all your followers and can be seen in the "
"community pages and by anyone with its link."
msgstr ""
#: src/Core/ACL.php:322 src/Module/PermissionTooltip.php:98
#: src/Core/ACL.php:323 src/Module/PermissionTooltip.php:98
msgid "Limited/Private"
msgstr ""
#: src/Core/ACL.php:323
#: src/Core/ACL.php:324
msgid ""
"This content will be shown only to the people in the first box, to the "
"exception of the people mentioned in the second box. It won't appear "
"anywhere public."
msgstr ""
#: src/Core/ACL.php:323
#: src/Core/ACL.php:324
msgid ""
"Start typing the name of a contact or a group to show a filtered list. You "
"can also mention the special groups \"Followers\" and \"Mutuals\"."
msgstr ""
#: src/Core/ACL.php:324
#: src/Core/ACL.php:325
msgid "Show to:"
msgstr ""
#: src/Core/ACL.php:325
#: src/Core/ACL.php:326
msgid "Except to:"
msgstr ""
#: src/Core/ACL.php:326 src/Module/Post/Edit.php:154
#: src/Core/ACL.php:327 src/Module/Post/Edit.php:154
msgid "CC: email addresses"
msgstr ""
#: src/Core/ACL.php:327 src/Module/Post/Edit.php:160
#: src/Core/ACL.php:328 src/Module/Post/Edit.php:160
msgid "Example: bob@example.com, mary@example.com"
msgstr ""
#: src/Core/ACL.php:328
#: src/Core/ACL.php:329
msgid "Connectors"
msgstr ""
@ -3184,81 +3185,81 @@ msgstr ""
msgid "Edit groups"
msgstr ""
#: src/Model/Item.php:2022
#: src/Model/Item.php:2023
#, php-format
msgid "Detected languages in this post:\\n%s"
msgstr ""
#: src/Model/Item.php:2925
#: src/Model/Item.php:2926
msgid "activity"
msgstr ""
#: src/Model/Item.php:2927
#: src/Model/Item.php:2928
msgid "comment"
msgstr ""
#: src/Model/Item.php:2930 src/Module/Post/Tag/Add.php:123
#: src/Model/Item.php:2931 src/Module/Post/Tag/Add.php:123
msgid "post"
msgstr ""
#: src/Model/Item.php:3092
#: src/Model/Item.php:3093
#, php-format
msgid "%s is blocked"
msgstr ""
#: src/Model/Item.php:3094
#: src/Model/Item.php:3095
#, php-format
msgid "%s is ignored"
msgstr ""
#: src/Model/Item.php:3096
#: src/Model/Item.php:3097
#, php-format
msgid "Content from %s is collapsed"
msgstr ""
#: src/Model/Item.php:3100
#: src/Model/Item.php:3101
#, php-format
msgid "Content warning: %s"
msgstr ""
#: src/Model/Item.php:3518
#: src/Model/Item.php:3519
msgid "bytes"
msgstr ""
#: src/Model/Item.php:3549
#: src/Model/Item.php:3550
#, php-format
msgid "%2$s (%3$d%%, %1$d vote)"
msgid_plural "%2$s (%3$d%%, %1$d votes)"
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3551
#: src/Model/Item.php:3552
#, php-format
msgid "%2$s (%1$d vote)"
msgid_plural "%2$s (%1$d votes)"
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3556
#: src/Model/Item.php:3557
#, php-format
msgid "%d voter. Poll end: %s"
msgid_plural "%d voters. Poll end: %s"
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3558
#: src/Model/Item.php:3559
#, php-format
msgid "%d voter."
msgid_plural "%d voters."
msgstr[0] ""
msgstr[1] ""
#: src/Model/Item.php:3560
#: src/Model/Item.php:3561
#, php-format
msgid "Poll end: %s"
msgstr ""
#: src/Model/Item.php:3594 src/Model/Item.php:3595
#: src/Model/Item.php:3595 src/Model/Item.php:3596
msgid "View on separate page"
msgstr ""
@ -5740,7 +5741,7 @@ msgid "Only show blocked contacts"
msgstr ""
#: src/Module/Contact.php:362 src/Module/Contact.php:417
#: src/Object/Post.php:344
#: src/Object/Post.php:345
msgid "Ignored"
msgstr ""
@ -6445,7 +6446,7 @@ msgstr ""
msgid "Posts that mention or involve you"
msgstr ""
#: src/Module/Conversation/Network.php:289 src/Object/Post.php:356
#: src/Module/Conversation/Network.php:289 src/Object/Post.php:357
msgid "Starred"
msgstr ""
@ -8267,6 +8268,16 @@ msgstr ""
msgid "<b>BCC:</b> %s<br>"
msgstr ""
#: src/Module/PermissionTooltip.php:240
#, php-format
msgid "<b>Audience:</b> %s<br>"
msgstr ""
#: src/Module/PermissionTooltip.php:243
#, php-format
msgid "<b>Attributed To:</b> %s<br>"
msgstr ""
#: src/Module/Photo.php:129
msgid "The Photo is not available."
msgstr ""
@ -11238,230 +11249,230 @@ msgstr ""
msgid "Connector Message"
msgstr ""
#: src/Object/Post.php:221 src/Object/Post.php:223
#: src/Object/Post.php:222 src/Object/Post.php:224
msgid "Edit"
msgstr ""
#: src/Object/Post.php:247
#: src/Object/Post.php:248
msgid "Delete globally"
msgstr ""
#: src/Object/Post.php:247
#: src/Object/Post.php:248
msgid "Remove locally"
msgstr ""
#: src/Object/Post.php:264
#: src/Object/Post.php:265
#, php-format
msgid "Block %s"
msgstr ""
#: src/Object/Post.php:269
#: src/Object/Post.php:270
#, php-format
msgid "Ignore %s"
msgstr ""
#: src/Object/Post.php:274
#: src/Object/Post.php:275
msgid "Save to folder"
msgstr ""
#: src/Object/Post.php:309
#: src/Object/Post.php:310
msgid "I will attend"
msgstr ""
#: src/Object/Post.php:309
#: src/Object/Post.php:310
msgid "I will not attend"
msgstr ""
#: src/Object/Post.php:309
#: src/Object/Post.php:310
msgid "I might attend"
msgstr ""
#: src/Object/Post.php:339
#: src/Object/Post.php:340
msgid "Ignore thread"
msgstr ""
#: src/Object/Post.php:340
#: src/Object/Post.php:341
msgid "Unignore thread"
msgstr ""
#: src/Object/Post.php:341
#: src/Object/Post.php:342
msgid "Toggle ignore status"
msgstr ""
#: src/Object/Post.php:351
#: src/Object/Post.php:352
msgid "Add star"
msgstr ""
#: src/Object/Post.php:352
#: src/Object/Post.php:353
msgid "Remove star"
msgstr ""
#: src/Object/Post.php:353
#: src/Object/Post.php:354
msgid "Toggle star status"
msgstr ""
#: src/Object/Post.php:364
#: src/Object/Post.php:365
msgid "Pin"
msgstr ""
#: src/Object/Post.php:365
#: src/Object/Post.php:366
msgid "Unpin"
msgstr ""
#: src/Object/Post.php:366
#: src/Object/Post.php:367
msgid "Toggle pin status"
msgstr ""
#: src/Object/Post.php:369
#: src/Object/Post.php:370
msgid "Pinned"
msgstr ""
#: src/Object/Post.php:374
#: src/Object/Post.php:375
msgid "Add tag"
msgstr ""
#: src/Object/Post.php:387
#: src/Object/Post.php:388
msgid "Quote share this"
msgstr ""
#: src/Object/Post.php:387
#: src/Object/Post.php:388
msgid "Quote Share"
msgstr ""
#: src/Object/Post.php:390
#: src/Object/Post.php:391
msgid "Reshare this"
msgstr ""
#: src/Object/Post.php:390
#: src/Object/Post.php:391
msgid "Reshare"
msgstr ""
#: src/Object/Post.php:391
#: src/Object/Post.php:392
msgid "Cancel your Reshare"
msgstr ""
#: src/Object/Post.php:391
#: src/Object/Post.php:392
msgid "Unshare"
msgstr ""
#: src/Object/Post.php:438
#: src/Object/Post.php:443
#, php-format
msgid "%s (Received %s)"
msgstr ""
#: src/Object/Post.php:443
#: src/Object/Post.php:448
msgid "Comment this item on your system"
msgstr ""
#: src/Object/Post.php:443
#: src/Object/Post.php:448
msgid "Remote comment"
msgstr ""
#: src/Object/Post.php:464
#: src/Object/Post.php:469
msgid "Share via ..."
msgstr ""
#: src/Object/Post.php:464
#: src/Object/Post.php:469
msgid "Share via external services"
msgstr ""
#: src/Object/Post.php:493
#: src/Object/Post.php:498
msgid "to"
msgstr ""
#: src/Object/Post.php:494
#: src/Object/Post.php:499
msgid "via"
msgstr ""
#: src/Object/Post.php:495
#: src/Object/Post.php:500
msgid "Wall-to-Wall"
msgstr ""
#: src/Object/Post.php:496
#: src/Object/Post.php:501
msgid "via Wall-To-Wall:"
msgstr ""
#: src/Object/Post.php:540
#: src/Object/Post.php:545
#, php-format
msgid "Reply to %s"
msgstr ""
#: src/Object/Post.php:543
#: src/Object/Post.php:548
msgid "More"
msgstr ""
#: src/Object/Post.php:561
#: src/Object/Post.php:566
msgid "Notifier task is pending"
msgstr ""
#: src/Object/Post.php:562
#: src/Object/Post.php:567
msgid "Delivery to remote servers is pending"
msgstr ""
#: src/Object/Post.php:563
#: src/Object/Post.php:568
msgid "Delivery to remote servers is underway"
msgstr ""
#: src/Object/Post.php:564
#: src/Object/Post.php:569
msgid "Delivery to remote servers is mostly done"
msgstr ""
#: src/Object/Post.php:565
#: src/Object/Post.php:570
msgid "Delivery to remote servers is done"
msgstr ""
#: src/Object/Post.php:585
#: src/Object/Post.php:590
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
#: src/Object/Post.php:586
#: src/Object/Post.php:591
msgid "Show more"
msgstr ""
#: src/Object/Post.php:587
#: src/Object/Post.php:592
msgid "Show fewer"
msgstr ""
#: src/Object/Post.php:623
#, php-format
msgid "Reshared by: %s"
msgstr ""
#: src/Object/Post.php:628
#, php-format
msgid "Viewed by: %s"
msgid "Reshared by: %s"
msgstr ""
#: src/Object/Post.php:633
#, php-format
msgid "Liked by: %s"
msgid "Viewed by: %s"
msgstr ""
#: src/Object/Post.php:638
#, php-format
msgid "Disliked by: %s"
msgid "Liked by: %s"
msgstr ""
#: src/Object/Post.php:643
#, php-format
msgid "Attended by: %s"
msgid "Disliked by: %s"
msgstr ""
#: src/Object/Post.php:648
#, php-format
msgid "Maybe attended by: %s"
msgid "Attended by: %s"
msgstr ""
#: src/Object/Post.php:653
#, php-format
msgid "Not attended by: %s"
msgid "Maybe attended by: %s"
msgstr ""
#: src/Object/Post.php:658
#, php-format
msgid "Not attended by: %s"
msgstr ""
#: src/Object/Post.php:663
#, php-format
msgid "Reacted with %s by: %s"
msgstr ""