From be19a999f5a4f3de3e05bceea556a794672f689c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 19 Dec 2016 18:11:53 +0100 Subject: [PATCH] Fix regression losing warning on not defined emails --- htdocs/core/class/html.form.class.php | 26 ++++++++++++++++++----- htdocs/core/class/html.formmail.class.php | 20 ++++++++++++----- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index c9e57eeaa4d..8abe3f271f7 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -4857,12 +4857,13 @@ class Form * @param int $disabled Html select box is disabled * @param string $sort 'ASC' or 'DESC' = Sort on label, '' or 'NONE' or 'POS' = Do not sort, we keep original order * @param string $morecss Add more class to css styles - * @param int $addjscombo Add js combo + * @param int $addjscombo Add js combo * @param string $moreparamonempty Add more param on the empty option line. Not used if show_empty not set. - * @return string HTML select string. + * @param int $disablebademail Check if an email is found into value and if not disable and colorize entry. + * @return string HTML select string. * @see multiselectarray */ - static function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='', $addjscombo=0, $moreparamonempty='') + static function selectarray($htmlname, $array, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='', $addjscombo=0, $moreparamonempty='',$disablebademail=0) { global $conf, $langs; @@ -4907,7 +4908,10 @@ class Form // Translate if ($translate) { - foreach($array as $key => $value) $array[$key]=$langs->trans($value); + foreach($array as $key => $value) + { + $array[$key]=$langs->trans($value); + } } // Sort @@ -4916,8 +4920,19 @@ class Form foreach($array as $key => $value) { + $disabled=''; $style=''; + if (! empty($disablebademail)) + { + if (! preg_match('/<.+@.+>/', $value)) + { + //$value=preg_replace('/'.preg_quote($a,'/').'/', $b, $value); + $disabled=' disabled'; + $style=' class="warning"'; + } + } $out.='