Improve new htmlform class

Signed-off-by: Roman Schmerold (BNoiZe) <bnoize@froxlor.org>
This commit is contained in:
Roman Schmerold (BNoiZe)
2015-02-16 16:18:39 +01:00
parent 4fd68a4153
commit 913a53e436

View File

@@ -156,11 +156,13 @@ class HTMLform2 {
$attributes['id'] = $fieldname; $attributes['id'] = $fieldname;
// value // value
if ($fielddata['type'] != 'select') {
if (isset($_SESSION['requestData'][$fieldname])) { if (isset($_SESSION['requestData'][$fieldname])) {
$attributes['value'] = $_SESSION['requestData'][$fieldname]; $attributes['value'] = $_SESSION['requestData'][$fieldname];
} elseif (isset($fielddata['value'])) { } elseif (isset($fielddata['value'])) {
$attributes['value'] = $fielddata['value']; $attributes['value'] = $fielddata['value'];
} }
}
if (isset($fielddata['attributes'])) { if (isset($fielddata['attributes'])) {
if (isset($fielddata['attributes']['checked']) && $fielddata['attributes']['checked'] !== true) { if (isset($fielddata['attributes']['checked']) && $fielddata['attributes']['checked'] !== true) {
@@ -369,7 +371,7 @@ class HTMLform2 {
if (is_array($fielddata['values'])) { if (is_array($fielddata['values'])) {
foreach($fielddata['values'] as $value) { foreach($fielddata['values'] as $value) {
$selected = ""; $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"; $selected = " selected";
} }
$values .= "<option value=\"{$value['value']}\"$selected>{$value['label']}</option>"; $values .= "<option value=\"{$value['value']}\"$selected>{$value['label']}</option>";
@@ -378,6 +380,10 @@ class HTMLform2 {
$values = $fielddata['values']; $values = $fielddata['values'];
} }
eval("\$return = \"" . getTemplate("htmlform/select", "1") . "\";"); 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; return $return;
} }