diff --git a/etemplate/inc/class.html.inc.php b/etemplate/inc/class.html.inc.php index 3d1674513c..7fccefd742 100644 --- a/etemplate/inc/class.html.inc.php +++ b/etemplate/inc/class.html.inc.php @@ -274,16 +274,16 @@ class html } /*! - @function nextMatchStyles + @function themeStyles @abstract returns simple stylesheet for nextmatch row-colors - @result the classes 'nmh' = nextmatch header, 'nmr0'+'nmr1' = alternating rows + @result the classes 'th' = nextmatch header, 'row_on'+'row_off' = alternating rows */ - function nextMatchStyles() + function themeStyles() { return $this->style( - ".nmh { background: ".$GLOBALS['phpgw_info']['theme']['th_bg']."; }\n". - ".nmr1 { background: ".$GLOBALS['phpgw_info']['theme']['row_on']."; }\n". - ".nmr0 { background: ".$GLOBALS['phpgw_info']['theme']['row_off']."; }\n" + ".th { background: ".$GLOBALS['phpgw_info']['theme']['th_bg']."; }\n". + ".row_on { background: ".$GLOBALS['phpgw_info']['theme']['row_on']."; }\n". + ".row_off { background: ".$GLOBALS['phpgw_info']['theme']['row_off']."; }\n" ); } diff --git a/etemplate/inc/class.uietemplate.inc.php b/etemplate/inc/class.uietemplate.inc.php index e6473bb1d5..7f0b4c80d0 100644 --- a/etemplate/inc/class.uietemplate.inc.php +++ b/etemplate/inc/class.uietemplate.inc.php @@ -55,8 +55,7 @@ list($a,$b,$c,$d) = explode('.',$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']); //echo "Version: $a.$b.$c.$d\n"; - if ($this->stable = $a <= 0 && $b <= 9 && $c <= 14) - $this->class_conf = array(); + $this->stable = $a <= 0 && $b <= 9 && $c <= 14; } /*! @@ -103,7 +102,7 @@ $GLOBALS['phpgw_info']['etemplate']['loop'] = False; $GLOBALS['phpgw_info']['etemplate']['form_options'] = ''; // might be set in show $GLOBALS['phpgw_info']['etemplate']['to_process'] = array(); - $html .= ($this->stable ? $this->html->nextMatchStyles()."\n\n" : ''). // so they get included once + $html .= ($this->stable ? $this->html->themeStyles()."\n\n" : ''). // so they get included once $this->html->form($this->include_java_script() . $this->show($this->complete_array_merge($content,$changes),$sel_options,$readonlys,'exec'),array( 'etemplate_exec_id' => $id, @@ -295,9 +294,9 @@ $rows[".$row"] .= $this->html->formatOptions($height,'HEIGHT'); list($cl) = explode(',',$class); - if ($cl == 'nmr') + if ($cl == 'nmr' || $cl == 'row') { - $cl .= $nmr_alternate++ & 1; // alternate color + $cl = 'row_'.($nmr_alternate++ & 1 ? 'off' : 'on'); // alternate color } $cl = isset($this->class_conf[$cl]) ? $this->class_conf[$cl] : $cl; $rows[".$row"] .= $this->html->formatOptions($cl,'CLASS'); @@ -566,44 +565,48 @@ $html .= $cell['obj']->show($content,$sel_options,$readonlys,$cname,$show_c,$show_row); break; case 'select': // size:[linesOnMultiselect] + $sels = array(); + list($multiple) = explode(',',$cell['size']); + if (!empty($multiple) && 0+$multiple <= 0) + { + $sels[''] = $multiple < 0 ? lang('all') : lang($multiple); + $multiple = 0; + } if (!empty($cell['sel_options'])) { - if (!is_array($cell)) + if (!is_array($cell['sel_options'])) { - $sel_options = array(); $opts = explode(',',$cell['sel_options']); while (list(,$opt) = each($opts)) { list($k,$v) = explode('=',$opt); - $sel_options[$k] = $v; + $sels[$k] = $v; } } else { - $sel_options = $cell['sel_options']; + $sels += $cell['sel_options']; } } - elseif (isset($sel_options[$name])) + if (isset($sel_options[$name])) { - $sel_options = $sel_options[$name]; + $sels += $sel_options[$name]; } elseif (isset($sel_options[$org_name])) { - $sel_options = $sel_options[$org_name]; + $sels += $sel_options[$org_name]; } - elseif (isset($content["options-$name"])) + if (isset($content["options-$name"])) { - $sel_options = $content["options-$name"]; + $sels += $content["options-$name"]; } - list($multiple) = explode(',',$cell['size']); - if ($readonly) { - $html .= $cell['no_lang'] ? $sel_options[$value] : lang($sel_options[$value]); + $html .= $cell['no_lang'] ? $sels[$value] : lang($sels[$value]); } else { - $html .= $this->html->select($form_name.($multiple > 1 ? '[]' : ''),$value,$sel_options, + $html .= $this->html->select($form_name.($multiple > 1 ? '[]' : ''),$value,$sels, $cell['no_lang'],$options,$multiple); $GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type']; }