From 8356b12d2967a6cab681f73c880fde7f34a88f4b Mon Sep 17 00:00:00 2001 From: Julius Haertl Date: Tue, 16 Aug 2016 10:27:19 +0200 Subject: [PATCH] Move to Application instead of app.php --- appinfo/app.php | 43 ---------------------------- appinfo/application.php | 48 ++++++++++++++++++++++++++++++++ middleware/SharingMiddleware.php | 11 ++++++++ 3 files changed, 59 insertions(+), 43 deletions(-) delete mode 100644 appinfo/app.php create mode 100644 appinfo/application.php create mode 100644 middleware/SharingMiddleware.php diff --git a/appinfo/app.php b/appinfo/app.php deleted file mode 100644 index d570e49ae..000000000 --- a/appinfo/app.php +++ /dev/null @@ -1,43 +0,0 @@ - - * @copyright Julius Härtl 2016 - */ - -namespace OCA\Deck\AppInfo; - -use OCP\AppFramework\App; - -require_once __DIR__ . '/autoload.php'; - -$app = new App('deck'); -$container = $app->getContainer(); - -$container->query('OCP\INavigationManager')->add(function () use ($container) { - $urlGenerator = $container->query('OCP\IURLGenerator'); - $l10n = $container->query('OCP\IL10N'); - return [ - // the string under which your app will be referenced in owncloud - 'id' => 'deck', - - // sorting weight for the navigation. The higher the number, the higher - // will it be listed in the navigation - 'order' => 10, - - // the route that will be shown on startup - 'href' => $urlGenerator->linkToRoute('deck.page.index'), - - // the icon that will be shown in the navigation - // this file needs to exist in img/ - 'icon' => $urlGenerator->imagePath('deck', 'app.svg'), - - // the title of your application. This will be used in the - // navigation or on the settings page of your app - 'name' => $l10n->t('Deck'), - ]; -}); \ No newline at end of file diff --git a/appinfo/application.php b/appinfo/application.php new file mode 100644 index 000000000..3726a1db7 --- /dev/null +++ b/appinfo/application.php @@ -0,0 +1,48 @@ + + * @copyright Julius Härtl 2016 + */ + +namespace OCA\Deck\AppInfo; + +use OCP\AppFramework\App; +use OCA\Deck\Middleware\SharingMiddleware; + + +class Application extends App { + public function __construct(array $urlParams = array()) { + parent::__construct('deck', $urlParams); + + $container = $this->getContainer(); + $server = $container->getServer(); + + $container->registerService('SharingMiddleware', function ($c) use ($server) { + return new SharingMiddleware( + $server->getUserManager(), + $server->getGroupManager(), + $server->getDatabaseConnection(), + $server->getUserSession()->getUser()->getUID() + ); + }); + $container->registerMiddleware('SharingMiddleware'); + + + $container->query('OCP\INavigationManager')->add(function () use ($container) { + $urlGenerator = $container->query('OCP\IURLGenerator'); + $l10n = $container->query('OCP\IL10N'); + return [ + 'id' => 'deck', + 'order' => 10, + 'href' => $urlGenerator->linkToRoute('deck.page.index'), + 'icon' => $urlGenerator->imagePath('deck', 'app.svg'), + 'name' => $l10n->t('Deck'), + ]; + }); + } +} \ No newline at end of file diff --git a/middleware/SharingMiddleware.php b/middleware/SharingMiddleware.php new file mode 100644 index 000000000..2dca9fac9 --- /dev/null +++ b/middleware/SharingMiddleware.php @@ -0,0 +1,11 @@ +