X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FApp.php;h=f5626761e59d5ac8327e4d7fb6ada1395f1137a4;hb=3be013361eea0f20b6e3a0c5282622b514befb26;hp=655ea84f00d958008c6d7c8fffcf6d0ed8adb1a6;hpb=9d0ed1a2afb60d9e10d947d9a33a776e445319e6;p=friendica.git diff --git a/src/App.php b/src/App.php index 655ea84f00..f5626761e5 100644 --- a/src/App.php +++ b/src/App.php @@ -9,6 +9,8 @@ use Friendica\Core\Config; use Friendica\Core\L10n; use Friendica\Core\PConfig; use Friendica\Core\System; +use Friendica\Database\DBM; +use dba; use Detection\MobileDetect; @@ -974,6 +976,10 @@ class App if ($cat === 'config') { $this->config[$k] = $value; } else { + if (!isset($this->config[$cat])) { + $this->config[$cat] = []; + } + $this->config[$cat][$k] = $value; } } @@ -1032,6 +1038,14 @@ class App // Only arrays are serialized in database, so we have to unserialize sparingly $value = is_string($v) && preg_match("|^a:[0-9]+:{.*}$|s", $v) ? unserialize($v) : $v; + if (!isset($this->config[$uid])) { + $this->config[$uid] = []; + } + + if (!isset($this->config[$uid][$cat])) { + $this->config[$uid][$cat] = []; + } + $this->config[$uid][$cat][$k] = $value; } @@ -1095,9 +1109,10 @@ class App return ''; } - if (!$this->current_theme) { - $this->computeCurrentTheme(); - } + //// @TODO Compute the current theme only once (this behavior has + /// already been implemented, but it didn't work well - + /// https://github.com/friendica/friendica/issues/5092) + $this->computeCurrentTheme(); return $this->current_theme; }