From e3e32378e9c75303d32c7c7af92852884f73afa0 Mon Sep 17 00:00:00 2001 From: Silvio Date: Tue, 24 Aug 2010 15:53:45 -0300 Subject: Using radio buttons for field and subfield selection on apps --- classes/helpers/CinisisDisplayHelper.php | 59 +++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) (limited to 'classes/helpers') diff --git a/classes/helpers/CinisisDisplayHelper.php b/classes/helpers/CinisisDisplayHelper.php index 2f8fa65..0eb8d28 100644 --- a/classes/helpers/CinisisDisplayHelper.php +++ b/classes/helpers/CinisisDisplayHelper.php @@ -407,7 +407,7 @@ class CinisisDisplayHelper { * @param $items * Array with items to be merged. */ - protected function webMergeCsvItems($items) { + protected static function webMergeCsvItems($items) { if (!empty($items)) { self::csv(implode(';', $items)); } @@ -415,4 +415,61 @@ class CinisisDisplayHelper { self::csv(); } } + + /** + * Renders a radio button. + * + * @param $name + * Radio name. + * + * @param $value + * Radio value. + * + * @param $caption + * Radio caption. + * + * @param $checked + * Whether the radio is checked. + * + * @return + * HTML rendered radio button. + */ + protected static function webRadio($name, $value, $caption, $checked = NULL) { + return ' '. $caption .'
'; + } + + /** + * Draws a combination of radio buttons. + * + * @param $name + * Radio names. + * + * @param $data + * Array with values and captions. + * + * @param $checked + * Index of the selected option. + */ + protected static function webRadios($name, $data, $checked = NULL) { + $radios = '
'; + $count = 0; + + foreach ($data as $key => $value) { + if ($count++ > 5) { + $count = 0; + $radios .= ''; + } + + if ($key == $checked) { + $radios .= self::webRadio($name, $key, $value, 'checked'); + } + else { + $radios .= self::webRadio($name, $key, $value); + } + } + + $radios .= '
'; + + return $radios; + } } -- cgit v1.2.3