diff --git a/NEWS b/NEWS index ede1fa1f..803d27a5 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,5 @@ + - made html_radios and html_checkboxes accept "selected" instead + of "checked" optionally. (messju) - made compile_id ignored in clear_cache, made order of auto_file_name $cache_id.$compile_id again, applied the the new variable-naming-scheme for cache_file_handing functions (messju) diff --git a/libs/plugins/function.html_checkboxes.php b/libs/plugins/function.html_checkboxes.php index 027fbeba..2b8de7b4 100644 --- a/libs/plugins/function.html_checkboxes.php +++ b/libs/plugins/function.html_checkboxes.php @@ -29,7 +29,7 @@ function smarty_function_html_checkboxes($params, &$smarty) $name = 'checkbox'; $values = null; $options = null; - $checked = null; + $selected = null; $separator = ''; $output = null; @@ -48,8 +48,12 @@ function smarty_function_html_checkboxes($params, &$smarty) case 'values': case 'output': - case 'checked': $$_key = array_values((array)$_val); + break; + + case 'checked': + case 'selected': + $selected = array_values((array)$_val); break; case 'checkboxes': @@ -66,19 +70,19 @@ function smarty_function_html_checkboxes($params, &$smarty) if (!isset($options) && !isset($values)) return ''; /* raise error here? */ - settype($checked, 'array'); + settype($selected, 'array'); $_html_result = ''; if (is_array($options)) { foreach ($options as $_key=>$_val) - $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $checked, $extra, $separator); + $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator); } else { foreach ($values as $_i=>$_key) { $_val = isset($output[$_i]) ? $output[$_i] : ''; - $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $checked, $extra, $separator); + $_html_result .= smarty_function_html_checkboxes_output($name, $_key, $_val, $selected, $extra, $separator); } } @@ -87,12 +91,12 @@ function smarty_function_html_checkboxes($params, &$smarty) } -function smarty_function_html_checkboxes_output($name, $value, $output, $checked, $extra, $separator) { +function smarty_function_html_checkboxes_output($name, $value, $output, $selected, $extra, $separator) { $_output = '' . $output . $separator . "\n"; diff --git a/libs/plugins/function.html_radios.php b/libs/plugins/function.html_radios.php index d6f519e3..bb9ccfb1 100644 --- a/libs/plugins/function.html_radios.php +++ b/libs/plugins/function.html_radios.php @@ -29,7 +29,7 @@ function smarty_function_html_radios($params, &$smarty) $name = 'radio'; $values = null; $options = null; - $checked = null; + $selected = null; $separator = ''; $output = null; $extra = ''; @@ -38,11 +38,15 @@ function smarty_function_html_radios($params, &$smarty) switch($_key) { case 'name': case 'separator': + $$_key = (string)$_val; + break; + case 'checked': + case 'selected': if(is_array($_val)) { - $smarty->trigger_error('html_radios: the "checked" attribute cannot be an array', E_USER_WARNING); + $smarty->trigger_error('html_radios: the "' . $_key . '" attribute cannot be an array', E_USER_WARNING); } else { - $$_key = (string)$_val; + $selected = (string)$_val; } break; @@ -75,13 +79,13 @@ function smarty_function_html_radios($params, &$smarty) if (isset($options) && is_array($options)) { foreach ((array)$options as $_key=>$_val) - $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $checked, $extra, $separator); + $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator); } else { foreach ((array)$values as $_i=>$_key) { $_val = isset($output[$_i]) ? $output[$_i] : ''; - $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $checked, $extra, $separator); + $_html_result .= smarty_function_html_radios_output($name, $_key, $_val, $selected, $extra, $separator); } } @@ -90,12 +94,12 @@ function smarty_function_html_radios($params, &$smarty) } -function smarty_function_html_radios_output($name, $value, $output, $checked, $extra, $separator) { +function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator) { $_output = '' . $output . $separator . "\n";