Fix style variable update in StyleEditor::update()
authorTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Apr 2023 08:59:27 +0000 (10:59 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Tue, 18 Apr 2023 08:59:27 +0000 (10:59 +0200)
The previous version overwrote the input variables before processing them. It
also did not support missing a `variables` key, whereas 5.5 did.

see f573c802cc70e929641b7145c1e28ff557ec61ff

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

index e7e1a0359b37138b5867fcf463351be06c57a71e..ab390a478cacce17717c2202e78fbef2aeff535b 100644 (file)
@@ -66,14 +66,14 @@ final class StyleEditor extends DatabaseObjectEditor implements IEditableCachedO
             );
         }
 
-        $variables = $parameters['variables'];
+        $inputVariables = $parameters['variables'] ?? null;
         unset($parameters['variables']);
 
         parent::update($parameters);
 
         $variables = $variablesDarkMode = [];
         $prefixLength = \strlen(Style::DARK_MODE_PREFIX);
-        foreach ($variables as $variableName => $variableValue) {
+        foreach ($inputVariables as $variableName => $variableValue) {
             if (\str_starts_with($variableName, Style::DARK_MODE_PREFIX)) {
                 $variablesDarkMode[\substr($variableName, $prefixLength)] = $variableValue;
             } else {