public function getData(array $p_params, array $p_cols)
{
$p_params = (object) $p_params;
$dataCollection = null;
if (isset($p_params->sort)) {
$this->sort(!is_array($p_params->sort) ? array($p_params->sort) : $p_params->sort);
}
// for search by publication
if (isset($p_params->search)) {
if (@trim($p_params->search[$this->_pubColFilterIdx]) != "") {
$p = new Publication();
$p->setId(intval($p_params->search[$this->_pubColFilterIdx]));
$dataCollection = $this->_service->getThemes($p, $this->getSearchObject());
}
// @todo ?
$this->search($p_params->search);
}
$retThemes = array();
if (is_null($dataCollection)) {
$dataCollection = $this->_service->getUnassignedThemes($this->getSearchObject());
}
foreach ($dataCollection as $theme) {
$images = array();
foreach ($this->_service->getPresentationImages($theme) as $img) {
$images[] = (string) $img->getPath();
// @todo some sorting
}
$retThemes[] = array('id' => (string) $theme->getId(), 'title' => (string) $theme->getName(), 'designer' => (string) $theme->getDesigner(), 'version' => (string) $theme->getVersion(), 'subTitle' => (string) $theme->getMinorNewscoopVersion(), 'description' => (string) $theme->getDescription(), 'images' => $images, 'pubId' => isset($p) ? $p->getId() : null);
}
return $retThemes;
}