<?php /***************************************************************************** * AlbumIndex.php * Contains the album index template. * * Kabuki CMS (C) 2013-2015, Aaron van Geffen *****************************************************************************/ class AlbumIndex extends Template { protected $albums; protected $show_edit_buttons; protected $show_labels; protected $row_limit = 1000; const TILE_WIDTH = 400; const TILE_HEIGHT = 300; public function __construct(array $albums, $show_edit_buttons = false, $show_labels = true) { $this->albums = $albums; $this->show_edit_buttons = $show_edit_buttons; $this->show_labels = $show_labels; } public function html_main() { echo ' <div class="tiled_grid clearfix">'; foreach (array_chunk($this->albums, 3) as $photos) { echo ' <div class="tiled_row">'; foreach ($photos as $album) { echo ' <div class="landscape">'; if ($this->show_edit_buttons) echo ' <a class="edit" href="#">Edit</a>'; echo ' <a href="', $album['link'], '">'; if (isset($album['thumbnail'])) { $thumbs = []; foreach ([1, 2] as $factor) $thumbs[$factor] = $album['thumbnail']->getThumbnailUrl( static::TILE_WIDTH * $factor, static::TILE_HEIGHT * $factor, true, true); echo ' <img src="', $thumbs[1], '"' . (isset($thumbs[2]) ? ' srcset="' . $thumbs[2] . ' 2x"' : '') . ' alt="" style="width: ', static::TILE_WIDTH, 'px; height: ', static::TILE_HEIGHT, 'px">'; } else echo ' <img src="', BASEURL, '/images/nothumb.svg" alt="">'; if ($this->show_labels) echo ' <h4>', $album['caption'], '</h4>'; echo ' </a> </div>'; } echo ' </div>'; } echo ' </div>'; } }