private function _renderCellInternally($request, $row, $column)
{
// If there is no object, then we want to return an empty row.
// override the assigned GridCellProvider and provide the default.
$element =& $row->getData();
if (is_null($element) && $row->getIsModified()) {
import('lib.pkp.classes.controllers.grid.GridCellProvider');
$cellProvider = new GridCellProvider();
return $cellProvider->render($request, $row, $column);
}
// Otherwise, get the cell content.
// If row defines a cell provider, use it.
$cellProvider = $row->getCellProvider();
if (!is_a($cellProvider, 'GridCellProvider')) {
// Remove reference to the row variable.
unset($cellProvider);
// Get cell provider from column.
$cellProvider = $column->getCellProvider();
}
return $cellProvider->render($request, $row, $column);
}