Browse Source
Make sure we create an app's Application class just once
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
pull/17509/head
Christoph Wurst
6 years ago
No known key found for this signature in database
GPG Key ID: CC42AC2A7F0E56D8
3 changed files with
4 additions and
3 deletions
-
lib/base.php
-
lib/private/Route/Router.php
-
lib/private/ServerContainer.php
|
|
|
@ -727,7 +727,7 @@ class OC { |
|
|
|
// Make sure that the application class is not loaded before the database is setup
|
|
|
|
if ($systemConfig->getValue("installed", false)) { |
|
|
|
OC_App::loadApp('settings'); |
|
|
|
$settings = new \OCA\Settings\AppInfo\Application(); |
|
|
|
$settings = \OC::$server->query(\OCA\Settings\AppInfo\Application::class); |
|
|
|
$settings->register(); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -371,7 +371,7 @@ class Router implements IRouter { |
|
|
|
$applicationClassName = $appNameSpace . '\\AppInfo\\Application'; |
|
|
|
|
|
|
|
if (class_exists($applicationClassName)) { |
|
|
|
$application = new $applicationClassName(); |
|
|
|
$application = \OC::$server->query($applicationClassName); |
|
|
|
} else { |
|
|
|
$application = new App($appName); |
|
|
|
} |
|
|
|
|
|
|
|
@ -100,8 +100,9 @@ class ServerContainer extends SimpleContainer { |
|
|
|
if (!isset($this->hasNoAppContainer[$namespace])) { |
|
|
|
$applicationClassName = 'OCA\\' . $sensitiveNamespace . '\\AppInfo\\Application'; |
|
|
|
if (class_exists($applicationClassName)) { |
|
|
|
new $applicationClassName(); |
|
|
|
$app = new $applicationClassName(); |
|
|
|
if (isset($this->appContainers[$namespace])) { |
|
|
|
$this->appContainers[$namespace]->offsetSet($applicationClassName, $app); |
|
|
|
return $this->appContainers[$namespace]; |
|
|
|
} |
|
|
|
} |
|
|
|
|