]> git.mxchange.org Git - friendica.git/commitdiff
re-add App::isBackend()
authorPhilipp Holzer <admin+github@philipp.info>
Mon, 12 Aug 2019 16:20:22 +0000 (18:20 +0200)
committerPhilipp Holzer <admin+github@philipp.info>
Tue, 13 Aug 2019 14:29:12 +0000 (16:29 +0200)
src/App.php
src/App/Module.php

index 98605da2ac342d86e812a7c5558b00065b963c1d..41d65d1b9d7bb3e22ea0244ce9f23aea834449aa 100644 (file)
@@ -100,8 +100,6 @@ class App
 
        /**
         * @var bool true, if the call is from an backend node (f.e. worker)
-        *
-        * @deprecated 2019.09 - use App\Module->isBackend() instead
         */
        private $isBackend;
 
@@ -287,7 +285,7 @@ class App
                $this->logger   = $logger;
                $this->l10n     = $l10n;
                $this->args = $args;
-               $this->isBackend = $module->isBackend();
+               $this->isBackend = $this->checkBackend($module);
 
                $this->profiler->reset();
 
@@ -575,6 +573,29 @@ class App
                        $this->getBaseURL();
        }
 
+       /**
+        * Checks if the site is called via a backend process
+        *
+        * @param Module $module The pre-loaded module (just name, not class!)
+
+        * @return bool True, if the call is a backend call
+        */
+       private function checkBackend(Module $module)
+       {
+               return basename(($_SERVER['PHP_SELF'] ?? ''), '.php') !== 'index' ||
+                      $module->isBackend();
+       }
+
+       /**
+        * Returns true, if the call is from a backend node (f.e. from a worker)
+        *
+        * @return bool Is it a known backend?
+        */
+       public function isBackend()
+       {
+               return $this->isBackend;
+       }
+
        /**
         * @brief Checks if the maximum number of database processes is reached
         *
@@ -668,7 +689,7 @@ class App
         */
        public function isMaxLoadReached()
        {
-               if ($this->isBackend) {
+               if ($this->isBackend()) {
                        $process = 'backend';
                        $maxsysload = intval($this->config->get('system', 'maxloadavg'));
                        if ($maxsysload < 1) {
index 63be2f651d9c252005cafeef1f867c32f80a0ad7..85aa74c407f7f8fe52e6e1f39e28a7ce307d5cb0 100644 (file)
@@ -15,7 +15,7 @@ use Psr\Log\LoggerInterface;
  */
 class Module
 {
-       const DEFAULT = 'home';
+       const DEFAULT       = 'home';
        const DEFAULT_CLASS = Home::class;
        /**
         * A list of modules, which are backend methods
@@ -87,7 +87,8 @@ class Module
        }
 
        /**
-        * @return bool
+        * @return bool True, if the current module is a backend module
+        * @see Module::BACKEND_MODULES for a list
         */
        public function isBackend()
        {
@@ -96,9 +97,9 @@ class Module
 
        public function __construct(string $module = self::DEFAULT, string $moduleClass = self::DEFAULT_CLASS, bool $isBackend = false, bool $printNotAllowedAddon = false)
        {
-               $this->module       = $module;
-               $this->module_class = $moduleClass;
-               $this->isBackend    = $isBackend;
+               $this->module               = $module;
+               $this->module_class         = $moduleClass;
+               $this->isBackend            = $isBackend;
                $this->printNotAllowedAddon = $printNotAllowedAddon;
        }
 
@@ -124,7 +125,7 @@ class Module
                        $module = "login";
                }
 
-               $isBackend = $this->checkBackend($module, $server);
+               $isBackend = in_array($module, Module::BACKEND_MODULES);;
 
                return new Module($module, $this->module_class, $isBackend, $this->printNotAllowedAddon);
        }
@@ -190,16 +191,16 @@ class Module
        /**
         * Run the determined module class and calls all hooks applied to
         *
-        * @param Core\L10n\L10n $l10n         The L10n instance
-        * @param App            $app          The whole Friendica app (for method arguments)
-        * @param LoggerInterface           $logger The Friendica logger
-        * @param string         $currentTheme The chosen theme
-        * @param array          $server       The $_SERVER variable
-        * @param array          $post         The $_POST variables
+        * @param Core\L10n\L10n  $l10n         The L10n instance
+        * @param App             $app          The whole Friendica app (for method arguments)
+        * @param LoggerInterface $logger       The Friendica logger
+        * @param string          $currentTheme The chosen theme
+        * @param array           $server       The $_SERVER variable
+        * @param array           $post         The $_POST variables
         *
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public function run(Core\L10n\L10n $l10n, App $app,  LoggerInterface $logger, string $currentTheme, array $server, array $post)
+       public function run(Core\L10n\L10n $l10n, App $app, LoggerInterface $logger, string $currentTheme, array $server, array $post)
        {
                if ($this->printNotAllowedAddon) {
                        info($l10n->t("You must be logged in to use addons. "));
@@ -258,22 +259,4 @@ class Module
                Core\Hook::callAll($this->module . '_mod_afterpost', $placeholder);
                call_user_func([$this->module_class, 'afterpost']);
        }
-
-       /**
-        * @brief Checks if the site is called via a backend process
-        *
-        * This isn't a perfect solution. But we need this check very early.
-        * So we cannot wait until the modules are loaded.
-        *
-        * @param string $module The determined module
-        * @param array  $server The $_SERVER variable
-        *
-        * @return bool True, if the current module is called at backend
-        */
-       private function checkBackend($module, array $server)
-       {
-               // Check if current module is in backend or backend flag is set
-               return basename(($server['PHP_SELF'] ?? ''), '.php') !== 'index' &&
-                      in_array($module, Module::BACKEND_MODULES);
-       }
 }