From fa10e0945ecd45bfe78a2c8fb015a43092b4944b Mon Sep 17 00:00:00 2001 From: plegall Date: Thu, 10 Dec 2015 14:02:22 +0100 Subject: bug #385 update to smarty-3.1.28-dev (from Github) --- .../smarty/libs/plugins/function.html_radios.php | 74 ++++++++++++---------- 1 file changed, 39 insertions(+), 35 deletions(-) (limited to 'include/smarty/libs/plugins/function.html_radios.php') diff --git a/include/smarty/libs/plugins/function.html_radios.php b/include/smarty/libs/plugins/function.html_radios.php index a2741f68f..f121d5eae 100644 --- a/include/smarty/libs/plugins/function.html_radios.php +++ b/include/smarty/libs/plugins/function.html_radios.php @@ -1,14 +1,13 @@ * Type: function
* Name: html_radios
@@ -31,16 +30,18 @@ * {html_radios values=$ids name='box' separator='
' output=$names} * {html_radios values=$ids checked=$checked separator='
' output=$names} * - * - * @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios} - * (Smarty online manual) - * @author Christopher Kvarme - * @author credits to Monte Ohrt + * + * @link http://smarty.php.net/manual/en/language.function.html.radios.php {html_radios} + * (Smarty online manual) + * @author Christopher Kvarme + * @author credits to Monte Ohrt * @version 1.0 + * * @param array $params parameters * @param Smarty_Internal_Template $template template object - * @return string - * @uses smarty_function_escape_special_chars() + * + * @return string + * @uses smarty_function_escape_special_chars() */ function smarty_function_html_radios($params, $template) { @@ -57,7 +58,7 @@ function smarty_function_html_radios($params, $template) $output = null; $extra = ''; - foreach($params as $_key => $_val) { + foreach ($params as $_key => $_val) { switch ($_key) { case 'name': case 'separator': @@ -72,11 +73,11 @@ function smarty_function_html_radios($params, $template) if (method_exists($_val, "__toString")) { $selected = smarty_function_escape_special_chars((string) $_val->__toString()); } else { - trigger_error("html_radios: selected attribute is an object of class '". get_class($_val) ."' without __toString() method", E_USER_NOTICE); + trigger_error("html_radios: selected attribute is an object of class '" . get_class($_val) . "' without __toString() method", E_USER_NOTICE); } } else { $selected = (string) $_val; - } + } break; case 'escape': @@ -102,7 +103,8 @@ function smarty_function_html_radios($params, $template) case 'assign': break; - case 'strict': break; + case 'strict': + break; case 'disabled': case 'readonly': @@ -117,20 +119,21 @@ function smarty_function_html_radios($params, $template) break; } - // omit break; to fall through! + // omit break; to fall through! default: if (!is_array($_val)) { $extra .= ' ' . $_key . '="' . smarty_function_escape_special_chars($_val) . '"'; } else { trigger_error("html_radios: extra attribute '$_key' cannot be an array", E_USER_NOTICE); - } + } break; - } - } + } + } if (!isset($options) && !isset($values)) { /* raise error here? */ + return ''; } @@ -144,57 +147,59 @@ function smarty_function_html_radios($params, $template) 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, $label_ids, $escape); - } - } + } + } if (!empty($params['assign'])) { $template->assign($params['assign'], $_html_result); } else { return implode("\n", $_html_result); - } -} + } +} function smarty_function_html_radios_output($name, $value, $output, $selected, $extra, $separator, $labels, $label_ids, $escape) { $_output = ''; - + if (is_object($value)) { if (method_exists($value, "__toString")) { $value = (string) $value->__toString(); } else { - trigger_error("html_options: value is an object of class '". get_class($value) ."' without __toString() method", E_USER_NOTICE); + trigger_error("html_options: value is an object of class '" . get_class($value) . "' without __toString() method", E_USER_NOTICE); + return ''; } } else { $value = (string) $value; } - + if (is_object($output)) { if (method_exists($output, "__toString")) { $output = (string) $output->__toString(); } else { - trigger_error("html_options: output is an object of class '". get_class($output) ."' without __toString() method", E_USER_NOTICE); + trigger_error("html_options: output is an object of class '" . get_class($output) . "' without __toString() method", E_USER_NOTICE); + return ''; } } else { $output = (string) $output; } - + if ($labels) { if ($label_ids) { $_id = smarty_function_escape_special_chars(preg_replace('![^\w\-\.]!' . Smarty::$_UTF8_MODIFIER, '_', $name . '_' . $value)); $_output .= '