Fix handling of empty LESS variable values
authorAlexander Ebert <ebert@woltlab.com>
Mon, 29 Oct 2012 00:53:29 +0000 (01:53 +0100)
committerAlexander Ebert <ebert@woltlab.com>
Mon, 29 Oct 2012 00:53:29 +0000 (01:53 +0100)
wcfsetup/install/files/lib/data/style/Style.class.php
wcfsetup/install/files/lib/system/style/StyleCompiler.class.php
wcfsetup/setup/db/install.sql

index bb38bd41615b8cdec8a402f7c33138f28e83383f..0d256e7ddd99a8932daa656d53aa3966011f3d67 100644 (file)
@@ -84,7 +84,12 @@ class Style extends DatabaseObject {
                $statement->execute(array($this->styleID));
                while ($row = $statement->fetchArray()) {
                        $variableName = $row['variableName'];
-                       $this->variables[$variableName] = (isset($row['variableValue'])) ? $row['variableValue'] : $row['defaultValue'];
+                       $variableValue = (isset($row['variableValue'])) ? $row['variableValue'] : $row['defaultValue'];
+                       if (empty($variableValue)) {
+                               $variableValue = '~""';
+                       }
+                       
+                       $this->variables[$variableName] = $variableValue;
                        
                        // provide an empty value for LESS-compiler
                        if (empty($this->variables[$variableName])) {
index 40812b24292a886c4799013f1475519c909348dc..88bdb3a671dd4a7940e93e28b394d28d73f144db 100644 (file)
@@ -95,7 +95,12 @@ class StyleCompiler extends SingletonFactory {
                $statement->execute();
                $variables = array();
                while ($row = $statement->fetchArray()) {
-                       $variables[$row['variableName']] = $row['defaultValue'];
+                       $value = $row['defaultValue'];
+                       if (empty($value)) {
+                               $value = '~""';
+                       }
+                       
+                       $variables[$row['variableName']] = $value;
                }
                
                $this->compileStylesheet(
index 805c98f0dba2d0389c402d907a593a55d43973c2..259a24a0ac39549fb898d8330b62228eae7ef672 100644 (file)
@@ -1019,6 +1019,6 @@ INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfMainMen
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfUserPanelHoverBackgroundColor', 'rgba(60, 60, 60, 1)');
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('wcfMarkedBackgroundColor', 'rgba(255, 255, 200, 1)');
 INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('useFluidLayout', '1');
-INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('pageLogo', '~""');
-INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('individualLess', '~""');
-INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('overrideLess', '~""');
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('pageLogo', '');
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('individualLess', '');
+INSERT INTO wcf1_style_variable (variableName, defaultValue) VALUES ('overrideLess', '');