WP Image Zoom - Version 1.41.1

Version Description

  • 06/01/2020
  • Fix: remove PHP warning
Download this release

Release Info

Developer diana_burduja
Plugin Icon 128x128 WP Image Zoom
Version 1.41.1
Comparing to
See all releases

Code changes from version 1.41 to 1.41.1

image-zoooom.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WP Image Zoom
4
  * Plugin URI: https://wordpress.org/plugins/wp-image-zoooom/
5
  * Description: Add zoom effect over the an image, whether it is an image in a post/page or the featured image of a product in a WooCommerce shop
6
- * Version: 1.41
7
  * Author: SilkyPress
8
  * Author URI: https://www.silkypress.com
9
  * License: GPL2
@@ -26,7 +26,7 @@ if ( ! class_exists( 'ImageZoooom' ) ) :
26
  * @class ImageZoooom
27
  */
28
  final class ImageZoooom {
29
- public $version = '1.41';
30
  public $theme = '';
31
  protected static $_instance = null;
32
 
@@ -333,6 +333,10 @@ if ( ! class_exists( 'ImageZoooom' ) ) :
333
  $i = get_option( 'zoooom_settings' );
334
  $o = array();
335
 
 
 
 
 
336
  switch ( $i['lensShape'] ) {
337
  case 'none':
338
  $o = array(
3
  * Plugin Name: WP Image Zoom
4
  * Plugin URI: https://wordpress.org/plugins/wp-image-zoooom/
5
  * Description: Add zoom effect over the an image, whether it is an image in a post/page or the featured image of a product in a WooCommerce shop
6
+ * Version: 1.41.1
7
  * Author: SilkyPress
8
  * Author URI: https://www.silkypress.com
9
  * License: GPL2
26
  * @class ImageZoooom
27
  */
28
  final class ImageZoooom {
29
+ public $version = '1.41.1';
30
  public $theme = '';
31
  protected static $_instance = null;
32
 
333
  $i = get_option( 'zoooom_settings' );
334
  $o = array();
335
 
336
+ if ( ! $i ) {
337
+ return array();
338
+ }
339
+
340
  switch ( $i['lensShape'] ) {
341
  case 'none':
342
  $o = array(
includes/image-zoom-notices.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  if ( ! defined( 'ABSPATH' ) ) {
4
- exit; // Exit if accessed directly
5
  }
6
 
7
  /**
@@ -9,192 +9,198 @@ if ( ! defined( 'ABSPATH' ) ) {
9
  */
10
  class ImageZoooom_Notices {
11
 
12
- var $main = '';
13
- var $activation_time = '';
14
- var $dismiss_notice = '';
15
- var $expiration_days = 3;
16
-
17
- /**
18
- * Constructor
19
- */
20
- public function __construct() {
21
-
22
- $this->set_variables();
23
-
24
- if ( $this->dismiss_notice == 1 ) {
25
- return;
26
- }
27
-
28
- add_action( 'admin_notices', array( $this, 'admin_notices' ) );
29
- add_action( 'wp_ajax_zoooom_notice_dismiss', array( $this, 'notice_dismiss' ) );
30
- }
31
-
32
- /**
33
- * Hooked from 'admin_notices'
34
- */
35
- public function admin_notices() {
36
-
37
- if ( ! $notice = $this->choose_notice() )
38
- return;
39
-
40
- $message = $this->get_message( $notice );
41
-
42
- $this->print_message( $notice, $message );
43
-
44
- }
45
-
46
- /**
47
- * Get the options from the database or set them on install or upgrade
48
- */
49
- public function set_variables() {
50
- $now = time();
51
-
52
- $this->activation_time = get_option( 'zoooom_activation_time', '' );
53
- $last_version = get_option( 'zoooom_version', '' );
54
- $v = IMAGE_ZOOM_VERSION;
55
- $this->dismiss_notice = get_option( 'zoooom_dismiss_notice', false );
56
-
57
- if ( empty( $this->activation_time ) || version_compare( $last_version, $v, '<' ) ) {
58
- $this->activation_time = $now;
59
- update_option( 'zoooom_activation_time', $now );
60
- update_option( 'zoooom_version', $v );
61
- update_option( 'zoooom_dismiss_notice', false );
62
- }
63
-
64
- }
65
-
66
- /**
67
- * Choose which notice to be shown
68
- */
69
- public function choose_notice() {
70
- $now = time();
71
-
72
- $days_passed = ceil( ( $now - $this->activation_time ) / 86400 );
73
-
74
- switch ( $days_passed ) {
75
- case 1 : return '1_day';
76
- case 2 : return '2_day';
77
- case 3 : return '3_day';
78
- case 4 :
79
- case 5 :
80
- case 6 :
81
- case 7 : return '7_day';
82
- case 8 :
83
- case 9 :
84
- case 10 :
85
- case 11 :
86
- case 12 : return '12_day';
87
- }
88
- }
89
-
90
- /**
91
- * Get the text of the message
92
- */
93
- public function get_message( $notice ) {
94
-
95
- $message = '';
96
- $percentage = '40';
97
-
98
- $expiration_date = $this->activation_time + ( $this->expiration_days * 86400 );
99
- $expiration_date = date( get_option( 'date_format') , $expiration_date );
100
-
101
-
102
- if ( $notice == '12_days' ) {
103
- $link = 'https://www.silkypress.com/wp-image-zoooom-pro-offer/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
104
- } else {
105
- $link = 'https://www.silkypress.com/wp-image-zoooom-pro-special-offer/?a=' . $this->convert_numbers_letters( $this->activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
106
- }
107
-
108
- $lower_part = sprintf( '<div style="margin-top: 7px;"><a href="%s" target="_blank">%s</a> | <a href="#" class="dismiss_notice" target="_parent">%s</a></div>', $link, 'Get WP Image Zoooom PRO', 'Dismiss this notice' );
109
-
110
- switch ( $notice ) {
111
- case '1_day' :
112
- $message = '<div><b>Limited offer ending on '. $expiration_date .'</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
113
- break;
114
-
115
- case '2_day' :
116
- $message = '<div><b>Limited offer ending in 1 day (on '. $expiration_date .')</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
117
- break;
118
-
119
- case '3_day' :
120
- $message = '<div><b>Limited offer ending today</b>. '.$percentage.'% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
121
- break;
122
-
123
- case '7_day' :
124
- $message = '';
125
- break;
126
-
127
- case '12_day' :
128
- $message = '<div><b>Special Offer</b>: 30% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
129
- break;
130
- }
131
-
132
- return $message;
133
- }
134
-
135
-
136
-
137
- /**
138
- * Print the message
139
- */
140
- public function print_message( $option_name = '', $message = '' ) {
141
- if ( empty( $message ) || empty( $option_name ) )
142
- return;
143
-
144
- ?>
145
- <style type="text/css">
146
- .zoooom_note{ color: #bc1117; }
147
- #zoooom_notice { display: block; padding: }
148
- #zoooom_notice b { color: #bc1117; }
149
- #zoooom_notice a { text-decoration: none; font-weight: bold; }
150
- #zoooom_notice a.dismiss_notice { font-weight: normal; }
151
- </style>
152
-
153
- <script type='text/javascript'>
154
- jQuery(function($){
155
- $(document).on( 'click', '.zoooom_notice .dismiss_notice', function() {
156
-
157
- var data = {
158
- action: 'zoooom_notice_dismiss',
159
- option: '<?php echo $option_name; ?>'
160
- };
161
- $.post(ajaxurl, data, function(response ) {
162
- $('#zoooom_notice').fadeOut('slow');
163
- });
164
- });
165
- });
166
- </script>
167
-
168
- <div id="zoooom_notice" class="updated notice zoooom_notice is-dismissible">
169
- <p><?php echo $message ?></p>
170
- <button type="button" class="notice-dismiss">
171
- <span class="screen-reader-text"><?php _e('Dismiss this notice'); ?></span>
172
- </button>
173
- </div>
174
- <?php
175
-
176
- }
177
-
178
- function convert_numbers_letters( $text, $from = 'numbers' ) {
179
- $alphabet = str_split('abcdefghij');
180
- $numbers = str_split('0123456789');
181
-
182
- if ( $from == 'numbers' ) {
183
- return str_replace( $numbers, $alphabet, $text );
184
- } else {
185
- return str_replace( $alphabet, $numbers, $text );
186
- }
187
- }
188
-
189
- /**
190
- * Ajax response for `notice_dismiss` action
191
- */
192
- function notice_dismiss() {
193
-
194
- update_option( 'zoooom_dismiss_notice', 1 );
195
-
196
- wp_die();
197
- }
 
 
 
 
 
 
198
  }
199
 
200
 
1
  <?php
2
 
3
  if ( ! defined( 'ABSPATH' ) ) {
4
+ exit; // Exit if accessed directly
5
  }
6
 
7
  /**
9
  */
10
  class ImageZoooom_Notices {
11
 
12
+ var $main = '';
13
+ var $activation_time = '';
14
+ var $dismiss_notice = '';
15
+ var $expiration_days = 3;
16
+
17
+ /**
18
+ * Constructor
19
+ */
20
+ public function __construct() {
21
+
22
+ $this->set_variables();
23
+
24
+ if ( $this->dismiss_notice == 1 ) {
25
+ return;
26
+ }
27
+
28
+ add_action( 'admin_notices', array( $this, 'admin_notices' ) );
29
+ add_action( 'wp_ajax_zoooom_notice_dismiss', array( $this, 'notice_dismiss' ) );
30
+ }
31
+
32
+ /**
33
+ * Hooked from 'admin_notices'
34
+ */
35
+ public function admin_notices() {
36
+
37
+ if ( ! $notice = $this->choose_notice() ) {
38
+ return;
39
+ }
40
+
41
+ $message = $this->get_message( $notice );
42
+
43
+ $this->print_message( $notice, $message );
44
+
45
+ }
46
+
47
+ /**
48
+ * Get the options from the database or set them on install or upgrade
49
+ */
50
+ public function set_variables() {
51
+ $now = time();
52
+
53
+ $this->activation_time = get_option( 'zoooom_activation_time', '' );
54
+ $last_version = get_option( 'zoooom_version', '' );
55
+ $v = IMAGE_ZOOM_VERSION;
56
+ $this->dismiss_notice = get_option( 'zoooom_dismiss_notice', false );
57
+
58
+ if ( empty( $this->activation_time ) || version_compare( $last_version, $v, '<' ) ) {
59
+ $this->activation_time = $now;
60
+ update_option( 'zoooom_activation_time', $now );
61
+ update_option( 'zoooom_version', $v );
62
+ update_option( 'zoooom_dismiss_notice', false );
63
+ }
64
+
65
+ }
66
+
67
+ /**
68
+ * Choose which notice to be shown
69
+ */
70
+ public function choose_notice() {
71
+ $now = time();
72
+
73
+ $days_passed = ceil( ( $now - $this->activation_time ) / 86400 );
74
+
75
+ switch ( $days_passed ) {
76
+ case 1:
77
+ return '1_day';
78
+ case 2:
79
+ return '2_day';
80
+ case 3:
81
+ return '3_day';
82
+ case 4:
83
+ case 5:
84
+ case 6:
85
+ case 7:
86
+ return '7_day';
87
+ case 8:
88
+ case 9:
89
+ case 10:
90
+ case 11:
91
+ case 12:
92
+ return '12_day';
93
+ }
94
+ }
95
+
96
+ /**
97
+ * Get the text of the message
98
+ */
99
+ public function get_message( $notice ) {
100
+
101
+ $message = '';
102
+ $percentage = '40';
103
+
104
+ $expiration_date = $this->activation_time + ( $this->expiration_days * 86400 );
105
+ $expiration_date = date( get_option( 'date_format' ), $expiration_date );
106
+
107
+ if ( $notice == '12_days' ) {
108
+ $link = 'https://www.silkypress.com/wp-image-zoooom-pro-offer/?utm_source=wordpress&utm_campaign=iz_free&utm_medium=banner';
109
+ } else {
110
+ $link = 'https://www.silkypress.com/wp-image-zoooom-pro-special-offer/?a=' . $this->convert_numbers_letters( $this->activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
111
+ }
112
+
113
+ $lower_part = sprintf( '<div style="margin-top: 7px;"><a href="%s" target="_blank">%s</a> | <a href="#" class="dismiss_notice" target="_parent">%s</a></div>', $link, 'Get WP Image Zoooom PRO', 'Dismiss this notice' );
114
+
115
+ switch ( $notice ) {
116
+ case '1_day':
117
+ $message = '<div><b>Limited offer ending on ' . $expiration_date . '</b>. ' . $percentage . '% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
118
+ break;
119
+
120
+ case '2_day':
121
+ $message = '<div><b>Limited offer ending in 1 day (on ' . $expiration_date . ')</b>. ' . $percentage . '% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
122
+ break;
123
+
124
+ case '3_day':
125
+ $message = '<div><b>Limited offer ending today</b>. ' . $percentage . '% Off from WP Image Zoooom PRO for our WordPress.org users. </div>' . $lower_part;
126
+ break;
127
+
128
+ case '7_day':
129
+ $message = '';
130
+ break;
131
+
132
+ case '12_day':
133
+ $message = '<div><b>Special Offer</b>: 30% Off from WP Image Zoooom PRO for our WordPress.org users.</div>' . $lower_part;
134
+ break;
135
+ }
136
+
137
+ return $message;
138
+ }
139
+
140
+
141
+
142
+ /**
143
+ * Print the message
144
+ */
145
+ public function print_message( $option_name = '', $message = '' ) {
146
+ if ( empty( $message ) || empty( $option_name ) ) {
147
+ return;
148
+ }
149
+
150
+ ?>
151
+ <style type="text/css">
152
+ .zoooom_note{ color: #bc1117; }
153
+ #zoooom_notice { display: block; padding: }
154
+ #zoooom_notice b { color: #bc1117; }
155
+ #zoooom_notice a { text-decoration: none; font-weight: bold; }
156
+ #zoooom_notice a.dismiss_notice { font-weight: normal; }
157
+ </style>
158
+
159
+ <script type='text/javascript'>
160
+ jQuery(function($){
161
+ $(document).on( 'click', '.zoooom_notice .dismiss_notice', function() {
162
+
163
+ var data = {
164
+ action: 'zoooom_notice_dismiss',
165
+ option: '<?php echo $option_name; ?>'
166
+ };
167
+ $.post(ajaxurl, data, function(response ) {
168
+ $('#zoooom_notice').fadeOut('slow');
169
+ });
170
+ });
171
+ });
172
+ </script>
173
+
174
+ <div id="zoooom_notice" class="updated notice zoooom_notice is-dismissible">
175
+ <p><?php echo $message; ?></p>
176
+ <button type="button" class="notice-dismiss">
177
+ <span class="screen-reader-text"><?php _e( 'Dismiss this notice' ); ?></span>
178
+ </button>
179
+ </div>
180
+ <?php
181
+
182
+ }
183
+
184
+ function convert_numbers_letters( $text, $from = 'numbers' ) {
185
+ $alphabet = str_split( 'abcdefghij' );
186
+ $numbers = str_split( '0123456789' );
187
+
188
+ if ( $from == 'numbers' ) {
189
+ return str_replace( $numbers, $alphabet, $text );
190
+ } else {
191
+ return str_replace( $alphabet, $numbers, $text );
192
+ }
193
+ }
194
+
195
+ /**
196
+ * Ajax response for `notice_dismiss` action
197
+ */
198
+ function notice_dismiss() {
199
+
200
+ update_option( 'zoooom_dismiss_notice', 1 );
201
+
202
+ wp_die();
203
+ }
204
  }
205
 
206
 
includes/right_columns.php CHANGED
@@ -3,34 +3,34 @@
3
  $now = time();
4
 
5
  $zoooom_activation_time = get_option( 'zoooom_activation_time', '' );
6
- $zoooom_version = get_option( 'zoooom_version', '' );
7
 
8
  if ( empty( $zoooom_activation_time ) || version_compare( $zoooom_version, IMAGE_ZOOM_VERSION, '<' ) ) {
9
- $zoooom_activation_time = $now;
10
- update_option( 'zoooom_activation_time', $now );
11
- update_option( 'zoooom_version', IMAGE_ZOOM_VERSION);
12
  }
13
 
14
 
15
  $show_discount = false;
16
- if ( $now - 3*86400 < $zoooom_activation_time ) {
17
- $show_discount = true;
18
  }
19
 
20
- $start_date = date('j M', $zoooom_activation_time - 3*86400 );
21
- $end_date = date('j M', $zoooom_activation_time + 2*86400 );
22
 
23
 
24
 
25
  function iz_convert_numbers_letters( $text, $from = 'numbers' ) {
26
- $alphabet = str_split('abcdefghij');
27
- $numbers = str_split('0123456789');
28
-
29
- if ( $from == 'numbers' ) {
30
- return str_replace( $numbers, $alphabet, $text );
31
- } else {
32
- return str_replace( $alphabet, $numbers, $text );
33
- }
34
  }
35
 
36
  $offer_link = 'https://www.silkypress.com/wp-image-zoom-plugin/?a=' . iz_convert_numbers_letters( $zoooom_activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
@@ -41,37 +41,37 @@ $offer_link = 'https://www.silkypress.com/wp-image-zoom-plugin/?a=' . iz_convert
41
 
42
  <div id="right_column_metaboxes">
43
 
44
- <?php if ( $show_discount ) : ?>
45
- <div class="panel main_container">
46
- <div class="container_title">
47
- <h3><img src="<?php echo site_url(); ?>/wp-content/plugins/wp-image-zoooom/assets/images/icon.svg" /> <?php _e('WP Image Zoooom Pro', 'wp-image-zoooom'); ?></h3>
48
- </div>
49
- <div class="metabox-holder discount" style="text-align: center;">
50
-
51
- <p>Shhh... Can you keep a secret?</p>
52
-
53
- <p>
54
- <span style="color: #bc1117; font-size: 24px;">30% OFF</span><br />
55
- only between <span style="color: #bc1117;"><?php echo $start_date; ?> - <?php echo $end_date; ?></span>.
56
-
57
- </p>
58
- <p>Don't tell anyone.</p>
59
- <p style="text-align: center;">
60
- <a href="<?php echo $offer_link; ?>" target="_blank" class="button" rel="noreferrer"><?php _e('Upgrade to PRO', 'wp-image-zoooom'); ?></a>
61
- </p>
62
- </div>
63
- </div>
64
- <?php endif; ?>
65
-
66
- <div class="panel main_container">
67
- <div class="container_title">
68
- <h3><?php _e('Like this Plugin?', 'wp-image-zoooom'); ?></h3>
69
- </div>
70
- <div class="metabox-holder rating" style="text-align: center;">
71
- <p><?php _e('Share your opinion with the world on the WordPress.org Plugin Repository.', 'wp-image-zoooom'); ?></p>
72
- <p><a href="https://wordpress.org/plugins/wp-image-zoooom/" target="_blank" class="button"><?php _e('Rate it on WordPress.org', 'wp-image-zoooom'); ?></a></p>
73
- </div>
74
- </div>
75
  </div>
76
 
77
  <div style="clear: both"></div>
3
  $now = time();
4
 
5
  $zoooom_activation_time = get_option( 'zoooom_activation_time', '' );
6
+ $zoooom_version = get_option( 'zoooom_version', '' );
7
 
8
  if ( empty( $zoooom_activation_time ) || version_compare( $zoooom_version, IMAGE_ZOOM_VERSION, '<' ) ) {
9
+ $zoooom_activation_time = $now;
10
+ update_option( 'zoooom_activation_time', $now );
11
+ update_option( 'zoooom_version', IMAGE_ZOOM_VERSION );
12
  }
13
 
14
 
15
  $show_discount = false;
16
+ if ( $now - 3 * 86400 < $zoooom_activation_time ) {
17
+ $show_discount = true;
18
  }
19
 
20
+ $start_date = date( 'j M', $zoooom_activation_time - 3 * 86400 );
21
+ $end_date = date( 'j M', $zoooom_activation_time + 2 * 86400 );
22
 
23
 
24
 
25
  function iz_convert_numbers_letters( $text, $from = 'numbers' ) {
26
+ $alphabet = str_split( 'abcdefghij' );
27
+ $numbers = str_split( '0123456789' );
28
+
29
+ if ( $from == 'numbers' ) {
30
+ return str_replace( $numbers, $alphabet, $text );
31
+ } else {
32
+ return str_replace( $alphabet, $numbers, $text );
33
+ }
34
  }
35
 
36
  $offer_link = 'https://www.silkypress.com/wp-image-zoom-plugin/?a=' . iz_convert_numbers_letters( $zoooom_activation_time ) . '&utm_source=wordpress&utm_campaign=iz_offer&utm_medium=banner';
41
 
42
  <div id="right_column_metaboxes">
43
 
44
+ <?php if ( $show_discount ) : ?>
45
+ <div class="panel main_container">
46
+ <div class="container_title">
47
+ <h3><img src="<?php echo site_url(); ?>/wp-content/plugins/wp-image-zoooom/assets/images/icon.svg" /> <?php _e( 'WP Image Zoooom Pro', 'wp-image-zoooom' ); ?></h3>
48
+ </div>
49
+ <div class="metabox-holder discount" style="text-align: center;">
50
+
51
+ <p>Shhh... Can you keep a secret?</p>
52
+
53
+ <p>
54
+ <span style="color: #bc1117; font-size: 24px;">30% OFF</span><br />
55
+ only between <span style="color: #bc1117;"><?php echo $start_date; ?> - <?php echo $end_date; ?></span>.
56
+
57
+ </p>
58
+ <p>Don't tell anyone.</p>
59
+ <p style="text-align: center;">
60
+ <a href="<?php echo $offer_link; ?>" target="_blank" class="button" rel="noreferrer"><?php _e( 'Upgrade to PRO', 'wp-image-zoooom' ); ?></a>
61
+ </p>
62
+ </div>
63
+ </div>
64
+ <?php endif; ?>
65
+
66
+ <div class="panel main_container">
67
+ <div class="container_title">
68
+ <h3><?php _e( 'Like this Plugin?', 'wp-image-zoooom' ); ?></h3>
69
+ </div>
70
+ <div class="metabox-holder rating" style="text-align: center;">
71
+ <p><?php _e( 'Share your opinion with the world on the WordPress.org Plugin Repository.', 'wp-image-zoooom' ); ?></p>
72
+ <p><a href="https://wordpress.org/plugins/wp-image-zoooom/" target="_blank" class="button"><?php _e( 'Rate it on WordPress.org', 'wp-image-zoooom' ); ?></a></p>
73
+ </div>
74
+ </div>
75
  </div>
76
 
77
  <div style="clear: both"></div>
includes/settings.php CHANGED
@@ -453,7 +453,7 @@ if ( ! function_exists( 'wp_image_zoooom_settings' ) ) {
453
  'label' => __( 'Enable inside a Lightbox. <a href="#TB_inline?width=600&height=400&inlineId=supported-lightboxes" class="thickbox">See supported lightboxes</a>', 'wp-image-zoooom' ),
454
  'value' => false,
455
  'input_form' => 'checkbox',
456
- 'pro' => true,
457
  'section' => 'general',
458
  ),
459
  'image_title_position' => array(
453
  'label' => __( 'Enable inside a Lightbox. <a href="#TB_inline?width=600&height=400&inlineId=supported-lightboxes" class="thickbox">See supported lightboxes</a>', 'wp-image-zoooom' ),
454
  'value' => false,
455
  'input_form' => 'checkbox',
456
+ 'pro' => true,
457
  'section' => 'general',
458
  ),
459
  'image_title_position' => array(
readme.txt CHANGED
@@ -5,7 +5,7 @@ Email: diana@burduja.eu
5
  Tags: e-commerce, featured image, hover over image zoom, image, image zoom, image zoom plugin, image magnification, image magnifier, jquery picture zoom, magnifier, magnify image, magnifying glass, mouse over image zoom, panorama, picture zoom, product image, product zoom, product magnification, product magnifier, responsive, woocommerce product zoom, woocommerce zoom, woocommerce magnifying glass, zoom, zoom image, zoom plugin, woocommerce image zoom, woocommerce product image zoom, woocommerce zoom magnifier
6
  Requires at least: 3.0.1
7
  Tested up to: 5.4
8
- Stable tag: 1.41
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
  Requires PHP: 5.2.4
@@ -154,6 +154,10 @@ Alternatively you can upgrade to the Pro version, as there the zoom lens is buil
154
 
155
  == Changelog ==
156
 
 
 
 
 
157
  = 1.41 =
158
  * 05/29/2020
159
  * Fix: compatibility with the WooCommerce product gallery on the Enfold theme
5
  Tags: e-commerce, featured image, hover over image zoom, image, image zoom, image zoom plugin, image magnification, image magnifier, jquery picture zoom, magnifier, magnify image, magnifying glass, mouse over image zoom, panorama, picture zoom, product image, product zoom, product magnification, product magnifier, responsive, woocommerce product zoom, woocommerce zoom, woocommerce magnifying glass, zoom, zoom image, zoom plugin, woocommerce image zoom, woocommerce product image zoom, woocommerce zoom magnifier
6
  Requires at least: 3.0.1
7
  Tested up to: 5.4
8
+ Stable tag: 1.41.1
9
  License: GPLv3
10
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
11
  Requires PHP: 5.2.4
154
 
155
  == Changelog ==
156
 
157
+ = 1.41.1 =
158
+ * 06/01/2020
159
+ * Fix: remove PHP warning
160
+
161
  = 1.41 =
162
  * 05/29/2020
163
  * Fix: compatibility with the WooCommerce product gallery on the Enfold theme