Resolve conflicting variable name with 'value' parameter for input elements, and add support for 'id' parameter overrides

develop
Sven Slootweg 11 years ago
parent 249284e488
commit 6e923629e0

@ -1092,10 +1092,11 @@ class TemplateInput extends TemplateStandaloneElement
$this->parent = $parent; $this->parent = $parent;
$type = "text"; $type = "text";
$value = ""; $val = "";
$group = "general"; $group = "general";
$name = null; $name = null;
$additional_list = array(); $additional_list = array();
$id = "";
$argument_list = implode(" ", $this->tokens); $argument_list = implode(" ", $this->tokens);
$argument_list = $this->ReplaceInlineVariables($argument_list, $data); $argument_list = $this->ReplaceInlineVariables($argument_list, $data);
@ -1109,9 +1110,6 @@ class TemplateInput extends TemplateStandaloneElement
case "name": case "name":
$name = $argument[2]; $name = $argument[2];
break; break;
case "value":
$value = $argument[2];
break;
case "group": case "group":
$group = $argument[2]; $group = $argument[2];
break; break;
@ -1122,7 +1120,10 @@ class TemplateInput extends TemplateStandaloneElement
$type = $argument[2]; $type = $argument[2];
break; break;
case "value": case "value":
$value = $argument[2]; $val = $argument[2];
break;
case "id":
$id = $argument[2];
break; break;
default: default:
$additional_list[$argument[1]] = $argument[2]; $additional_list[$argument[1]] = $argument[2];
@ -1137,9 +1138,14 @@ class TemplateInput extends TemplateStandaloneElement
if(isset($_POST[$name])) if(isset($_POST[$name]))
{ {
$value = str_replace('"', '\"', htmlspecialchars($_POST[$name])); $val = str_replace('"', '\"', htmlspecialchars($_POST[$name]));
} }
if(empty($id))
{
$id = "form_{$group}_{$name}";
}
$final_list = array(); $final_list = array();
foreach($additional_list as $key => $value) foreach($additional_list as $key => $value)
@ -1149,7 +1155,7 @@ class TemplateInput extends TemplateStandaloneElement
$additional = implode(" ", $final_list); $additional = implode(" ", $final_list);
return "<input type=\"{$type}\" id=\"form_{$group}_{$name}\" name=\"{$name}\" value=\"{$value}\" {$additional}>"; return "<input type=\"{$type}\" id=\"{$id}\" name=\"{$name}\" value=\"{$val}\" {$additional}>";
} }
} }

Loading…
Cancel
Save