From 4d0c3fa4a8408f1019a6c934d42fe72f1b23dcfb Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Fri, 7 Aug 2020 09:32:31 +0200 Subject: [PATCH] Check previews in multibucket fallback folder as the last step and not as first step Signed-off-by: Morris Jobke --- lib/private/Preview/Storage/Root.php | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/lib/private/Preview/Storage/Root.php b/lib/private/Preview/Storage/Root.php index a284b037b3..a2efc8196a 100644 --- a/lib/private/Preview/Storage/Root.php +++ b/lib/private/Preview/Storage/Root.php @@ -43,14 +43,6 @@ class Root extends AppData { public function getFolder(string $name): ISimpleFolder { $internalFolder = $this->getInternalFolder($name); - if ($this->isMultibucketPreviewDistributionEnabled) { - try { - return parent::getFolder('old-multibucket/' . $internalFolder); - } catch (NotFoundException $e) { - // not in multibucket fallback - } - } - try { return parent::getFolder($internalFolder); } catch (NotFoundException $e) { @@ -60,7 +52,20 @@ class Root extends AppData { */ } - return parent::getFolder($name); + try { + return parent::getFolder($name); + } catch (NotFoundException $e) { + /* + * The old folder structure is not found. + * Lets try the multibucket fallback if available + */ + if ($this->isMultibucketPreviewDistributionEnabled) { + return parent::getFolder('old-multibucket/' . $internalFolder); + } + + // when there is no further fallback just throw the exception + throw $e; + } } public function newFolder(string $name): ISimpleFolder {