public function render(PhpRenderer $view, MediaRepresentation $media, array $options = []) { $data = $media->mediaData(); if ($data['type'] == 'photo') { $url = $data['url']; $width = $data['width']; $height = $data['height']; if (!empty($data['title'])) { $title = $data['title']; } else { $title = $url; } return sprintf('<img src="%s" width="%s" height="%s" alt="%s">', $view->escapeHtml($url), $view->escapeHtml($width), $view->escapeHtml($height), $view->escapeHtml($title)); } else { if (!empty($data['html'])) { return $data['html']; } else { $source = $media->source(); if (!$empty($data['title'])) { $title = $data['title']; } else { $title = $source; } return $view->hyperlink($title, $source); } } }
public function render(PhpRenderer $view, SitePageBlockRepresentation $block) { parse_str($this->getData($block->data(), 'query'), $query); $previewQuery = $query; $previewQuery['limit'] = 10; $previewQuery['site_id'] = $block->page()->site()->id(); $response = $this->getServiceLocator()->get('Omeka\\ApiManager')->search('items', $previewQuery); $preview = '<ul>'; foreach ($response->getContent() as $item) { $preview .= '<li>' . $item->displayTitle() . '</li>'; } $preview .= '</ul>'; $link = $view->hyperlink('browse this', $view->url('site/resource', ['controller' => 'item'], ['query' => $query], true)); return $preview . $link; }
public function render(PhpRenderer $view, MediaRepresentation $media, array $options = []) { return sprintf('<audio src="%s" controls>%s</audio>', $view->escapeHtml($media->originalUrl()), $view->hyperlink($media->filename(), $media->originalUrl())); }