diff options
author | Julius Härtl <jus@bitgrid.net> | 2022-10-26 18:00:45 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-26 18:00:45 +0300 |
commit | c8bddf0682fe5083e0f88e4aed808e264a29b4ed (patch) | |
tree | 1c3aeec452783bf2d905c82435996e2bbb780427 | |
parent | eb6247ce9fc530893d8c8d730f9882a385bbcb38 (diff) | |
parent | b2b44bc63ee1154bfa733e160035e254d610f250 (diff) |
Merge pull request #2156 from nextcloud/backport/2154/stable24
-rw-r--r-- | lib/Trash/TrashBackend.php | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/Trash/TrashBackend.php b/lib/Trash/TrashBackend.php index a6d3b068..0f4d5122 100644 --- a/lib/Trash/TrashBackend.php +++ b/lib/Trash/TrashBackend.php @@ -376,20 +376,24 @@ class TrashBackend implements ITrashBackend { $nodes = []; // cache foreach ($trashItems as $groupTrashItem) { $nodeName = $groupTrashItem['name'] . '.d' . $groupTrashItem['deleted_time']; - $nodes[$nodeName] = $node = $trashFolder->get($nodeName); + try { + $nodes[$nodeName] = $node = $trashFolder->get($nodeName); + } catch (NotFoundException $e) { + $this->trashManager->removeItem($folderId, $groupTrashItem['name'], $groupTrashItem['deleted_time']); + continue; + } $sizeInTrash += $node->getSize(); } foreach ($trashItems as $groupTrashItem) { if ($expiration->isExpired($groupTrashItem['deleted_time'], $folder['quota'] > 0 && $folder['quota'] < ($folder['size'] + $sizeInTrash))) { - try { - $nodeName = $groupTrashItem['name'] . '.d' . $groupTrashItem['deleted_time']; - $node = $nodes[$nodeName]; - $size += $node->getSize(); - $count += 1; - } catch (NotFoundException $e) { - $this->trashManager->removeItem($folderId, $groupTrashItem['name'], $groupTrashItem['deleted_time']); + $nodeName = $groupTrashItem['name'] . '.d' . $groupTrashItem['deleted_time']; + if (!isset($nodes[$nodeName])) { continue; } + + $node = $nodes[$nodeName]; + $size += $node->getSize(); + $count += 1; if ($node->getStorage()->unlink($node->getInternalPath()) === false) { throw new \Exception('Failed to remove item from trashbin'); } |