diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index 515ff3d91..e1f7be71f 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -879,15 +879,24 @@ class e_form } - function radio_multi($name, $elements, $checked, $multi_line = false, $help = array()) + + /** + * @param string $name + * @param array $elements = arrays value => label + * @param string/integer $checked = current value + * @param boolean $multi_line + * @param mixed $help array of field help items or string of field-help (to show on all) + */ + function radio_multi($name, $elements, $checked, $multi_line = false, $help = null) { $text = array(); if(is_string($elements)) parse_str($elements, $elements); - + foreach ($elements as $value => $label) { $label = defset($label, $label); - $text[] = $this->radio($name, $value, (string) $checked === (string) $value)."".$this->label($label, $name, $value).(isset($help[$value]) ? "
".$help[$value]."
" : ''); + $helpLabel = (is_array($help)) ? vartrue($help[$value]) : $help; + $text[] = $this->radio($name, $value, (string) $checked === (string) $value)."".$this->label($label, $name, $value).(isset($helpLabel) ? "
".$helpLabel."
" : ''); } if(!$multi_line) return implode("  ", $text);