]> git.mxchange.org Git - friendica.git/commitdiff
Cache blocklist (#13779)
authorMichael Vogel <icarus@dabo.de>
Fri, 29 Dec 2023 23:27:57 +0000 (00:27 +0100)
committerGitHub <noreply@github.com>
Fri, 29 Dec 2023 23:27:57 +0000 (00:27 +0100)
src/Content/Conversation.php

index 1f321b75e8ab61c487bd8cf5b17b92c2661acedc..deecc6c224795705d79dab1c2bdf535848b8cfcf 100644 (file)
@@ -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;
        }
 
        /**