Handle style-preload.json in Style(Add|Edit)Form and StyleGlobalValuesForm
authorTim Düsterhus <duesterhus@woltlab.com>
Mon, 8 Mar 2021 15:04:40 +0000 (16:04 +0100)
committerTim Düsterhus <duesterhus@woltlab.com>
Mon, 8 Mar 2021 15:26:30 +0000 (16:26 +0100)
This file is not yet created when testing the style.

wcfsetup/install/files/lib/acp/form/StyleAddForm.class.php
wcfsetup/install/files/lib/acp/form/StyleEditForm.class.php
wcfsetup/install/files/lib/acp/form/StyleGlobalValuesForm.class.php

index a02e30ddda84580ae8bbe5b8852c06eae6aa102d..bcceac10e127cf5a80d5e6501d9674e3300b0499 100644 (file)
@@ -926,9 +926,16 @@ class StyleAddForm extends AbstractForm
         ]);
 
         // Do not save the compiled style, because the image path was unknown during the style generation.
-        if ($this->styleTestFileDir && \file_exists($this->styleTestFileDir . '/style.css') && \file_exists($this->styleTestFileDir . '/style-rtl.css')) {
-            \unlink($this->styleTestFileDir . '/style.css');
-            \unlink($this->styleTestFileDir . '/style-rtl.css');
+        if ($this->styleTestFileDir) {
+            if (\file_exists($this->styleTestFileDir . '/style.css')) {
+                \unlink($this->styleTestFileDir . '/style.css');
+            }
+            if (\file_exists($this->styleTestFileDir . '/style-rtl.css')) {
+                \unlink($this->styleTestFileDir . '/style-rtl.css');
+            }
+            if (\file_exists($this->styleTestFileDir . '/style-preload.json')) {
+                \unlink($this->styleTestFileDir . '/style-preload.json');
+            }
 
             \rmdir($this->styleTestFileDir);
         }
index 4b27c17013bc63864d4602b348853e9a51e9d087..33161bb8208f642839edcfacc5562824ffc2d35d 100644 (file)
@@ -339,6 +339,9 @@ class StyleEditForm extends StyleAddForm
             $styleFilename = StyleCompiler::getFilenameForStyle($this->style);
             \rename($this->styleTestFileDir . '/style.css', $styleFilename . '.css');
             \rename($this->styleTestFileDir . '/style-rtl.css', $styleFilename . '-rtl.css');
+            if (\file_exists($this->styleTestFileDir . '/style-preload.json')) {
+                \rename($this->styleTestFileDir . '/style-preload.json', $styleFilename . '-preload.json');
+            }
 
             \rmdir($this->styleTestFileDir);
         }
index 310e0785bcc16c9eff2c04dea21f51b3f3035697..4dff54fd0c83a73ab52cd99cb157fb8188cb641f 100644 (file)
@@ -150,10 +150,18 @@ class StyleGlobalValuesForm extends AbstractForm
 
         // save compiled style
         $defaultStyle = StyleHandler::getInstance()->getDefaultStyle();
-        if ($defaultStyle !== null && $this->styleTestFileDir && \file_exists($this->styleTestFileDir . '/style.css') && \file_exists($this->styleTestFileDir . '/style-rtl.css')) {
+        if (
+            $defaultStyle !== null
+            && $this->styleTestFileDir
+            && \file_exists($this->styleTestFileDir . '/style.css')
+            && \file_exists($this->styleTestFileDir . '/style-rtl.css')
+        ) {
             $styleFilename = StyleCompiler::getFilenameForStyle($defaultStyle);
             \rename($this->styleTestFileDir . '/style.css', $styleFilename . '.css');
             \rename($this->styleTestFileDir . '/style-rtl.css', $styleFilename . '-rtl.css');
+            if (\file_exists($this->styleTestFileDir . '/style-preload.json')) {
+                \rename($this->styleTestFileDir . '/style-preload.json', $styleFilename . '-preload.json');
+            }
 
             \rmdir($this->styleTestFileDir);
         }