From 77b4ca9e313756217ed4b1de3d590b357c1aa61e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Sat, 16 Sep 2017 14:35:53 +0200 Subject: [PATCH] Fix app container building and IProvider injection for NC11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- appinfo/app.php | 5 ----- appinfo/application.php | 43 +++++++++++++++++++++++++++++++++++++++++ appinfo/routes.php | 2 ++ 3 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 appinfo/application.php diff --git a/appinfo/app.php b/appinfo/app.php index 172e0a4..167c161 100644 --- a/appinfo/app.php +++ b/appinfo/app.php @@ -17,8 +17,3 @@ namespace OCA\Registration\AppInfo; ]); \OCP\App::registerAdmin('registration', 'admin'); - -if(interface_exists('\OCP\Capabilities\IPublicCapability')) { - $app = new \OCP\AppFramework\App('registration'); - $app->getContainer()->registerCapability(\OCA\Registration\Capabilities::class); -} \ No newline at end of file diff --git a/appinfo/application.php b/appinfo/application.php new file mode 100644 index 0000000..73785c6 --- /dev/null +++ b/appinfo/application.php @@ -0,0 +1,43 @@ + + * + * @author Julius Härtl + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * 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 + * along with this program. If not, see . + * + */ + +namespace OCA\Registration\AppInfo; + +use OCP\AppFramework\App; + +class Application extends App { + + public function __construct(array $urlParams = array()) { + parent::__construct('registration', $urlParams); + + $container = $this->getContainer(); + $container->registerService('OC\Authentication\Token\IProvider', function ($c) { + return \OC::$server->query('OC\Authentication\Token\IProvider'); + }); + + if (interface_exists('\OCP\Capabilities\IPublicCapability')) { + $container->registerCapability(\OCA\Registration\Capabilities::class); + } + } + +} diff --git a/appinfo/routes.php b/appinfo/routes.php index 7db7778..146f00b 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -10,6 +10,8 @@ * @copyright Pellaeon Lin 2014 */ +$app = new \OCA\Registration\AppInfo\Application(); + return [ 'routes' => [ ['name' => 'settings#admin', 'url' => '/settings', 'verb' => 'POST'],