diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2016-05-12 12:07:06 +0200 |
---|---|---|
committer | Thomas Müller <DeepDiver1975@users.noreply.github.com> | 2016-05-12 12:07:06 +0200 |
commit | b34bacd0718fa24c67a8ef0aa6f3b824a9b525bb (patch) | |
tree | 904bda1263850905c2c8164f4f1367d8c7bc9d46 /apps/files/lib/AppInfo/Application.php | |
parent | eea98f1d74daf2a20c6b08b9df743f0478c48103 (diff) | |
download | nextcloud-server-b34bacd0718fa24c67a8ef0aa6f3b824a9b525bb.tar.gz nextcloud-server-b34bacd0718fa24c67a8ef0aa6f3b824a9b525bb.zip |
Move Files app to PSR-4 (#24569)
* Move lib/ of Files app to PSR-4
* Move tests to PSR-4
Diffstat (limited to 'apps/files/lib/AppInfo/Application.php')
-rw-r--r-- | apps/files/lib/AppInfo/Application.php | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/apps/files/lib/AppInfo/Application.php b/apps/files/lib/AppInfo/Application.php new file mode 100644 index 00000000000..b2faa43cc3c --- /dev/null +++ b/apps/files/lib/AppInfo/Application.php @@ -0,0 +1,94 @@ +<?php +/** + * @author Roeland Jago Douma <rullzer@owncloud.com> + * @author Tobias Kaminsky <tobias@kaminsky.me> + * @author Vincent Petry <pvince81@owncloud.com> + * + * @copyright Copyright (c) 2016, ownCloud, Inc. + * @license AGPL-3.0 + * + * This code is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License, version 3, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License, version 3, + * along with this program. If not, see <http://www.gnu.org/licenses/> + * + */ +namespace OCA\Files\AppInfo; + +use OCA\Files\Controller\ApiController; +use OCP\AppFramework\App; +use \OCA\Files\Service\TagService; +use \OCP\IContainer; +use OCA\Files\Controller\ViewController; + +class Application extends App { + public function __construct(array $urlParams=array()) { + parent::__construct('files', $urlParams); + $container = $this->getContainer(); + $server = $container->getServer(); + + /** + * Controllers + */ + $container->registerService('APIController', function (IContainer $c) use ($server) { + return new ApiController( + $c->query('AppName'), + $c->query('Request'), + $server->getUserSession(), + $c->query('TagService'), + $server->getPreviewManager(), + $server->getShareManager(), + $server->getConfig() + ); + }); + + $container->registerService('ViewController', function (IContainer $c) use ($server) { + return new ViewController( + $c->query('AppName'), + $c->query('Request'), + $server->getURLGenerator(), + $server->getNavigationManager(), + $c->query('L10N'), + $server->getConfig(), + $server->getEventDispatcher(), + $server->getUserSession(), + $server->getAppManager(), + $server->getRootFolder() + ); + }); + + /** + * Core + */ + $container->registerService('L10N', function(IContainer $c) { + return $c->query('ServerContainer')->getL10N($c->query('AppName')); + }); + + /** + * Services + */ + $container->registerService('Tagger', function(IContainer $c) { + return $c->query('ServerContainer')->getTagManager()->load('files'); + }); + $container->registerService('TagService', function(IContainer $c) { + $homeFolder = $c->query('ServerContainer')->getUserFolder(); + return new TagService( + $c->query('ServerContainer')->getUserSession(), + $c->query('Tagger'), + $homeFolder + ); + }); + + /* + * Register capabilities + */ + $container->registerCapability('OCA\Files\Capabilities'); + } +} |