$finalParams['color'] = 'negro'; } } $document->addScript(JURI::root() . 'modules/mod_artsexylightbox/artsexylightbox/js/script.v2.3.4.js'); $document->addStyleSheet(JURI::root() . 'modules/mod_artsexylightbox/artsexylightbox/css/sexylightbox.css'); } $document->addScript(JURI::root() . 'modules/mod_artsexylightbox/artsexylightbox/js/jquery.nc.js'); /** Begin inline javascript code **/ $jsCode .= '<script type="text/javascript" charset="utf-8">asljQuery(function(){asljQuery(document).ready(function(){'; /** ID for gallery **/ $id = uniqid('artgallery_', false); /** Encode input parameters **/ $imageDescrParam = $finalParams['imageDescriptions']; $finalParams['imageDescriptions'] = ''; $jsonHandler = new ART_Services_JSON(SERVICES_JSON_LOOSE_TYPE); $dFP = !empty($finalParams) ? $jsonHandler->encode($finalParams) : ''; if ($path) { if ($thumbnailPath) { $thumbs = array(); $thumb_directory_stream = @opendir(JPATH_SITE . DS . $thumbnailPath . DS); if ($thumb_directory_stream) { while ($entry = readdir($thumb_directory_stream)) { if ($entry != '.' && $entry != '..' && aslMisImage($thumbnailPath . $entry)) { $thumbs[$entry] = $entry; } } } } /** Read image descriptions **/ if ($lang && file_exists(JPATH_SITE . DS . $path . DS . 'artsexylightbox_' . $lang . '.txt')) { $file_handle = @fopen(JPATH_SITE . DS . $path . DS . 'artsexylightbox_' . $lang . '.txt', "rb");
function getSexyLightboxCode($id, $finalParams, $content = '') { $path = $finalParams['path']; $theme = $finalParams['theme']; $previewWidth = $finalParams['previewWidth']; $previewHeight = $finalParams['previewHeight']; $noConflict = $finalParams['noConflict']; $flickr = $finalParams['flickr']; $thumbnailPath = $finalParams['thumbnailPath']; $singleImage = $finalParams['singleImage']; $singleText = $finalParams['singleText']; $thumbnailPreviewCount = $finalParams['thumbnailPreviewCount']; $popup = $finalParams['popup']; $autoGenerateThumbs = $finalParams['autoGenerateThumbs']; $flickrNumberOfImages = $finalParams['flickrNumberOfImages']; $numberOfImages = $finalParams['numberOfImages']; $sort = $finalParams['sort']; if (!$flickrNumberOfImages) { $flickrNumberOfImages = 20; } $imagesCode = ''; $jsCode = '<script type="text/javascript" charset="utf-8">'; if ($noConflict) { $document =& JFactory::getDocument(); $document->addCustomTag('<script type="text/javascript" charset="utf-8">jQuery.noConflict();</script>'); } $jsonHandler = new ART_Services_JSON(SERVICES_JSON_LOOSE_TYPE); $dFP = !empty($finalParams) ? $jsonHandler->encode($finalParams) : ''; if ($path) { if ($thumbnailPath) { $thumbs = array(); $thumb_directory_stream = @opendir(JPATH_SITE . DS . $thumbnailPath . DS); if ($thumb_directory_stream) { while ($entry = readdir($thumb_directory_stream)) { if ($entry != '.' && $entry != '..' && plgContentartsexylightbox::isImage($thumbnailPath . $entry)) { $thumbs[$entry] = $entry; } } } } $file_handle = @fopen(JPATH_SITE . DS . $path . DS . "artsexylightbox.txt", "rb"); $descriptionArray = array(); if ($file_handle) { while (!feof($file_handle)) { $line_of_text = fgets($file_handle); $parts = explode('=', $line_of_text); $descriptionArray[$parts[0]] = $parts[1]; } fclose($file_handle); } $id = uniqid('artgallery_', false); $jsCode .= 'if (!window.sexylightboxEnabled) {jQuery(document).ready(function(){SexyLightbox.initialize(' . $dFP . ')});} if (!window.sexylightboxEnabled) {window.sexylightboxEnabled = true;}</script>'; $directory_stream = @opendir(JPATH_SITE . DS . $path . DS) or die("Could not open a directory stream for <i>" . JPATH_SITE . DS . $path . DS . "</i>"); $filelist = array(); while ($entry = readdir($directory_stream)) { if ($entry != '.' && $entry != '..' && plgContentartsexylightbox::isImage($path . $entry)) { $filelist[] = $entry; } } if ($sort == 'desc') { usort($filelist, 'artSLFileDescSort'); } else { usort($filelist, 'artSLFileAscSort'); } if ($thumbnailPreviewCount && $thumbnailPreviewCount > count($filelist)) { $thumbnailPreviewCount = count($filelist); } if ($singleImage) { $imagesCode .= "<a onclick='jQuery(\"a[rel*=" . $id . "]\").eq(0).click();return false;'><img class='artsexylightbox_singleimage' src='" . JURI::root() . $singleImage . "'"; if ($previewHeight) { $imagesCode .= " height='{$previewHeight}'"; } if ($previewWidth) { $imagesCode .= " width='{$previewWidth}' "; } $imagesCode .= " /></a>"; } else { if ($singleText) { $imagesCode .= "<a onclick='jQuery(\"a[rel*=" . $id . "]\").eq(0).click();return false;'><span class='artsexylightbox_singletext'>" . $singleText . "</span></a>"; } else { if ($thumbnailPreviewCount && $thumbnailPreviewCount > 0) { $thumbsCount = 0; while ((list($key, $entry) = each($filelist)) && $thumbsCount < $thumbnailPreviewCount) { if ($entry != '.' && $entry != '..' && plgContentartsexylightbox::isImage($path . $entry)) { $imagePath = JPATH_SITE . DS . $path . DS . $entry; if ($thumbs && isset($thumbs[$entry])) { $imagesCode .= "<a onclick='jQuery(\"a[rel*=" . $id . "]\").eq(0).click();return false;'><img class='artsexylightbox_singleimage' src='" . JURI::root() . $thumbnailPath . '/' . $entry . "'"; } else { $imagesCode .= "<a onclick='jQuery(\"a[rel*=" . $id . "]\").eq(0).click();return false;'><img class='artsexylightbox_singleimage' src='" . JURI::root() . $path . '/' . $entry . "'"; } if ($previewHeight) { $imagesCode .= " height='{$previewHeight}'"; } if ($previewWidth) { $imagesCode .= " width='{$previewWidth}' "; } $imagesCode .= " /></a>"; $thumbsCount++; } } } } } reset($filelist); $imagesCount = 0; while ((list($key, $entry) = each($filelist)) && ($numberOfImages > 0 ? $imagesCount < $numberOfImages : 1 == 1)) { if ($entry != '.' && $entry != '..' && plgContentartsexylightbox::isImage($path . $entry)) { $title = ''; if (isset($descriptionArray[$entry])) { $title = $descriptionArray[$entry]; } $imagesCode .= "<a href='" . JURI::root() . "{$path}/{$entry}' rel='sexylightbox[" . $id . "]' class='artsexylightboxpreview' "; if ($title) { $imagesCode .= " title='" . $title . "'"; } $imagesCode .= "><img class='artsexylightbox' "; if ($singleImage || $thumbnailPreviewCount || $singleText) { $imagesCode .= " style='display:none;'"; } $imagesCode .= " src='"; $imagePath = JPATH_SITE . DS . $path . DS . $entry; if ($thumbs && isset($thumbs[$entry])) { $imagesCode .= JURI::root() . "{$thumbnailPath}/{$entry}' "; } else { if (@is_readable($imagePath) && ($previewWidth > 0 || $previewHeight > 0) && isset($autoGenerateThumbs) && $autoGenerateThumbs != 'false') { if (!plgContentartsexylightbox::isExtensionsLoaded()) { plgContentartsexylightbox::loadExtensions(); } if (!plgContentartsexylightbox::isExtensionsLoaded()) { $imagesCode .= JURI::root() . "{$path}/{$entry}' "; } else { $imagePathInfo = pathinfo($imagePath); $generatedThumbName = sprintf('%s_%s_%s.%s', md5('artsexythumb_' . $imagePath), $previewWidth, $previewHeight, $imagePathInfo['extension']); if (!file_exists(JPATH_SITE . DS . 'images' . DS . 'artsexylightbox_tmp')) { mkdir(JPATH_SITE . DS . 'images' . DS . 'artsexylightbox_tmp'); } $thumbPath = JPATH_SITE . DS . 'images' . DS . 'artsexylightbox_tmp' . DS . $generatedThumbName; if (!@file_exists($thumbPath)) { $img = asido::image($imagePath, $thumbPath); if (!$previewWidth) { Asido::height($img, $previewHeight); } else { if (!$previewHeight) { Asido::width($img, $previewWidth); } else { Asido::resize($img, $previewWidth, $previewHeight, ASIDO_RESIZE_STRETCH); } } $img->save(ASIDO_OVERWRITE_ENABLED); } $imagesCode .= JURI::root() . "images/artsexylightbox_tmp/{$generatedThumbName}' "; } } else { $imagesCode .= JURI::root() . "{$path}/{$entry}' "; } } if ($previewHeight) { $imagesCode .= " height='{$previewHeight}' "; } if ($previewWidth) { $imagesCode .= "width='{$previewWidth}' "; } $imagesCode .= "/></a>"; } $imagesCount++; } if (isset($popup) && $popup == 'false') { return $imagesCode; } return $imagesCode . $jsCode; } else { if ($flickr) { $flickrApiKey = $finalParams['flickrApiKey']; $flickrSet = $finalParams['flickrSet']; $flickrThumbSize = $finalParams['flickrThumbSize']; if (!isset($flickrThumbSize)) { $flickrThumbSize = "s"; } $flickrImageSize = $finalParams['flickrImageSize']; if (!isset($flickrImageSize)) { $flickrImageSize = "m"; } $id = uniqid('artgallery_', false); if (isset($flickrApiKey) && isset($flickrSet)) { $imagesCode .= "<div id='{$id}' class='artflickrgallery'></div>"; $jsCode .= 'jQuery(document).ready(function(){jQuery("#' . $id . '").flickr({find: "' . $id . '", thumb_size:"' . $flickrThumbSize . '",size:"' . $flickrImageSize . '",per_page:' . $flickrNumberOfImages . ',api_key:"' . $flickrApiKey . '",photoset_id:"' . $flickrSet . '", user_id: "' . $flickr . '", type: "photoset", callback: function(el) {SexyLightbox.initialize(' . $dFP . ')} })})</script>'; } else { $flickrLargeImages = $finalParams['flickrLargeImages']; $flickrSmallThumbs = $finalParams['flickrSmallThumbs']; $jsCode .= 'if (!window.sexylightboxEnabled) {jQuery(document).ready(function(){SexyLightbox.initialize(' . $dFP . ')});} if (!window.sexylightboxEnabled) {window.sexylightboxEnabled = true;}</script>'; if (strstr($flickr, ',')) { $ids = explode(',', $flickr); } else { $id = $flickr; } if ($id) { $url = 'http://api.flickr.com/services/feeds/photos_public.gne?format=php_serial&id=' . $id; } else { $url = 'http://api.flickr.com/services/feeds/photos_public.gne?format=php_serial&ids=' . $ids; } if ($fp = fopen($url, 'r')) { $content = ''; while ($line = fread($fp, 1024)) { $content .= $line; } $rsp_obj = unserialize($content); $i = 1; foreach ($rsp_obj['items'] as $image) { if ($i > $flickrNumberOfImages) { break; } $title = $image['title']; $largeImagePath = $image['m_url']; $smallThumbPath = $image['m_url']; if ($flickrLargeImages) { $largeImagePath = $image['l_url']; } if ($flickrSmallThumbs) { $smallThumbPath = $image['t_url']; } $imagesCode .= "<a href='" . $largeImagePath . "' rel='sexylightbox[" . $id . "]' class='artsexylightboxpreview' "; if ($title) { $imagesCode .= "title='" . $title . "'"; } $imagesCode .= "><img class='artsexylightbox' src='" . $smallThumbPath . "'"; if ($previewHeight) { $imagesCode .= " height='{$previewHeight}' "; } if ($previewWidth) { $imagesCode .= "width='{$previewWidth}' "; } $imagesCode .= "/></a>"; $i++; } } } if (isset($popup) && $popup == 'false') { return $imagesCode; } return $imagesCode . $jsCode; } else { if (isset($content) && !empty($content)) { $theme = $finalParams['theme']; $width = $finalParams['width']; $height = $finalParams['height']; $background = $finalParams['background']; $modal = $finalParams['modal']; $text = $finalParams['text']; $title = $finalParams['title']; $hideContent = $finalParams['hideContent']; $id = uniqid('artinline_', false); $url = "#TB_inline?inlineId={$id}"; if (!$height) { $height = "100"; } if (!$width) { $width = "300"; } if (isset($height) && !empty($height)) { $url .= "&height={$height}"; } if (isset($width) && !empty($width)) { $url .= "&width={$width}"; } if (isset($modal) && !empty($modal)) { $url .= "&modal={$modal}"; } $inlineCode = "<span id='{$id}'>{$content}</span><a href='{$url}' rel='sexylightbox' title='{$title}'>{$text}</a>"; $jsCode .= 'jQuery(document).ready(function(){SexyLightbox.initialize(' . $dFP . ');'; if ($hideContent) { $jsCode .= 'document.getElementById("' . $id . '").style.display = "none";'; } $jsCode .= '}); if (!window.sexylightboxEnabled) {window.sexylightboxEnabled = true;}</script>'; return $jsCode . $inlineCode; } else { $jsCode .= 'if (!window.sexylightboxEnabled) {jQuery(document).ready(function(){SexyLightbox.initialize(' . $dFP . ')});} if (!window.sexylightboxEnabled) {window.sexylightboxEnabled = true;}</script>'; return $jsCode; } } } }