diff options
author | Lukas Reschke <lukas@owncloud.com> | 2014-10-15 11:58:44 +0200 |
---|---|---|
committer | Lukas Reschke <lukas@owncloud.com> | 2014-11-14 16:26:59 +0100 |
commit | 988c85d2922a03346389e3656dc71dfee514e645 (patch) | |
tree | 9be0d1674dd7e780c70c77a987c4a810145078ab /apps/files_sharing/application.php | |
parent | 0f3c5d8541dcb41eebd00f22864a0a646c11124f (diff) | |
download | nextcloud-server-988c85d2922a03346389e3656dc71dfee514e645.tar.gz nextcloud-server-988c85d2922a03346389e3656dc71dfee514e645.zip |
Refactor file sharing public link handling
fixes download issue introduced by #10755
Conflicts:
apps/files_sharing/public.php
Diffstat (limited to 'apps/files_sharing/application.php')
-rw-r--r-- | apps/files_sharing/application.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/apps/files_sharing/application.php b/apps/files_sharing/application.php new file mode 100644 index 00000000000..089ed6afbda --- /dev/null +++ b/apps/files_sharing/application.php @@ -0,0 +1,73 @@ +<?php +/** + * @author Lukas Reschke + * @copyright 2014 Lukas Reschke lukas@owncloud.com + * + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace OCA\Files_Sharing; + +use OC\AppFramework\Utility\SimpleContainer; +use OCA\Files_Sharing\Controllers\ShareController; +use OCA\Files_Sharing\Middleware\SharingCheckMiddleware; +use \OCP\AppFramework\App; + +/** + * @package OCA\Files_Sharing + */ +class Application extends App { + + + /** + * @param array $urlParams + */ + public function __construct(array $urlParams=array()){ + parent::__construct('files_sharing', $urlParams); + + $container = $this->getContainer(); + + /** + * Controllers + */ + $container->registerService('ShareController', function(SimpleContainer $c) { + return new ShareController( + $c->query('AppName'), + $c->query('Request'), + $c->query('UserSession'), + $c->query('ServerContainer')->getAppConfig(), + $c->query('ServerContainer')->getConfig(), + $c->query('URLGenerator'), + $c->query('ServerContainer')->getUserManager(), + $c->query('ServerContainer')->getLogger() + ); + }); + + /** + * Core class wrappers + */ + $container->registerService('UserSession', function(SimpleContainer $c) { + return $c->query('ServerContainer')->getUserSession(); + }); + $container->registerService('URLGenerator', function(SimpleContainer $c) { + return $c->query('ServerContainer')->getUrlGenerator(); + }); + + /** + * Middleware + */ + $container->registerService('SharingCheckMiddleware', function(SimpleContainer $c){ + return new SharingCheckMiddleware( + $c->query('AppName'), + $c->query('ServerContainer')->getAppConfig(), + $c->getCoreApi() + ); + }); + + // Execute middlewares + $container->registerMiddleware('SharingCheckMiddleware'); + } + +} |