|
|
|
|
@ -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(); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|