summaryrefslogtreecommitdiffstats
path: root/lib/AppInfo
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2020-04-17 08:26:00 +0200
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2020-04-17 08:26:00 +0200
commit111346e29d957c631bc7f892f597e3f805932435 (patch)
tree36b640f2097ce0a6e577adce010b2db045d63553 /lib/AppInfo
parent872e74b8ec7a67dd6db597ea4e742c3faa169c93 (diff)
Fix app init & initialstate
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'lib/AppInfo')
-rw-r--r--lib/AppInfo/Application.php70
1 files changed, 70 insertions, 0 deletions
diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php
new file mode 100644
index 00000000..3f382cf9
--- /dev/null
+++ b/lib/AppInfo/Application.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com>
+ *
+ * @author John Molakvoæ <skjnldsv@protonmail.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\Contacts\AppInfo;
+use OCP\AppFramework\App;
+use OCP\IURLGenerator;
+use OCP\IL10N;
+use OCP\INavigationManager;
+
+class Application extends App {
+
+ const APP_ID = 'contacts';
+
+ public function __construct() {
+ parent::__construct(self::APP_ID);
+ }
+
+ public function register() {
+ $server = $this->getContainer()->getServer();
+
+ /** @var INavigationManager $navigationManager */
+ $navigationManager = $server->query(INavigationManager::class);
+
+ /** @var IURLGenerator $urlGenerator */
+ $urlGenerator = $server->query(IURLGenerator::class);
+
+ /** @var IL10N $l10n */
+ $l10n = $server->getL10N(self::APP_ID);
+
+ $navigationManager->add([
+ // the string under which your app will be referenced in Nextcloud
+ 'id' => self::APP_ID,
+
+ // sorting weight for the navigation. The higher the number, the higher
+ // will it be listed in the navigation
+ 'order' => 4,
+
+ // the route that will be shown on startup
+ 'href' => $urlGenerator->linkToRoute('contacts.page.index'),
+
+ // the icon that will be shown in the navigation
+ // this file needs to exist in img/
+ 'icon' => $urlGenerator->imagePath(self::APP_ID, '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('Contacts'),
+ ]);
+
+ }
+}