]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Config/Configuration.php
Merge pull request #6942 from annando/worker-fast-commands
[friendica.git] / src / Core / Config / Configuration.php
index 2ad11b0ba3dab8d9f16edd7ed2cdf8a4bf573670..c6fe626d91e441f1033142e64bda5e2ce6b526ac 100644 (file)
@@ -10,6 +10,16 @@ namespace Friendica\Core\Config;
  */
 class Configuration
 {
+       /**
+        * The blacklist of configuration settings, which should not get saved to the backend
+        * @var array
+        */
+       private $configSaveBlacklist = [
+               'config' => [
+                       'hostname' => true,
+               ]
+       ];
+
        /**
         * @var Cache\IConfigCache
         */
@@ -83,19 +93,19 @@ class Configuration
                if ($this->configAdapter->isConnected() &&
                        (!$this->configAdapter->isLoaded($cat, $key) ||
                        $refresh)) {
+
                        $dbvalue = $this->configAdapter->get($cat, $key);
 
-                       if ($dbvalue !== '!<unset>!') {
+                       if (isset($dbvalue)) {
                                $this->configCache->set($cat, $key, $dbvalue);
+                               return $dbvalue;
                        }
                }
 
                // use the config cache for return
-               if ($this->configCache->has($cat, $key)) {
-                       return $this->configCache->get($cat, $key);
-               } else {
-                       return $default_value;
-               }
+               $result = $this->configCache->get($cat, $key);
+
+               return (isset($result)) ? $result : $default_value;
        }
 
        /**
@@ -117,7 +127,7 @@ class Configuration
                $cached = $this->configCache->set($cat, $key, $value);
 
                // If there is no connected adapter, we're finished
-               if (!$this->configAdapter->isConnected()) {
+               if (!$this->configAdapter->isConnected() || !empty($this->configSaveBlacklist[$cat][$key])) {
                        return $cached;
                }