public static function thumbnails(array $thumbnails, $htmlOptions = array())
{
if (!empty($thumbnails)) {
self::addCssClass('thumbnails', $htmlOptions);
$defaultSpan = TbArray::popValue('span', $htmlOptions, 3);
$output = self::openTag('ul', $htmlOptions);
foreach ($thumbnails as $thumbnailOptions) {
if (isset($thumbnailOptions['visible']) && $thumbnailOptions['visible'] === false) {
continue;
}
// todo: consider removing the support for htmlOptions.
$options = TbArray::popValue('htmlOptions', $thumbnailOptions, array());
if (!empty($options)) {
$thumbnailOptions = TbArray::merge($options, $thumbnailOptions);
}
$thumbnailOptions['itemOptions']['span'] = TbArray::popValue('span', $thumbnailOptions, $defaultSpan);
$caption = TbArray::popValue('caption', $thumbnailOptions, '');
$captionOptions = TbArray::popValue('captionOptions', $thumbnailOptions, array());
self::addCssClass('caption', $captionOptions);
$label = TbArray::popValue('label', $thumbnailOptions);
$labelOptions = TbArray::popValue('labelOptions', $thumbnailOptions, array());
if (!empty($label)) {
$caption = self::tag('h3', $labelOptions, $label) . $caption;
}
$content = !empty($caption) ? self::tag('div', $captionOptions, $caption) : '';
$image = TbArray::popValue('image', $thumbnailOptions);
$imageOptions = TbArray::popValue('imageOptions', $thumbnailOptions, array());
$imageAlt = TbArray::popValue('alt', $imageOptions, '');
if (!empty($image)) {
$content = parent::image($image, $imageAlt, $imageOptions) . $content;
}
$url = TbArray::popValue('url', $thumbnailOptions, false);
$output .= $url !== false ? self::thumbnailLink($content, $url, $thumbnailOptions) : self::thumbnail($content, $thumbnailOptions);
}
$output .= '</ul>';
return $output;
} else {
return '';
}
}