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";