From 1564c297bbd30337aef82d0e9d1013c8e61612da Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 30 Dec 2023 00:27:57 +0100 Subject: [PATCH] Cache blocklist (#13779) --- src/Content/Conversation.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Content/Conversation.php b/src/Content/Conversation.php index 1f321b75e8..deecc6c224 100644 --- a/src/Content/Conversation.php +++ b/src/Content/Conversation.php @@ -96,6 +96,8 @@ class Conversation private $session; /** @var Repository\UserGServer */ private $userGServer; + /** @var Array */ + private $blockList; public function __construct(Repository\UserGServer $userGServer, LoggerInterface $logger, Profiler $profiler, Activity $activity, L10n $l10n, Item $item, Arguments $args, BaseURL $baseURL, IManageConfigValues $config, IManagePersonalConfigValues $pConfig, App\Page $page, App\Mode $mode, App $app, IHandleUserSessions $session) { @@ -700,21 +702,25 @@ class Conversation return []; } + if (!empty($this->blockList)) { + return $this->blockList; + } + $str_blocked = str_replace(["\n", "\r"], ",", $this->pConfig->get($this->session->getLocalUserId(), 'system', 'blocked') ?? ''); if (empty($str_blocked)) { return []; } - $blocklist = []; + $this->blockList = []; foreach (explode(',', $str_blocked) as $entry) { $cid = Contact::getIdForURL(trim($entry), 0, false); if (!empty($cid)) { - $blocklist[] = $cid; + $this->blockList[] = $cid; } } - return $blocklist; + return $this->blockList; } /**