diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2020-06-17 17:11:03 +0300 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2020-06-17 17:24:44 +0300 |
commit | 0154df1e057159ba1378843e4e7d5c450e43bf9e (patch) | |
tree | 06cd3da0a5632ed190d8ad13ae447d0c1d09e21c | |
parent | 5e52c110bb149f35ec46472a4834a5f9a25c4892 (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.php | 1 | ||||
-rw-r--r-- | lib/private/AppFramework/DependencyInjection/DIContainer.php | 15 |
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') + ); + }); } /** |