diff --git a/lib/classes/output/class.HTMLform2.php b/lib/classes/output/class.HTMLform2.php
index 357ac131..41e26aa2 100644
--- a/lib/classes/output/class.HTMLform2.php
+++ b/lib/classes/output/class.HTMLform2.php
@@ -156,10 +156,12 @@ class HTMLform2 {
$attributes['id'] = $fieldname;
// value
- if (isset($_SESSION['requestData'][$fieldname])) {
- $attributes['value'] = $_SESSION['requestData'][$fieldname];
- } elseif (isset($fielddata['value'])) {
- $attributes['value'] = $fielddata['value'];
+ if ($fielddata['type'] != 'select') {
+ if (isset($_SESSION['requestData'][$fieldname])) {
+ $attributes['value'] = $_SESSION['requestData'][$fieldname];
+ } elseif (isset($fielddata['value'])) {
+ $attributes['value'] = $fielddata['value'];
+ }
}
if (isset($fielddata['attributes'])) {
@@ -369,7 +371,7 @@ class HTMLform2 {
if (is_array($fielddata['values'])) {
foreach($fielddata['values'] as $value) {
$selected = "";
- if ((isset($value['selected']) && $value['selected'] == true) || (isset($fielddata['default']) && $value['value'] == $fielddata['default'])) {
+ if ((isset($value['selected']) && $value['selected'] == true) || (isset($fielddata['value']) && $value['value'] == $fielddata['value'])) {
$selected = " selected";
}
$values .= "";
@@ -378,6 +380,10 @@ class HTMLform2 {
$values = $fielddata['values'];
}
eval("\$return = \"" . getTemplate("htmlform/select", "1") . "\";");
+
+ if (isset($fielddata['attributes']['multiple']) && $fielddata['attributes']['multiple'] == true) {
+ $return = str_replace("name=\"$fieldname\"", "name=\"{$fieldname}[]\"", $return);
+ }
return $return;
}