diff --git a/classes/RateItArticle.php b/classes/RateItArticle.php index 044abb0..b353b8e 100644 --- a/classes/RateItArticle.php +++ b/classes/RateItArticle.php @@ -198,7 +198,7 @@ class RateItArticle extends RateItFrontend { continue; } - $this->addRatingForImage($arrRating, $arrGallery['id'], $objFile->id, $objFile->path); + $this->addRatingForImage($arrRating, $arrGallery['id'], $objFiles->id, $objFile->path); } // Folders else { @@ -224,7 +224,7 @@ class RateItArticle extends RateItFrontend { continue; } - $this->addRatingForImage($arrRating, $arrGallery['id'], $objSubfiles->id, $objSubfiles->path); + $this->addRatingForImage($arrRating, $arrGallery['id'], $objSubfiles->id, $objSubfiles->path); } } } diff --git a/dca/tl_content.php b/dca/tl_content.php index 76321bf..8d2361d 100644 --- a/dca/tl_content.php +++ b/dca/tl_content.php @@ -92,7 +92,7 @@ class tl_content_rateit extends rateit\DcaHelper { continue; } - $this->insertOrUpdateRatingItemGallery($dc, $type, $objFile->name, $objFile->id, ($dc->activeRecord->rateit_active ? '1' : '')); + $this->insertOrUpdateRatingItemGallery($dc, $type, $objFile->name, $objFiles->id, ($dc->activeRecord->rateit_active ? '1' : '')); } // Folders else { @@ -131,7 +131,11 @@ class tl_content_rateit extends rateit\DcaHelper { public function delete(\DC_Table $dc) { if ($dc->activeRecord->type == "gallery") { - $objFiles = \FilesModel::findMultipleByUuids(deserialize($dc->activeRecord->multiSRC)); + if (version_compare(VERSION, '3.2', '>=')) { + $objFiles = \FilesModel::findMultipleByUuids(deserialize($dc->activeRecord->multiSRC)); + } else { + $objFiles = \FilesModel::findMultipleByIds(deserialize($dc->activeRecord->multiSRC)); + } // Get all images while ($objFiles->next()) { @@ -143,13 +147,17 @@ class tl_content_rateit extends rateit\DcaHelper { continue; } - $rkey = $dc->activeRecord->id.'_'.$objFile->id; + $rkey = $dc->activeRecord->id.'_'.$objFiles->id; $this->Database->prepare("DELETE FROM tl_rateit_items WHERE rkey=? and typ=?") ->execute($rkey, 'galpic'); } // Folders else { - $objSubfiles = \FilesModel::findByPid($objFiles->uuid); + if (version_compare(VERSION, '3.2', '>=')) { + $objSubfiles = \FilesModel::findByPid($objFiles->uuid); + } else { + $objSubfiles = \FilesModel::findByPid($objFiles->id); + } if ($objSubfiles === null) { continue; @@ -167,7 +175,7 @@ class tl_content_rateit extends rateit\DcaHelper { continue; } - $rkey = $dc->activeRecord->id.'_'.$objFile->id; + $rkey = $dc->activeRecord->id.'_'.$objSubfiles->id; $this->Database->prepare("DELETE FROM tl_rateit_items WHERE rkey=? and typ=?") ->execute($rkey, 'galpic'); } diff --git a/public/js/jquery/colorbox/colorbox-rateit.js b/public/js/jquery/colorbox/colorbox-rateit.js index 1f5d3c2..fd5dc4e 100644 --- a/public/js/jquery/colorbox/colorbox-rateit.js +++ b/public/js/jquery/colorbox/colorbox-rateit.js @@ -1,7 +1,7 @@ /*! - Colorbox v1.4.31 - 2013-09-25 + Colorbox v1.5.8 - 2014-04-15 jQuery lightbox and modal window plugin - (c) 2013 Jack Moore - http://www.jacklmoore.com/colorbox + (c) 2014 Jack Moore - http://www.jacklmoore.com/colorbox license: http://www.opensource.org/licenses/mit-license.php */ (function ($, document, window) { @@ -29,9 +29,6 @@ maxHeight: false, scalePhotos: true, scrolling: true, - href: false, - title: false, - rel: false, opacity: 0.9, preloading: true, className: false, @@ -54,7 +51,7 @@ slideshowSpeed: 2500, slideshowStart: "start slideshow", slideshowStop: "stop slideshow", - photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico|webp)((#|\?).*)?$/i, + photoRegex: /\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i, // alternate image paths for high-res displays retinaImage: false, @@ -78,9 +75,21 @@ onLoad: false, onComplete: false, onCleanup: false, - onClosed: false + onClosed: false, + + rel: function() { + return this.rel; + }, + href: function() { + // using this.href would give the absolute url, when the href may have been inteded as a selector (e.g. '#container') + return $(this).attr('href'); + }, + title: function() { + return this.title; + } }, - + + // Abstracting the HTML and event identifiers for easy rebranding colorbox = 'colorbox', prefix = 'cbox', @@ -120,7 +129,7 @@ $ratingHover, $ratingDescription, $groupControls, - $events = $(''), + $events = $(''), // $({}) would be prefered, but there is an issue with jQuery 1.4.2 // Variables for cached values or use across multiple functions settings, @@ -128,7 +137,6 @@ interfaceWidth, loadedHeight, loadedWidth, - element, index, photo, open, @@ -137,7 +145,6 @@ loadingTimer, publicMethod, div = "div", - className, requests = 0, previousCSS = {}, init; @@ -167,6 +174,38 @@ return window.innerHeight ? window.innerHeight : $(window).height(); } + function Settings(element, options) { + if (options !== Object(options)) { + options = {}; + } + + this.cache = {}; + this.el = element; + + this.value = function(key) { + var dataAttr; + + if (this.cache[key] === undefined) { + dataAttr = $(this.el).attr('data-cbox-'+key); + + if (dataAttr !== undefined) { + this.cache[key] = dataAttr; + } else if (options[key] !== undefined) { + this.cache[key] = options[key]; + } else if (defaults[key] !== undefined) { + this.cache[key] = defaults[key]; + } + } + + return this.cache[key]; + }; + + this.get = function(key) { + var value = this.value(key); + return $.isFunction(value) ? value.call(this.el, this) : value; + }; + } + // Determine the next and previous members in a group. function getIndex(increment) { var @@ -184,62 +223,55 @@ // Checks an href to see if it is a photo. // There is a force photo option (photo: true) for hrefs that cannot be matched by the regex. function isImage(settings, url) { - return settings.photo || settings.photoRegex.test(url); + return settings.get('photo') || settings.get('photoRegex').test(url); } function retinaUrl(settings, url) { - return settings.retinaUrl && window.devicePixelRatio > 1 ? url.replace(settings.photoRegex, settings.retinaSuffix) : url; + return settings.get('retinaUrl') && window.devicePixelRatio > 1 ? url.replace(settings.get('photoRegex'), settings.get('retinaSuffix')) : url; } function trapFocus(e) { - if ('contains' in $box[0] && !$box[0].contains(e.target)) { + if ('contains' in $box[0] && !$box[0].contains(e.target) && e.target !== $overlay[0]) { e.stopPropagation(); $box.focus(); } } - // Assigns function results to their respective properties - function makeSettings() { - var i, - data = $.data(element, colorbox); + function setClass(str) { + if (setClass.str !== str) { + $box.add($overlay).removeClass(setClass.str).addClass(str); + setClass.str = str; + } + } + + function getRelated(rel) { + index = 0; - if (data == null) { - settings = $.extend({}, defaults); - if (console && console.log) { - console.log('Error: cboxElement missing settings object'); + if (rel && rel !== false) { + $related = $('.' + boxElement).filter(function () { + var options = $.data(this, colorbox); + var settings = new Settings(this, options); + return (settings.get('rel') === rel); + }); + index = $related.index(settings.el); + + // Check direct calls to Colorbox. + if (index === -1) { + $related = $related.add(settings.el); + index = $related.length - 1; } } else { - settings = $.extend({}, data); - } - - for (i in settings) { - if ($.isFunction(settings[i]) && i.slice(0, 2) !== 'on') { // checks to make sure the function isn't one of the callbacks, they will be handled at the appropriate time. - settings[i] = settings[i].call(element); - } - } - - settings.rel = settings.rel || element.rel || $(element).data('rel') || 'nofollow'; - settings.href = settings.href || $(element).attr('href'); - settings.title = settings.title || element.title; - - if (typeof settings.href === "string") { - settings.href = $.trim(settings.href); + $related = $(settings.el); } } - function trigger(event, callback) { + function trigger(event) { // for external use $(document).trigger(event); - // for internal use - $events.trigger(event); - - if ($.isFunction(callback)) { - callback.call(element); - } + $events.triggerHandler(event); } - var slideshow = (function(){ var active, className = prefix + "Slideshow_", @@ -251,15 +283,15 @@ } function set() { - if (settings.loop || $related[index + 1]) { + if (settings.get('loop') || $related[index + 1]) { clear(); - timeOut = setTimeout(publicMethod.next, settings.slideshowSpeed); + timeOut = setTimeout(publicMethod.next, settings.get('slideshowSpeed')); } } function start() { $slideshow - .html(settings.slideshowStop) + .html(settings.get('slideshowStop')) .unbind(click) .one(click, stop); @@ -278,7 +310,7 @@ .unbind(event_load, clear); $slideshow - .html(settings.slideshowStart) + .html(settings.get('slideshowStart')) .unbind(click) .one(click, function () { publicMethod.next(); @@ -300,15 +332,15 @@ return function(){ if (active) { - if (!settings.slideshow) { + if (!settings.get('slideshow')) { $events.unbind(event_cleanup, reset); reset(); } } else { - if (settings.slideshow && $related[1]) { + if (settings.get('slideshow') && $related[1]) { active = true; $events.one(event_cleanup, reset); - if (settings.slideshowAuto) { + if (settings.get('slideshowAuto')) { start(); } else { stop(); @@ -321,65 +353,26 @@ }()); - function launch(target) { + function launch(element) { + var options; + if (!closing) { - - element = target; - - makeSettings(); - - $related = $(element); - - index = 0; - - if (settings.rel !== 'nofollow') { - $related = $('.' + boxElement).filter(function () { - var data = $.data(this, colorbox), - relRelated; - if (data) { - relRelated = $(this).data('rel') || data.rel || this.rel; - } - - return (relRelated === settings.rel); - }); - index = $related.index(element); - - // Check direct calls to Colorbox. - if (index === -1) { - $related = $related.add(element); - index = $related.length - 1; - } - } - - $overlay.css({ - opacity: parseFloat(settings.opacity), - cursor: settings.overlayClose ? "pointer" : "auto", - visibility: 'visible' - }).show(); - + options = $(element).data('colorbox'); - if (className) { - $box.add($overlay).removeClass(className); - } - if (settings.className) { - $box.add($overlay).addClass(settings.className); - } - className = settings.className; - - if (settings.closeButton) { - $close.html(settings.close).appendTo($content); - } else { - $close.appendTo('
'); - } + settings = new Settings(element, options); + + getRelated(settings.get('rel')); if (!open) { open = active = true; // Prevents the page-change action from queuing up if the visitor holds down the left or right keys. + + setClass(settings.get('className')); // Show colorbox so the sizes can be calculated in older versions of jQuery - $box.css({visibility:'hidden', display:'block'}); + $box.css({visibility:'hidden', display:'block', opacity:''}); - $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden'); + $loaded = $tag(div, 'LoadedContent', 'width:0; height:0; overflow:hidden; visibility:hidden'); $content.css({width:'', height:''}).append($loaded); // Cache values needed for size calculations @@ -389,18 +382,25 @@ loadedWidth = $loaded.outerWidth(true); // Opens inital empty Colorbox prior to content being loaded. - settings.w = setSize(settings.initialWidth, 'x'); - settings.h = setSize(settings.initialHeight, 'y'); + var initialWidth = setSize(settings.get('initialWidth'), 'x'); + var initialHeight = setSize(settings.get('initialHeight'), 'y'); + var maxWidth = settings.get('maxWidth'); + var maxHeight = settings.get('maxHeight'); + + settings.w = (maxWidth !== false ? Math.min(initialWidth, setSize(maxWidth, 'x')) : initialWidth) - loadedWidth - interfaceWidth; + settings.h = (maxHeight !== false ? Math.min(initialHeight, setSize(maxHeight, 'y')) : initialHeight) - loadedHeight - interfaceHeight; + $loaded.css({width:'', height:settings.h}); publicMethod.position(); - trigger(event_open, settings.onOpen); - + trigger(event_open); + settings.get('onOpen'); + $groupControls.add($title).hide(); $box.focus(); - if (settings.trapFocus) { + if (settings.get('trapFocus')) { // Confine focus to the modal // Uses event capturing that is not supported in IE8- if (document.addEventListener) { @@ -414,12 +414,25 @@ } // Return focus on closing - if (settings.returnFocus) { + if (settings.get('returnFocus')) { $events.one(event_closed, function () { - $(element).focus(); + $(settings.el).focus(); }); } } + + $overlay.css({ + opacity: parseFloat(settings.get('opacity')) || '', + cursor: settings.get('overlayClose') ? 'pointer' : '', + visibility: 'visible' + }).show(); + + if (settings.get('closeButton')) { + $close.html(settings.get('close')).appendTo($content); + } else { + $close.appendTo(''); // replace with .detach() when dropping jQuery < 1.4 + } + load(); } } @@ -457,7 +470,7 @@ $next = $('').attr({id:prefix+'Next'}), $slideshow = $tag('button', "Slideshow"), $loadingOverlay - ).css({'margin-bottom': '20px'});; + ); $close = $('').attr({id:prefix+'Close'}); @@ -479,7 +492,7 @@ ) ).find('div div').css({'float': 'left'}); - $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none'); + $loadingBay = $tag(div, false, 'position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;'); $groupControls = $next.add($prev).add($current).add($slideshow); @@ -513,7 +526,7 @@ publicMethod.close(); }); $overlay.click(function () { - if (settings.overlayClose) { + if (settings.get('overlayClose')) { publicMethod.close(); } }); @@ -521,11 +534,11 @@ // Key Bindings $(document).bind('keydown.' + prefix, function (e) { var key = e.keyCode; - if (open && settings.escKey && key === 27) { + if (open && settings.get('escKey') && key === 27) { e.preventDefault(); publicMethod.close(); } - if (open && settings.arrowKey && $related[1] && !e.altKey) { + if (open && settings.get('arrowKey') && $related[1] && !e.altKey) { if (key === 37) { e.preventDefault(); $prev.click(); @@ -567,34 +580,44 @@ // **************** publicMethod = $.fn[colorbox] = $[colorbox] = function (options, callback) { - var $this = this; - + var settings; + var $obj = this; + options = options || {}; + + if ($.isFunction($obj)) { // assume a call to $.colorbox + $obj = $(''); + options.open = true; + } else if (!$obj[0]) { // colorbox being applied to empty collection + return $obj; + } + + + if (!$obj[0]) { // colorbox being applied to empty collection + return $obj; + } appendHTML(); if (addBindings()) { - if ($.isFunction($this)) { // assume a call to $.colorbox - $this = $(''); - options.open = true; - } else if (!$this[0]) { // colorbox being applied to empty collection - return $this; - } - + if (callback) { options.onComplete = callback; } - - $this.each(function () { - $.data(this, colorbox, $.extend({}, $.data(this, colorbox) || defaults, options)); + + $obj.each(function () { + var old = $.data(this, colorbox) || {}; + $.data(this, colorbox, $.extend(old, options)); }).addClass(boxElement); + + settings = new Settings($obj[0], options); - if (($.isFunction(options.open) && options.open.call($this)) || options.open) { - launch($this[0]); + if (settings.get('open')) { + launch($obj[0]); } } - return $this; + return $obj; }; publicMethod.position = function (speed, loadedCallback) { @@ -614,7 +637,7 @@ scrollTop = $window.scrollTop(); scrollLeft = $window.scrollLeft(); - if (settings.fixed) { + if (settings.get('fixed')) { offset.top -= scrollTop; offset.left -= scrollLeft; $box.css({position: 'fixed'}); @@ -625,18 +648,18 @@ } // keeps the top and left positions within the browser's viewport. - if (settings.right !== false) { - left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.right, 'x'), 0); - } else if (settings.left !== false) { - left += setSize(settings.left, 'x'); + if (settings.get('right') !== false) { + left += Math.max($window.width() - settings.w - loadedWidth - interfaceWidth - setSize(settings.get('right'), 'x'), 0); + } else if (settings.get('left') !== false) { + left += setSize(settings.get('left'), 'x'); } else { left += Math.round(Math.max($window.width() - settings.w - loadedWidth - interfaceWidth, 0) / 2); } - if (settings.bottom !== false) { - top += Math.max(winheight() - settings.h - loadedHeight - interfaceHeight - setSize(settings.bottom, 'y'), 0); - } else if (settings.top !== false) { - top += setSize(settings.top, 'y'); + if (settings.get('bottom') !== false) { + top += Math.max(winheight() - settings.h - loadedHeight - interfaceHeight - setSize(settings.get('bottom'), 'y'), 0); + } else if (settings.get('top') !== false) { + top += setSize(settings.get('top'), 'y'); } else { top += Math.round(Math.max(winheight() - settings.h - loadedHeight - interfaceHeight, 0) / 2); } @@ -684,7 +707,7 @@ $wrap[0].style.width = (settings.w + loadedWidth + interfaceWidth) + "px"; $wrap[0].style.height = (settings.h + loadedHeight + interfaceHeight) + "px"; - if (settings.reposition) { + if (settings.get('reposition')) { setTimeout(function () { // small delay before binding onresize due to an IE8 bug. $window.bind('resize.' + prefix, publicMethod.position); }, 1); @@ -734,7 +757,7 @@ $loaded.scrollTop(scrolltop); } - publicMethod.position(settings.transition === "none" ? 0 : settings.speed); + publicMethod.position(settings.get('transition') === "none" ? 0 : settings.get('speed')); } }; @@ -743,9 +766,9 @@ return; } - var callback, speed = settings.transition === "none" ? 0 : settings.speed; + var callback, speed = settings.get('transition') === "none" ? 0 : settings.get('speed'); - $loaded.empty().remove(); // Using empty first may prevent some IE7 issues. + $loaded.remove(); $loaded = $tag(div, 'LoadedContent').append(object); @@ -789,7 +812,7 @@ $loaded.hide() .appendTo($loadingBay.show())// content has to be appended to the DOM for accurate size calculations. - .css({width: getWidth(), overflow: settings.scrolling ? 'auto' : 'hidden'}) + .css({width: getWidth(), overflow: settings.get('scrolling') ? 'auto' : 'hidden'}) .css({height: getHeight()})// sets the height independently from the width in case the new width influences the value of height. .prependTo($content); @@ -799,18 +822,18 @@ $(photo).css({'float': 'none'}); + setClass(settings.get('className')); + callback = function () { var total = $related.length, iframe, - frameBorder = 'frameBorder', - allowTransparency = 'allowTransparency', complete; if (!open) { return; } - function removeFilter() { // Needed for IE7 & IE8 in versions of jQuery prior to 1.7.2 + function removeFilter() { // Needed for IE8 in versions of jQuery prior to 1.7.2 if ($.support.opacity === false) { $box[0].style.removeAttribute('filter'); } @@ -819,41 +842,34 @@ complete = function () { clearTimeout(loadingTimer); $loadingOverlay.hide(); - trigger(event_complete, settings.onComplete); + trigger(event_complete); + settings.get('onComplete'); }; - $title.html(settings.title).add($loaded).show(); + $title.html(settings.get('title')).show(); + $loaded.show(); if (total > 1) { // handle grouping - if (typeof settings.current === "string") { - $current.html(settings.current.replace('{current}', index + 1).replace('{total}', total)).show(); + if (typeof settings.get('current') === "string") { + $current.html(settings.get('current').replace('{current}', index + 1).replace('{total}', total)).show(); } - $next[(settings.loop || index < total - 1) ? "show" : "hide"]().html(settings.next); - $prev[(settings.loop || index) ? "show" : "hide"]().html(settings.previous); + $next[(settings.get('loop') || index < total - 1) ? "show" : "hide"]().html(settings.get('next')); + $prev[(settings.get('loop') || index) ? "show" : "hide"]().html(settings.get('previous')); slideshow(); // Preloads images within a rel group - if (settings.preloading) { + if (settings.get('preloading')) { $.each([getIndex(-1), getIndex(1)], function(){ - var src, - img, + var img, i = $related[this], - data = $.data(i, colorbox); + settings = new Settings(i, $.data(i, colorbox)), + src = settings.get('href'); - if (data && data.href) { - src = data.href; - if ($.isFunction(src)) { - src = src.call(i); - } - } else { - src = $(i).attr('href'); - } - - if (src && isImage(data, src)) { - src = retinaUrl(data, src); + if (src && isImage(settings, src)) { + src = retinaUrl(settings, src); img = document.createElement('img'); img.src = src; } @@ -863,29 +879,27 @@ $groupControls.hide(); } - if (settings.iframe) { - iframe = $tag('iframe')[0]; + if (settings.get('iframe')) { + iframe = document.createElement('iframe'); - if (frameBorder in iframe) { - iframe[frameBorder] = 0; + if ('frameBorder' in iframe) { + iframe.frameBorder = 0; } - if (allowTransparency in iframe) { - iframe[allowTransparency] = "true"; + if ('allowTransparency' in iframe) { + iframe.allowTransparency = "true"; } - if (!settings.scrolling) { + if (!settings.get('scrolling')) { iframe.scrolling = "no"; } $(iframe) .attr({ - src: settings.href, + src: settings.get('href'), name: (new Date()).getTime(), // give the iframe a unique name to prevent caching 'class': prefix + 'Iframe', - allowFullScreen : true, // allow HTML5 video to go fullscreen - webkitAllowFullScreen : true, - mozallowfullscreen : true + allowFullScreen : true // allow HTML5 video to go fullscreen }) .one('load', complete) .appendTo($loaded); @@ -894,21 +908,21 @@ iframe.src = "//about:blank"; }); - if (settings.fastIframe) { + if (settings.get('fastIframe')) { $(iframe).trigger('load'); } } else { complete(); } - if (settings.transition === 'fade') { + if (settings.get('transition') === 'fade') { $box.fadeTo(speed, 1, removeFilter); } else { removeFilter(); } }; - if (settings.transition === 'fade') { + if (settings.get('transition') === 'fade') { $box.fadeTo(speed, 0, function () { publicMethod.position(0, callback); }); @@ -924,21 +938,17 @@ photo = false; - element = $related[index]; - - makeSettings(); - trigger(event_purge); + trigger(event_load); + settings.get('onLoad'); - trigger(event_load, settings.onLoad); + settings.h = settings.get('height') ? + setSize(settings.get('height'), 'y') - loadedHeight - interfaceHeight : + settings.get('innerHeight') && setSize(settings.get('innerHeight'), 'y'); - settings.h = settings.height ? - setSize(settings.height, 'y') - loadedHeight - interfaceHeight : - settings.innerHeight && setSize(settings.innerHeight, 'y'); - - settings.w = settings.width ? - setSize(settings.width, 'x') - loadedWidth - interfaceWidth : - settings.innerWidth && setSize(settings.innerWidth, 'x'); + settings.w = settings.get('width') ? + setSize(settings.get('width'), 'x') - loadedWidth - interfaceWidth : + settings.get('innerWidth') && setSize(settings.get('innerWidth'), 'x'); // Sets the minimum dimensions for use in image scaling settings.mw = settings.w; @@ -946,22 +956,22 @@ // Re-evaluate the minimum width and height based on maxWidth and maxHeight values. // If the width or height exceed the maxWidth or maxHeight, use the maximum values instead. - if (settings.maxWidth) { - settings.mw = setSize(settings.maxWidth, 'x') - loadedWidth - interfaceWidth; + if (settings.get('maxWidth')) { + settings.mw = setSize(settings.get('maxWidth'), 'x') - loadedWidth - interfaceWidth; settings.mw = settings.w && settings.w < settings.mw ? settings.w : settings.mw; } - if (settings.maxHeight) { - settings.mh = setSize(settings.maxHeight, 'y') - loadedHeight - interfaceHeight; + if (settings.get('maxHeight')) { + settings.mh = setSize(settings.get('maxHeight'), 'y') - loadedHeight - interfaceHeight; settings.mh = settings.h && settings.h < settings.mh ? settings.h : settings.mh; } - href = settings.href; + href = settings.get('href'); loadingTimer = setTimeout(function () { $loadingOverlay.show(); }, 100); - if (settings.inline) { + if (settings.get('inline')) { // Inserts an empty placeholder where inline content is being pulled from. // An event is bound to put inline content back when Colorbox closes or loads new content. $inline = $tag(div).hide().insertBefore($(href)[0]); @@ -971,84 +981,83 @@ }); prep($(href)); - } else if (settings.iframe) { + } else if (settings.get('iframe')) { // IFrame element won't be added to the DOM until it is ready to be displayed, // to avoid problems with DOM-ready JS that might be trying to run in that iframe. prep(" "); - } else if (settings.html) { - prep(settings.html); + } else if (settings.get('html')) { + prep(settings.get('html')); } else if (isImage(settings, href)) { href = retinaUrl(settings, href); - photo = document.createElement('img'); + photo = new Image(); $(photo) .addClass(prefix + 'Photo') .bind('error',function () { - settings.title = false; - prep($tag(div, 'Error').html(settings.imgError)); + prep($tag(div, 'Error').html(settings.get('imgError'))); }) .one('load', function () { - var percent; - if (request !== requests) { return; } - $.each(['alt', 'longdesc', 'aria-describedby'], function(i,val){ - var attr = $(element).attr(val) || $(element).attr('data-'+val); - if (attr) { - photo.setAttribute(val, attr); + // A small pause because some browsers will occassionaly report a + // img.width and img.height of zero immediately after the img.onload fires + setTimeout(function(){ + var percent; + + $.each(['alt', 'longdesc', 'aria-describedby'], function(i,val){ + var attr = $(settings.el).attr(val) || $(settings.el).attr('data-'+val); + if (attr) { + photo.setAttribute(val, attr); + } + }); + + if (settings.get('retinaImage') && window.devicePixelRatio > 1) { + photo.height = photo.height / window.devicePixelRatio; + photo.width = photo.width / window.devicePixelRatio; } - }); - if (settings.retinaImage && window.devicePixelRatio > 1) { - photo.height = photo.height / window.devicePixelRatio; - photo.width = photo.width / window.devicePixelRatio; - } - - if (settings.scalePhotos) { - setResize = function () { - photo.height -= photo.height * percent; - photo.width -= photo.width * percent; - }; - if (settings.mw && photo.width > settings.mw) { - percent = (photo.width - settings.mw) / photo.width; - setResize(); + if (settings.get('scalePhotos')) { + setResize = function () { + photo.height -= photo.height * percent; + photo.width -= photo.width * percent; + }; + if (settings.mw && photo.width > settings.mw) { + percent = (photo.width - settings.mw) / photo.width; + setResize(); + } + if (settings.mh && photo.height > settings.mh) { + percent = (photo.height - settings.mh) / photo.height; + setResize(); + } } - if (settings.mh && photo.height > settings.mh) { - percent = (photo.height - settings.mh) / photo.height; - setResize(); + + if (settings.h) { + photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px'; + } + + if ($related[1] && (settings.get('loop') || $related[index + 1])) { + photo.style.cursor = 'pointer'; + photo.onclick = function () { + publicMethod.next(); + }; } - } - - if (settings.h) { - photo.style.marginTop = Math.max(settings.mh - photo.height, 0) / 2 + 'px'; - } - - if ($related[1] && (settings.loop || $related[index + 1])) { - photo.style.cursor = 'pointer'; - photo.onclick = function () { - publicMethod.next(); - }; - } - photo.style.width = photo.width + 'px'; - photo.style.height = photo.height + 'px'; - - setTimeout(function () { // A pause because Chrome will sometimes report a 0 by 0 size otherwise. + photo.style.width = photo.width + 'px'; + photo.style.height = photo.height + 'px'; prep(photo); }, 1); }); - setTimeout(function () { // A pause because Opera 10.6+ will sometimes not run the onload function otherwise. - photo.src = href; - }, 1); + photo.src = href; + } else if (href) { - $loadingBay.load(href, settings.data, function (data, status) { + $loadingBay.load(href, settings.get('data'), function (data, status) { if (request === requests) { - prep(status === 'error' ? $tag(div, 'Error').html(settings.xhrError) : $(this).contents()); + prep(status === 'error' ? $tag(div, 'Error').html(settings.get('xhrError')) : $(this).contents()); } }); } @@ -1056,14 +1065,14 @@ // Navigates to the next page/image in a set. publicMethod.next = function () { - if (!active && $related[1] && (settings.loop || $related[index + 1])) { + if (!active && $related[1] && (settings.get('loop') || $related[index + 1])) { index = getIndex(1); launch($related[index]); } }; publicMethod.prev = function () { - if (!active && $related[1] && (settings.loop || index)) { + if (!active && $related[1] && (settings.get('loop') || index)) { index = getIndex(-1); launch($related[index]); } @@ -1074,26 +1083,22 @@ if (open && !closing) { closing = true; - open = false; - - trigger(event_cleanup, settings.onCleanup); - + trigger(event_cleanup); + settings.get('onCleanup'); $window.unbind('.' + prefix); + $overlay.fadeTo(settings.get('fadeOut') || 0, 0); - $overlay.fadeTo(settings.fadeOut || 0, 0); - - $box.stop().fadeTo(settings.fadeOut || 0, 0, function () { - - $box.add($overlay).css({'opacity': 1, cursor: 'auto'}).hide(); - + $box.stop().fadeTo(settings.get('fadeOut') || 0, 0, function () { + $box.hide(); + $overlay.hide(); trigger(event_purge); - - $loaded.empty().remove(); // Using empty first may prevent some IE7 issues. + $loaded.remove(); setTimeout(function () { closing = false; - trigger(event_closed, settings.onClosed); + trigger(event_closed); + settings.get('onClosed'); }, 1); }); } @@ -1119,9 +1124,9 @@ // A method for fetching the current element Colorbox is referencing. // returns a jQuery object. publicMethod.element = function () { - return $(element); + return $(settings.el); }; publicMethod.settings = defaults; -}(jQuery, document, window)); +}(jQuery, document, window)); \ No newline at end of file diff --git a/public/js/jquery/colorbox/colorbox-rateit.min.js b/public/js/jquery/colorbox/colorbox-rateit.min.js index 4a9594e..93f0b23 100644 --- a/public/js/jquery/colorbox/colorbox-rateit.min.js +++ b/public/js/jquery/colorbox/colorbox-rateit.min.js @@ -1,7 +1,77 @@ -/*! - Colorbox v1.4.31 - 2013-09-25 - jQuery lightbox and modal window plugin - (c) 2013 Jack Moore - http://www.jacklmoore.com/colorbox - license: http://www.opensource.org/licenses/mit-license.php -*/ -(function(e,t,n){function rt(n,r,i){var o=t.createElement(n);if(r){o.id=s+r}if(i){o.style.cssText=i}return e(o)}function it(){return n.innerHeight?n.innerHeight:e(n).height()}function st(e){var t=E.length,n=(X+e)%t;return n<0?t+n:n}function ot(e,t){return Math.round((/%/.test(e)?(t==="x"?S.width():it())/100:1)*parseInt(e,10))}function ut(e,t){return e.photo||e.photoRegex.test(t)}function at(e,t){return e.retinaUrl&&n.devicePixelRatio>1?t.replace(e.photoRegex,e.retinaSuffix):t}function ft(e){if("contains"in d[0]&&!d[0].contains(e.target)){e.stopPropagation();d.focus()}}function lt(){var t,n=e.data(W,i);if(n==null){I=e.extend({},r);if(console&&console.log){console.log("Error: cboxElement missing settings object")}}else{I=e.extend({},n)}for(t in I){if(e.isFunction(I[t])&&t.slice(0,2)!=="on"){I[t]=I[t].call(W)}}I.rel=I.rel||W.rel||e(W).data("rel")||"nofollow";I.href=I.href||e(W).attr("href");I.title=I.title||W.title;if(typeof I.href==="string"){I.href=e.trim(I.href)}}function ct(n,r){e(t).trigger(n);F.trigger(n);if(e.isFunction(r)){r.call(W)}}function pt(n){if(!K){W=n;lt();E=e(W);X=0;if(I.rel!=="nofollow"){E=e("."+o).filter(function(){var t=e.data(this,i),n;if(t){n=e(this).data("rel")||t.rel||this.rel}return n===I.rel});X=E.index(W);if(X===-1){E=E.add(W);X=E.length-1}}p.css({opacity:parseFloat(I.opacity),cursor:I.overlayClose?"pointer":"auto",visibility:"visible"}).show();if(Z){d.add(p).removeClass(Z)}if(I.className){d.add(p).addClass(I.className)}Z=I.className;if(I.closeButton){M.html(I.close).appendTo(m)}else{M.appendTo("")}if(!$){$=J=true;d.css({visibility:"hidden",display:"block"});x=rt(Y,"LoadedContent","width:0; height:0; overflow:hidden");m.css({width:"",height:""}).append(x);q=g.height()+w.height()+m.outerHeight(true)-m.height();R=y.width()+b.width()+m.outerWidth(true)-m.width();U=x.outerHeight(true);z=x.outerWidth(true);I.w=ot(I.initialWidth,"x");I.h=ot(I.initialHeight,"y");x.css({width:"",height:I.h});G.position();ct(u,I.onOpen);j.add(C).hide();d.focus();if(I.trapFocus){if(t.addEventListener){t.addEventListener("focus",ft,true);F.one(c,function(){t.removeEventListener("focus",ft,true)})}}if(I.returnFocus){F.one(c,function(){e(W).focus()})}}mt()}}function dt(){if(!d&&t.body){nt=false;S=e(n);d=rt(Y).attr({id:i,"class":e.support.opacity===false?s+"IE":"",role:"dialog",tabindex:"-1"}).hide();p=rt(Y,"Overlay").hide();N=e([rt(Y,"LoadingOverlay")[0],rt(Y,"LoadingGraphic")[0]]);v=rt(Y,"Wrapper");m=rt(Y,"Content").append(C=rt(Y,"Title"),_=rt(Y,"mbRating").attr({"class":"mbrateItRating"}).css({bottom:"-20px",position:"absolute"}).append(D=rt(Y,"mbrateItRating").attr({"class":"wrapper"}).append(P=rt(Y).attr({"class":"rateItRating-selected",display:"block"}),H=rt(Y).attr({"class":"rateItRating-hover"})),B=rt(Y,"mbRatingDescription").attr({"class":"mbratingText ratingText"}).css({"margin-left":"10px"})),k=rt(Y,"Current"),O=e('').attr({id:s+"Previous"}),A=e('').attr({id:s+"Next"}),L=rt("button","Slideshow"),N).css({"margin-bottom":"20px"});M=e('').attr({id:s+"Close"});v.append(rt(Y).append(rt(Y,"TopLeft"),g=rt(Y,"TopCenter"),rt(Y,"TopRight")),rt(Y,false,"clear:left").append(y=rt(Y,"MiddleLeft"),m,b=rt(Y,"MiddleRight")),rt(Y,false,"clear:left").append(rt(Y,"BottomLeft"),w=rt(Y,"BottomCenter"),rt(Y,"BottomRight"))).find("div div").css({"float":"left"});T=rt(Y,false,"position:absolute; width:9999px; visibility:hidden; display:none");j=A.add(O).add(k).add(L);e(t.body).append(p,d.append(v,T))}}function vt(){function n(e){if(!(e.which>1||e.shiftKey||e.altKey||e.metaKey||e.ctrlKey)){e.preventDefault();pt(this)}}if(d){if(!nt){nt=true;A.click(function(){G.next()});O.click(function(){G.prev()});M.click(function(){G.close()});p.click(function(){if(I.overlayClose){G.close()}});e(t).bind("keydown."+s,function(e){var t=e.keyCode;if($&&I.escKey&&t===27){e.preventDefault();G.close()}if($&&I.arrowKey&&E[1]&&!e.altKey){if(t===37){e.preventDefault();O.click()}else if(t===39){e.preventDefault();A.click()}}});if(e.isFunction(e.fn.on)){e(t).on("click."+s,"."+o,n)}else{e("."+o).live("click."+s,n)}}return true}return false}function mt(){var r,i,o=G.prep,u,f=++et;J=true;V=false;W=E[X];lt();ct(h);ct(a,I.onLoad);I.h=I.height?ot(I.height,"y")-U-q:I.innerHeight&&ot(I.innerHeight,"y");I.w=I.width?ot(I.width,"x")-z-R:I.innerWidth&&ot(I.innerWidth,"x");I.mw=I.w;I.mh=I.h;if(I.maxWidth){I.mw=ot(I.maxWidth,"x")-z-R;I.mw=I.w&&I.w