/** * Build Data object * * @return HTML string */ public function buildDataObject($att, $view, $i = 1) { // Get configs $configs = $this->getConfigs($view->manifest->params, $view->elementId, $view->pub, $view->master->params); $data = new \Components\Projects\Models\File($att->path, $configs->path); // Customize title $defaultTitle = $view->manifest->params->title ? str_replace('{pubtitle}', $view->pub->title, $view->manifest->params->title) : NULL; $defaultTitle = $view->manifest->params->title ? str_replace('{pubversion}', $view->pub->version_label, $defaultTitle) : NULL; // Set default title $incNum = $view->manifest->params->max > 1 ? ' (' . $i . ')' : ''; $dTitle = $defaultTitle ? $defaultTitle . $incNum : $data->get('name'); $title = $att->title && $att->title != $defaultTitle ? $att->title : $dTitle; $data->set('title', $title); $fpath = $this->getFilePath($att->path, $att->id, $configs, $att->params); $data->set('fpath', $fpath); $data->set('ordering', $i); $data->set('pub', $view->pub); $data->set('id', $att->id); $data->set('hash', $att->vcs_hash); $data->set('md5Hash', $att->content_hash); $data->set('viewer', $view->viewer); $data->set('pubPath', $configs->pubPath); $data->set('props', $view->master->block . '-' . $view->master->blockId . '-' . $view->elementId); $data->set('downloadUrl', Route::url($view->pub->link('serve') . '&el=' . $view->elementId . '&a=' . $att->id . '&download=1')); // Is attachment (image) also publication thumbnail $params = new \Hubzero\Config\Registry($att->params); $data->set('pubThumb', $params->get('pubThumb', NULL)); $data->set('suffix', $params->get('suffix', NULL)); return $data; }