Issue 14102: Display "channels only" contacts in circles

This commit is contained in:
Michael 2024-05-26 16:00:27 +00:00
parent e8da8c5a2b
commit 7808c89071
6 changed files with 184 additions and 130 deletions

View file

@ -1,6 +1,6 @@
-- ------------------------------------------ -- ------------------------------------------
-- Friendica 2024.06-dev (Yellow Archangel) -- Friendica 2024.06-dev (Yellow Archangel)
-- DB_UPDATE_VERSION 1562 -- DB_UPDATE_VERSION 1563
-- ------------------------------------------ -- ------------------------------------------
@ -3360,6 +3360,34 @@ CREATE VIEW `network-thread-view` AS SELECT
AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`post-thread-user`.`author-id`, `post-thread-user`.`owner-id`, `post-thread-user`.`causer-id`) AND (`blocked` OR `ignored` OR `channel-only`)) AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`post-thread-user`.`author-id`, `post-thread-user`.`owner-id`, `post-thread-user`.`causer-id`) AND (`blocked` OR `ignored` OR `channel-only`))
AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`); AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`);
--
-- VIEW network-thread-circle-view
--
DROP VIEW IF EXISTS `network-thread-circle-view`;
CREATE VIEW `network-thread-circle-view` AS SELECT
`post-thread-user`.`uri-id` AS `uri-id`,
`post-thread-user`.`post-user-id` AS `parent`,
`post-thread-user`.`received` AS `received`,
`post-thread-user`.`commented` AS `commented`,
`post-thread-user`.`created` AS `created`,
`post-thread-user`.`uid` AS `uid`,
`post-thread-user`.`starred` AS `starred`,
`post-thread-user`.`mention` AS `mention`,
`post-thread-user`.`network` AS `network`,
`post-thread-user`.`contact-id` AS `contact-id`,
`ownercontact`.`contact-type` AS `contact-type`
FROM `post-thread-user`
INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
STRAIGHT_JOIN `contact` AS `authorcontact` ON `authorcontact`.`id` = `post-thread-user`.`author-id`
STRAIGHT_JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
WHERE `post-user`.`visible` AND NOT `post-user`.`deleted`
AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
AND (`post-thread-user`.`hidden` IS NULL OR NOT `post-thread-user`.`hidden`)
AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked`
AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`post-thread-user`.`author-id`, `post-thread-user`.`owner-id`, `post-thread-user`.`causer-id`) AND (`blocked` OR `ignored`))
AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`);
-- --
-- VIEW owner-view -- VIEW owner-view
-- --

View file

@ -438,7 +438,7 @@ class Profile extends BaseModule
'$frequency_always' => ['channel_frequency', $this->t('Display all posts of this contact'), Contact\User::FREQUENCY_ALWAYS, $this->t('All posts from this contact will appear on the "for you" channel'), $channel_frequency == Contact\User::FREQUENCY_ALWAYS], '$frequency_always' => ['channel_frequency', $this->t('Display all posts of this contact'), Contact\User::FREQUENCY_ALWAYS, $this->t('All posts from this contact will appear on the "for you" channel'), $channel_frequency == Contact\User::FREQUENCY_ALWAYS],
'$frequency_reduced' => ['channel_frequency', $this->t('Display only few posts'), Contact\User::FREQUENCY_REDUCED, $this->t('When a contact creates a lot of posts in a short period, this setting reduces the number of displayed posts in every channel.'), $channel_frequency == Contact\User::FREQUENCY_REDUCED], '$frequency_reduced' => ['channel_frequency', $this->t('Display only few posts'), Contact\User::FREQUENCY_REDUCED, $this->t('When a contact creates a lot of posts in a short period, this setting reduces the number of displayed posts in every channel.'), $channel_frequency == Contact\User::FREQUENCY_REDUCED],
'$frequency_never' => ['channel_frequency', $this->t('Never display posts'), Contact\User::FREQUENCY_NEVER, $this->t('Posts from this contact will never be displayed in any channel'), $channel_frequency == Contact\User::FREQUENCY_NEVER], '$frequency_never' => ['channel_frequency', $this->t('Never display posts'), Contact\User::FREQUENCY_NEVER, $this->t('Posts from this contact will never be displayed in any channel'), $channel_frequency == Contact\User::FREQUENCY_NEVER],
'$channel_only' => ['channel_only', $this->t('Channel Only'), $channel_only, $this->t('If enabled, posts from this contact will only appear in channels, but not in the network stream.')], '$channel_only' => ['channel_only', $this->t('Channel Only'), $channel_only, $this->t('If enabled, posts from this contact will only appear in channels and network streams in circles, but not in the general network stream.')],
]); ]);
$arr = ['contact' => $contact, 'output' => $o]; $arr = ['contact' => $contact, 'output' => $o];

View file

@ -463,7 +463,7 @@ class Network extends Timeline
$params['order'] = [$this->order => true]; $params['order'] = [$this->order => true];
} }
$items = $this->database->selectToArray('network-thread-view', [], DBA::mergeConditions($conditionFields, $conditionStrings), $params); $items = $this->database->selectToArray($this->circleId ? 'network-thread-circle-view' : 'network-thread-view', [], DBA::mergeConditions($conditionFields, $conditionStrings), $params);
// min_id quirk, continued // min_id quirk, continued
if (isset($this->minId) && !isset($this->maxId)) { if (isset($this->minId) && !isset($this->maxId)) {

View file

@ -56,7 +56,7 @@ use Friendica\Database\DBA;
// This file is required several times during the test in DbaDefinition which justifies this condition // This file is required several times during the test in DbaDefinition which justifies this condition
if (!defined('DB_UPDATE_VERSION')) { if (!defined('DB_UPDATE_VERSION')) {
define('DB_UPDATE_VERSION', 1562); define('DB_UPDATE_VERSION', 1563);
} }
return [ return [

View file

@ -1333,6 +1333,32 @@
AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`post-thread-user`.`author-id`, `post-thread-user`.`owner-id`, `post-thread-user`.`causer-id`) AND (`blocked` OR `ignored` OR `channel-only`)) AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`post-thread-user`.`author-id`, `post-thread-user`.`owner-id`, `post-thread-user`.`causer-id`) AND (`blocked` OR `ignored` OR `channel-only`))
AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`)" AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`)"
], ],
"network-thread-circle-view" => [
"fields" => [
"uri-id" => ["post-thread-user", "uri-id"],
"parent" => ["post-thread-user", "post-user-id"],
"received" => ["post-thread-user", "received"],
"commented" => ["post-thread-user", "commented"],
"created" => ["post-thread-user", "created"],
"uid" => ["post-thread-user", "uid"],
"starred" => ["post-thread-user", "starred"],
"mention" => ["post-thread-user", "mention"],
"network" => ["post-thread-user", "network"],
"contact-id" => ["post-thread-user", "contact-id"],
"contact-type" => ["ownercontact", "contact-type"],
],
"query" => "FROM `post-thread-user`
INNER JOIN `post-user` ON `post-user`.`id` = `post-thread-user`.`post-user-id`
STRAIGHT_JOIN `contact` ON `contact`.`id` = `post-thread-user`.`contact-id`
STRAIGHT_JOIN `contact` AS `authorcontact` ON `authorcontact`.`id` = `post-thread-user`.`author-id`
STRAIGHT_JOIN `contact` AS `ownercontact` ON `ownercontact`.`id` = `post-thread-user`.`owner-id`
WHERE `post-user`.`visible` AND NOT `post-user`.`deleted`
AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`)
AND (`post-thread-user`.`hidden` IS NULL OR NOT `post-thread-user`.`hidden`)
AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked`
AND NOT EXISTS(SELECT `cid` FROM `user-contact` WHERE `uid` = `post-thread-user`.`uid` AND `cid` IN (`post-thread-user`.`author-id`, `post-thread-user`.`owner-id`, `post-thread-user`.`causer-id`) AND (`blocked` OR `ignored`))
AND NOT EXISTS(SELECT `gsid` FROM `user-gserver` WHERE `uid` = `post-thread-user`.`uid` AND `gsid` IN (`authorcontact`.`gsid`, `ownercontact`.`gsid`) AND `ignored`)"
],
"owner-view" => [ "owner-view" => [
"fields" => [ "fields" => [
"id" => ["contact", "id"], "id" => ["contact", "id"],

View file

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2024.06-dev\n" "Project-Id-Version: 2024.06-dev\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-05-15 12:16+0000\n" "POT-Creation-Date: 2024-05-26 15:56+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -34,18 +34,18 @@ msgstr ""
msgid "Item couldn't be fetched." msgid "Item couldn't be fetched."
msgstr "" msgstr ""
#: mod/item.php:260 mod/item.php:264 #: mod/item.php:262 mod/item.php:266
msgid "Empty post discarded." msgid "Empty post discarded."
msgstr "" msgstr ""
#: mod/item.php:435 src/Module/Admin/Themes/Details.php:39 #: mod/item.php:437 src/Module/Admin/Themes/Details.php:39
#: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:42 #: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:42
#: src/Module/Debug/ItemBody.php:57 src/Module/Item/Feed.php:80 #: src/Module/Debug/ItemBody.php:57 src/Module/Item/Feed.php:80
msgid "Item not found." msgid "Item not found."
msgstr "" msgstr ""
#: mod/item.php:459 mod/message.php:66 mod/message.php:112 mod/notes.php:45 #: mod/item.php:461 mod/message.php:66 mod/message.php:112 mod/notes.php:45
#: mod/photos.php:146 mod/photos.php:662 src/Model/Event.php:520 #: mod/photos.php:147 mod/photos.php:663 src/Model/Event.php:520
#: src/Module/Attach.php:55 src/Module/BaseApi.php:103 #: src/Module/Attach.php:55 src/Module/BaseApi.php:103
#: src/Module/BaseNotifications.php:98 src/Module/BaseSettings.php:50 #: src/Module/BaseNotifications.php:98 src/Module/BaseSettings.php:50
#: src/Module/Calendar/Event/API.php:88 src/Module/Calendar/Event/Form.php:84 #: src/Module/Calendar/Event/API.php:88 src/Module/Calendar/Event/Form.php:84
@ -290,16 +290,16 @@ msgstr ""
msgid "Insert web link" msgid "Insert web link"
msgstr "" msgstr ""
#: mod/message.php:200 mod/message.php:356 mod/photos.php:1290 #: mod/message.php:200 mod/message.php:356 mod/photos.php:1291
#: src/Content/Conversation.php:400 src/Content/Conversation.php:1576 #: src/Content/Conversation.php:400 src/Content/Conversation.php:1576
#: src/Module/Item/Compose.php:213 src/Module/Post/Edit.php:145 #: src/Module/Item/Compose.php:213 src/Module/Post/Edit.php:145
#: src/Object/Post.php:618 #: src/Object/Post.php:618
msgid "Please wait" msgid "Please wait"
msgstr "" msgstr ""
#: mod/message.php:201 mod/message.php:355 mod/photos.php:693 #: mod/message.php:201 mod/message.php:355 mod/photos.php:694
#: mod/photos.php:813 mod/photos.php:1090 mod/photos.php:1131 #: mod/photos.php:814 mod/photos.php:1091 mod/photos.php:1132
#: mod/photos.php:1187 mod/photos.php:1267 #: mod/photos.php:1188 mod/photos.php:1268
#: src/Module/Calendar/Event/Form.php:250 src/Module/Contact/Advanced.php:132 #: src/Module/Calendar/Event/Form.php:250 src/Module/Contact/Advanced.php:132
#: src/Module/Contact/Profile.php:370 #: src/Module/Contact/Profile.php:370
#: src/Module/Debug/ActivityPubConversion.php:140 #: src/Module/Debug/ActivityPubConversion.php:140
@ -387,7 +387,7 @@ msgstr ""
msgid "Save" msgid "Save"
msgstr "" msgstr ""
#: mod/photos.php:65 mod/photos.php:128 mod/photos.php:572 #: mod/photos.php:66 mod/photos.php:129 mod/photos.php:573
#: src/Model/Event.php:512 src/Model/Profile.php:234 #: src/Model/Event.php:512 src/Model/Profile.php:234
#: src/Module/Calendar/Export.php:74 src/Module/Calendar/Show.php:74 #: src/Module/Calendar/Export.php:74 src/Module/Calendar/Show.php:74
#: src/Module/DFRN/Poll.php:43 src/Module/Feed.php:64 src/Module/HCard.php:51 #: src/Module/DFRN/Poll.php:43 src/Module/Feed.php:64 src/Module/HCard.php:51
@ -399,100 +399,100 @@ msgstr ""
msgid "User not found." msgid "User not found."
msgstr "" msgstr ""
#: mod/photos.php:102 src/Module/BaseProfile.php:68 #: mod/photos.php:103 src/Module/BaseProfile.php:68
#: src/Module/Profile/Photos.php:375 #: src/Module/Profile/Photos.php:375
msgid "Photo Albums" msgid "Photo Albums"
msgstr "" msgstr ""
#: mod/photos.php:103 src/Module/Profile/Photos.php:376 #: mod/photos.php:104 src/Module/Profile/Photos.php:376
#: src/Module/Profile/Photos.php:396 #: src/Module/Profile/Photos.php:396
msgid "Recent Photos" msgid "Recent Photos"
msgstr "" msgstr ""
#: mod/photos.php:105 mod/photos.php:861 src/Module/Profile/Photos.php:378 #: mod/photos.php:106 mod/photos.php:862 src/Module/Profile/Photos.php:378
#: src/Module/Profile/Photos.php:398 #: src/Module/Profile/Photos.php:398
msgid "Upload New Photos" msgid "Upload New Photos"
msgstr "" msgstr ""
#: mod/photos.php:117 src/Module/BaseSettings.php:72 #: mod/photos.php:118 src/Module/BaseSettings.php:72
#: src/Module/Profile/Photos.php:359 #: src/Module/Profile/Photos.php:359
msgid "everybody" msgid "everybody"
msgstr "" msgstr ""
#: mod/photos.php:153 #: mod/photos.php:154
msgid "Contact information unavailable" msgid "Contact information unavailable"
msgstr "" msgstr ""
#: mod/photos.php:182 #: mod/photos.php:183
msgid "Album not found." msgid "Album not found."
msgstr "" msgstr ""
#: mod/photos.php:238 #: mod/photos.php:239
msgid "Album successfully deleted" msgid "Album successfully deleted"
msgstr "" msgstr ""
#: mod/photos.php:240 #: mod/photos.php:241
msgid "Album was empty." msgid "Album was empty."
msgstr "" msgstr ""
#: mod/photos.php:271 #: mod/photos.php:272
msgid "Failed to delete the photo." msgid "Failed to delete the photo."
msgstr "" msgstr ""
#: mod/photos.php:539 #: mod/photos.php:540
msgid "a photo" msgid "a photo"
msgstr "" msgstr ""
#: mod/photos.php:539 #: mod/photos.php:540
#, php-format #, php-format
msgid "%1$s was tagged in %2$s by %3$s" msgid "%1$s was tagged in %2$s by %3$s"
msgstr "" msgstr ""
#: mod/photos.php:576 src/Module/Conversation/Community.php:160 #: mod/photos.php:577 src/Module/Conversation/Community.php:160
#: src/Module/Directory.php:48 src/Module/Profile/Photos.php:293 #: src/Module/Directory.php:48 src/Module/Profile/Photos.php:293
#: src/Module/Search/Index.php:65 #: src/Module/Search/Index.php:65
msgid "Public access denied." msgid "Public access denied."
msgstr "" msgstr ""
#: mod/photos.php:581 #: mod/photos.php:582
msgid "No photos selected" msgid "No photos selected"
msgstr "" msgstr ""
#: mod/photos.php:709 #: mod/photos.php:710
#, php-format #, php-format
msgid "The maximum accepted image size is %s" msgid "The maximum accepted image size is %s"
msgstr "" msgstr ""
#: mod/photos.php:716 #: mod/photos.php:717
msgid "Upload Photos" msgid "Upload Photos"
msgstr "" msgstr ""
#: mod/photos.php:720 mod/photos.php:809 #: mod/photos.php:721 mod/photos.php:810
msgid "New album name: " msgid "New album name: "
msgstr "" msgstr ""
#: mod/photos.php:721 #: mod/photos.php:722
msgid "or select existing album:" msgid "or select existing album:"
msgstr "" msgstr ""
#: mod/photos.php:722 #: mod/photos.php:723
msgid "Do not show a status post for this upload" msgid "Do not show a status post for this upload"
msgstr "" msgstr ""
#: mod/photos.php:725 mod/photos.php:1086 src/Content/Conversation.php:402 #: mod/photos.php:726 mod/photos.php:1087 src/Content/Conversation.php:402
#: src/Module/Calendar/Event/Form.php:253 src/Module/Post/Edit.php:183 #: src/Module/Calendar/Event/Form.php:253 src/Module/Post/Edit.php:183
msgid "Permissions" msgid "Permissions"
msgstr "" msgstr ""
#: mod/photos.php:790 #: mod/photos.php:791
msgid "Do you really want to delete this photo album and all its photos?" msgid "Do you really want to delete this photo album and all its photos?"
msgstr "" msgstr ""
#: mod/photos.php:791 mod/photos.php:814 #: mod/photos.php:792 mod/photos.php:815
msgid "Delete Album" msgid "Delete Album"
msgstr "" msgstr ""
#: mod/photos.php:792 mod/photos.php:892 src/Content/Conversation.php:417 #: mod/photos.php:793 mod/photos.php:893 src/Content/Conversation.php:417
#: src/Module/Contact/Follow.php:173 src/Module/Contact/Revoke.php:109 #: src/Module/Contact/Follow.php:173 src/Module/Contact/Revoke.php:109
#: src/Module/Contact/Unfollow.php:126 #: src/Module/Contact/Unfollow.php:126
#: src/Module/Media/Attachment/Browser.php:77 #: src/Module/Media/Attachment/Browser.php:77
@ -502,132 +502,132 @@ msgstr ""
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr ""
#: mod/photos.php:818 #: mod/photos.php:819
msgid "Edit Album" msgid "Edit Album"
msgstr "" msgstr ""
#: mod/photos.php:819 #: mod/photos.php:820
msgid "Drop Album" msgid "Drop Album"
msgstr "" msgstr ""
#: mod/photos.php:823 #: mod/photos.php:824
msgid "Show Newest First" msgid "Show Newest First"
msgstr "" msgstr ""
#: mod/photos.php:825 #: mod/photos.php:826
msgid "Show Oldest First" msgid "Show Oldest First"
msgstr "" msgstr ""
#: mod/photos.php:846 src/Module/Profile/Photos.php:346 #: mod/photos.php:847 src/Module/Profile/Photos.php:346
msgid "View Photo" msgid "View Photo"
msgstr "" msgstr ""
#: mod/photos.php:878 #: mod/photos.php:879
msgid "Permission denied. Access to this item may be restricted." msgid "Permission denied. Access to this item may be restricted."
msgstr "" msgstr ""
#: mod/photos.php:880 #: mod/photos.php:881
msgid "Photo not available" msgid "Photo not available"
msgstr "" msgstr ""
#: mod/photos.php:890 #: mod/photos.php:891
msgid "Do you really want to delete this photo?" msgid "Do you really want to delete this photo?"
msgstr "" msgstr ""
#: mod/photos.php:891 mod/photos.php:1091 #: mod/photos.php:892 mod/photos.php:1092
msgid "Delete Photo" msgid "Delete Photo"
msgstr "" msgstr ""
#: mod/photos.php:989 #: mod/photos.php:990
msgid "View photo" msgid "View photo"
msgstr "" msgstr ""
#: mod/photos.php:991 #: mod/photos.php:992
msgid "Edit photo" msgid "Edit photo"
msgstr "" msgstr ""
#: mod/photos.php:992 #: mod/photos.php:993
msgid "Delete photo" msgid "Delete photo"
msgstr "" msgstr ""
#: mod/photos.php:993 #: mod/photos.php:994
msgid "Use as profile photo" msgid "Use as profile photo"
msgstr "" msgstr ""
#: mod/photos.php:1000 #: mod/photos.php:1001
msgid "Private Photo" msgid "Private Photo"
msgstr "" msgstr ""
#: mod/photos.php:1006 #: mod/photos.php:1007
msgid "View Full Size" msgid "View Full Size"
msgstr "" msgstr ""
#: mod/photos.php:1059 #: mod/photos.php:1060
msgid "Tags: " msgid "Tags: "
msgstr "" msgstr ""
#: mod/photos.php:1062 #: mod/photos.php:1063
msgid "[Select tags to remove]" msgid "[Select tags to remove]"
msgstr "" msgstr ""
#: mod/photos.php:1077 #: mod/photos.php:1078
msgid "New album name" msgid "New album name"
msgstr "" msgstr ""
#: mod/photos.php:1078 #: mod/photos.php:1079
msgid "Caption" msgid "Caption"
msgstr "" msgstr ""
#: mod/photos.php:1079 #: mod/photos.php:1080
msgid "Add a Tag" msgid "Add a Tag"
msgstr "" msgstr ""
#: mod/photos.php:1079 #: mod/photos.php:1080
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr "" msgstr ""
#: mod/photos.php:1080 #: mod/photos.php:1081
msgid "Do not rotate" msgid "Do not rotate"
msgstr "" msgstr ""
#: mod/photos.php:1081 #: mod/photos.php:1082
msgid "Rotate CW (right)" msgid "Rotate CW (right)"
msgstr "" msgstr ""
#: mod/photos.php:1082 #: mod/photos.php:1083
msgid "Rotate CCW (left)" msgid "Rotate CCW (left)"
msgstr "" msgstr ""
#: mod/photos.php:1128 mod/photos.php:1184 mod/photos.php:1264 #: mod/photos.php:1129 mod/photos.php:1185 mod/photos.php:1265
#: src/Module/Contact.php:618 src/Module/Item/Compose.php:195 #: src/Module/Contact.php:618 src/Module/Item/Compose.php:195
#: src/Object/Post.php:1156 #: src/Object/Post.php:1156
msgid "This is you" msgid "This is you"
msgstr "" msgstr ""
#: mod/photos.php:1130 mod/photos.php:1186 mod/photos.php:1266 #: mod/photos.php:1131 mod/photos.php:1187 mod/photos.php:1267
#: src/Module/Moderation/Reports.php:110 src/Object/Post.php:612 #: src/Module/Moderation/Reports.php:110 src/Object/Post.php:612
#: src/Object/Post.php:1158 #: src/Object/Post.php:1158
msgid "Comment" msgid "Comment"
msgstr "" msgstr ""
#: mod/photos.php:1132 mod/photos.php:1188 mod/photos.php:1268 #: mod/photos.php:1133 mod/photos.php:1189 mod/photos.php:1269
#: src/Content/Conversation.php:414 src/Module/Calendar/Event/Form.php:248 #: src/Content/Conversation.php:414 src/Module/Calendar/Event/Form.php:248
#: src/Module/Item/Compose.php:208 src/Module/Post/Edit.php:165 #: src/Module/Item/Compose.php:208 src/Module/Post/Edit.php:165
#: src/Object/Post.php:1172 #: src/Object/Post.php:1172
msgid "Preview" msgid "Preview"
msgstr "" msgstr ""
#: mod/photos.php:1133 src/Content/Conversation.php:368 #: mod/photos.php:1134 src/Content/Conversation.php:368
#: src/Module/Post/Edit.php:130 src/Object/Post.php:1160 #: src/Module/Post/Edit.php:130 src/Object/Post.php:1160
msgid "Loading..." msgid "Loading..."
msgstr "" msgstr ""
#: mod/photos.php:1225 src/Content/Conversation.php:1498 #: mod/photos.php:1226 src/Content/Conversation.php:1498
#: src/Object/Post.php:274 #: src/Object/Post.php:274
msgid "Select" msgid "Select"
msgstr "" msgstr ""
#: mod/photos.php:1226 src/Content/Conversation.php:1499 #: mod/photos.php:1227 src/Content/Conversation.php:1499
#: src/Module/Moderation/Users/Active.php:136 #: src/Module/Moderation/Users/Active.php:136
#: src/Module/Moderation/Users/Blocked.php:136 #: src/Module/Moderation/Users/Blocked.php:136
#: src/Module/Moderation/Users/Index.php:151 #: src/Module/Moderation/Users/Index.php:151
@ -636,23 +636,23 @@ msgstr ""
msgid "Delete" msgid "Delete"
msgstr "" msgstr ""
#: mod/photos.php:1287 src/Object/Post.php:440 #: mod/photos.php:1288 src/Object/Post.php:440
msgid "Like" msgid "Like"
msgstr "" msgstr ""
#: mod/photos.php:1288 src/Object/Post.php:440 #: mod/photos.php:1289 src/Object/Post.php:440
msgid "I like this (toggle)" msgid "I like this (toggle)"
msgstr "" msgstr ""
#: mod/photos.php:1289 src/Object/Post.php:441 #: mod/photos.php:1290 src/Object/Post.php:441
msgid "Dislike" msgid "Dislike"
msgstr "" msgstr ""
#: mod/photos.php:1291 src/Object/Post.php:441 #: mod/photos.php:1292 src/Object/Post.php:441
msgid "I don't like this (toggle)" msgid "I don't like this (toggle)"
msgstr "" msgstr ""
#: mod/photos.php:1313 #: mod/photos.php:1314
msgid "Map" msgid "Map"
msgstr "" msgstr ""
@ -2268,39 +2268,39 @@ msgstr ""
msgid "last" msgid "last"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:702 src/Content/Text/BBCode.php:1878 #: src/Content/Text/BBCode.php:704 src/Content/Text/BBCode.php:1880
#: src/Content/Text/BBCode.php:1879 #: src/Content/Text/BBCode.php:1881
msgid "Image/photo" msgid "Image/photo"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:920 #: src/Content/Text/BBCode.php:922
#, php-format #, php-format
msgid "" msgid ""
"<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s" "<a href=\"%1$s\" target=\"_blank\" rel=\"noopener noreferrer\">%2$s</a> %3$s"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:945 src/Model/Item.php:4012 #: src/Content/Text/BBCode.php:947 src/Model/Item.php:4012
#: src/Model/Item.php:4018 src/Model/Item.php:4019 #: src/Model/Item.php:4018 src/Model/Item.php:4019
msgid "Link to source" msgid "Link to source"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:1759 src/Content/Text/HTML.php:906 #: src/Content/Text/BBCode.php:1761 src/Content/Text/HTML.php:906
msgid "Click to open/close" msgid "Click to open/close"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:1814 #: src/Content/Text/BBCode.php:1816
msgid "$1 wrote:" msgid "$1 wrote:"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:1888 src/Content/Text/BBCode.php:1889 #: src/Content/Text/BBCode.php:1890 src/Content/Text/BBCode.php:1891
msgid "Encrypted content" msgid "Encrypted content"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:2194 #: src/Content/Text/BBCode.php:2212
msgid "Invalid source protocol" msgid "Invalid source protocol"
msgstr "" msgstr ""
#: src/Content/Text/BBCode.php:2213 #: src/Content/Text/BBCode.php:2231
msgid "Invalid link protocol" msgid "Invalid link protocol"
msgstr "" msgstr ""
@ -2431,7 +2431,7 @@ msgstr ""
msgid "Organisations" msgid "Organisations"
msgstr "" msgstr ""
#: src/Content/Widget.php:537 src/Model/Contact.php:1729 #: src/Content/Widget.php:537 src/Model/Contact.php:1730
msgid "News" msgid "News"
msgstr "" msgstr ""
@ -3304,84 +3304,84 @@ msgstr ""
msgid "Approve" msgid "Approve"
msgstr "" msgstr ""
#: src/Model/Contact.php:1725 #: src/Model/Contact.php:1726
msgid "Organisation" msgid "Organisation"
msgstr "" msgstr ""
#: src/Model/Contact.php:1733 #: src/Model/Contact.php:1734
msgid "Group" msgid "Group"
msgstr "" msgstr ""
#: src/Model/Contact.php:1737 src/Module/Moderation/BaseUsers.php:131 #: src/Model/Contact.php:1738 src/Module/Moderation/BaseUsers.php:131
msgid "Relay" msgid "Relay"
msgstr "" msgstr ""
#: src/Model/Contact.php:3046 #: src/Model/Contact.php:3048
msgid "Disallowed profile URL." msgid "Disallowed profile URL."
msgstr "" msgstr ""
#: src/Model/Contact.php:3051 src/Module/Friendica.php:100 #: src/Model/Contact.php:3053 src/Module/Friendica.php:100
msgid "Blocked domain" msgid "Blocked domain"
msgstr "" msgstr ""
#: src/Model/Contact.php:3056 #: src/Model/Contact.php:3058
msgid "Connect URL missing." msgid "Connect URL missing."
msgstr "" msgstr ""
#: src/Model/Contact.php:3065 #: src/Model/Contact.php:3067
msgid "" msgid ""
"The contact could not be added. Please check the relevant network " "The contact could not be added. Please check the relevant network "
"credentials in your Settings -> Social Networks page." "credentials in your Settings -> Social Networks page."
msgstr "" msgstr ""
#: src/Model/Contact.php:3083 #: src/Model/Contact.php:3085
#, php-format #, php-format
msgid "Expected network %s does not match actual network %s" msgid "Expected network %s does not match actual network %s"
msgstr "" msgstr ""
#: src/Model/Contact.php:3100 #: src/Model/Contact.php:3102
msgid "This seems to be a relay account. They can't be followed by users." msgid "This seems to be a relay account. They can't be followed by users."
msgstr "" msgstr ""
#: src/Model/Contact.php:3107 #: src/Model/Contact.php:3109
msgid "The profile address specified does not provide adequate information." msgid "The profile address specified does not provide adequate information."
msgstr "" msgstr ""
#: src/Model/Contact.php:3109 #: src/Model/Contact.php:3111
msgid "No compatible communication protocols or feeds were discovered." msgid "No compatible communication protocols or feeds were discovered."
msgstr "" msgstr ""
#: src/Model/Contact.php:3112 #: src/Model/Contact.php:3114
msgid "An author or name was not found." msgid "An author or name was not found."
msgstr "" msgstr ""
#: src/Model/Contact.php:3115 #: src/Model/Contact.php:3117
msgid "No browser URL could be matched to this address." msgid "No browser URL could be matched to this address."
msgstr "" msgstr ""
#: src/Model/Contact.php:3118 #: src/Model/Contact.php:3120
msgid "" msgid ""
"Unable to match @-style Identity Address with a known protocol or email " "Unable to match @-style Identity Address with a known protocol or email "
"contact." "contact."
msgstr "" msgstr ""
#: src/Model/Contact.php:3119 #: src/Model/Contact.php:3121
msgid "Use mailto: in front of address to force email check." msgid "Use mailto: in front of address to force email check."
msgstr "" msgstr ""
#: src/Model/Contact.php:3125 #: src/Model/Contact.php:3127
msgid "" msgid ""
"The profile address specified belongs to a network which has been disabled " "The profile address specified belongs to a network which has been disabled "
"on this site." "on this site."
msgstr "" msgstr ""
#: src/Model/Contact.php:3130 #: src/Model/Contact.php:3132
msgid "" msgid ""
"Limited profile. This person will be unable to receive direct/personal " "Limited profile. This person will be unable to receive direct/personal "
"notifications from you." "notifications from you."
msgstr "" msgstr ""
#: src/Model/Contact.php:3196 #: src/Model/Contact.php:3198
msgid "Unable to retrieve contact information." msgid "Unable to retrieve contact information."
msgstr "" msgstr ""
@ -3640,90 +3640,90 @@ msgstr ""
msgid "Upcoming events the next 7 days:" msgid "Upcoming events the next 7 days:"
msgstr "" msgstr ""
#: src/Model/Profile.php:882 #: src/Model/Profile.php:876
#, php-format #, php-format
msgid "OpenWebAuth: %1$s welcomes %2$s" msgid "OpenWebAuth: %1$s welcomes %2$s"
msgstr "" msgstr ""
#: src/Model/Profile.php:1022 #: src/Model/Profile.php:1016
msgid "Hometown:" msgid "Hometown:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1023 #: src/Model/Profile.php:1017
msgid "Marital Status:" msgid "Marital Status:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1024 #: src/Model/Profile.php:1018
msgid "With:" msgid "With:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1025 #: src/Model/Profile.php:1019
msgid "Since:" msgid "Since:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1026 #: src/Model/Profile.php:1020
msgid "Sexual Preference:" msgid "Sexual Preference:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1027 #: src/Model/Profile.php:1021
msgid "Political Views:" msgid "Political Views:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1028 #: src/Model/Profile.php:1022
msgid "Religious Views:" msgid "Religious Views:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1029 #: src/Model/Profile.php:1023
msgid "Likes:" msgid "Likes:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1030 #: src/Model/Profile.php:1024
msgid "Dislikes:" msgid "Dislikes:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1031 #: src/Model/Profile.php:1025
msgid "Title/Description:" msgid "Title/Description:"
msgstr "" msgstr ""
#: src/Model/Profile.php:1032 src/Module/Admin/Summary.php:197 #: src/Model/Profile.php:1026 src/Module/Admin/Summary.php:197
#: src/Module/Moderation/Report/Create.php:280 #: src/Module/Moderation/Report/Create.php:280
#: src/Module/Moderation/Summary.php:76 #: src/Module/Moderation/Summary.php:76
msgid "Summary" msgid "Summary"
msgstr "" msgstr ""
#: src/Model/Profile.php:1033 #: src/Model/Profile.php:1027
msgid "Musical interests" msgid "Musical interests"
msgstr "" msgstr ""
#: src/Model/Profile.php:1034 #: src/Model/Profile.php:1028
msgid "Books, literature" msgid "Books, literature"
msgstr "" msgstr ""
#: src/Model/Profile.php:1035 #: src/Model/Profile.php:1029
msgid "Television" msgid "Television"
msgstr "" msgstr ""
#: src/Model/Profile.php:1036 #: src/Model/Profile.php:1030
msgid "Film/dance/culture/entertainment" msgid "Film/dance/culture/entertainment"
msgstr "" msgstr ""
#: src/Model/Profile.php:1037 #: src/Model/Profile.php:1031
msgid "Hobbies/Interests" msgid "Hobbies/Interests"
msgstr "" msgstr ""
#: src/Model/Profile.php:1038 #: src/Model/Profile.php:1032
msgid "Love/romance" msgid "Love/romance"
msgstr "" msgstr ""
#: src/Model/Profile.php:1039 #: src/Model/Profile.php:1033
msgid "Work/employment" msgid "Work/employment"
msgstr "" msgstr ""
#: src/Model/Profile.php:1040 #: src/Model/Profile.php:1034
msgid "School/education" msgid "School/education"
msgstr "" msgstr ""
#: src/Model/Profile.php:1041 #: src/Model/Profile.php:1035
msgid "Contact information and Social Networks" msgid "Contact information and Social Networks"
msgstr "" msgstr ""
@ -6334,7 +6334,7 @@ msgstr ""
#: src/Module/Contact/Posts.php:78 src/Module/Contact/Posts.php:83 #: src/Module/Contact/Posts.php:78 src/Module/Contact/Posts.php:83
#: src/Module/Contact/Posts.php:88 src/Module/Contact/Profile.php:159 #: src/Module/Contact/Posts.php:88 src/Module/Contact/Profile.php:159
#: src/Module/Contact/Profile.php:164 src/Module/Contact/Profile.php:169 #: src/Module/Contact/Profile.php:164 src/Module/Contact/Profile.php:169
#: src/Module/Contact/Redir.php:95 src/Module/Contact/Redir.php:141 #: src/Module/Contact/Redir.php:91 src/Module/Contact/Redir.php:145
#: src/Module/FriendSuggest.php:71 src/Module/FriendSuggest.php:109 #: src/Module/FriendSuggest.php:71 src/Module/FriendSuggest.php:109
msgid "Contact not found." msgid "Contact not found."
msgstr "" msgstr ""
@ -6650,8 +6650,8 @@ msgid_plural "Contacts (%s)"
msgstr[0] "" msgstr[0] ""
msgstr[1] "" msgstr[1] ""
#: src/Module/Contact/Follow.php:70 src/Module/Contact/Redir.php:63 #: src/Module/Contact/Follow.php:70 src/Module/Contact/Redir.php:59
#: src/Module/Contact/Redir.php:223 src/Module/Conversation/Community.php:166 #: src/Module/Contact/Redir.php:220 src/Module/Conversation/Community.php:166
#: src/Module/Debug/ItemBody.php:38 src/Module/Diaspora/Receive.php:57 #: src/Module/Debug/ItemBody.php:38 src/Module/Diaspora/Receive.php:57
#: src/Module/Item/Display.php:96 src/Module/Item/Feed.php:59 #: src/Module/Item/Display.php:96 src/Module/Item/Feed.php:59
#: src/Module/Item/Follow.php:41 src/Module/Item/Ignore.php:41 #: src/Module/Item/Follow.php:41 src/Module/Item/Ignore.php:41
@ -7029,8 +7029,8 @@ msgstr ""
#: src/Module/Contact/Profile.php:441 #: src/Module/Contact/Profile.php:441
msgid "" msgid ""
"If enabled, posts from this contact will only appear in channels, but not in " "If enabled, posts from this contact will only appear in channels and network "
"the network stream." "streams in circles, but not in the general network stream."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:509 #: src/Module/Contact/Profile.php:509
@ -7057,7 +7057,7 @@ msgstr ""
msgid "Revoke the follow from this contact" msgid "Revoke the follow from this contact"
msgstr "" msgstr ""
#: src/Module/Contact/Redir.php:135 src/Module/Contact/Redir.php:187 #: src/Module/Contact/Redir.php:139
msgid "Bad Request." msgid "Bad Request."
msgstr "" msgstr ""
@ -7543,7 +7543,7 @@ msgstr ""
msgid "Help:" msgid "Help:"
msgstr "" msgstr ""
#: src/Module/Home.php:63 #: src/Module/Home.php:66
#, php-format #, php-format
msgid "Welcome to %s" msgid "Welcome to %s"
msgstr "" msgstr ""
@ -9131,20 +9131,20 @@ msgstr ""
#: src/Module/Profile/Conversations.php:106 #: src/Module/Profile/Conversations.php:106
#: src/Module/Profile/Conversations.php:109 src/Module/Profile/Profile.php:351 #: src/Module/Profile/Conversations.php:109 src/Module/Profile/Profile.php:351
#: src/Module/Profile/Profile.php:354 src/Protocol/Feed.php:1095 #: src/Module/Profile/Profile.php:354 src/Protocol/Feed.php:1073
#: src/Protocol/OStatus.php:1011 #: src/Protocol/OStatus.php:1011
#, php-format #, php-format
msgid "%s's timeline" msgid "%s's timeline"
msgstr "" msgstr ""
#: src/Module/Profile/Conversations.php:107 src/Module/Profile/Profile.php:352 #: src/Module/Profile/Conversations.php:107 src/Module/Profile/Profile.php:352
#: src/Protocol/Feed.php:1099 src/Protocol/OStatus.php:1016 #: src/Protocol/Feed.php:1077 src/Protocol/OStatus.php:1016
#, php-format #, php-format
msgid "%s's posts" msgid "%s's posts"
msgstr "" msgstr ""
#: src/Module/Profile/Conversations.php:108 src/Module/Profile/Profile.php:353 #: src/Module/Profile/Conversations.php:108 src/Module/Profile/Profile.php:353
#: src/Protocol/Feed.php:1102 src/Protocol/OStatus.php:1020 #: src/Protocol/Feed.php:1080 src/Protocol/OStatus.php:1020
#, php-format #, php-format
msgid "%s's comments" msgid "%s's comments"
msgstr "" msgstr ""