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.''; // TODO: use jQuery UI selectmenu?
+ return n.''; // TODO: use jQuery UI selectmenu?
}
/**