function getSlides($params) { $slides = array(); $pathList = AriCloudCarouselHelper::getPathList($params->get('path')); if (count($pathList) == 0) { return $slides; } $extraFields = array(); $i18n = (bool) $params->get('i18n', false); $descrFile = trim($params->get('descrFile', '')); $processDescrFile = !empty($descrFile); $processSubDir = (bool) $params->get('subdir'); $imgNumber = intval($params->get('imgNumber', 0), 10); $images = array(); $sort = AriCloudCarouselHelper::getSortExpr($params); foreach ($pathList as $path) { if (empty($path)) { continue; } if (@is_file($path)) { $images[] = $path; $path = dirname($path); } else { $folderImages = AriFolder::files($path, '.(jpg|gif|jpeg|png|bmp|JPG|GIF|JPEG|BMP|PNG)$', $processSubDir, true, $sort); if (is_array($folderImages) && count($folderImages) > 0) { if ($imgNumber > 0 && count($folderImages) > $imgNumber) { $folderImages = array_slice($folderImages, 0, $imgNumber); } $images = array_merge($images, $folderImages); } } if ($processDescrFile) { $folderExtraFields = AriAppUtils::getExtraFieldsFromINI($path, $descrFile, $processSubDir, true, $i18n); if (is_array($folderExtraFields) && count($folderExtraFields) > 0) { $extraFields = array_merge($extraFields, $folderExtraFields); } } } $useThumbs = (bool) $params->get('imglist_useThumbs'); $cachePath = $useThumbs ? AriCloudCarouselHelper::getCachePath() : null; $thumbPath = $params->get('imglist_thumbPath'); $thumbWidth = intval($params->get('imglist_thumbWidth'), 10); $thumbHeight = intval($params->get('imglist_thumbHeight'), 10); $disableOriginal = (bool) $params->get('imglist_disableOriginal'); foreach ($images as $image) { $slide = array('src' => $image, 'image' => str_replace('\\', '/', $image)); if ($processDescrFile) { if (isset($extraFields[$image])) { $slide = array_merge($extraFields[$image], $slide); } else { $cleanImage = str_replace('/', '\\', $image); if (isset($extraFields[$cleanImage])) { $slide = array_merge($extraFields[$cleanImage], $slide); } } } if ($useThumbs) { $slide = AriCloudCarouselHelper::generateThumbnail($slide, $thumbWidth, $thumbHeight, $thumbPath, $cachePath, $disableOriginal); } $slides[] = $slide; } return $slides; }