Photo Gallery by Supsystic - Version 1.13.9

Version Description

Download this release

Release Info

Developer supsystic.com
Plugin Icon 128x128 Photo Gallery by Supsystic
Version 1.13.9
Comparing to
See all releases

Code changes from version 1.13.7 to 1.13.9

index.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Plugin Name: Photo Gallery by Supsystic
5
  * Description: Easy to use Gallery by Supsystic with professional gallery templates. Show off your best design, photography and creative work
6
- * Version: 1.13.7
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: grid-gallery
@@ -11,5 +11,5 @@
11
 
12
  require_once dirname(__FILE__) . '/app/SupsysticGallery.php';
13
 
14
- $supsysticGallery = new SupsysticGallery('1.13.7');
15
  $supsysticGallery->run();
3
  /**
4
  * Plugin Name: Photo Gallery by Supsystic
5
  * Description: Easy to use Gallery by Supsystic with professional gallery templates. Show off your best design, photography and creative work
6
+ * Version: 1.13.9
7
  * Author: supsystic.com
8
  * Author URI: https://supsystic.com
9
  * Text Domain: grid-gallery
11
 
12
  require_once dirname(__FILE__) . '/app/SupsysticGallery.php';
13
 
14
+ $supsysticGallery = new SupsysticGallery('1.13.9');
15
  $supsysticGallery->run();
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: supsystic.com
3
  Donate link: https://supsystic.com/plugins/gallery
4
  Tags: gallery, wordpress gallery plugin, photo gallery, grid gallery, image gallery, video gallery, responsive gallery, polaroid gallery
5
  Tested up to: 5.2
6
- Stable tag: 1.13.7
7
 
8
  Photo Gallery with template editor to build amazing media gallery. Responsive mobile gallery with grid, masonry, carousel, polaroid and more gallery
9
 
@@ -60,6 +60,11 @@ Images compression and optimization speed up your website and improve your visit
60
 
61
  * **[Add Images to the Gallery from FTP and Social Media](https://supsystic.com/docs/import-images?utm_source=wordpress&utm_medium=importimages&utm_campaign=gallery "Import images")**
62
 
 
 
 
 
 
63
  = Support =
64
 
65
  Ask your questions in the [support forum](https://wordpress.org/support/plugin/gallery-by-supsystic?utm_source=wordpress&utm_medium=supportforum&utm_campaign=gallery "Support Forum"), or [contact us](https://supsystic.com/contact-us?utm_source=wordpress&utm_medium=contactus&utm_campaign=gallery "Contact Us") directly.
@@ -169,8 +174,24 @@ Add watermark on each image in your gallery and you protect your photos from the
169
  12. Photo gallery plugin admin area. Image list. Add images, links, tags, keywords, categories, attributes, meta, choose caption effects and other.
170
  13. Photo gallery plugin admin area. Main Tab. Choose one of the professional image gallery template and manage any aspect of the gallery with easy-to-use options.
171
  14. Photo gallery plugin admin area. Captions and Icons tab. Create impressive gallery with icons and fantastic caption effect.
 
172
  == Changelog ==
173
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  = Gallery 1.13.7 / 26.06.2019 =
175
  * Add Enable Download Photos Button
176
  * Add Update watermark option
3
  Donate link: https://supsystic.com/plugins/gallery
4
  Tags: gallery, wordpress gallery plugin, photo gallery, grid gallery, image gallery, video gallery, responsive gallery, polaroid gallery
5
  Tested up to: 5.2
6
+ Stable tag: 1.13.9
7
 
8
  Photo Gallery with template editor to build amazing media gallery. Responsive mobile gallery with grid, masonry, carousel, polaroid and more gallery
9
 
60
 
61
  * **[Add Images to the Gallery from FTP and Social Media](https://supsystic.com/docs/import-images?utm_source=wordpress&utm_medium=importimages&utm_campaign=gallery "Import images")**
62
 
63
+
64
+ Video tutorial how to set up Photo Gallery by Supsystic
65
+ [youtube https://youtu.be/XJ0MpAvJWVkg]
66
+
67
+
68
  = Support =
69
 
70
  Ask your questions in the [support forum](https://wordpress.org/support/plugin/gallery-by-supsystic?utm_source=wordpress&utm_medium=supportforum&utm_campaign=gallery "Support Forum"), or [contact us](https://supsystic.com/contact-us?utm_source=wordpress&utm_medium=contactus&utm_campaign=gallery "Contact Us") directly.
174
  12. Photo gallery plugin admin area. Image list. Add images, links, tags, keywords, categories, attributes, meta, choose caption effects and other.
175
  13. Photo gallery plugin admin area. Main Tab. Choose one of the professional image gallery template and manage any aspect of the gallery with easy-to-use options.
176
  14. Photo gallery plugin admin area. Captions and Icons tab. Create impressive gallery with icons and fantastic caption effect.
177
+
178
  == Changelog ==
179
 
180
+ = Gallery 1.13.9 / 11.09.2019 =
181
+ * fix for vertical gallery and category
182
+ * Fixed gif height/width
183
+ * Fixed pagination with mosaic
184
+ * Fix for image-on-hover
185
+ * Minor issues fixes
186
+
187
+ = Gallery 1.13.8 / 20.08.2019 =
188
+ * Fixed horizontal responsive issue
189
+ * Fixed shadow for preview
190
+ * Fixed mysql 8.0 settings regexp error
191
+ * Fixed shuffling animation margin problem issue
192
+ * Temporary disable suffle for icons with categories issue
193
+ * Add tooltip to down icon issue
194
+
195
  = Gallery 1.13.7 / 26.06.2019 =
196
  * Add Enable Download Photos Button
197
  * Add Update watermark option
src/GridGallery/Galleries/Model/Settings.php CHANGED
@@ -204,9 +204,15 @@ class GridGallery_Galleries_Model_Settings extends GridGallery_Core_BaseModel
204
 
205
  public function getSettListByRegExp() {
206
  global $wpdb;
207
- $queryStr = 'SELECT id, gallery_id, data FROM '
208
- . $this->table
209
- . ' WHERE data REGEXP \'^.*\"posts\";a\:[[:digit:]]+\:\{.*s:6:"enable";s:1:"1";.*;s:9:"autoposts";s:1:"1";.*\}.*$\'';
 
 
 
 
 
 
210
 
211
  $settArr = $wpdb->get_results($queryStr, OBJECT);
212
 
204
 
205
  public function getSettListByRegExp() {
206
  global $wpdb;
207
+ $dbVersion = $wpdb->db_version();
208
+ $dbVersion = $dbVersion ? $dbVersion : '8.0.0';
209
+ $queryStr = 'SELECT id, gallery_id, data FROM '
210
+ . $this->table;
211
+ if (version_compare($dbVersion, '8.0.0', '>=')) {
212
+ $queryStr .= ' WHERE data REGEXP \'^.*\"posts\";a\:[[:digit:]]+\:.*s:6:"enable";s:1:"1";.*;s:9:"autoposts";s:1:"1";.*$\'';
213
+ } else {
214
+ $queryStr .= ' WHERE data REGEXP \'^.*\"posts\";a\:[[:digit:]]+\:\{.*s:6:"enable";s:1:"1";.*;s:9:"autoposts";s:1:"1";.*\}.*$\'';
215
+ }
216
 
217
  $settArr = $wpdb->get_results($queryStr, OBJECT);
218
 
src/GridGallery/Galleries/assets/js/frontend.js CHANGED
@@ -107,7 +107,7 @@
107
  });
108
 
109
  Gallery.prototype.initQuicksand = (function () {
110
- if(this.$container.data('quicksand') == 'enabled') {
111
  this.$qsEnable = true;
112
  this.$qsDuration = this.$container.data('quicksand-duration');
113
  this.$qsHolder = this.$container.find('.grid-gallery-photos:first');
@@ -1002,7 +1002,7 @@
1002
  });
1003
 
1004
  $.when($hidden.fadeOut()).done($.proxy(function(){
1005
- $visible.fadeIn();
1006
  this.correctMargin();
1007
  this.initWookmark();
1008
  }, this));
@@ -1010,13 +1010,14 @@
1010
 
1011
  }, this));
1012
 
1013
- $elements.first().trigger('click');
 
1014
  });
1015
 
1016
  Gallery.prototype.callQuicksand = function($holder, $filteredData, duration) {
1017
  self = this;
1018
 
1019
- $filteredData.find('figure.grid-gallery-caption').css('margin', '0 ' + this.initialMargin + ' ' + this.initialMargin + ' 0').parent().css('clear', 'none');
1020
 
1021
  $holder.quicksand($filteredData, {
1022
  duration: Number(duration),
@@ -1113,11 +1114,17 @@
1113
  return false;
1114
  }
1115
 
 
 
 
 
 
 
1116
  var showCurrentPage = (function (gallery) {
1117
  gallery.$elements.removeClass('current-page').hide(350);
1118
 
1119
  $.each(buffer[gallery.pagination.currentPage], function () {
1120
- $(this).addClass('current-page').show(function () {
1121
  gallery.setIconsPosition();
1122
  self.correctMargin();
1123
  });
@@ -1614,7 +1621,7 @@
1614
  , maxRowWidth = this.$container.width()
1615
  , initialMargin = this.initialMargin;
1616
 
1617
- this.$elements.css('margin', '0 ' + this.initialMargin + ' ' + this.initialMargin + ' 0');
1618
  this.$elements.parent().css('clear', 'none');
1619
 
1620
  this.$elements.filter(':visible').each(function(index){
107
  });
108
 
109
  Gallery.prototype.initQuicksand = (function () {
110
+ if(this.$container.data('quicksand') == 'enabled' && this.$container.data('caption-builder-icons') !== 1) {
111
  this.$qsEnable = true;
112
  this.$qsDuration = this.$container.data('quicksand-duration');
113
  this.$qsHolder = this.$container.find('.grid-gallery-photos:first');
1002
  });
1003
 
1004
  $.when($hidden.fadeOut()).done($.proxy(function(){
1005
+ $visible.fadeIn().css({'height':''});
1006
  this.correctMargin();
1007
  this.initWookmark();
1008
  }, this));
1010
 
1011
  }, this));
1012
 
1013
+ var firstTag = $elements.first().data('tag');
1014
+ this.$container.find('a[data-tag="'+ firstTag+ '"]').trigger('click');
1015
  });
1016
 
1017
  Gallery.prototype.callQuicksand = function($holder, $filteredData, duration) {
1018
  self = this;
1019
 
1020
+ $filteredData.find('figure.grid-gallery-caption').css('margin', this.initialMargin).parent().css('clear', 'none');
1021
 
1022
  $holder.quicksand($filteredData, {
1023
  duration: Number(duration),
1114
  return false;
1115
  }
1116
 
1117
+ if(this.$container.data('gridType') == 4 && this.$container.data('show-mosaic-all-img') != 1) {
1118
+ this.$elements.fadeIn();
1119
+ this.pagination.wrapper.hide();
1120
+ return false;
1121
+ }
1122
+
1123
  var showCurrentPage = (function (gallery) {
1124
  gallery.$elements.removeClass('current-page').hide(350);
1125
 
1126
  $.each(buffer[gallery.pagination.currentPage], function () {
1127
+ $(this).addClass('current-page').css({height:gallery.$container.data('height'),width:gallery.$container.data('width')}).show(function () {
1128
  gallery.setIconsPosition();
1129
  self.correctMargin();
1130
  });
1621
  , maxRowWidth = this.$container.width()
1622
  , initialMargin = this.initialMargin;
1623
 
1624
+ this.$elements.css('margin', this.initialMargin);
1625
  this.$elements.parent().css('clear', 'none');
1626
 
1627
  this.$elements.filter(':visible').each(function(index){
src/GridGallery/Galleries/assets/js/settings.js CHANGED
@@ -225,6 +225,13 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
225
  $previewIcons.addClass(effectName).addClass(baseEffectName);
226
  });
227
 
 
 
 
 
 
 
 
228
  // $('#iconsOverlay').on('change', $.proxy(Ctrl.toggleOverlay, Ctrl)).trigger('change');
229
  };
230
 
@@ -2540,10 +2547,12 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2540
  , toShowVideoIcon = 0
2541
  , toShowLinkIcon = 0
2542
  , toShowPopupIcon = 0
 
2543
  , toShowIcons = 0
2544
  , $previewVideoIcon = $('#preview .hi-icon.gg-icon-video')
2545
  , $previewLinkIcon = $('#preview .hi-icon.gg-icon-link')
2546
  , $previewPopupIcon = $('#preview .hi-icon.gg-icon-popup')
 
2547
  ;
2548
  if(captBuilderVal == 1 && captionBuilderIconsEnable) {
2549
  toShowIcons = 1
@@ -2556,6 +2565,7 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2556
  toShowVideoIcon = $('#showVideoIconInp:checked').length;
2557
  toShowLinkIcon = $('#showLinkIconInp:checked').length;
2558
  toShowPopupIcon = $('#showPopupIconInp:checked').length;
 
2559
  } else {
2560
  toShowVideoIcon = 1;
2561
  toShowLinkIcon = 1;
@@ -2578,6 +2588,11 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2578
  } else {
2579
  $previewPopupIcon.addClass('ggSettingsDisplNone');
2580
  }
 
 
 
 
 
2581
  });
2582
 
2583
  ImagePreview.prototype.initSharedPropsForIcons = (function() {
@@ -2592,6 +2607,9 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2592
  $('#showPopupIconInp').on('ifChanged', function() {
2593
  selfIp.updateIcons();
2594
  });
 
 
 
2595
  // Init Show Few Icons parameter
2596
  $('#showFewIconsSel').on('change', function() {
2597
  var $this = $(this)
@@ -2612,10 +2630,10 @@ sggDataSelectorsCache.prototype.getFromArray = (function(key) {
2612
  var _this = this;
2613
 
2614
  var fieldNames = {
2615
- color: getSelector('thumbnail[shadow][color]'),
2616
- blur: getSelector('thumbnail[shadow][blur]'),
2617
- x: getSelector('thumbnail[shadow][x]'),
2618
- y: getSelector('thumbnail[shadow][y]')
2619
  },
2620
  selectors = $.map(fieldNames, function(item) {
2621
  return item;
225
  $previewIcons.addClass(effectName).addClass(baseEffectName);
226
  });
227
 
228
+ $('#sggFewIconsShowingRow').find('[data-disabled="disabled"]').each(function() {
229
+ var checkbox = $(this),
230
+ checkboxId = checkbox.attr('id');
231
+ checkbox.prop('checked',false).css({'pointer-events':'none'}).parent().css({'pointer-events':'none'}).prop('disabled',true);
232
+ $('[for="'+ checkboxId+ '"]').css({'pointer-events':'none'}).prop('disabled',true);
233
+ });
234
+
235
  // $('#iconsOverlay').on('change', $.proxy(Ctrl.toggleOverlay, Ctrl)).trigger('change');
236
  };
237
 
2547
  , toShowVideoIcon = 0
2548
  , toShowLinkIcon = 0
2549
  , toShowPopupIcon = 0
2550
+ , toShowDownloadIcon = 0
2551
  , toShowIcons = 0
2552
  , $previewVideoIcon = $('#preview .hi-icon.gg-icon-video')
2553
  , $previewLinkIcon = $('#preview .hi-icon.gg-icon-link')
2554
  , $previewPopupIcon = $('#preview .hi-icon.gg-icon-popup')
2555
+ , $previewDownloadIcon = $('#preview .hi-icon.gg-icon-download')
2556
  ;
2557
  if(captBuilderVal == 1 && captionBuilderIconsEnable) {
2558
  toShowIcons = 1
2565
  toShowVideoIcon = $('#showVideoIconInp:checked').length;
2566
  toShowLinkIcon = $('#showLinkIconInp:checked').length;
2567
  toShowPopupIcon = $('#showPopupIconInp:checked').length;
2568
+ toShowDownloadIcon = $('#showDownloadIconInp:checked').length;
2569
  } else {
2570
  toShowVideoIcon = 1;
2571
  toShowLinkIcon = 1;
2588
  } else {
2589
  $previewPopupIcon.addClass('ggSettingsDisplNone');
2590
  }
2591
+ if(toShowDownloadIcon == 1) {
2592
+ $previewDownloadIcon.removeClass('ggSettingsDisplNone');
2593
+ } else {
2594
+ $previewDownloadIcon.addClass('ggSettingsDisplNone');
2595
+ }
2596
  });
2597
 
2598
  ImagePreview.prototype.initSharedPropsForIcons = (function() {
2607
  $('#showPopupIconInp').on('ifChanged', function() {
2608
  selfIp.updateIcons();
2609
  });
2610
+ $('#showDownloadIconInp').on('ifChanged', function() {
2611
+ selfIp.updateIcons();
2612
+ });
2613
  // Init Show Few Icons parameter
2614
  $('#showFewIconsSel').on('change', function() {
2615
  var $this = $(this)
2630
  var _this = this;
2631
 
2632
  var fieldNames = {
2633
+ color: '#form-settings [name="thumbnail[shadow][color]"]',
2634
+ blur: '#form-settings [name="thumbnail[shadow][blur]"]',
2635
+ x: '#form-settings [name="thumbnail[shadow][x]"]',
2636
+ y: '#form-settings [name="thumbnail[shadow][y]"]'
2637
  },
2638
  selectors = $.map(fieldNames, function(item) {
2639
  return item;
src/GridGallery/Galleries/configs/tooltips.php CHANGED
@@ -70,6 +70,7 @@ return array(
70
  'popupLinkedImageTextPro' => __('Here you may choose the type of the text, which appears under your linked images after opening them in a pop-up. You may add this text when you choose the linked images from your site media library. Empty text fields will appear at the right side of the page after selecting the image.', 'sgg'),
71
  'disableSourceImageForLiPro' => __('If this option is enabled, after clicking on the source image thumbnail, only linked images will appear in the pop-up box. The source image itself will not be displayed.', 'sgg'),
72
  'enableDownloadPhotosButtonPro' => __('If this option is enabled, the Download button will appear in pop-up box, which will allow you to download the original image.', 'sgg'),
 
73
  'video.size' => __('Set video size in pop-up box (width x height)', 'sgg'),
74
  'video.autoplay' => __('If this option is enabled, video playback starts automatically as soon as pop-up box appears.', 'sgg'),
75
  'video.onEnd' => __('Here you can select, what happens when a video is over.', 'sgg'),
70
  'popupLinkedImageTextPro' => __('Here you may choose the type of the text, which appears under your linked images after opening them in a pop-up. You may add this text when you choose the linked images from your site media library. Empty text fields will appear at the right side of the page after selecting the image.', 'sgg'),
71
  'disableSourceImageForLiPro' => __('If this option is enabled, after clicking on the source image thumbnail, only linked images will appear in the pop-up box. The source image itself will not be displayed.', 'sgg'),
72
  'enableDownloadPhotosButtonPro' => __('If this option is enabled, the Download button will appear in pop-up box, which will allow you to download the original image.', 'sgg'),
73
+ 'downloadIconPro' => __('Download icon is available only with Caption Builder', 'sgg'),
74
  'video.size' => __('Set video size in pop-up box (width x height)', 'sgg'),
75
  'video.autoplay' => __('If this option is enabled, video playback starts automatically as soon as pop-up box appears.', 'sgg'),
76
  'video.onEnd' => __('Here you can select, what happens when a video is over.', 'sgg'),
src/GridGallery/Galleries/views/settings.twig CHANGED
@@ -100,6 +100,7 @@
100
  <a href="#" class="hi-icon gg-icon-video fa {{ videoIcon }}" style="{{ iconStyle|trim }}"></a>
101
  <a href="#" class="hi-icon gg-icon-link fa fa-link" style="{{ iconStyle|trim }}"></a>
102
  <a href="#" class="hi-icon gg-icon-popup fa fa-expand" style="{{ iconStyle|trim }}"></a>
 
103
  </div>
104
  {% endset %}
105
 
@@ -2487,6 +2488,10 @@
2487
  {% elseif (settings.captionBuilder.enabled != 1 and isCaptionBuilder != 1) %}
2488
  {% set isShowRow = 1 %}
2489
  {% endif %}
 
 
 
 
2490
 
2491
  {% if isShowRow == 1 %}
2492
  {{
@@ -2534,7 +2539,16 @@
2534
  translate('Show popup'),
2535
  'showPopupIconInp',
2536
  {'class': 'sggCheckboxLabelInOneRow'}
2537
- ),
 
 
 
 
 
 
 
 
 
2538
  'capt-showv-few-icons-by',
2539
  null,
2540
  'sggFewIconsShowingRow'
100
  <a href="#" class="hi-icon gg-icon-video fa {{ videoIcon }}" style="{{ iconStyle|trim }}"></a>
101
  <a href="#" class="hi-icon gg-icon-link fa fa-link" style="{{ iconStyle|trim }}"></a>
102
  <a href="#" class="hi-icon gg-icon-popup fa fa-expand" style="{{ iconStyle|trim }}"></a>
103
+ <a href="#" class="hi-icon gg-icon-download fa fa-download" style="{{ iconStyle|trim }}"></a>
104
  </div>
105
  {% endset %}
106
 
2488
  {% elseif (settings.captionBuilder.enabled != 1 and isCaptionBuilder != 1) %}
2489
  {% set isShowRow = 1 %}
2490
  {% endif %}
2491
+ {% set showDownIcon = '' %}
2492
+ {% if (settings.captionBuilder.enabled != 1 and isCaptionBuilder != 1) %}
2493
+ {% set showDownIcon = form.show_tooltip('downloadIconPro') %}
2494
+ {% endif %}
2495
 
2496
  {% if isShowRow == 1 %}
2497
  {{
2539
  translate('Show popup'),
2540
  'showPopupIconInp',
2541
  {'class': 'sggCheckboxLabelInOneRow'}
2542
+ ) ~
2543
+ form.checkbox(
2544
+ 'icons[isDownloadIcon]',
2545
+ '1',
2546
+ {'id': 'showDownloadIconInp', 'class': 'sggCheckboxInOneRow' } | merge(settings.icons.isDownloadIcon == 1 and settings.captionBuilder.enabled == 1 ? {'checked':'checked'} : {}) | merge(settings.captionBuilder.enabled != 1 and isCaptionBuilder != 1 ? {'data-disabled':'disabled'} : {})
2547
+ ) ~ form.label(
2548
+ translate('Show download'),
2549
+ 'showDownloadIconInp',
2550
+ {'class': 'sggCheckboxLabelInOneRow'}
2551
+ ) ~ showDownIcon,
2552
  'capt-showv-few-icons-by',
2553
  null,
2554
  'sggFewIconsShowingRow'
src/GridGallery/Galleries/views/shortcode/helpers.twig CHANGED
@@ -231,6 +231,9 @@
231
  {% endif %}
232
  {% if settings.area.photo_height_unit == 0 and settings.area.photo_height is not empty %}
233
  height:{{ settings.area.photo_height }}px;
 
 
 
234
  {% endif %}
235
  {% endblock %}
236
  {% endset %}
231
  {% endif %}
232
  {% if settings.area.photo_height_unit == 0 and settings.area.photo_height is not empty %}
233
  height:{{ settings.area.photo_height }}px;
234
+ {% if settings.area.photo_width_unit != 0 or settings.area.photo_width is empty %}
235
+ width:auto;
236
+ {% endif %}
237
  {% endif %}
238
  {% endblock %}
239
  {% endset %}