Version Description
- Fixed: Video slideshows will now work on mobile devices supported by YouTube.
- Fixed: Removed multi-line element tags to prevent WordPress from adding '
' tags into them. - Fixed: Quick editing a slideshow deleted its content.
- Image files can now be found by their file names.
Download this release
Release Info
Developer | stefanboonstra |
Plugin | Slideshow |
Version | 2.2.4 |
Comparing to | |
See all releases |
Code changes from version 2.2.3 to 2.2.4
- classes/SlideshowPlugin.php +8 -0
- classes/SlideshowPluginSlideInserter.php +41 -3
- classes/SlideshowPluginSlideshowSettingsHandler.php +2 -2
- js/SlideshowPlugin/slideshow.min.js +1 -1
- readme.txt +7 -1
- slideshow.php +3 -2
- style/SlideshowPlugin/functional.css +1 -1
- views/SlideshowPlugin/slideshow.php +1 -11
- views/SlideshowPluginSlideshowSlide/frontend_video.php +0 -3
classes/SlideshowPlugin.php
CHANGED
@@ -111,6 +111,14 @@ class SlideshowPlugin {
|
|
111 |
$style = str_replace('.slideshow_container', '.slideshow_container_' . $sessionID, $style);
|
112 |
}
|
113 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
114 |
// Include output file to store output in $output.
|
115 |
$output = '';
|
116 |
ob_start();
|
111 |
$style = str_replace('.slideshow_container', '.slideshow_container_' . $sessionID, $style);
|
112 |
}
|
113 |
|
114 |
+
// Register YouTube API to enqueue when necessary
|
115 |
+
// wp_register_script(
|
116 |
+
// 'slideshow-jquery-image-gallery-youtube-iframe-api',
|
117 |
+
// (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://www.youtube.com/iframe_api',
|
118 |
+
// array(),
|
119 |
+
// SlideshowPluginMain::$version
|
120 |
+
// );
|
121 |
+
|
122 |
// Include output file to store output in $output.
|
123 |
$output = '';
|
124 |
ob_start();
|
classes/SlideshowPluginSlideInserter.php
CHANGED
@@ -77,10 +77,12 @@ class SlideshowPluginSlideInserter {
|
|
77 |
* @since 2.0.0
|
78 |
*/
|
79 |
static function printSearchResults(){
|
|
|
|
|
80 |
// Numberposts and offset
|
81 |
$numberPosts = 10;
|
82 |
$offset = 0;
|
83 |
-
if(isset($_POST['offset']))
|
84 |
$offset = $_POST['offset'];
|
85 |
|
86 |
// Get attachments with a title alike the search string, needs to be filtered
|
@@ -95,6 +97,39 @@ class SlideshowPluginSlideInserter {
|
|
95 |
));
|
96 |
remove_filter('posts_where', array(__CLASS__, 'printSearchResultsWhereFilter'));
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
// Check if there are enough attachments to print a 'Load more images' button
|
99 |
$loadMoreResults = false;
|
100 |
if(count($attachments) > $numberPosts){
|
@@ -165,11 +200,14 @@ class SlideshowPluginSlideInserter {
|
|
165 |
static function printSearchResultsWhereFilter($where){
|
166 |
global $wpdb;
|
167 |
|
|
|
|
|
|
|
168 |
if(isset($_POST['search']))
|
169 |
$where .= $wpdb->prepare(
|
170 |
" AND (post_title LIKE '%%%s%%' OR ID LIKE '%%%s%%') ",
|
171 |
-
$
|
172 |
-
$
|
173 |
);
|
174 |
|
175 |
return $where;
|
77 |
* @since 2.0.0
|
78 |
*/
|
79 |
static function printSearchResults(){
|
80 |
+
global $wpdb;
|
81 |
+
|
82 |
// Numberposts and offset
|
83 |
$numberPosts = 10;
|
84 |
$offset = 0;
|
85 |
+
if(isset($_POST['offset']) && is_numeric($_POST['offset']))
|
86 |
$offset = $_POST['offset'];
|
87 |
|
88 |
// Get attachments with a title alike the search string, needs to be filtered
|
97 |
));
|
98 |
remove_filter('posts_where', array(__CLASS__, 'printSearchResultsWhereFilter'));
|
99 |
|
100 |
+
// Look for images by their file's name when not enough matching results were found
|
101 |
+
if(count($attachments) < $numberPosts){
|
102 |
+
$searchString = $wpdb->escape($_POST['search']);
|
103 |
+
|
104 |
+
$query = new WP_Query(array(
|
105 |
+
'post_type' => 'attachment',
|
106 |
+
'post_status' => 'inherit',
|
107 |
+
'posts_per_page' => $numberPosts - count($attachments),
|
108 |
+
'meta_query' => array(
|
109 |
+
array(
|
110 |
+
'key' => '_wp_attached_file',
|
111 |
+
'value' => $searchString,
|
112 |
+
'compare' => 'LIKE'
|
113 |
+
)
|
114 |
+
)
|
115 |
+
));
|
116 |
+
|
117 |
+
$queryAttachments = $query->get_posts();
|
118 |
+
if(is_array($queryAttachments) && count($queryAttachments) > 0){
|
119 |
+
|
120 |
+
for($i = 0; $i < count($queryAttachments); $i++){
|
121 |
+
|
122 |
+
$inAttachmentsArray = false;
|
123 |
+
foreach($attachments as $attachmentValue)
|
124 |
+
if($attachmentValue->ID == $queryAttachments[$i]->ID)
|
125 |
+
$inAttachmentsArray = true;
|
126 |
+
|
127 |
+
if(!$inAttachmentsArray)
|
128 |
+
$attachments[] = $queryAttachments[$i];
|
129 |
+
}
|
130 |
+
}
|
131 |
+
}
|
132 |
+
|
133 |
// Check if there are enough attachments to print a 'Load more images' button
|
134 |
$loadMoreResults = false;
|
135 |
if(count($attachments) > $numberPosts){
|
200 |
static function printSearchResultsWhereFilter($where){
|
201 |
global $wpdb;
|
202 |
|
203 |
+
$searchString = $_POST['search'];
|
204 |
+
$searchString = $wpdb->escape($searchString);
|
205 |
+
|
206 |
if(isset($_POST['search']))
|
207 |
$where .= $wpdb->prepare(
|
208 |
" AND (post_title LIKE '%%%s%%' OR ID LIKE '%%%s%%') ",
|
209 |
+
$searchString,
|
210 |
+
$searchString
|
211 |
);
|
212 |
|
213 |
return $where;
|
classes/SlideshowPluginSlideshowSettingsHandler.php
CHANGED
@@ -290,9 +290,9 @@ class SlideshowPluginSlideshowSettingsHandler {
|
|
290 |
|
291 |
// Verify nonce, check if user has sufficient rights and return on auto-save.
|
292 |
if(get_post_type($postId) != SlideshowPluginPostType::$postType ||
|
293 |
-
(isset($_POST['
|
294 |
!current_user_can('edit_post', $postId) ||
|
295 |
-
defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
|
296 |
return $postId;
|
297 |
|
298 |
// Old settings
|
290 |
|
291 |
// Verify nonce, check if user has sufficient rights and return on auto-save.
|
292 |
if(get_post_type($postId) != SlideshowPluginPostType::$postType ||
|
293 |
+
(!isset($_POST['_wpnonce']) || !wp_verify_nonce($_POST['_wpnonce'], 'update-post_' . $postId)) ||
|
294 |
!current_user_can('edit_post', $postId) ||
|
295 |
+
(defined('DOING_AUTOSAVE') && DOING_AUTOSAVE))
|
296 |
return $postId;
|
297 |
|
298 |
// Old settings
|
js/SlideshowPlugin/slideshow.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery.fn.slideshow_jquery_image_gallery_script=function(){var $=jQuery;var $container=$(this),$content=$container.find('.slideshow_content'),$views=$container.find('.slideshow_view'),$slides=$container.find('.slideshow_slide'),$controlPanel=$container.find('.slideshow_controlPanel'),$togglePlayButton=$controlPanel.find('.slideshow_togglePlay'),$nextButton=$container.find('.slideshow_next'),$previousButton=$container.find('.slideshow_previous'),$pagination=$container.find('.slideshow_pagination');var $ID=getID();var $settings=window['SlideshowPluginSettings_'+$ID];$.each($settings,function(setting,value){if(value=='true')$settings[setting]=true;else if(value=='false')$settings[setting]=false});var $parentElement=$container.parent(),$viewData=[],$navigationActive=true,$currentViewId=getNextViewId(),$currentWidth=0,$visibleViews=[$currentViewId],$youtubePlayerIds=[],$interval='',$mouseEnterTimer='',$invisibilityTimer='';init();function init(){recalculate(false);$.each($views,function(viewId,view){recalculateView(view);if(viewId!=$visibleViews[0])$(view).css('top',$container.outerHeight(true));$viewData[viewId]=[];$.each($(view).find('.slideshow_slide'),function(slideId,slide){$viewData[viewId][slideId]={'imageDimension':''}})});$content.show();$(window).load(function(){recalculateVisibleViews()});if($settings['enableResponsiveness']){$(window).resize(function(){recalculate()})}if(parseFloat($settings['intervalSpeed'])<parseFloat($settings['slideSpeed'])+0.1)$settings['intervalSpeed']=parseFloat($settings['slideSpeed'])+0.1;activateDescriptions();activateControlPanel();activateNavigationButtons();activatePagination();activatePauseOnHover();start()}function start(){if(!$settings['play'])return;$interval=setInterval(function(){animateTo(getNextViewId(),1)},$settings['intervalSpeed']*1000)}function stop(){clearInterval($interval);$interval=false}function animateTo(viewId,direction){if(videoIsPlaying()||viewId<0||viewId>=$views.length||viewId==$currentViewId)return;$navigationActive=false;if(direction==0||direction==undefined){if(viewId<$currentViewId)direction=-1;else direction=1}$visibleViews=[$currentViewId,viewId];var animation=$settings['animation'];var animations=['slide','slideRight','slideUp','slideDown','fade','directFade'];if(animation=='random')animation=animations[Math.floor(Math.random()*animations.length)];var animationOpposites={'slide':'slideRight','slideRight':'slide','slideUp':'slideDown','slideDown':'slideUp','fade':'fade','directFade':'directFade'};if(direction<0)animation=animationOpposites[animation];var currentView=$($views[$currentViewId]);var nextView=$($views[viewId]);currentView.stop(true,true);nextView.stop(true,true);recalculateVisibleViews();$currentViewId=viewId;$container.trigger('onSlideshowAnimate');switch(animation){case'slide':recalculateVisibleViews();nextView.css({top:0,left:$content.width()});currentView.animate({left:-currentView.outerWidth(true)},$settings['slideSpeed']*1000);nextView.animate({left:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'slideRight':nextView.css({top:0,left:-$content.width()});currentView.animate({left:currentView.outerWidth(true)},$settings['slideSpeed']*1000);nextView.animate({left:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'slideUp':nextView.css({top:$content.height(),left:0});currentView.animate({top:-currentView.outerHeight(true)},$settings['slideSpeed']*1000);nextView.animate({top:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'slideDown':nextView.css({top:-$content.height(),left:0});currentView.animate({top:currentView.outerHeight(true)},$settings['slideSpeed']*1000);nextView.animate({top:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'fade':nextView.css({top:0,left:0,display:'none'});currentView.fadeOut(($settings['slideSpeed']*1000)/2);setTimeout(function(){nextView.fadeIn(($settings['slideSpeed']*1000)/2);currentView.stop(true,true).css({top:$container.outerHeight(true),display:'block'})},($settings['slideSpeed']*1000)/2);break;case'directFade':nextView.css({top:0,left:0,'z-index':0,display:'none'});currentView.css({'z-index':1});nextView.fadeIn($settings['slideSpeed']*1000);currentView.fadeOut($settings['slideSpeed']*1000);setTimeout(function(){nextView.stop(true,true).css({'z-index':'auto'});currentView.stop(true,true).css({top:$container.outerHeight(true),display:'block','z-index':'auto'})},$settings['slideSpeed']*1000);break}setTimeout(function(){$visibleViews=[viewId]},$settings['slideSpeed']*1000);setTimeout(function(){$navigationActive=true},$settings['slideSpeed']*1000)}function recalculate(recalculateViews){if(!$container.is(':visible')){$invisibilityTimer=setInterval(function(){if($container.is(':visible')){recalculate();clearInterval($invisibilityTimer);$invisibilityTimer=''}},500);return}var parentElement=$parentElement;for(var i=0;parentElement.width()<=0;i++){parentElement=parentElement.parent();if(i>50)break}if($currentWidth==parentElement.width())return;$currentWidth=parentElement.width();var width=parentElement.width()-($container.outerWidth(true)-$container.width());if($settings['maxWidth']>0&&$settings['maxWidth']<width)width=$settings['maxWidth'];$container.css('width',Math.floor(width));$content.css('width',Math.floor(width)-($content.outerWidth(true)-$content.width()));if($settings['preserveSlideshowDimensions']){var height=(width*$settings['dimensionHeight'])/$settings['dimensionWidth'];$container.css('height',Math.floor(height));$content.css('height',Math.floor(height)-($content.outerHeight(true)-$content.height()))}else{$container.css('height',Math.floor($settings['height']));$content.css('height',Math.floor($settings['height']))}$views.each(function(viewId,view){if($.inArray(viewId,$visibleViews)<0)$(view).css('top',$container.outerHeight(true))});if(recalculateViews||recalculateViews==undefined){recalculateVisibleViews()}}function recalculateVisibleViews(){$.each($visibleViews,function(key,viewId){recalculateView(viewId)})}function recalculateView(viewId){view=$($views[viewId]);if($content.width()==view.outerWidth(true))return;var slides=view.find('.slideshow_slide');if(slides.length<=0)return;var viewWidth=$content.width()-(view.outerWidth(true)-view.width());var viewHeight=$content.height()-(view.outerHeight(true)-view.height());var slideWidth=Math.floor(viewWidth/slides.length);var slideHeight=viewHeight;var spareWidth=viewWidth%slides.length;var totalWidth=0;$(slides[0]).css('margin-left',0);$(slides[slides.length-1]).css('margin-right',0);$.each(slides,function(slideId,slide){slide=$(slide);var outerWidth=slide.outerWidth(true)-slide.width();var outerHeight=slide.outerHeight(true)-slide.height();if(slideId==(slides.length-1))slide.width((slideWidth-outerWidth)+spareWidth);else slide.width(slideWidth-outerWidth);slide.height(slideHeight-outerHeight);if(slide.hasClass('slideshow_slide_text')){var anchor=slide.find('a');if(anchor.length<=0)return;var anchorWidth=slide.width()-(anchor.outerWidth(true)-anchor.width());var anchorHeight=slide.height()-(anchor.outerHeight(true)-anchor.height());anchor.css({'width':anchorWidth,'height':anchorHeight})}else if(slide.hasClass('slideshow_slide_image')){var image=slide.find('img');if(image.length<=0)return;var maxImageWidth=slide.width()-(image.outerWidth(true)-image.width());var maxImageHeight=slide.height()-(image.outerHeight(true)-image.height());if($settings['stretchImages']){image.css({width:maxImageWidth,height:maxImageHeight})}else if(image.width()>0&&image.height()>0){var imageDimension=$viewData[viewId][slideId]['imageDimension'];if(imageDimension=='')imageDimension=$viewData[viewId][slideId]['imageDimension']=image.outerWidth(true)/image.outerHeight(true);var slideDimension=slide.width()/slide.height();if(imageDimension>slideDimension){image.css({'margin':'0px'});image.css({width:maxImageWidth,height:Math.floor(maxImageWidth/imageDimension)})}else if(imageDimension<slideDimension){image.css({width:Math.floor(maxImageHeight*imageDimension),height:maxImageHeight,'margin':'auto','margin-right':'auto','display':'block'})}}}else if(slide.hasClass('slideshow_slide_video')){var videoElement=slide.find('object');if(videoElement.length>0){videoElement.attr({width:slide.width(),height:slide.height()})}else{var element=slide.find('div');element.attr('id','slideshow_slide_video_'+Math.floor(Math.random()*1000000)+'_'+element.text());swfobject.embedSWF('http://www.youtube.com/v/'+element.text()+'?version=3&enablejsapi=1&playerapiid='+element.attr('id'),element.attr('id'),jQuery(slide).width(),jQuery(slide).height(),'9',null,null,{allowScriptAccess:'always',allowFullScreen:true,wmode:'opaque'},{id:element.attr('id')});$youtubePlayerIds.push(element.attr('id'))}}totalWidth+=slide.outerWidth(true)});view.css({'width':viewWidth,'height':viewHeight})}function videoIsPlaying(){var videoIsPlaying=false;$.each($youtubePlayerIds,function(key,playerId){var state=-1;var player=document.getElementById(playerId);if(player!=null&&typeof player.getPlayerState==='function')state=player.getPlayerState();if(state==1||state==3)videoIsPlaying=true});return videoIsPlaying}function activateDescriptions(){if(!$settings['showDescription'])return;$.each($slides.find('.slideshow_description'),function(key,description){$(description).show();if($settings['hideDescription'])$(description).css({'position':'absolute','bottom':-$(description).outerHeight(true)})});if(!$settings['hideDescription'])return;$container.bind('onSlideshowAnimate',function(){if($visibleViews[1]==undefined)return;$.each($($views[$visibleViews[1]]).find('.slideshow_description'),function(key,description){$(description).css('bottom',-$(description).outerHeight(true))})});$slides.mouseenter(function(){$(this).find('.slideshow_description').stop(true,true).animate({'bottom':0},parseInt($settings['descriptionSpeed']*1000))});$slides.mouseleave(function(){$(this).find('.slideshow_description').stop(true,true).animate({'bottom':-$(this).outerHeight(true)},parseInt($settings['descriptionSpeed']*1000))})}function activateNavigationButtons(){if(!$settings['controllable'])return;$nextButton.click(function(){if(!$navigationActive)return;stop();animateTo(getNextViewId(),1);start()});$previousButton.click(function(){if(!$navigationActive)return;stop();animateTo(getPreviousViewId(),-1);start()});if($settings['hideNavigationButtons']){$container.mouseenter(function(){$nextButton.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$nextButton.stop(true,true).fadeOut(500)});$container.mouseenter(function(){$previousButton.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$previousButton.stop(true,true).fadeOut(500)})}else{$nextButton.show();$previousButton.show()}}function activateControlPanel(){if(!$settings['controlPanel'])return;if($settings['play'])$togglePlayButton.attr('class','slideshow_pause');else $togglePlayButton.attr('class','slideshow_play');$togglePlayButton.click(function(){if($settings['play']){$settings['play']=false;$(this).attr('class','slideshow_play');stop()}else{$settings['play']=true;$(this).attr('class','slideshow_pause');start()}});if($settings['hideControlPanel']){$container.mouseenter(function(){$controlPanel.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$controlPanel.stop(true,true).fadeOut(500)})}else{$controlPanel.show()}}function activatePagination(){if(!$settings['showPagination'])return;var ul=$pagination.find('ul');ul.html('');$views.each(function(key,view){var currentView='';if(key==$currentViewId)currentView='slideshow_currentView';ul.append('<li class="slideshow_transparent '+currentView+'">'+'<span style="display: none;">'+key+'</span>'+'</li>')});$pagination.find('li').click(function(){if(!$navigationActive)return;var viewId=$(this).find('span').text();if(viewId==''||viewId==undefined)return;stop();animateTo(parseInt(viewId),0);start()});$container.bind('onSlideshowAnimate',function(){var bullets=$pagination.find('li');bullets.each(function(key,bullet){$(bullet).removeClass('slideshow_currentView')});$(bullets[$currentViewId]).addClass('slideshow_currentView')});if($settings['hidePagination']){$container.mouseenter(function(){$pagination.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$pagination.stop(true,true).fadeOut(500)})}else{$pagination.show()}}function activatePauseOnHover(){if(!$settings['pauseOnHover'])return;$container.mouseenter(function(){clearTimeout($mouseEnterTimer);$mouseEnterTimer=setTimeout(function(){stop()},500)});$container.mouseleave(function(){clearTimeout($mouseEnterTimer);if($interval===false)start()})}function getNextViewId(){if($settings['random']){var oldViewId=viewId;viewId=Math.floor(Math.random()*$views.length);if(viewId!=oldViewId)return viewId}var viewId=$currentViewId;if(viewId==undefined)return 0;if(viewId>=$views.length-1){if($settings['loop'])return viewId=0;else return $currentViewId}return viewId+=1}function getPreviousViewId(){var viewId=$currentViewId;if(viewId==undefined)viewId=0;if($settings['random']){var oldViewId=viewId;viewId=Math.floor(Math.random()*$views.length);if(viewId!=oldViewId)return viewId}if(viewId<=0){if($settings['loop'])return viewId=$views.length-1;else return $currentViewId}return viewId-=1}function getID(){var splitClasses=$container.attr('class').split('_');return splitClasses[splitClasses.length-1]}};jQuery(document).ready(function(){jQuery.each(jQuery('.slideshow_container'),function(key,slideshow){jQuery(slideshow).slideshow_jquery_image_gallery_script()})});
|
1 |
+
jQuery.fn.slideshow_jquery_image_gallery_script=function(){var $=jQuery;var $container=$(this),$content=$container.find('.slideshow_content'),$views=$container.find('.slideshow_view'),$slides=$container.find('.slideshow_slide'),$controlPanel=$container.find('.slideshow_controlPanel'),$togglePlayButton=$controlPanel.find('.slideshow_togglePlay'),$nextButton=$container.find('.slideshow_next'),$previousButton=$container.find('.slideshow_previous'),$pagination=$container.find('.slideshow_pagination');var $ID=getID();var $settings=window['SlideshowPluginSettings_'+$ID];$.each($settings,function(setting,value){if(value=='true')$settings[setting]=true;else if(value=='false')$settings[setting]=false});var $parentElement=$container.parent(),$viewData=[],$navigationActive=true,$currentViewId=getNextViewId(),$currentWidth=0,$visibleViews=[$currentViewId],$videoPlayers=[],$interval='',$mouseEnterTimer='',$invisibilityTimer='';init();function init(){recalculate(false);$.each($views,function(viewId,view){recalculateView(view);if(viewId!=$visibleViews[0])$(view).css('top',$container.outerHeight(true));$viewData[viewId]=[];$.each($(view).find('.slideshow_slide'),function(slideId,slide){$viewData[viewId][slideId]={'imageDimension':''}})});$content.show();$(window).load(function(){recalculateVisibleViews()});if($settings['enableResponsiveness']){$(window).resize(function(){recalculate()})}if(parseFloat($settings['intervalSpeed'])<parseFloat($settings['slideSpeed'])+0.1)$settings['intervalSpeed']=parseFloat($settings['slideSpeed'])+0.1;activateDescriptions();activateControlPanel();activateNavigationButtons();activatePagination();activatePauseOnHover();start()}function start(){if(!$settings['play'])return;$interval=setInterval(function(){animateTo(getNextViewId(),1)},$settings['intervalSpeed']*1000)}function stop(){clearInterval($interval);$interval=false}function animateTo(viewId,direction){if(videoIsPlaying()||viewId<0||viewId>=$views.length||viewId==$currentViewId)return;$navigationActive=false;if(direction==0||direction==undefined){if(viewId<$currentViewId)direction=-1;else direction=1}$visibleViews=[$currentViewId,viewId];var animation=$settings['animation'];var animations=['slide','slideRight','slideUp','slideDown','fade','directFade'];if(animation=='random')animation=animations[Math.floor(Math.random()*animations.length)];var animationOpposites={'slide':'slideRight','slideRight':'slide','slideUp':'slideDown','slideDown':'slideUp','fade':'fade','directFade':'directFade'};if(direction<0)animation=animationOpposites[animation];var currentView=$($views[$currentViewId]);var nextView=$($views[viewId]);currentView.stop(true,true);nextView.stop(true,true);recalculateVisibleViews();$currentViewId=viewId;$container.trigger('onSlideshowAnimate');switch(animation){case'slide':recalculateVisibleViews();nextView.css({top:0,left:$content.width()});currentView.animate({left:-currentView.outerWidth(true)},$settings['slideSpeed']*1000);nextView.animate({left:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'slideRight':nextView.css({top:0,left:-$content.width()});currentView.animate({left:currentView.outerWidth(true)},$settings['slideSpeed']*1000);nextView.animate({left:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'slideUp':nextView.css({top:$content.height(),left:0});currentView.animate({top:-currentView.outerHeight(true)},$settings['slideSpeed']*1000);nextView.animate({top:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'slideDown':nextView.css({top:-$content.height(),left:0});currentView.animate({top:currentView.outerHeight(true)},$settings['slideSpeed']*1000);nextView.animate({top:0},$settings['slideSpeed']*1000);setTimeout(function(){currentView.stop(true,true).css('top',$container.outerHeight(true))},$settings['slideSpeed']*1000);break;case'fade':nextView.css({top:0,left:0,display:'none'});currentView.fadeOut(($settings['slideSpeed']*1000)/2);setTimeout(function(){nextView.fadeIn(($settings['slideSpeed']*1000)/2);currentView.stop(true,true).css({top:$container.outerHeight(true),display:'block'})},($settings['slideSpeed']*1000)/2);break;case'directFade':nextView.css({top:0,left:0,'z-index':0,display:'none'});currentView.css({'z-index':1});nextView.fadeIn($settings['slideSpeed']*1000);currentView.fadeOut($settings['slideSpeed']*1000);setTimeout(function(){nextView.stop(true,true).css({'z-index':'auto'});currentView.stop(true,true).css({top:$container.outerHeight(true),display:'block','z-index':'auto'})},$settings['slideSpeed']*1000);break}setTimeout(function(){$visibleViews=[viewId]},$settings['slideSpeed']*1000);setTimeout(function(){$navigationActive=true},$settings['slideSpeed']*1000)}function recalculate(recalculateViews){if(!$container.is(':visible')){$invisibilityTimer=setInterval(function(){if($container.is(':visible')){recalculate();clearInterval($invisibilityTimer);$invisibilityTimer=''}},500);return}var parentElement=$parentElement;for(var i=0;parentElement.width()<=0;i++){parentElement=parentElement.parent();if(i>50)break}if($currentWidth==parentElement.width())return;$currentWidth=parentElement.width();var width=parentElement.width()-($container.outerWidth(true)-$container.width());if($settings['maxWidth']>0&&$settings['maxWidth']<width)width=$settings['maxWidth'];$container.css('width',Math.floor(width));$content.css('width',Math.floor(width)-($content.outerWidth(true)-$content.width()));if($settings['preserveSlideshowDimensions']){var height=(width*$settings['dimensionHeight'])/$settings['dimensionWidth'];$container.css('height',Math.floor(height));$content.css('height',Math.floor(height)-($content.outerHeight(true)-$content.height()))}else{$container.css('height',Math.floor($settings['height']));$content.css('height',Math.floor($settings['height']))}$views.each(function(viewId,view){if($.inArray(viewId,$visibleViews)<0)$(view).css('top',$container.outerHeight(true))});if(recalculateViews||recalculateViews==undefined){recalculateVisibleViews()}}function recalculateVisibleViews(){$.each($visibleViews,function(key,viewId){recalculateView(viewId)})}function recalculateView(viewId){view=$($views[viewId]);if($content.width()==view.outerWidth(true))return;var slides=view.find('.slideshow_slide');if(slides.length<=0)return;var viewWidth=$content.width()-(view.outerWidth(true)-view.width());var viewHeight=$content.height()-(view.outerHeight(true)-view.height());var slideWidth=Math.floor(viewWidth/slides.length);var slideHeight=viewHeight;var spareWidth=viewWidth%slides.length;var totalWidth=0;$(slides[0]).css('margin-left',0);$(slides[slides.length-1]).css('margin-right',0);$.each(slides,function(slideId,slide){slide=$(slide);var outerWidth=slide.outerWidth(true)-slide.width();var outerHeight=slide.outerHeight(true)-slide.height();if(slideId==(slides.length-1))slide.width((slideWidth-outerWidth)+spareWidth);else slide.width(slideWidth-outerWidth);slide.height(slideHeight-outerHeight);if(slide.hasClass('slideshow_slide_text')){var anchor=slide.find('a');if(anchor.length<=0)return;var anchorWidth=slide.width()-(anchor.outerWidth(true)-anchor.width());var anchorHeight=slide.height()-(anchor.outerHeight(true)-anchor.height());anchor.css({'width':anchorWidth,'height':anchorHeight})}else if(slide.hasClass('slideshow_slide_image')){var image=slide.find('img');if(image.length<=0)return;var maxImageWidth=slide.width()-(image.outerWidth(true)-image.width());var maxImageHeight=slide.height()-(image.outerHeight(true)-image.height());if($settings['stretchImages']){image.attr({width:maxImageWidth,height:maxImageHeight})}else if(image.width()>0&&image.height()>0){var imageDimension=$viewData[viewId][slideId]['imageDimension'];if(imageDimension=='')imageDimension=$viewData[viewId][slideId]['imageDimension']=image.outerWidth(true)/image.outerHeight(true);var slideDimension=slide.width()/slide.height();if(imageDimension>slideDimension){image.css({'margin':'0px'});image.attr({width:maxImageWidth,height:Math.floor(maxImageWidth/imageDimension)})}else if(imageDimension<slideDimension){image.css({'margin-left':'auto','margin-right':'auto','display':'block'});image.attr({width:Math.floor(maxImageHeight*imageDimension),height:maxImageHeight})}}}else if(slide.hasClass('slideshow_slide_video')){var videoElement=slide.find('iframe');if(videoElement.length>0){videoElement.attr({width:slide.width(),height:slide.height()})}else{var youtubePlayerReadyTimer='';youtubePlayerReadyTimer=setInterval(function(){if(!window.slideshow_jquery_image_gallery_youtube_api_ready)return;var element=slide.find('div');element.attr('id','slideshow_slide_video_'+Math.floor(Math.random()*1000000)+'_'+element.text());var player=new YT.Player(element.attr('id'),{width:$(slide).width(),height:$(slide).height(),videoId:element.text(),events:{'onReady':function(){},'onStateChange':function(event){$videoPlayers[element.attr('id')].state=event.data}}});$('#'+element.attr('id')).show();$videoPlayers[element.attr('id')]={'player':player,'state':-1};clearInterval(youtubePlayerReadyTimer)},500)}}totalWidth+=slide.outerWidth(true)});view.css({'width':viewWidth,'height':viewHeight})}function videoIsPlaying(){var videoIsPlaying=false;for(var playerID in $videoPlayers){if(!$videoPlayers.hasOwnProperty(playerID))continue;var state=$videoPlayers[playerID].state;if(state==1||state==3){videoIsPlaying=true;break}}return videoIsPlaying}function pauseAllVideos(){for(var playerID in $videoPlayers){if(!$videoPlayers.hasOwnProperty(playerID))continue;var player=$videoPlayers[playerID].player;if(player!=null&&typeof player.pauseVideo==='function'){$videoPlayers[playerID].state=2;player.pauseVideo()}}}function activateDescriptions(){if(!$settings['showDescription'])return;$.each($slides.find('.slideshow_description'),function(key,description){$(description).show();if($settings['hideDescription'])$(description).css({'position':'absolute','bottom':-$(description).outerHeight(true)})});if(!$settings['hideDescription'])return;$container.bind('onSlideshowAnimate',function(){if($visibleViews[1]==undefined)return;$.each($($views[$visibleViews[1]]).find('.slideshow_description'),function(key,description){$(description).css('bottom',-$(description).outerHeight(true))})});$slides.mouseenter(function(){$(this).find('.slideshow_description').stop(true,true).animate({'bottom':0},parseInt($settings['descriptionSpeed']*1000))});$slides.mouseleave(function(){$(this).find('.slideshow_description').stop(true,true).animate({'bottom':-$(this).outerHeight(true)},parseInt($settings['descriptionSpeed']*1000))})}function activateNavigationButtons(){if(!$settings['controllable'])return;$nextButton.click(function(){if(!$navigationActive)return;pauseAllVideos();stop();animateTo(getNextViewId(),1);start()});$previousButton.click(function(){if(!$navigationActive)return;pauseAllVideos();stop();animateTo(getPreviousViewId(),-1);start()});if($settings['hideNavigationButtons']){$container.mouseenter(function(){$nextButton.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$nextButton.stop(true,true).fadeOut(500)});$container.mouseenter(function(){$previousButton.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$previousButton.stop(true,true).fadeOut(500)})}else{$nextButton.show();$previousButton.show()}}function activateControlPanel(){if(!$settings['controlPanel'])return;if($settings['play'])$togglePlayButton.attr('class','slideshow_pause');else $togglePlayButton.attr('class','slideshow_play');$togglePlayButton.click(function(){if($settings['play']){$settings['play']=false;$(this).attr('class','slideshow_play');stop()}else{$settings['play']=true;$(this).attr('class','slideshow_pause');start()}});if($settings['hideControlPanel']){$container.mouseenter(function(){$controlPanel.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$controlPanel.stop(true,true).fadeOut(500)})}else{$controlPanel.show()}}function activatePagination(){if(!$settings['showPagination'])return;var ul=$pagination.find('ul');ul.html('');$views.each(function(key,view){var currentView='';if(key==$currentViewId)currentView='slideshow_currentView';ul.append('<li class="slideshow_transparent '+currentView+'">'+'<span style="display: none;">'+key+'</span>'+'</li>')});$pagination.find('li').click(function(){if(!$navigationActive)return;var viewId=$(this).find('span').text();if(viewId==''||viewId==undefined)return;pauseAllVideos();stop();animateTo(parseInt(viewId),0);start()});$container.bind('onSlideshowAnimate',function(){var bullets=$pagination.find('li');bullets.each(function(key,bullet){$(bullet).removeClass('slideshow_currentView')});$(bullets[$currentViewId]).addClass('slideshow_currentView')});if($settings['hidePagination']){$container.mouseenter(function(){$pagination.stop(true,true).fadeIn(100)});$container.mouseleave(function(){$pagination.stop(true,true).fadeOut(500)})}else{$pagination.show()}}function activatePauseOnHover(){if(!$settings['pauseOnHover'])return;$container.mouseenter(function(){clearTimeout($mouseEnterTimer);$mouseEnterTimer=setTimeout(function(){stop()},500)});$container.mouseleave(function(){clearTimeout($mouseEnterTimer);if($interval===false)start()})}function getNextViewId(){if($settings['random']){var oldViewId=viewId;viewId=Math.floor(Math.random()*$views.length);if(viewId!=oldViewId)return viewId}var viewId=$currentViewId;if(viewId==undefined)return 0;if(viewId>=$views.length-1){if($settings['loop'])return viewId=0;else return $currentViewId}return viewId+=1}function getPreviousViewId(){var viewId=$currentViewId;if(viewId==undefined)viewId=0;if($settings['random']){var oldViewId=viewId;viewId=Math.floor(Math.random()*$views.length);if(viewId!=oldViewId)return viewId}if(viewId<=0){if($settings['loop'])return viewId=$views.length-1;else return $currentViewId}return viewId-=1}function getID(){var splitClasses=$container.attr('class').split('_');return splitClasses[splitClasses.length-1]}};jQuery(document).ready(function(){jQuery.each(jQuery('.slideshow_container'),function(key,slideshow){jQuery(slideshow).slideshow_jquery_image_gallery_script()});var tag=document.createElement('script');tag.src="//www.youtube.com/iframe_api";var firstScriptTag=document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(tag,firstScriptTag)});window.slideshow_jquery_image_gallery_youtube_api_ready=false;function onYouTubeIframeAPIReady(){window.slideshow_jquery_image_gallery_youtube_api_ready=true}
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Donate link: http://stefanboonstra.com/donate-to-slideshow/
|
|
5 |
Tags: slideshow, slider, slide, slides, show, images, image, photo, gallery, galleries, jquery, javascript, video, text
|
6 |
Requires at least: 3.3
|
7 |
Tested up to: 3.5.1
|
8 |
-
Stable tag: 2.2.
|
9 |
License: GPLv2
|
10 |
|
11 |
Integrate a fancy slideshow in just five steps. - Rainbows. Rainbows everywhere.
|
@@ -165,6 +165,12 @@ personal taste.
|
|
165 |
|
166 |
== Changelog ==
|
167 |
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
= 2.2.3 =
|
169 |
* Fixed: A 'console.log();' message presumably caused Internet Explorer to have problems when inserting slides.
|
170 |
* Fixed: Slideshows that are hidden on page's load now wait to become visible before calculating their size.
|
5 |
Tags: slideshow, slider, slide, slides, show, images, image, photo, gallery, galleries, jquery, javascript, video, text
|
6 |
Requires at least: 3.3
|
7 |
Tested up to: 3.5.1
|
8 |
+
Stable tag: 2.2.4
|
9 |
License: GPLv2
|
10 |
|
11 |
Integrate a fancy slideshow in just five steps. - Rainbows. Rainbows everywhere.
|
165 |
|
166 |
== Changelog ==
|
167 |
|
168 |
+
= 2.2.4 =
|
169 |
+
* Fixed: Video slideshows will now work on mobile devices supported by YouTube.
|
170 |
+
* Fixed: Removed multi-line element tags to prevent WordPress from adding '<br />' tags into them.
|
171 |
+
* Fixed: Quick editing a slideshow deleted its content.
|
172 |
+
* Image files can now be found by their file names.
|
173 |
+
|
174 |
= 2.2.3 =
|
175 |
* Fixed: A 'console.log();' message presumably caused Internet Explorer to have problems when inserting slides.
|
176 |
* Fixed: Slideshows that are hidden on page's load now wait to become visible before calculating their size.
|
slideshow.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Slideshow
|
4 |
Plugin URI: http://wordpress.org/extend/plugins/slideshow-jquery-image-gallery/
|
5 |
Description: The slideshow plugin is easily deployable on your website. Add any image that has already been uploaded to add to your slideshow, add text slides, or even add a video. Options and styles are customizable for every single slideshow on your website.
|
6 |
-
Version: 2.2.
|
7 |
Requires at least: 3.3
|
8 |
Author: StefanBoonstra
|
9 |
Author URI: http://stefanboonstra.com/
|
@@ -22,13 +22,14 @@
|
|
22 |
class SlideshowPluginMain {
|
23 |
|
24 |
/** Variables */
|
25 |
-
static $version = '2.2.
|
26 |
|
27 |
/**
|
28 |
* Bootstraps the application by assigning the right functions to
|
29 |
* the right action hooks.
|
30 |
*/
|
31 |
static function bootStrap(){
|
|
|
32 |
self::autoInclude();
|
33 |
|
34 |
// Initialize localization on init
|
3 |
Plugin Name: Slideshow
|
4 |
Plugin URI: http://wordpress.org/extend/plugins/slideshow-jquery-image-gallery/
|
5 |
Description: The slideshow plugin is easily deployable on your website. Add any image that has already been uploaded to add to your slideshow, add text slides, or even add a video. Options and styles are customizable for every single slideshow on your website.
|
6 |
+
Version: 2.2.4
|
7 |
Requires at least: 3.3
|
8 |
Author: StefanBoonstra
|
9 |
Author URI: http://stefanboonstra.com/
|
22 |
class SlideshowPluginMain {
|
23 |
|
24 |
/** Variables */
|
25 |
+
static $version = '2.2.4';
|
26 |
|
27 |
/**
|
28 |
* Bootstraps the application by assigning the right functions to
|
29 |
* the right action hooks.
|
30 |
*/
|
31 |
static function bootStrap(){
|
32 |
+
|
33 |
self::autoInclude();
|
34 |
|
35 |
// Initialize localization on init
|
style/SlideshowPlugin/functional.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.slideshow_container{margin:0;position:relative}.slideshow_container div{clear:none!important;max-width:none;padding:0}.slideshow_container img{border:0;margin:0;padding:0;max-width:none}.slideshow_container p{margin:0;padding:10px}.slideshow_container a{margin:0;display:block}.slideshow_container ul{margin:0;padding:0}.slideshow_container ul li{margin:0;padding:0}.slideshow_container h1,.slideshow_container h2,.slideshow_container h3,.slideshow_container h4,.slideshow_container h5,.slideshow_container h6{margin:0;padding:10px}.slideshow_container .slideshow_content{position:relative;overflow:hidden}.slideshow_container .slideshow_view{position:absolute;width:0;height:0;overflow:hidden}.slideshow_container .slideshow_slide{position:relative;float:left!important;overflow:hidden}.slideshow_container .slideshow_description{display:none;position:absolute;bottom:0}.slideshow_container .transparent{zoom:1}.slideshow_container .transparent:hover{zoom:1}.slideshow_container .slideshow_controlPanel{position:absolute;top:5px;left:50%;display:none;z-index:2}.slideshow_container .slideshow_controlPanel ul{list-style:none;margin:0;padding:0}.slideshow_container .slideshow_controlPanel ul li{float:left}.slideshow_container .slideshow_controlPanel ul li:hover{cursor:pointer}.slideshow_container .slideshow_button{padding:0;position:absolute;top:50%;cursor:pointer;display:none;z-index:2}.slideshow_container .slideshow_previous{left:5px}.slideshow_container .slideshow_next{right:5px}.slideshow_container .slideshow_pagination{height:0;position:absolute;width:100%;display:none;z-index:2}.slideshow_container .slideshow_pagination_center{display:table;margin:0 auto}.slideshow_container .slideshow_pagination ul{list-style:none;margin:0;padding:0}.slideshow_container .slideshow_pagination ul li{display:inline;float:left}.slideshow_container .slideshow_pagination ul li:hover{cursor:pointer}.
|
1 |
+
.slideshow_container{margin:0;position:relative}.slideshow_container div{clear:none!important;max-width:none;padding:0}.slideshow_container img{border:0;margin:0;padding:0;max-width:none}.slideshow_container p{margin:0;padding:10px}.slideshow_container a{margin:0;display:block}.slideshow_container ul{margin:0;padding:0}.slideshow_container ul li{margin:0;padding:0}.slideshow_container h1,.slideshow_container h2,.slideshow_container h3,.slideshow_container h4,.slideshow_container h5,.slideshow_container h6{margin:0;padding:10px}.slideshow_container .slideshow_content{position:relative;overflow:hidden}.slideshow_container .slideshow_view{position:absolute;width:0;height:0;overflow:hidden}.slideshow_container .slideshow_slide{position:relative;float:left!important;overflow:hidden}.slideshow_container .slideshow_description{display:none;position:absolute;bottom:0}.slideshow_container .transparent{zoom:1}.slideshow_container .transparent:hover{zoom:1}.slideshow_container .slideshow_controlPanel{position:absolute;top:5px;left:50%;display:none;z-index:2}.slideshow_container .slideshow_controlPanel ul{list-style:none;margin:0;padding:0}.slideshow_container .slideshow_controlPanel ul li{float:left}.slideshow_container .slideshow_controlPanel ul li:hover{cursor:pointer}.slideshow_container .slideshow_button{padding:0;position:absolute;top:50%;cursor:pointer;display:none;z-index:2}.slideshow_container .slideshow_previous{left:5px}.slideshow_container .slideshow_next{right:5px}.slideshow_container .slideshow_pagination{height:0;position:absolute;width:100%;display:none;z-index:2}.slideshow_container .slideshow_pagination_center{display:table;margin:0 auto}.slideshow_container .slideshow_pagination ul{list-style:none;margin:0;padding:0}.slideshow_container .slideshow_pagination ul li{display:inline;float:left}.slideshow_container .slideshow_pagination ul li:hover{cursor:pointer}.slideshow_plugin_manufacturer{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}
|
views/SlideshowPlugin/slideshow.php
CHANGED
@@ -1,10 +1,4 @@
|
|
1 |
-
<div
|
2 |
-
class="slideshow_container slideshow_container_<?php echo $sessionID; ?>"
|
3 |
-
style="
|
4 |
-
<?php echo (isset($settings['preserveSlideshowDimensions']) && $settings['preserveSlideshowDimensions'] == 'false' && isset($settings['height']) && $settings['height'] > 0) ? 'height: ' . $settings['height'] . 'px; ' : ''; ?>
|
5 |
-
<?php echo (isset($settings['maxWidth']) && $settings['maxWidth'] > 0) ? 'max-width: ' . $settings['maxWidth'] . 'px;' : ''; ?>
|
6 |
-
"
|
7 |
-
>
|
8 |
|
9 |
<div class="slideshow_controlPanel slideshow_transparent"><ul><li class="slideshow_togglePlay"></li></ul></div>
|
10 |
|
@@ -25,10 +19,6 @@
|
|
25 |
|
26 |
</div>
|
27 |
|
28 |
-
<div class="slideshow_plugin_manufacturer">
|
29 |
-
<a href="http://www.stefanboonstra.com/slideshow/">Wordpress Slideshow</a>
|
30 |
-
</div>
|
31 |
-
|
32 |
<!-- WordPress Slideshow Version <?php echo SlideshowPluginMain::$version; ?> -->
|
33 |
|
34 |
<?php if(is_array($log) && count($log) > 0): ?>
|
1 |
+
<div class="slideshow_container slideshow_container_<?php echo $sessionID; ?>" style="<?php echo (isset($settings['preserveSlideshowDimensions']) && $settings['preserveSlideshowDimensions'] == 'false' && isset($settings['height']) && $settings['height'] > 0) ? 'height: ' . $settings['height'] . 'px;' : ''; ?> <?php echo (isset($settings['maxWidth']) && $settings['maxWidth'] > 0) ? 'max-width: ' . $settings['maxWidth'] . 'px;' : ''; ?>">
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
3 |
<div class="slideshow_controlPanel slideshow_transparent"><ul><li class="slideshow_togglePlay"></li></ul></div>
|
4 |
|
19 |
|
20 |
</div>
|
21 |
|
|
|
|
|
|
|
|
|
22 |
<!-- WordPress Slideshow Version <?php echo SlideshowPluginMain::$version; ?> -->
|
23 |
|
24 |
<?php if(is_array($log) && count($log) > 0): ?>
|
views/SlideshowPluginSlideshowSlide/frontend_video.php
CHANGED
@@ -18,9 +18,6 @@ if(($idPosition = stripos($videoId, 'v=')) !== false){
|
|
18 |
$videoId = $videoId[0];
|
19 |
}
|
20 |
|
21 |
-
// Enqueue SwfObject script
|
22 |
-
wp_enqueue_script('swfobject');
|
23 |
-
|
24 |
?>
|
25 |
|
26 |
<div class="slideshow_slide slideshow_slide_video">
|
18 |
$videoId = $videoId[0];
|
19 |
}
|
20 |
|
|
|
|
|
|
|
21 |
?>
|
22 |
|
23 |
<div class="slideshow_slide slideshow_slide_video">
|