X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FApp.php;h=22678f53ee531390893058cace2e14821d18683b;hb=28741c8366e9ab341729db22540dc32effa1fe98;hp=655ea84f00d958008c6d7c8fffcf6d0ed8adb1a6;hpb=d78b1f5191c7272b8f21e2a9ae4fe5ee1b44ea16;p=friendica.git diff --git a/src/App.php b/src/App.php index 655ea84f00..22678f53ee 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; @@ -179,7 +181,10 @@ class App $this->process_id = uniqid('log', true); - startup(); + set_time_limit(0); + + // This has to be quite large to deal with embedded private photos + ini_set('pcre.backtrack_limit', 500000); $this->scheme = 'http'; @@ -974,6 +979,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 +1041,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 +1112,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; }