From 9b7bdfef79c84c8899fad4837a71825dcf9c84e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Julius=20H=C3=A4rtl?= <jus@bitgrid.net>
Date: Thu, 19 Nov 2020 08:28:48 +0100
Subject: [PATCH] Fix setting images through occ for theming
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Julius Härtl <jus@bitgrid.net>
---
 apps/theming/lib/Command/UpdateConfig.php | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/apps/theming/lib/Command/UpdateConfig.php b/apps/theming/lib/Command/UpdateConfig.php
index 7d616879dc6..849744077ef 100644
--- a/apps/theming/lib/Command/UpdateConfig.php
+++ b/apps/theming/lib/Command/UpdateConfig.php
@@ -94,7 +94,7 @@ class UpdateConfig extends Command {
 			return 0;
 		}
 
-		if (!in_array($key, self::SUPPORTED_KEYS, true)) {
+		if (!in_array($key, self::SUPPORTED_KEYS, true) && !in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) {
 			$output->writeln('<error>Invalid config key provided</error>');
 			return 1;
 		}
@@ -116,11 +116,12 @@ class UpdateConfig extends Command {
 		}
 
 		if (in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) {
-			if (file_exists(__DIR__ . $value)) {
-				$value = __DIR__ . $value;
+			if (strpos($value, '/') !== 0) {
+				$output->writeln('<error>The image file needs to be provided as an absolute path: ' . $value . '.</error>');
+				return 1;
 			}
 			if (!file_exists($value)) {
-				$output->writeln('<error>File could not be found: ' . $value . '</error>');
+				$output->writeln('<error>File could not be found: ' . $value . '.</error>');
 				return 1;
 			}
 			$value = $this->imageManager->updateImage($key, $value);
-- 
GitLab