aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@users.noreply.github.com>2019-11-04 18:18:32 +0100
committerGitHub <noreply@github.com>2019-11-04 18:18:32 +0100
commit13960b69da2593dcfb0cbaef222ee8b9a33142c0 (patch)
treeca43ed0f4daa75e6b03b137b3ad650c8b721efa7 /lib/private
parent64bfd4bbeb10e07bd2133a97c50175a156d43d61 (diff)
parent964dc0a95520efbf876e0113bfafc294f4f4b322 (diff)
downloadnextcloud-server-13960b69da2593dcfb0cbaef222ee8b9a33142c0.tar.gz
nextcloud-server-13960b69da2593dcfb0cbaef222ee8b9a33142c0.zip
Merge pull request #17509 from nextcloud/fix/application-singleton
Fix Application instances created multiple times
Diffstat (limited to 'lib/private')
-rw-r--r--lib/private/Route/Router.php2
-rw-r--r--lib/private/ServerContainer.php3
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/private/Route/Router.php b/lib/private/Route/Router.php
index 3d91a33cd8a..4c83f251012 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 b67b4d1e701..704d207223b 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];
}
}