/**
* Renders the data cell content.
*
* @param integer $row the row number (zero-based)
* @param YdActiveRecord $data the data associated with the row
*/
protected function renderDataCellContent($row, $data)
{
ob_start();
parent::renderDataCellContent($row, $data);
$parentContents = ob_get_clean();
if ($data instanceof CActiveRecord) {
$links = is_callable(array($data, 'getMenuLinks')) ? call_user_func(array($data, 'getMenuLinks')) : array();
if ($links) {
if (is_callable(array($data, 'getUrl'))) {
$this->buttonOptions['type'] = TbHtml::BUTTON_TYPE_LINK;
$this->buttonOptions['url'] = call_user_func(array($data, 'getUrl'));
}
echo '<div class="filter-container">';
$this->buttonOptions['split'] = true;
echo TbHtml::buttonDropdown($parentContents, $links, $this->buttonOptions);
echo '</div>';
} else {
$url = is_callable(array($data, 'getUrl')) ? call_user_func(array($data, 'getUrl')) : false;
if ($url) {
$this->buttonOptions['class'] = isset($this->buttonOptions['class']) ? $this->buttonOptions['class'] . ' btn' : 'btn';
echo TbHtml::link($parentContents, $url, $this->buttonOptions);
} else {
echo TbHtml::button($parentContents, $this->buttonOptions);
}
}
} else {
echo TbHtml::button($parentContents, $this->buttonOptions);
}
}