From 3dfdc8e3117e9284e93631b73859e588fdfd0875 Mon Sep 17 00:00:00 2001
From: Arthur Schiwon <blizzz@arthur-schiwon.de>
Date: Thu, 11 Aug 2016 19:03:43 +0200
Subject: adjust systemtags app

---
 apps/systemtags/admin.php                   | 23 -----------
 apps/systemtags/appinfo/app.php             |  3 --
 apps/systemtags/appinfo/info.xml            |  5 ++-
 apps/systemtags/lib/AppInfo/Application.php | 37 -----------------
 apps/systemtags/lib/Settings/Admin.php      | 64 +++++++++++++++++++++++++++++
 5 files changed, 68 insertions(+), 64 deletions(-)
 delete mode 100644 apps/systemtags/admin.php
 delete mode 100644 apps/systemtags/lib/AppInfo/Application.php
 create mode 100644 apps/systemtags/lib/Settings/Admin.php

(limited to 'apps')

diff --git a/apps/systemtags/admin.php b/apps/systemtags/admin.php
deleted file mode 100644
index 45ea577e8ab..00000000000
--- a/apps/systemtags/admin.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
-
-$template = new \OCP\Template('systemtags', 'admin');
-return $template->fetchPage();
diff --git a/apps/systemtags/appinfo/app.php b/apps/systemtags/appinfo/app.php
index 5a365c4ef15..af91e5fdbcd 100644
--- a/apps/systemtags/appinfo/app.php
+++ b/apps/systemtags/appinfo/app.php
@@ -78,9 +78,6 @@ $mapperListener = function(MapperEvent $event) use ($activityManager) {
 $eventDispatcher->addListener(MapperEvent::EVENT_ASSIGN, $mapperListener);
 $eventDispatcher->addListener(MapperEvent::EVENT_UNASSIGN, $mapperListener);
 
-$app = new \OCA\SystemTags\AppInfo\Application();
-$app->registerAdminPage();
-
 $l = \OC::$server->getL10N('systemtags');
 
 \OCA\Files\App::getNavigationManager()->add(
diff --git a/apps/systemtags/appinfo/info.xml b/apps/systemtags/appinfo/info.xml
index 5eced10b710..46bb9278838 100644
--- a/apps/systemtags/appinfo/info.xml
+++ b/apps/systemtags/appinfo/info.xml
@@ -7,7 +7,7 @@
 	<licence>AGPL</licence>
 	<author>Vincent Petry, Joas Schilling</author>
 	<default_enable/>
-	<version>1.1.0</version>
+	<version>1.1.1</version>
 	<dependencies>
 		<owncloud min-version="9.2" max-version="9.2" />
 	</dependencies>
@@ -15,4 +15,7 @@
 	<types>
 		<logging/>
 	</types>
+	<settings>
+		<admin>OCA\SystemTags\Settings\Admin</admin>
+	</settings>
 </info>
diff --git a/apps/systemtags/lib/AppInfo/Application.php b/apps/systemtags/lib/AppInfo/Application.php
deleted file mode 100644
index 7cd49d6424b..00000000000
--- a/apps/systemtags/lib/AppInfo/Application.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
- *
- * @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 <http://www.gnu.org/licenses/>.
- *
- */
-
-namespace OCA\SystemTags\AppInfo;
-
-use OCP\AppFramework\App;
-
-class Application extends App {
-	public function __construct() {
-		parent::__construct('systemtags');
-	}
-
-	/**
-	 * Register admin settings
-	 */
-	public function registerAdminPage() {
-		\OCP\App::registerAdmin($this->getContainer()->getAppName(), 'admin');
-	}
-}
diff --git a/apps/systemtags/lib/Settings/Admin.php b/apps/systemtags/lib/Settings/Admin.php
new file mode 100644
index 00000000000..351c2264397
--- /dev/null
+++ b/apps/systemtags/lib/Settings/Admin.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @author Arthur Schiwon <blizzz@arthur-schiwon.de>
+ *
+ * @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 <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\SystemTags\Settings;
+
+use OCA\Federation\TrustedServers;
+use OCP\AppFramework\Http\TemplateResponse;
+use OCP\Settings\ISettings;
+
+class Admin implements ISettings {
+
+	/** @var TrustedServers */
+	private $trustedServers;
+
+	public function __construct(TrustedServers $trustedServers) {
+		$this->trustedServers = $trustedServers;
+	}
+
+	/**
+	 * @return TemplateResponse
+	 */
+	public function getForm() {
+		return new TemplateResponse('systemtags', 'admin', [], '');
+	}
+
+	/**
+	 * @return string the section ID, e.g. 'sharing'
+	 */
+	public function getSection() {
+		return 'collaboration';
+	}
+
+	/**
+	 * @return int whether the form should be rather on the top or bottom of
+	 * the admin section. The forms are arranged in ascending order of the
+	 * priority values. It is required to return a value between 0 and 100.
+	 *
+	 * E.g.: 70
+	 */
+	public function getPriority() {
+		return 30;
+	}
+
+}
-- 
cgit v1.2.3