protected function buildDimensions(SwatDetailsView $view) { $dimensions = $this->getSelectableDimensions(); if (count($dimensions) <= 1) { $view->getField('dimensions')->visible = false; return; } $list = array(); foreach ($dimensions as $dimension) { ob_start(); if ($dimension->id == $this->dimension->id) { $span_tag = new SwatHtmlTag('span'); $span_tag->setContent($dimension->title); $span_tag->display(); } else { $a_tag = new SwatHtmlTag('a'); if ($dimension->shortname == 'original') { $a_tag->href = $this->photo->getUri('original'); } else { $a_tag->href = $this->app->config->pinhole->path . 'photo/' . $this->photo->id . '/' . $dimension->shortname; } if (count($this->tag_list) > 0) { $a_tag->href .= '?' . $this->tag_list->__toString(); } $a_tag->setContent($dimension->title); $a_tag->display(); if ($dimension->shortname == 'original') { printf(' (%d × %d pixels)', $this->photo->getWidth($dimension->shortname), $this->photo->getHeight($dimension->shortname)); } } $list[] = ob_get_clean(); } $view->getField('dimensions')->getFirstRenderer()->text = implode(', ', $list); }
protected function buildPreview() { $preview = $this->ui->getWidget('preview'); $preview->width = $this->photo->getWidth('small'); $preview->height = $this->photo->getHeight('small'); $preview->image = sprintf('%s/Loader?id=%s&dimension=%s', $this->getComponentName(), $this->photo->id, 'small'); $preview->preview_width = $this->photo->getWidth('large'); $preview->preview_height = $this->photo->getHeight('large'); $preview->preview_image = sprintf('%s/Loader?id=%s&dimension=%s', $this->getComponentName(), $this->photo->id, 'large'); }