diff options
Diffstat (limited to 'apps/files_trashbin/lib/trashbin.php')
-rw-r--r-- | apps/files_trashbin/lib/trashbin.php | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/apps/files_trashbin/lib/trashbin.php b/apps/files_trashbin/lib/trashbin.php index baa0c4cbe71..853bc1eda69 100644 --- a/apps/files_trashbin/lib/trashbin.php +++ b/apps/files_trashbin/lib/trashbin.php @@ -175,6 +175,10 @@ class Trashbin { } self::setUpTrash($user); + if ($owner !== $user) { + // also setup for owner + self::setUpTrash($owner); + } $path_parts = pathinfo($file_path); @@ -222,7 +226,7 @@ class Trashbin { \OCP\Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_moveToTrash', array('filePath' => \OC\Files\Filesystem::normalizePath($file_path), 'trashPath' => \OC\Files\Filesystem::normalizePath($filename . '.d' . $timestamp))); - $size += self::retainVersions($file_path, $filename, $timestamp); + $size += self::retainVersions($file_path, $filename, $owner, $ownerPath, $timestamp); // if owner !== user we need to also add a copy to the owners trash if ($user !== $owner) { @@ -248,23 +252,19 @@ class Trashbin { * * @param string $file_path path to original file * @param string $filename of deleted file + * @param string $owner owner user id + * @param string $ownerPath path relative to the owner's home storage * @param integer $timestamp when the file was deleted * * @return int size of stored versions */ - private static function retainVersions($file_path, $filename, $timestamp) { + private static function retainVersions($file_path, $filename, $owner, $ownerPath, $timestamp) { $size = 0; - if (\OCP\App::isEnabled('files_versions')) { + if (\OCP\App::isEnabled('files_versions') && !empty($ownerPath)) { $user = \OCP\User::getUser(); $rootView = new \OC\Files\View('/'); - list($owner, $ownerPath) = self::getUidAndFilename($file_path); - // file has been deleted in between - if (empty($ownerPath)) { - return 0; - } - if ($rootView->is_dir($owner . '/files_versions/' . $ownerPath)) { $size += self::calculateSize(new \OC\Files\View('/' . $owner . '/files_versions/' . $ownerPath)); if ($owner !== $user) { |