X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModeration%2FDomainPatternBlocklist.php;h=259225c491e5812aff30fc0d069ddb6c965cc265;hb=d4a5a8051ad34a7be72238967afb3e6b140afdc8;hp=96177b48d9f1ddc3bc17aeefea272d6b0afaa07b;hpb=eaf1485c6fff9f1ee31a67e0cd43e28b3ab33f51;p=friendica.git diff --git a/src/Moderation/DomainPatternBlocklist.php b/src/Moderation/DomainPatternBlocklist.php index 96177b48d9..259225c491 100644 --- a/src/Moderation/DomainPatternBlocklist.php +++ b/src/Moderation/DomainPatternBlocklist.php @@ -1,6 +1,6 @@ config = $config; - $this->db = $db; - $this->emailer = $emailer; - $this->l10n = $l10n; - $this->baseUrl = $baseUrl; + $this->config = $config; } public function get(): array @@ -62,12 +45,7 @@ class DomainPatternBlocklist public function set(array $blocklist): bool { - $result = $this->config->set('system', 'blocklist', $blocklist); - if ($result) { - $this->notifyAll(); - } - - return $result; + return $this->config->set('system', 'blocklist', $blocklist); } /** @@ -198,50 +176,4 @@ class DomainPatternBlocklist return $blocklist; } - - /** - * Sends a system email to all the node users about a change in the block list. Sends a single email to each unique - * email address among the valid users. - * - * @return int The number of recipients that were sent an email - * @throws HTTPException\InternalServerErrorException - * @throws HTTPException\UnprocessableEntityException - */ - public function notifyAll(): int - { - // Gathering all non-system parent users who verified their email address and aren't blocked or about to be deleted - // We sort on language to minimize the number of actual language switches during the email build loop - $recipients = $this->db->selectToArray( - 'user', - ['username', 'email', 'language'], - ['`uid` > 0 AND `parent-uid` = 0 AND `verified` AND NOT `account_removed` AND NOT `account_expired` AND NOT `blocked`'], - ['group_by' => ['email'], 'order' => ['language']] - ); - if (!$recipients) { - return 0; - } - - foreach ($recipients as $recipient) { - $l10n = $this->l10n->withLang($recipient['language']); - $email = $this->emailer->newSystemMail() - ->withMessage( - $l10n->t('[%s] Notice of remote server domain pattern block list update', $this->emailer->getSiteEmailName()), - $l10n->t( - 'Dear %s, - -You are receiving this email because the Friendica node at %s where you are registered as a user updated their remote server domain pattern block list. - -Please review the updated list at %s at your earliest convenience.', - $recipient['username'], - $this->baseUrl->get(), - $this->baseUrl . '/friendica' - ) - ) - ->withRecipient($recipient['email']) - ->build(); - $this->emailer->send($email); - } - - return count($recipients); - } }