X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FApp%2FRouter.php;h=4e5f29521a822a9bf20a1bdd93914bc4b5994283;hb=3d5b81e4efda83c8b3621f15036dcfd960cf7e4e;hp=a4fe4f94117ab1f098f82a75cab32d7c84c26b1c;hpb=d989602c1c398e350d5b8c860b8788e08a0ab1b4;p=friendica.git diff --git a/src/App/Router.php b/src/App/Router.php index a4fe4f9411..4e5f29521a 100644 --- a/src/App/Router.php +++ b/src/App/Router.php @@ -34,6 +34,7 @@ use Friendica\Core\Config\Capability\IManageConfigValues; use Friendica\Core\Hook; use Friendica\Core\L10n; use Friendica\Core\Lock\Capability\ICanLock; +use Friendica\Core\Session\Capability\IHandleUserSessions; use Friendica\LegacyModule; use Friendica\Module\HTTPException\MethodNotAllowed; use Friendica\Module\HTTPException\PageNotFound; @@ -98,6 +99,9 @@ class Router /** @var LoggerInterface */ private $logger; + /** @var bool */ + private $isLocalUser; + /** @var float */ private $dice_profiler_threshold; @@ -120,9 +124,10 @@ class Router * @param Arguments $args * @param LoggerInterface $logger * @param Dice $dice + * @param IHandleUserSessions $userSession * @param RouteCollector|null $routeCollector */ - public function __construct(array $server, string $baseRoutesFilepath, L10n $l10n, ICanCache $cache, ICanLock $lock, IManageConfigValues $config, Arguments $args, LoggerInterface $logger, Dice $dice, RouteCollector $routeCollector = null) + public function __construct(array $server, string $baseRoutesFilepath, L10n $l10n, ICanCache $cache, ICanLock $lock, IManageConfigValues $config, Arguments $args, LoggerInterface $logger, Dice $dice, IHandleUserSessions $userSession, RouteCollector $routeCollector = null) { $this->baseRoutesFilepath = $baseRoutesFilepath; $this->l10n = $l10n; @@ -133,6 +138,7 @@ class Router $this->dice = $dice; $this->server = $server; $this->logger = $logger; + $this->isLocalUser = !empty($userSession->getLocalUserId()); $this->dice_profiler_threshold = $config->get('system', 'dice_profiler_threshold', 0); $this->routeCollector = $routeCollector ?? new RouteCollector(new Std(), new GroupCountBased()); @@ -308,7 +314,7 @@ class Router if (Addon::isEnabled($moduleName) && file_exists("addon/{$moduleName}/{$moduleName}.php")) { //Check if module is an app and if public access to apps is allowed or not $privateapps = $this->config->get('config', 'private_addons', false); - if ((!local_user()) && Hook::isAddonApp($moduleName) && $privateapps) { + if (!$this->isLocalUser && Hook::isAddonApp($moduleName) && $privateapps) { throw new MethodNotAllowedException($this->l10n->t("You must be logged in to use addons. ")); } else { include_once "addon/{$moduleName}/{$moduleName}.php";