summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/Hooks.php
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@owncloud.com>2016-05-17 10:36:56 +0200
committerJoas Schilling <nickvergessen@owncloud.com>2016-05-25 14:59:59 +0200
commit3a716ae91c20f48737ad5f9192b20967252e74ec (patch)
treef5c59dcb7d51cca8dc35f28bf6f5ca346a9506b7 /apps/files_sharing/lib/Hooks.php
parent5001036fd49cecdf1dcda1b4aed0be1b24d18c24 (diff)
downloadnextcloud-server-3a716ae91c20f48737ad5f9192b20967252e74ec.tar.gz
nextcloud-server-3a716ae91c20f48737ad5f9192b20967252e74ec.zip
Move lib/ to PSR-4
Diffstat (limited to 'apps/files_sharing/lib/Hooks.php')
-rw-r--r--apps/files_sharing/lib/Hooks.php64
1 files changed, 64 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/Hooks.php b/apps/files_sharing/lib/Hooks.php
new file mode 100644
index 00000000000..4882ffcb001
--- /dev/null
+++ b/apps/files_sharing/lib/Hooks.php
@@ -0,0 +1,64 @@
+<?php
+/**
+ * @author Björn Schießle <schiessle@owncloud.com>
+ * @author Joas Schilling <nickvergessen@owncloud.com>
+ * @author Lukas Reschke <lukas@owncloud.com>
+ * @author Morris Jobke <hey@morrisjobke.de>
+ * @author Robin Appelman <icewind@owncloud.com>
+ *
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * 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, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files_Sharing;
+
+use OC\Files\Filesystem;
+use OCA\FederatedFileSharing\DiscoveryManager;
+
+class Hooks {
+
+ public static function deleteUser($params) {
+ $discoveryManager = new DiscoveryManager(
+ \OC::$server->getMemCacheFactory(),
+ \OC::$server->getHTTPClientService()
+ );
+ $manager = new External\Manager(
+ \OC::$server->getDatabaseConnection(),
+ \OC\Files\Filesystem::getMountManager(),
+ \OC\Files\Filesystem::getLoader(),
+ \OC::$server->getHTTPHelper(),
+ \OC::$server->getNotificationManager(),
+ $discoveryManager,
+ $params['uid']);
+
+ $manager->removeUserShares($params['uid']);
+ }
+
+ public static function unshareChildren($params) {
+ $path = Filesystem::getView()->getAbsolutePath($params['path']);
+ $view = new \OC\Files\View('/');
+
+ // find share mount points within $path and unmount them
+ $mountManager = \OC\Files\Filesystem::getMountManager();
+ $mountedShares = $mountManager->findIn($path);
+ foreach ($mountedShares as $mount) {
+ if ($mount->getStorage()->instanceOfStorage('OCA\Files_Sharing\ISharedStorage')) {
+ $mountPoint = $mount->getMountPoint();
+ $view->unlink($mountPoint);
+ }
+ }
+ }
+}