From 1a2bde14fb2fad0fab128f25a172579c8667cb15 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Fri, 12 Jun 2015 14:37:27 +0200 Subject: [PATCH] FIX Better management error into the color conversion functions --- htdocs/core/class/html.formother.class.php | 2 +- htdocs/core/lib/functions2.lib.php | 8 +++++--- htdocs/theme/eldy/style.css.php | 18 ++++++++++++------ 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/htdocs/core/class/html.formother.class.php b/htdocs/core/class/html.formother.class.php index 9de656fc44e..d68f0f7a560 100644 --- a/htdocs/core/class/html.formother.class.php +++ b/htdocs/core/class/html.formother.class.php @@ -586,7 +586,7 @@ class FormOther } /** - * Output a HTML code to select a color + * Output a HTML code to select a color. Field will return an hexa color like '334455'. * * @param string $set_color Pre-selected color * @param string $prefix Name of HTML field diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 378ef395b36..3084a786628 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -1844,22 +1844,24 @@ function fetchObjectByElement($element_id,$element_type) { * Convert an array with RGB value into hex RGB value * * @param array $arraycolor Array - * @param string $colorifnotfound Color code to return if entry not defined + * @param string $colorifnotfound Color code to return if entry not defined or not a RGB format * @return string RGB hex value (without # before). For example: FF00FF * @see Make the opposite of colorStringToArray */ function colorArrayToHex($arraycolor,$colorifnotfound='888888') { if (! is_array($arraycolor)) return $colorifnotfound; + if (empty($arraycolor)) return $colorifnotfound; return dechex($arraycolor[0]).dechex($arraycolor[1]).dechex($arraycolor[2]); } /** - * Convert a string RGB value ('FFFFFF', '255,255,255') into an array RGB array(255,255,255) + * Convert a string RGB value ('FFFFFF', '255,255,255') into an array RGB array(255,255,255). + * If entry is already an array, return it. * * @param string $stringcolor String with hex (FFFFFF) or comma RGB ('255,255,255') - * @param string $colorifnotfound Color code to return if entry not defined + * @param array $colorifnotfound Color code array to return if entry not defined * @return string RGB hex value (without # before). For example: FF00FF * @see Make the opposite of colorArrayToHex */ diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index 6f0dc7f447c..dacb1a58e53 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -93,7 +93,6 @@ $isblue=max(0,(2*$colblue-$colred-$colgreen)/2); // 0 - 255 $colorbackhmenu1=($colred-3).','.($colgreen-3).','.($colblue-3); // topmenu $colorbackhmenu2=($colred+5).','.($colgreen+5).','.($colblue+5); $colorbackvmenu1=($colred+15).','.($colgreen+16).','.($colblue+17); // vmenu -$colorbackvmenu1b=($colred+5).','.($colgreen+6).','.($colblue+7); // vmenu (not menu) $colorbackvmenu2=($colred-15).','.($colgreen-15).','.($colblue-15); $colorbacktitle1=($colred-5).','.($colgreen-5).','.($colblue-5); // title of array $colorbacktitle2=($colred-15).','.($colgreen-15).','.($colblue-15); @@ -106,7 +105,7 @@ $colorbacklineimpairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+roun $colorbacklinepair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3)); // line pair $colorbacklinepair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3)); // line pair $colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line pair -$colorbackbody='#f9f9f9'; +$colorbackbody='249,249,249'; $colortext='40,40,40'; $fontsize='12'; $fontsizesmaller='11'; @@ -124,7 +123,7 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) $conf->global->THEME_ELDY_BACKTABCARD2='210,210,210'; // card $conf->global->THEME_ELDY_BACKTABCARD1='234,234,234'; $conf->global->THEME_ELDY_BACKTABACTIVE='234,234,234'; - $conf->global->THEME_ELDY_BACKBODY='#f9f9f9;'; + $conf->global->THEME_ELDY_BACKBODY='249,249,249;'; $conf->global->THEME_ELDY_LINEIMPAIR1='255,255,255'; $conf->global->THEME_ELDY_LINEIMPAIR2='255,255,255'; $conf->global->THEME_ELDY_LINEIMPAIRHOVER='238,246,252'; @@ -139,7 +138,6 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) $colorbackhmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$conf->global->THEME_ELDY_TOPMENU_BACK1) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$user->conf->THEME_ELDY_TOPMENU_BACK1); $colorbackhmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$conf->global->THEME_ELDY_TOPMENU_BACK2) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$user->conf->THEME_ELDY_TOPMENU_BACK2); $colorbackvmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$conf->global->THEME_ELDY_VERMENU_BACK1) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$user->conf->THEME_ELDY_VERMENU_BACK1); -$colorbackvmenu1b =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1b)?$colorbackvmenu1:$conf->global->THEME_ELDY_VERMENU_BACK1b) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1b)?$colorbackvmenu1b:$user->conf->THEME_ELDY_VERMENU_BACK1b); $colorbackvmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$conf->global->THEME_ELDY_VERMENU_BACK2) :(empty($user->conf->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$user->conf->THEME_ELDY_VERMENU_BACK2); $colorbacktitle1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE1) ?$colorbacktitle1:$conf->global->THEME_ELDY_BACKTITLE1) :(empty($user->conf->THEME_ELDY_BACKTITLE1)?$colorbacktitle1:$user->conf->THEME_ELDY_BACKTITLE1); $colorbacktitle2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE2) ?$colorbacktitle2:$conf->global->THEME_ELDY_BACKTITLE2) :(empty($user->conf->THEME_ELDY_BACKTITLE2)?$colorbacktitle2:$user->conf->THEME_ELDY_BACKTITLE2); @@ -165,6 +163,11 @@ if ((! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($user->conf-> } // Format color value to match expected format (may be 'FFFFFF' or '255,255,255') +$colorbackbody=join(',',colorStringToArray($colorbackbody)); +/*$colorbackhmenu1=join(',',colorStringToArray($colorbackhmenu1)); +$colorbackhmenu2=join(',',colorStringToArray($colorbackhmenu2)); +$colorbackvmenu1=join(',',colorStringToArray($colorbackvmenu1)); +$colorbackvmenu2=join(',',colorStringToArray($colorbackvmenu2));*/ $colorbacktabcard1=join(',',colorStringToArray($colorbacktabcard1)); $colorbacktabcard2=join(',',colorStringToArray($colorbacktabcard2)); @@ -186,7 +189,6 @@ $tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppa if ($tmpval <= 340) { $colortextbacktab='FFF'; } else { $colortextbacktab='444'; } - $usecss3=true; if ($conf->browser->name == 'ie' && round($conf->browser->version,2) < 10) $usecss3=false; elseif ($conf->browser->name == 'iceweasel') $usecss3=false; @@ -195,6 +197,10 @@ elseif ($conf->browser->name == 'epiphany') $usecss3=false; print '/*'."\n"; print 'colred='.$colred.' colgreen='.$colgreen.' colblue='.$colblue."\n"; print 'isred='.$isred.' isgreen='.$isgreen.' isblue='.$isblue."\n"; +print 'colorbackbody='.$colorbackbody."\n"; +print 'colorbackvmenu1='.$colorbackvmenu1."\n"; +print 'colorbackhmenu1='.$colorbackhmenu1."\n"; +print 'colorbacktitle1='.$colorbacktitle1."\n"; print 'colorbacklineimpair1='.$colorbacklineimpair1."\n"; print 'colorbacklineimpair2='.$colorbacklineimpair2."\n"; print 'colorbacklineimpairhover='.$colorbacklineimpairhover."\n"; @@ -223,7 +229,7 @@ body { <?php if (GETPOST("optioncss") == 'print') { ?> background-color: #FFFFFF; <?php } else { ?> - background: <?php print $colorbackbody; ?>; + background: rgb(<?php print $colorbackbody; ?>); <?php } ?> color: #101010; font-size: <?php print $fontsize ?>px; -- GitLab