Insert the new style variables as early as possible when upgrading
authorAlexander Ebert <ebert@woltlab.com>
Thu, 9 Dec 2021 18:52:12 +0000 (19:52 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Thu, 9 Dec 2021 18:52:12 +0000 (19:52 +0100)
com.woltlab.wcf/package.xml
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_styleVariables.php [new file with mode: 0644]
wcfsetup/setup/db/install.sql

index a8e6605489a4418d83559fe5641cd7a671ee5fa7..3b14af6320518a2561d6a2418ebcee87d1536d9c 100644 (file)
@@ -54,7 +54,8 @@
                <!--
 tar cvf com.woltlab.wcf/files_pre_check.tar -C wcfsetup/install/files/ \
        acp/update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php \
-       acp/update_com.woltlab.wcf_5.5_normalizeFileLog.php
+       acp/update_com.woltlab.wcf_5.5_normalizeFileLog.php \
+       acp/update_com.woltlab.wcf_5.5_styleVariables.php
                -->
                <instruction type="file" run="standalone">files_pre_check.tar</instruction>
 
@@ -64,6 +65,9 @@ tar cvf com.woltlab.wcf/files_pre_check.tar -C wcfsetup/install/files/ \
                <!-- Clean up the file log. -->
                <instruction type="script" run="standalone">acp/update_com.woltlab.wcf_5.5_normalizeFileLog.php</instruction>
 
+               <!-- Insert the new style variables early to prevent style rebuilds bricking the system. -->
+               <instruction type="script" run="standalone">acp/update_com.woltlab.wcf_5.5_styleVariables.php</instruction>
+
                <!-- Deploy new application code. -->
                <instruction type="file" />
                <instruction type="acpTemplate" />
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_styleVariables.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_styleVariables.php
new file mode 100644 (file)
index 0000000..75e5f48
--- /dev/null
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * Inserts new style variables introduced with WoltLab Suite 5.5.
+ *
+ * @author Alexander Ebert
+ * @copyright 2001-2021 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package WoltLabSuite\Core
+ */
+
+use wcf\system\WCF;
+
+$values = [
+    'wcfUserMenuBackground' => 'rgba(255, 255, 255, 1)',
+    'wcfUserMenuBackgroundActive' => 'rgba(239, 239, 239, 1)',
+    'wcfUserMenuText' => 'rgba(58, 58, 61, 1)',
+    'wcfUserMenuTextDimmed', 'rgba(108, 108, 108, 1)',
+    'wcfUserMenuIndicator' => 'rgba(49, 138, 220, 1)',
+    'wcfUserMenuBorder' => 'rgb(221, 221, 221, 1)',
+];
+
+$sql = "INSERT IGNORE INTO wcf1_style_variable (variableName, defaultValue) VALUES (?, ?)";
+$statement = WCF::getDB()->prepare($sql);
+foreach ($values as $variableName => $defaultValue) {
+    $statement->execute([
+        $variableName,
+        $defaultValue,
+    ]);
+}
index 9f6d85f174abbdd129f82bc6e612fda19fd7167e..ebddd189744f2330defef6c4df2f4559509cfc39 100644 (file)
@@ -2500,7 +2500,6 @@ INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTextSha
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTextShadowLight', 'rgba(255, 255, 255, .8)');
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTooltipBackground', 'rgba(0, 0, 0, .8)');
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfTooltipText', 'rgba(255, 255, 255, 1)');
-
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuBackground', 'rgba(255, 255, 255, 1)');
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuBackgroundActive', 'rgba(239, 239, 239, 1)');
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserMenuText', 'rgba(58, 58, 61, 1)');