mirror of
https://github.com/friendica/friendica
synced 2024-11-09 23:02:54 +00:00
User defined channels can now base on circles/channels
This commit is contained in:
parent
2164787499
commit
9f23bee6e4
11 changed files with 136 additions and 73 deletions
|
@ -500,6 +500,7 @@ CREATE TABLE IF NOT EXISTS `channel` (
|
||||||
`uid` mediumint unsigned NOT NULL COMMENT 'User id',
|
`uid` mediumint unsigned NOT NULL COMMENT 'User id',
|
||||||
`label` varchar(64) NOT NULL COMMENT 'Channel label',
|
`label` varchar(64) NOT NULL COMMENT 'Channel label',
|
||||||
`description` varchar(64) COMMENT 'Channel description',
|
`description` varchar(64) COMMENT 'Channel description',
|
||||||
|
`circle` int COMMENT 'Circle or channel that this channel is based on',
|
||||||
`access-key` varchar(1) COMMENT 'Access key',
|
`access-key` varchar(1) COMMENT 'Access key',
|
||||||
`include-tags` varchar(255) COMMENT 'Comma separated list of tags that will be included in the channel',
|
`include-tags` varchar(255) COMMENT 'Comma separated list of tags that will be included in the channel',
|
||||||
`exclude-tags` varchar(255) COMMENT 'Comma separated list of tags that aren\'t allowed in the channel',
|
`exclude-tags` varchar(255) COMMENT 'Comma separated list of tags that aren\'t allowed in the channel',
|
||||||
|
|
|
@ -12,6 +12,7 @@ Fields
|
||||||
| uid | User id | mediumint unsigned | NO | | NULL | |
|
| uid | User id | mediumint unsigned | NO | | NULL | |
|
||||||
| label | Channel label | varchar(64) | NO | | NULL | |
|
| label | Channel label | varchar(64) | NO | | NULL | |
|
||||||
| description | Channel description | varchar(64) | YES | | NULL | |
|
| description | Channel description | varchar(64) | YES | | NULL | |
|
||||||
|
| circle | Circle or channel that this channel is based on | int | YES | | NULL | |
|
||||||
| access-key | Access key | varchar(1) | YES | | NULL | |
|
| access-key | Access key | varchar(1) | YES | | NULL | |
|
||||||
| include-tags | Comma separated list of tags that will be included in the channel | varchar(255) | YES | | NULL | |
|
| include-tags | Comma separated list of tags that will be included in the channel | varchar(255) | YES | | NULL | |
|
||||||
| exclude-tags | Comma separated list of tags that aren't allowed in the channel | varchar(255) | YES | | NULL | |
|
| exclude-tags | Comma separated list of tags that aren't allowed in the channel | varchar(255) | YES | | NULL | |
|
||||||
|
|
|
@ -62,6 +62,8 @@ final class Timeline extends \Friendica\BaseEntity
|
||||||
protected $path;
|
protected $path;
|
||||||
/** @var int */
|
/** @var int */
|
||||||
protected $uid;
|
protected $uid;
|
||||||
|
/** @var int */
|
||||||
|
protected $circle;
|
||||||
/** @var string */
|
/** @var string */
|
||||||
protected $includeTags;
|
protected $includeTags;
|
||||||
/** @var string */
|
/** @var string */
|
||||||
|
@ -71,7 +73,7 @@ final class Timeline extends \Friendica\BaseEntity
|
||||||
/** @var int */
|
/** @var int */
|
||||||
protected $mediaType;
|
protected $mediaType;
|
||||||
|
|
||||||
public function __construct(string $code = null, string $label = null, string $description = null, string $accessKey = null, string $path = null, int $uid = null, string $includeTags = null, string $excludeTags = null, string $fullTextSearch = null, int $mediaType = null)
|
public function __construct(string $code = null, string $label = null, string $description = null, string $accessKey = null, string $path = null, int $uid = null, string $includeTags = null, string $excludeTags = null, string $fullTextSearch = null, int $mediaType = null, int $circle = null)
|
||||||
{
|
{
|
||||||
$this->code = $code;
|
$this->code = $code;
|
||||||
$this->label = $label;
|
$this->label = $label;
|
||||||
|
@ -83,5 +85,6 @@ final class Timeline extends \Friendica\BaseEntity
|
||||||
$this->excludeTags = $excludeTags;
|
$this->excludeTags = $excludeTags;
|
||||||
$this->fullTextSearch = $fullTextSearch;
|
$this->fullTextSearch = $fullTextSearch;
|
||||||
$this->mediaType = $mediaType;
|
$this->mediaType = $mediaType;
|
||||||
|
$this->circle = $circle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ final class Timeline extends \Friendica\BaseFactory implements ICanCreateFromTab
|
||||||
$row['exclude-tags'] ?? null,
|
$row['exclude-tags'] ?? null,
|
||||||
$row['full-text-search'] ?? null,
|
$row['full-text-search'] ?? null,
|
||||||
$row['media-type'] ?? null,
|
$row['media-type'] ?? null,
|
||||||
|
$row['circle'] ?? null,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -91,6 +91,7 @@ class Channel extends \Friendica\BaseRepository
|
||||||
'description' => $Channel->description,
|
'description' => $Channel->description,
|
||||||
'access-key' => $Channel->accessKey,
|
'access-key' => $Channel->accessKey,
|
||||||
'uid' => $Channel->uid,
|
'uid' => $Channel->uid,
|
||||||
|
'circle' => $Channel->circle,
|
||||||
'include-tags' => $Channel->includeTags,
|
'include-tags' => $Channel->includeTags,
|
||||||
'exclude-tags' => $Channel->excludeTags,
|
'exclude-tags' => $Channel->excludeTags,
|
||||||
'full-text-search' => $Channel->fullTextSearch,
|
'full-text-search' => $Channel->fullTextSearch,
|
||||||
|
|
|
@ -478,6 +478,22 @@ class Circle
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getByUID(int $uid): array
|
||||||
|
{
|
||||||
|
$circles = [];
|
||||||
|
|
||||||
|
$stmt = DBA::select('group', [], ['deleted' => false, 'uid' => $uid, 'cid' => null], ['order' => ['id']]);
|
||||||
|
while ($circle = DBA::fetch($stmt)) {
|
||||||
|
$circles[] = [
|
||||||
|
'id' => $circle['id'],
|
||||||
|
'name' => $circle['name'],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
DBA::close($stmt);
|
||||||
|
|
||||||
|
return $circles;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns a templated circle selection list
|
* Returns a templated circle selection list
|
||||||
*
|
*
|
||||||
|
|
|
@ -375,6 +375,16 @@ class Timeline extends BaseModule
|
||||||
|
|
||||||
$condition = [];
|
$condition = [];
|
||||||
|
|
||||||
|
if (!empty($channel->circle)) {
|
||||||
|
if ($channel->circle == -1) {
|
||||||
|
$condition = ["`owner-id` IN (SELECT `pid` FROM `account-user-view` WHERE `uid` = ? AND `rel` IN (?, ?))", $uid, Contact::SHARING, Contact::FRIEND];
|
||||||
|
} elseif ($channel->circle == -2) {
|
||||||
|
$condition = ["`owner-id` IN (SELECT `pid` FROM `account-user-view` WHERE `uid` = ? AND `rel` = ?)", $uid, Contact::FOLLOWER];
|
||||||
|
} elseif ($channel->circle > 0) {
|
||||||
|
$condition = DBA::mergeConditions($condition, ["`owner-id` IN (SELECT `pid` FROM `group_member` INNER JOIN `account-user-view` ON `group_member`.`contact-id` = `account-user-view`.`id` WHERE `gid` = ? AND `account-user-view`.`uid` = ?)", $channel->circle, $uid]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!empty($channel->fullTextSearch)) {
|
if (!empty($channel->fullTextSearch)) {
|
||||||
$search = $channel->fullTextSearch;
|
$search = $channel->fullTextSearch;
|
||||||
foreach (['from', 'to', 'group', 'tag', 'network', 'visibility'] as $keyword) {
|
foreach (['from', 'to', 'group', 'tag', 'network', 'visibility'] as $keyword) {
|
||||||
|
@ -399,7 +409,8 @@ class Timeline extends BaseModule
|
||||||
$condition = DBA::mergeConditions($condition, ["`media-type` & ?", $channel->mediaType]);
|
$condition = DBA::mergeConditions($condition, ["`media-type` & ?", $channel->mediaType]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $condition;
|
// For "addLanguageCondition" to work, the condition must not be empty
|
||||||
|
return $condition ?: ["true"];
|
||||||
}
|
}
|
||||||
|
|
||||||
private function addLanguageCondition(int $uid, array $condition): array
|
private function addLanguageCondition(int $uid, array $condition): array
|
||||||
|
|
|
@ -27,6 +27,7 @@ use Friendica\Content\Conversation\Repository\Channel;
|
||||||
use Friendica\Core\L10n;
|
use Friendica\Core\L10n;
|
||||||
use Friendica\Core\Renderer;
|
use Friendica\Core\Renderer;
|
||||||
use Friendica\Core\Session\Capability\IHandleUserSessions;
|
use Friendica\Core\Session\Capability\IHandleUserSessions;
|
||||||
|
use Friendica\Model\Circle;
|
||||||
use Friendica\Module\BaseSettings;
|
use Friendica\Module\BaseSettings;
|
||||||
use Friendica\Module\Response;
|
use Friendica\Module\Response;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
|
@ -67,6 +68,7 @@ class Channels extends BaseSettings
|
||||||
'description' => $request['new_description'],
|
'description' => $request['new_description'],
|
||||||
'access-key' => substr(mb_strtolower($request['new_access_key']), 0, 1),
|
'access-key' => substr(mb_strtolower($request['new_access_key']), 0, 1),
|
||||||
'uid' => $uid,
|
'uid' => $uid,
|
||||||
|
'circle' => (int)$request['new_circle'],
|
||||||
'include-tags' => $this->cleanTags($request['new_include_tags']),
|
'include-tags' => $this->cleanTags($request['new_include_tags']),
|
||||||
'exclude-tags' => $this->cleanTags($request['new_exclude_tags']),
|
'exclude-tags' => $this->cleanTags($request['new_exclude_tags']),
|
||||||
'full-text-search' => $this->cleanTags($request['new_text_search']),
|
'full-text-search' => $this->cleanTags($request['new_text_search']),
|
||||||
|
@ -90,6 +92,7 @@ class Channels extends BaseSettings
|
||||||
'description' => $request['description'][$id],
|
'description' => $request['description'][$id],
|
||||||
'access-key' => substr(mb_strtolower($request['access_key'][$id]), 0, 1),
|
'access-key' => substr(mb_strtolower($request['access_key'][$id]), 0, 1),
|
||||||
'uid' => $uid,
|
'uid' => $uid,
|
||||||
|
'circle' => (int)$request['circle'][$id],
|
||||||
'include-tags' => $this->cleanTags($request['include_tags'][$id]),
|
'include-tags' => $this->cleanTags($request['include_tags'][$id]),
|
||||||
'exclude-tags' => $this->cleanTags($request['exclude_tags'][$id]),
|
'exclude-tags' => $this->cleanTags($request['exclude_tags'][$id]),
|
||||||
'full-text-search' => $this->cleanTags($request['text_search'][$id]),
|
'full-text-search' => $this->cleanTags($request['text_search'][$id]),
|
||||||
|
@ -111,12 +114,23 @@ class Channels extends BaseSettings
|
||||||
throw new HTTPException\ForbiddenException($this->t('Permission denied.'));
|
throw new HTTPException\ForbiddenException($this->t('Permission denied.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$circles = [
|
||||||
|
0 => $this->l10n->t('Global Community'),
|
||||||
|
-1 => $this->l10n->t('Following'),
|
||||||
|
-2 => $this->l10n->t('Followers'),
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach (Circle::getByUID($uid) as $circle) {
|
||||||
|
$circles[$circle['id']] = $circle['name'];
|
||||||
|
}
|
||||||
|
|
||||||
$blocklistform = [];
|
$blocklistform = [];
|
||||||
foreach ($this->channel->selectByUid($uid) as $channel) {
|
foreach ($this->channel->selectByUid($uid) as $channel) {
|
||||||
$blocklistform[] = [
|
$blocklistform[] = [
|
||||||
'label' => ["label[$channel->code]", $this->t('Label'), $channel->label, '', $this->t('Required')],
|
'label' => ["label[$channel->code]", $this->t('Label'), $channel->label, '', $this->t('Required')],
|
||||||
'description' => ["description[$channel->code]", $this->t("Description"), $channel->description],
|
'description' => ["description[$channel->code]", $this->t("Description"), $channel->description],
|
||||||
'access_key' => ["access_key[$channel->code]", $this->t("Access Key"), $channel->accessKey],
|
'access_key' => ["access_key[$channel->code]", $this->t("Access Key"), $channel->accessKey],
|
||||||
|
'circle' => ["circle[$channel->code]", $this->t('Circle/Channel'), $channel->circle, '', $circles],
|
||||||
'include_tags' => ["include_tags[$channel->code]", $this->t("Include Tags"), $channel->includeTags],
|
'include_tags' => ["include_tags[$channel->code]", $this->t("Include Tags"), $channel->includeTags],
|
||||||
'exclude_tags' => ["exclude_tags[$channel->code]", $this->t("Exclude Tags"), $channel->excludeTags],
|
'exclude_tags' => ["exclude_tags[$channel->code]", $this->t("Exclude Tags"), $channel->excludeTags],
|
||||||
'text_search' => ["text_search[$channel->code]", $this->t("Full Text Search"), $channel->fullTextSearch],
|
'text_search' => ["text_search[$channel->code]", $this->t("Full Text Search"), $channel->fullTextSearch],
|
||||||
|
@ -132,6 +146,7 @@ class Channels extends BaseSettings
|
||||||
'label' => ["new_label", $this->t('Label'), '', $this->t('Short name for the channel. It is displayed on the channels widget.'), $this->t('Required')],
|
'label' => ["new_label", $this->t('Label'), '', $this->t('Short name for the channel. It is displayed on the channels widget.'), $this->t('Required')],
|
||||||
'description' => ["new_description", $this->t("Description"), '', $this->t('This should describe the content of the channel in a few word.')],
|
'description' => ["new_description", $this->t("Description"), '', $this->t('This should describe the content of the channel in a few word.')],
|
||||||
'access_key' => ["new_access_key", $this->t("Access Key"), '', $this->t('When you want to access this channel via an access key, you can define it here. Pay attention to not use an already used one.')],
|
'access_key' => ["new_access_key", $this->t("Access Key"), '', $this->t('When you want to access this channel via an access key, you can define it here. Pay attention to not use an already used one.')],
|
||||||
|
'circle' => ['new_circle', $this->t('Circle/Channel'), 0, $this->t('Select a circle or channel, that your channel should be based on.'), $circles],
|
||||||
'include_tags' => ["new_include_tags", $this->t("Include Tags"), '', $this->t('Comma separated list of tags. A post will be used when it contains any of the listed tags.')],
|
'include_tags' => ["new_include_tags", $this->t("Include Tags"), '', $this->t('Comma separated list of tags. A post will be used when it contains any of the listed tags.')],
|
||||||
'exclude_tags' => ["new_exclude_tags", $this->t("Exclude Tags"), '', $this->t('Comma separated list of tags. If a post contain any of these tags, then it will not be part of nthis channel.')],
|
'exclude_tags' => ["new_exclude_tags", $this->t("Exclude Tags"), '', $this->t('Comma separated list of tags. If a post contain any of these tags, then it will not be part of nthis channel.')],
|
||||||
'text_search' => ["new_text_search", $this->t("Full Text Search"), '', $this->t('Search terms for the body, supports the "boolean mode" operators from MariaDB. See the help for a complete list of operators and additional keywords: %s', '<a href="help/Channels">help/Channels</a>')],
|
'text_search' => ["new_text_search", $this->t("Full Text Search"), '', $this->t('Search terms for the body, supports the "boolean mode" operators from MariaDB. See the help for a complete list of operators and additional keywords: %s', '<a href="help/Channels">help/Channels</a>')],
|
||||||
|
|
|
@ -558,6 +558,7 @@ return [
|
||||||
"uid" => ["type" => "mediumint unsigned", "not null" => "1", "foreign" => ["user" => "uid"], "comment" => "User id"],
|
"uid" => ["type" => "mediumint unsigned", "not null" => "1", "foreign" => ["user" => "uid"], "comment" => "User id"],
|
||||||
"label" => ["type" => "varchar(64)", "not null" => "1", "comment" => "Channel label"],
|
"label" => ["type" => "varchar(64)", "not null" => "1", "comment" => "Channel label"],
|
||||||
"description" => ["type" => "varchar(64)", "comment" => "Channel description"],
|
"description" => ["type" => "varchar(64)", "comment" => "Channel description"],
|
||||||
|
"circle" => ["type" => "int", "comment" => "Circle or channel that this channel is based on"],
|
||||||
"access-key" => ["type" => "varchar(1)", "comment" => "Access key"],
|
"access-key" => ["type" => "varchar(1)", "comment" => "Access key"],
|
||||||
"include-tags" => ["type" => "varchar(255)", "comment" => "Comma separated list of tags that will be included in the channel"],
|
"include-tags" => ["type" => "varchar(255)", "comment" => "Comma separated list of tags that will be included in the channel"],
|
||||||
"exclude-tags" => ["type" => "varchar(255)", "comment" => "Comma separated list of tags that aren't allowed in the channel"],
|
"exclude-tags" => ["type" => "varchar(255)", "comment" => "Comma separated list of tags that aren't allowed in the channel"],
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: 2023.09-dev\n"
|
"Project-Id-Version: 2023.09-dev\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-09-23 14:19+0000\n"
|
"POT-Creation-Date: 2023-09-24 00:43+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"
|
||||||
|
@ -68,7 +68,7 @@ msgstr ""
|
||||||
#: src/Module/Register.php:90 src/Module/Register.php:206
|
#: src/Module/Register.php:90 src/Module/Register.php:206
|
||||||
#: src/Module/Register.php:245 src/Module/Search/Directory.php:37
|
#: src/Module/Register.php:245 src/Module/Search/Directory.php:37
|
||||||
#: src/Module/Settings/Account.php:50 src/Module/Settings/Account.php:408
|
#: src/Module/Settings/Account.php:50 src/Module/Settings/Account.php:408
|
||||||
#: src/Module/Settings/Channels.php:55 src/Module/Settings/Channels.php:111
|
#: src/Module/Settings/Channels.php:56 src/Module/Settings/Channels.php:114
|
||||||
#: src/Module/Settings/Delegation.php:41 src/Module/Settings/Delegation.php:71
|
#: src/Module/Settings/Delegation.php:41 src/Module/Settings/Delegation.php:71
|
||||||
#: src/Module/Settings/Display.php:73 src/Module/Settings/Display.php:176
|
#: src/Module/Settings/Display.php:73 src/Module/Settings/Display.php:176
|
||||||
#: src/Module/Settings/Profile/Photo/Crop.php:165
|
#: src/Module/Settings/Profile/Photo/Crop.php:165
|
||||||
|
@ -385,7 +385,7 @@ msgstr ""
|
||||||
|
|
||||||
#: mod/notes.php:57 src/Content/Text/HTML.php:859
|
#: mod/notes.php:57 src/Content/Text/HTML.php:859
|
||||||
#: src/Module/Admin/Storage.php:142 src/Module/Filer/SaveTag.php:74
|
#: src/Module/Admin/Storage.php:142 src/Module/Filer/SaveTag.php:74
|
||||||
#: src/Module/Post/Edit.php:129 src/Module/Settings/Channels.php:146
|
#: src/Module/Post/Edit.php:129 src/Module/Settings/Channels.php:161
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -794,13 +794,15 @@ msgstr ""
|
||||||
msgid "All contacts"
|
msgid "All contacts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/BaseModule.php:433 src/Content/Conversation/Factory/Timeline.php:83
|
#: src/BaseModule.php:433 src/Content/Conversation/Factory/Timeline.php:84
|
||||||
#: src/Content/Widget.php:239 src/Core/ACL.php:195 src/Module/Contact.php:415
|
#: src/Content/Widget.php:239 src/Core/ACL.php:195 src/Module/Contact.php:415
|
||||||
#: src/Module/PermissionTooltip.php:127 src/Module/PermissionTooltip.php:149
|
#: src/Module/PermissionTooltip.php:127 src/Module/PermissionTooltip.php:149
|
||||||
|
#: src/Module/Settings/Channels.php:120
|
||||||
msgid "Followers"
|
msgid "Followers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/BaseModule.php:438 src/Content/Widget.php:240 src/Module/Contact.php:418
|
#: src/BaseModule.php:438 src/Content/Widget.php:240 src/Module/Contact.php:418
|
||||||
|
#: src/Module/Settings/Channels.php:119
|
||||||
msgid "Following"
|
msgid "Following"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1514,120 +1516,121 @@ msgstr ""
|
||||||
msgid "View in context"
|
msgid "View in context"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:80
|
#: src/Content/Conversation/Factory/Timeline.php:81
|
||||||
msgid "For you"
|
msgid "For you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:80
|
#: src/Content/Conversation/Factory/Timeline.php:81
|
||||||
msgid "Posts from contacts you interact with and who interact with you"
|
msgid "Posts from contacts you interact with and who interact with you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:81
|
#: src/Content/Conversation/Factory/Timeline.php:82
|
||||||
msgid "What's Hot"
|
msgid "What's Hot"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:81
|
#: src/Content/Conversation/Factory/Timeline.php:82
|
||||||
msgid "Posts with a lot of interactions"
|
msgid "Posts with a lot of interactions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:82
|
#: src/Content/Conversation/Factory/Timeline.php:83
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid "Posts in %s"
|
msgid "Posts in %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:83
|
#: src/Content/Conversation/Factory/Timeline.php:84
|
||||||
msgid "Posts from your followers that you don't follow"
|
msgid "Posts from your followers that you don't follow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:84
|
#: src/Content/Conversation/Factory/Timeline.php:85
|
||||||
msgid "Sharers of sharers"
|
msgid "Sharers of sharers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:84
|
#: src/Content/Conversation/Factory/Timeline.php:85
|
||||||
msgid "Posts from accounts that are followed by accounts that you follow"
|
msgid "Posts from accounts that are followed by accounts that you follow"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:85
|
#: src/Content/Conversation/Factory/Timeline.php:86
|
||||||
#: src/Module/Settings/Channels.php:123 src/Module/Settings/Channels.php:138
|
#: src/Module/Settings/Channels.php:137 src/Module/Settings/Channels.php:153
|
||||||
msgid "Images"
|
msgid "Images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:85
|
#: src/Content/Conversation/Factory/Timeline.php:86
|
||||||
msgid "Posts with images"
|
msgid "Posts with images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:86
|
#: src/Content/Conversation/Factory/Timeline.php:87
|
||||||
#: src/Module/Settings/Channels.php:125 src/Module/Settings/Channels.php:140
|
#: src/Module/Settings/Channels.php:139 src/Module/Settings/Channels.php:155
|
||||||
msgid "Audio"
|
msgid "Audio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:86
|
#: src/Content/Conversation/Factory/Timeline.php:87
|
||||||
msgid "Posts with audio"
|
msgid "Posts with audio"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:87
|
#: src/Content/Conversation/Factory/Timeline.php:88
|
||||||
#: src/Module/Settings/Channels.php:124 src/Module/Settings/Channels.php:139
|
#: src/Module/Settings/Channels.php:138 src/Module/Settings/Channels.php:154
|
||||||
msgid "Videos"
|
msgid "Videos"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:87
|
#: src/Content/Conversation/Factory/Timeline.php:88
|
||||||
msgid "Posts with videos"
|
msgid "Posts with videos"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:110
|
#: src/Content/Conversation/Factory/Timeline.php:111
|
||||||
msgid "Local Community"
|
msgid "Local Community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:110
|
#: src/Content/Conversation/Factory/Timeline.php:111
|
||||||
msgid "Posts from local users on this server"
|
msgid "Posts from local users on this server"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:114
|
#: src/Content/Conversation/Factory/Timeline.php:115
|
||||||
|
#: src/Module/Settings/Channels.php:118
|
||||||
msgid "Global Community"
|
msgid "Global Community"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:114
|
#: src/Content/Conversation/Factory/Timeline.php:115
|
||||||
msgid "Posts from users of the whole federated network"
|
msgid "Posts from users of the whole federated network"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:128
|
#: src/Content/Conversation/Factory/Timeline.php:129
|
||||||
msgid "Latest Activity"
|
msgid "Latest Activity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:128
|
#: src/Content/Conversation/Factory/Timeline.php:129
|
||||||
msgid "Sort by latest activity"
|
msgid "Sort by latest activity"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:129
|
#: src/Content/Conversation/Factory/Timeline.php:130
|
||||||
msgid "Latest Posts"
|
msgid "Latest Posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:129
|
#: src/Content/Conversation/Factory/Timeline.php:130
|
||||||
msgid "Sort by post received date"
|
msgid "Sort by post received date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:130
|
#: src/Content/Conversation/Factory/Timeline.php:131
|
||||||
msgid "Latest Creation"
|
msgid "Latest Creation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:130
|
#: src/Content/Conversation/Factory/Timeline.php:131
|
||||||
msgid "Sort by post creation date"
|
msgid "Sort by post creation date"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:131
|
#: src/Content/Conversation/Factory/Timeline.php:132
|
||||||
#: src/Module/Settings/Profile/Index.php:260
|
#: src/Module/Settings/Profile/Index.php:260
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:131
|
#: src/Content/Conversation/Factory/Timeline.php:132
|
||||||
msgid "Posts that mention or involve you"
|
msgid "Posts that mention or involve you"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:132 src/Object/Post.php:380
|
#: src/Content/Conversation/Factory/Timeline.php:133 src/Object/Post.php:380
|
||||||
msgid "Starred"
|
msgid "Starred"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Conversation/Factory/Timeline.php:132
|
#: src/Content/Conversation/Factory/Timeline.php:133
|
||||||
msgid "Favourite Posts"
|
msgid "Favourite Posts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2289,7 +2292,7 @@ msgstr ""
|
||||||
msgid "Local Directory"
|
msgid "Local Directory"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Widget.php:215 src/Model/Circle.php:600
|
#: src/Content/Widget.php:215 src/Model/Circle.php:616
|
||||||
#: src/Module/Contact.php:401 src/Module/Welcome.php:76
|
#: src/Module/Contact.php:401 src/Module/Welcome.php:76
|
||||||
msgid "Circles"
|
msgid "Circles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2367,7 +2370,7 @@ msgid "All"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Content/Widget.php:585 src/Module/BaseSettings.php:125
|
#: src/Content/Widget.php:585 src/Module/BaseSettings.php:125
|
||||||
#: src/Module/Settings/Channels.php:142 src/Module/Settings/Display.php:293
|
#: src/Module/Settings/Channels.php:157 src/Module/Settings/Display.php:293
|
||||||
msgid "Channels"
|
msgid "Channels"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3161,36 +3164,36 @@ msgid ""
|
||||||
"not what you intended, please create another circle with a different name."
|
"not what you intended, please create another circle with a different name."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:543
|
#: src/Model/Circle.php:559
|
||||||
msgid "Everybody"
|
msgid "Everybody"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:562
|
#: src/Model/Circle.php:578
|
||||||
msgid "edit"
|
msgid "edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:599
|
#: src/Model/Circle.php:615
|
||||||
msgid "add"
|
msgid "add"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:604
|
#: src/Model/Circle.php:620
|
||||||
msgid "Edit circle"
|
msgid "Edit circle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:605 src/Module/Circle.php:193
|
#: src/Model/Circle.php:621 src/Module/Circle.php:193
|
||||||
msgid "Contacts not in any circle"
|
msgid "Contacts not in any circle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:607
|
#: src/Model/Circle.php:623
|
||||||
msgid "Create a new circle"
|
msgid "Create a new circle"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:608 src/Module/Circle.php:178 src/Module/Circle.php:201
|
#: src/Model/Circle.php:624 src/Module/Circle.php:178 src/Module/Circle.php:201
|
||||||
#: src/Module/Circle.php:276
|
#: src/Module/Circle.php:276
|
||||||
msgid "Circle Name: "
|
msgid "Circle Name: "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Model/Circle.php:609
|
#: src/Model/Circle.php:625
|
||||||
msgid "Edit circles"
|
msgid "Edit circles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5847,7 +5850,7 @@ msgstr ""
|
||||||
#: src/Module/Moderation/Blocklist/Server/Index.php:116
|
#: src/Module/Moderation/Blocklist/Server/Index.php:116
|
||||||
#: src/Module/Moderation/Item/Delete.php:67 src/Module/Register.php:148
|
#: src/Module/Moderation/Item/Delete.php:67 src/Module/Register.php:148
|
||||||
#: src/Module/Security/TwoFactor/Verify.php:101
|
#: src/Module/Security/TwoFactor/Verify.php:101
|
||||||
#: src/Module/Settings/Channels.php:117 src/Module/Settings/Channels.php:132
|
#: src/Module/Settings/Channels.php:130 src/Module/Settings/Channels.php:146
|
||||||
#: src/Module/Settings/TwoFactor/Index.php:140
|
#: src/Module/Settings/TwoFactor/Index.php:140
|
||||||
#: src/Module/Settings/TwoFactor/Verify.php:155
|
#: src/Module/Settings/TwoFactor/Verify.php:155
|
||||||
msgid "Required"
|
msgid "Required"
|
||||||
|
@ -7119,7 +7122,7 @@ msgstr ""
|
||||||
#: src/Module/Friendica.php:102
|
#: src/Module/Friendica.php:102
|
||||||
#: src/Module/Moderation/Blocklist/Server/Index.php:87
|
#: src/Module/Moderation/Blocklist/Server/Index.php:87
|
||||||
#: src/Module/Moderation/Blocklist/Server/Index.php:111
|
#: src/Module/Moderation/Blocklist/Server/Index.php:111
|
||||||
#: src/Module/Settings/Channels.php:149
|
#: src/Module/Settings/Channels.php:164
|
||||||
msgid "Reason for the block"
|
msgid "Reason for the block"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7867,7 +7870,7 @@ msgstr ""
|
||||||
|
|
||||||
#: src/Module/Moderation/Blocklist/Server/Index.php:86
|
#: src/Module/Moderation/Blocklist/Server/Index.php:86
|
||||||
#: src/Module/Moderation/Blocklist/Server/Index.php:110
|
#: src/Module/Moderation/Blocklist/Server/Index.php:110
|
||||||
#: src/Module/Settings/Channels.php:148
|
#: src/Module/Settings/Channels.php:163
|
||||||
msgid "Blocked server domain pattern"
|
msgid "Blocked server domain pattern"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -9909,68 +9912,76 @@ msgstr ""
|
||||||
msgid "No Addon settings configured"
|
msgid "No Addon settings configured"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:117 src/Module/Settings/Channels.php:132
|
#: src/Module/Settings/Channels.php:130 src/Module/Settings/Channels.php:146
|
||||||
#: src/Module/Settings/Display.php:314
|
#: src/Module/Settings/Display.php:314
|
||||||
msgid "Label"
|
msgid "Label"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:118 src/Module/Settings/Channels.php:133
|
#: src/Module/Settings/Channels.php:131 src/Module/Settings/Channels.php:147
|
||||||
#: src/Module/Settings/Display.php:315
|
#: src/Module/Settings/Display.php:315
|
||||||
#: src/Module/Settings/TwoFactor/AppSpecific.php:134
|
#: src/Module/Settings/TwoFactor/AppSpecific.php:134
|
||||||
msgid "Description"
|
msgid "Description"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:119 src/Module/Settings/Channels.php:134
|
#: src/Module/Settings/Channels.php:132 src/Module/Settings/Channels.php:148
|
||||||
msgid "Access Key"
|
msgid "Access Key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:120 src/Module/Settings/Channels.php:135
|
#: src/Module/Settings/Channels.php:133 src/Module/Settings/Channels.php:149
|
||||||
|
msgid "Circle/Channel"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/Channels.php:134 src/Module/Settings/Channels.php:150
|
||||||
msgid "Include Tags"
|
msgid "Include Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:121 src/Module/Settings/Channels.php:136
|
#: src/Module/Settings/Channels.php:135 src/Module/Settings/Channels.php:151
|
||||||
msgid "Exclude Tags"
|
msgid "Exclude Tags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:122 src/Module/Settings/Channels.php:137
|
#: src/Module/Settings/Channels.php:136 src/Module/Settings/Channels.php:152
|
||||||
msgid "Full Text Search"
|
msgid "Full Text Search"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:126
|
#: src/Module/Settings/Channels.php:140
|
||||||
msgid "Delete channel"
|
msgid "Delete channel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:126
|
#: src/Module/Settings/Channels.php:140
|
||||||
msgid "Check to delete this entry from the channel list"
|
msgid "Check to delete this entry from the channel list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:132
|
#: src/Module/Settings/Channels.php:146
|
||||||
msgid "Short name for the channel. It is displayed on the channels widget."
|
msgid "Short name for the channel. It is displayed on the channels widget."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:133
|
#: src/Module/Settings/Channels.php:147
|
||||||
msgid "This should describe the content of the channel in a few word."
|
msgid "This should describe the content of the channel in a few word."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:134
|
#: src/Module/Settings/Channels.php:148
|
||||||
msgid ""
|
msgid ""
|
||||||
"When you want to access this channel via an access key, you can define it "
|
"When you want to access this channel via an access key, you can define it "
|
||||||
"here. Pay attention to not use an already used one."
|
"here. Pay attention to not use an already used one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:135
|
#: src/Module/Settings/Channels.php:149
|
||||||
|
msgid "Select a circle or channel, that your channel should be based on."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: src/Module/Settings/Channels.php:150
|
||||||
msgid ""
|
msgid ""
|
||||||
"Comma separated list of tags. A post will be used when it contains any of "
|
"Comma separated list of tags. A post will be used when it contains any of "
|
||||||
"the listed tags."
|
"the listed tags."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:136
|
#: src/Module/Settings/Channels.php:151
|
||||||
msgid ""
|
msgid ""
|
||||||
"Comma separated list of tags. If a post contain any of these tags, then it "
|
"Comma separated list of tags. If a post contain any of these tags, then it "
|
||||||
"will not be part of nthis channel."
|
"will not be part of nthis channel."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:137
|
#: src/Module/Settings/Channels.php:152
|
||||||
#, php-format
|
#, php-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Search terms for the body, supports the \"boolean mode\" operators from "
|
"Search terms for the body, supports the \"boolean mode\" operators from "
|
||||||
|
@ -9978,39 +9989,39 @@ msgid ""
|
||||||
"keywords: %s"
|
"keywords: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:138
|
#: src/Module/Settings/Channels.php:153
|
||||||
msgid "Check to display images in the channel."
|
msgid "Check to display images in the channel."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:139
|
#: src/Module/Settings/Channels.php:154
|
||||||
msgid "Check to display videos in the channel."
|
msgid "Check to display videos in the channel."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:140
|
#: src/Module/Settings/Channels.php:155
|
||||||
msgid "Check to display audio in the channel."
|
msgid "Check to display audio in the channel."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:143
|
#: src/Module/Settings/Channels.php:158
|
||||||
msgid "This page can be used to define your own channels."
|
msgid "This page can be used to define your own channels."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:144
|
#: src/Module/Settings/Channels.php:159
|
||||||
msgid "Add new entry to the channel list"
|
msgid "Add new entry to the channel list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:145 src/Module/Settings/Delegation.php:181
|
#: src/Module/Settings/Channels.php:160 src/Module/Settings/Delegation.php:181
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:147
|
#: src/Module/Settings/Channels.php:162
|
||||||
msgid "Current Entries in the channel list"
|
msgid "Current Entries in the channel list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:150
|
#: src/Module/Settings/Channels.php:165
|
||||||
msgid "Delete entry from the channel list"
|
msgid "Delete entry from the channel list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/Module/Settings/Channels.php:151
|
#: src/Module/Settings/Channels.php:166
|
||||||
msgid "Delete entry from the channel list?"
|
msgid "Delete entry from the channel list?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
{{include file="field_input.tpl" field=$label}}
|
{{include file="field_input.tpl" field=$label}}
|
||||||
{{include file="field_input.tpl" field=$description}}
|
{{include file="field_input.tpl" field=$description}}
|
||||||
{{include file="field_input.tpl" field=$access_key}}
|
{{include file="field_input.tpl" field=$access_key}}
|
||||||
|
{{include file="field_select.tpl" field=$circle}}
|
||||||
{{include file="field_input.tpl" field=$include_tags}}
|
{{include file="field_input.tpl" field=$include_tags}}
|
||||||
{{include file="field_input.tpl" field=$exclude_tags}}
|
{{include file="field_input.tpl" field=$exclude_tags}}
|
||||||
{{include file="field_input.tpl" field=$text_search}}
|
{{include file="field_input.tpl" field=$text_search}}
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
{{include file="field_input.tpl" field=$e.label}}
|
{{include file="field_input.tpl" field=$e.label}}
|
||||||
{{include file="field_input.tpl" field=$e.description}}
|
{{include file="field_input.tpl" field=$e.description}}
|
||||||
{{include file="field_input.tpl" field=$e.access_key}}
|
{{include file="field_input.tpl" field=$e.access_key}}
|
||||||
|
{{include file="field_select.tpl" field=$e.circle}}
|
||||||
{{include file="field_input.tpl" field=$e.include_tags}}
|
{{include file="field_input.tpl" field=$e.include_tags}}
|
||||||
{{include file="field_input.tpl" field=$e.exclude_tags}}
|
{{include file="field_input.tpl" field=$e.exclude_tags}}
|
||||||
{{include file="field_input.tpl" field=$e.text_search}}
|
{{include file="field_input.tpl" field=$e.text_search}}
|
||||||
|
|
Loading…
Reference in a new issue