diff --git a/NEWS b/NEWS index e8e60e7e..8589ac99 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,4 @@ + - make form input label ids optional (monte) - add error message for empty if/elseif statements (eykanal, monte) - cast selected value to string for comparison in html_radios diff --git a/libs/plugins/function.html_radios.php b/libs/plugins/function.html_radios.php index 8ff14e99..cdad8287 100644 --- a/libs/plugins/function.html_radios.php +++ b/libs/plugins/function.html_radios.php @@ -48,6 +48,7 @@ function smarty_function_html_radios($params, &$smarty) $selected = null; $separator = ''; $labels = true; + $label_ids = false; $output = null; $extra = ''; @@ -68,6 +69,7 @@ function smarty_function_html_radios($params, &$smarty) break; case 'labels': + case 'label_ids': $$_key = (bool)$_val; break; @@ -106,13 +108,13 @@ function smarty_function_html_radios($params, &$smarty) if (isset($options)) { foreach ($options as $_key=>$_val) - $_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels); + $_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids); } else { foreach ($values as $_i=>$_key) { $_val = isset($output[$_i]) ? $output[$_i] : ''; - $_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels); + $_html_result[] = smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator, $labels, $label_ids); } } @@ -125,17 +127,21 @@ function smarty_function_html_radios($params, &$smarty) } -function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels) { +function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids) { $_output = ''; if ($labels) { - $_id = smarty_function_escape_special_chars($name . '_' . $value); - $_output .= '