]> git.mxchange.org Git - friendica.git/commitdiff
Hide blocklist from anonymous users on closed registration nodes
authorHypolite Petovan <hypolite@mrpetovan.com>
Sun, 9 Jul 2023 01:18:27 +0000 (21:18 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sun, 9 Jul 2023 12:23:35 +0000 (08:23 -0400)
src/Module/Friendica.php

index 3029893097e246fdd734217b068a8c17236fc164..c6e2768bd300032519a894cf4e68afa863f5f6f8 100644 (file)
@@ -29,6 +29,7 @@ use Friendica\Core\Hook;
 use Friendica\Core\KeyValueStorage\Capabilities\IManageKeyValuePairs;
 use Friendica\Core\L10n;
 use Friendica\Core\Renderer;
+use Friendica\Core\Session\Capability\IHandleUserSessions;
 use Friendica\Core\System;
 use Friendica\Database\PostUpdate;
 use Friendica\Model\User;
@@ -47,13 +48,16 @@ class Friendica extends BaseModule
        private $config;
        /** @var IManageKeyValuePairs */
        private $keyValue;
+       /** @var IHandleUserSessions */
+       private $session;
 
-       public function __construct(IManageKeyValuePairs $keyValue, IManageConfigValues $config, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
+       public function __construct(IHandleUserSessions $session, IManageKeyValuePairs $keyValue, IManageConfigValues $config, L10n $l10n, App\BaseURL $baseUrl, App\Arguments $args, LoggerInterface $logger, Profiler $profiler, Response $response, array $server, array $parameters = [])
        {
                parent::__construct($l10n, $baseUrl, $args, $logger, $profiler, $response, $server, $parameters);
 
                $this->config = $config;
                $this->keyValue = $keyValue;
+               $this->session = $session;
        }
 
        protected function content(array $request = []): string
@@ -90,7 +94,8 @@ class Friendica extends BaseModule
 
                $blockList = $this->config->get('system', 'blocklist') ?? [];
 
-               if (!empty($blockList)) {
+               $register_policy_int = $this->config->get('config', 'register_policy');
+               if (!empty($blockList) && ($register_policy_int !== Register::CLOSED || $this->session->isAuthenticated())) {
                        $blocked = [
                                'title'    => $this->t('On this server the following remote servers are blocked.'),
                                'header'   => [
@@ -150,7 +155,7 @@ class Friendica extends BaseModule
                        Register::OPEN    => 'REGISTER_OPEN'
                ];
 
-               $register_policy_int = intval($this->config->get('config', 'register_policy'));
+               $register_policy_int = $this->config->get('config', 'register_policy');
                if ($register_policy_int !== Register::CLOSED && $this->config->get('config', 'invitation_only')) {
                        $register_policy = 'REGISTER_INVITATION';
                } else {