]> source.dussan.org Git - nextcloud-server.git/commitdiff
Register the settings of the files app via info.xml
authorJoas Schilling <coding@schilljs.com>
Tue, 25 Oct 2016 16:23:51 +0000 (18:23 +0200)
committerJoas Schilling <coding@schilljs.com>
Wed, 16 Nov 2016 08:25:44 +0000 (09:25 +0100)
Signed-off-by: Joas Schilling <coding@schilljs.com>
apps/files/appinfo/info.xml
apps/files/lib/Activity.php
apps/files/lib/Activity/Settings/FileChanged.php [new file with mode: 0644]
apps/files/lib/Activity/Settings/FileCreated.php [new file with mode: 0644]
apps/files/lib/Activity/Settings/FileDeleted.php [new file with mode: 0644]
apps/files/lib/Activity/Settings/FileFavorite.php [new file with mode: 0644]
apps/files/lib/Activity/Settings/FileRestored.php [new file with mode: 0644]

index d19c57dffe09bab6cf427a0765c5467683ed7ea2..53452f4b071aa7adcf4d13b758afca74aedbbdc0 100644 (file)
        </documentation>
 
        <activity>
+               <settings>
+                       <setting>OCA\Files\Activity\Settings\FileChanged</setting>
+                       <setting>OCA\Files\Activity\Settings\FileCreated</setting>
+                       <setting>OCA\Files\Activity\Settings\FileDeleted</setting>
+                       <setting>OCA\Files\Activity\Settings\FileFavorite</setting>
+                       <setting>OCA\Files\Activity\Settings\FileRestored</setting>
+               </settings>
+
                <filters>
                        <filter>OCA\Files\Activity\Filter\FileChanges</filter>
                        <filter>OCA\Files\Activity\Filter\Favorites</filter>
index f60f4f16f0a444b1c8a4b54d2809bf0209986bea..0155a3b7e9ea22474ee7895821bd94bd319c1399 100644 (file)
@@ -96,17 +96,7 @@ class Activity implements IExtension {
         *                              ]
         */
        public function getNotificationTypes($languageCode) {
-               $l = $this->getL10N($languageCode);
-               return [
-                       self::TYPE_SHARE_CREATED => (string) $l->t('A new file or folder has been <strong>created</strong>'),
-                       self::TYPE_SHARE_CHANGED => (string) $l->t('A file or folder has been <strong>changed</strong> or <strong>renamed</strong>'),
-                       self::TYPE_FAVORITES => [
-                               'desc' => (string) $l->t('Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>'),
-                               'methods' => [self::METHOD_STREAM],
-                       ],
-                       self::TYPE_SHARE_DELETED => (string) $l->t('A file or folder has been <strong>deleted</strong>'),
-                       self::TYPE_SHARE_RESTORED => (string) $l->t('A file or folder has been <strong>restored</strong>'),
-               ];
+               return false;
        }
 
        /**
@@ -117,15 +107,6 @@ class Activity implements IExtension {
         * @return array|false
         */
        public function getDefaultTypes($method) {
-               if ($method === self::METHOD_STREAM) {
-                       $settings = array();
-                       $settings[] = self::TYPE_SHARE_CREATED;
-                       $settings[] = self::TYPE_SHARE_CHANGED;
-                       $settings[] = self::TYPE_SHARE_DELETED;
-                       $settings[] = self::TYPE_SHARE_RESTORED;
-                       return $settings;
-               }
-
                return false;
        }
 
diff --git a/apps/files/lib/Activity/Settings/FileChanged.php b/apps/files/lib/Activity/Settings/FileChanged.php
new file mode 100644 (file)
index 0000000..d0ff69f
--- /dev/null
@@ -0,0 +1,98 @@
+<?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\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileChanged implements ISetting {
+
+       /** @var IL10N */
+       protected $l;
+
+       /**
+        * @param IL10N $l
+        */
+       public function __construct(IL10N $l) {
+               $this->l = $l;
+       }
+
+       /**
+        * @return string Lowercase a-z and underscore only identifier
+        * @since 9.2.0
+        */
+       public function getIdentifier() {
+               return 'file_changed';
+       }
+
+       /**
+        * @return string A translated string
+        * @since 9.2.0
+        */
+       public function getName() {
+               return $this->l->t('A file or folder has been <strong>changed</strong> or <strong>renamed</strong>');
+       }
+
+       /**
+        * @return int whether the filter should be rather on the top or bottom of
+        * the admin section. The filters are arranged in ascending order of the
+        * priority values. It is required to return a value between 0 and 100.
+        * @since 9.2.0
+        */
+       public function getPriority() {
+               return 1;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function canChangeStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the mail
+        * @since 9.2.0
+        */
+       public function canChangeMail() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledMail() {
+               return false;
+       }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileCreated.php b/apps/files/lib/Activity/Settings/FileCreated.php
new file mode 100644 (file)
index 0000000..e0ae23a
--- /dev/null
@@ -0,0 +1,98 @@
+<?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\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileCreated implements ISetting {
+
+       /** @var IL10N */
+       protected $l;
+
+       /**
+        * @param IL10N $l
+        */
+       public function __construct(IL10N $l) {
+               $this->l = $l;
+       }
+
+       /**
+        * @return string Lowercase a-z and underscore only identifier
+        * @since 9.2.0
+        */
+       public function getIdentifier() {
+               return 'file_created';
+       }
+
+       /**
+        * @return string A translated string
+        * @since 9.2.0
+        */
+       public function getName() {
+               return $this->l->t('A new file or folder has been <strong>created</strong>');
+       }
+
+       /**
+        * @return int whether the filter should be rather on the top or bottom of
+        * the admin section. The filters are arranged in ascending order of the
+        * priority values. It is required to return a value between 0 and 100.
+        * @since 9.2.0
+        */
+       public function getPriority() {
+               return 0;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function canChangeStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the mail
+        * @since 9.2.0
+        */
+       public function canChangeMail() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledMail() {
+               return false;
+       }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileDeleted.php b/apps/files/lib/Activity/Settings/FileDeleted.php
new file mode 100644 (file)
index 0000000..9378186
--- /dev/null
@@ -0,0 +1,98 @@
+<?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\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileDeleted implements ISetting {
+
+       /** @var IL10N */
+       protected $l;
+
+       /**
+        * @param IL10N $l
+        */
+       public function __construct(IL10N $l) {
+               $this->l = $l;
+       }
+
+       /**
+        * @return string Lowercase a-z and underscore only identifier
+        * @since 9.2.0
+        */
+       public function getIdentifier() {
+               return 'file_deleted';
+       }
+
+       /**
+        * @return string A translated string
+        * @since 9.2.0
+        */
+       public function getName() {
+               return $this->l->t('A new file or folder has been <strong>deleted</strong>');
+       }
+
+       /**
+        * @return int whether the filter should be rather on the top or bottom of
+        * the admin section. The filters are arranged in ascending order of the
+        * priority values. It is required to return a value between 0 and 100.
+        * @since 9.2.0
+        */
+       public function getPriority() {
+               return 3;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function canChangeStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the mail
+        * @since 9.2.0
+        */
+       public function canChangeMail() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledMail() {
+               return false;
+       }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileFavorite.php b/apps/files/lib/Activity/Settings/FileFavorite.php
new file mode 100644 (file)
index 0000000..00ac41b
--- /dev/null
@@ -0,0 +1,98 @@
+<?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\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileFavorite implements ISetting {
+
+       /** @var IL10N */
+       protected $l;
+
+       /**
+        * @param IL10N $l
+        */
+       public function __construct(IL10N $l) {
+               $this->l = $l;
+       }
+
+       /**
+        * @return string Lowercase a-z and underscore only identifier
+        * @since 9.2.0
+        */
+       public function getIdentifier() {
+               return 'file_favorite';
+       }
+
+       /**
+        * @return string A translated string
+        * @since 9.2.0
+        */
+       public function getName() {
+               return $this->l->t('Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>');
+       }
+
+       /**
+        * @return int whether the filter should be rather on the top or bottom of
+        * the admin section. The filters are arranged in ascending order of the
+        * priority values. It is required to return a value between 0 and 100.
+        * @since 9.2.0
+        */
+       public function getPriority() {
+               return 2;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function canChangeStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledStream() {
+               return false;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the mail
+        * @since 9.2.0
+        */
+       public function canChangeMail() {
+               return false;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledMail() {
+               return false;
+       }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileRestored.php b/apps/files/lib/Activity/Settings/FileRestored.php
new file mode 100644 (file)
index 0000000..bc6ec17
--- /dev/null
@@ -0,0 +1,98 @@
+<?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\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileRestored implements ISetting {
+
+       /** @var IL10N */
+       protected $l;
+
+       /**
+        * @param IL10N $l
+        */
+       public function __construct(IL10N $l) {
+               $this->l = $l;
+       }
+
+       /**
+        * @return string Lowercase a-z and underscore only identifier
+        * @since 9.2.0
+        */
+       public function getIdentifier() {
+               return 'file_restored';
+       }
+
+       /**
+        * @return string A translated string
+        * @since 9.2.0
+        */
+       public function getName() {
+               return $this->l->t('A new file or folder has been <strong>restored</strong>');
+       }
+
+       /**
+        * @return int whether the filter should be rather on the top or bottom of
+        * the admin section. The filters are arranged in ascending order of the
+        * priority values. It is required to return a value between 0 and 100.
+        * @since 9.2.0
+        */
+       public function getPriority() {
+               return 4;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function canChangeStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the mail
+        * @since 9.2.0
+        */
+       public function canChangeMail() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 9.2.0
+        */
+       public function isDefaultEnabledMail() {
+               return false;
+       }
+}
+