diff options
author | Joas Schilling <coding@schilljs.com> | 2016-10-05 16:31:28 +0200 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2016-10-05 16:36:49 +0200 |
commit | 4db5b2a2c6737cb9377db3316af9e5fb1353055f (patch) | |
tree | 80912cef60e93ebc99bd3d24338248cd2366605b /settings/Application.php | |
parent | 8b3deb00b3af145a3a27af04b1332a804e7d8da4 (diff) | |
download | nextcloud-server-4db5b2a2c6737cb9377db3316af9e5fb1353055f.tar.gz nextcloud-server-4db5b2a2c6737cb9377db3316af9e5fb1353055f.zip |
Use magic DI as much as possible
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'settings/Application.php')
-rw-r--r-- | settings/Application.php | 187 |
1 files changed, 15 insertions, 172 deletions
diff --git a/settings/Application.php b/settings/Application.php index 5a47be7b3d4..dd237e40c9d 100644 --- a/settings/Application.php +++ b/settings/Application.php @@ -30,18 +30,11 @@ namespace OC\Settings; -use OC\Files\View; -use OC\Server; -use OC\Settings\Controller\AdminSettingsController; -use OC\Settings\Controller\AuthSettingsController; -use OC\Settings\Controller\CertificateController; -use OC\Settings\Controller\EncryptionController; -use OC\Settings\Controller\GroupsController; -use OC\Settings\Controller\MailSettingsController; -use OC\Settings\Controller\UsersController; +use OC\Authentication\Token\IProvider; use OC\Settings\Middleware\SubadminMiddleware; use OCP\AppFramework\App; use OCP\IContainer; +use OCP\Settings\IManager; use OCP\Util; /** @@ -58,131 +51,19 @@ class Application extends App { $container = $this->getContainer(); - /** - * Controllers - */ - $container->registerService('MailSettingsController', function(IContainer $c) { - return new MailSettingsController( - $c->query('AppName'), - $c->query('Request'), - $c->query('L10N'), - $c->query('Config'), - $c->query('UserSession'), - $c->query('Defaults'), - $c->query('Mailer'), - $c->query('DefaultMailAddress') - ); - }); - $container->registerService('EncryptionController', function(IContainer $c) { - return new EncryptionController( - $c->query('AppName'), - $c->query('Request'), - $c->query('L10N'), - $c->query('Config'), - $c->query('DatabaseConnection'), - $c->query('UserManager'), - new View(), - $c->query('Logger') - ); - }); - $container->registerService('AuthSettingsController', function(IContainer $c) { - return new AuthSettingsController( - $c->query('AppName'), - $c->query('Request'), - $c->query('ServerContainer')->query('OC\Authentication\Token\IProvider'), - $c->query('UserManager'), - $c->query('ServerContainer')->getSession(), - $c->query('ServerContainer')->getSecureRandom(), - $c->query('UserId') - ); - }); - $container->registerService('CertificateController', function(IContainer $c) { - return new CertificateController( - $c->query('AppName'), - $c->query('Request'), - $c->query('CertificateManager'), - $c->query('SystemCertificateManager'), - $c->query('L10N'), - $c->query('IAppManager') - ); - }); - $container->registerService('GroupsController', function(IContainer $c) { - return new GroupsController( - $c->query('AppName'), - $c->query('Request'), - $c->query('GroupManager'), - $c->query('UserSession'), - $c->query('IsAdmin'), - $c->query('L10N') - ); - }); - $container->registerService('UsersController', function(IContainer $c) { - return new UsersController( - $c->query('AppName'), - $c->query('Request'), - $c->query('UserManager'), - $c->query('GroupManager'), - $c->query('UserSession'), - $c->query('Config'), - $c->query('IsAdmin'), - $c->query('L10N'), - $c->query('Logger'), - $c->query('Defaults'), - $c->query('Mailer'), - $c->query('DefaultMailAddress'), - $c->query('URLGenerator'), - $c->query('OCP\\App\\IAppManager'), - $c->query('OCP\\IAvatarManager') - ); - }); - $container->registerService('AdminSettingsController', function(IContainer $c) { - return new AdminSettingsController( - $c->query('AppName'), - $c->query('Request'), - $c->query('INavigationManager'), - $c->query('SettingsManager') - ); - }); - - /** - * Middleware - */ - $container->registerService('SubadminMiddleware', function(IContainer $c){ - return new SubadminMiddleware( - $c->query('ControllerMethodReflector'), - $c->query('IsSubAdmin') - ); - }); - // Execute middlewares - $container->registerMiddleware('SubadminMiddleware'); + // Register Middleware + $container->registerAlias('SubadminMiddleware', SubadminMiddleware::class); + $container->registerMiddleWare('SubadminMiddleware'); /** * Core class wrappers */ - $container->registerService('Config', function(IContainer $c) { - return $c->query('ServerContainer')->getConfig(); - }); - $container->registerService('ICacheFactory', function(IContainer $c) { - return $c->query('ServerContainer')->getMemCacheFactory(); - }); - $container->registerService('L10N', function(IContainer $c) { - return $c->query('ServerContainer')->getL10N('settings'); - }); - $container->registerService('GroupManager', function(IContainer $c) { - return $c->query('ServerContainer')->getGroupManager(); - }); - $container->registerService('UserManager', function(IContainer $c) { - return $c->query('ServerContainer')->getUserManager(); - }); - $container->registerService('UserSession', function(IContainer $c) { - return $c->query('ServerContainer')->getUserSession(); - }); /** FIXME: Remove once OC_User is non-static and mockable */ - $container->registerService('IsAdmin', function(IContainer $c) { + $container->registerService('isAdmin', function() { return \OC_User::isAdminUser(\OC_User::getUser()); }); /** FIXME: Remove once OC_SubAdmin is non-static and mockable */ - $container->registerService('IsSubAdmin', function(IContainer $c) { + $container->registerService('isSubAdmin', function(IContainer $c) { $userObject = \OC::$server->getUserSession()->getUser(); $isSubAdmin = false; if($userObject !== null) { @@ -190,57 +71,19 @@ class Application extends App { } return $isSubAdmin; }); - $container->registerService('Mailer', function(IContainer $c) { - return $c->query('ServerContainer')->getMailer(); - }); - $container->registerService('Defaults', function(IContainer $c) { - return $c->query('ServerContainer')->getThemingDefaults(); - }); - $container->registerService('DefaultMailAddress', function(IContainer $c) { + $container->registerService('fromMailAddress', function() { return Util::getDefaultEmailAddress('no-reply'); }); - $container->registerService('Logger', function(IContainer $c) { - return $c->query('ServerContainer')->getLogger(); - }); - $container->registerService('URLGenerator', function(IContainer $c) { - return $c->query('ServerContainer')->getURLGenerator(); - }); - $container->registerService('ClientService', function(IContainer $c) { - return $c->query('ServerContainer')->getHTTPClientService(); - }); - $container->registerService('INavigationManager', function(IContainer $c) { - return $c->query('ServerContainer')->getNavigationManager(); - }); - $container->registerService('IAppManager', function(IContainer $c) { - return $c->query('ServerContainer')->getAppManager(); - }); - $container->registerService('OcsClient', function(IContainer $c) { - return $c->query('ServerContainer')->getOcsClient(); - }); - $container->registerService('Util', function(IContainer $c) { - return new \OC_Util(); - }); - $container->registerService('DatabaseConnection', function(IContainer $c) { - return $c->query('ServerContainer')->getDatabaseConnection(); - }); - $container->registerService('CertificateManager', function(IContainer $c){ + $container->registerService('userCertificateManager', function(IContainer $c) { return $c->query('ServerContainer')->getCertificateManager(); - }); - $container->registerService('SystemCertificateManager', function (IContainer $c) { + }, false); + $container->registerService('systemCertificateManager', function (IContainer $c) { return $c->query('ServerContainer')->getCertificateManager(null); + }, false); + $container->registerService(IProvider::class, function (IContainer $c) { + return $c->query('ServerContainer')->query(IProvider::class); }); - $container->registerService('Checker', function(IContainer $c) { - /** @var Server $server */ - $server = $c->query('ServerContainer'); - return $server->getIntegrityCodeChecker(); - }); - $container->registerService('EventDispatcher', function (IContainer $c) { - return $c->query('ServerContainer')->getEventDispatcher(); - }); - $container->registerService('EncryptionManager', function (IContainer $c) { - return $c->query('ServerContainer')->getEncryptionManager(); - }); - $container->registerService('SettingsManager', function (IContainer $c) { + $container->registerService(IManager::class, function (IContainer $c) { return $c->query('ServerContainer')->getSettingsManager(); }); } |