public static function radioButtonList($name, $select, $data, $htmlOptions = array())
{
$inline = TbArray::popValue('inline', $htmlOptions, false);
$separator = TbArray::popValue('separator', $htmlOptions, ' ');
$container = TbArray::popValue('container', $htmlOptions, 'div');
$containerOptions = TbArray::popValue('containerOptions', $htmlOptions, array());
$labelOptions = TbArray::popValue('labelOptions', $htmlOptions, array());
$empty = TbArray::popValue('empty', $htmlOptions);
if (isset($empty)) {
$empty = !is_array($empty) ? array('' => $empty) : $empty;
$data = TbArray::merge($empty, $data);
}
$items = array();
$baseID = $containerOptions['id'] = TbArray::popValue('baseID', $htmlOptions, parent::getIdByName($name));
$id = 0;
foreach ($data as $value => $label) {
$checked = !strcmp($value, $select);
$htmlOptions['value'] = $value;
$htmlOptions['id'] = $baseID . '_' . $id++;
if ($inline) {
$htmlOptions['label'] = $label;
self::addCssClass('radio-inline', $labelOptions);
$htmlOptions['labelOptions'] = $labelOptions;
$items[] = self::radioButton($name, $checked, $htmlOptions);
} else {
$option = self::radioButton($name, $checked, $htmlOptions);
$items[] = self::tag('div', array('class' => 'radio'), self::label($option . ' ' . $label, false, $labelOptions));
}
}
$inputs = implode($separator, $items);
return !empty($container) ? self::tag($container, $containerOptions, $inputs) : $inputs;
}