summaryrefslogtreecommitdiffstats
path: root/modules-available/sysconfig/addmodule_screensaver.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'modules-available/sysconfig/addmodule_screensaver.inc.php')
-rw-r--r--modules-available/sysconfig/addmodule_screensaver.inc.php22
1 files changed, 17 insertions, 5 deletions
diff --git a/modules-available/sysconfig/addmodule_screensaver.inc.php b/modules-available/sysconfig/addmodule_screensaver.inc.php
index 29711959..3d4fa68e 100644
--- a/modules-available/sysconfig/addmodule_screensaver.inc.php
+++ b/modules-available/sysconfig/addmodule_screensaver.inc.php
@@ -186,13 +186,18 @@ class Screensaver_Helper
$helperMode = Request::post('helper_mode', 'false', 'string');
if ($helperMode !== 'false') {
// Get all the helper variables and build the qss
- $bg_color_1 = Request::post('bg_color_1', '#443', 'string');
- $bg_color_2 = Request::post('bg_color_2', '#000', 'string');
- $label_color = Request::post('label_color', '#f64', 'string');
+ $bg_color_1 = Request::post('bg_color_1', '', 'string');
+ self::fixColor($bg_color_1, '#443');
+ $bg_color_2 = Request::post('bg_color_2', '', 'string');
+ self::fixColor($bg_color_2, '#000');
+ $label_color = Request::post('label_color', '', 'string');
+ self::fixColor($label_color, '#f64');
$label_size = Request::post('label_size', 10, 'int') . 'pt';
- $clock_color = Request::post('clock_color', '#999', 'string');
+ $clock_color = Request::post('clock_color', '', 'string');
+ self::fixColor($clock_color, '#999');
$clock_size = Request::post('clock_size', 20, 'int') . 'pt';
- $header_color = Request::post('header_color', 'inherit', 'string');
+ $header_color = Request::post('header_color', '', 'string');
+ self::fixColor($header_color, $label_color);
$header_size = Request::post('header_size', 20, 'int') . 'pt';
$session_data['qss'] = "#Saver {\n background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 " .
@@ -203,6 +208,13 @@ class Screensaver_Helper
}
}
+ private static function fixColor(&$color, $fix)
+ {
+ if (!preg_match('/^#([0-9a-f]{3}|[0-6a-f]{6})$/i', $color)) {
+ $color = $fix;
+ }
+ }
+
public static function processScreensaverText(&$session_data, $name) {
/* Process post data from the Screensaver_Text */
$session_data['messages']['General'][$name] = Request::post('msg_value', '', 'string');