/**
* Map column headers to a proper representation in the row cell
* @param ElggEntity $entity
* @param boolean $csv
* @return array
*/
public function getRowCells($entity)
{
$row = array();
$headers = $this->getColumnHeaders();
foreach ($headers as $header => $label) {
$value = '';
switch ($header) {
default:
$value = $entity->{$header};
if (is_array($value)) {
$value = implode('; ', $value);
}
break;
case 'guid':
$value = $entity->guid;
break;
case 'icon':
$value = $entity->getIconURL();
if (!elgg_in_context('plaintext')) {
$value = elgg_view_entity_icon($entity, 'small');
}
break;
case 'title':
$value = elgg_instanceof($entity, 'object') ? $entity->title : $entity->name;
if (!elgg_in_context('plaintext')) {
$value = elgg_view('output/url', array('text' => $value, 'href' => $entity->getURL()));
}
break;
case 'time_created':
$value = date('M d, Y H:i', $entity->time_created);
break;
case 'owner_guid':
$value = '';
$owner = $entity->getOwnerEntity();
if (elgg_instanceof($owner)) {
$value = $owner->guid;
if (!elgg_in_context('plaintext')) {
$value = elgg_view('output/url', array('text' => elgg_instanceof($owner, 'object') ? $owner->title : $owner->name, 'href' => $owner->getURL()));
}
}
break;
case 'container_guid':
$value = '';
$container = $entity->getContainerEntity();
if (elgg_instanceof($container)) {
$value = $container->guid;
if (!elgg_in_context('plaintext')) {
$value = elgg_view('output/url', array('text' => elgg_instanceof($container, 'object') ? $container->title : $container->name, 'href' => $container->getURL()));
}
}
break;
}
$row[$header] = $value;
}
return elgg_trigger_plugin_hook('export:entity', 'table', array('headers' => $this->getColumnHeaders(), 'entity' => $entity), $row);
}