Slideshow Gallery - Version 1.6.7

Version Description

  • ADD: Compatibility with WordPress 4.8+ feature
  • ADD: Display slideshow images inside RSS feeds feature
  • FIX: Blank/empty slide breaks slideshow bug
  • FIX: Woocommerce loads outdated version of Select2, conflicts bug
  • FIX: Conflict with Select2 of Yoast SEO
Download this release

Release Info

Developer contrid
Plugin Icon 128x128 Slideshow Gallery
Version 1.6.7
Comparing to
See all releases

Code changes from version 1.6.6.1 to 1.6.7

readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: contrid
3
  Donate link: http://tribulant.com/
4
  Tags: wordpress plugins, wordpress slideshow gallery, slides, slideshow, image gallery, images, gallery, featured content, content gallery, javascript, javascript slideshow, slideshow gallery
5
  Requires at least: 3.1
6
- Tested up to: 4.7.3
7
- Stable tag: 1.6.6.1
8
 
9
  Feature content in a JavaScript powered slideshow gallery showcase on your WordPress website
10
 
@@ -175,6 +175,13 @@ There is an "Images Tester" utility under Slideshow > Configuration on the right
175
 
176
  == Changelog ==
177
 
 
 
 
 
 
 
 
178
  = 1.6.6 =
179
  * IMPROVE: Check for missing media/attachment records enhancement
180
  * IMPROVE: ALT attributes on slide images
3
  Donate link: http://tribulant.com/
4
  Tags: wordpress plugins, wordpress slideshow gallery, slides, slideshow, image gallery, images, gallery, featured content, content gallery, javascript, javascript slideshow, slideshow gallery
5
  Requires at least: 3.1
6
+ Tested up to: 4.8
7
+ Stable tag: 1.6.7
8
 
9
  Feature content in a JavaScript powered slideshow gallery showcase on your WordPress website
10
 
175
 
176
  == Changelog ==
177
 
178
+ = 1.6.7 =
179
+ * ADD: Compatibility with WordPress 4.8+ feature
180
+ * ADD: Display slideshow images inside RSS feeds feature
181
+ * FIX: Blank/empty slide breaks slideshow bug
182
+ * FIX: Woocommerce loads outdated version of Select2, conflicts bug
183
+ * FIX: Conflict with Select2 of Yoast SEO
184
+
185
  = 1.6.6 =
186
  * IMPROVE: Check for missing media/attachment records enhancement
187
  * IMPROVE: ALT attributes on slide images
slideshow-gallery-plugin.php CHANGED
@@ -4,7 +4,7 @@ if (!defined('ABSPATH')) exit; // Exit if accessed directly
4
 
5
  class GalleryPlugin extends GalleryCheckinit {
6
 
7
- var $version = '1.6.6.1';
8
  var $plugin_name;
9
  var $plugin_base;
10
  var $pre = 'Gallery';
@@ -302,10 +302,10 @@ class GalleryPlugin extends GalleryCheckinit {
302
  $version = "1.5.3";
303
  }
304
 
305
- if (version_compare($cur_version, "1.6.6.1") < 0) {
306
  $this -> initialize_options();
307
 
308
- $version = "1.6.6.1";
309
  }
310
 
311
  //the current version is older.
@@ -654,10 +654,11 @@ class GalleryPlugin extends GalleryCheckinit {
654
 
655
  add_thickbox();
656
  wp_deregister_script('select2');
 
 
657
  }
658
 
659
  wp_enqueue_script('colorbox', $this -> render_url('js/colorbox.js', "admin"), array('jquery'), '1.6.3');
660
- wp_enqueue_script('select2', $this -> render_url('js/select2.js', "admin"), array('jquery'), '4.0.0');
661
  wp_enqueue_script($this -> plugin_name . 'admin', $this -> render_url('js/admin.js', "admin"), null, '1.0');
662
  } else {
663
  wp_enqueue_script($this -> plugin_name, $this -> render_url('js/gallery.js', "default"), null, '1.0');
@@ -679,20 +680,8 @@ class GalleryPlugin extends GalleryCheckinit {
679
 
680
  $key = 'slideshow-css-' . $styles['unique'];
681
  $data = maybe_serialize($styles);
682
- //wp_cache_set($key, $data, 'slideshowgallery', 0);
683
  set_transient($key, $data, 999);
684
 
685
- /*if (!empty($styles)) {
686
- $css_url .= '?';
687
- $s = 1;
688
-
689
- foreach ($styles as $skey => $sval) {
690
- $css_url .= $skey . '=' . urlencode($sval);
691
- if ($s < count($styles)) { $css_url .= '&amp;'; }
692
- $s++;
693
- }
694
- }*/
695
-
696
  return $css_url;
697
  }
698
 
@@ -701,13 +690,18 @@ class GalleryPlugin extends GalleryCheckinit {
701
  }
702
 
703
  function enqueue_styles() {
704
- if (is_admin()) {
705
- wp_enqueue_style($this -> plugin_name, $this -> render_url('css/admin.css', "admin"), null, "1.0", "all");
706
- wp_enqueue_style('wp-color-picker');
707
- wp_enqueue_style('jquery-ui', $this -> render_url('css/jquery-ui.css', "admin"), null, "1.0", "all");
708
- wp_enqueue_style('colorbox', $this -> render_url('css/colorbox.css', "admin"), null, "1.3.19", "all");
709
- wp_enqueue_style('select2', $this -> render_url('css/select2.css', "admin"), false, '4.0.0', "all");
710
  wp_enqueue_style('fontawesome', $this -> render_url('css/fontawesome.css', "admin"), false, '4.4.0', "all");
 
 
 
 
 
 
 
 
 
 
711
  } else {
712
  wp_enqueue_style('colorbox', $this -> render_url('css/colorbox.css', "default"), null, "1.3.19", "all");
713
  wp_enqueue_style('fontawesome', $this -> render_url('css/fontawesome.css', "default"), false, '4.4.0', "all");
4
 
5
  class GalleryPlugin extends GalleryCheckinit {
6
 
7
+ var $version = '1.6.7';
8
  var $plugin_name;
9
  var $plugin_base;
10
  var $pre = 'Gallery';
302
  $version = "1.5.3";
303
  }
304
 
305
+ if (version_compare($cur_version, "1.6.7") < 0) {
306
  $this -> initialize_options();
307
 
308
+ $version = "1.6.7";
309
  }
310
 
311
  //the current version is older.
654
 
655
  add_thickbox();
656
  wp_deregister_script('select2');
657
+ wp_deregister_script('wc-enhanced-select');
658
+ wp_enqueue_script('select2', $this -> render_url('js/select2.js', "admin"), array('jquery'), '4.0.0');
659
  }
660
 
661
  wp_enqueue_script('colorbox', $this -> render_url('js/colorbox.js', "admin"), array('jquery'), '1.6.3');
 
662
  wp_enqueue_script($this -> plugin_name . 'admin', $this -> render_url('js/admin.js', "admin"), null, '1.0');
663
  } else {
664
  wp_enqueue_script($this -> plugin_name, $this -> render_url('js/gallery.js', "default"), null, '1.0');
680
 
681
  $key = 'slideshow-css-' . $styles['unique'];
682
  $data = maybe_serialize($styles);
 
683
  set_transient($key, $data, 999);
684
 
 
 
 
 
 
 
 
 
 
 
 
685
  return $css_url;
686
  }
687
 
690
  }
691
 
692
  function enqueue_styles() {
693
+ if (is_admin()) {
 
 
 
 
 
694
  wp_enqueue_style('fontawesome', $this -> render_url('css/fontawesome.css', "admin"), false, '4.4.0', "all");
695
+
696
+ $page = esc_html($_GET['page']);
697
+ if (!empty($page) && in_array($page, (array) $this -> sections)) {
698
+ wp_enqueue_style('wp-color-picker');
699
+ wp_enqueue_style('jquery-ui', $this -> render_url('css/jquery-ui.css', "admin"), null, "1.0", "all");
700
+ wp_enqueue_style('colorbox', $this -> render_url('css/colorbox.css', "admin"), null, "1.3.19", "all");
701
+ wp_enqueue_style('select2', $this -> render_url('css/select2.css', "admin"), false, '4.0.0', "all");
702
+ }
703
+
704
+ wp_enqueue_style($this -> plugin_name, $this -> render_url('css/admin.css', "admin"), null, "1.0", "all");
705
  } else {
706
  wp_enqueue_style('colorbox', $this -> render_url('css/colorbox.css', "default"), null, "1.3.19", "all");
707
  wp_enqueue_style('fontawesome', $this -> render_url('css/fontawesome.css', "default"), false, '4.4.0', "all");
slideshow-gallery.php CHANGED
@@ -6,7 +6,7 @@ Plugin URI: http://tribulant.com/plugins/view/13/wordpress-slideshow-gallery
6
  Author: Tribulant Software
7
  Author URI: http://tribulant.com
8
  Description: Feature content in a JavaScript powered slideshow gallery showcase on your WordPress website. The slideshow is flexible and all aspects can easily be configured. Embedding or hardcoding the slideshow gallery is a breeze. To embed into a post/page, simply insert <code>[tribulant_slideshow]</code> into its content with an optional <code>post_id</code> parameter. To hardcode into any PHP file of your WordPress theme, simply use <code>&lt;?php if (function_exists('slideshow')) { slideshow($output = true, $post_id = false, $gallery_id = false, $params = array()); } ?&gt;</code>.
9
- Version: 1.6.6.1
10
  License: GNU General Public License v2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
  Tags: slideshow gallery, slideshow, gallery, slider, jquery, bfithumb, galleries, photos, images
@@ -382,10 +382,8 @@ if (!class_exists('Gallery')) {
382
  $s = shortcode_atts($defaults, $atts);
383
  extract($s);
384
 
385
- // if this is an RSS/Atom feed, it should not continue...
386
- if (is_feed()) { return false; }
387
-
388
- // Shopping Cart plugin products
389
  if (!empty($products)) {
390
  include_once(ABSPATH . 'wp-admin/includes/plugin.php');
391
  if (is_plugin_active('wp-checkout' . DS . 'wp-checkout.php')) {
@@ -413,12 +411,10 @@ if (!class_exists('Gallery')) {
413
  }
414
  }
415
 
416
- if (!empty($products)) {
417
- foreach ($products as $pkey => $product) {
418
- //$products[$pkey] = (object) array_map('esc_attr', (array) $product);
419
- }
420
-
421
- $content = $this -> render('gallery', array('slides' => $products, 'unique' => 'products' . $productstype . $productsnumber, 'products' => true, 'options' => $s, 'frompost' => false), false, 'default');
422
  } else {
423
  $error = __('No products are available', $this -> plugin_name);
424
  }
@@ -443,13 +439,10 @@ if (!class_exists('Gallery')) {
443
  'order' => $orderd,
444
  );
445
 
446
- if ($posts = get_posts($args)) {
447
-
448
- foreach ($posts as $pkey => $post) {
449
- //$posts[$pkey] = (object) array_map('esc_attr', (array) $post);
450
- }
451
-
452
- $content = $this -> render('gallery', array('slides' => $posts, 'unique' => 'featured' . $featuredtype . $featurednumber, 'featured' => true, 'options' => $s, 'frompost' => false), false, 'default');
453
  } else {
454
  $error = sprintf(__('No posts with featured images are available. Ensure your theme includes %s support.', $this -> plugin_name), '<code>add_theme_support("post-thumbnails");</code>');
455
  }
@@ -485,11 +478,15 @@ if (!class_exists('Gallery')) {
485
  $imagespath = $this -> get_option('imagespath');
486
 
487
  foreach ($slides as $skey => $slide) {
488
- //$slides[$skey] = (object) array_map('esc_attr', (array) $slide);
489
  $slides[$skey] -> image_path = $this -> Html -> image_path($slide);
 
 
 
 
490
  }
491
 
492
  if ($orderby == "random") { shuffle($slides); }
 
493
  $content = $this -> render('gallery', array('slides' => $slides, 'unique' => 'gallery' . $gallery_id . rand(1, 999), 'options' => $s, 'frompost' => false), false, 'default');
494
  } else {
495
  $error = __('No slides are available in this gallery', $this -> plugin_name);
@@ -505,9 +502,7 @@ if (!class_exists('Gallery')) {
505
  if (!empty($exclude)) {
506
  $exclude = array_map('trim', explode(',', $exclude));
507
 
508
- foreach ($slides as $slide_key => $slide) {
509
- //$slides[$slide_key] = (object) array_map('esc_attr', (array) $slide);
510
-
511
  if (in_array($slide -> id, $exclude)) {
512
  unset($slides[$slide_key]);
513
  }
@@ -515,6 +510,7 @@ if (!class_exists('Gallery')) {
515
  }
516
 
517
  if ($orderby == "random") { shuffle($slides); }
 
518
 
519
  if (!empty($slides)) {
520
  $content = $this -> render('gallery', array('slides' => $slides, 'unique' => "custom" . rand(1, 999), 'options' => $s, 'frompost' => false), false, 'default');
@@ -557,7 +553,9 @@ if (!class_exists('Gallery')) {
557
  }
558
 
559
  if ($orderby == "random") { shuffle($attachments); }
560
- $content = $this -> render('gallery', array('slides' => $attachments, 'unique' => $pid, 'options' => $s, 'frompost' => true), false, 'default');
 
 
561
  } else {
562
  $error = __('No attachments on this post/page', $this -> plugin_name);
563
  }
@@ -566,6 +564,73 @@ if (!class_exists('Gallery')) {
566
  }
567
  }
568
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
569
  if (!empty($error)) {
570
  $content = '';
571
  $content .= '<p class="slideshow_error slideshow-gallery-error">';
@@ -715,8 +780,9 @@ if (!class_exists('Gallery')) {
715
  }
716
  break;
717
  case 'order' :
718
- if (!empty($_GET['gallery_id'])) {
719
- $gallery = $this -> Gallery() -> find(array('id' => esc_html($_GET['gallery_id'])));
 
720
 
721
  $slides = array();
722
  $gsquery = "SELECT gs.slide_id FROM `" . $this -> GallerySlides() -> table . "` gs WHERE `gallery_id` = '" . $gallery -> id . "' ORDER BY gs.order ASC";
@@ -735,7 +801,7 @@ if (!class_exists('Gallery')) {
735
  }
736
  }
737
 
738
- $this -> render('slides' . DS . 'order', array('gallery' => $gallery, 'slides' => $slides), true, 'admin');
739
  } else {
740
  $slides = $this -> Slide() -> find_all(null, null, array('order', "ASC"));
741
  $this -> render('slides' . DS . 'order', array('slides' => $slides), true, 'admin');
6
  Author: Tribulant Software
7
  Author URI: http://tribulant.com
8
  Description: Feature content in a JavaScript powered slideshow gallery showcase on your WordPress website. The slideshow is flexible and all aspects can easily be configured. Embedding or hardcoding the slideshow gallery is a breeze. To embed into a post/page, simply insert <code>[tribulant_slideshow]</code> into its content with an optional <code>post_id</code> parameter. To hardcode into any PHP file of your WordPress theme, simply use <code>&lt;?php if (function_exists('slideshow')) { slideshow($output = true, $post_id = false, $gallery_id = false, $params = array()); } ?&gt;</code>.
9
+ Version: 1.6.7
10
  License: GNU General Public License v2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
  Tags: slideshow gallery, slideshow, gallery, slider, jquery, bfithumb, galleries, photos, images
382
  $s = shortcode_atts($defaults, $atts);
383
  extract($s);
384
 
385
+ $slideshowtype = false;
386
+
 
 
387
  if (!empty($products)) {
388
  include_once(ABSPATH . 'wp-admin/includes/plugin.php');
389
  if (is_plugin_active('wp-checkout' . DS . 'wp-checkout.php')) {
411
  }
412
  }
413
 
414
+ if (!empty($products)) {
415
+ $slides = $products;
416
+ $slideshowtype = "products";
417
+ $content = $this -> render('gallery', array('slides' => $slides, 'unique' => 'products' . $productstype . $productsnumber, 'products' => true, 'options' => $s, 'frompost' => false), false, 'default');
 
 
418
  } else {
419
  $error = __('No products are available', $this -> plugin_name);
420
  }
439
  'order' => $orderd,
440
  );
441
 
442
+ if ($posts = get_posts($args)) {
443
+ $slides = $posts;
444
+ $slideshowtype = "featured";
445
+ $content = $this -> render('gallery', array('slides' => $slides, 'unique' => 'featured' . $featuredtype . $featurednumber, 'featured' => true, 'options' => $s, 'frompost' => false), false, 'default');
 
 
 
446
  } else {
447
  $error = sprintf(__('No posts with featured images are available. Ensure your theme includes %s support.', $this -> plugin_name), '<code>add_theme_support("post-thumbnails");</code>');
448
  }
478
  $imagespath = $this -> get_option('imagespath');
479
 
480
  foreach ($slides as $skey => $slide) {
 
481
  $slides[$skey] -> image_path = $this -> Html -> image_path($slide);
482
+
483
+ if (!@getimagesize($slides[$skey] -> image_path)) {
484
+ unset($slides[$skey]);
485
+ }
486
  }
487
 
488
  if ($orderby == "random") { shuffle($slides); }
489
+ $slideshowtype = "gallery";
490
  $content = $this -> render('gallery', array('slides' => $slides, 'unique' => 'gallery' . $gallery_id . rand(1, 999), 'options' => $s, 'frompost' => false), false, 'default');
491
  } else {
492
  $error = __('No slides are available in this gallery', $this -> plugin_name);
502
  if (!empty($exclude)) {
503
  $exclude = array_map('trim', explode(',', $exclude));
504
 
505
+ foreach ($slides as $slide_key => $slide) {
 
 
506
  if (in_array($slide -> id, $exclude)) {
507
  unset($slides[$slide_key]);
508
  }
510
  }
511
 
512
  if ($orderby == "random") { shuffle($slides); }
513
+ $slideshowtype = "slides";
514
 
515
  if (!empty($slides)) {
516
  $content = $this -> render('gallery', array('slides' => $slides, 'unique' => "custom" . rand(1, 999), 'options' => $s, 'frompost' => false), false, 'default');
553
  }
554
 
555
  if ($orderby == "random") { shuffle($attachments); }
556
+ $slides = $attachments;
557
+ $slideshowtype = "post";
558
+ $content = $this -> render('gallery', array('slides' => $slides, 'unique' => $pid, 'options' => $s, 'frompost' => true), false, 'default');
559
  } else {
560
  $error = __('No attachments on this post/page', $this -> plugin_name);
561
  }
564
  }
565
  }
566
 
567
+ // Check if this is an RSS Feed?
568
+ if (is_feed()) {
569
+ $content = '';
570
+ ob_start();
571
+
572
+ $width = $this -> get_option('thumbwidth');
573
+ $height = $this -> get_option('thumbheight');
574
+
575
+ if (!empty($slides)) {
576
+ switch ($slideshowtype) {
577
+ case 'products' :
578
+ foreach ($slides as $slide) {
579
+ ?>
580
+
581
+ <a href="<?php echo get_permalink($slide -> post_id); ?>" title="<?php echo esc_attr(__($slide -> title)); ?>">
582
+ <img align="left" hspace="15" src="<?php echo $this -> Html() -> otf_image_src($slide, $this -> get_option('thumbwidth'), $this -> get_option('thumbheight'), 100); ?>" />
583
+ </a>
584
+
585
+ <?php
586
+ }
587
+ break;
588
+ case 'gallery' :
589
+ foreach ($slides as $slide) {
590
+ ?>
591
+
592
+ <a href="<?php echo $slide -> image_path; ?>" title="<?php echo __($slide -> title); ?>">
593
+ <img align="left" hspace="15" src="<?php echo $this -> Html() -> otf_image_src($slide, $this -> get_option('thumbwidth'), $this -> get_option('thumbheight'), 100); ?>" alt="<?php echo $this -> Html -> sanitize(__($slide -> title)); ?>" />
594
+ </a>
595
+
596
+ <?php
597
+ }
598
+ break;
599
+ case 'featured' :
600
+ foreach ($slides as $slide) {
601
+ ?>
602
+
603
+ <a href="<?php echo $slide -> guid; ?>" title="<?php echo esc_attr(__($slide -> post_title)); ?>">
604
+ <img align="left" hspace="15" src="<?php echo $this -> Html() -> otf_image_src($slide, $this -> get_option('thumbwidth'), $this -> get_option('thumbheight'), 100); ?>" alt="<?php echo $this -> Html -> sanitize(__($slide -> post_title)); ?>" />
605
+ </a>
606
+
607
+ <?php
608
+ }
609
+ break;
610
+ case 'post' :
611
+ default :
612
+ foreach ($slides as $slide) {
613
+ $full_image_href = wp_get_attachment_image_src($slide -> ID, 'full', false);
614
+ $full_image_url = wp_get_attachment_url($slide -> ID);
615
+
616
+ ?>
617
+
618
+ <a href="<?php echo $full_image_url; ?>" title="<?php echo __($slide -> post_title); ?>">
619
+ <img align="left" hspace="15" src="<?php echo $this -> Html() -> otf_image_src($slide, $this -> get_option('thumbwidth'), $this -> get_option('thumbheight'), 100); ?>" alt="<?php echo $this -> Html -> sanitize(__($slide -> post_title)); ?>" />
620
+ </a>
621
+
622
+ <?php
623
+ }
624
+ break;
625
+ }
626
+
627
+ ?><hr style="visibility:hidden; height:1px; width:100%; display:block;" /><?php
628
+ }
629
+
630
+ $content = ob_get_clean();
631
+ }
632
+
633
+ // Check for error messages
634
  if (!empty($error)) {
635
  $content = '';
636
  $content .= '<p class="slideshow_error slideshow-gallery-error">';
780
  }
781
  break;
782
  case 'order' :
783
+ $gallery_id = esc_html($_GET['gallery_id']);
784
+ if (!empty($gallery_id)) {
785
+ $gallery = $this -> Gallery() -> find(array('id' => esc_html($gallery_id)));
786
 
787
  $slides = array();
788
  $gsquery = "SELECT gs.slide_id FROM `" . $this -> GallerySlides() -> table . "` gs WHERE `gallery_id` = '" . $gallery -> id . "' ORDER BY gs.order ASC";
801
  }
802
  }
803
 
804
+ $this -> render('slides' . DS . 'order-gallery', array('gallery' => $gallery, 'slides' => $slides), true, 'admin');
805
  } else {
806
  $slides = $this -> Slide() -> find_all(null, null, array('order', "ASC"));
807
  $this -> render('slides' . DS . 'order', array('slides' => $slides), true, 'admin');
views/admin/about.php CHANGED
@@ -48,7 +48,7 @@ $minor_features = array(
48
  ?>
49
 
50
  <div class="wrap slideshow-gallery about-wrap">
51
- <h1><?php echo sprintf( 'Welcome to Tribulant Slideshow Gallery %s', $this -> version); ?></h1>
52
  <div class="about-text">
53
  <?php echo sprintf('Thank you for installing! Tribulant Slideshow Gallery %s is more powerful, reliable and versatile than before. It includes many features and improvements to make email marketing easier and more efficient for you.', $this -> version); ?>
54
  </div>
@@ -58,9 +58,9 @@ $minor_features = array(
58
  </div>
59
  <?php echo sprintf('Version %s', $this -> version); ?>
60
  </div>
61
-
 
62
  <div class="feature-section two-col">
63
- <h2>New Major Features</h2>
64
  <?php foreach ( $major_features as $feature ) : ?>
65
  <div class="col">
66
  <div class="media-container">
@@ -90,9 +90,9 @@ $minor_features = array(
90
  </div>
91
 
92
  <hr/>
93
-
 
94
  <div class="feature-section three-col">
95
- <h2>New Minor Features</h2>
96
  <?php foreach ( $minor_features as $feature ) : ?>
97
  <div class="col">
98
  <div class="minor-img-container">
48
  ?>
49
 
50
  <div class="wrap slideshow-gallery about-wrap">
51
+ <h1><?php echo sprintf( 'Welcome to Slideshow Gallery %s', $this -> version); ?></h1>
52
  <div class="about-text">
53
  <?php echo sprintf('Thank you for installing! Tribulant Slideshow Gallery %s is more powerful, reliable and versatile than before. It includes many features and improvements to make email marketing easier and more efficient for you.', $this -> version); ?>
54
  </div>
58
  </div>
59
  <?php echo sprintf('Version %s', $this -> version); ?>
60
  </div>
61
+
62
+ <h2>New Major Features</h2>
63
  <div class="feature-section two-col">
 
64
  <?php foreach ( $major_features as $feature ) : ?>
65
  <div class="col">
66
  <div class="media-container">
90
  </div>
91
 
92
  <hr/>
93
+
94
+ <h2>New Minor Features</h2>
95
  <div class="feature-section three-col">
 
96
  <?php foreach ( $minor_features as $feature ) : ?>
97
  <div class="col">
98
  <div class="minor-img-container">
views/admin/galleries/index.php CHANGED
@@ -19,7 +19,7 @@ if (!defined('ABSPATH')) exit; // Exit if accessed directly
19
 
20
  <?php wp_nonce_field($this -> sections -> galleries . '-bulkaction'); ?>
21
 
22
- <div class="tablenav">
23
  <div class="alignleft actions">
24
  <select name="action" class="action">
25
  <option value=""><?php _e('- Bulk Actions -', $this -> plugin_name); ?></option>
@@ -125,7 +125,7 @@ if (!defined('ABSPATH')) exit; // Exit if accessed directly
125
  </tbody>
126
  </table>
127
 
128
- <div class="tablenav">
129
  <div class="alignleft">
130
  <?php if (empty($_GET['showall'])) : ?>
131
  <select class="widefat" style="width:auto;" name="perpage" onchange="change_perpage(this.value);">
19
 
20
  <?php wp_nonce_field($this -> sections -> galleries . '-bulkaction'); ?>
21
 
22
+ <div class="tablenav top">
23
  <div class="alignleft actions">
24
  <select name="action" class="action">
25
  <option value=""><?php _e('- Bulk Actions -', $this -> plugin_name); ?></option>
125
  </tbody>
126
  </table>
127
 
128
+ <div class="tablenav bottom">
129
  <div class="alignleft">
130
  <?php if (empty($_GET['showall'])) : ?>
131
  <select class="widefat" style="width:auto;" name="perpage" onchange="change_perpage(this.value);">
views/admin/galleries/view.php CHANGED
@@ -9,10 +9,14 @@ if (!defined('ABSPATH')) exit; // Exit if accessed directly
9
 
10
  <div style="float:none;" class="subsubsub"><?php echo $this -> Html -> link(__('&larr; All Galleries', $this -> plugin_name), $this -> url, array('title' => __('All Galleries', $this -> plugin_name))); ?></div>
11
 
12
- <div class="tablenav">
13
- <div class="alignleft actions">
14
  <a href="?page=<?php echo $this -> sections -> galleries; ?>&amp;method=save&amp;id=<?php echo $gallery -> id; ?>" class="button"><i class="fa fa-pencil"></i> <?php _e('Edit Gallery', $this -> plugin_name); ?></a>
 
 
15
  <a href="?page=<?php echo $this -> sections -> galleries; ?>&amp;method=hardcode&amp;id=<?php echo $gallery -> id; ?>" class="button"><i class="fa fa-code"></i> <?php _e('Hardcode', $this -> plugin_name); ?></a>
 
 
16
  <a onclick="if (!confirm('<?php _e('Are you sure you want to delete this gallery?', $this -> plugin_name); ?>')) { return false; }" href="?page=<?php echo $this -> sections -> galleries; ?>&amp;method=delete&amp;id=<?php echo $gallery -> id; ?>" class="button button-highlighted"><i class="fa fa-times"></i> <?php _e('Delete Gallery', $this -> plugin_name); ?></a>
17
  </div>
18
  </div>
9
 
10
  <div style="float:none;" class="subsubsub"><?php echo $this -> Html -> link(__('&larr; All Galleries', $this -> plugin_name), $this -> url, array('title' => __('All Galleries', $this -> plugin_name))); ?></div>
11
 
12
+ <div class="tablenav top">
13
+ <div class="alignleft">
14
  <a href="?page=<?php echo $this -> sections -> galleries; ?>&amp;method=save&amp;id=<?php echo $gallery -> id; ?>" class="button"><i class="fa fa-pencil"></i> <?php _e('Edit Gallery', $this -> plugin_name); ?></a>
15
+ </div>
16
+ <div class="alignleft">
17
  <a href="?page=<?php echo $this -> sections -> galleries; ?>&amp;method=hardcode&amp;id=<?php echo $gallery -> id; ?>" class="button"><i class="fa fa-code"></i> <?php _e('Hardcode', $this -> plugin_name); ?></a>
18
+ </div>
19
+ <div class="alignleft">
20
  <a onclick="if (!confirm('<?php _e('Are you sure you want to delete this gallery?', $this -> plugin_name); ?>')) { return false; }" href="?page=<?php echo $this -> sections -> galleries; ?>&amp;method=delete&amp;id=<?php echo $gallery -> id; ?>" class="button button-highlighted"><i class="fa fa-times"></i> <?php _e('Delete Gallery', $this -> plugin_name); ?></a>
21
  </div>
22
  </div>
views/admin/head.php CHANGED
@@ -1,6 +1,8 @@
1
  <?php
2
 
3
  if (!defined('ABSPATH')) exit; // Exit if accessed directly
 
 
4
 
5
  ?>
6
 
@@ -11,11 +13,13 @@ var slideshowajax = "<?php echo admin_url('admin-ajax.php'); ?>";
11
  jQuery(document).ready(function() {
12
  if (jQuery.isFunction(jQuery.fn.colorbox)) { jQuery('.colorbox').colorbox({maxWidth:'100%', maxHeight:'100%'}); }
13
 
14
- if (jQuery.isFunction(jQuery.fn.select2)) {
15
- jQuery('.slideshow select, .select2').select2({
16
- tags: true
17
- });
18
- }
 
 
19
 
20
  if (jQuery.isFunction(jQuery.fn.tooltip)) {
21
  jQuery(".galleryhelp a").tooltip({
1
  <?php
2
 
3
  if (!defined('ABSPATH')) exit; // Exit if accessed directly
4
+
5
+ $page = esc_html($_GET['page']);
6
 
7
  ?>
8
 
13
  jQuery(document).ready(function() {
14
  if (jQuery.isFunction(jQuery.fn.colorbox)) { jQuery('.colorbox').colorbox({maxWidth:'100%', maxHeight:'100%'}); }
15
 
16
+ <?php if (!empty($page) && in_array($page, (array) $this -> sections)) : ?>
17
+ if (jQuery.isFunction(jQuery.fn.select2)) {
18
+ jQuery('.slideshow select, .select2').select2({
19
+ tags: true
20
+ });
21
+ }
22
+ <?php endif; ?>
23
 
24
  if (jQuery.isFunction(jQuery.fn.tooltip)) {
25
  jQuery(".galleryhelp a").tooltip({
views/admin/metaboxes/settings-plugins.php CHANGED
@@ -5,12 +5,12 @@ if (!defined('ABSPATH')) exit; // Exit if accessed directly
5
  ?>
6
 
7
  <div style="text-align:center;">
8
- <h4><a href="https://wordpress.org/plugins/newsletters-lite/" target="_blank">WordPress Newsletter plugin LITE</a></h4>
9
  <p>
10
  <a href="https://wordpress.org/plugins/newsletters-lite/" target="_blank"><img style="width:200px; height:auto;" width="200" src="<?php echo $this -> url(); ?>/images/plugins/newsletters.png" alt="newsletters" /></a>
11
  </p>
12
  <p>
13
- Get the WordPress Newsletter plugin LITE today. It is a FREE plugin which can be installed by clicking the button below.
14
  </p>
15
  <p>
16
  <a class="thickbox button button-primary button-large" href="<?php echo wp_nonce_url(admin_url('plugin-install.php?tab=plugin-information&plugin=newsletters-lite&TB_iframe=true&width=640&height=591')); ?>"><?php _e('Install Now', $this -> plugin_name); ?></a>
5
  ?>
6
 
7
  <div style="text-align:center;">
8
+ <h4><a href="https://wordpress.org/plugins/newsletters-lite/" target="_blank">WordPress Newsletter plugin</a></h4>
9
  <p>
10
  <a href="https://wordpress.org/plugins/newsletters-lite/" target="_blank"><img style="width:200px; height:auto;" width="200" src="<?php echo $this -> url(); ?>/images/plugins/newsletters.png" alt="newsletters" /></a>
11
  </p>
12
  <p>
13
+ Get the WordPress Newsletter plugin today. It is a FREE plugin which can be installed by clicking the button below.
14
  </p>
15
  <p>
16
  <a class="thickbox button button-primary button-large" href="<?php echo wp_nonce_url(admin_url('plugin-install.php?tab=plugin-information&plugin=newsletters-lite&TB_iframe=true&width=640&height=591')); ?>"><?php _e('Install Now', $this -> plugin_name); ?></a>
views/admin/slides/loop.php CHANGED
@@ -14,8 +14,8 @@ if (!defined('ABSPATH')) exit; // Exit if accessed directly
14
 
15
  <?php wp_nonce_field($this -> sections -> slides . '-bulkaction'); ?>
16
 
17
- <div class="tablenav">
18
- <div class="alignleft actions">
19
  <?php if (!empty($_GET['page']) && $_GET['page'] == $this -> sections -> galleries) : ?>
20
  <a href="?page=<?php echo $this -> sections -> slides; ?>&amp;method=order&amp;gallery_id=<?php echo $gallery -> id; ?>" class="button"><i class="fa fa-sort"></i> <?php _e('Order Slides', $this -> plugin_name); ?></a>
21
  <?php else : ?>
@@ -206,7 +206,7 @@ if (!defined('ABSPATH')) exit; // Exit if accessed directly
206
  </tbody>
207
  </table>
208
 
209
- <div class="tablenav">
210
  <div class="alignleft">
211
  <?php if (empty($_GET['showall'])) : ?>
212
  <select class="widefat" style="width:auto;" name="perpage" onchange="change_perpage(this.value);">
14
 
15
  <?php wp_nonce_field($this -> sections -> slides . '-bulkaction'); ?>
16
 
17
+ <div class="tablenav top">
18
+ <div class="alignleft">
19
  <?php if (!empty($_GET['page']) && $_GET['page'] == $this -> sections -> galleries) : ?>
20
  <a href="?page=<?php echo $this -> sections -> slides; ?>&amp;method=order&amp;gallery_id=<?php echo $gallery -> id; ?>" class="button"><i class="fa fa-sort"></i> <?php _e('Order Slides', $this -> plugin_name); ?></a>
21
  <?php else : ?>
206
  </tbody>
207
  </table>
208
 
209
+ <div class="tablenav bottom">
210
  <div class="alignleft">
211
  <?php if (empty($_GET['showall'])) : ?>
212
  <select class="widefat" style="width:auto;" name="perpage" onchange="change_perpage(this.value);">
views/admin/slides/order-gallery.php ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if (!defined('ABSPATH')) exit; // Exit if accessed directly
4
+
5
+ ?>
6
+
7
+ <div class="wrap">
8
+ <h1><?php _e('Order Slides', $this -> plugin_name); ?><?php echo (!empty($gallery)) ? ': ' . __($gallery -> title) : ''; ?></h1>
9
+
10
+ <div style="float:none;" class="subsubsub">
11
+ <a href="<?php echo $this -> url; ?>"><?php _e('&larr; Manage All Slides', $this -> plugin_name); ?></a>
12
+ </div>
13
+
14
+ <p class="howto"><?php echo sprintf(__('This page lets you order all slides shown with %s.', $this -> plugin_name), '<code>[tribulant_slideshow gallery_id=' . $gallery -> id . ']</code>'); ?></p>
15
+
16
+ <?php if (!empty($slides)) : ?>
17
+ <div id="slidemessage" class="updated fade" style="display:none; width:31%;"><!-- message will go here --></div>
18
+ <div class="gallery_slides_list">
19
+ <span class="gallery_slides_convert_list"><a href="#" id="gallery_convert_list"><i class="fa fa-reorder fa-fw"></i></a></span>
20
+ <span class="gallery_slides_convert_grid"><a href="#" id="gallery_convert_grid"><i class="fa fa-th-large fa-fw"></i></a></span>
21
+ <br class="clear" />
22
+ <ul id="slidelist">
23
+ <?php foreach ($slides as $slide) : ?>
24
+ <li class="gallerylineitem" id="item_<?php echo $slide -> id; ?>">
25
+ <span class="gallery_slide_image" style="display:none;"><img src="<?php echo $this -> Html -> otf_image_src($slide, 89, 89, 100); ?>" alt="<?php echo $this -> Html -> sanitize(__($slide -> title)); ?>" /></span>
26
+ <span class="gallery_slide_title"><?php echo __($slide -> title); ?></span>
27
+ </li>
28
+ <?php endforeach; ?>
29
+ </ul>
30
+ </div>
31
+
32
+ <script type="text/javascript">
33
+ var request_slides = false;
34
+ jQuery(document).ready(function() {
35
+ jQuery('#gallery_convert_list').click(function() {
36
+ jQuery('.gallery_slides_grid').removeClass('gallery_slides_grid').addClass('gallery_slides_list');
37
+
38
+ return false;
39
+ });
40
+
41
+ jQuery('#gallery_convert_grid').click(function() {
42
+ jQuery('.gallery_slides_list').removeClass('gallery_slides_list').addClass('gallery_slides_grid');
43
+
44
+ return false;
45
+ });
46
+
47
+ jQuery("ul#slidelist").sortable({
48
+ placeholder: "gallery-placeholder",
49
+ revert: 100,
50
+ distance: 5,
51
+ start: function(request) {
52
+ if (request_slides) { request_slides.abort(); }
53
+ jQuery("#slidemessage").slideUp();
54
+ },
55
+ stop: function(request) {
56
+ jQuery.post(slideshowajax + '?action=slideshow_slides_order<?php echo (!empty($gallery)) ? '&gallery_id=' . $gallery -> id : ''; ?>', jQuery('#slidelist').sortable('serialize'), function(response) {
57
+ jQuery('#slidemessage').html('<p>' + response + '</p>').fadeIn();
58
+ });
59
+ }
60
+ });
61
+ });
62
+ </script>
63
+ <?php else : ?>
64
+ <p class="slideshow_error"><?php _e('No slides found', $this -> plugin_name); ?></p>
65
+ <?php endif; ?>
66
+ </div>
views/default/gallery.php CHANGED
@@ -14,8 +14,12 @@ $thumbopacity = $this -> get_option('thumbopacity');
14
  <?php setup_postdata($slide -> ID); ?>
15
  <li>
16
  <h3 style="opacity:70;"><?php echo __($slide -> post_title); ?></h3>
17
- <?php $full_image_href = wp_get_attachment_image_src($slide -> ID, 'full', false); ?>
18
- <?php $full_image_url = wp_get_attachment_url($slide -> ID); ?>
 
 
 
 
19
  <?php if ($options['layout'] != "responsive" && $options['resizeimages'] == "true" && $options['width'] != "auto") : ?>
20
  <span data-alt="<?php echo $this -> Html() -> sanitize(__($slide -> post_title)); ?>"><?php echo $this -> Html -> otf_image_src($slide, $options['width'], $options['height'], 100); ?></span>
21
  <?php else : ?>
14
  <?php setup_postdata($slide -> ID); ?>
15
  <li>
16
  <h3 style="opacity:70;"><?php echo __($slide -> post_title); ?></h3>
17
+ <?php
18
+
19
+ $full_image_href = wp_get_attachment_image_src($slide -> ID, 'full', false);
20
+ $full_image_url = wp_get_attachment_url($slide -> ID);
21
+
22
+ ?>
23
  <?php if ($options['layout'] != "responsive" && $options['resizeimages'] == "true" && $options['width'] != "auto") : ?>
24
  <span data-alt="<?php echo $this -> Html() -> sanitize(__($slide -> post_title)); ?>"><?php echo $this -> Html -> otf_image_src($slide, $options['width'], $options['height'], 100); ?></span>
25
  <?php else : ?>