Fix StyleEditor::update() for absent variables
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Apr 2023 09:12:14 +0000 (11:12 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Apr 2023 09:12:14 +0000 (11:12 +0200)
see d7fad3385012cd86b33b9262c47040b1c7267826

wcfsetup/install/files/lib/data/style/StyleEditor.class.php

index ab390a478cacce17717c2202e78fbef2aeff535b..10b2d0c5de81c9b5de52bd87291491ead3a27c78 100644 (file)
@@ -71,17 +71,19 @@ final class StyleEditor extends DatabaseObjectEditor implements IEditableCachedO
 
         parent::update($parameters);
 
-        $variables = $variablesDarkMode = [];
-        $prefixLength = \strlen(Style::DARK_MODE_PREFIX);
-        foreach ($inputVariables as $variableName => $variableValue) {
-            if (\str_starts_with($variableName, Style::DARK_MODE_PREFIX)) {
-                $variablesDarkMode[\substr($variableName, $prefixLength)] = $variableValue;
-            } else {
-                $variables[$variableName] = $variableValue;
+        if ($inputVariables !== null) {
+            $variables = $variablesDarkMode = [];
+            $prefixLength = \strlen(Style::DARK_MODE_PREFIX);
+            foreach ($inputVariables as $variableName => $variableValue) {
+                if (\str_starts_with($variableName, Style::DARK_MODE_PREFIX)) {
+                    $variablesDarkMode[\substr($variableName, $prefixLength)] = $variableValue;
+                } else {
+                    $variables[$variableName] = $variableValue;
+                }
             }
-        }
 
-        $this->setVariables($variables, $variablesDarkMode);
+            $this->setVariables($variables, $variablesDarkMode);
+        }
     }
 
     /**