$color = 'negro';
            $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')) {
예제 #2
0
    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;
                }
            }
        }
    }