diff --git a/apps/files_trashbin/lib/Trashbin.php b/apps/files_trashbin/lib/Trashbin.php index dd71e8ec28e..7299326ecf1 100644 --- a/apps/files_trashbin/lib/Trashbin.php +++ b/apps/files_trashbin/lib/Trashbin.php @@ -844,7 +844,7 @@ class Trashbin implements IEventListener { $dirContent = Helper::getTrashFiles('/', $user, 'mtime'); // delete all files older then $retention_obligation - [$delSize, $count] = self::deleteExpiredFiles($dirContent, $user); + [$delSize, $count] = self::deleteExpiredFiles($dirContent, $user, $availableSpace <= 0); $availableSpace += $delSize; @@ -906,9 +906,10 @@ class Trashbin implements IEventListener { * * @param array $files list of files sorted by mtime * @param string $user + * @param bool $quotaExceeded * @return array{int|float, int} size of deleted files and number of deleted files */ - public static function deleteExpiredFiles($files, $user) { + public static function deleteExpiredFiles($files, $user, bool $quotaExceeded = false) { /** @var Expiration $expiration */ $expiration = Server::get(Expiration::class); $size = 0; @@ -916,7 +917,7 @@ class Trashbin implements IEventListener { foreach ($files as $file) { $timestamp = $file['mtime']; $filename = $file['name']; - if ($expiration->isExpired($timestamp)) { + if ($expiration->isExpired($timestamp, $quotaExceeded)) { try { $size += self::delete($filename, $user, $timestamp); $count++;