diff options
-rw-r--r-- | apps/files_trashbin/lib/Trashbin.php | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/apps/files_trashbin/lib/Trashbin.php b/apps/files_trashbin/lib/Trashbin.php index 4a4ff190edf..7c3797f420c 100644 --- a/apps/files_trashbin/lib/Trashbin.php +++ b/apps/files_trashbin/lib/Trashbin.php @@ -472,8 +472,12 @@ class Trashbin { $view = new View('/' . $user); $fileInfos = $view->getDirectoryContent('files_trashbin/files'); - foreach($fileInfos as $fileInfo){ - $path = $view->getRelativePath($fileInfo->getPath()); + // Array to store the relative path in (after the file is deleted, the view won't be able to relativise the path anymore) + $filePaths = array(); + + foreach($fileInfos as $key => $fileInfo){ + $filePaths[] = $path = $view->getRelativePath($fileInfo->getPath()); + unset($fileInfo[$key]); // save memory self::emitTrashbinPreDelete($path); } @@ -481,8 +485,7 @@ class Trashbin { $query = \OC_DB::prepare('DELETE FROM `*PREFIX*files_trash` WHERE `user`=?'); $query->execute(array($user)); - foreach($fileInfos as $fileInfo){ - $path = $view->getRelativePath($fileInfo->getPath()); + foreach($filePaths as $path){ self::emitTrashbinPostDelete($path); } |