summaryrefslogtreecommitdiffstats
path: root/apps/files_trashbin
diff options
context:
space:
mode:
authorJulius Härtl <jus@bitgrid.net>2020-09-23 16:38:24 +0200
committerJulius Härtl <jus@bitgrid.net>2020-11-23 09:11:53 +0100
commite241f14f24bbefdcf972d1d4ec7d8ea5fb0122f2 (patch)
treead4ef316b3fce2efed4547a94e69c1b0cd8561f0 /apps/files_trashbin
parentf06f9a91b3f29891fd7aae0b5a3b19f1f9b7690f (diff)
downloadnextcloud-server-e241f14f24bbefdcf972d1d4ec7d8ea5fb0122f2.tar.gz
nextcloud-server-e241f14f24bbefdcf972d1d4ec7d8ea5fb0122f2.zip
Delete files that exceed trashbin size immediately
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Diffstat (limited to 'apps/files_trashbin')
-rw-r--r--apps/files_trashbin/lib/Trashbin.php8
1 files changed, 8 insertions, 0 deletions
diff --git a/apps/files_trashbin/lib/Trashbin.php b/apps/files_trashbin/lib/Trashbin.php
index 7f83cbbc8a5..91f3cec21ee 100644
--- a/apps/files_trashbin/lib/Trashbin.php
+++ b/apps/files_trashbin/lib/Trashbin.php
@@ -304,6 +304,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;
+ }
+
$trashStorage->getUpdater()->renameFromStorage($sourceStorage, $sourceInternalPath, $trashInternalPath);
try {