summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/maintainer.php
diff options
context:
space:
mode:
authorMorris Jobke <morris.jobke@gmail.com>2013-10-18 11:37:13 +0200
committerMorris Jobke <morris.jobke@gmail.com>2013-10-18 11:37:13 +0200
commit1f1fcc61298e1ce8b32a16824da0e44671bb30f5 (patch)
tree3f058237b69c4209b44b980a39ac0d6f3055d196 /apps/files_sharing/lib/maintainer.php
parent0febccee49faa63beff1de253957a193a904fd4a (diff)
downloadnextcloud-server-1f1fcc61298e1ce8b32a16824da0e44671bb30f5.tar.gz
nextcloud-server-1f1fcc61298e1ce8b32a16824da0e44671bb30f5.zip
Remove "link" shares right after disabling the "allow_link_share" setting
Diffstat (limited to 'apps/files_sharing/lib/maintainer.php')
-rw-r--r--apps/files_sharing/lib/maintainer.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/maintainer.php b/apps/files_sharing/lib/maintainer.php
new file mode 100644
index 00000000000..bbb3268410e
--- /dev/null
+++ b/apps/files_sharing/lib/maintainer.php
@@ -0,0 +1,44 @@
+<?php
+/**
+ * ownCloud
+ *
+ * @author Morris Jobke
+ * @copyright 2013 Morris Jobke morris.jobke@gmail.com
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library 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 library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+namespace OCA\Files\Share;
+
+/**
+ * Maintains stuff around the sharing functionality
+ *
+ * for example: on disable of "allow links" it removes all link shares
+ */
+
+class Maintainer {
+
+ /**
+ * Keeps track of the "allow links" config setting
+ * and removes all link shares if the config option is set to "no"
+ *
+ * @param array with app, key, value as named values
+ */
+ static public function configChangeHook($params) {
+ if($params['app'] === 'core' && $params['key'] === 'shareapi_allow_links' && $params['value'] === 'no') {
+ \OCP\Share::removeAllLinkShares();
+ }
+ }
+
+}