Photo Gallery by WD – Responsive Photo Gallery - Version 1.4.12

Version Description

  • Added: GDPR compliance.
Download this release

Release Info

Developer webdorado
Plugin Icon 128x128 Photo Gallery by WD – Responsive Photo Gallery
Version 1.4.12
Comparing to
See all releases

Code changes from version 1.4.11 to 1.4.12

admin/views/Options.php CHANGED
@@ -182,6 +182,17 @@ class OptionsView_bwg extends AdminView_bwg {
182
  </div>
183
  <div class="wd-box-content wd-width-50">
184
  <div class="wd-box-content wd-width-100">
 
 
 
 
 
 
 
 
 
 
 
185
  <div class="wd-group">
186
  <label class="wd-label"><?php _e('Right-click protection', BWG()->prefix); ?></label>
187
  <div class="bwg-flex">
182
  </div>
183
  <div class="wd-box-content wd-width-50">
184
  <div class="wd-box-content wd-width-100">
185
+ <div class="wd-group">
186
+ <label class="wd-label"><?php _e('Save IP ', BWG()->prefix); ?></label>
187
+ <div class="bwg-flex">
188
+ <input <?php echo BWG()->is_pro ? '' : 'disabled="disabled"'; ?> type="radio" name="save_ip" id="save_ip_1" value="1" <?php if ($row->save_ip) echo 'checked="checked"'; ?> /><label for="save_ip_1" class="wd-radio-label"><?php _e('Yes', BWG()->prefix); ?></label>
189
+ <input <?php echo BWG()->is_pro ? '' : 'disabled="disabled"'; ?> type="radio" name="save_ip" id="save_ip_0" value="0" <?php if (!$row->save_ip) echo 'checked="checked"'; ?> /><label for="save_ip_0" class="wd-radio-label"><?php _e('No', BWG()->prefix); ?></label>
190
+ </div>
191
+ <p class="description"><?php _e('Disable saving user IP address when rating the images.', BWG()->prefix); ?></p>
192
+ <?php if ( !BWG()->is_pro ) { ?><p class="description spider_free_version"><?php echo BWG()->free_msg; ?></p><?php } ?>
193
+ </div>
194
+ </div>
195
+ <div class="wd-box-content wd-width-100">
196
  <div class="wd-group">
197
  <label class="wd-label"><?php _e('Right-click protection', BWG()->prefix); ?></label>
198
  <div class="bwg-flex">
framework/BWGOptions.php CHANGED
@@ -15,6 +15,7 @@ class WD_BWG_Options {
15
  public $preload_images_count = 10;
16
  public $show_hide_custom_post = 0;
17
  public $show_hide_post_meta = 0;
 
18
  public $image_right_click = 0;
19
  public $use_inline_stiles_and_scripts = 0;
20
  public $enable_wp_editor = 1;
15
  public $preload_images_count = 10;
16
  public $show_hide_custom_post = 0;
17
  public $show_hide_post_meta = 0;
18
+ public $save_ip = 1;
19
  public $image_right_click = 0;
20
  public $use_inline_stiles_and_scripts = 0;
21
  public $enable_wp_editor = 1;
framework/WDWLibrary.php CHANGED
@@ -2535,6 +2535,24 @@ class WDWLibrary {
2535
  <?php
2536
  echo ob_get_clean();
2537
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2538
  }
2539
 
2540
  /**
2535
  <?php
2536
  echo ob_get_clean();
2537
  }
2538
+
2539
+ // TODO. This function should be replaced with WP functionality in another version. At the moment it is not.
2540
+ /**
2541
+ * Get privacy_policy_url
2542
+ *
2543
+ * @return string $url
2544
+ */
2545
+ public static function get_privacy_policy_url() {
2546
+ $permalink = '';
2547
+ $post_id = get_option( 'wp_page_for_privacy_policy' );
2548
+ if ( $post_id ) {
2549
+ $post = get_post( $post_id, OBJECT );
2550
+ if ( $post->post_status == 'publish' ) {
2551
+ $permalink = get_permalink( $post_id );
2552
+ }
2553
+ }
2554
+ return $permalink;
2555
+ }
2556
  }
2557
 
2558
  /**
frontend/controllers/BWGControllerGalleryBox.php CHANGED
@@ -46,7 +46,7 @@ class BWGControllerGalleryBox {
46
  $captcha = TRUE;
47
  }
48
 
49
- if ($email && $captcha) {
50
  global $wpdb;
51
  $image_id = (isset($_POST['image_id']) ? (int) $_POST['image_id'] : 0);
52
  $name = (isset($_POST['bwg_name']) ? esc_html(stripslashes($_POST['bwg_name'])) : '');
@@ -77,23 +77,29 @@ class BWGControllerGalleryBox {
77
 
78
  public function save_rate() {
79
  global $wpdb;
80
- $image_id = (isset($_POST['image_id']) ? esc_html(stripslashes($_POST['image_id'])) : 0);
81
- $rate = (isset($_POST['rate']) ? esc_html(stripslashes($_POST['rate'])) : '');
82
- if (!$wpdb->get_var($wpdb->prepare('SELECT image_id FROM ' . $wpdb->prefix . 'bwg_image_rate WHERE ip="%s" AND image_id="%d"', $_SERVER['REMOTE_ADDR'], $image_id))) {
 
 
 
83
  $wpdb->insert($wpdb->prefix . 'bwg_image_rate', array(
84
  'image_id' => $image_id,
85
  'rate' => $rate,
86
- 'ip' => $_SERVER['REMOTE_ADDR'],
87
  'date' => date('Y-m-d H:i:s'),
88
  ), array(
89
- '%d',
90
- '%f',
91
- '%s',
92
- '%s',
93
- ));
94
- $rates = $wpdb->get_row($wpdb->prepare('SELECT AVG(`rate`) as `average`, COUNT(`rate`) as `rate_count` FROM ' . $wpdb->prefix . 'bwg_image_rate WHERE image_id="%d"', $image_id));
95
- $wpdb->update($wpdb->prefix . 'bwg_image', array('avg_rating' => $rates->average, 'rate_count' => $rates->rate_count), array('id' => $image_id));
96
  }
 
 
 
 
 
97
  $this->display();
98
  }
99
 
46
  $captcha = TRUE;
47
  }
48
 
49
+ if ( $email && $captcha ) {
50
  global $wpdb;
51
  $image_id = (isset($_POST['image_id']) ? (int) $_POST['image_id'] : 0);
52
  $name = (isset($_POST['bwg_name']) ? esc_html(stripslashes($_POST['bwg_name'])) : '');
77
 
78
  public function save_rate() {
79
  global $wpdb;
80
+ $image_id = WDWLibrary::get('image_id', 0);
81
+ (isset($_POST['image_id']) ? esc_html(stripslashes($_POST['image_id'])) : 0);
82
+ $rate = WDWLibrary::get('rate', 0);
83
+ (isset($_POST['rate']) ? esc_html(stripslashes($_POST['rate'])) : '');
84
+ $ip = BWG()->options->save_ip ? $_SERVER['REMOTE_ADDR'] : '';
85
+ if ( !$ip || !$wpdb->get_var($wpdb->prepare('SELECT `image_id` FROM `' . $wpdb->prefix . 'bwg_image_rate` WHERE `ip`="%s" AND `image_id`="%d"', $ip, $image_id)) ) {
86
  $wpdb->insert($wpdb->prefix . 'bwg_image_rate', array(
87
  'image_id' => $image_id,
88
  'rate' => $rate,
89
+ 'ip' => $ip,
90
  'date' => date('Y-m-d H:i:s'),
91
  ), array(
92
+ '%d',
93
+ '%f',
94
+ '%s',
95
+ '%s',
96
+ ));
 
 
97
  }
98
+ $rates = $wpdb->get_row($wpdb->prepare('SELECT AVG(`rate`) as `average`, COUNT(`rate`) as `rate_count` FROM ' . $wpdb->prefix . 'bwg_image_rate WHERE image_id="%d"', $image_id));
99
+ $wpdb->update($wpdb->prefix . 'bwg_image', array(
100
+ 'avg_rating' => $rates->average,
101
+ 'rate_count' => $rates->rate_count
102
+ ), array( 'id' => $image_id ));
103
  $this->display();
104
  }
105
 
frontend/views/BWGViewGalleryBox.php CHANGED
@@ -45,9 +45,9 @@ class BWGViewGalleryBox {
45
  $enable_image_pinterest = (BWG()->is_pro && isset($_GET['enable_image_pinterest']) ? esc_html($_GET['enable_image_pinterest']) : 0);
46
  $enable_image_tumblr = (BWG()->is_pro && isset($_GET['enable_image_tumblr']) ? esc_html($_GET['enable_image_tumblr']) : 0);
47
 
48
-
49
  $popup_enable_email = (BWG()->is_pro && isset($_GET['popup_enable_email']) ? esc_html($_GET['popup_enable_email']) : 0);
50
  $popup_enable_captcha = (BWG()->is_pro && isset($_GET['popup_enable_captcha']) ? esc_html($_GET['popup_enable_captcha']) : 0);
 
51
  $comment_moderation = (BWG()->is_pro && isset($_GET['comment_moderation']) ? esc_html($_GET['comment_moderation']) : 0);
52
  $autohide_lightbox_navigation = (isset($_GET['autohide_lightbox_navigation']) ? esc_html($_GET['autohide_lightbox_navigation']) : BWG()->options->autohide_lightbox_navigation);
53
  $popup_enable_fullsize_image = (isset($_GET['popup_enable_fullsize_image']) ? esc_html($_GET['popup_enable_fullsize_image']) : BWG()->options->popup_enable_fullsize_image);
@@ -587,6 +587,9 @@ class BWGViewGalleryBox {
587
  padding: <?php echo $theme_row->lightbox_comment_button_padding; ?>;
588
  width: 100%;
589
  }
 
 
 
590
  .bwg_comments input[type="text"],
591
  .bwg_comments textarea,
592
  .bwg_ecommerce_panel input[type="text"],
@@ -985,6 +988,10 @@ class BWGViewGalleryBox {
985
  margin-top: 17px;
986
  text-transform: uppercase;
987
  }
 
 
 
 
988
  </style>
989
  <script>
990
  var data = [];
@@ -1486,20 +1493,54 @@ class BWGViewGalleryBox {
1486
  <?php
1487
  }
1488
  ?>
1489
- <p><input onclick="if (spider_check_required('bwg_name', '<?php echo __('Name', BWG()->prefix); ?>') <?php if ($popup_enable_email) { ?> || spider_check_required('bwg_email', '<?php echo __('Email', BWG()->prefix); ?>') || spider_check_email('bwg_email') <?php } ?> || spider_check_required('bwg_comment', '<?php echo __('Comment', BWG()->prefix); ?>')) { return false;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1490
  var cur_image_key = parseInt(jQuery('#bwg_current_image_key').val());
1491
  ++data[cur_image_key]['comment_count'];
1492
  spider_set_input_value('ajax_task', 'save');
1493
  spider_set_input_value('image_id', jQuery('#bwg_popup_image').attr('image_id'));
1494
  spider_ajax_save('bwg_comment_form');
1495
  return false;"
1496
- ontouchend="if (spider_check_required('bwg_name', '<?php echo __('Name', BWG()->prefix); ?>') <?php if ($popup_enable_email) { ?> || spider_check_required('bwg_email', '<?php echo __('Email', BWG()->prefix); ?>') || spider_check_email('bwg_email') <?php } ?> || spider_check_required('bwg_comment', '<?php echo __('Comment', BWG()->prefix); ?>')) {return false;}
 
 
 
 
 
 
1497
  var cur_image_key = parseInt(jQuery('#bwg_current_image_key').val());
1498
  ++data[cur_image_key]['comment_count'];
1499
  spider_set_input_value('ajax_task', 'save');
1500
  spider_set_input_value('image_id', jQuery('#bwg_popup_image').attr('image_id'));
1501
  spider_ajax_save('bwg_comment_form');
1502
- return false;" class="bwg_submit" type="submit" name="bwg_submit" id="bwg_submit" value="<?php echo __('Submit', BWG()->prefix); ?>" /></p>
1503
  <?php echo (!current_user_can('manage_options') && ($comment_moderation && (isset($_POST['bwg_comment']) && esc_html($_POST['bwg_comment'])))) ? __('Your comment is awaiting moderation', BWG()->prefix) : ''; ?>
1504
  <input id="ajax_task" name="ajax_task" type="hidden" value="" />
1505
  <input id="image_id" name="image_id" type="hidden" value="<?php echo $image_id; ?>" />
@@ -2012,7 +2053,6 @@ class BWGViewGalleryBox {
2012
 
2013
  jQuery(document).ready(function () {
2014
  wds_load_visible_images();
2015
-
2016
  jQuery(".pge_tabs li a").on("click", function(){
2017
  jQuery(".pge_tabs_container > div").hide();
2018
  jQuery(".pge_tabs li").removeClass("pge_active");
45
  $enable_image_pinterest = (BWG()->is_pro && isset($_GET['enable_image_pinterest']) ? esc_html($_GET['enable_image_pinterest']) : 0);
46
  $enable_image_tumblr = (BWG()->is_pro && isset($_GET['enable_image_tumblr']) ? esc_html($_GET['enable_image_tumblr']) : 0);
47
 
 
48
  $popup_enable_email = (BWG()->is_pro && isset($_GET['popup_enable_email']) ? esc_html($_GET['popup_enable_email']) : 0);
49
  $popup_enable_captcha = (BWG()->is_pro && isset($_GET['popup_enable_captcha']) ? esc_html($_GET['popup_enable_captcha']) : 0);
50
+
51
  $comment_moderation = (BWG()->is_pro && isset($_GET['comment_moderation']) ? esc_html($_GET['comment_moderation']) : 0);
52
  $autohide_lightbox_navigation = (isset($_GET['autohide_lightbox_navigation']) ? esc_html($_GET['autohide_lightbox_navigation']) : BWG()->options->autohide_lightbox_navigation);
53
  $popup_enable_fullsize_image = (isset($_GET['popup_enable_fullsize_image']) ? esc_html($_GET['popup_enable_fullsize_image']) : BWG()->options->popup_enable_fullsize_image);
587
  padding: <?php echo $theme_row->lightbox_comment_button_padding; ?>;
588
  width: 100%;
589
  }
590
+ .bwg_comments .bwg-submit-disabled {
591
+ opacity: 0.5;
592
+ }
593
  .bwg_comments input[type="text"],
594
  .bwg_comments textarea,
595
  .bwg_ecommerce_panel input[type="text"],
988
  margin-top: 17px;
989
  text-transform: uppercase;
990
  }
991
+ #bwg_comment_form .bwg-privacy-policy-box label {
992
+ text-transform: unset;
993
+ word-break: break-word;
994
+ }
995
  </style>
996
  <script>
997
  var data = [];
1493
  <?php
1494
  }
1495
  ?>
1496
+ <?php
1497
+ $privacy_policy_url = false;
1498
+ if ( WDWLibrary::get_privacy_policy_url() ) {
1499
+ $privacy_policy_url = true;
1500
+ ?>
1501
+ <p class="bwg-privacy-policy-box">
1502
+ <label for="bwg_comment_privacy_policy">
1503
+ <input id="bwg_comment_privacy_policy"
1504
+ name="bwg_comment_privacy_policy"
1505
+ onclick="comment_check_privacy_policy()"
1506
+ ontouchend="comment_check_privacy_policy()"
1507
+ type="checkbox"
1508
+ value="1" <?php echo (isset($_POST['bwg_comment_privacy_policy']) ? 'checked' : ''); ?> />
1509
+ <?php
1510
+ $privacy_policy_text = __('I consent collecting this data and processing it according to %s of this website.', BWG()->prefix);
1511
+ $privacy_policy_link = ' <a href="' . WDWLibrary::get_privacy_policy_url() . '" target="_blank">' . __('Privacy Policy', BWG()->prefix) . '</a>';
1512
+ echo sprintf($privacy_policy_text, $privacy_policy_link);
1513
+ ?>
1514
+ </label>
1515
+ </p>
1516
+ <?php } ?>
1517
+ <p><input <?php echo ($privacy_policy_url) ? 'disabled' : '' ?>
1518
+ onclick="if ( spider_check_required('bwg_name', '<?php _e('Name', BWG()->prefix); ?>')
1519
+ <?php if ($popup_enable_email) { ?>
1520
+ || spider_check_required('bwg_email', '<?php _e('Email', BWG()->prefix); ?>')
1521
+ || spider_check_email('bwg_email')
1522
+ <?php } ?>
1523
+ || spider_check_required('bwg_comment', '<?php _e('Comment', BWG()->prefix); ?>')
1524
+ ) { return false; }
1525
  var cur_image_key = parseInt(jQuery('#bwg_current_image_key').val());
1526
  ++data[cur_image_key]['comment_count'];
1527
  spider_set_input_value('ajax_task', 'save');
1528
  spider_set_input_value('image_id', jQuery('#bwg_popup_image').attr('image_id'));
1529
  spider_ajax_save('bwg_comment_form');
1530
  return false;"
1531
+ ontouchend="if (spider_check_required('bwg_name', '<?php _e('Name', BWG()->prefix); ?>')
1532
+ <?php if ($popup_enable_email) { ?>
1533
+ || spider_check_required('bwg_email', '<?php _e('Email', BWG()->prefix); ?>')
1534
+ || spider_check_email('bwg_email')
1535
+ <?php } ?>
1536
+ || spider_check_required('bwg_comment', '<?php _e('Comment', BWG()->prefix); ?>')
1537
+ ) { return false; }
1538
  var cur_image_key = parseInt(jQuery('#bwg_current_image_key').val());
1539
  ++data[cur_image_key]['comment_count'];
1540
  spider_set_input_value('ajax_task', 'save');
1541
  spider_set_input_value('image_id', jQuery('#bwg_popup_image').attr('image_id'));
1542
  spider_ajax_save('bwg_comment_form');
1543
+ return false;" class="bwg_submit <?php echo ($privacy_policy_url) ? 'bwg-submit-disabled' : '' ?>" type="submit" name="bwg_submit" id="bwg_submit" value="<?php echo __('Submit', BWG()->prefix); ?>" /></p>
1544
  <?php echo (!current_user_can('manage_options') && ($comment_moderation && (isset($_POST['bwg_comment']) && esc_html($_POST['bwg_comment'])))) ? __('Your comment is awaiting moderation', BWG()->prefix) : ''; ?>
1545
  <input id="ajax_task" name="ajax_task" type="hidden" value="" />
1546
  <input id="image_id" name="image_id" type="hidden" value="<?php echo $image_id; ?>" />
2053
 
2054
  jQuery(document).ready(function () {
2055
  wds_load_visible_images();
 
2056
  jQuery(".pge_tabs li a").on("click", function(){
2057
  jQuery(".pge_tabs_container > div").hide();
2058
  jQuery(".pge_tabs li").removeClass("pge_active");
js/bwg.js CHANGED
@@ -357,7 +357,6 @@ function spider_ajax_save(form_id, tr_group) {
357
  jQuery("#check_all").on("click", function () {
358
  spider_check_all("#check_all");
359
  });
360
-
361
  jQuery("#loading_div").hide();
362
  }
363
  });
357
  jQuery("#check_all").on("click", function () {
358
  spider_check_all("#check_all");
359
  });
 
360
  jQuery("#loading_div").hide();
361
  }
362
  });
js/bwg_gallery_box.js CHANGED
@@ -264,6 +264,17 @@ function spider_check_required(id, name) {
264
  }
265
  }
266
 
 
 
 
 
 
 
 
 
 
 
 
267
  // Check Email.
268
  function spider_check_email(id) {
269
  if (jQuery('#' + id).val() != '') {
264
  }
265
  }
266
 
267
+ // Check if privacy polic field is checked.
268
+ function comment_check_privacy_policy() {
269
+ var bwg_submit = jQuery('#bwg_submit');
270
+ bwg_submit.removeClass('bwg-submit-disabled');
271
+ bwg_submit.removeAttr("disabled");
272
+ if ( !jQuery('#bwg_comment_privacy_policy').is(':checked') ) {
273
+ bwg_submit.addClass('bwg-submit-disabled');
274
+ bwg_submit.attr('disabled', 'disabled');
275
+ }
276
+ }
277
+
278
  // Check Email.
279
  function spider_check_email(id) {
280
  if (jQuery('#' + id).val() != '') {
photo-gallery.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Photo Gallery
4
  * Plugin URI: https://10web.io/plugins/wordpress-photo-gallery/
5
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
6
- * Version: 1.4.11
7
  * Author: Photo Gallery Team
8
  * Author URI: https://10web.io/pricing/
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
@@ -80,8 +80,8 @@ final class BWG {
80
  $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
81
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
82
  $this->main_file = plugin_basename(__FILE__);
83
- $this->plugin_version = '1.4.11';
84
- $this->db_version = '1.4.11';
85
  $this->prefix = 'bwg';
86
  $this->nicename = __('Photo Gallery', $this->prefix);
87
 
@@ -194,6 +194,21 @@ final class BWG {
194
  // Enqueue block editor assets for Gutenberg.
195
  add_filter('tw_get_block_editor_assets', array($this, 'register_block_editor_assets'));
196
  add_action( 'enqueue_block_editor_assets', array($this, 'enqueue_block_editor_assets') );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  }
198
 
199
  public function register_block_editor_assets($assets) {
@@ -1380,7 +1395,7 @@ final class BWG {
1380
  "plugin_menu_icon" => BWG()->plugin_url . '/images/icons/icon.png',
1381
  "deactivate" => !$this->is_pro,
1382
  "subscribe" => !$this->is_pro,
1383
- "custom_post" => 'galleries_bwg',
1384
  "menu_position" => null,
1385
  "display_overview" => false,
1386
  );
3
  * Plugin Name: Photo Gallery
4
  * Plugin URI: https://10web.io/plugins/wordpress-photo-gallery/
5
  * Description: This plugin is a fully responsive gallery plugin with advanced functionality. It allows having different image galleries for your posts and pages. You can create unlimited number of galleries, combine them into albums, and provide descriptions and tags.
6
+ * Version: 1.4.12
7
  * Author: Photo Gallery Team
8
  * Author URI: https://10web.io/pricing/
9
  * License: GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
80
  $this->plugin_dir = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(__FILE__));
81
  $this->plugin_url = plugins_url(plugin_basename(dirname(__FILE__)));
82
  $this->main_file = plugin_basename(__FILE__);
83
+ $this->plugin_version = '1.4.12';
84
+ $this->db_version = '1.4.12';
85
  $this->prefix = 'bwg';
86
  $this->nicename = __('Photo Gallery', $this->prefix);
87
 
194
  // Enqueue block editor assets for Gutenberg.
195
  add_filter('tw_get_block_editor_assets', array($this, 'register_block_editor_assets'));
196
  add_action( 'enqueue_block_editor_assets', array($this, 'enqueue_block_editor_assets') );
197
+
198
+ // Privacy policy.
199
+ add_action( 'admin_init', array($this, 'add_privacy_policy_content') );
200
+ }
201
+
202
+ function add_privacy_policy_content() {
203
+ if ( !function_exists( 'wp_add_privacy_policy_content' ) ) {
204
+ return;
205
+ }
206
+
207
+ $content = __( 'Your name, email address and IP address are collected and stored in our website database when you comment on and/or rate images on our website.', $this->prefix );
208
+ wp_add_privacy_policy_content(
209
+ $this->nicename,
210
+ wp_kses_post( wpautop( $content, false ) )
211
+ );
212
  }
213
 
214
  public function register_block_editor_assets($assets) {
1395
  "plugin_menu_icon" => BWG()->plugin_url . '/images/icons/icon.png',
1396
  "deactivate" => !$this->is_pro,
1397
  "subscribe" => !$this->is_pro,
1398
+ "custom_post" => '',
1399
  "menu_position" => null,
1400
  "display_overview" => false,
1401
  );
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: webdorado,wdsupport,photogallerysupport,10web
3
  Tags: gallery, photo gallery, image gallery, responsive gallery, wordpress gallery plugin, photo albums, gallery slider, gallery lightbox, wordpress photo gallery plugin, fullscreen gallery, watermarking, video gallery
4
  Requires at least: 3.4
5
  Tested up to: 4.9
6
- Stable tag: 1.4.11
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -279,6 +279,9 @@ Choose whether to display random or the first/last specific number of images.
279
 
280
  == Changelog ==
281
 
 
 
 
282
  = 1.4.11 =
283
  * Fixed: Bug on displaying embed media.
284
  * Fixed: Bug on opening lightbox with embed media.
3
  Tags: gallery, photo gallery, image gallery, responsive gallery, wordpress gallery plugin, photo albums, gallery slider, gallery lightbox, wordpress photo gallery plugin, fullscreen gallery, watermarking, video gallery
4
  Requires at least: 3.4
5
  Tested up to: 4.9
6
+ Stable tag: 1.4.12
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
279
 
280
  == Changelog ==
281
 
282
+ = 1.4.12 =
283
+ * Added: GDPR compliance.
284
+
285
  = 1.4.11 =
286
  * Fixed: Bug on displaying embed media.
287
  * Fixed: Bug on opening lightbox with embed media.
wd/config.php CHANGED
@@ -77,10 +77,10 @@
77
  if(isset( $options["plugin_wd_demo_link"] )) {
78
  $this->plugin_wd_demo_link = $options["plugin_wd_demo_link"];
79
  }
80
- if(isset( $options["plugin_wd_docs_link"] )) {
81
  $this->plugin_wd_demo_link = $options["plugin_wd_demo_link"];
82
  }
83
- if(isset( $options["plugin_wd_addons_link"] )) {
84
  $this->plugin_wd_docs_link = $options["plugin_wd_docs_link"];
85
  }
86
  if(isset( $options["plugin_wizard_link"] )) {
77
  if(isset( $options["plugin_wd_demo_link"] )) {
78
  $this->plugin_wd_demo_link = $options["plugin_wd_demo_link"];
79
  }
80
+ if(isset( $options["plugin_wd_demo_link"] )) {
81
  $this->plugin_wd_demo_link = $options["plugin_wd_demo_link"];
82
  }
83
+ if(isset( $options["plugin_wd_docs_link"] )) {
84
  $this->plugin_wd_docs_link = $options["plugin_wd_docs_link"];
85
  }
86
  if(isset( $options["plugin_wizard_link"] )) {