X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FContent%2FConversation%2FFactory%2FUserDefinedChannel.php;h=12816126dbe12b24ffd23902d51cfa957753737c;hb=710f9eecb2b270b43bd1ed2a36e8d570ae71e8a6;hp=1b067d08b03a04b8f2894006129f76d9bbb77064;hpb=8ac6d0ef046eff3d12e3e7870aa404e0470c18f5;p=friendica.git diff --git a/src/Content/Conversation/Factory/UserDefinedChannel.php b/src/Content/Conversation/Factory/UserDefinedChannel.php index 1b067d08b0..12816126db 100644 --- a/src/Content/Conversation/Factory/UserDefinedChannel.php +++ b/src/Content/Conversation/Factory/UserDefinedChannel.php @@ -21,28 +21,31 @@ namespace Friendica\Content\Conversation\Factory; +use Friendica\Capabilities\ICanCreateFromTableRow; use Friendica\Content\Conversation\Collection\Timelines; +use Friendica\Content\Conversation\Entity; -final class UserDefinedChannel extends Timeline +final class UserDefinedChannel extends Timeline implements ICanCreateFromTableRow { - /** - * List of available user defined channels - * - * @param integer $uid - * @return Timelines - */ - public function getForUser(int $uid): Timelines + public function isTimeline(string $selectedTab, int $uid): bool { - $tabs = []; - foreach ($this->channelRepository->selectByUid($uid) as $channel) { - $tabs[] = $channel; - } - - return new Timelines($tabs); + return is_numeric($selectedTab) && $uid && $this->channelRepository->existsById($selectedTab, $uid); } - public function isTimeline(string $selectedTab, int $uid): bool + public function createFromTableRow(array $row): Entity\UserDefinedChannel { - return is_numeric($selectedTab) && $uid && $this->channelRepository->existsById($selectedTab, $uid); + return new Entity\UserDefinedChannel( + $row['id'] ?? null, + $row['label'], + $row['description'] ?? null, + $row['access-key'] ?? null, + null, + $row['uid'], + $row['include-tags'] ?? null, + $row['exclude-tags'] ?? null, + $row['full-text-search'] ?? null, + $row['media-type'] ?? null, + $row['circle'] ?? null, + ); } }