aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <coding@schilljs.com>2024-08-21 10:30:25 +0200
committerbackportbot[bot] <backportbot[bot]@users.noreply.github.com>2024-08-21 10:03:02 +0000
commit192fe5d6ad9f5f5aeb81ae868c1052e5d22669fc (patch)
treeb70398cef4f0109c191a60b6c83d51ed506b4b29
parent8c03d844d8df4f8fbbe92b46f254b5afefd42613 (diff)
downloadnextcloud-server-192fe5d6ad9f5f5aeb81ae868c1052e5d22669fc.tar.gz
nextcloud-server-192fe5d6ad9f5f5aeb81ae868c1052e5d22669fc.zip
fix(theming): Make getImage() call save against missing non-SVG version
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r--lib/private/Repair/RepairLogoDimension.php17
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/private/Repair/RepairLogoDimension.php b/lib/private/Repair/RepairLogoDimension.php
index 122da205986..854aeb3ab07 100644
--- a/lib/private/Repair/RepairLogoDimension.php
+++ b/lib/private/Repair/RepairLogoDimension.php
@@ -9,6 +9,8 @@ declare(strict_types=1);
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 @@ class RepairLogoDimension implements IRepairStep {
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) {