Merge pull request #11854 from MrPetovan/bug/fatal-errors

Ensure Util\Profiler->rendertime is bool
This commit is contained in:
Philipp 2022-08-21 14:11:05 +02:00 committed by GitHub
commit 17a394e23c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -69,21 +69,27 @@ class Profiler implements ContainerInterface
/** /**
* Updates the enabling of the current profiler * 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 * @param IManageConfigValues $config
*/ */
public function update(IManageConfigValues $config) public function update(IManageConfigValues $config)
{ {
$this->enabled = $config->get('system', 'profiler'); $this->enabled = (bool) $config->get('system', 'profiler') ?? false;
$this->rendertime = $config->get('rendertime', 'callstack'); $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 * @param \Friendica\Core\Config\ValueObject\Cache $configCache The configuration cache
*/ */
public function __construct(Cache $configCache) public function __construct(Cache $configCache)
{ {
$this->enabled = $configCache->get('system', 'profiler'); $this->enabled = (bool) $configCache->get('system', 'profiler') ?? false;
$this->rendertime = $configCache->get('rendertime', 'callstack'); $this->rendertime = (bool) $configCache->get('rendertime', 'callstack') ?? false;
$this->reset(); $this->reset();
} }