Improved support for Mastodon style content warnings
This commit is contained in:
parent
e351122cc5
commit
903bc9b679
4 changed files with 78 additions and 55 deletions
|
@ -104,6 +104,7 @@ class Feature
|
|||
DI::l10n()->t('Post Composition Features'),
|
||||
['aclautomention', DI::l10n()->t('Auto-mention Forums'), DI::l10n()->t('Add/remove mention when a forum page is selected/deselected in ACL window.'), false, DI::config()->get('feature_lock', 'aclautomention', false)],
|
||||
['explicit_mentions', DI::l10n()->t('Explicit Mentions'), DI::l10n()->t('Add explicit mentions to comment box for manual control over who gets mentioned in replies.'), false, DI::config()->get('feature_lock', 'explicit_mentions', false)],
|
||||
['add_abstract', DI::l10n()->t('Add an abstract from ActivityPub content warnings'), DI::l10n()->t('Add an abstract when commenting on ActivityPub posts with a content warning. Abstracts are displayed as content warning on systems like Mastodon or Pleroma.'), false, DI::config()->get('feature_lock', 'add_abstract', false)],
|
||||
],
|
||||
|
||||
// Item tools
|
||||
|
|
|
@ -1076,6 +1076,13 @@ class Item
|
|||
unset($item['causer-id']);
|
||||
}
|
||||
|
||||
if (in_array($item['network'], [Protocol::ACTIVITYPUB, Protocol::DFRN])) {
|
||||
$content_warning = BBCode::getAbstract($item['body'], Protocol::ACTIVITYPUB);
|
||||
if (!empty($content_warning) && empty($item['content-warning'])) {
|
||||
$item['content-warning'] = $content_warning;
|
||||
}
|
||||
}
|
||||
|
||||
Post::insert($item['uri-id'], $item);
|
||||
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
|
@ -1238,7 +1245,7 @@ class Item
|
|||
|
||||
$self_contact = Contact::selectFirst(['id'], ['uid' => $item['uid'], 'self' => true]);
|
||||
$self = !empty($self_contact) ? $self_contact['id'] : 0;
|
||||
|
||||
|
||||
$cid = Contact::getIdForURL($author['url'], $item['uid']);
|
||||
if (empty($cid) || (!Contact::isSharing($cid, $item['uid']) && ($cid != $self))) {
|
||||
Logger::info('The resharer is not a following contact: quit', ['resharer' => $author['url'], 'uid' => $item['uid'], 'cid' => $cid]);
|
||||
|
|
|
@ -891,22 +891,26 @@ class Post
|
|||
|
||||
$owner = User::getOwnerDataById($a->getLoggedInUserId());
|
||||
|
||||
if (!Feature::isEnabled(local_user(), 'explicit_mentions')) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$item = PostModel::selectFirst(['author-addr', 'uri-id', 'network', 'gravity'], ['id' => $this->getId()]);
|
||||
$item = PostModel::selectFirst(['author-addr', 'uri-id', 'network', 'gravity', 'content-warning'], ['id' => $this->getId()]);
|
||||
if (!DBA::isResult($item) || empty($item['author-addr'])) {
|
||||
// Should not happen
|
||||
return '';
|
||||
}
|
||||
|
||||
if (($item['author-addr'] != $owner['addr']) && (($item['gravity'] != GRAVITY_PARENT) || !in_array($item['network'], [Protocol::DIASPORA]))) {
|
||||
$text = '@' . $item['author-addr'] . ' ';
|
||||
if (!empty($item['content-warning']) && Feature::isEnabled(local_user(), 'add_abstract')) {
|
||||
$text = '[abstract=' . Protocol::ACTIVITYPUB . ']' . $item['content-warning'] . "[/abstract]\n";
|
||||
} else {
|
||||
$text = '';
|
||||
}
|
||||
|
||||
if (!Feature::isEnabled(local_user(), 'explicit_mentions')) {
|
||||
return $text;
|
||||
}
|
||||
|
||||
if (($item['author-addr'] != $owner['addr']) && (($item['gravity'] != GRAVITY_PARENT) || !in_array($item['network'], [Protocol::DIASPORA]))) {
|
||||
$text .= '@' . $item['author-addr'] . ' ';
|
||||
}
|
||||
|
||||
$terms = Tag::getByURIId($item['uri-id'], [Tag::MENTION, Tag::IMPLICIT_MENTION, Tag::EXCLUSIVE_MENTION]);
|
||||
foreach ($terms as $term) {
|
||||
if (!$term['url']) {
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: 2022.05-dev\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-02-24 09:39-0500\n"
|
||||
"POT-Creation-Date: 2022-03-06 11:22+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"
|
||||
|
@ -118,7 +118,7 @@ msgid "The feed for this item is unavailable."
|
|||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:38 mod/events.php:220 mod/follow.php:56 mod/follow.php:130
|
||||
#: mod/item.php:184 mod/item.php:189 mod/item.php:918 mod/message.php:69
|
||||
#: mod/item.php:184 mod/item.php:189 mod/item.php:877 mod/message.php:69
|
||||
#: mod/message.php:111 mod/notes.php:44 mod/ostatus_subscribe.php:32
|
||||
#: mod/photos.php:160 mod/photos.php:897 mod/repair_ostatus.php:31
|
||||
#: mod/settings.php:47 mod/settings.php:57 mod/settings.php:417
|
||||
|
@ -163,7 +163,7 @@ msgid "Save"
|
|||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:92 mod/photos.php:1344 src/Content/Conversation.php:326
|
||||
#: src/Module/Contact/Poke.php:176 src/Object/Post.php:982
|
||||
#: src/Module/Contact/Poke.php:176 src/Object/Post.php:986
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -261,7 +261,7 @@ msgstr ""
|
|||
|
||||
#: mod/editpost.php:128 mod/events.php:517 mod/photos.php:1343
|
||||
#: mod/photos.php:1399 mod/photos.php:1473 src/Content/Conversation.php:370
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:992
|
||||
#: src/Module/Item/Compose.php:160 src/Object/Post.php:996
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
|
@ -273,37 +273,37 @@ msgid "Cancel"
|
|||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:134 src/Content/Conversation.php:331
|
||||
#: src/Module/Item/Compose.php:151 src/Object/Post.php:983
|
||||
#: src/Module/Item/Compose.php:151 src/Object/Post.php:987
|
||||
msgid "Bold"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:135 src/Content/Conversation.php:332
|
||||
#: src/Module/Item/Compose.php:152 src/Object/Post.php:984
|
||||
#: src/Module/Item/Compose.php:152 src/Object/Post.php:988
|
||||
msgid "Italic"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:136 src/Content/Conversation.php:333
|
||||
#: src/Module/Item/Compose.php:153 src/Object/Post.php:985
|
||||
#: src/Module/Item/Compose.php:153 src/Object/Post.php:989
|
||||
msgid "Underline"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:137 src/Content/Conversation.php:334
|
||||
#: src/Module/Item/Compose.php:154 src/Object/Post.php:986
|
||||
#: src/Module/Item/Compose.php:154 src/Object/Post.php:990
|
||||
msgid "Quote"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:138 src/Content/Conversation.php:335
|
||||
#: src/Module/Item/Compose.php:155 src/Object/Post.php:987
|
||||
#: src/Module/Item/Compose.php:155 src/Object/Post.php:991
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:139 src/Content/Conversation.php:337
|
||||
#: src/Module/Item/Compose.php:157 src/Object/Post.php:989
|
||||
#: src/Module/Item/Compose.php:157 src/Object/Post.php:993
|
||||
msgid "Link"
|
||||
msgstr ""
|
||||
|
||||
#: mod/editpost.php:140 src/Content/Conversation.php:338
|
||||
#: src/Module/Item/Compose.php:158 src/Object/Post.php:990
|
||||
#: src/Module/Item/Compose.php:158 src/Object/Post.php:994
|
||||
msgid "Link or Media"
|
||||
msgstr ""
|
||||
|
||||
|
@ -411,7 +411,7 @@ msgstr ""
|
|||
#: src/Module/Install.php:252 src/Module/Install.php:294
|
||||
#: src/Module/Install.php:331 src/Module/Invite.php:177
|
||||
#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:247
|
||||
#: src/Module/Settings/Profile/Index.php:222 src/Object/Post.php:981
|
||||
#: src/Module/Settings/Profile/Index.php:222 src/Object/Post.php:985
|
||||
#: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160
|
||||
#: view/theme/quattro/config.php:71 view/theme/vier/config.php:119
|
||||
msgid "Submit"
|
||||
|
@ -464,7 +464,7 @@ msgstr ""
|
|||
msgid "OStatus support is disabled. Contact can't be added."
|
||||
msgstr ""
|
||||
|
||||
#: mod/follow.php:138 src/Content/Item.php:452 src/Content/Widget.php:76
|
||||
#: mod/follow.php:138 src/Content/Item.php:455 src/Content/Widget.php:76
|
||||
#: src/Model/Contact.php:1083 src/Model/Contact.php:1095
|
||||
#: view/theme/vier/theme.php:172
|
||||
msgid "Connect/Follow"
|
||||
|
@ -518,19 +518,19 @@ msgstr ""
|
|||
msgid "Empty post discarded."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:724
|
||||
#: mod/item.php:689
|
||||
msgid "Post updated."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:734 mod/item.php:739
|
||||
#: mod/item.php:699 mod/item.php:704
|
||||
msgid "Item wasn't stored."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:750
|
||||
#: mod/item.php:715
|
||||
msgid "Item couldn't be fetched."
|
||||
msgstr ""
|
||||
|
||||
#: mod/item.php:896 src/Module/Admin/Themes/Details.php:39
|
||||
#: mod/item.php:855 src/Module/Admin/Themes/Details.php:39
|
||||
#: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:41
|
||||
#: src/Module/Debug/ItemBody.php:56
|
||||
msgid "Item not found."
|
||||
|
@ -1066,12 +1066,12 @@ msgstr ""
|
|||
|
||||
#: mod/photos.php:1339 mod/photos.php:1395 mod/photos.php:1469
|
||||
#: src/Module/Contact.php:544 src/Module/Item/Compose.php:148
|
||||
#: src/Object/Post.php:978
|
||||
#: src/Object/Post.php:982
|
||||
msgid "This is you"
|
||||
msgstr ""
|
||||
|
||||
#: mod/photos.php:1341 mod/photos.php:1397 mod/photos.php:1471
|
||||
#: src/Object/Post.php:514 src/Object/Post.php:980
|
||||
#: src/Object/Post.php:514 src/Object/Post.php:984
|
||||
msgid "Comment"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1967,15 +1967,15 @@ msgstr ""
|
|||
msgid "Friend Suggestions"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:78 src/Content/Item.php:335 src/Model/Item.php:2670
|
||||
#: mod/tagger.php:78 src/Content/Item.php:338 src/Model/Item.php:2670
|
||||
msgid "photo"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:78 src/Content/Item.php:330 src/Content/Item.php:339
|
||||
#: mod/tagger.php:78 src/Content/Item.php:333 src/Content/Item.php:342
|
||||
msgid "status"
|
||||
msgstr ""
|
||||
|
||||
#: mod/tagger.php:111 src/Content/Item.php:349
|
||||
#: mod/tagger.php:111 src/Content/Item.php:352
|
||||
#, php-format
|
||||
msgid "%1$s tagged %2$s's %3$s with %4$s"
|
||||
msgstr ""
|
||||
|
@ -2478,7 +2478,7 @@ msgid "Visible to <strong>everybody</strong>"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:308 src/Module/Item/Compose.php:159
|
||||
#: src/Object/Post.php:991
|
||||
#: src/Object/Post.php:995
|
||||
msgid "Please enter a image/video/audio/webpage URL:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2507,7 +2507,7 @@ msgid "Share"
|
|||
msgstr ""
|
||||
|
||||
#: src/Content/Conversation.php:336 src/Module/Item/Compose.php:156
|
||||
#: src/Object/Post.php:988
|
||||
#: src/Object/Post.php:992
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2652,43 +2652,54 @@ msgid ""
|
|||
"mentioned in replies."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:111
|
||||
#: src/Content/Feature.php:107
|
||||
msgid "Add an abstract from ActivityPub content warnings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:107
|
||||
msgid ""
|
||||
"Add an abstract when commenting on ActivityPub posts with a content warning. "
|
||||
"Abstracts are displayed as content warning on systems like Mastodon or "
|
||||
"Pleroma."
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:112
|
||||
msgid "Post/Comment Tools"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:112
|
||||
#: src/Content/Feature.php:113
|
||||
msgid "Post Categories"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:112
|
||||
#: src/Content/Feature.php:113
|
||||
msgid "Add categories to your posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:117
|
||||
#: src/Content/Feature.php:118
|
||||
msgid "Advanced Profile Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:118
|
||||
#: src/Content/Feature.php:119
|
||||
msgid "List Forums"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:118
|
||||
#: src/Content/Feature.php:119
|
||||
msgid "Show visitors public community forums at the Advanced Profile Page"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:119
|
||||
#: src/Content/Feature.php:120
|
||||
msgid "Tag Cloud"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:119
|
||||
#: src/Content/Feature.php:120
|
||||
msgid "Provide a personal tag cloud on your profile page"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:120
|
||||
#: src/Content/Feature.php:121
|
||||
msgid "Display Membership Date"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Feature.php:120
|
||||
#: src/Content/Feature.php:121
|
||||
msgid "Display membership date in profile"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2710,55 +2721,55 @@ msgstr ""
|
|||
msgid "show more"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:294
|
||||
#: src/Content/Item.php:297
|
||||
#, php-format
|
||||
msgid "%1$s poked %2$s"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:327 src/Model/Item.php:2668
|
||||
#: src/Content/Item.php:330 src/Model/Item.php:2668
|
||||
msgid "event"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:431 view/theme/frio/theme.php:254
|
||||
#: src/Content/Item.php:434 view/theme/frio/theme.php:254
|
||||
msgid "Follow Thread"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:432 src/Model/Contact.php:1088
|
||||
#: src/Content/Item.php:435 src/Model/Contact.php:1088
|
||||
msgid "View Status"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:433 src/Content/Item.php:455 src/Model/Contact.php:1022
|
||||
#: src/Content/Item.php:436 src/Content/Item.php:458 src/Model/Contact.php:1022
|
||||
#: src/Model/Contact.php:1080 src/Model/Contact.php:1089
|
||||
#: src/Module/Directory.php:157 src/Module/Settings/Profile/Index.php:225
|
||||
msgid "View Profile"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:434 src/Model/Contact.php:1090
|
||||
#: src/Content/Item.php:437 src/Model/Contact.php:1090
|
||||
msgid "View Photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:435 src/Model/Contact.php:1081
|
||||
#: src/Content/Item.php:438 src/Model/Contact.php:1081
|
||||
#: src/Model/Contact.php:1091
|
||||
msgid "Network Posts"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:436 src/Model/Contact.php:1082
|
||||
#: src/Content/Item.php:439 src/Model/Contact.php:1082
|
||||
#: src/Model/Contact.php:1092
|
||||
msgid "View Contact"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:437 src/Model/Contact.php:1093
|
||||
#: src/Content/Item.php:440 src/Model/Contact.php:1093
|
||||
msgid "Send PM"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:438 src/Module/Admin/Blocklist/Contact.php:100
|
||||
#: src/Content/Item.php:441 src/Module/Admin/Blocklist/Contact.php:100
|
||||
#: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154
|
||||
#: src/Module/Contact.php:398 src/Module/Contact/Profile.php:348
|
||||
#: src/Module/Contact/Profile.php:449
|
||||
msgid "Block"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:439 src/Module/Contact.php:399
|
||||
#: src/Content/Item.php:442 src/Module/Contact.php:399
|
||||
#: src/Module/Contact/Profile.php:349 src/Module/Contact/Profile.php:457
|
||||
#: src/Module/Notifications/Introductions.php:132
|
||||
#: src/Module/Notifications/Introductions.php:204
|
||||
|
@ -2766,11 +2777,11 @@ msgstr ""
|
|||
msgid "Ignore"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:443 src/Object/Post.php:443
|
||||
#: src/Content/Item.php:446 src/Object/Post.php:443
|
||||
msgid "Languages"
|
||||
msgstr ""
|
||||
|
||||
#: src/Content/Item.php:447 src/Model/Contact.php:1094
|
||||
#: src/Content/Item.php:450 src/Model/Contact.php:1094
|
||||
msgid "Poke"
|
||||
msgstr ""
|
||||
|
||||
|
|
Loading…
Reference in a new issue