diff --git a/system/src/Grav/Framework/Flex/Storage/FolderStorage.php b/system/src/Grav/Framework/Flex/Storage/FolderStorage.php index 07338053b..2ee90cd46 100644 --- a/system/src/Grav/Framework/Flex/Storage/FolderStorage.php +++ b/system/src/Grav/Framework/Flex/Storage/FolderStorage.php @@ -173,14 +173,16 @@ class FolderStorage extends AbstractFilesystemStorage $file = $this->getFile($path); $list[$key] = $this->deleteFile($file); - $storagePath = $this->getStoragePath($key); - $mediaPath = $this->getMediaPath($key); + if ($this->canDeleteFolder($key)) { + $storagePath = $this->getStoragePath($key); + $mediaPath = $this->getMediaPath($key); - if ($storagePath) { - $this->deleteFolder($storagePath, true); - } - if ($mediaPath && $mediaPath !== $storagePath && $mediaPath !== $baseMediaPath) { - $this->deleteFolder($mediaPath, true); + if ($storagePath) { + $this->deleteFolder($storagePath, true); + } + if ($mediaPath && $mediaPath !== $storagePath && $mediaPath !== $baseMediaPath) { + $this->deleteFolder($mediaPath, true); + } } } } @@ -462,6 +464,14 @@ class FolderStorage extends AbstractFilesystemStorage } } + /** + * @return bool + */ + protected function canDeleteFolder(string $key): bool + { + return true; + } + /** * Returns list of all stored keys in [key => timestamp] pairs. *