feat(deployed): add JoomlaWorks Simple Image Gallery 3.6.0 (no-source, vetted live)
JoomlaWorks Simple Image Gallery content plugin; unmapped -> deployed files. Signed-off-by: LÁZÁR Imre <imre@illusion.hu> Assisted-by: claude-code@claude-opus-4-8
BIN
deployed/jw_sig/media/jw_sig/SIG_300x94.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
38
deployed/jw_sig/plugins/content/jw_sig/_jw_sig.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<extension version="2.5" type="plugin" group="content" method="upgrade">
|
||||||
|
<name>Simple Image Gallery (by JoomlaWorks)</name>
|
||||||
|
<author>JoomlaWorks</author>
|
||||||
|
<authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail>
|
||||||
|
<authorUrl>www.joomlaworks.net</authorUrl>
|
||||||
|
<copyright>Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.</copyright>
|
||||||
|
<creationDate>January 29th, 2018</creationDate>
|
||||||
|
<license>https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
|
||||||
|
<version>3.6.0</version>
|
||||||
|
<description>JW_PLG_SIG_XML_DESC</description>
|
||||||
|
<!-- Parameters -->
|
||||||
|
<config>
|
||||||
|
<fields name="params">
|
||||||
|
<fieldset name="basic">
|
||||||
|
<field name="galleries_rootfolder" type="text" default="images" label="JW_PLG_SIG_ROOTFOLDER" description="JW_PLG_SIG_ROOTFOLDER_DESC" />
|
||||||
|
<field name="thb_width" type="text" default="200" size="3" label="JW_PLG_SIG_TW" description="JW_PLG_SIG_TW_DESC" />
|
||||||
|
<field name="thb_height" type="text" default="160" size="3" label="JW_PLG_SIG_TH" description="JW_PLG_SIG_TH_DESC" />
|
||||||
|
<field name="jpg_quality" type="text" default="80" size="3" label="JW_PLG_SIG_TQ" description="JW_PLG_SIG_TQ_DESC" />
|
||||||
|
<field name="cache_expire_time" type="text" default="3600" size="3" label="JW_PLG_SIG_TCEXP" description="JW_PLG_SIG_TCEXP_DESC" />
|
||||||
|
<field name="memoryLimit" type="text" default="" size="3" label="JW_PLG_SIG_ML" description="JW_PLG_SIG_ML_DESC" />
|
||||||
|
</fieldset>
|
||||||
|
</fields>
|
||||||
|
</config>
|
||||||
|
<!-- Files -->
|
||||||
|
<files folder="plugin" destination="jw_sig">
|
||||||
|
<filename plugin="jw_sig">jw_sig.php</filename>
|
||||||
|
<filename plugin="jw_sig">jw_sig.xml</filename>
|
||||||
|
<folder>jw_sig</folder>
|
||||||
|
</files>
|
||||||
|
<languages folder="plugin">
|
||||||
|
<language tag="en-GB">language/en-GB/en-GB.plg_content_jw_sig.ini</language>
|
||||||
|
<language tag="en-GB">language/en-GB/en-GB.plg_content_jw_sig.sys.ini</language>
|
||||||
|
</languages>
|
||||||
|
<updateservers>
|
||||||
|
<server type="extension" priority="1" name="Simple Image Gallery">https://cdn.joomlaworks.org/updates/sig.xml</server>
|
||||||
|
</updateservers>
|
||||||
|
</extension>
|
||||||
320
deployed/jw_sig/plugins/content/jw_sig/jw_sig.php
Normal file
@ -0,0 +1,320 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @version 3.6.0
|
||||||
|
* @package Simple Image Gallery (plugin)
|
||||||
|
* @author JoomlaWorks - http://www.joomlaworks.net
|
||||||
|
* @copyright Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
|
||||||
|
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
// no direct access
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
jimport('joomla.plugin.plugin');
|
||||||
|
if (version_compare(JVERSION, '1.6.0', 'ge')) {
|
||||||
|
jimport('joomla.html.parameter');
|
||||||
|
}
|
||||||
|
|
||||||
|
class plgContentJw_sig extends JPlugin
|
||||||
|
{
|
||||||
|
|
||||||
|
// JoomlaWorks reference parameters
|
||||||
|
public $plg_name = "jw_sig";
|
||||||
|
public $plg_tag = "gallery";
|
||||||
|
public $plg_version = "3.6.0";
|
||||||
|
public $plg_copyrights_start = "\n\n<!-- JoomlaWorks \"Simple Image Gallery\" Plugin (v3.6.0) starts here -->\n";
|
||||||
|
public $plg_copyrights_end = "\n<!-- JoomlaWorks \"Simple Image Gallery\" Plugin (v3.6.0) ends here -->\n\n";
|
||||||
|
|
||||||
|
public function __construct(&$subject, $params)
|
||||||
|
{
|
||||||
|
parent::__construct($subject, $params);
|
||||||
|
|
||||||
|
// Define the DS constant (b/c)
|
||||||
|
if (!defined('DS')) {
|
||||||
|
define('DS', DIRECTORY_SEPARATOR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Joomla 1.5
|
||||||
|
public function onPrepareContent(&$row, &$params, $page = 0)
|
||||||
|
{
|
||||||
|
$this->renderSimpleImageGallery($row, $params, $page = 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Joomla 2.5+
|
||||||
|
public function onContentPrepare($context, &$row, &$params, $page = 0)
|
||||||
|
{
|
||||||
|
$this->renderSimpleImageGallery($row, $params, $page = 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// The main function
|
||||||
|
public function renderSimpleImageGallery(&$row, &$params, $page = 0)
|
||||||
|
{
|
||||||
|
// API
|
||||||
|
jimport('joomla.filesystem.file');
|
||||||
|
$app = JFactory::getApplication();
|
||||||
|
$document = JFactory::getDocument();
|
||||||
|
|
||||||
|
$tmpl = JRequest::getCmd('tmpl');
|
||||||
|
$print = JRequest::getCmd('print');
|
||||||
|
|
||||||
|
// Assign paths
|
||||||
|
$sitePath = JPATH_SITE;
|
||||||
|
$siteUrl = JURI::root(true);
|
||||||
|
if (version_compare(JVERSION, '1.6.0', 'ge')) {
|
||||||
|
$pluginLivePath = $siteUrl.'/plugins/content/'.$this->plg_name.'/'.$this->plg_name;
|
||||||
|
$defaultImagePath = 'images';
|
||||||
|
} else {
|
||||||
|
$pluginLivePath = $siteUrl.'/plugins/content/'.$this->plg_name;
|
||||||
|
$defaultImagePath = 'images/stories';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if plugin is enabled
|
||||||
|
if (JPluginHelper::isEnabled('content', $this->plg_name) == false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bail out if the page format is not what we want
|
||||||
|
$allowedFormats = array('', 'html', 'feed', 'json');
|
||||||
|
if (!in_array(JRequest::getCmd('format'), $allowedFormats)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simple performance check to determine whether plugin should process further
|
||||||
|
if (JString::strpos($row->text, $this->plg_tag) === false) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// expression to search for
|
||||||
|
$regex = "#{".$this->plg_tag."}(.*?){/".$this->plg_tag."}#is";
|
||||||
|
|
||||||
|
// Find all instances of the plugin and put them in $matches
|
||||||
|
preg_match_all($regex, $row->text, $matches);
|
||||||
|
|
||||||
|
// Number of plugins
|
||||||
|
$count = count($matches[0]);
|
||||||
|
|
||||||
|
// Plugin only processes if there are any instances of the plugin in the text
|
||||||
|
if (!$count) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load the plugin language file the proper way
|
||||||
|
JPlugin::loadLanguage('plg_content_'.$this->plg_name, JPATH_ADMINISTRATOR);
|
||||||
|
|
||||||
|
// Check for basic requirements
|
||||||
|
if (!extension_loaded('gd') && !function_exists('gd_info')) {
|
||||||
|
JError::raiseNotice('', JText::_('JW_PLG_SIG_NOTICE_01'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!is_writable($sitePath.'/cache')) {
|
||||||
|
JError::raiseNotice('', JText::_('JW_PLG_SIG_NOTICE_02'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if Simple Image Gallery Pro is present and mute
|
||||||
|
if (JPluginHelper::isEnabled('content', 'jw_sigpro') == true) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if Simple Image Gallery Free (old) is present and show a warning
|
||||||
|
if (JPluginHelper::isEnabled('content', 'jw_simpleImageGallery') == true) {
|
||||||
|
JError::raiseNotice('', JText::_('JW_PLG_SIG_NOTICE_OLD_SIG'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------- Get plugin parameters -----------------------------------
|
||||||
|
|
||||||
|
// Get plugin info
|
||||||
|
$plugin = JPluginHelper::getPlugin('content', $this->plg_name);
|
||||||
|
|
||||||
|
// Control external parameters and set variable for controlling plugin layout within modules
|
||||||
|
if (!$params) {
|
||||||
|
$params = class_exists('JParameter') ? new JParameter(null) : new JRegistry(null);
|
||||||
|
}
|
||||||
|
if (is_string($params)) {
|
||||||
|
$params = class_exists('JParameter') ? new JParameter($params) : new JRegistry($params);
|
||||||
|
}
|
||||||
|
$parsedInModule = $params->get('parsedInModule');
|
||||||
|
|
||||||
|
$pluginParams = class_exists('JParameter') ? new JParameter($plugin->params) : new JRegistry($plugin->params);
|
||||||
|
|
||||||
|
$galleries_rootfolder = ($params->get('galleries_rootfolder')) ? $params->get('galleries_rootfolder') : $pluginParams->get('galleries_rootfolder', $defaultImagePath);
|
||||||
|
$popup_engine = 'jquery_fancybox';
|
||||||
|
$jQueryHandling = $pluginParams->get('jQueryHandling', '1.12.4');
|
||||||
|
$thb_template = 'Classic';
|
||||||
|
$thb_width = (!is_null($params->get('thb_width', null))) ? $params->get('thb_width') : $pluginParams->get('thb_width', 200);
|
||||||
|
$thb_height = (!is_null($params->get('thb_height', null))) ? $params->get('thb_height') : $pluginParams->get('thb_height', 160);
|
||||||
|
$smartResize = 1;
|
||||||
|
$jpg_quality = $pluginParams->get('jpg_quality', 80);
|
||||||
|
$showcaptions = 0;
|
||||||
|
$cache_expire_time = $pluginParams->get('cache_expire_time', 3600) * 60; // Cache expiration time in minutes
|
||||||
|
// Advanced
|
||||||
|
$memoryLimit = (int)$pluginParams->get('memoryLimit');
|
||||||
|
if ($memoryLimit) {
|
||||||
|
ini_set("memory_limit", $memoryLimit."M");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cleanups
|
||||||
|
// Remove first and last slash if they exist
|
||||||
|
if (substr($galleries_rootfolder, 0, 1) == '/') {
|
||||||
|
$galleries_rootfolder = substr($galleries_rootfolder, 1);
|
||||||
|
}
|
||||||
|
if (substr($galleries_rootfolder, -1, 1) == '/') {
|
||||||
|
$galleries_rootfolder = substr($galleries_rootfolder, 0, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Includes
|
||||||
|
require_once dirname(__FILE__).'/'.$this->plg_name.'/includes/helper.php';
|
||||||
|
|
||||||
|
// Other assignments
|
||||||
|
$transparent = $pluginLivePath.'/includes/images/transparent.gif';
|
||||||
|
|
||||||
|
// When used with K2 extra fields
|
||||||
|
if (!isset($row->title)) {
|
||||||
|
$row->title = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Variable cleanups for K2
|
||||||
|
if (JRequest::getCmd('format') == 'raw') {
|
||||||
|
$this->plg_copyrights_start = '';
|
||||||
|
$this->plg_copyrights_end = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------- Prepare the output -----------------------------------
|
||||||
|
|
||||||
|
// Process plugin tags
|
||||||
|
if (preg_match_all($regex, $row->text, $matches, PREG_PATTERN_ORDER) > 0) {
|
||||||
|
|
||||||
|
// start the replace loop
|
||||||
|
foreach ($matches[0] as $key => $match) {
|
||||||
|
$tagcontent = preg_replace("/{.+?}/", "", $match);
|
||||||
|
$tagcontent = str_replace(array('"','\'','`'), array('"',''','`'), $tagcontent); // Address potential XSS attacks
|
||||||
|
$tagcontent = trim(strip_tags($tagcontent));
|
||||||
|
|
||||||
|
if (strpos($tagcontent, ':')!==false) {
|
||||||
|
$tagparams = explode(':', $tagcontent);
|
||||||
|
$galleryFolder = $tagparams[0];
|
||||||
|
} else {
|
||||||
|
$galleryFolder = $tagcontent;
|
||||||
|
}
|
||||||
|
|
||||||
|
// HTML & CSS assignments
|
||||||
|
$srcimgfolder = $galleries_rootfolder.'/'.$galleryFolder;
|
||||||
|
$gal_id = substr(md5($key.$srcimgfolder), 1, 10);
|
||||||
|
|
||||||
|
// Render the gallery
|
||||||
|
$gallery = SimpleImageGalleryHelper::renderGallery($srcimgfolder, $thb_width, $thb_height, $smartResize, $jpg_quality, $cache_expire_time, $gal_id);
|
||||||
|
|
||||||
|
if (!$gallery) {
|
||||||
|
JError::raiseNotice('', JText::_('JW_PLG_SIG_NOTICE_03').' '.$srcimgfolder);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// CSS & JS includes: Append head includes, but not when we're outputing raw content (like in K2)
|
||||||
|
if (JRequest::getCmd('format') == '' || JRequest::getCmd('format') == 'html') {
|
||||||
|
|
||||||
|
// Initiate variables
|
||||||
|
$relName = '';
|
||||||
|
$extraClass = '';
|
||||||
|
$extraWrapperClass = '';
|
||||||
|
$legacyHeadIncludes = '';
|
||||||
|
$customLinkAttributes = '';
|
||||||
|
|
||||||
|
$popupPath = "{$pluginLivePath}/includes/js/{$popup_engine}";
|
||||||
|
$popupRequire = dirname(__FILE__).'/'.$this->plg_name.'/includes/js/'.$popup_engine.'/popup.php';
|
||||||
|
|
||||||
|
if (file_exists($popupRequire) && is_readable($popupRequire)) {
|
||||||
|
require $popupRequire;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (version_compare(JVERSION, '1.6.0', 'ge')) {
|
||||||
|
JHtml::_('behavior.framework');
|
||||||
|
} else {
|
||||||
|
JHTML::_('behavior.mootools');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($stylesheets)) {
|
||||||
|
foreach ($stylesheets as $stylesheet) {
|
||||||
|
if (substr($stylesheet, 0, 4) == 'http' || substr($stylesheet, 0, 2) == '//') {
|
||||||
|
$document->addStyleSheet($stylesheet);
|
||||||
|
} else {
|
||||||
|
$document->addStyleSheet($popupPath.'/'.$stylesheet);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($stylesheetDeclarations)) {
|
||||||
|
foreach ($stylesheetDeclarations as $stylesheetDeclaration) {
|
||||||
|
$document->addStyleDeclaration($stylesheetDeclaration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (strpos($popup_engine, 'jquery_') !== false && $jQueryHandling != 0) {
|
||||||
|
if (version_compare(JVERSION, '3.0', 'ge')!==false) {
|
||||||
|
JHtml::_('jquery.framework');
|
||||||
|
} else {
|
||||||
|
$document->addScript('https://cdnjs.cloudflare.com/ajax/libs/jquery/'.$jQueryHandling.'/jquery.min.js');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($scripts)) {
|
||||||
|
foreach ($scripts as $script) {
|
||||||
|
if (substr($script, 0, 4) == 'http' || substr($script, 0, 2) == '//') {
|
||||||
|
$document->addScript($script);
|
||||||
|
} else {
|
||||||
|
$document->addScript($popupPath.'/'.$script);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($scriptDeclarations)) {
|
||||||
|
foreach ($scriptDeclarations as $scriptDeclaration) {
|
||||||
|
$document->addScriptDeclaration($scriptDeclaration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($legacyHeadIncludes) {
|
||||||
|
$document->addCustomTag($this->plg_copyrights_start.$legacyHeadIncludes.$this->plg_copyrights_end);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($extraClass) {
|
||||||
|
$extraClass = ' '.$extraClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($extraWrapperClass) {
|
||||||
|
$extraWrapperClass = ' '.$extraWrapperClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($customLinkAttributes) {
|
||||||
|
$customLinkAttributes = ' '.$customLinkAttributes;
|
||||||
|
}
|
||||||
|
|
||||||
|
$pluginCSS = SimpleImageGalleryHelper::getTemplatePath($this->plg_name, 'css/template.css', $thb_template);
|
||||||
|
$pluginCSS = $pluginCSS->http;
|
||||||
|
$document->addStyleSheet($pluginCSS.'?v='.$this->plg_version);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Print output
|
||||||
|
$isPrintPage = ($tmpl == "component" && $print !== false) ? true : false;
|
||||||
|
|
||||||
|
// Fetch the template
|
||||||
|
ob_start();
|
||||||
|
$templatePath = SimpleImageGalleryHelper::getTemplatePath($this->plg_name, 'default.php', $thb_template);
|
||||||
|
$templatePath = $templatePath->file;
|
||||||
|
include $templatePath;
|
||||||
|
$getTemplate = $this->plg_copyrights_start.ob_get_contents().$this->plg_copyrights_end;
|
||||||
|
ob_end_clean();
|
||||||
|
|
||||||
|
// Output
|
||||||
|
$plg_html = $getTemplate;
|
||||||
|
|
||||||
|
// Do the replace
|
||||||
|
$row->text = preg_replace("#{".$this->plg_tag."}".preg_quote($tagcontent)."{/".$this->plg_tag."}#s", $plg_html, $row->text);
|
||||||
|
} // end foreach
|
||||||
|
|
||||||
|
// Global head includes
|
||||||
|
if (JRequest::getCmd('format') == '' || JRequest::getCmd('format') == 'html') {
|
||||||
|
$document->addScript($pluginLivePath.'/includes/js/behaviour.js?v='.$this->plg_version);
|
||||||
|
}
|
||||||
|
} // end if
|
||||||
|
} // END FUNCTION
|
||||||
|
} // END CLASS
|
||||||
38
deployed/jw_sig/plugins/content/jw_sig/jw_sig.xml
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<extension version="2.5" type="plugin" group="content" method="upgrade">
|
||||||
|
<name>Simple Image Gallery (by JoomlaWorks)</name>
|
||||||
|
<author>JoomlaWorks</author>
|
||||||
|
<authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail>
|
||||||
|
<authorUrl>www.joomlaworks.net</authorUrl>
|
||||||
|
<copyright>Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.</copyright>
|
||||||
|
<creationDate>January 29th, 2018</creationDate>
|
||||||
|
<license>https://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
|
||||||
|
<version>3.6.0</version>
|
||||||
|
<description>JW_PLG_SIG_XML_DESC</description>
|
||||||
|
<!-- Parameters -->
|
||||||
|
<config>
|
||||||
|
<fields name="params">
|
||||||
|
<fieldset name="basic">
|
||||||
|
<field name="galleries_rootfolder" type="text" default="images" label="JW_PLG_SIG_ROOTFOLDER" description="JW_PLG_SIG_ROOTFOLDER_DESC" />
|
||||||
|
<field name="thb_width" type="text" default="200" size="3" label="JW_PLG_SIG_TW" description="JW_PLG_SIG_TW_DESC" />
|
||||||
|
<field name="thb_height" type="text" default="160" size="3" label="JW_PLG_SIG_TH" description="JW_PLG_SIG_TH_DESC" />
|
||||||
|
<field name="jpg_quality" type="text" default="80" size="3" label="JW_PLG_SIG_TQ" description="JW_PLG_SIG_TQ_DESC" />
|
||||||
|
<field name="cache_expire_time" type="text" default="3600" size="3" label="JW_PLG_SIG_TCEXP" description="JW_PLG_SIG_TCEXP_DESC" />
|
||||||
|
<field name="memoryLimit" type="text" default="" size="3" label="JW_PLG_SIG_ML" description="JW_PLG_SIG_ML_DESC" />
|
||||||
|
</fieldset>
|
||||||
|
</fields>
|
||||||
|
</config>
|
||||||
|
<!-- Files -->
|
||||||
|
<files folder="plugin" destination="jw_sig">
|
||||||
|
<filename plugin="jw_sig">jw_sig.php</filename>
|
||||||
|
<filename plugin="jw_sig">jw_sig.xml</filename>
|
||||||
|
<folder>jw_sig</folder>
|
||||||
|
</files>
|
||||||
|
<languages folder="plugin">
|
||||||
|
<language tag="en-GB">language/en-GB/en-GB.plg_content_jw_sig.ini</language>
|
||||||
|
<language tag="en-GB">language/en-GB/en-GB.plg_content_jw_sig.sys.ini</language>
|
||||||
|
</languages>
|
||||||
|
<updateservers>
|
||||||
|
<server type="extension" priority="1" name="Simple Image Gallery">https://cdn.joomlaworks.org/updates/sig.xml</server>
|
||||||
|
</updateservers>
|
||||||
|
</extension>
|
||||||
BIN
deployed/jw_sig/plugins/content/jw_sig/jw_sig/.DS_Store
vendored
Normal file
BIN
deployed/jw_sig/plugins/content/jw_sig/jw_sig/includes/.DS_Store
vendored
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
/**
|
||||||
|
* @version 3.0.1
|
||||||
|
* @package Simple Image Gallery (plugin)
|
||||||
|
* @author JoomlaWorks - http://www.joomlaworks.net
|
||||||
|
* @copyright Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved.
|
||||||
|
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* This stylesheet is used to hide galleries on page print outs */
|
||||||
|
@media print {
|
||||||
|
.sigFreeContainer {display:none;}
|
||||||
|
.sigFreePrintMessage {display:block;color:#999;font-size:14px;padding:8px 0;}
|
||||||
|
}
|
||||||
@ -0,0 +1,293 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @version 3.6.0
|
||||||
|
* @package Simple Image Gallery (plugin)
|
||||||
|
* @author JoomlaWorks - http://www.joomlaworks.net
|
||||||
|
* @copyright Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
|
||||||
|
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
// no direct access
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
class SimpleImageGalleryHelper
|
||||||
|
{
|
||||||
|
public static function renderGallery($srcimgfolder, $thb_width, $thb_height, $smartResize, $jpg_quality, $cache_expire_time, $gal_id)
|
||||||
|
{
|
||||||
|
// API
|
||||||
|
jimport('joomla.filesystem.folder');
|
||||||
|
|
||||||
|
// Path assignment
|
||||||
|
$sitePath = JPATH_SITE.'/';
|
||||||
|
if (JRequest::getCmd('format')=='feed') {
|
||||||
|
$siteUrl = JURI::root(true).'';
|
||||||
|
} else {
|
||||||
|
$siteUrl = JURI::root(true).'/';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal parameters
|
||||||
|
$prefix = "jw_sig_cache_";
|
||||||
|
|
||||||
|
// Set the cache folder
|
||||||
|
$cacheFolderPath = JPATH_SITE.'/cache/jw_sig';
|
||||||
|
if (file_exists($cacheFolderPath) && is_dir($cacheFolderPath)) {
|
||||||
|
// all OK
|
||||||
|
} else {
|
||||||
|
mkdir($cacheFolderPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the source folder exists and read it
|
||||||
|
$srcFolder = JFolder::files($sitePath.$srcimgfolder);
|
||||||
|
|
||||||
|
// Proceed if the folder is OK or fail silently
|
||||||
|
if (!$srcFolder) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Loop through the source folder for images
|
||||||
|
$fileTypes = array('jpg', 'jpeg', 'gif', 'png');
|
||||||
|
// Create an array of file types
|
||||||
|
$found = array();
|
||||||
|
// Create an array for matching files
|
||||||
|
foreach ($srcFolder as $srcImage) {
|
||||||
|
$fileInfo = pathinfo($srcImage);
|
||||||
|
if (array_key_exists('extension', $fileInfo) && in_array(strtolower($fileInfo['extension']), $fileTypes)) {
|
||||||
|
$found[] = $srcImage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bail out if there are no images found
|
||||||
|
if (count($found) == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Sort array
|
||||||
|
sort($found);
|
||||||
|
|
||||||
|
// Initiate array to hold gallery
|
||||||
|
$gallery = array();
|
||||||
|
|
||||||
|
// Loop through the image file list
|
||||||
|
foreach ($found as $key => $filename) {
|
||||||
|
|
||||||
|
// Determine thumb image filename
|
||||||
|
if (strtolower(substr($filename, -4, 4)) == 'jpeg') {
|
||||||
|
$thumbfilename = substr($filename, 0, -4).'jpg';
|
||||||
|
} elseif (strtolower(substr($filename, -3, 3)) == 'gif' || strtolower(substr($filename, -3, 3)) == 'png' || strtolower(substr($filename, -3, 3)) == 'jpg') {
|
||||||
|
$thumbfilename = substr($filename, 0, -3).'jpg';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Object to hold each image elements
|
||||||
|
$gallery[$key] = new JObject;
|
||||||
|
|
||||||
|
// Assign source image and path to a variable
|
||||||
|
$original = $sitePath.$srcimgfolder.'/'.$filename;
|
||||||
|
|
||||||
|
// Check if thumb image exists already
|
||||||
|
$thumbimage = $cacheFolderPath.'/'.$prefix.$gal_id.'_'.strtolower(self::cleanThumbName($thumbfilename));
|
||||||
|
|
||||||
|
if (file_exists($thumbimage) && is_readable($thumbimage) && (filemtime($thumbimage) + $cache_expire_time) > time()) {
|
||||||
|
// do nothing
|
||||||
|
} else {
|
||||||
|
// Otherwise create the thumb image
|
||||||
|
|
||||||
|
// begin by getting the details of the original
|
||||||
|
list($width, $height, $type) = getimagesize($original);
|
||||||
|
|
||||||
|
// create an image resource for the original
|
||||||
|
switch ($type) {
|
||||||
|
case 1:
|
||||||
|
$source = @ imagecreatefromgif($original);
|
||||||
|
if (!$source) {
|
||||||
|
JError::raiseNotice('', JText::_('JW_PLG_SIG_ERROR_GIFS'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
$source = imagecreatefromjpeg($original);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
$source = imagecreatefrompng($original);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$source = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Bail out if the image resource is not OK
|
||||||
|
if (!$source) {
|
||||||
|
JError::raiseNotice('', JText::_('JW_PLG_SIG_ERROR_SRC_IMGS'));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// calculate thumbnails
|
||||||
|
$thumbnail = self::thumbDimCalc($width, $height, $thb_width, $thb_height, $smartResize);
|
||||||
|
|
||||||
|
$thumb_width = $thumbnail['width'];
|
||||||
|
$thumb_height = $thumbnail['height'];
|
||||||
|
|
||||||
|
// create an image resource for the thumbnail
|
||||||
|
$thumb = imagecreatetruecolor($thumb_width, $thumb_height);
|
||||||
|
|
||||||
|
// create the resized copy
|
||||||
|
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $thumb_width, $thumb_height, $width, $height);
|
||||||
|
|
||||||
|
// convert and save all thumbs to .jpg
|
||||||
|
$success = imagejpeg($thumb, $thumbimage, $jpg_quality);
|
||||||
|
|
||||||
|
// Bail out if there is a problem in the GD conversion
|
||||||
|
if (!$success) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// remove the image resources from memory
|
||||||
|
imagedestroy($source);
|
||||||
|
imagedestroy($thumb);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Assemble the image elements
|
||||||
|
$gallery[$key]->filename = $filename;
|
||||||
|
$gallery[$key]->sourceImageFilePath = $siteUrl.$srcimgfolder.'/'.self::replaceWhiteSpace($filename);
|
||||||
|
$gallery[$key]->thumbImageFilePath = $siteUrl.'cache/jw_sig/'.$prefix.$gal_id.'_'.strtolower(self::cleanThumbName($thumbfilename));
|
||||||
|
$gallery[$key]->width = $thb_width;
|
||||||
|
$gallery[$key]->height = $thb_height;
|
||||||
|
}// foreach loop
|
||||||
|
|
||||||
|
// OUTPUT
|
||||||
|
return $gallery;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* ------------------ Helper Functions ------------------ */
|
||||||
|
|
||||||
|
// Calculate thumbnail dimensions
|
||||||
|
public static function thumbDimCalc($width, $height, $thb_width, $thb_height, $smartResize)
|
||||||
|
{
|
||||||
|
if ($smartResize) {
|
||||||
|
// thumb ratio bigger that container ratio
|
||||||
|
if ($width / $height > $thb_width / $thb_height) {
|
||||||
|
// wide containers
|
||||||
|
if ($thb_width >= $thb_height) {
|
||||||
|
// wide thumbs
|
||||||
|
if ($width > $height) {
|
||||||
|
$thumb_width = $thb_height * $width / $height;
|
||||||
|
$thumb_height = $thb_height;
|
||||||
|
}
|
||||||
|
// high thumbs
|
||||||
|
else {
|
||||||
|
$thumb_width = $thb_height * $width / $height;
|
||||||
|
$thumb_height = $thb_height;
|
||||||
|
}
|
||||||
|
// high containers
|
||||||
|
} else {
|
||||||
|
// wide thumbs
|
||||||
|
if ($width > $height) {
|
||||||
|
$thumb_width = $thb_height * $width / $height;
|
||||||
|
$thumb_height = $thb_height;
|
||||||
|
}
|
||||||
|
// high thumbs
|
||||||
|
else {
|
||||||
|
$thumb_width = $thb_height * $width / $height;
|
||||||
|
$thumb_height = $thb_height;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// wide containers
|
||||||
|
if ($thb_width >= $thb_height) {
|
||||||
|
// wide thumbs
|
||||||
|
if ($width > $height) {
|
||||||
|
$thumb_width = $thb_width;
|
||||||
|
$thumb_height = $thb_width * $height / $width;
|
||||||
|
}
|
||||||
|
// high thumbs
|
||||||
|
else {
|
||||||
|
$thumb_width = $thb_width;
|
||||||
|
$thumb_height = $thb_width * $height / $width;
|
||||||
|
}
|
||||||
|
// high containers
|
||||||
|
} else {
|
||||||
|
// wide thumbs
|
||||||
|
if ($width > $height) {
|
||||||
|
$thumb_width = $thb_height * $width / $height;
|
||||||
|
$thumb_height = $thb_height;
|
||||||
|
}
|
||||||
|
// high thumbs
|
||||||
|
else {
|
||||||
|
$thumb_width = $thb_width;
|
||||||
|
$thumb_height = $thb_width * $height / $width;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($width > $height) {
|
||||||
|
$thumb_width = $thb_width;
|
||||||
|
$thumb_height = $thb_width * $height / $width;
|
||||||
|
} elseif ($width < $height) {
|
||||||
|
$thumb_width = $thb_height * $width / $height;
|
||||||
|
$thumb_height = $thb_height;
|
||||||
|
} else {
|
||||||
|
$thumb_width = $thb_width;
|
||||||
|
$thumb_height = $thb_height;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$thumbnail = array();
|
||||||
|
$thumbnail['width'] = round($thumb_width);
|
||||||
|
$thumbnail['height'] = round($thumb_height);
|
||||||
|
|
||||||
|
return $thumbnail;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Path overrides
|
||||||
|
public static function getTemplatePath($pluginName, $file, $tmpl)
|
||||||
|
{
|
||||||
|
$app = JFactory::getApplication();
|
||||||
|
$p = new JObject;
|
||||||
|
$pluginGroup = 'content';
|
||||||
|
|
||||||
|
$jTemplate = $app->getTemplate();
|
||||||
|
|
||||||
|
if ($app->isAdmin()) {
|
||||||
|
$db = JFactory::getDBO();
|
||||||
|
if (version_compare(JVERSION, '1.6', 'ge')) {
|
||||||
|
$query = "SELECT template FROM #__template_styles WHERE client_id = 0 AND home = 1";
|
||||||
|
} else {
|
||||||
|
$query = "SELECT template FROM #__templates_menu WHERE client_id = 0 AND menuid = 0";
|
||||||
|
}
|
||||||
|
$db->setQuery($query);
|
||||||
|
$jTemplate = $db->loadResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file_exists(JPATH_SITE.'/templates/'.$jTemplate.'/html/'.$pluginName.'/'.$tmpl.'/'.$file)) {
|
||||||
|
$p->file = JPATH_SITE.'/templates/'.$jTemplate.'/html/'.$pluginName.'/'.$tmpl.'/'.$file;
|
||||||
|
$p->http = JURI::root(true)."/templates/".$jTemplate."/html/{$pluginName}/{$tmpl}/{$file}";
|
||||||
|
} else {
|
||||||
|
if (version_compare(JVERSION, '1.6.0', 'ge')) {
|
||||||
|
// Joomla 1.6+
|
||||||
|
$p->file = JPATH_SITE.'/plugins/'.$pluginGroup.'/'.$pluginName.'/'.$pluginName.'/tmpl/'.$tmpl.'/'.$file;
|
||||||
|
$p->http = JURI::root(true)."/plugins/{$pluginGroup}/{$pluginName}/{$pluginName}/tmpl/{$tmpl}/{$file}";
|
||||||
|
} else {
|
||||||
|
// Joomla 1.5
|
||||||
|
$p->file = JPATH_SITE.'/plugins/'.$pluginGroup.'/'.$pluginName.'/tmpl/'.$tmpl.'/'.$file;
|
||||||
|
$p->http = JURI::root(true)."/plugins/{$pluginGroup}/{$pluginName}/tmpl/{$tmpl}/{$file}";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $p;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Replace white space
|
||||||
|
public static function replaceWhiteSpace($text_to_parse)
|
||||||
|
{
|
||||||
|
$source_html = array(" ");
|
||||||
|
$replacement_html = array("%20");
|
||||||
|
return str_replace($source_html, $replacement_html, $text_to_parse);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Cleanup thumbnail filenames
|
||||||
|
public static function cleanThumbName($text_to_parse)
|
||||||
|
{
|
||||||
|
$source_html = array(' ', ',');
|
||||||
|
$replacement_html = array('_', '_');
|
||||||
|
return str_replace($source_html, $replacement_html, $text_to_parse);
|
||||||
|
}
|
||||||
|
} // End class
|
||||||
|
After Width: | Height: | Size: 49 B |
BIN
deployed/jw_sig/plugins/content/jw_sig/jw_sig/includes/js/.DS_Store
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* @version 3.6.0
|
||||||
|
* @package Simple Image Gallery (plugin)
|
||||||
|
* @author JoomlaWorks - http://www.joomlaworks.net
|
||||||
|
* @copyright Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
|
||||||
|
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
var SIGHelper = {
|
||||||
|
ieBrowserDetect: function() {
|
||||||
|
var IEVersions = [6, 7, 8, 9];
|
||||||
|
for (var i = 0; i < IEVersions.length; i++) {
|
||||||
|
if (navigator.userAgent.toLowerCase().indexOf('msie ' + IEVersions[i]) != -1) {
|
||||||
|
document.getElementsByTagName("body")[0].className += ' sigFreeIsIE' + IEVersions[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
loader: function(func) {
|
||||||
|
var oldonload = window.onload;
|
||||||
|
if (typeof window.onload != 'function') {
|
||||||
|
window.onload = func;
|
||||||
|
} else {
|
||||||
|
window.onload = function() {
|
||||||
|
if (oldonload) {
|
||||||
|
oldonload();
|
||||||
|
}
|
||||||
|
func();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
SIGHelper.loader(SIGHelper.ieBrowserDetect);
|
||||||
BIN
deployed/jw_sig/plugins/content/jw_sig/jw_sig/includes/js/jquery_fancybox/.DS_Store
vendored
Normal file
BIN
deployed/jw_sig/plugins/content/jw_sig/jw_sig/includes/js/jquery_fancybox/fancybox/.DS_Store
vendored
Normal file
|
After Width: | Height: | Size: 43 B |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 1003 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,97 @@
|
|||||||
|
#fancybox-buttons {
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 8050;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons.top {
|
||||||
|
top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons.bottom {
|
||||||
|
bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons ul {
|
||||||
|
display: block;
|
||||||
|
width: 166px;
|
||||||
|
height: 30px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
list-style: none;
|
||||||
|
border: 1px solid #111;
|
||||||
|
border-radius: 3px;
|
||||||
|
-webkit-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
||||||
|
-moz-box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
||||||
|
box-shadow: inset 0 0 0 1px rgba(255,255,255,.05);
|
||||||
|
background: rgb(50,50,50);
|
||||||
|
background: -moz-linear-gradient(top, rgb(68,68,68) 0%, rgb(52,52,52) 50%, rgb(41,41,41) 50%, rgb(51,51,51) 100%);
|
||||||
|
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(68,68,68)), color-stop(50%,rgb(52,52,52)), color-stop(50%,rgb(41,41,41)), color-stop(100%,rgb(51,51,51)));
|
||||||
|
background: -webkit-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||||
|
background: -o-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||||
|
background: -ms-linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||||
|
background: linear-gradient(top, rgb(68,68,68) 0%,rgb(52,52,52) 50%,rgb(41,41,41) 50%,rgb(51,51,51) 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#444444', endColorstr='#222222',GradientType=0 );
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons ul li {
|
||||||
|
float: left;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a {
|
||||||
|
display: block;
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
text-indent: -9999px;
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: url('fancybox_buttons.png');
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
outline: none;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnPrev {
|
||||||
|
background-position: 5px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnNext {
|
||||||
|
background-position: -33px 0;
|
||||||
|
border-right: 1px solid #3e3e3e;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnPlay {
|
||||||
|
background-position: 0 -30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnPlayOn {
|
||||||
|
background-position: -30px -30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnToggle {
|
||||||
|
background-position: 3px -60px;
|
||||||
|
border-left: 1px solid #111;
|
||||||
|
border-right: 1px solid #3e3e3e;
|
||||||
|
width: 35px
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnToggleOn {
|
||||||
|
background-position: -27px -60px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnClose {
|
||||||
|
border-left: 1px solid #111;
|
||||||
|
width: 35px;
|
||||||
|
background-position: -56px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-buttons a.btnDisabled {
|
||||||
|
opacity : 0.4;
|
||||||
|
cursor: default;
|
||||||
|
}
|
||||||
@ -0,0 +1,122 @@
|
|||||||
|
/*!
|
||||||
|
* Buttons helper for fancyBox
|
||||||
|
* version: 1.0.5 (Mon, 15 Oct 2012)
|
||||||
|
* @requires fancyBox v2.0 or later
|
||||||
|
*
|
||||||
|
* Usage:
|
||||||
|
* $(".fancybox").fancybox({
|
||||||
|
* helpers : {
|
||||||
|
* buttons: {
|
||||||
|
* position : 'top'
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
(function ($) {
|
||||||
|
//Shortcut for fancyBox object
|
||||||
|
var F = $.fancybox;
|
||||||
|
|
||||||
|
//Add helper object
|
||||||
|
F.helpers.buttons = {
|
||||||
|
defaults : {
|
||||||
|
skipSingle : false, // disables if gallery contains single image
|
||||||
|
position : 'top', // 'top' or 'bottom'
|
||||||
|
tpl : '<div id="fancybox-buttons"><ul><li><a class="btnPrev" title="Previous" href="javascript:;"></a></li><li><a class="btnPlay" title="Start slideshow" href="javascript:;"></a></li><li><a class="btnNext" title="Next" href="javascript:;"></a></li><li><a class="btnToggle" title="Toggle size" href="javascript:;"></a></li><li><a class="btnClose" title="Close" href="javascript:;"></a></li></ul></div>'
|
||||||
|
},
|
||||||
|
|
||||||
|
list : null,
|
||||||
|
buttons: null,
|
||||||
|
|
||||||
|
beforeLoad: function (opts, obj) {
|
||||||
|
//Remove self if gallery do not have at least two items
|
||||||
|
|
||||||
|
if (opts.skipSingle && obj.group.length < 2) {
|
||||||
|
obj.helpers.buttons = false;
|
||||||
|
obj.closeBtn = true;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Increase top margin to give space for buttons
|
||||||
|
obj.margin[ opts.position === 'bottom' ? 2 : 0 ] += 30;
|
||||||
|
},
|
||||||
|
|
||||||
|
onPlayStart: function () {
|
||||||
|
if (this.buttons) {
|
||||||
|
this.buttons.play.attr('title', 'Pause slideshow').addClass('btnPlayOn');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
onPlayEnd: function () {
|
||||||
|
if (this.buttons) {
|
||||||
|
this.buttons.play.attr('title', 'Start slideshow').removeClass('btnPlayOn');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
afterShow: function (opts, obj) {
|
||||||
|
var buttons = this.buttons;
|
||||||
|
|
||||||
|
if (!buttons) {
|
||||||
|
this.list = $(opts.tpl).addClass(opts.position).appendTo('body');
|
||||||
|
|
||||||
|
buttons = {
|
||||||
|
prev : this.list.find('.btnPrev').click( F.prev ),
|
||||||
|
next : this.list.find('.btnNext').click( F.next ),
|
||||||
|
play : this.list.find('.btnPlay').click( F.play ),
|
||||||
|
toggle : this.list.find('.btnToggle').click( F.toggle ),
|
||||||
|
close : this.list.find('.btnClose').click( F.close )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Prev
|
||||||
|
if (obj.index > 0 || obj.loop) {
|
||||||
|
buttons.prev.removeClass('btnDisabled');
|
||||||
|
} else {
|
||||||
|
buttons.prev.addClass('btnDisabled');
|
||||||
|
}
|
||||||
|
|
||||||
|
//Next / Play
|
||||||
|
if (obj.loop || obj.index < obj.group.length - 1) {
|
||||||
|
buttons.next.removeClass('btnDisabled');
|
||||||
|
buttons.play.removeClass('btnDisabled');
|
||||||
|
|
||||||
|
} else {
|
||||||
|
buttons.next.addClass('btnDisabled');
|
||||||
|
buttons.play.addClass('btnDisabled');
|
||||||
|
}
|
||||||
|
|
||||||
|
this.buttons = buttons;
|
||||||
|
|
||||||
|
this.onUpdate(opts, obj);
|
||||||
|
},
|
||||||
|
|
||||||
|
onUpdate: function (opts, obj) {
|
||||||
|
var toggle;
|
||||||
|
|
||||||
|
if (!this.buttons) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle = this.buttons.toggle.removeClass('btnDisabled btnToggleOn');
|
||||||
|
|
||||||
|
//Size toggle button
|
||||||
|
if (obj.canShrink) {
|
||||||
|
toggle.addClass('btnToggleOn');
|
||||||
|
|
||||||
|
} else if (!obj.canExpand) {
|
||||||
|
toggle.addClass('btnDisabled');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
beforeClose: function () {
|
||||||
|
if (this.list) {
|
||||||
|
this.list.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.list = null;
|
||||||
|
this.buttons = null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}(jQuery));
|
||||||
@ -0,0 +1,199 @@
|
|||||||
|
/*!
|
||||||
|
* Media helper for fancyBox
|
||||||
|
* version: 1.0.6 (Fri, 14 Jun 2013)
|
||||||
|
* @requires fancyBox v2.0 or later
|
||||||
|
*
|
||||||
|
* Usage:
|
||||||
|
* $(".fancybox").fancybox({
|
||||||
|
* helpers : {
|
||||||
|
* media: true
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* Set custom URL parameters:
|
||||||
|
* $(".fancybox").fancybox({
|
||||||
|
* helpers : {
|
||||||
|
* media: {
|
||||||
|
* youtube : {
|
||||||
|
* params : {
|
||||||
|
* autoplay : 0
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* Or:
|
||||||
|
* $(".fancybox").fancybox({,
|
||||||
|
* helpers : {
|
||||||
|
* media: true
|
||||||
|
* },
|
||||||
|
* youtube : {
|
||||||
|
* autoplay: 0
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* Supports:
|
||||||
|
*
|
||||||
|
* Youtube
|
||||||
|
* http://www.youtube.com/watch?v=opj24KnzrWo
|
||||||
|
* http://www.youtube.com/embed/opj24KnzrWo
|
||||||
|
* http://youtu.be/opj24KnzrWo
|
||||||
|
* http://www.youtube-nocookie.com/embed/opj24KnzrWo
|
||||||
|
* Vimeo
|
||||||
|
* http://vimeo.com/40648169
|
||||||
|
* http://vimeo.com/channels/staffpicks/38843628
|
||||||
|
* http://vimeo.com/groups/surrealism/videos/36516384
|
||||||
|
* http://player.vimeo.com/video/45074303
|
||||||
|
* Metacafe
|
||||||
|
* http://www.metacafe.com/watch/7635964/dr_seuss_the_lorax_movie_trailer/
|
||||||
|
* http://www.metacafe.com/watch/7635964/
|
||||||
|
* Dailymotion
|
||||||
|
* http://www.dailymotion.com/video/xoytqh_dr-seuss-the-lorax-premiere_people
|
||||||
|
* Twitvid
|
||||||
|
* http://twitvid.com/QY7MD
|
||||||
|
* Twitpic
|
||||||
|
* http://twitpic.com/7p93st
|
||||||
|
* Instagram
|
||||||
|
* http://instagr.am/p/IejkuUGxQn/
|
||||||
|
* http://instagram.com/p/IejkuUGxQn/
|
||||||
|
* Google maps
|
||||||
|
* http://maps.google.com/maps?q=Eiffel+Tower,+Avenue+Gustave+Eiffel,+Paris,+France&t=h&z=17
|
||||||
|
* http://maps.google.com/?ll=48.857995,2.294297&spn=0.007666,0.021136&t=m&z=16
|
||||||
|
* http://maps.google.com/?ll=48.859463,2.292626&spn=0.000965,0.002642&t=m&z=19&layer=c&cbll=48.859524,2.292532&panoid=YJ0lq28OOy3VT2IqIuVY0g&cbp=12,151.58,,0,-15.56
|
||||||
|
*/
|
||||||
|
(function ($) {
|
||||||
|
"use strict";
|
||||||
|
|
||||||
|
//Shortcut for fancyBox object
|
||||||
|
var F = $.fancybox,
|
||||||
|
format = function( url, rez, params ) {
|
||||||
|
params = params || '';
|
||||||
|
|
||||||
|
if ( $.type( params ) === "object" ) {
|
||||||
|
params = $.param(params, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$.each(rez, function(key, value) {
|
||||||
|
url = url.replace( '$' + key, value || '' );
|
||||||
|
});
|
||||||
|
|
||||||
|
if (params.length) {
|
||||||
|
url += ( url.indexOf('?') > 0 ? '&' : '?' ) + params;
|
||||||
|
}
|
||||||
|
|
||||||
|
return url;
|
||||||
|
};
|
||||||
|
|
||||||
|
//Add helper object
|
||||||
|
F.helpers.media = {
|
||||||
|
defaults : {
|
||||||
|
youtube : {
|
||||||
|
matcher : /(youtube\.com|youtu\.be|youtube-nocookie\.com)\/(watch\?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*)).*/i,
|
||||||
|
params : {
|
||||||
|
autoplay : 1,
|
||||||
|
autohide : 1,
|
||||||
|
fs : 1,
|
||||||
|
rel : 0,
|
||||||
|
hd : 1,
|
||||||
|
wmode : 'opaque',
|
||||||
|
enablejsapi : 1
|
||||||
|
},
|
||||||
|
type : 'iframe',
|
||||||
|
url : '//www.youtube.com/embed/$3'
|
||||||
|
},
|
||||||
|
vimeo : {
|
||||||
|
matcher : /(?:vimeo(?:pro)?.com)\/(?:[^\d]+)?(\d+)(?:.*)/,
|
||||||
|
params : {
|
||||||
|
autoplay : 1,
|
||||||
|
hd : 1,
|
||||||
|
show_title : 1,
|
||||||
|
show_byline : 1,
|
||||||
|
show_portrait : 0,
|
||||||
|
fullscreen : 1
|
||||||
|
},
|
||||||
|
type : 'iframe',
|
||||||
|
url : '//player.vimeo.com/video/$1'
|
||||||
|
},
|
||||||
|
metacafe : {
|
||||||
|
matcher : /metacafe.com\/(?:watch|fplayer)\/([\w\-]{1,10})/,
|
||||||
|
params : {
|
||||||
|
autoPlay : 'yes'
|
||||||
|
},
|
||||||
|
type : 'swf',
|
||||||
|
url : function( rez, params, obj ) {
|
||||||
|
obj.swf.flashVars = 'playerVars=' + $.param( params, true );
|
||||||
|
|
||||||
|
return '//www.metacafe.com/fplayer/' + rez[1] + '/.swf';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dailymotion : {
|
||||||
|
matcher : /dailymotion.com\/video\/(.*)\/?(.*)/,
|
||||||
|
params : {
|
||||||
|
additionalInfos : 0,
|
||||||
|
autoStart : 1
|
||||||
|
},
|
||||||
|
type : 'swf',
|
||||||
|
url : '//www.dailymotion.com/swf/video/$1'
|
||||||
|
},
|
||||||
|
twitvid : {
|
||||||
|
matcher : /twitvid\.com\/([a-zA-Z0-9_\-\?\=]+)/i,
|
||||||
|
params : {
|
||||||
|
autoplay : 0
|
||||||
|
},
|
||||||
|
type : 'iframe',
|
||||||
|
url : '//www.twitvid.com/embed.php?guid=$1'
|
||||||
|
},
|
||||||
|
twitpic : {
|
||||||
|
matcher : /twitpic\.com\/(?!(?:place|photos|events)\/)([a-zA-Z0-9\?\=\-]+)/i,
|
||||||
|
type : 'image',
|
||||||
|
url : '//twitpic.com/show/full/$1/'
|
||||||
|
},
|
||||||
|
instagram : {
|
||||||
|
matcher : /(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,
|
||||||
|
type : 'image',
|
||||||
|
url : '//$1/p/$2/media/?size=l'
|
||||||
|
},
|
||||||
|
google_maps : {
|
||||||
|
matcher : /maps\.google\.([a-z]{2,3}(\.[a-z]{2})?)\/(\?ll=|maps\?)(.*)/i,
|
||||||
|
type : 'iframe',
|
||||||
|
url : function( rez ) {
|
||||||
|
return '//maps.google.' + rez[1] + '/' + rez[3] + '' + rez[4] + '&output=' + (rez[4].indexOf('layer=c') > 0 ? 'svembed' : 'embed');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
beforeLoad : function(opts, obj) {
|
||||||
|
var url = obj.href || '',
|
||||||
|
type = false,
|
||||||
|
what,
|
||||||
|
item,
|
||||||
|
rez,
|
||||||
|
params;
|
||||||
|
|
||||||
|
for (what in opts) {
|
||||||
|
if (opts.hasOwnProperty(what)) {
|
||||||
|
item = opts[ what ];
|
||||||
|
rez = url.match( item.matcher );
|
||||||
|
|
||||||
|
if (rez) {
|
||||||
|
type = item.type;
|
||||||
|
params = $.extend(true, {}, item.params, obj[ what ] || ($.isPlainObject(opts[ what ]) ? opts[ what ].params : null));
|
||||||
|
|
||||||
|
url = $.type( item.url ) === "function" ? item.url.call( this, rez, params, obj ) : format( item.url, rez, params );
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type) {
|
||||||
|
obj.href = url;
|
||||||
|
obj.type = type;
|
||||||
|
|
||||||
|
obj.autoHeight = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
}(jQuery));
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
#fancybox-thumbs {
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
z-index: 8050;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs.bottom {
|
||||||
|
bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs.top {
|
||||||
|
top: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs ul {
|
||||||
|
position: relative;
|
||||||
|
list-style: none;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs ul li {
|
||||||
|
float: left;
|
||||||
|
padding: 1px;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs ul li.active {
|
||||||
|
opacity: 0.75;
|
||||||
|
padding: 0;
|
||||||
|
border: 1px solid #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs ul li:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs ul li a {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
border: 1px solid #222;
|
||||||
|
background: #111;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-thumbs ul li img {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
border: 0;
|
||||||
|
padding: 0;
|
||||||
|
max-width: none;
|
||||||
|
}
|
||||||
@ -0,0 +1,162 @@
|
|||||||
|
/*!
|
||||||
|
* Thumbnail helper for fancyBox
|
||||||
|
* version: 1.0.7 (Mon, 01 Oct 2012)
|
||||||
|
* @requires fancyBox v2.0 or later
|
||||||
|
*
|
||||||
|
* Usage:
|
||||||
|
* $(".fancybox").fancybox({
|
||||||
|
* helpers : {
|
||||||
|
* thumbs: {
|
||||||
|
* width : 50,
|
||||||
|
* height : 50
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
(function ($) {
|
||||||
|
//Shortcut for fancyBox object
|
||||||
|
var F = $.fancybox;
|
||||||
|
|
||||||
|
//Add helper object
|
||||||
|
F.helpers.thumbs = {
|
||||||
|
defaults : {
|
||||||
|
width : 50, // thumbnail width
|
||||||
|
height : 50, // thumbnail height
|
||||||
|
position : 'bottom', // 'top' or 'bottom'
|
||||||
|
source : function ( item ) { // function to obtain the URL of the thumbnail image
|
||||||
|
var href;
|
||||||
|
|
||||||
|
if (item.element) {
|
||||||
|
href = $(item.element).find('img').attr('src');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!href && item.type === 'image' && item.href) {
|
||||||
|
href = item.href;
|
||||||
|
}
|
||||||
|
|
||||||
|
return href;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
wrap : null,
|
||||||
|
list : null,
|
||||||
|
width : 0,
|
||||||
|
|
||||||
|
init: function (opts, obj) {
|
||||||
|
var that = this,
|
||||||
|
list,
|
||||||
|
thumbWidth = opts.width,
|
||||||
|
thumbHeight = opts.height,
|
||||||
|
thumbSource = opts.source;
|
||||||
|
|
||||||
|
//Build list structure
|
||||||
|
list = '';
|
||||||
|
|
||||||
|
for (var n = 0; n < obj.group.length; n++) {
|
||||||
|
list += '<li><a style="width:' + thumbWidth + 'px;height:' + thumbHeight + 'px;" href="javascript:jQuery.fancybox.jumpto(' + n + ');"></a></li>';
|
||||||
|
}
|
||||||
|
|
||||||
|
this.wrap = $('<div id="fancybox-thumbs"></div>').addClass(opts.position).appendTo('body');
|
||||||
|
this.list = $('<ul>' + list + '</ul>').appendTo(this.wrap);
|
||||||
|
|
||||||
|
//Load each thumbnail
|
||||||
|
$.each(obj.group, function (i) {
|
||||||
|
var href = thumbSource( obj.group[ i ] );
|
||||||
|
|
||||||
|
if (!href) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$("<img />").load(function () {
|
||||||
|
var width = this.width,
|
||||||
|
height = this.height,
|
||||||
|
widthRatio, heightRatio, parent;
|
||||||
|
|
||||||
|
if (!that.list || !width || !height) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Calculate thumbnail width/height and center it
|
||||||
|
widthRatio = width / thumbWidth;
|
||||||
|
heightRatio = height / thumbHeight;
|
||||||
|
|
||||||
|
parent = that.list.children().eq(i).find('a');
|
||||||
|
|
||||||
|
if (widthRatio >= 1 && heightRatio >= 1) {
|
||||||
|
if (widthRatio > heightRatio) {
|
||||||
|
width = Math.floor(width / heightRatio);
|
||||||
|
height = thumbHeight;
|
||||||
|
|
||||||
|
} else {
|
||||||
|
width = thumbWidth;
|
||||||
|
height = Math.floor(height / widthRatio);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$(this).css({
|
||||||
|
width : width,
|
||||||
|
height : height,
|
||||||
|
top : Math.floor(thumbHeight / 2 - height / 2),
|
||||||
|
left : Math.floor(thumbWidth / 2 - width / 2)
|
||||||
|
});
|
||||||
|
|
||||||
|
parent.width(thumbWidth).height(thumbHeight);
|
||||||
|
|
||||||
|
$(this).hide().appendTo(parent).fadeIn(300);
|
||||||
|
|
||||||
|
}).attr('src', href);
|
||||||
|
});
|
||||||
|
|
||||||
|
//Set initial width
|
||||||
|
this.width = this.list.children().eq(0).outerWidth(true);
|
||||||
|
|
||||||
|
this.list.width(this.width * (obj.group.length + 1)).css('left', Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5)));
|
||||||
|
},
|
||||||
|
|
||||||
|
beforeLoad: function (opts, obj) {
|
||||||
|
//Remove self if gallery do not have at least two items
|
||||||
|
if (obj.group.length < 2) {
|
||||||
|
obj.helpers.thumbs = false;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Increase bottom margin to give space for thumbs
|
||||||
|
obj.margin[ opts.position === 'top' ? 0 : 2 ] += ((opts.height) + 15);
|
||||||
|
},
|
||||||
|
|
||||||
|
afterShow: function (opts, obj) {
|
||||||
|
//Check if exists and create or update list
|
||||||
|
if (this.list) {
|
||||||
|
this.onUpdate(opts, obj);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
this.init(opts, obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Set active element
|
||||||
|
this.list.children().removeClass('active').eq(obj.index).addClass('active');
|
||||||
|
},
|
||||||
|
|
||||||
|
//Center list
|
||||||
|
onUpdate: function (opts, obj) {
|
||||||
|
if (this.list) {
|
||||||
|
this.list.stop(true).animate({
|
||||||
|
'left': Math.floor($(window).width() * 0.5 - (obj.index * this.width + this.width * 0.5))
|
||||||
|
}, 150);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
beforeClose: function () {
|
||||||
|
if (this.wrap) {
|
||||||
|
this.wrap.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
this.wrap = null;
|
||||||
|
this.list = null;
|
||||||
|
this.width = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}(jQuery));
|
||||||
@ -0,0 +1,274 @@
|
|||||||
|
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
|
||||||
|
.fancybox-wrap,
|
||||||
|
.fancybox-skin,
|
||||||
|
.fancybox-outer,
|
||||||
|
.fancybox-inner,
|
||||||
|
.fancybox-image,
|
||||||
|
.fancybox-wrap iframe,
|
||||||
|
.fancybox-wrap object,
|
||||||
|
.fancybox-nav,
|
||||||
|
.fancybox-nav span,
|
||||||
|
.fancybox-tmp
|
||||||
|
{
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
border: 0;
|
||||||
|
outline: none;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-wrap {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
z-index: 8020;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-skin {
|
||||||
|
position: relative;
|
||||||
|
background: #f9f9f9;
|
||||||
|
color: #444;
|
||||||
|
text-shadow: none;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-opened {
|
||||||
|
z-index: 8030;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-opened .fancybox-skin {
|
||||||
|
-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
||||||
|
-moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
||||||
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-outer, .fancybox-inner {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-inner {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-type-iframe .fancybox-inner {
|
||||||
|
-webkit-overflow-scrolling: touch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-error {
|
||||||
|
color: #444;
|
||||||
|
font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||||
|
margin: 0;
|
||||||
|
padding: 15px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-image, .fancybox-iframe {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-image {
|
||||||
|
max-width: 100%;
|
||||||
|
max-height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
|
||||||
|
background-image: url('fancybox_sprite.png');
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-loading {
|
||||||
|
position: fixed;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin-top: -22px;
|
||||||
|
margin-left: -22px;
|
||||||
|
background-position: 0 -108px;
|
||||||
|
opacity: 0.8;
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 8060;
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-loading div {
|
||||||
|
width: 44px;
|
||||||
|
height: 44px;
|
||||||
|
background: url('fancybox_loading.gif') center center no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-close {
|
||||||
|
position: absolute;
|
||||||
|
top: -18px;
|
||||||
|
right: -18px;
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 8040;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-nav {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
width: 40%;
|
||||||
|
height: 100%;
|
||||||
|
cursor: pointer;
|
||||||
|
text-decoration: none;
|
||||||
|
background: transparent url('blank.gif'); /* helps IE */
|
||||||
|
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||||
|
z-index: 8040;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-prev {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-next {
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-nav span {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
width: 36px;
|
||||||
|
height: 34px;
|
||||||
|
margin-top: -18px;
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 8040;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-prev span {
|
||||||
|
left: 10px;
|
||||||
|
background-position: 0 -36px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-next span {
|
||||||
|
right: 10px;
|
||||||
|
background-position: 0 -72px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-nav:hover span {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-tmp {
|
||||||
|
position: absolute;
|
||||||
|
top: -99999px;
|
||||||
|
left: -99999px;
|
||||||
|
visibility: hidden;
|
||||||
|
max-width: 99999px;
|
||||||
|
max-height: 99999px;
|
||||||
|
overflow: visible !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Overlay helper */
|
||||||
|
|
||||||
|
.fancybox-lock {
|
||||||
|
overflow: hidden !important;
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-lock body {
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-lock-test {
|
||||||
|
overflow-y: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-overlay {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
display: none;
|
||||||
|
z-index: 8010;
|
||||||
|
background: url('fancybox_overlay.png');
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-overlay-fixed {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-lock .fancybox-overlay {
|
||||||
|
overflow: auto;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Title helper */
|
||||||
|
|
||||||
|
.fancybox-title {
|
||||||
|
visibility: hidden;
|
||||||
|
font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||||
|
position: relative;
|
||||||
|
text-shadow: none;
|
||||||
|
z-index: 8050;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-opened .fancybox-title {
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-title-float-wrap {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: 50%;
|
||||||
|
margin-bottom: -35px;
|
||||||
|
z-index: 8050;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-title-float-wrap .child {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: -100%;
|
||||||
|
padding: 2px 20px;
|
||||||
|
background: transparent; /* Fallback for web browsers that doesn't support RGBa */
|
||||||
|
background: rgba(0, 0, 0, 0.8);
|
||||||
|
-webkit-border-radius: 15px;
|
||||||
|
-moz-border-radius: 15px;
|
||||||
|
border-radius: 15px;
|
||||||
|
text-shadow: 0 1px 2px #222;
|
||||||
|
color: #FFF;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 24px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-title-outside-wrap {
|
||||||
|
position: relative;
|
||||||
|
margin-top: 10px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-title-inside-wrap {
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fancybox-title-over-wrap {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
color: #fff;
|
||||||
|
padding: 10px;
|
||||||
|
background: #000;
|
||||||
|
background: rgba(0, 0, 0, .8);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Retina graphics!*/
|
||||||
|
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
|
||||||
|
only screen and (min--moz-device-pixel-ratio: 1.5),
|
||||||
|
only screen and (min-device-pixel-ratio: 1.5){
|
||||||
|
|
||||||
|
#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
|
||||||
|
background-image: url('fancybox_sprite@2x.png');
|
||||||
|
background-size: 44px 152px; /*The size of the normal image, half the size of the hi-res image*/
|
||||||
|
}
|
||||||
|
|
||||||
|
#fancybox-loading div {
|
||||||
|
background-image: url('fancybox_loading@2x.gif');
|
||||||
|
background-size: 24px 24px; /*The size of the normal image, half the size of the hi-res image*/
|
||||||
|
}
|
||||||
|
}
|
||||||
2020
deployed/jw_sig/plugins/content/jw_sig/jw_sig/includes/js/jquery_fancybox/fancybox/jquery.fancybox.js
vendored
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/*! fancyBox v2.1.5 fancyapps.com | fancyapps.com/fancybox/#license */
|
||||||
|
(function(r,G,f,v){var J=f("html"),n=f(r),p=f(G),b=f.fancybox=function(){b.open.apply(this,arguments)},I=navigator.userAgent.match(/msie/i),B=null,s=G.createTouch!==v,t=function(a){return a&&a.hasOwnProperty&&a instanceof f},q=function(a){return a&&"string"===f.type(a)},E=function(a){return q(a)&&0<a.indexOf("%")},l=function(a,d){var e=parseInt(a,10)||0;d&&E(a)&&(e*=b.getViewport()[d]/100);return Math.ceil(e)},w=function(a,b){return l(a,b)+"px"};f.extend(b,{version:"2.1.5",defaults:{padding:15,margin:20,
|
||||||
|
width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!s,fitToView:!0,aspectRatio:!1,topRatio:0.5,leftRatio:0.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3E3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},
|
||||||
|
keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+
|
||||||
|
(I?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">The requested content cannot be loaded.<br/>Please try again later.</p>',closeBtn:'<a title="Close" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="Next" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="Previous" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,
|
||||||
|
openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:f.noop,beforeLoad:f.noop,afterLoad:f.noop,beforeShow:f.noop,afterShow:f.noop,beforeChange:f.noop,beforeClose:f.noop,afterClose:f.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,
|
||||||
|
isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(a,d){if(a&&(f.isPlainObject(d)||(d={}),!1!==b.close(!0)))return f.isArray(a)||(a=t(a)?f(a).get():[a]),f.each(a,function(e,c){var k={},g,h,j,m,l;"object"===f.type(c)&&(c.nodeType&&(c=f(c)),t(c)?(k={href:c.data("fancybox-href")||c.attr("href"),title:c.data("fancybox-title")||c.attr("title"),isDom:!0,element:c},f.metadata&&f.extend(!0,k,
|
||||||
|
c.metadata())):k=c);g=d.href||k.href||(q(c)?c:null);h=d.title!==v?d.title:k.title||"";m=(j=d.content||k.content)?"html":d.type||k.type;!m&&k.isDom&&(m=c.data("fancybox-type"),m||(m=(m=c.prop("class").match(/fancybox\.(\w+)/))?m[1]:null));q(g)&&(m||(b.isImage(g)?m="image":b.isSWF(g)?m="swf":"#"===g.charAt(0)?m="inline":q(c)&&(m="html",j=c)),"ajax"===m&&(l=g.split(/\s+/,2),g=l.shift(),l=l.shift()));j||("inline"===m?g?j=f(q(g)?g.replace(/.*(?=#[^\s]+$)/,""):g):k.isDom&&(j=c):"html"===m?j=g:!m&&(!g&&
|
||||||
|
k.isDom)&&(m="inline",j=c));f.extend(k,{href:g,type:m,content:j,title:h,selector:l});a[e]=k}),b.opts=f.extend(!0,{},b.defaults,d),d.keys!==v&&(b.opts.keys=d.keys?f.extend({},b.defaults.keys,d.keys):!1),b.group=a,b._start(b.opts.index)},cancel:function(){var a=b.coming;a&&!1!==b.trigger("onCancel")&&(b.hideLoading(),b.ajaxLoad&&b.ajaxLoad.abort(),b.ajaxLoad=null,b.imgPreload&&(b.imgPreload.onload=b.imgPreload.onerror=null),a.wrap&&a.wrap.stop(!0,!0).trigger("onReset").remove(),b.coming=null,b.current||
|
||||||
|
b._afterZoomOut(a))},close:function(a){b.cancel();!1!==b.trigger("beforeClose")&&(b.unbindEvents(),b.isActive&&(!b.isOpen||!0===a?(f(".fancybox-wrap").stop(!0).trigger("onReset").remove(),b._afterZoomOut()):(b.isOpen=b.isOpened=!1,b.isClosing=!0,f(".fancybox-item, .fancybox-nav").remove(),b.wrap.stop(!0,!0).removeClass("fancybox-opened"),b.transitions[b.current.closeMethod]())))},play:function(a){var d=function(){clearTimeout(b.player.timer)},e=function(){d();b.current&&b.player.isActive&&(b.player.timer=
|
||||||
|
setTimeout(b.next,b.current.playSpeed))},c=function(){d();p.unbind(".player");b.player.isActive=!1;b.trigger("onPlayEnd")};if(!0===a||!b.player.isActive&&!1!==a){if(b.current&&(b.current.loop||b.current.index<b.group.length-1))b.player.isActive=!0,p.bind({"onCancel.player beforeClose.player":c,"onUpdate.player":e,"beforeLoad.player":d}),e(),b.trigger("onPlayStart")}else c()},next:function(a){var d=b.current;d&&(q(a)||(a=d.direction.next),b.jumpto(d.index+1,a,"next"))},prev:function(a){var d=b.current;
|
||||||
|
d&&(q(a)||(a=d.direction.prev),b.jumpto(d.index-1,a,"prev"))},jumpto:function(a,d,e){var c=b.current;c&&(a=l(a),b.direction=d||c.direction[a>=c.index?"next":"prev"],b.router=e||"jumpto",c.loop&&(0>a&&(a=c.group.length+a%c.group.length),a%=c.group.length),c.group[a]!==v&&(b.cancel(),b._start(a)))},reposition:function(a,d){var e=b.current,c=e?e.wrap:null,k;c&&(k=b._getPosition(d),a&&"scroll"===a.type?(delete k.position,c.stop(!0,!0).animate(k,200)):(c.css(k),e.pos=f.extend({},e.dim,k)))},update:function(a){var d=
|
||||||
|
a&&a.type,e=!d||"orientationchange"===d;e&&(clearTimeout(B),B=null);b.isOpen&&!B&&(B=setTimeout(function(){var c=b.current;c&&!b.isClosing&&(b.wrap.removeClass("fancybox-tmp"),(e||"load"===d||"resize"===d&&c.autoResize)&&b._setDimension(),"scroll"===d&&c.canShrink||b.reposition(a),b.trigger("onUpdate"),B=null)},e&&!s?0:300))},toggle:function(a){b.isOpen&&(b.current.fitToView="boolean"===f.type(a)?a:!b.current.fitToView,s&&(b.wrap.removeAttr("style").addClass("fancybox-tmp"),b.trigger("onUpdate")),
|
||||||
|
b.update())},hideLoading:function(){p.unbind(".loading");f("#fancybox-loading").remove()},showLoading:function(){var a,d;b.hideLoading();a=f('<div id="fancybox-loading"><div></div></div>').click(b.cancel).appendTo("body");p.bind("keydown.loading",function(a){if(27===(a.which||a.keyCode))a.preventDefault(),b.cancel()});b.defaults.fixed||(d=b.getViewport(),a.css({position:"absolute",top:0.5*d.h+d.y,left:0.5*d.w+d.x}))},getViewport:function(){var a=b.current&&b.current.locked||!1,d={x:n.scrollLeft(),
|
||||||
|
y:n.scrollTop()};a?(d.w=a[0].clientWidth,d.h=a[0].clientHeight):(d.w=s&&r.innerWidth?r.innerWidth:n.width(),d.h=s&&r.innerHeight?r.innerHeight:n.height());return d},unbindEvents:function(){b.wrap&&t(b.wrap)&&b.wrap.unbind(".fb");p.unbind(".fb");n.unbind(".fb")},bindEvents:function(){var a=b.current,d;a&&(n.bind("orientationchange.fb"+(s?"":" resize.fb")+(a.autoCenter&&!a.locked?" scroll.fb":""),b.update),(d=a.keys)&&p.bind("keydown.fb",function(e){var c=e.which||e.keyCode,k=e.target||e.srcElement;
|
||||||
|
if(27===c&&b.coming)return!1;!e.ctrlKey&&(!e.altKey&&!e.shiftKey&&!e.metaKey&&(!k||!k.type&&!f(k).is("[contenteditable]")))&&f.each(d,function(d,k){if(1<a.group.length&&k[c]!==v)return b[d](k[c]),e.preventDefault(),!1;if(-1<f.inArray(c,k))return b[d](),e.preventDefault(),!1})}),f.fn.mousewheel&&a.mouseWheel&&b.wrap.bind("mousewheel.fb",function(d,c,k,g){for(var h=f(d.target||null),j=!1;h.length&&!j&&!h.is(".fancybox-skin")&&!h.is(".fancybox-wrap");)j=h[0]&&!(h[0].style.overflow&&"hidden"===h[0].style.overflow)&&
|
||||||
|
(h[0].clientWidth&&h[0].scrollWidth>h[0].clientWidth||h[0].clientHeight&&h[0].scrollHeight>h[0].clientHeight),h=f(h).parent();if(0!==c&&!j&&1<b.group.length&&!a.canShrink){if(0<g||0<k)b.prev(0<g?"down":"left");else if(0>g||0>k)b.next(0>g?"up":"right");d.preventDefault()}}))},trigger:function(a,d){var e,c=d||b.coming||b.current;if(c){f.isFunction(c[a])&&(e=c[a].apply(c,Array.prototype.slice.call(arguments,1)));if(!1===e)return!1;c.helpers&&f.each(c.helpers,function(d,e){if(e&&b.helpers[d]&&f.isFunction(b.helpers[d][a]))b.helpers[d][a](f.extend(!0,
|
||||||
|
{},b.helpers[d].defaults,e),c)});p.trigger(a)}},isImage:function(a){return q(a)&&a.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(a){return q(a)&&a.match(/\.(swf)((\?|#).*)?$/i)},_start:function(a){var d={},e,c;a=l(a);e=b.group[a]||null;if(!e)return!1;d=f.extend(!0,{},b.opts,e);e=d.margin;c=d.padding;"number"===f.type(e)&&(d.margin=[e,e,e,e]);"number"===f.type(c)&&(d.padding=[c,c,c,c]);d.modal&&f.extend(!0,d,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,
|
||||||
|
mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}});d.autoSize&&(d.autoWidth=d.autoHeight=!0);"auto"===d.width&&(d.autoWidth=!0);"auto"===d.height&&(d.autoHeight=!0);d.group=b.group;d.index=a;b.coming=d;if(!1===b.trigger("beforeLoad"))b.coming=null;else{c=d.type;e=d.href;if(!c)return b.coming=null,b.current&&b.router&&"jumpto"!==b.router?(b.current.index=a,b[b.router](b.direction)):!1;b.isActive=!0;if("image"===c||"swf"===c)d.autoHeight=d.autoWidth=!1,d.scrolling="visible";"image"===c&&(d.aspectRatio=
|
||||||
|
!0);"iframe"===c&&s&&(d.scrolling="scroll");d.wrap=f(d.tpl.wrap).addClass("fancybox-"+(s?"mobile":"desktop")+" fancybox-type-"+c+" fancybox-tmp "+d.wrapCSS).appendTo(d.parent||"body");f.extend(d,{skin:f(".fancybox-skin",d.wrap),outer:f(".fancybox-outer",d.wrap),inner:f(".fancybox-inner",d.wrap)});f.each(["Top","Right","Bottom","Left"],function(a,b){d.skin.css("padding"+b,w(d.padding[a]))});b.trigger("onReady");if("inline"===c||"html"===c){if(!d.content||!d.content.length)return b._error("content")}else if(!e)return b._error("href");
|
||||||
|
"image"===c?b._loadImage():"ajax"===c?b._loadAjax():"iframe"===c?b._loadIframe():b._afterLoad()}},_error:function(a){f.extend(b.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:a,content:b.coming.tpl.error});b._afterLoad()},_loadImage:function(){var a=b.imgPreload=new Image;a.onload=function(){this.onload=this.onerror=null;b.coming.width=this.width/b.opts.pixelRatio;b.coming.height=this.height/b.opts.pixelRatio;b._afterLoad()};a.onerror=function(){this.onload=
|
||||||
|
this.onerror=null;b._error("image")};a.src=b.coming.href;!0!==a.complete&&b.showLoading()},_loadAjax:function(){var a=b.coming;b.showLoading();b.ajaxLoad=f.ajax(f.extend({},a.ajax,{url:a.href,error:function(a,e){b.coming&&"abort"!==e?b._error("ajax",a):b.hideLoading()},success:function(d,e){"success"===e&&(a.content=d,b._afterLoad())}}))},_loadIframe:function(){var a=b.coming,d=f(a.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",s?"auto":a.iframe.scrolling).attr("src",a.href);
|
||||||
|
f(a.wrap).bind("onReset",function(){try{f(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(a){}});a.iframe.preload&&(b.showLoading(),d.one("load",function(){f(this).data("ready",1);s||f(this).bind("load.fb",b.update);f(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show();b._afterLoad()}));a.content=d.appendTo(a.inner);a.iframe.preload||b._afterLoad()},_preloadImages:function(){var a=b.group,d=b.current,e=a.length,c=d.preload?Math.min(d.preload,
|
||||||
|
e-1):0,f,g;for(g=1;g<=c;g+=1)f=a[(d.index+g)%e],"image"===f.type&&f.href&&((new Image).src=f.href)},_afterLoad:function(){var a=b.coming,d=b.current,e,c,k,g,h;b.hideLoading();if(a&&!1!==b.isActive)if(!1===b.trigger("afterLoad",a,d))a.wrap.stop(!0).trigger("onReset").remove(),b.coming=null;else{d&&(b.trigger("beforeChange",d),d.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove());b.unbindEvents();e=a.content;c=a.type;k=a.scrolling;f.extend(b,{wrap:a.wrap,skin:a.skin,
|
||||||
|
outer:a.outer,inner:a.inner,current:a,previous:d});g=a.href;switch(c){case "inline":case "ajax":case "html":a.selector?e=f("<div>").html(e).find(a.selector):t(e)&&(e.data("fancybox-placeholder")||e.data("fancybox-placeholder",f('<div class="fancybox-placeholder"></div>').insertAfter(e).hide()),e=e.show().detach(),a.wrap.bind("onReset",function(){f(this).find(e).length&&e.hide().replaceAll(e.data("fancybox-placeholder")).data("fancybox-placeholder",!1)}));break;case "image":e=a.tpl.image.replace("{href}",
|
||||||
|
g);break;case "swf":e='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+g+'"></param>',h="",f.each(a.swf,function(a,b){e+='<param name="'+a+'" value="'+b+'"></param>';h+=" "+a+'="'+b+'"'}),e+='<embed src="'+g+'" type="application/x-shockwave-flash" width="100%" height="100%"'+h+"></embed></object>"}(!t(e)||!e.parent().is(a.inner))&&a.inner.append(e);b.trigger("beforeShow");a.inner.css("overflow","yes"===k?"scroll":
|
||||||
|
"no"===k?"hidden":k);b._setDimension();b.reposition();b.isOpen=!1;b.coming=null;b.bindEvents();if(b.isOpened){if(d.prevMethod)b.transitions[d.prevMethod]()}else f(".fancybox-wrap").not(a.wrap).stop(!0).trigger("onReset").remove();b.transitions[b.isOpened?a.nextMethod:a.openMethod]();b._preloadImages()}},_setDimension:function(){var a=b.getViewport(),d=0,e=!1,c=!1,e=b.wrap,k=b.skin,g=b.inner,h=b.current,c=h.width,j=h.height,m=h.minWidth,u=h.minHeight,n=h.maxWidth,p=h.maxHeight,s=h.scrolling,q=h.scrollOutside?
|
||||||
|
h.scrollbarWidth:0,x=h.margin,y=l(x[1]+x[3]),r=l(x[0]+x[2]),v,z,t,C,A,F,B,D,H;e.add(k).add(g).width("auto").height("auto").removeClass("fancybox-tmp");x=l(k.outerWidth(!0)-k.width());v=l(k.outerHeight(!0)-k.height());z=y+x;t=r+v;C=E(c)?(a.w-z)*l(c)/100:c;A=E(j)?(a.h-t)*l(j)/100:j;if("iframe"===h.type){if(H=h.content,h.autoHeight&&1===H.data("ready"))try{H[0].contentWindow.document.location&&(g.width(C).height(9999),F=H.contents().find("body"),q&&F.css("overflow-x","hidden"),A=F.outerHeight(!0))}catch(G){}}else if(h.autoWidth||
|
||||||
|
h.autoHeight)g.addClass("fancybox-tmp"),h.autoWidth||g.width(C),h.autoHeight||g.height(A),h.autoWidth&&(C=g.width()),h.autoHeight&&(A=g.height()),g.removeClass("fancybox-tmp");c=l(C);j=l(A);D=C/A;m=l(E(m)?l(m,"w")-z:m);n=l(E(n)?l(n,"w")-z:n);u=l(E(u)?l(u,"h")-t:u);p=l(E(p)?l(p,"h")-t:p);F=n;B=p;h.fitToView&&(n=Math.min(a.w-z,n),p=Math.min(a.h-t,p));z=a.w-y;r=a.h-r;h.aspectRatio?(c>n&&(c=n,j=l(c/D)),j>p&&(j=p,c=l(j*D)),c<m&&(c=m,j=l(c/D)),j<u&&(j=u,c=l(j*D))):(c=Math.max(m,Math.min(c,n)),h.autoHeight&&
|
||||||
|
"iframe"!==h.type&&(g.width(c),j=g.height()),j=Math.max(u,Math.min(j,p)));if(h.fitToView)if(g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height(),h.aspectRatio)for(;(a>z||y>r)&&(c>m&&j>u)&&!(19<d++);)j=Math.max(u,Math.min(p,j-10)),c=l(j*D),c<m&&(c=m,j=l(c/D)),c>n&&(c=n,j=l(c/D)),g.width(c).height(j),e.width(c+x),a=e.width(),y=e.height();else c=Math.max(m,Math.min(c,c-(a-z))),j=Math.max(u,Math.min(j,j-(y-r)));q&&("auto"===s&&j<A&&c+x+q<z)&&(c+=q);g.width(c).height(j);e.width(c+x);a=e.width();
|
||||||
|
y=e.height();e=(a>z||y>r)&&c>m&&j>u;c=h.aspectRatio?c<F&&j<B&&c<C&&j<A:(c<F||j<B)&&(c<C||j<A);f.extend(h,{dim:{width:w(a),height:w(y)},origWidth:C,origHeight:A,canShrink:e,canExpand:c,wPadding:x,hPadding:v,wrapSpace:y-k.outerHeight(!0),skinSpace:k.height()-j});!H&&(h.autoHeight&&j>u&&j<p&&!c)&&g.height("auto")},_getPosition:function(a){var d=b.current,e=b.getViewport(),c=d.margin,f=b.wrap.width()+c[1]+c[3],g=b.wrap.height()+c[0]+c[2],c={position:"absolute",top:c[0],left:c[3]};d.autoCenter&&d.fixed&&
|
||||||
|
!a&&g<=e.h&&f<=e.w?c.position="fixed":d.locked||(c.top+=e.y,c.left+=e.x);c.top=w(Math.max(c.top,c.top+(e.h-g)*d.topRatio));c.left=w(Math.max(c.left,c.left+(e.w-f)*d.leftRatio));return c},_afterZoomIn:function(){var a=b.current;a&&(b.isOpen=b.isOpened=!0,b.wrap.css("overflow","visible").addClass("fancybox-opened"),b.update(),(a.closeClick||a.nextClick&&1<b.group.length)&&b.inner.css("cursor","pointer").bind("click.fb",function(d){!f(d.target).is("a")&&!f(d.target).parent().is("a")&&(d.preventDefault(),
|
||||||
|
b[a.closeClick?"close":"next"]())}),a.closeBtn&&f(a.tpl.closeBtn).appendTo(b.skin).bind("click.fb",function(a){a.preventDefault();b.close()}),a.arrows&&1<b.group.length&&((a.loop||0<a.index)&&f(a.tpl.prev).appendTo(b.outer).bind("click.fb",b.prev),(a.loop||a.index<b.group.length-1)&&f(a.tpl.next).appendTo(b.outer).bind("click.fb",b.next)),b.trigger("afterShow"),!a.loop&&a.index===a.group.length-1?b.play(!1):b.opts.autoPlay&&!b.player.isActive&&(b.opts.autoPlay=!1,b.play()))},_afterZoomOut:function(a){a=
|
||||||
|
a||b.current;f(".fancybox-wrap").trigger("onReset").remove();f.extend(b,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null});b.trigger("afterClose",a)}});b.transitions={getOrigPosition:function(){var a=b.current,d=a.element,e=a.orig,c={},f=50,g=50,h=a.hPadding,j=a.wPadding,m=b.getViewport();!e&&(a.isDom&&d.is(":visible"))&&(e=d.find("img:first"),e.length||(e=d));t(e)?(c=e.offset(),e.is("img")&&(f=e.outerWidth(),g=e.outerHeight())):
|
||||||
|
(c.top=m.y+(m.h-g)*a.topRatio,c.left=m.x+(m.w-f)*a.leftRatio);if("fixed"===b.wrap.css("position")||a.locked)c.top-=m.y,c.left-=m.x;return c={top:w(c.top-h*a.topRatio),left:w(c.left-j*a.leftRatio),width:w(f+j),height:w(g+h)}},step:function(a,d){var e,c,f=d.prop;c=b.current;var g=c.wrapSpace,h=c.skinSpace;if("width"===f||"height"===f)e=d.end===d.start?1:(a-d.start)/(d.end-d.start),b.isClosing&&(e=1-e),c="width"===f?c.wPadding:c.hPadding,c=a-c,b.skin[f](l("width"===f?c:c-g*e)),b.inner[f](l("width"===
|
||||||
|
f?c:c-g*e-h*e))},zoomIn:function(){var a=b.current,d=a.pos,e=a.openEffect,c="elastic"===e,k=f.extend({opacity:1},d);delete k.position;c?(d=this.getOrigPosition(),a.openOpacity&&(d.opacity=0.1)):"fade"===e&&(d.opacity=0.1);b.wrap.css(d).animate(k,{duration:"none"===e?0:a.openSpeed,easing:a.openEasing,step:c?this.step:null,complete:b._afterZoomIn})},zoomOut:function(){var a=b.current,d=a.closeEffect,e="elastic"===d,c={opacity:0.1};e&&(c=this.getOrigPosition(),a.closeOpacity&&(c.opacity=0.1));b.wrap.animate(c,
|
||||||
|
{duration:"none"===d?0:a.closeSpeed,easing:a.closeEasing,step:e?this.step:null,complete:b._afterZoomOut})},changeIn:function(){var a=b.current,d=a.nextEffect,e=a.pos,c={opacity:1},f=b.direction,g;e.opacity=0.1;"elastic"===d&&(g="down"===f||"up"===f?"top":"left","down"===f||"right"===f?(e[g]=w(l(e[g])-200),c[g]="+=200px"):(e[g]=w(l(e[g])+200),c[g]="-=200px"));"none"===d?b._afterZoomIn():b.wrap.css(e).animate(c,{duration:a.nextSpeed,easing:a.nextEasing,complete:b._afterZoomIn})},changeOut:function(){var a=
|
||||||
|
b.previous,d=a.prevEffect,e={opacity:0.1},c=b.direction;"elastic"===d&&(e["down"===c||"up"===c?"top":"left"]=("up"===c||"left"===c?"-":"+")+"=200px");a.wrap.animate(e,{duration:"none"===d?0:a.prevSpeed,easing:a.prevEasing,complete:function(){f(this).trigger("onReset").remove()}})}};b.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!s,fixed:!0},overlay:null,fixed:!1,el:f("html"),create:function(a){a=f.extend({},this.defaults,a);this.overlay&&this.close();this.overlay=
|
||||||
|
f('<div class="fancybox-overlay"></div>').appendTo(b.coming?b.coming.parent:a.parent);this.fixed=!1;a.fixed&&b.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(a){var d=this;a=f.extend({},this.defaults,a);this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(a);this.fixed||(n.bind("resize.overlay",f.proxy(this.update,this)),this.update());a.closeClick&&this.overlay.bind("click.overlay",function(a){if(f(a.target).hasClass("fancybox-overlay"))return b.isActive?
|
||||||
|
b.close():d.close(),!1});this.overlay.css(a.css).show()},close:function(){var a,b;n.unbind("resize.overlay");this.el.hasClass("fancybox-lock")&&(f(".fancybox-margin").removeClass("fancybox-margin"),a=n.scrollTop(),b=n.scrollLeft(),this.el.removeClass("fancybox-lock"),n.scrollTop(a).scrollLeft(b));f(".fancybox-overlay").remove().hide();f.extend(this,{overlay:null,fixed:!1})},update:function(){var a="100%",b;this.overlay.width(a).height("100%");I?(b=Math.max(G.documentElement.offsetWidth,G.body.offsetWidth),
|
||||||
|
p.width()>b&&(a=p.width())):p.width()>n.width()&&(a=p.width());this.overlay.width(a).height(p.height())},onReady:function(a,b){var e=this.overlay;f(".fancybox-overlay").stop(!0,!0);e||this.create(a);a.locked&&(this.fixed&&b.fixed)&&(e||(this.margin=p.height()>n.height()?f("html").css("margin-right").replace("px",""):!1),b.locked=this.overlay.append(b.wrap),b.fixed=!1);!0===a.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(a,b){var e,c;b.locked&&(!1!==this.margin&&(f("*").filter(function(){return"fixed"===
|
||||||
|
f(this).css("position")&&!f(this).hasClass("fancybox-overlay")&&!f(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),e=n.scrollTop(),c=n.scrollLeft(),this.el.addClass("fancybox-lock"),n.scrollTop(e).scrollLeft(c));this.open(a)},onUpdate:function(){this.fixed||this.update()},afterClose:function(a){this.overlay&&!b.coming&&this.overlay.fadeOut(a.speedOut,f.proxy(this.close,this))}};b.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(a){var d=
|
||||||
|
b.current,e=d.title,c=a.type;f.isFunction(e)&&(e=e.call(d.element,d));if(q(e)&&""!==f.trim(e)){d=f('<div class="fancybox-title fancybox-title-'+c+'-wrap">'+e+"</div>");switch(c){case "inside":c=b.skin;break;case "outside":c=b.wrap;break;case "over":c=b.inner;break;default:c=b.skin,d.appendTo("body"),I&&d.width(d.width()),d.wrapInner('<span class="child"></span>'),b.current.margin[2]+=Math.abs(l(d.css("margin-bottom")))}d["top"===a.position?"prependTo":"appendTo"](c)}}};f.fn.fancybox=function(a){var d,
|
||||||
|
e=f(this),c=this.selector||"",k=function(g){var h=f(this).blur(),j=d,k,l;!g.ctrlKey&&(!g.altKey&&!g.shiftKey&&!g.metaKey)&&!h.is(".fancybox-wrap")&&(k=a.groupAttr||"data-fancybox-group",l=h.attr(k),l||(k="rel",l=h.get(0)[k]),l&&(""!==l&&"nofollow"!==l)&&(h=c.length?f(c):e,h=h.filter("["+k+'="'+l+'"]'),j=h.index(this)),a.index=j,!1!==b.open(h,a)&&g.preventDefault())};a=a||{};d=a.index||0;!c||!1===a.live?e.unbind("click.fb-start").bind("click.fb-start",k):p.undelegate(c,"click.fb-start").delegate(c+
|
||||||
|
":not('.fancybox-item, .fancybox-nav')","click.fb-start",k);this.filter("[data-fancybox-start=1]").trigger("click");return this};p.ready(function(){var a,d;f.scrollbarWidth===v&&(f.scrollbarWidth=function(){var a=f('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),b=a.children(),b=b.innerWidth()-b.height(99).innerWidth();a.remove();return b});if(f.support.fixedPosition===v){a=f.support;d=f('<div style="position:fixed;top:20px;"></div>').appendTo("body");var e=20===
|
||||||
|
d[0].offsetTop||15===d[0].offsetTop;d.remove();a.fixedPosition=e}f.extend(b.defaults,{scrollbarWidth:f.scrollbarWidth(),fixed:f.support.fixedPosition,parent:f("body")});a=f(r).width();J.addClass("fancybox-lock-test");d=f(r).width();J.removeClass("fancybox-lock-test");f("<style type='text/css'>.fancybox-margin{margin-right:"+(d-a)+"px;}</style>").appendTo("head")})})(window,document,jQuery);
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
/*! Copyright (c) 2011 Brandon Aaron (http://brandonaaron.net)
|
||||||
|
* Licensed under the MIT License (LICENSE.txt).
|
||||||
|
*
|
||||||
|
* Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
|
||||||
|
* Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
|
||||||
|
* Thanks to: Seamus Leahy for adding deltaX and deltaY
|
||||||
|
*
|
||||||
|
* Version: 3.0.6
|
||||||
|
*
|
||||||
|
* Requires: 1.2.2+
|
||||||
|
*/
|
||||||
|
(function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]=
|
||||||
|
d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);
|
||||||
@ -0,0 +1,51 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @version 3.6.0
|
||||||
|
* @package Simple Image Gallery (plugin)
|
||||||
|
* @author JoomlaWorks - http://www.joomlaworks.net
|
||||||
|
* @copyright Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
|
||||||
|
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
// no direct access
|
||||||
|
defined( '_JEXEC' ) or die( 'Restricted access' );
|
||||||
|
|
||||||
|
$extraClass = 'fancybox-gallery';
|
||||||
|
$customLinkAttributes = 'data-fancybox="gallery'.$gal_id.'"';
|
||||||
|
|
||||||
|
$stylesheets = array(
|
||||||
|
'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.2.5/jquery.fancybox.min.css'
|
||||||
|
);
|
||||||
|
$stylesheetDeclarations = array();
|
||||||
|
$scripts = array(
|
||||||
|
'https://cdnjs.cloudflare.com/ajax/libs/fancybox/3.2.5/jquery.fancybox.min.js'
|
||||||
|
);
|
||||||
|
|
||||||
|
if(!defined('PE_FANCYBOX_LOADED')){
|
||||||
|
define('PE_FANCYBOX_LOADED', true);
|
||||||
|
$scriptDeclarations = array("
|
||||||
|
(function($) {
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('a.fancybox-gallery').fancybox({
|
||||||
|
buttons: [
|
||||||
|
'slideShow',
|
||||||
|
'fullScreen',
|
||||||
|
'thumbs',
|
||||||
|
'share',
|
||||||
|
'download',
|
||||||
|
//'zoom',
|
||||||
|
'close'
|
||||||
|
],
|
||||||
|
beforeShow: function(instance, current) {
|
||||||
|
if (current.type === 'image') {
|
||||||
|
var title = current.opts.\$orig.attr('title');
|
||||||
|
current.opts.caption = (title.length ? '<b class=\"fancyboxCounter\">".JText::_('JW_PLG_SIG_FB_IMAGE')." ' + (current.index + 1) + ' ".JText::_('JW_PLG_SIG_FB_OF')." ' + instance.group.length + '</b>' + ' | ' + title : '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
})(jQuery);
|
||||||
|
");
|
||||||
|
} else {
|
||||||
|
$scriptDeclarations = array();
|
||||||
|
}
|
||||||
BIN
deployed/jw_sig/plugins/content/jw_sig/jw_sig/tmpl/.DS_Store
vendored
Normal file
BIN
deployed/jw_sig/plugins/content/jw_sig/jw_sig/tmpl/Classic/.DS_Store
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/**
|
||||||
|
* @version 3.6.0
|
||||||
|
* @package Simple Image Gallery (plugin)
|
||||||
|
* @author JoomlaWorks - http://www.joomlaworks.net
|
||||||
|
* @copyright Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
|
||||||
|
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* --- Generic Styling --- */
|
||||||
|
a:active,a:focus {outline:0;}
|
||||||
|
table.contentpaneopen {width:100%;}
|
||||||
|
li.sigFreeClear {clear:both;float:none!important;height:0!important;line-height:0!important;border:none!important;background:none!important;width:auto;margin:0!important;padding:0!important;}
|
||||||
|
|
||||||
|
/* Container */
|
||||||
|
ul.sigFreeClassic {margin:8px auto!important;padding:8px 0!important;list-style:none;clear:both;overflow:hidden;}
|
||||||
|
ul.sigFreeClassic.singleThumbGallery {margin:0!important;padding:8px 0!important;list-style:none!important;float:left;}
|
||||||
|
|
||||||
|
/* Thumbnail */
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb {float:left;background:#fff!important;margin:0 1px 1px 0;padding:0;list-style:none!important;}
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink,
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover {display:block;float:left;padding:0;margin:0;border:0;background-color:#000;position:relative;}
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink {}
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover {}
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink img.sigFreeImg,
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover img.sigFreeImg {display:block;width:100%;height:100%;padding:0;margin:0;border:none;background-repeat:no-repeat;background-position:50% 50%;}
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover img.sigFreeImg {opacity:0.7;}
|
||||||
|
ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover:after {position:absolute;top:50%;left:50%;margin:-24px 0 0 -24px;display:block;content:"";width:48px;height:48px;background:transparent url(../images/magnify_48x48_24.png) no-repeat;}
|
||||||
|
|
||||||
|
/* IE specific styling:Use "body.sigFreeIsIEX element {}" - where X is 6, 7 or 8 - to target elements for these browser versions only */
|
||||||
|
body.sigFreeIsIE6 {}
|
||||||
|
body.sigFreeIsIE7 {}
|
||||||
|
body.sigFreeIsIE7 ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink,
|
||||||
|
body.sigFreeIsIE7 ul.sigFreeClassic li.sigFreeThumb a.sigFreeLink:hover {float:left;}
|
||||||
|
body.sigFreeIsIE8 {}
|
||||||
|
body.sigFreeIsIE9 {}
|
||||||
|
|
||||||
|
/* Print message shown on ?tmpl=component&print=1 */
|
||||||
|
.sigFreePrintOutput {display:none;}
|
||||||
|
|
||||||
|
/* Print CSS rules used to hide galleries on page print outs and display URL */
|
||||||
|
@media print {
|
||||||
|
.sigFreeContainer {display:none;}
|
||||||
|
.sigFreePrintOutput {display:block;color:#999;font-size:14px;padding:8px 0;}
|
||||||
|
.sigFreePrintOutput img {width:33%;height:auto;vertical-align:top;}
|
||||||
|
}
|
||||||
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @version 3.6.0
|
||||||
|
* @package Simple Image Gallery (plugin)
|
||||||
|
* @author JoomlaWorks - http://www.joomlaworks.net
|
||||||
|
* @copyright Copyright (c) 2006 - 2018 JoomlaWorks Ltd. All rights reserved.
|
||||||
|
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
// no direct access
|
||||||
|
defined('_JEXEC') or die('Restricted access');
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<ul id="sigFreeId<?php echo $gal_id; ?>" class="sigFreeContainer sigFreeClassic<?php echo $extraWrapperClass; ?>">
|
||||||
|
<?php foreach($gallery as $count=>$photo): ?>
|
||||||
|
<li class="sigFreeThumb">
|
||||||
|
<a href="<?php echo $photo->sourceImageFilePath; ?>" class="sigFreeLink<?php echo $extraClass; ?>" style="width:<?php echo $photo->width; ?>px;height:<?php echo $photo->height; ?>px;" title="<?php echo JText::_('JW_PLG_SIG_YOU_ARE_VIEWING').' '.$photo->filename; ?>" data-thumb="<?php echo $photo->thumbImageFilePath; ?>" target="_blank"<?php echo $customLinkAttributes; ?>>
|
||||||
|
<img class="sigFreeImg" src="<?php echo $transparent; ?>" alt="<?php echo JText::_('JW_PLG_SIG_CLICK_TO_ENLARGE_IMAGE').' '.$photo->filename; ?>" title="<?php echo JText::_('JW_PLG_SIG_CLICK_TO_ENLARGE_IMAGE').' '.$photo->filename; ?>" style="width:<?php echo $photo->width; ?>px;height:<?php echo $photo->height; ?>px;background-image:url('<?php echo $photo->thumbImageFilePath; ?>');" />
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<li class="sigFreeClear"> </li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<?php if($isPrintPage): ?>
|
||||||
|
<!-- Print output -->
|
||||||
|
<div class="sigFreePrintOutput">
|
||||||
|
<?php foreach($gallery as $count => $photo): ?>
|
||||||
|
<img src="<?php echo $photo->thumbImageFilePath; ?>" alt="<?php echo $photo->filename; ?>" />
|
||||||
|
<?php if(($count+1)%3 == 0): ?><br /><br /><?php endif; ?>
|
||||||
|
<?php endforeach; ?>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
After Width: | Height: | Size: 620 B |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 3.3 KiB |