From 71c0b0053c725e48260feac722afb2f19a49b3fa Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 21 Aug 2024 10:30:25 +0200 Subject: [PATCH] fix(theming): Make getImage() call save against missing non-SVG version Signed-off-by: Joas Schilling --- lib/private/Repair/RepairLogoDimension.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/lib/private/Repair/RepairLogoDimension.php b/lib/private/Repair/RepairLogoDimension.php index 122da205986a0..854aeb3ab0756 100644 --- a/lib/private/Repair/RepairLogoDimension.php +++ b/lib/private/Repair/RepairLogoDimension.php @@ -9,6 +9,8 @@ namespace OC\Repair; use OCA\Theming\ImageManager; +use OCP\Files\NotFoundException; +use OCP\Files\NotPermittedException; use OCP\IConfig; use OCP\Migration\IOutput; use OCP\Migration\IRepairStep; @@ -44,9 +46,18 @@ public function run(IOutput $output): void { return; } - $simpleFile = $imageManager->getImage('logo', false); - - $image = @imagecreatefromstring($simpleFile->getContent()); + try { + try { + $simpleFile = $imageManager->getImage('logo', false); + $image = @imagecreatefromstring($simpleFile->getContent()); + } catch (NotFoundException|NotPermittedException) { + $simpleFile = $imageManager->getImage('logo'); + $image = false; + } + } catch (NotFoundException|NotPermittedException) { + $output->info('Theming is not used to provide a logo'); + return; + } $dimensions = ''; if ($image !== false) {