function prepareSlides($slides, $params) { $newSlides = array(); $target = $params->get('customLinkTarget'); if (empty($target)) { $target = $params->get('linkTarget', '_self'); } $baseUri = JURI::base(true); $lightboxEngine = AriCloudCarouselHelper::getLightboxEngine($params); $lightboxGroup = uniqid('cc_'); foreach ($slides as $slide) { $isLink = !empty($slide['link']); $description = isset($slide['description']) ? $slide['description'] : ''; $title = isset($slide['title']) ? $slide['title'] : ''; $lnkAttrs = null; $imgAttrs = array('src' => $baseUri . '/' . $slide['image'], 'alt' => $description, 'title' => $title, 'class' => 'cloudcarousel'); if (!empty($slide['width'])) { $imgAttrs['width'] = $slide['width']; } if (!empty($slide['height'])) { $imgAttrs['height'] = $slide['height']; } if ($isLink) { $lnkAttrs = array('href' => $slide['link'], 'target' => $target); if ($description) { $lnkAttrs['title'] = $description; } if (!is_null($lightboxEngine)) { list($lnkAttrs, $imgAttrs) = $lightboxEngine->modifyAttrs($lnkAttrs, $imgAttrs, $lightboxGroup, $params); } else { $originalLink = $slide['link']; if (strpos($originalLink, '_target') !== false) { $uri = new JURI($originalLink); $linkTarget = $uri->getVar('_target'); if (!is_null($linkTarget)) { $uri->delVar('_target'); $lnkAttrs['target'] = $linkTarget; $lnkAttrs['href'] = $uri->toString(); } } } } $slide['lnkAttrs'] = $lnkAttrs; $slide['imgAttrs'] = $imgAttrs; $newSlides[] = $slide; } return $newSlides; }
<?php /* * ARI Cloud Carousel Joomla! module * * @package ARI Cloud Carousel Joomla! module. * @version 1.0.0 * @author ARI Soft * @copyright Copyright (c) 2010 www.ari-soft.com. All rights reserved * @license GNU/GPL (http://www.gnu.org/copyleft/gpl.html) * */ defined('_JEXEC') or die('Restricted access'); require_once dirname(__FILE__) . '/mod_aricloudcarousel/kernel/class.AriKernel.php'; AriKernel::import('CloudCarousel.CloudCarousel'); AriKernel::import('Web.HtmlHelper'); $fixedId = (bool) $params->get('fixedId', false); $carouselId = $fixedId ? 'acc_' . $module->id : uniqid('acc_', false); AriCloudCarouselHelper::initCarousel($carouselId, $params); $slides = AriCloudCarouselHelper::prepareSlides(AriCloudCarouselHelper::getSlides($params), $params); require JModuleHelper::getLayoutPath('mod_aricloudcarousel');