Merge pull request #14022 from annando/channel-only

Possibility to mark contacts as "channel only"
This commit is contained in:
Hypolite Petovan 2024-03-21 16:11:49 +00:00 committed by GitHub
commit 732d738b82
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 208 additions and 199 deletions

View File

@ -1,6 +1,6 @@
-- ------------------------------------------ -- ------------------------------------------
-- Friendica 2024.06-dev (Yellow Archangel) -- Friendica 2024.06-dev (Yellow Archangel)
-- DB_UPDATE_VERSION 1557 -- DB_UPDATE_VERSION 1558
-- ------------------------------------------ -- ------------------------------------------
@ -1947,6 +1947,7 @@ CREATE TABLE IF NOT EXISTS `user-contact` (
`ignored` boolean COMMENT 'Posts from this contact are ignored', `ignored` boolean COMMENT 'Posts from this contact are ignored',
`collapsed` boolean COMMENT 'Posts from this contact are collapsed', `collapsed` boolean COMMENT 'Posts from this contact are collapsed',
`hidden` boolean COMMENT 'This contact is hidden from the others', `hidden` boolean COMMENT 'This contact is hidden from the others',
`channel-only` boolean COMMENT 'This contact is displayed only in channels, but not in the network stream.',
`is-blocked` boolean COMMENT 'User is blocked by this contact', `is-blocked` boolean COMMENT 'User is blocked by this contact',
`channel-frequency` tinyint unsigned COMMENT 'Controls the frequency of the appearance of this contact in channels', `channel-frequency` tinyint unsigned COMMENT 'Controls the frequency of the appearance of this contact in channels',
`pending` boolean COMMENT '', `pending` boolean COMMENT '',
@ -2876,36 +2877,6 @@ CREATE VIEW `tag-view` AS SELECT
LEFT JOIN `tag` ON `post-tag`.`tid` = `tag`.`id` LEFT JOIN `tag` ON `post-tag`.`tid` = `tag`.`id`
LEFT JOIN `contact` ON `post-tag`.`cid` = `contact`.`id`; LEFT JOIN `contact` ON `post-tag`.`cid` = `contact`.`id`;
--
-- VIEW network-item-view
--
DROP VIEW IF EXISTS `network-item-view`;
CREATE VIEW `network-item-view` AS SELECT
`post-user`.`uri-id` AS `uri-id`,
`post-thread-user`.`post-user-id` AS `parent`,
`post-user`.`received` AS `received`,
`post-thread-user`.`commented` AS `commented`,
`post-user`.`created` AS `created`,
`post-user`.`uid` AS `uid`,
`post-thread-user`.`starred` AS `starred`,
`post-thread-user`.`mention` AS `mention`,
`post-user`.`network` AS `network`,
`post-user`.`unseen` AS `unseen`,
`post-user`.`gravity` AS `gravity`,
`post-user`.`contact-id` AS `contact-id`,
`ownercontact`.`contact-type` AS `contact-type`
FROM `post-user`
INNER JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
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-user`.`hidden` IS NULL OR NOT `post-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 (`authorcontact`.`id`, `ownercontact`.`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 network-thread-view -- VIEW network-thread-view
-- --
@ -2931,8 +2902,8 @@ CREATE VIEW `network-thread-view` AS SELECT
AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`) 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 (`post-thread-user`.`hidden` IS NULL OR NOT `post-thread-user`.`hidden`)
AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked` 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 (`authorcontact`.`id`, `ownercontact`.`id`) AND (`blocked` OR `ignored`)) 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 owner-view -- VIEW owner-view

View File

@ -6,29 +6,30 @@ User specific public contact data
Fields Fields
------ ------
| Field | Description | Type | Null | Key | Default | Extra | | Field | Description | Type | Null | Key | Default | Extra |
| ------------------------- | ----------------------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- | | ------------------------- | -------------------------------------------------------------------------- | ------------------ | ---- | --- | ------- | ----- |
| cid | Contact id of the linked public contact | int unsigned | NO | PRI | 0 | | | cid | Contact id of the linked public contact | int unsigned | NO | PRI | 0 | |
| uid | User id | mediumint unsigned | NO | PRI | 0 | | | uid | User id | mediumint unsigned | NO | PRI | 0 | |
| uri-id | Id of the item-uri table entry that contains the contact url | int unsigned | YES | | NULL | | | uri-id | Id of the item-uri table entry that contains the contact url | int unsigned | YES | | NULL | |
| blocked | Contact is completely blocked for this user | boolean | YES | | NULL | | | blocked | Contact is completely blocked for this user | boolean | YES | | NULL | |
| ignored | Posts from this contact are ignored | boolean | YES | | NULL | | | ignored | Posts from this contact are ignored | boolean | YES | | NULL | |
| collapsed | Posts from this contact are collapsed | boolean | YES | | NULL | | | collapsed | Posts from this contact are collapsed | boolean | YES | | NULL | |
| hidden | This contact is hidden from the others | boolean | YES | | NULL | | | hidden | This contact is hidden from the others | boolean | YES | | NULL | |
| is-blocked | User is blocked by this contact | boolean | YES | | NULL | | | channel-only | This contact is displayed only in channels, but not in the network stream. | boolean | YES | | NULL | |
| channel-frequency | Controls the frequency of the appearance of this contact in channels | tinyint unsigned | YES | | NULL | | | is-blocked | User is blocked by this contact | boolean | YES | | NULL | |
| pending | | boolean | YES | | NULL | | | channel-frequency | Controls the frequency of the appearance of this contact in channels | tinyint unsigned | YES | | NULL | |
| rel | The kind of the relation between the user and the contact | tinyint unsigned | YES | | NULL | | | pending | | boolean | YES | | NULL | |
| info | | mediumtext | YES | | NULL | | | rel | The kind of the relation between the user and the contact | tinyint unsigned | YES | | NULL | |
| notify_new_posts | | boolean | YES | | NULL | | | info | | mediumtext | YES | | NULL | |
| remote_self | 0 => No mirroring, 1-2 => Mirror as own post, 3 => Mirror as reshare | tinyint unsigned | YES | | NULL | | | notify_new_posts | | boolean | YES | | NULL | |
| fetch_further_information | 0 => None, 1 => Fetch information, 3 => Fetch keywords, 2 => Fetch both | tinyint unsigned | YES | | NULL | | | remote_self | 0 => No mirroring, 1-2 => Mirror as own post, 3 => Mirror as reshare | tinyint unsigned | YES | | NULL | |
| ffi_keyword_denylist | | text | YES | | NULL | | | fetch_further_information | 0 => None, 1 => Fetch information, 3 => Fetch keywords, 2 => Fetch both | tinyint unsigned | YES | | NULL | |
| subhub | | boolean | YES | | NULL | | | ffi_keyword_denylist | | text | YES | | NULL | |
| hub-verify | | varbinary(383) | YES | | NULL | | | subhub | | boolean | YES | | NULL | |
| protocol | Protocol of the contact | char(4) | YES | | NULL | | | hub-verify | | varbinary(383) | YES | | NULL | |
| rating | Automatically detected feed poll frequency | tinyint | YES | | NULL | | | protocol | Protocol of the contact | char(4) | YES | | NULL | |
| priority | Feed poll priority | tinyint unsigned | YES | | NULL | | | rating | Automatically detected feed poll frequency | tinyint | YES | | NULL | |
| priority | Feed poll priority | tinyint unsigned | YES | | NULL | |
Indexes Indexes
------------ ------------

View File

@ -364,6 +364,53 @@ class User
return $frequency; return $frequency;
} }
/**
* Set the channel only value for contact id and user id
*
* @param int $cid Either public contact id or user's contact id
* @param int $uid User ID
* @param int $isChannelOnly Is channel only
* @return void
* @throws \Exception
*/
public static function setChannelOnly(int $cid, int $uid, bool $isChannelOnly)
{
$cdata = Contact::getPublicAndUserContactID($cid, $uid);
if (empty($cdata)) {
return;
}
DBA::update('user-contact', ['channel-only' => $isChannelOnly], ['cid' => $cdata['public'], 'uid' => $uid], true);
}
/**
* Returns if the contact is channel only for contact id and user id
*
* @param int $cid Either public contact id or user's contact id
* @param int $uid User ID
* @return bool Contact is channel only
* @throws HTTPException\InternalServerErrorException
* @throws \ImagickException
*/
public static function getChannelOnly(int $cid, int $uid): bool
{
$cdata = Contact::getPublicAndUserContactID($cid, $uid);
if (empty($cdata)) {
return false;
}
$isChannelOnly = false;
if (!empty($cdata['public'])) {
$public_contact = DBA::selectFirst('user-contact', ['channel-only'], ['cid' => $cdata['public'], 'uid' => $uid]);
if (DBA::isResult($public_contact)) {
$isChannelOnly = $public_contact['channel-only'] ?? false;
}
}
return $isChannelOnly;
}
/** /**
* Set/Release that the user is blocked by the contact * Set/Release that the user is blocked by the contact
* *

View File

@ -95,32 +95,32 @@ class Profile extends BaseModule
return; return;
} }
Hook::callAll('contact_edit_post', $_POST); Hook::callAll('contact_edit_post', $request);
$fields = []; $fields = [];
if (isset($_POST['hidden'])) { if (isset($request['hidden'])) {
$fields['hidden'] = !empty($_POST['hidden']); $fields['hidden'] = !empty($request['hidden']);
} }
if (isset($_POST['notify_new_posts'])) { if (isset($request['notify_new_posts'])) {
$fields['notify_new_posts'] = !empty($_POST['notify_new_posts']); $fields['notify_new_posts'] = !empty($request['notify_new_posts']);
} }
if (isset($_POST['fetch_further_information'])) { if (isset($request['fetch_further_information'])) {
$fields['fetch_further_information'] = intval($_POST['fetch_further_information']); $fields['fetch_further_information'] = intval($request['fetch_further_information']);
} }
if (isset($_POST['remote_self'])) { if (isset($request['remote_self'])) {
$fields['remote_self'] = intval($_POST['remote_self']); $fields['remote_self'] = intval($request['remote_self']);
} }
if (isset($_POST['ffi_keyword_denylist'])) { if (isset($request['ffi_keyword_denylist'])) {
$fields['ffi_keyword_denylist'] = $_POST['ffi_keyword_denylist']; $fields['ffi_keyword_denylist'] = $request['ffi_keyword_denylist'];
} }
if (isset($_POST['poll'])) { if (isset($request['poll'])) {
$priority = intval($_POST['poll']); $priority = intval($request['poll']);
if ($priority > 5 || $priority < 0) { if ($priority > 5 || $priority < 0) {
$priority = 0; $priority = 0;
} }
@ -128,12 +128,16 @@ class Profile extends BaseModule
$fields['priority'] = $priority; $fields['priority'] = $priority;
} }
if (isset($_POST['info'])) { if (isset($request['info'])) {
$fields['info'] = $_POST['info']; $fields['info'] = $request['info'];
} }
if (isset($_POST['channel_frequency'])) { if (isset($request['channel_frequency'])) {
Contact\User::setChannelFrequency($cdata['user'], $this->session->getLocalUserId(), $_POST['channel_frequency']); Contact\User::setChannelFrequency($cdata['user'], $this->session->getLocalUserId(), $request['channel_frequency']);
}
if (isset($request['channel_only'])) {
Contact\User::setChannelOnly($cdata['user'], $this->session->getLocalUserId(), $request['channel_only']);
} }
if (!Contact::update($fields, ['id' => $cdata['user'], 'uid' => $this->session->getLocalUserId()])) { if (!Contact::update($fields, ['id' => $cdata['user'], 'uid' => $this->session->getLocalUserId()])) {
@ -340,7 +344,8 @@ class Profile extends BaseModule
]; ];
} }
$channel_frequency = Contact\User::getChannelFrequency($contact['id'], $this->session->getLocalUserId()); $channel_frequency = Contact\User::getChannelFrequency($contact['id'], $this->session->getLocalUserId());
$channel_only = Contact\User::getChannelOnly($contact['id'], $this->session->getLocalUserId());
$poll_interval = null; $poll_interval = null;
if ((($contact['network'] == Protocol::FEED) && !$this->config->get('system', 'adjust_poll_frequency')) || ($contact['network'] == Protocol::MAIL)) { if ((($contact['network'] == Protocol::FEED) && !$this->config->get('system', 'adjust_poll_frequency')) || ($contact['network'] == Protocol::MAIL)) {
@ -432,6 +437,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.')],
]); ]);
$arr = ['contact' => $contact, 'output' => $o]; $arr = ['contact' => $contact, 'output' => $o];

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', 1557); define('DB_UPDATE_VERSION', 1558);
} }
return [ return [
@ -1937,6 +1937,7 @@ return [
"ignored" => ["type" => "boolean", "comment" => "Posts from this contact are ignored"], "ignored" => ["type" => "boolean", "comment" => "Posts from this contact are ignored"],
"collapsed" => ["type" => "boolean", "comment" => "Posts from this contact are collapsed"], "collapsed" => ["type" => "boolean", "comment" => "Posts from this contact are collapsed"],
"hidden" => ["type" => "boolean", "comment" => "This contact is hidden from the others"], "hidden" => ["type" => "boolean", "comment" => "This contact is hidden from the others"],
"channel-only" => ["type" => "boolean", "comment" => "This contact is displayed only in channels, but not in the network stream."],
"is-blocked" => ["type" => "boolean", "comment" => "User is blocked by this contact"], "is-blocked" => ["type" => "boolean", "comment" => "User is blocked by this contact"],
"channel-frequency" => ["type" => "tinyint unsigned", "comment" => "Controls the frequency of the appearance of this contact in channels"], "channel-frequency" => ["type" => "tinyint unsigned", "comment" => "Controls the frequency of the appearance of this contact in channels"],
"pending" => ["type" => "boolean", "comment" => ""], "pending" => ["type" => "boolean", "comment" => ""],

View File

@ -891,34 +891,6 @@
LEFT JOIN `tag` ON `post-tag`.`tid` = `tag`.`id` LEFT JOIN `tag` ON `post-tag`.`tid` = `tag`.`id`
LEFT JOIN `contact` ON `post-tag`.`cid` = `contact`.`id`" LEFT JOIN `contact` ON `post-tag`.`cid` = `contact`.`id`"
], ],
"network-item-view" => [
"fields" => [
"uri-id" => ["post-user", "uri-id"],
"parent" => ["post-thread-user", "post-user-id"],
"received" => ["post-user", "received"],
"commented" => ["post-thread-user", "commented"],
"created" => ["post-user", "created"],
"uid" => ["post-user", "uid"],
"starred" => ["post-thread-user", "starred"],
"mention" => ["post-thread-user", "mention"],
"network" => ["post-user", "network"],
"unseen" => ["post-user", "unseen"],
"gravity" => ["post-user", "gravity"],
"contact-id" => ["post-user", "contact-id"],
"contact-type" => ["ownercontact", "contact-type"],
],
"query" => "FROM `post-user`
INNER JOIN `post-thread-user` ON `post-thread-user`.`uri-id` = `post-user`.`parent-uri-id` AND `post-thread-user`.`uid` = `post-user`.`uid`
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-user`.`hidden` IS NULL OR NOT `post-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 (`authorcontact`.`id`, `ownercontact`.`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`)"
],
"network-thread-view" => [ "network-thread-view" => [
"fields" => [ "fields" => [
"uri-id" => ["post-thread-user", "uri-id"], "uri-id" => ["post-thread-user", "uri-id"],
@ -942,8 +914,8 @@
AND (NOT `contact`.`readonly` AND NOT `contact`.`blocked` AND NOT `contact`.`pending`) 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 (`post-thread-user`.`hidden` IS NULL OR NOT `post-thread-user`.`hidden`)
AND NOT `authorcontact`.`blocked` AND NOT `ownercontact`.`blocked` 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 (`authorcontact`.`id`, `ownercontact`.`id`) AND (`blocked` OR `ignored`)) 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`)"
], ],
"owner-view" => [ "owner-view" => [
"fields" => [ "fields" => [

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-03-21 10:48+0000\n" "POT-Creation-Date: 2024-03-21 13:12+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"
@ -300,7 +300,7 @@ msgstr ""
#: mod/photos.php:820 mod/photos.php:1097 mod/photos.php:1138 #: mod/photos.php:820 mod/photos.php:1097 mod/photos.php:1138
#: mod/photos.php:1194 mod/photos.php:1274 #: mod/photos.php:1194 mod/photos.php:1274
#: 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:364 #: src/Module/Contact/Profile.php:369
#: src/Module/Debug/ActivityPubConversion.php:140 #: src/Module/Debug/ActivityPubConversion.php:140
#: src/Module/Debug/Babel.php:315 src/Module/Debug/Localtime.php:64 #: src/Module/Debug/Babel.php:315 src/Module/Debug/Localtime.php:64
#: src/Module/Debug/Probe.php:54 src/Module/Debug/WebFinger.php:51 #: src/Module/Debug/Probe.php:54 src/Module/Debug/WebFinger.php:51
@ -1840,7 +1840,7 @@ msgid "Send PM"
msgstr "" msgstr ""
#: src/Content/Item.php:436 src/Module/Contact.php:467 #: src/Content/Item.php:436 src/Module/Contact.php:467
#: src/Module/Contact/Profile.php:511 #: src/Module/Contact/Profile.php:517
#: src/Module/Moderation/Blocklist/Contact.php:116 #: src/Module/Moderation/Blocklist/Contact.php:116
#: src/Module/Moderation/Users/Active.php:137 #: src/Module/Moderation/Users/Active.php:137
#: src/Module/Moderation/Users/Index.php:152 #: src/Module/Moderation/Users/Index.php:152
@ -1848,7 +1848,7 @@ msgid "Block"
msgstr "" msgstr ""
#: src/Content/Item.php:437 src/Module/Contact.php:468 #: src/Content/Item.php:437 src/Module/Contact.php:468
#: src/Module/Contact/Profile.php:519 #: src/Module/Contact/Profile.php:525
#: src/Module/Notifications/Introductions.php:134 #: src/Module/Notifications/Introductions.php:134
#: src/Module/Notifications/Introductions.php:206 #: src/Module/Notifications/Introductions.php:206
#: src/Module/Notifications/Notification.php:89 #: src/Module/Notifications/Notification.php:89
@ -1856,7 +1856,7 @@ msgid "Ignore"
msgstr "" msgstr ""
#: src/Content/Item.php:438 src/Module/Contact.php:469 #: src/Content/Item.php:438 src/Module/Contact.php:469
#: src/Module/Contact/Profile.php:527 #: src/Module/Contact/Profile.php:533
msgid "Collapse" msgid "Collapse"
msgstr "" msgstr ""
@ -1924,7 +1924,7 @@ msgstr ""
#: src/Content/Nav.php:230 src/Module/BaseProfile.php:49 #: src/Content/Nav.php:230 src/Module/BaseProfile.php:49
#: src/Module/BaseSettings.php:98 src/Module/Contact.php:503 #: src/Module/BaseSettings.php:98 src/Module/Contact.php:503
#: src/Module/Contact/Profile.php:419 src/Module/Profile/Profile.php:268 #: src/Module/Contact/Profile.php:424 src/Module/Profile/Profile.php:268
#: src/Module/Welcome.php:57 view/theme/frio/theme.php:233 #: src/Module/Welcome.php:57 view/theme/frio/theme.php:233
msgid "Profile" msgid "Profile"
msgstr "" msgstr ""
@ -2235,7 +2235,7 @@ msgid "The end"
msgstr "" msgstr ""
#: src/Content/Text/HTML.php:860 src/Content/Widget/VCard.php:126 #: src/Content/Text/HTML.php:860 src/Content/Widget/VCard.php:126
#: src/Model/Profile.php:476 src/Module/Contact/Profile.php:471 #: src/Model/Profile.php:476 src/Module/Contact/Profile.php:477
msgid "Follow" msgid "Follow"
msgstr "" msgstr ""
@ -2449,18 +2449,18 @@ msgid "Mention"
msgstr "" msgstr ""
#: src/Content/Widget/VCard.php:119 src/Model/Profile.php:380 #: src/Content/Widget/VCard.php:119 src/Model/Profile.php:380
#: src/Module/Contact/Profile.php:408 src/Module/Profile/Profile.php:199 #: src/Module/Contact/Profile.php:413 src/Module/Profile/Profile.php:199
msgid "XMPP:" msgid "XMPP:"
msgstr "" msgstr ""
#: src/Content/Widget/VCard.php:120 src/Model/Profile.php:381 #: src/Content/Widget/VCard.php:120 src/Model/Profile.php:381
#: src/Module/Contact/Profile.php:410 src/Module/Profile/Profile.php:203 #: src/Module/Contact/Profile.php:415 src/Module/Profile/Profile.php:203
msgid "Matrix:" msgid "Matrix:"
msgstr "" msgstr ""
#: src/Content/Widget/VCard.php:121 src/Model/Event.php:82 #: src/Content/Widget/VCard.php:121 src/Model/Event.php:82
#: src/Model/Event.php:109 src/Model/Event.php:471 src/Model/Event.php:960 #: src/Model/Event.php:109 src/Model/Event.php:471 src/Model/Event.php:960
#: src/Model/Profile.php:375 src/Module/Contact/Profile.php:406 #: src/Model/Profile.php:375 src/Module/Contact/Profile.php:411
#: src/Module/Directory.php:147 src/Module/Notifications/Introductions.php:187 #: src/Module/Directory.php:147 src/Module/Notifications/Introductions.php:187
#: src/Module/Profile/Profile.php:221 #: src/Module/Profile/Profile.php:221
msgid "Location:" msgid "Location:"
@ -2473,7 +2473,7 @@ msgstr ""
#: src/Content/Widget/VCard.php:128 src/Model/Contact.php:1237 #: src/Content/Widget/VCard.php:128 src/Model/Contact.php:1237
#: src/Model/Contact.php:1249 src/Model/Profile.php:478 #: src/Model/Contact.php:1249 src/Model/Profile.php:478
#: src/Module/Contact/Profile.php:463 #: src/Module/Contact/Profile.php:469
msgid "Unfollow" msgid "Unfollow"
msgstr "" msgstr ""
@ -3541,7 +3541,7 @@ msgstr ""
msgid "Homepage:" msgid "Homepage:"
msgstr "" msgstr ""
#: src/Model/Profile.php:379 src/Module/Contact/Profile.php:412 #: src/Model/Profile.php:379 src/Module/Contact/Profile.php:417
#: src/Module/Notifications/Introductions.php:189 #: src/Module/Notifications/Introductions.php:189
msgid "About:" msgid "About:"
msgstr "" msgstr ""
@ -5436,7 +5436,7 @@ msgid ""
"received." "received."
msgstr "" msgstr ""
#: src/Module/Admin/Site.php:591 src/Module/Contact/Profile.php:309 #: src/Module/Admin/Site.php:591 src/Module/Contact/Profile.php:313
#: src/Module/Settings/TwoFactor/Index.php:146 #: src/Module/Settings/TwoFactor/Index.php:146
msgid "Disabled" msgid "Disabled"
msgstr "" msgstr ""
@ -6271,8 +6271,8 @@ msgstr ""
#: src/Module/Contact/Conversations.php:91 #: src/Module/Contact/Conversations.php:91
#: src/Module/Contact/Conversations.php:96 src/Module/Contact/Media.php:61 #: src/Module/Contact/Conversations.php:96 src/Module/Contact/Media.php:61
#: 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:154 #: src/Module/Contact/Posts.php:88 src/Module/Contact/Profile.php:158
#: src/Module/Contact/Profile.php:159 src/Module/Contact/Profile.php:164 #: src/Module/Contact/Profile.php:163 src/Module/Contact/Profile.php:168
#: src/Module/Contact/Redir.php:94 src/Module/Contact/Redir.php:140 #: src/Module/Contact/Redir.php:94 src/Module/Contact/Redir.php:140
#: 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."
@ -6429,18 +6429,18 @@ msgstr ""
msgid "Update" msgid "Update"
msgstr "" msgstr ""
#: src/Module/Contact.php:467 src/Module/Contact/Profile.php:511 #: src/Module/Contact.php:467 src/Module/Contact/Profile.php:517
#: src/Module/Moderation/Blocklist/Contact.php:117 #: src/Module/Moderation/Blocklist/Contact.php:117
#: src/Module/Moderation/Users/Blocked.php:138 #: src/Module/Moderation/Users/Blocked.php:138
#: src/Module/Moderation/Users/Index.php:154 #: src/Module/Moderation/Users/Index.php:154
msgid "Unblock" msgid "Unblock"
msgstr "" msgstr ""
#: src/Module/Contact.php:468 src/Module/Contact/Profile.php:519 #: src/Module/Contact.php:468 src/Module/Contact/Profile.php:525
msgid "Unignore" msgid "Unignore"
msgstr "" msgstr ""
#: src/Module/Contact.php:469 src/Module/Contact/Profile.php:527 #: src/Module/Contact.php:469 src/Module/Contact/Profile.php:533
msgid "Uncollapse" msgid "Uncollapse"
msgstr "" msgstr ""
@ -6492,7 +6492,7 @@ msgstr ""
msgid "Pending incoming contact request" msgid "Pending incoming contact request"
msgstr "" msgstr ""
#: src/Module/Contact.php:626 src/Module/Contact/Profile.php:371 #: src/Module/Contact.php:626 src/Module/Contact/Profile.php:376
#, php-format #, php-format
msgid "Visit %s's profile [%s]" msgid "Visit %s's profile [%s]"
msgstr "" msgstr ""
@ -6628,7 +6628,7 @@ msgstr ""
msgid "Your Identity Address:" msgid "Your Identity Address:"
msgstr "" msgstr ""
#: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:402 #: src/Module/Contact/Follow.php:170 src/Module/Contact/Profile.php:407
#: src/Module/Contact/Unfollow.php:129 #: src/Module/Contact/Unfollow.php:129
#: src/Module/Moderation/Blocklist/Contact.php:133 #: src/Module/Moderation/Blocklist/Contact.php:133
#: src/Module/Moderation/Reports.php:104 #: src/Module/Moderation/Reports.php:104
@ -6637,7 +6637,7 @@ msgstr ""
msgid "Profile URL" msgid "Profile URL"
msgstr "" msgstr ""
#: src/Module/Contact/Follow.php:171 src/Module/Contact/Profile.php:414 #: src/Module/Contact/Follow.php:171 src/Module/Contact/Profile.php:419
#: src/Module/Notifications/Introductions.php:191 #: src/Module/Notifications/Introductions.php:191
#: src/Module/Profile/Profile.php:234 #: src/Module/Profile/Profile.php:234
msgid "Tags:" msgid "Tags:"
@ -6676,245 +6676,245 @@ msgstr ""
msgid "Profile Match" msgid "Profile Match"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:140 #: src/Module/Contact/Profile.php:144
msgid "Failed to update contact record." msgid "Failed to update contact record."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:190 #: src/Module/Contact/Profile.php:194
msgid "Contact has been unblocked" msgid "Contact has been unblocked"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:194 #: src/Module/Contact/Profile.php:198
msgid "Contact has been blocked" msgid "Contact has been blocked"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:206 #: src/Module/Contact/Profile.php:210
msgid "Contact has been unignored" msgid "Contact has been unignored"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:210 #: src/Module/Contact/Profile.php:214
msgid "Contact has been ignored" msgid "Contact has been ignored"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:222 #: src/Module/Contact/Profile.php:226
msgid "Contact has been uncollapsed" msgid "Contact has been uncollapsed"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:226 #: src/Module/Contact/Profile.php:230
msgid "Contact has been collapsed" msgid "Contact has been collapsed"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:254 #: src/Module/Contact/Profile.php:258
#, php-format #, php-format
msgid "You are mutual friends with %s" msgid "You are mutual friends with %s"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:255 #: src/Module/Contact/Profile.php:259
#, php-format #, php-format
msgid "You are sharing with %s" msgid "You are sharing with %s"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:256 #: src/Module/Contact/Profile.php:260
#, php-format #, php-format
msgid "%s is sharing with you" msgid "%s is sharing with you"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:272 #: src/Module/Contact/Profile.php:276
msgid "Private communications are not available for this contact." msgid "Private communications are not available for this contact."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:282 #: src/Module/Contact/Profile.php:286
msgid "This contact is on a server you ignored." msgid "This contact is on a server you ignored."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:285 #: src/Module/Contact/Profile.php:289
msgid "Never" msgid "Never"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:288 #: src/Module/Contact/Profile.php:292
msgid "(Update was not successful)" msgid "(Update was not successful)"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:288 #: src/Module/Contact/Profile.php:292
msgid "(Update was successful)" msgid "(Update was successful)"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:290 src/Module/Contact/Profile.php:482 #: src/Module/Contact/Profile.php:294 src/Module/Contact/Profile.php:488
msgid "Suggest friends" msgid "Suggest friends"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:294 #: src/Module/Contact/Profile.php:298
#, php-format #, php-format
msgid "Network type: %s" msgid "Network type: %s"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:299 #: src/Module/Contact/Profile.php:303
msgid "Communications lost with this contact!" msgid "Communications lost with this contact!"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:305 #: src/Module/Contact/Profile.php:309
msgid "Fetch further information for feeds" msgid "Fetch further information for feeds"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:307 #: src/Module/Contact/Profile.php:311
msgid "" msgid ""
"Fetch information like preview pictures, title and teaser from the feed " "Fetch information like preview pictures, title and teaser from the feed "
"item. You can activate this if the feed doesn't contain much text. Keywords " "item. You can activate this if the feed doesn't contain much text. Keywords "
"are taken from the meta header in the feed item and are posted as hash tags." "are taken from the meta header in the feed item and are posted as hash tags."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:310 #: src/Module/Contact/Profile.php:314
msgid "Fetch information" msgid "Fetch information"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:311 #: src/Module/Contact/Profile.php:315
msgid "Fetch keywords" msgid "Fetch keywords"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:312 #: src/Module/Contact/Profile.php:316
msgid "Fetch information and keywords" msgid "Fetch information and keywords"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:322 src/Module/Contact/Profile.php:327 #: src/Module/Contact/Profile.php:326 src/Module/Contact/Profile.php:331
#: src/Module/Contact/Profile.php:332 src/Module/Contact/Profile.php:338 #: src/Module/Contact/Profile.php:336 src/Module/Contact/Profile.php:342
msgid "No mirroring" msgid "No mirroring"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:323 src/Module/Contact/Profile.php:333 #: src/Module/Contact/Profile.php:327 src/Module/Contact/Profile.php:337
#: src/Module/Contact/Profile.php:339 #: src/Module/Contact/Profile.php:343
msgid "Mirror as my own posting" msgid "Mirror as my own posting"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:328 src/Module/Contact/Profile.php:334 #: src/Module/Contact/Profile.php:332 src/Module/Contact/Profile.php:338
msgid "Native reshare" msgid "Native reshare"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:353 #: src/Module/Contact/Profile.php:358
msgid "Contact Information / Notes" msgid "Contact Information / Notes"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:354 #: src/Module/Contact/Profile.php:359
msgid "Contact Settings" msgid "Contact Settings"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:362 #: src/Module/Contact/Profile.php:367
msgid "Contact" msgid "Contact"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:366 #: src/Module/Contact/Profile.php:371
msgid "Their personal note" msgid "Their personal note"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:368 #: src/Module/Contact/Profile.php:373
msgid "Edit contact notes" msgid "Edit contact notes"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:372 #: src/Module/Contact/Profile.php:377
msgid "Block/Unblock contact" msgid "Block/Unblock contact"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:373 #: src/Module/Contact/Profile.php:378
#: src/Module/Moderation/Report/Create.php:293 #: src/Module/Moderation/Report/Create.php:293
msgid "Ignore contact" msgid "Ignore contact"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:374 #: src/Module/Contact/Profile.php:379
msgid "View conversations" msgid "View conversations"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:379 #: src/Module/Contact/Profile.php:384
msgid "Last update:" msgid "Last update:"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:381 #: src/Module/Contact/Profile.php:386
msgid "Update public posts" msgid "Update public posts"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:383 src/Module/Contact/Profile.php:492 #: src/Module/Contact/Profile.php:388 src/Module/Contact/Profile.php:498
msgid "Update now" msgid "Update now"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:385 #: src/Module/Contact/Profile.php:390
msgid "Awaiting connection acknowledge" msgid "Awaiting connection acknowledge"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:386 #: src/Module/Contact/Profile.php:391
msgid "Currently blocked" msgid "Currently blocked"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:387 #: src/Module/Contact/Profile.php:392
msgid "Currently ignored" msgid "Currently ignored"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:388 #: src/Module/Contact/Profile.php:393
msgid "Currently collapsed" msgid "Currently collapsed"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:389 #: src/Module/Contact/Profile.php:394
msgid "Currently archived" msgid "Currently archived"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:392 #: src/Module/Contact/Profile.php:397
msgid "Manage remote servers" msgid "Manage remote servers"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:394 #: src/Module/Contact/Profile.php:399
#: src/Module/Notifications/Introductions.php:192 #: src/Module/Notifications/Introductions.php:192
msgid "Hide this contact from others" msgid "Hide this contact from others"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:394 #: src/Module/Contact/Profile.php:399
msgid "" msgid ""
"Replies/likes to your public posts <strong>may</strong> still be visible" "Replies/likes to your public posts <strong>may</strong> still be visible"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:395 #: src/Module/Contact/Profile.php:400
msgid "Notification for new posts" msgid "Notification for new posts"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:395 #: src/Module/Contact/Profile.php:400
msgid "Send a notification of every new post of this contact" msgid "Send a notification of every new post of this contact"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:397 #: src/Module/Contact/Profile.php:402
msgid "Keyword Deny List" msgid "Keyword Deny List"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:397 #: src/Module/Contact/Profile.php:402
msgid "" msgid ""
"Comma separated list of keywords that should not be converted to hashtags, " "Comma separated list of keywords that should not be converted to hashtags, "
"when \"Fetch information and keywords\" is selected" "when \"Fetch information and keywords\" is selected"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:415 #: src/Module/Contact/Profile.php:420
#: src/Module/Settings/TwoFactor/Index.php:160 #: src/Module/Settings/TwoFactor/Index.php:160
msgid "Actions" msgid "Actions"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:417 #: src/Module/Contact/Profile.php:422
#: src/Module/Settings/TwoFactor/Index.php:140 view/theme/frio/theme.php:232 #: src/Module/Settings/TwoFactor/Index.php:140 view/theme/frio/theme.php:232
msgid "Status" msgid "Status"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:423 #: src/Module/Contact/Profile.php:428
msgid "Mirror postings from this contact" msgid "Mirror postings from this contact"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:425 #: src/Module/Contact/Profile.php:430
msgid "" msgid ""
"Mark this contact as remote_self, this will cause friendica to repost new " "Mark this contact as remote_self, this will cause friendica to repost new "
"entries from this contact." "entries from this contact."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:428 #: src/Module/Contact/Profile.php:433
msgid "Channel Settings" msgid "Channel Settings"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:429 #: src/Module/Contact/Profile.php:434
msgid "Frequency of this contact in relevant channels" msgid "Frequency of this contact in relevant channels"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:430 #: src/Module/Contact/Profile.php:435
msgid "" msgid ""
"Depending on the type of the channel not all posts from this contact are " "Depending on the type of the channel not all posts from this contact are "
"displayed. By default, posts need to have a minimum amount of interactions " "displayed. By default, posts need to have a minimum amount of interactions "
@ -6924,64 +6924,74 @@ msgid ""
"block or hide the contact completely." "block or hide the contact completely."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:431 #: src/Module/Contact/Profile.php:436
msgid "Default frequency" msgid "Default frequency"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:431 #: src/Module/Contact/Profile.php:436
msgid "" msgid ""
"Posts by this contact are displayed in the \"for you\" channel if you " "Posts by this contact are displayed in the \"for you\" channel if you "
"interact often with this contact or if a post reached some level of " "interact often with this contact or if a post reached some level of "
"interaction." "interaction."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:432 #: src/Module/Contact/Profile.php:437
msgid "Display all posts of this contact" msgid "Display all posts of this contact"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:432 #: src/Module/Contact/Profile.php:437
msgid "All posts from this contact will appear on the \"for you\" channel" msgid "All posts from this contact will appear on the \"for you\" channel"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:433 #: src/Module/Contact/Profile.php:438
msgid "Display only few posts" msgid "Display only few posts"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:433 #: src/Module/Contact/Profile.php:438
msgid "" msgid ""
"When a contact creates a lot of posts in a short period, this setting " "When a contact creates a lot of posts in a short period, this setting "
"reduces the number of displayed posts in every channel." "reduces the number of displayed posts in every channel."
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:434 #: src/Module/Contact/Profile.php:439
msgid "Never display posts" msgid "Never display posts"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:434 #: src/Module/Contact/Profile.php:439
msgid "Posts from this contact will never be displayed in any channel" msgid "Posts from this contact will never be displayed in any channel"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:502 #: src/Module/Contact/Profile.php:440
msgid "Channel Only"
msgstr ""
#: src/Module/Contact/Profile.php:440
msgid ""
"If enabled, posts from this contact will only appear in channels, but not in "
"the network stream."
msgstr ""
#: src/Module/Contact/Profile.php:508
msgid "Refetch contact data" msgid "Refetch contact data"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:513 #: src/Module/Contact/Profile.php:519
msgid "Toggle Blocked status" msgid "Toggle Blocked status"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:521 #: src/Module/Contact/Profile.php:527
msgid "Toggle Ignored status" msgid "Toggle Ignored status"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:529 #: src/Module/Contact/Profile.php:535
msgid "Toggle Collapsed status" msgid "Toggle Collapsed status"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:536 src/Module/Contact/Revoke.php:106 #: src/Module/Contact/Profile.php:542 src/Module/Contact/Revoke.php:106
msgid "Revoke Follow" msgid "Revoke Follow"
msgstr "" msgstr ""
#: src/Module/Contact/Profile.php:538 #: src/Module/Contact/Profile.php:544
msgid "Revoke the follow from this contact" msgid "Revoke the follow from this contact"
msgstr "" msgstr ""

View File

@ -93,6 +93,7 @@
{{/if}} {{/if}}
{{if $channel_settings_label}} {{if $channel_settings_label}}
<h4>{{$channel_settings_label}}</h4> <h4>{{$channel_settings_label}}</h4>
{{include file="field_checkbox.tpl" field=$channel_only}}
<label>{{$frequency_label}}</label> <label>{{$frequency_label}}</label>
{{include file="field_radio.tpl" field=$frequency_default}} {{include file="field_radio.tpl" field=$frequency_default}}
{{include file="field_radio.tpl" field=$frequency_always}} {{include file="field_radio.tpl" field=$frequency_always}}

View File

@ -200,7 +200,7 @@
</div> </div>
<div id="contact-edit-channel-collapse" class="panel-body panel-collapse collapse" role="tabpanel" aria-labelledby="contact-edit-channel"> <div id="contact-edit-channel-collapse" class="panel-body panel-collapse collapse" role="tabpanel" aria-labelledby="contact-edit-channel">
<div class="section-content-tools-wrapper"> <div class="section-content-tools-wrapper">
{{include file="field_checkbox.tpl" field=$channel_only}}
<label>{{$frequency_label}}</label> <label>{{$frequency_label}}</label>
{{include file="field_radio.tpl" field=$frequency_default}} {{include file="field_radio.tpl" field=$frequency_default}}
{{include file="field_radio.tpl" field=$frequency_always}} {{include file="field_radio.tpl" field=$frequency_always}}