]> source.dussan.org Git - nextcloud-server.git/commitdiff
merge file activity settings into a single 'favorite changed' item 22205/head
authorRobin Appelman <robin@icewind.nl>
Tue, 11 Aug 2020 23:43:12 +0000 (01:43 +0200)
committerRobin Appelman <robin@icewind.nl>
Wed, 12 Aug 2020 22:01:34 +0000 (00:01 +0200)
Signed-off-by: Robin Appelman <robin@icewind.nl>
14 files changed:
apps/files/appinfo/info.xml
apps/files/composer/composer/autoload_classmap.php
apps/files/composer/composer/autoload_static.php
apps/files/lib/Activity/Settings/FileChanged.php
apps/files/lib/Activity/Settings/FileCreated.php [deleted file]
apps/files/lib/Activity/Settings/FileDeleted.php [deleted file]
apps/files/lib/Activity/Settings/FileFavorite.php [deleted file]
apps/files/lib/Activity/Settings/FileFavoriteChanged.php [new file with mode: 0644]
apps/files/lib/Activity/Settings/FileRestored.php [deleted file]
apps/files/tests/Activity/Setting/GenericTest.php
apps/files_sharing/lib/Activity/Settings/PublicLinks.php
apps/files_sharing/lib/Activity/Settings/RemoteShare.php
apps/files_sharing/lib/Activity/Settings/Shared.php
lib/private/Tags.php

index 1ac21257a24e0f7107660202c4248c37976d7825..5390c0d1d91eec5acb7469b0a993f34c14b6588a 100644 (file)
                <settings>
                        <setting>OCA\Files\Activity\Settings\FavoriteAction</setting>
                        <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>
+                       <setting>OCA\Files\Activity\Settings\FileFavoriteChanged</setting>
                </settings>
 
                <filters>
index 2f5bb719166e0a6f003b89a0312b42896859a631..a0cde3f8447604e9e98de10eef6759d6b05636a2 100644 (file)
@@ -14,10 +14,7 @@ return array(
     'OCA\\Files\\Activity\\Settings\\FavoriteAction' => $baseDir . '/../lib/Activity/Settings/FavoriteAction.php',
     'OCA\\Files\\Activity\\Settings\\FileActivitySettings' => $baseDir . '/../lib/Activity/Settings/FileActivitySettings.php',
     'OCA\\Files\\Activity\\Settings\\FileChanged' => $baseDir . '/../lib/Activity/Settings/FileChanged.php',
-    'OCA\\Files\\Activity\\Settings\\FileCreated' => $baseDir . '/../lib/Activity/Settings/FileCreated.php',
-    'OCA\\Files\\Activity\\Settings\\FileDeleted' => $baseDir . '/../lib/Activity/Settings/FileDeleted.php',
-    'OCA\\Files\\Activity\\Settings\\FileFavorite' => $baseDir . '/../lib/Activity/Settings/FileFavorite.php',
-    'OCA\\Files\\Activity\\Settings\\FileRestored' => $baseDir . '/../lib/Activity/Settings/FileRestored.php',
+    'OCA\\Files\\Activity\\Settings\\FileFavoriteChanged' => $baseDir . '/../lib/Activity/Settings/FileFavoriteChanged.php',
     'OCA\\Files\\App' => $baseDir . '/../lib/App.php',
     'OCA\\Files\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
     'OCA\\Files\\BackgroundJob\\CleanupDirectEditingTokens' => $baseDir . '/../lib/BackgroundJob/CleanupDirectEditingTokens.php',
index fe9809f9e29cb2e516dc2e5150997b0ce33fd249..620e7d8d55b009dbe7e600a4b6efccee053bf920 100644 (file)
@@ -29,10 +29,7 @@ class ComposerStaticInitFiles
         'OCA\\Files\\Activity\\Settings\\FavoriteAction' => __DIR__ . '/..' . '/../lib/Activity/Settings/FavoriteAction.php',
         'OCA\\Files\\Activity\\Settings\\FileActivitySettings' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileActivitySettings.php',
         'OCA\\Files\\Activity\\Settings\\FileChanged' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileChanged.php',
-        'OCA\\Files\\Activity\\Settings\\FileCreated' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileCreated.php',
-        'OCA\\Files\\Activity\\Settings\\FileDeleted' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileDeleted.php',
-        'OCA\\Files\\Activity\\Settings\\FileFavorite' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileFavorite.php',
-        'OCA\\Files\\Activity\\Settings\\FileRestored' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileRestored.php',
+        'OCA\\Files\\Activity\\Settings\\FileFavoriteChanged' => __DIR__ . '/..' . '/../lib/Activity/Settings/FileFavoriteChanged.php',
         'OCA\\Files\\App' => __DIR__ . '/..' . '/../lib/App.php',
         'OCA\\Files\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
         'OCA\\Files\\BackgroundJob\\CleanupDirectEditingTokens' => __DIR__ . '/..' . '/../lib/BackgroundJob/CleanupDirectEditingTokens.php',
index bf3780a575f694ac1caf158f649f002d4fd4c553..aa684e5acb1386afb4bc7a3ada68529a74954ba6 100644 (file)
@@ -37,7 +37,7 @@ class FileChanged extends FileActivitySettings {
         * @since 11.0.0
         */
        public function getName() {
-               return $this->l->t('A file or folder has been <strong>changed</strong> or <strong>renamed</strong>');
+               return $this->l->t('A file or folder has been <strong>changed</strong>');
        }
 
        /**
@@ -50,35 +50,19 @@ class FileChanged extends FileActivitySettings {
                return 1;
        }
 
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function canChangeStream() {
-               return true;
+       public function canChangeMail() {
+               return false;
        }
 
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledStream() {
-               return true;
+       public function isDefaultEnabledMail() {
+               return false;
        }
 
-       /**
-        * @return bool True when the option can be changed for the mail
-        * @since 11.0.0
-        */
-       public function canChangeMail() {
-               return true;
+       public function canChangeNotification() {
+               return false;
        }
 
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledMail() {
+       public function isDefaultEnabledNotification() {
                return false;
        }
 }
diff --git a/apps/files/lib/Activity/Settings/FileCreated.php b/apps/files/lib/Activity/Settings/FileCreated.php
deleted file mode 100644 (file)
index 589f905..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
- *
- * @author 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;
-
-class FileCreated extends FileActivitySettings {
-       /**
-        * @return string Lowercase a-z and underscore only identifier
-        * @since 11.0.0
-        */
-       public function getIdentifier() {
-               return 'file_created';
-       }
-
-       /**
-        * @return string A translated string
-        * @since 11.0.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 11.0.0
-        */
-       public function getPriority() {
-               return 0;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function canChangeStream() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledStream() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the mail
-        * @since 11.0.0
-        */
-       public function canChangeMail() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledMail() {
-               return false;
-       }
-}
diff --git a/apps/files/lib/Activity/Settings/FileDeleted.php b/apps/files/lib/Activity/Settings/FileDeleted.php
deleted file mode 100644 (file)
index 0575446..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
- *
- * @author 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;
-
-class FileDeleted extends FileActivitySettings {
-       /**
-        * @return string Lowercase a-z and underscore only identifier
-        * @since 11.0.0
-        */
-       public function getIdentifier() {
-               return 'file_deleted';
-       }
-
-       /**
-        * @return string A translated string
-        * @since 11.0.0
-        */
-       public function getName() {
-               return $this->l->t('A 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 11.0.0
-        */
-       public function getPriority() {
-               return 3;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function canChangeStream() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledStream() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the mail
-        * @since 11.0.0
-        */
-       public function canChangeMail() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledMail() {
-               return false;
-       }
-}
diff --git a/apps/files/lib/Activity/Settings/FileFavorite.php b/apps/files/lib/Activity/Settings/FileFavorite.php
deleted file mode 100644 (file)
index 72ba01e..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
- *
- * @author 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;
-
-class FileFavorite extends FileActivitySettings {
-       /**
-        * @return string Lowercase a-z and underscore only identifier
-        * @since 11.0.0
-        */
-       public function getIdentifier() {
-               return 'file_favorite';
-       }
-
-       /**
-        * @return string A translated string
-        * @since 11.0.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 11.0.0
-        */
-       public function getPriority() {
-               return 2;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function canChangeStream() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledStream() {
-               return false;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the mail
-        * @since 11.0.0
-        */
-       public function canChangeMail() {
-               return false;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledMail() {
-               return false;
-       }
-}
diff --git a/apps/files/lib/Activity/Settings/FileFavoriteChanged.php b/apps/files/lib/Activity/Settings/FileFavoriteChanged.php
new file mode 100644 (file)
index 0000000..e1730cc
--- /dev/null
@@ -0,0 +1,88 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @author 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;
+
+class FileFavoriteChanged extends FileActivitySettings {
+       /**
+        * @return string Lowercase a-z and underscore only identifier
+        * @since 11.0.0
+        */
+       public function getIdentifier() {
+               return 'file_favorite_changed';
+       }
+
+       /**
+        * @return string A translated string
+        * @since 11.0.0
+        */
+       public function getName() {
+               return $this->l->t('A favorite file or folder has been <strong>changed</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 11.0.0
+        */
+       public function getPriority() {
+               return 1;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 11.0.0
+        */
+       public function canChangeStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 11.0.0
+        */
+       public function isDefaultEnabledStream() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the mail
+        * @since 11.0.0
+        */
+       public function canChangeMail() {
+               return true;
+       }
+
+       /**
+        * @return bool True when the option can be changed for the stream
+        * @since 11.0.0
+        */
+       public function isDefaultEnabledMail() {
+               return false;
+       }
+
+       public function isDefaultEnabledNotification() {
+               return true;
+       }
+}
diff --git a/apps/files/lib/Activity/Settings/FileRestored.php b/apps/files/lib/Activity/Settings/FileRestored.php
deleted file mode 100644 (file)
index f149554..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
- *
- * @author 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;
-
-class FileRestored extends FileActivitySettings {
-       /**
-        * @return string Lowercase a-z and underscore only identifier
-        * @since 11.0.0
-        */
-       public function getIdentifier() {
-               return 'file_restored';
-       }
-
-       /**
-        * @return string A translated string
-        * @since 11.0.0
-        */
-       public function getName() {
-               return $this->l->t('A 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 11.0.0
-        */
-       public function getPriority() {
-               return 4;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function canChangeStream() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledStream() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the mail
-        * @since 11.0.0
-        */
-       public function canChangeMail() {
-               return true;
-       }
-
-       /**
-        * @return bool True when the option can be changed for the stream
-        * @since 11.0.0
-        */
-       public function isDefaultEnabledMail() {
-               return false;
-       }
-}
index e741a3e02a83ab951a31ba57900abf9640478400..01d376a3d8fed2285deebed9096d0de722ba2ed2 100644 (file)
@@ -26,10 +26,6 @@ namespace OCA\Files\Tests\Activity\Setting;
 
 use OCA\Files\Activity\Settings\FavoriteAction;
 use OCA\Files\Activity\Settings\FileChanged;
-use OCA\Files\Activity\Settings\FileCreated;
-use OCA\Files\Activity\Settings\FileDeleted;
-use OCA\Files\Activity\Settings\FileFavorite;
-use OCA\Files\Activity\Settings\FileRestored;
 use OCP\Activity\ISetting;
 use Test\TestCase;
 
@@ -38,10 +34,7 @@ class GenericTest extends TestCase {
                return [
                        [FavoriteAction::class],
                        [FileChanged::class],
-                       [FileCreated::class],
-                       [FileDeleted::class],
-                       [FileFavorite::class],
-                       [FileRestored::class],
+                       [FileChanged::class],
                ];
        }
 
index fd8b6b56b8828725a0836e83dd162379b447e708..87158cc5e03e22bc5d22a6f9fb1e0f095a35477c 100644 (file)
@@ -23,9 +23,6 @@
 
 namespace OCA\Files_Sharing\Activity\Settings;
 
-use OCP\Activity\ISetting;
-use OCP\IL10N;
-
 class PublicLinks extends ShareActivitySettings {
        /**
         * @return string Lowercase a-z and underscore only identifier
index f6c4b873b458b0bef2ad10bca23ef18b3fed3625..55eba626e2caf6af5c12f523b60fcee4fa72f851 100644 (file)
@@ -24,9 +24,6 @@
 
 namespace OCA\Files_Sharing\Activity\Settings;
 
-use OCP\Activity\ISetting;
-use OCP\IL10N;
-
 class RemoteShare extends ShareActivitySettings {
        /**
         * @return string Lowercase a-z and underscore only identifier
index 40c3e0fea069fd0e97597250975975408099e330..9ec89d1d1f2c4c0f81b852b64ccdb1fc0ebfb6f9 100644 (file)
@@ -24,9 +24,6 @@
 
 namespace OCA\Files_Sharing\Activity\Settings;
 
-use OCP\Activity\ISetting;
-use OCP\IL10N;
-
 class Shared extends ShareActivitySettings {
        /**
         * @return string Lowercase a-z and underscore only identifier
index 3fc66c69d6cc236fd82a6e566c8cb9f4b10893c0..22c6c68ba6c5c04f2b4f6fe673b10da49d4c0d1f 100644 (file)
@@ -641,6 +641,23 @@ class Tags implements ITags {
                return $this->unTag($objid, ITags::TAG_FAVORITE);
        }
 
+       /**
+        * Get all users who favorited an object
+        */
+       public function getUsersFavoritingObject($objId) {
+               $entries = [];
+
+               $query = \OC::$server->getDatabaseConnection()->getQueryBuilder();
+               $query->select('uid')
+                       ->from('vcategory_to_object', 'o')
+                       ->innerJoin('o', 'vcategory', 'c', $query->expr()->eq('o.categoryid', 'c.id'))
+                       ->where($query->expr()->eq('objid', $query->createNamedParameter($objId, IQueryBuilder::PARAM_INT)))
+                       ->andWhere($query->expr()->eq('c.type', $query->createNamedParameter($this->type)))
+                       ->andWhere($query->expr()->eq('c.category', $query->createNamedParameter(ITags::TAG_FAVORITE)));
+
+               return $query->execute()->fetchAll(\PDO::FETCH_COLUMN);
+       }
+
        /**
         * Creates a tag/object relation.
         *