diff --git a/textpattern/lib/txplib_forms.php b/textpattern/lib/txplib_forms.php index 66b38e6249..840d0511e8 100644 --- a/textpattern/lib/txplib_forms.php +++ b/textpattern/lib/txplib_forms.php @@ -134,10 +134,16 @@ function selectInput($name = '', $array = array(), $value = '', $blank_first = f $out = array(); $selected = false; - $value = (string) $value; + $multiple = is_array($value) ? ' multiple="multiple"' : ''; + + if ($multiple) { + $name .= '[]'; + } else { + $value = (string) $value; + } foreach ($array as $avalue => $alabel) { - if ($value === (string) $avalue) { + if (!$multiple && $value === (string) $avalue || $multiple && in_array($avalue, $value)) { $sel = ' selected="selected"'; $selected = true; } else { @@ -163,7 +169,7 @@ function selectInput($name = '', $array = array(), $value = '', $blank_first = f $atts .= ' '.trim($onchange); } - return n.''.n.join(n, $out).n.''; // TODO: use jQuery UI selectmenu? + return n.''.n.join(n, $out).n.''; // TODO: use jQuery UI selectmenu? } /**