From 8d6d5f77b1daa75dc8f606de363cb96f623ef807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mor=C3=A1vek?= Date: Fri, 30 Jun 2023 13:52:44 +0200 Subject: [PATCH 1/3] Open 1.5-dev --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 2bbc2c0..ac1281d 100644 --- a/composer.json +++ b/composer.json @@ -65,7 +65,7 @@ }, "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } } } From 9e9137112e3611199fcdd89e6da9c1a830178d76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mor=C3=A1vek?= Date: Fri, 30 Jun 2023 13:53:03 +0200 Subject: [PATCH 2/3] Allow nette/utils 4 --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index ac1281d..112a8ea 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,7 @@ "nette/application": "^3.1.8@dev", "nette/forms": "^3.1.6@dev", "nette/http": "^3.1@dev", - "nette/utils": "^3.2.2@dev", + "nette/utils": "^3.2.2@dev || ^4.0@dev", "nextras/form-components": "^1.0@dev" }, "require-dev": { From 9747ec94e76e3a6a0ee5bcc0545d55e8ac2f7f59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mor=C3=A1vek?= Date: Sun, 6 Aug 2023 21:21:21 +0200 Subject: [PATCH 3/3] FileSystemStorageManager: do not modify filestem while iterating over storage directory using Finder --- .../Storage/FileSystemStorageManager.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/FileUploadControl/Storage/FileSystemStorageManager.php b/src/FileUploadControl/Storage/FileSystemStorageManager.php index 78e5ff2..0eae41c 100644 --- a/src/FileUploadControl/Storage/FileSystemStorageManager.php +++ b/src/FileUploadControl/Storage/FileSystemStorageManager.php @@ -92,6 +92,7 @@ private function collectGarbage(): void return; } + $expiredNamespaces = []; $currentTimestamp = $this->dateTimeProvider->getNow()->getTimestamp(); /** @var \SplFileInfo $directory */ foreach ($this->finder->findDirectoriesInDirectory($this->directory, '*' . self::NAMESPACE_DIRECTORY_SUFFIX) as $directory) { @@ -99,9 +100,12 @@ private function collectGarbage(): void if ($age < $this->namespaceTtl) { continue; } + $expiredNamespaces[] = UploadNamespace::fromString($directory->getBasename(self::NAMESPACE_DIRECTORY_SUFFIX)); + } + + foreach ($expiredNamespaces as $expiredNamespace) { try { - $namespace = UploadNamespace::fromString($directory->getBasename(self::NAMESPACE_DIRECTORY_SUFFIX)); - $storage = $this->getStorage($namespace); + $storage = $this->getStorage($expiredNamespace); $storage->destroy(); } catch (StorageDoesNotExistException $exception) { // noop