%PDF- %PDF-
| Direktori : /home/lightco1/public_html/plugins/content/sigplus/engines/lightbox/ |
| Current File : /home/lightco1/public_html/plugins/content/sigplus/engines/lightbox/fancybox.php |
<?php
/**
* @file
* @brief sigplus Image Gallery Plus Fancybox lightweight pop-up window engine
* @author Levente Hunyadi
* @version 1.5.0
* @remarks Copyright (C) 2009-2014 Levente Hunyadi
* @remarks Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html
* @see http://hunyadi.info.hu/projects/sigplus
*/
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
/**
* Support class for jQuery-based Fancybox pop-up window engine.
* @see http://fancybox.net
*/
class SigPlusNovoFancyboxLightboxEngine extends SigPlusNovoLightboxEngine {
public function getIdentifier() {
return 'fancybox';
}
public function getLibrary() {
return 'jquery';
}
/**
* Adds script references to the HTML head element.
* @param {string} $selector A CSS selector.
* @param $params Gallery parameters.
*/
public function addScripts($selector, SigPlusNovoGalleryParameters $params) {
// add main script
parent::addScripts($selector, $params);
// build lightbox engine options
$jsparams = array();
$jsparams['cyclic'] = $params->loop;
$jsparams['autoScale'] = $params->lightbox_autofit;
$jsparams['centerOnScroll'] = $params->lightbox_autocenter;
$jsparams = array_merge($jsparams, $params->lightbox_params);
// add document loaded event script with parameters
$selector = json_encode($selector);
$jsparams = json_encode($jsparams, JSON_FORCE_OBJECT);
$script = "(function ($) {".
"var anchors = $({$selector});".
"var data = $.makeArray(anchors).map(function (anchor) {".
"return { href: $(anchor).attr('href'), title: $('img', anchor).attr('alt') };".
"});".
"anchors.click(function (evt) {".
"evt.preventDefault();".
"$.fancybox(".
"data, $.extend({ index: anchors.index(this) }, {$jsparams})".
");".
"});".
"})(jQuery);";
$instance = SigPlusNovoEngineServices::instance();
$instance->addOnReadyScript($script);
}
}