diff --git a/lib/base.php b/lib/base.php index 7674c16c26..510a960e43 100644 --- a/lib/base.php +++ b/lib/base.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(); } diff --git a/lib/private/Route/Router.php b/lib/private/Route/Router.php index 3d91a33cd8..4c83f25101 100644 --- a/lib/private/Route/Router.php +++ b/lib/private/Route/Router.php @@ -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); } diff --git a/lib/private/ServerContainer.php b/lib/private/ServerContainer.php index b67b4d1e70..704d207223 100644 --- a/lib/private/ServerContainer.php +++ b/lib/private/ServerContainer.php @@ -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]; } }