diff options
author | Robin Appelman <icewind@owncloud.com> | 2015-04-20 16:59:20 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2015-04-27 14:07:16 +0200 |
commit | dd9601ae8fd0f50eb87d2ce3eed6c5f845573987 (patch) | |
tree | e1766cd4143dc99316f6e17b730565efc82f4b28 /apps/files_sharing/appinfo | |
parent | 45784f213f5e7cf9a38feabd52c4ffadee9ae4f9 (diff) | |
download | nextcloud-server-dd9601ae8fd0f50eb87d2ce3eed6c5f845573987.tar.gz nextcloud-server-dd9601ae8fd0f50eb87d2ce3eed6c5f845573987.zip |
fix merge
Diffstat (limited to 'apps/files_sharing/appinfo')
-rw-r--r-- | apps/files_sharing/appinfo/application.php | 73 | ||||
-rw-r--r-- | apps/files_sharing/appinfo/routes.php | 2 |
2 files changed, 75 insertions, 0 deletions
diff --git a/apps/files_sharing/appinfo/application.php b/apps/files_sharing/appinfo/application.php index 6848c9e8363..0eb20945070 100644 --- a/apps/files_sharing/appinfo/application.php +++ b/apps/files_sharing/appinfo/application.php @@ -8,15 +8,88 @@ namespace OCA\Files_Sharing\Appinfo; +use OCA\Files_Sharing\Helper; use OCA\Files_Sharing\MountProvider; use OCA\Files_Sharing\Propagation\PropagationManager; use OCP\AppFramework\App; +use OC\AppFramework\Utility\SimpleContainer; +use OCA\Files_Sharing\Controllers\ExternalSharesController; +use OCA\Files_Sharing\Controllers\ShareController; +use OCA\Files_Sharing\Middleware\SharingCheckMiddleware; use \OCP\IContainer; class Application extends App { public function __construct(array $urlParams = array()) { parent::__construct('files_sharing', $urlParams); + $container = $this->getContainer(); + $server = $container->getServer(); + + /** + * Controllers + */ + $container->registerService('ShareController', function (SimpleContainer $c) use ($server) { + return new ShareController( + $c->query('AppName'), + $c->query('Request'), + $c->query('UserSession'), + $server->getAppConfig(), + $server->getConfig(), + $c->query('URLGenerator'), + $c->query('UserManager'), + $server->getLogger(), + $server->getActivityManager() + ); + }); + $container->registerService('ExternalSharesController', function (SimpleContainer $c) { + return new ExternalSharesController( + $c->query('AppName'), + $c->query('Request'), + $c->query('IsIncomingShareEnabled'), + $c->query('ExternalManager') + ); + }); + + /** + * Core class wrappers + */ + $container->registerService('UserSession', function (SimpleContainer $c) use ($server) { + return $server->getUserSession(); + }); + $container->registerService('URLGenerator', function (SimpleContainer $c) use ($server) { + return $server->getUrlGenerator(); + }); + $container->registerService('UserManager', function (SimpleContainer $c) use ($server) { + return $server->getUserManager(); + }); + $container->registerService('IsIncomingShareEnabled', function (SimpleContainer $c) { + return Helper::isIncomingServer2serverShareEnabled(); + }); + $container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) { + $user = $server->getUserSession()->getUser(); + $uid = $user ? $user->getUID() : null; + return new \OCA\Files_Sharing\External\Manager( + $server->getDatabaseConnection(), + \OC\Files\Filesystem::getMountManager(), + \OC\Files\Filesystem::getLoader(), + $server->getHTTPHelper(), + $uid + ); + }); + + /** + * Middleware + */ + $container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) { + return new SharingCheckMiddleware( + $c->query('AppName'), + $server->getConfig(), + $server->getAppManager() + ); + }); + + // Execute middlewares + $container->registerMiddleware('SharingCheckMiddleware'); $container->registerService('MountProvider', function (IContainer $c) { /** @var \OCP\IServerContainer $server */ diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index db4566eb612..78fa138f5b5 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -25,6 +25,8 @@ */ namespace OCA\Files_Sharing\AppInfo; +use OCP\API; + $application = new Application(); $application->registerRoutes($this, [ 'resources' => [ |