<?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="" style="width: ',
									static::TILE_WIDTH, 'px; height: ', static::TILE_HEIGHT, 'px">';

				if ($this->show_labels)
					echo '
								<h4>', $album['caption'], '</h4>';

				echo '
							</a>
						</div>';
			}

			echo '
					</div>';
		}

		echo '
			</div>';
	}
}