]> git.mxchange.org Git - friendica.git/commitdiff
Ensure Util\Profiler->rendertime is bool
authorHypolite Petovan <hypolite@mrpetovan.com>
Sun, 21 Aug 2022 11:44:12 +0000 (07:44 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sun, 21 Aug 2022 11:44:12 +0000 (07:44 -0400)
- Address https://github.com/friendica/friendica/issues/11630#issuecomment-1221228589
- Address https://github.com/friendica/friendica/issues/11630#issuecomment-1221244898
- Address https://github.com/friendica/friendica/issues/11630#issuecomment-1221333918

src/Util/Profiler.php

index 23eb1d8c333e645fc9cba6d5a067f4af8239bf9d..f4e48504875189e6b738b23c7e35ebf3f59abec2 100644 (file)
@@ -69,21 +69,27 @@ class Profiler implements ContainerInterface
        /**
         * Updates the enabling of the current profiler
         *
+        * Note: The reason there are two different ways of updating the configuration of this class is because it can
+        * be used even with no available database connection which IManageConfigValues doesn't ensure.
+        *
         * @param IManageConfigValues $config
         */
        public function update(IManageConfigValues $config)
        {
-               $this->enabled = $config->get('system', 'profiler');
-               $this->rendertime = $config->get('rendertime', 'callstack');
+               $this->enabled = (bool) $config->get('system', 'profiler') ?? false;
+               $this->rendertime = (bool) $config->get('rendertime', 'callstack') ?? false;
        }
 
        /**
+        * Note: The reason we are using a Config Cache object to initialize this class is to ensure it'll work even with no
+        * available database connection.
+        *
         * @param \Friendica\Core\Config\ValueObject\Cache $configCache The configuration cache
         */
        public function __construct(Cache $configCache)
        {
-               $this->enabled = $configCache->get('system', 'profiler');
-               $this->rendertime = $configCache->get('rendertime', 'callstack');
+               $this->enabled = (bool) $configCache->get('system', 'profiler') ?? false;
+               $this->rendertime = (bool) $configCache->get('rendertime', 'callstack') ?? false;
                $this->reset();
        }