]> source.dussan.org Git - nextcloud-server.git/commitdiff
Delete files that exceed trashbin size immediately 23023/head
authorJulius Härtl <jus@bitgrid.net>
Wed, 23 Sep 2020 14:38:24 +0000 (16:38 +0200)
committerJulius Härtl <jus@bitgrid.net>
Wed, 23 Sep 2020 14:58:18 +0000 (16:58 +0200)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
apps/files_trashbin/lib/Trashbin.php

index 276cdf4e2d91a224ec3a3b3c70cdfa8fcd277ec8..b1e1d0600b00616ed25691562054250f839212bc 100644 (file)
@@ -285,6 +285,14 @@ class Trashbin {
                        $trashStorage->unlink($trashInternalPath);
                }
 
+               $config = \OC::$server->getConfig();
+               $systemTrashbinSize = (int)$config->getAppValue('files_trashbin', 'trashbin_size', '-1');
+               $userTrashbinSize = (int)$config->getUserValue($owner, 'files_trashbin', 'trashbin_size', '-1');
+               $configuredTrashbinSize = ($userTrashbinSize < 0) ? $systemTrashbinSize : $userTrashbinSize;
+               if ($configuredTrashbinSize >= 0 && $sourceStorage->filesize($sourceInternalPath) >= $configuredTrashbinSize) {
+                       return false;
+               }
+
                $connection = \OC::$server->getDatabaseConnection();
                $connection->beginTransaction();
                $trashStorage->getUpdater()->renameFromStorage($sourceStorage, $sourceInternalPath, $trashInternalPath);