Fehler bei der Bewertung von Galerie-Bildern behoben
This commit is contained in:
		| @@ -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); | ||||
| 						} | ||||
| 					} | ||||
| 				} | ||||
|   | ||||
| @@ -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'); | ||||
| 					} | ||||
|   | ||||
							
								
								
									
										537
									
								
								public/js/jquery/colorbox/colorbox-rateit.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										537
									
								
								public/js/jquery/colorbox/colorbox-rateit.js
									
									
									
									
										vendored
									
									
								
							| @@ -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 = $('<a/>'), | ||||
| 	$events = $('<a/>'), // $({}) 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('<div/>'); | ||||
| 			} | ||||
| 			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('<div/>'); // replace with .detach() when dropping jQuery < 1.4 | ||||
| 			} | ||||
|  | ||||
| 			load(); | ||||
| 		} | ||||
| 	} | ||||
| @@ -457,7 +470,7 @@ | ||||
| 				$next = $('<button type="button"/>').attr({id:prefix+'Next'}), | ||||
| 				$slideshow = $tag('button', "Slideshow"), | ||||
| 				$loadingOverlay | ||||
| 			).css({'margin-bottom': '20px'});; | ||||
| 			); | ||||
|  | ||||
| 			$close = $('<button type="button"/>').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 = $('<a/>'); | ||||
| 			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 = $('<a/>'); | ||||
| 				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)); | ||||
							
								
								
									
										84
									
								
								public/js/jquery/colorbox/colorbox-rateit.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										84
									
								
								public/js/jquery/colorbox/colorbox-rateit.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user