Slideshow - Version 2.2.4

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 Icon 128x128 Slideshow
Version 2.2.4
Comparing to
See all releases

Code changes from version 2.2.3 to 2.2.4

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
- $_POST['search'],
172
- $_POST['search']
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['nonce']) && !wp_verify_nonce($_POST['nonce'], plugin_basename(__FILE__))) ||
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.3
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.3
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.3';
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}.slideshow_container .slideshow_plugin_manufacturer{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}
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">