Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2020-06-17 17:11:03 +0300
committerRoeland Jago Douma <roeland@famdouma.nl>2020-06-17 17:24:44 +0300
commit0154df1e057159ba1378843e4e7d5c450e43bf9e (patch)
tree06cd3da0a5632ed190d8ad13ae447d0c1d09e21c
parent5e52c110bb149f35ec46472a4834a5f9a25c4892 (diff)
Properly initialize appframework servicesenh/fix/appframework_services
We can't rely on magic DI here. As it will try to initialize it in the server container. But this doesn't have the proper appname ready. Hence it does BOOM. Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
-rw-r--r--apps/accessibility/appinfo/routes.php1
-rw-r--r--lib/private/AppFramework/DependencyInjection/DIContainer.php15
2 files changed, 13 insertions, 3 deletions
diff --git a/apps/accessibility/appinfo/routes.php b/apps/accessibility/appinfo/routes.php
index 0278457b6a3..da0bfdbd18f 100644
--- a/apps/accessibility/appinfo/routes.php
+++ b/apps/accessibility/appinfo/routes.php
@@ -27,7 +27,6 @@
return [
'routes' => [
['name' => 'accessibility#getCss', 'url' => '/css/user-{md5}', 'verb' => 'GET'],
- ['name' => 'accessibility#getJavascript', 'url' => '/js/accessibility', 'verb' => 'GET'],
],
'ocs' => [
[
diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php
index 82a2780eb27..ea04425b6c8 100644
--- a/lib/private/AppFramework/DependencyInjection/DIContainer.php
+++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php
@@ -59,6 +59,7 @@ use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Files\Folder;
use OCP\Files\IAppData;
use OCP\Group\ISubAdmin;
+use OCP\IConfig;
use OCP\IL10N;
use OCP\ILogger;
use OCP\INavigationManager;
@@ -295,8 +296,18 @@ class DIContainer extends SimpleContainer implements IAppContainer {
return $dispatcher;
});
- $this->registerAlias(IAppConfig::class, OC\AppFramework\Services\AppConfig::class);
- $this->registerAlias(IInitialState::class, OC\AppFramework\Services\InitialState::class);
+ $this->registerService(IAppConfig::class, function (SimpleContainer $c) {
+ return new OC\AppFramework\Services\AppConfig(
+ $c->query(IConfig::class),
+ $c->query('AppName')
+ );
+ });
+ $this->registerService(IInitialState::class, function (SimpleContainer $c) {
+ return new OC\AppFramework\Services\InitialState(
+ $c->query(IInitialState::class),
+ $c->query('AppName')
+ );
+ });
}
/**