Premium Addons for Elementor - Version 3.5.2

Version Description

  • Tweak: Added Normal/Hover opacity option for Image Scroll widget.
  • Fixed: Undefined variable: video_params error in Video Box widget.
Download this release

Release Info

Developer leap13
Plugin Icon 128x128 Premium Addons for Elementor
Version 3.5.2
Comparing to
See all releases

Code changes from version 3.5.1 to 3.5.2

admin/includes/admin-notices.php CHANGED
@@ -36,7 +36,7 @@ class Admin_Notices {
36
 
37
  $this->handle_review_notice();
38
 
39
- $this->handle_yelp_notice();
40
 
41
  }
42
 
@@ -56,7 +56,7 @@ class Admin_Notices {
56
  }
57
  //$this->get_pbg_notice();
58
 
59
- $this->get_yelp_notice();
60
 
61
  }
62
 
@@ -109,25 +109,25 @@ class Admin_Notices {
109
  }
110
 
111
  /**
112
- * Checks if Yelp message is dismissed.
113
  *
114
- * @since 3.5.1
115
  * @access public
116
  *
117
  * @return void
118
  */
119
- public function handle_yelp_notice() {
120
- if ( ! isset( $_GET['yelp'] ) ) {
121
  return;
122
  }
123
 
124
- if ( 'opt_out' === $_GET['yelp'] ) {
125
  check_admin_referer( 'opt_out' );
126
 
127
- update_option( 'yelp_notice', '1' );
128
  }
129
 
130
- wp_redirect( remove_query_arg( 'yelp' ) );
131
  exit;
132
  }
133
 
@@ -275,29 +275,29 @@ class Admin_Notices {
275
  *
276
  * Shows an admin notice for Yelp.
277
  *
278
- * @since 3.4.6
279
  * @access public
280
  *
281
  * @return void
282
  */
283
- public function get_yelp_notice() {
284
 
285
- $yelp_notice = get_option( 'yelp_notice' );
286
 
287
  $theme = self::get_installed_theme();
288
 
289
- $notice_url = sprintf( 'https://premiumaddons.com/elementor-yelp-reviews-widget/?utm_source=yelp-notification&utm_medium=wp-dash&utm_campaign=get-pro&utm_term=%s', $theme );
290
 
291
- if ( '1' === $yelp_notice ) {
292
  return;
293
- } else if ( '1' !== $yelp_notice ) {
294
  $optout_url = wp_nonce_url( add_query_arg( 'yelp', 'opt_out' ), 'opt_out' );
295
 
296
- $yelp_message = sprintf( __('<p class="pa-text-wrap" style="display: flex; align-items: center; padding:10px 10px 10px 0;"><img src="%s" style="margin-right: 0.8em; width: 40px;"><span>NEW!&nbsp</span><strong><span>Yelp Reviews Widget for Elementor&nbsp</strong>is Now Available in Premium Addons PRO.&nbsp</span><a href="%s" target="_blank" style="flex-grow: 2;"> Check it out now.</a>', 'premium-addons-for-elementor' ), PREMIUM_ADDONS_URL .'admin/images/premium-addons-logo.png', $notice_url );
297
 
298
- $yelp_message .= sprintf(__('<a href="%s" style="text-decoration: none; margin-left: 1em; float:right; "><span class="dashicons dashicons-dismiss"></span></a></p>', 'premium-addons-for-elementor'), $optout_url );
299
 
300
- $this->render_admin_notices( $yelp_message );
301
 
302
  }
303
 
36
 
37
  $this->handle_review_notice();
38
 
39
+ $this->handle_fb_notice();
40
 
41
  }
42
 
56
  }
57
  //$this->get_pbg_notice();
58
 
59
+ $this->get_fb_notice();
60
 
61
  }
62
 
109
  }
110
 
111
  /**
112
+ * Checks if Facebook Reviews message is dismissed.
113
  *
114
+ * @since 3.5.2
115
  * @access public
116
  *
117
  * @return void
118
  */
119
+ public function handle_fb_notice() {
120
+ if ( ! isset( $_GET['fb'] ) ) {
121
  return;
122
  }
123
 
124
+ if ( 'opt_out' === $_GET['fb'] ) {
125
  check_admin_referer( 'opt_out' );
126
 
127
+ update_option( 'fb_notice', '1' );
128
  }
129
 
130
+ wp_redirect( remove_query_arg( 'fb' ) );
131
  exit;
132
  }
133
 
275
  *
276
  * Shows an admin notice for Yelp.
277
  *
278
+ * @since 3.5.2
279
  * @access public
280
  *
281
  * @return void
282
  */
283
+ public function get_fb_notice() {
284
 
285
+ $fb_notice = get_option( 'fb_notice' );
286
 
287
  $theme = self::get_installed_theme();
288
 
289
+ $notice_url = sprintf( 'http://premiumaddons.com/facebook-reviews-widget-for-elementor-page-builder/?utm_source=fb-notification&utm_medium=wp-dash&utm_campaign=get-pro&utm_term=%s', $theme );
290
 
291
+ if ( '1' === $fb_notice ) {
292
  return;
293
+ } else if ( '1' !== $fb_notice ) {
294
  $optout_url = wp_nonce_url( add_query_arg( 'yelp', 'opt_out' ), 'opt_out' );
295
 
296
+ $fb_message = sprintf( __('<p class="pa-text-wrap" style="display: flex; align-items: center; padding:10px 10px 10px 0;"><img src="%s" style="margin-right: 0.8em; width: 40px;"><strong><span>Facebook Reviews Widget for Elementor&nbsp</strong> has been amazingly improved.&nbsp</span><a href="%s" target="_blank" style="flex-grow: 2;"> Check it out now.</a>', 'premium-addons-for-elementor' ), PREMIUM_ADDONS_URL .'admin/images/premium-addons-logo.png', $notice_url );
297
 
298
+ $fb_message .= sprintf(__('<a href="%s" style="text-decoration: none; margin-left: 1em; float:right; "><span class="dashicons dashicons-dismiss"></span></a></p>', 'premium-addons-for-elementor'), $optout_url );
299
 
300
+ $this->render_admin_notices( $fb_message );
301
 
302
  }
303
 
admin/includes/version-control.php CHANGED
@@ -91,7 +91,7 @@ class Version_Control {
91
  <tr class="pa-roll-row">
92
  <th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
93
  <td>
94
- <div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.5.0', 'premium-addons-for-elementor') ); ?></div>
95
  <p class="pa-roll-desc">
96
  <span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
97
  </p>
91
  <tr class="pa-roll-row">
92
  <th><?php echo __('Rollback Version', 'premium-addons-for-elementor'); ?></th>
93
  <td>
94
+ <div><?php echo sprintf( '<a target="_blank" href="%1$s" class="button pa-btn pa-rollback-button elementor-button-spinner">%2$s</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ), __('Reinstall Version 3.5.1', 'premium-addons-for-elementor') ); ?></div>
95
  <p class="pa-roll-desc">
96
  <span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
97
  </p>
admin/settings/maps.php CHANGED
@@ -83,7 +83,7 @@ class Maps {
83
  <table class="pa-maps-table">
84
  <tr>
85
  <p class="pa-maps-api-notice">
86
- <?php echo esc_html( Helper_Functions::get_prefix() ) . __(' Maps Element requires Google API key to be entered below. If you don’t have one, click ', 'premium-addons-for-elementor'); ?><a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank"><?php echo __('here', 'premium-addons-for-elementor'); ?></a><?php echo __(' to get your key.', 'premium-addons-for-elementor'); ?>
87
  </p>
88
  </tr>
89
  <tr>
83
  <table class="pa-maps-table">
84
  <tr>
85
  <p class="pa-maps-api-notice">
86
+ <?php echo esc_html( Helper_Functions::get_prefix() ) . __(' Maps Element requires Google API key to be entered below. If you don’t have one, click ', 'premium-addons-for-elementor'); ?><a href="https://premiumaddons.com/docs/getting-your-api-key-for-google-reviews/" target="_blank"><?php echo __('here', 'premium-addons-for-elementor'); ?></a><?php echo __(' to get your key.', 'premium-addons-for-elementor'); ?>
87
  </p>
88
  </tr>
89
  <tr>
premium-addons-for-elementor.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
- Version: 3.5.1
7
  Author: Leap13
8
  Author URI: https://leap13.com/
9
  Text Domain: premium-addons-for-elementor
@@ -14,12 +14,12 @@ License: GNU General Public License v3.0
14
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
15
 
16
  // Define Constants
17
- define('PREMIUM_ADDONS_VERSION', '3.5.1');
18
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
19
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
20
  define('PREMIUM_ADDONS_FILE', __FILE__);
21
  define('PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
22
- define('PREMIUM_ADDONS_STABLE_VERSION', '3.5.0');
23
 
24
  if( ! class_exists('Premium_Addons_Elementor') ) {
25
 
3
  Plugin Name: Premium Addons for Elementor
4
  Description: Premium Addons Plugin Includes 22+ premium widgets for Elementor Page Builder.
5
  Plugin URI: https://premiumaddons.com
6
+ Version: 3.5.2
7
  Author: Leap13
8
  Author URI: https://leap13.com/
9
  Text Domain: premium-addons-for-elementor
14
  if ( ! defined('ABSPATH') ) exit; // No access of directly access
15
 
16
  // Define Constants
17
+ define('PREMIUM_ADDONS_VERSION', '3.5.2');
18
  define('PREMIUM_ADDONS_URL', plugins_url('/', __FILE__));
19
  define('PREMIUM_ADDONS_PATH', plugin_dir_path(__FILE__));
20
  define('PREMIUM_ADDONS_FILE', __FILE__);
21
  define('PREMIUM_ADDONS_BASENAME', plugin_basename( PREMIUM_ADDONS_FILE ) );
22
+ define('PREMIUM_ADDONS_STABLE_VERSION', '3.5.1');
23
 
24
  if( ! class_exists('Premium_Addons_Elementor') ) {
25
 
readme.txt CHANGED
@@ -5,7 +5,7 @@ Donate link: http://premiumaddons.com
5
  Requires at least: 4.5
6
  Tested up to: 5.2.2
7
  Requires PHP: 5.4
8
- Stable tag: 3.5.1
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -141,6 +141,11 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
141
 
142
  == Changelog ==
143
 
 
 
 
 
 
144
  = 3.5.1 =
145
 
146
  - Tweak: CSS/JS files structure enhanced for better performance.
5
  Requires at least: 4.5
6
  Tested up to: 5.2.2
7
  Requires PHP: 5.4
8
+ Stable tag: 3.5.2
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
141
 
142
  == Changelog ==
143
 
144
+ = 3.5.2 =
145
+
146
+ - Tweak: Added `Normal/Hover` opacity option for Image Scroll widget.
147
+ - Fixed: `Undefined variable: video_params` error in Video Box widget.
148
+
149
  = 3.5.1 =
150
 
151
  - Tweak: CSS/JS files structure enhanced for better performance.
widgets/premium-blog.php CHANGED
@@ -168,6 +168,7 @@ class Premium_Blog extends Widget_Base {
168
  '25%' => __('4 Columns', 'premium-addons-for-elementor'),
169
  ],
170
  'default' => '33.33%',
 
171
  'condition' => [
172
  'premium_blog_grid' => 'yes',
173
  ],
168
  '25%' => __('4 Columns', 'premium-addons-for-elementor'),
169
  ],
170
  'default' => '33.33%',
171
+ 'render_type' => 'template',
172
  'condition' => [
173
  'premium_blog_grid' => 'yes',
174
  ],
widgets/premium-carousel.php CHANGED
@@ -406,7 +406,23 @@ class Premium_Carousel extends Widget_Base {
406
  );
407
 
408
  $this->end_controls_section();
409
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
410
  $this->start_controls_section('premium_carousel_navigation_arrows',
411
  [
412
  'label' => __( 'Navigation Arrows', 'premium-addons-for-elementor' ),
406
  );
407
 
408
  $this->end_controls_section();
409
+
410
+ $this->start_controls_section('docs',
411
+ [
412
+ 'label' => __('Helpful Documentations', 'premium-addons-pro'),
413
+ ]
414
+ );
415
+
416
+ $this->add_control('doc_1',
417
+ [
418
+ 'type' => Controls_Manager::RAW_HTML,
419
+ 'raw' => sprintf( __( '%1$s Issue: I can see the first slide only » %2$s', 'premium-addons-for-elementor' ), '<a href="https://premiumaddons.com/docs/i-can-see-the-first-slide-only-in-carousel-widget/?utm_source=pa-dashboard&utm_medium=pa-editor&utm_campaign=pa-plugin" target="_blank" rel="noopener">', '</a>' ),
420
+ 'content_classes' => 'editor-pa-doc',
421
+ ]
422
+ );
423
+
424
+ $this->end_controls_section();
425
+
426
  $this->start_controls_section('premium_carousel_navigation_arrows',
427
  [
428
  'label' => __( 'Navigation Arrows', 'premium-addons-for-elementor' ),
widgets/premium-grid.php CHANGED
@@ -629,6 +629,22 @@ class Premium_Grid extends Widget_Base {
629
 
630
  $this->end_controls_section();
631
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
632
  $this->start_controls_section('premium_gallery_general_style',
633
  [
634
  'label' => __('General','premium-addons-for-elementor'),
@@ -1547,7 +1563,7 @@ class Premium_Grid extends Widget_Base {
1547
  if ( ! empty( $settings['premium_gallery_active_cat'] ) ) {
1548
  $active_category_index = 'yes' === $settings['premium_gallery_first_cat_switcher'] ? $settings['premium_gallery_active_cat'] - 1 : $settings['premium_gallery_active_cat'];
1549
  } else {
1550
- $active_category_index = 0;
1551
  }
1552
 
1553
  $is_all_active = ( 0 > $active_category_index ) ? "active" : "";
629
 
630
  $this->end_controls_section();
631
 
632
+ $this->start_controls_section('docs',
633
+ [
634
+ 'label' => __('Helpful Documentations', 'premium-addons-pro'),
635
+ ]
636
+ );
637
+
638
+ $this->add_control('doc_1',
639
+ [
640
+ 'type' => Controls_Manager::RAW_HTML,
641
+ 'raw' => sprintf( __( '%1$s Getting Started » %2$s', 'premium-addons-for-elementor' ), '<a href="https://premiumaddons.com/docs/grid-widget-tutorial/?utm_source=pa-dashboard&utm_medium=pa-editor&utm_campaign=pa-plugin" target="_blank" rel="noopener">', '</a>' ),
642
+ 'content_classes' => 'editor-pa-doc',
643
+ ]
644
+ );
645
+
646
+ $this->end_controls_section();
647
+
648
  $this->start_controls_section('premium_gallery_general_style',
649
  [
650
  'label' => __('General','premium-addons-for-elementor'),
1563
  if ( ! empty( $settings['premium_gallery_active_cat'] ) ) {
1564
  $active_category_index = 'yes' === $settings['premium_gallery_first_cat_switcher'] ? $settings['premium_gallery_active_cat'] - 1 : $settings['premium_gallery_active_cat'];
1565
  } else {
1566
+ $active_category_index = -1;
1567
  }
1568
 
1569
  $is_all_active = ( 0 > $active_category_index ) ? "active" : "";
widgets/premium-image-scroll.php CHANGED
@@ -307,6 +307,23 @@ class Premium_Image_Scroll extends Widget_Base {
307
  'label' => __('Normal', 'premium-addons-for-elementor'),
308
  ]
309
  );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
310
 
311
  $this->add_group_control(
312
  Group_Control_Css_Filter::get_type(),
@@ -324,6 +341,23 @@ class Premium_Image_Scroll extends Widget_Base {
324
  ]
325
  );
326
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  $this->add_group_control(
328
  Group_Control_Css_Filter::get_type(),
329
  [
307
  'label' => __('Normal', 'premium-addons-for-elementor'),
308
  ]
309
  );
310
+
311
+ $this->add_control('opacity',
312
+ [
313
+ 'label' => __( 'Opacity', 'premium-addons-for-elementor' ),
314
+ 'type' => Controls_Manager::SLIDER,
315
+ 'range' => [
316
+ 'px' => [
317
+ 'max' => 1,
318
+ 'min' => 0.10,
319
+ 'step' => 0.01,
320
+ ],
321
+ ],
322
+ 'selectors' => [
323
+ '{{WRAPPER}} .premium-image-scroll-image' => 'opacity: {{SIZE}};',
324
+ ],
325
+ ]
326
+ );
327
 
328
  $this->add_group_control(
329
  Group_Control_Css_Filter::get_type(),
341
  ]
342
  );
343
 
344
+ $this->add_control('hover_opacity',
345
+ [
346
+ 'label' => __( 'Opacity', 'premium-addons-for-elementor' ),
347
+ 'type' => Controls_Manager::SLIDER,
348
+ 'range' => [
349
+ 'px' => [
350
+ 'max' => 1,
351
+ 'min' => 0.10,
352
+ 'step' => 0.01,
353
+ ],
354
+ ],
355
+ 'selectors' => [
356
+ '{{WRAPPER}} .premium-image-scroll-section:hover .premium-image-scroll-image' => 'opacity: {{SIZE}};',
357
+ ],
358
+ ]
359
+ );
360
+
361
  $this->add_group_control(
362
  Group_Control_Css_Filter::get_type(),
363
  [
widgets/premium-videobox.php CHANGED
@@ -688,7 +688,7 @@ class Premium_Videobox extends Widget_Base {
688
  }
689
 
690
  if( 'self' === $video_type ) {
691
-
692
  if( $controls ) {
693
  $video_params .= 'controls ';
694
  }
688
  }
689
 
690
  if( 'self' === $video_type ) {
691
+ $video_params = '';
692
  if( $controls ) {
693
  $video_params .= 'controls ';
694
  }