]> source.dussan.org Git - nextcloud-server.git/commitdiff
Keep shares when deleting shared folders
authorVincent Petry <pvince81@owncloud.com>
Fri, 27 Mar 2015 16:33:26 +0000 (17:33 +0100)
committerVincent Petry <pvince81@owncloud.com>
Thu, 9 Apr 2015 08:16:40 +0000 (10:16 +0200)
The share entries will be linked with the fileid while they are kept in
the trashbin.

In the future a background just will scrape orphaned shares and delete
them.

apps/files_sharing/lib/helper.php
apps/files_sharing/lib/updater.php

index 3f1de7233ae84529622daae452d5f7f9a16daf1e..5b5525e244fab3aae5b2782d70f5cc9e5f9b9113 100644 (file)
@@ -33,7 +33,6 @@ class Helper {
                \OCP\Util::connectHook('OC_Filesystem', 'setup', '\OC\Files\Storage\Shared', 'setup');
                \OCP\Util::connectHook('OC_Filesystem', 'setup', '\OCA\Files_Sharing\External\Manager', 'setup');
                \OCP\Util::connectHook('OC_Filesystem', 'post_write', '\OC\Files\Cache\Shared_Updater', 'writeHook');
-               \OCP\Util::connectHook('OC_Filesystem', 'post_delete', '\OC\Files\Cache\Shared_Updater', 'postDeleteHook');
                \OCP\Util::connectHook('OC_Filesystem', 'delete', '\OC\Files\Cache\Shared_Updater', 'deleteHook');
                \OCP\Util::connectHook('OC_Filesystem', 'post_rename', '\OC\Files\Cache\Shared_Updater', 'renameHook');
                \OCP\Util::connectHook('OC_Filesystem', 'post_delete', '\OCA\Files_Sharing\Hooks', 'unshareChildren');
index d748d5555f65782a600e807f0fde3594f4d7a197..affa28720b284d0a48b9938eb2ebef85b5268878 100644 (file)
@@ -81,25 +81,6 @@ class Shared_Updater {
                }
        }
 
-       /**
-        * remove all shares for a given file if the file was deleted
-        *
-        * @param string $path
-        */
-       private static function removeShare($path) {
-               $fileSource = self::$toRemove[$path];
-
-               if (!\OC\Files\Filesystem::file_exists($path)) {
-                       $query = \OC_DB::prepare('DELETE FROM `*PREFIX*share` WHERE `file_source`=?');
-                       try     {
-                               \OC_DB::executeAudited($query, array($fileSource));
-                       } catch (\Exception $e) {
-                               \OCP\Util::writeLog('files_sharing', "can't remove share: " . $e->getMessage(), \OCP\Util::WARN);
-                       }
-               }
-               unset(self::$toRemove[$path]);
-       }
-
        /**
         * @param array $params
         */
@@ -122,19 +103,6 @@ class Shared_Updater {
        static public function deleteHook($params) {
                $path = $params['path'];
                self::correctFolders($path);
-
-               $fileInfo = \OC\Files\Filesystem::getFileInfo($path);
-
-               // mark file as deleted so that we can clean up the share table if
-               // the file was deleted successfully
-               self::$toRemove[$path] =  $fileInfo['fileid'];
-       }
-
-       /**
-        * @param array $params
-        */
-       static public function postDeleteHook($params) {
-               self::removeShare($params['path']);
        }
 
        /**