Cache blocklist (#13779)

This commit is contained in:
Michael Vogel 2023-12-30 00:27:57 +01:00 committed by GitHub
parent 5b516b1dbb
commit 1564c297bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -96,6 +96,8 @@ class Conversation
private $session; private $session;
/** @var Repository\UserGServer */ /** @var Repository\UserGServer */
private $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) 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 []; return [];
} }
if (!empty($this->blockList)) {
return $this->blockList;
}
$str_blocked = str_replace(["\n", "\r"], ",", $this->pConfig->get($this->session->getLocalUserId(), 'system', 'blocked') ?? ''); $str_blocked = str_replace(["\n", "\r"], ",", $this->pConfig->get($this->session->getLocalUserId(), 'system', 'blocked') ?? '');
if (empty($str_blocked)) { if (empty($str_blocked)) {
return []; return [];
} }
$blocklist = []; $this->blockList = [];
foreach (explode(',', $str_blocked) as $entry) { foreach (explode(',', $str_blocked) as $entry) {
$cid = Contact::getIdForURL(trim($entry), 0, false); $cid = Contact::getIdForURL(trim($entry), 0, false);
if (!empty($cid)) { if (!empty($cid)) {
$blocklist[] = $cid; $this->blockList[] = $cid;
} }
} }
return $blocklist; return $this->blockList;
} }
/** /**