]> source.dussan.org Git - nextcloud-server.git/commitdiff
Use the owner from the storage 17099/head
authorRoeland Jago Douma <roeland@famdouma.nl>
Wed, 7 Aug 2019 14:47:43 +0000 (16:47 +0200)
committerBackportbot <backportbot-noreply@rullzer.com>
Wed, 11 Sep 2019 10:38:50 +0000 (10:38 +0000)
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
apps/files_trashbin/lib/Storage.php

index 9c714d30aef53872004acf407bf472e1fe92e9d6..502add528398d514325be7dbf0aebc8775d1d936 100644 (file)
@@ -127,13 +127,19 @@ class Storage extends Wrapper {
        protected function shouldMoveToTrash($path) {
                $normalized = Filesystem::normalizePath($this->mountPoint . '/' . $path);
                $parts = explode('/', $normalized);
-               if (count($parts) < 4 ||  !$this->userManager->userExists($parts[1])) {
+               if (count($parts) < 4) {
                        return false;
                }
 
                // check if there is a app which want to disable the trash bin for this file
                $fileId = $this->storage->getCache()->getId($path);
-               $nodes = $this->rootFolder->getUserFolder($parts[1])->getById($fileId);
+               $owner = $this->storage->getOwner($path);
+               if ($owner === false) {
+                       $nodes = $this->rootFolder->getById($fileId);
+               } else {
+                       $nodes = $this->rootFolder->getUserFolder($owner)->getById($fileId);
+               }
+
                foreach ($nodes as $node) {
                        $event = $this->createMoveToTrashEvent($node);
                        $this->eventDispatcher->dispatch('OCA\Files_Trashbin::moveToTrash', $event);
@@ -142,7 +148,7 @@ class Storage extends Wrapper {
                        }
                }
 
-               if ($parts[2] === 'files') {
+               if ($parts[2] === 'files' && $this->userManager->userExists($parts[1])) {
                        return true;
                }