Premium Addons for Elementor - Version 3.2.2

Version Description

  • Tweak: Load Google maps API Key only when needed.
  • Tweak: Added Text Shadow option for fancy strings in Fancy Text widget.
  • Tweak: Added Text Align option for slide-up fancy strings in Fancy Text widget.
Download this release

Release Info

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

Code changes from version 3.2.1 to 3.2.2

admin/settings/version-control.php CHANGED
@@ -79,7 +79,7 @@ class PA_Version_Control {
79
  <tr class="pa-roll-row">
80
  <th>Rollback Version</th>
81
  <td>
82
- <div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 3.2.0</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
83
  <p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
84
  </td>
85
  </tr>
79
  <tr class="pa-roll-row">
80
  <th>Rollback Version</th>
81
  <td>
82
+ <div><?php echo sprintf( '<a target="_blank" href="%s" class="button pa-btn pa-rollback-button elementor-button-spinner">Reinstall Version 3.2.1</a>', wp_nonce_url( admin_url( 'admin-post.php?action=premium_addons_rollback' ), 'premium_addons_rollback' ) ); ?> </div>
83
  <p class="pa-roll-desc"><span>Warning: Please backup your database before making the rollback.</span></p>
84
  </td>
85
  </tr>
assets/js/premium-addons.js CHANGED
@@ -91,7 +91,7 @@
91
  if ( '' == vCells || undefined == vCells ) {
92
  var vCells = $(item).data("metro")[ "vcells" ];
93
  }
94
- $(item).css({
95
  "width": Math.ceil( cells * cellSize ),
96
  "height": Math.ceil( vCells * cellSize )
97
  } );
@@ -101,7 +101,7 @@
101
  columnWidth = cellSize;
102
  }
103
 
104
- galleryElement.imagesLoaded(function() {}).done(function() {
105
  galleryElement.isotope({
106
  itemSelector: ".premium-gallery-item",
107
  percentPosition: true,
91
  if ( '' == vCells || undefined == vCells ) {
92
  var vCells = $(item).data("metro")[ "vcells" ];
93
  }
94
+ $( item ).css({
95
  "width": Math.ceil( cells * cellSize ),
96
  "height": Math.ceil( vCells * cellSize )
97
  } );
101
  columnWidth = cellSize;
102
  }
103
 
104
+ galleryElement.imagesLoaded( function() {} ).done( function() {
105
  galleryElement.isotope({
106
  itemSelector: ".premium-gallery-item",
107
  percentPosition: true,
includes/class-addons-integration.php CHANGED
@@ -17,19 +17,19 @@ class Premium_Addons_Integration {
17
 
18
  add_action( 'elementor/editor/before_enqueue_styles', array( $this, 'premium_font_setup' ) );
19
 
20
- add_action( 'elementor/widgets/widgets_registered', array( $this, 'premium_widgets_area' ) );
21
 
22
  add_action( 'elementor/editor/before_enqueue_scripts', array( $this,'enqueue_editor_scripts') );
23
 
24
- add_action( 'elementor/preview/enqueue_styles', array( $this, 'premium_enqueue_preview_styles' ) );
25
 
26
- add_action( 'elementor/frontend/after_register_styles', array( $this, 'premium_register_frontend_styles' ) );
27
 
28
- add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'premium_enqueue_frontend_styles' ) );
29
 
30
- add_action( 'elementor/frontend/after_register_scripts', array( $this, 'premium_register_frontend_scripts' ) );
31
 
32
- add_action( 'wp_enqueue_scripts', array($this, 'premium_maps_required_script'));
33
  }
34
 
35
  /**
@@ -57,7 +57,7 @@ class Premium_Addons_Integration {
57
  * @since 2.9.0
58
  * @access public
59
  */
60
- public function premium_register_frontend_styles() {
61
 
62
  wp_register_style(
63
  'pa-prettyphoto',
@@ -74,7 +74,7 @@ class Premium_Addons_Integration {
74
  * @since 2.9.0
75
  * @access public
76
  */
77
- public function premium_enqueue_preview_styles() {
78
 
79
  wp_enqueue_style('pa-prettyphoto');
80
 
@@ -85,7 +85,7 @@ class Premium_Addons_Integration {
85
  * @since 2.9.0
86
  * @access public
87
  */
88
- public function premium_enqueue_frontend_styles() {
89
 
90
  wp_enqueue_style(
91
  'premium-addons',
@@ -101,15 +101,15 @@ class Premium_Addons_Integration {
101
  * @since 1.0.0
102
  * @access public
103
  */
104
- public function premium_widgets_area() {
105
- $this->premium_widget_register();
106
  }
107
 
108
  /** Requires widgets files
109
  * @since 1.0.0
110
  * @access private
111
  */
112
- private function premium_widget_register() {
113
 
114
  $check_component_active = PA_admin_settings::get_enabled_keys();
115
 
@@ -130,7 +130,9 @@ class Premium_Addons_Integration {
130
  * @since 1.0.0
131
  * @access public
132
  */
133
- public function premium_register_frontend_scripts() {
 
 
134
 
135
  wp_register_script(
136
  'premium-addons-js',
@@ -186,11 +188,19 @@ class Premium_Addons_Integration {
186
  PREMIUM_ADDONS_VERSION,
187
  true
188
  );
 
 
 
 
 
 
 
 
189
 
190
  wp_register_script(
191
  'premium-maps-js',
192
  PREMIUM_ADDONS_URL . 'assets/js/premium-maps.js',
193
- array('jquery'),
194
  PREMIUM_ADDONS_VERSION,
195
  true
196
  );
@@ -218,7 +228,7 @@ class Premium_Addons_Integration {
218
 
219
  if( $premium_maps_disable_api ) {
220
 
221
- wp_enqueue_script('premium-maps-api-js', 'https://maps.googleapis.com/maps/api/js?key=' . $premium_maps_api, array(), PREMIUM_ADDONS_VERSION, false);
222
 
223
  }
224
 
@@ -248,7 +258,13 @@ class Premium_Addons_Integration {
248
 
249
  if( $premium_maps_enabled ) {
250
 
251
- wp_enqueue_script('premium-maps-address', PREMIUM_ADDONS_URL . 'assets/js/premium-maps-address.js', array('jquery'), PREMIUM_ADDONS_VERSION, true);
 
 
 
 
 
 
252
 
253
  }
254
 
17
 
18
  add_action( 'elementor/editor/before_enqueue_styles', array( $this, 'premium_font_setup' ) );
19
 
20
+ add_action( 'elementor/widgets/widgets_registered', array( $this, 'widgets_area' ) );
21
 
22
  add_action( 'elementor/editor/before_enqueue_scripts', array( $this,'enqueue_editor_scripts') );
23
 
24
+ add_action( 'elementor/preview/enqueue_styles', array( $this, 'enqueue_preview_styles' ) );
25
 
26
+ add_action( 'elementor/frontend/after_register_styles', array( $this, 'register_frontend_styles' ) );
27
 
28
+ add_action( 'elementor/frontend/after_enqueue_styles', array( $this, 'enqueue_frontend_styles' ) );
29
 
30
+ add_action( 'elementor/frontend/after_register_scripts', array( $this, 'register_frontend_scripts' ) );
31
 
32
+ add_action( 'wp_enqueue_scripts', array( $this, 'premium_maps_required_script' ) );
33
  }
34
 
35
  /**
57
  * @since 2.9.0
58
  * @access public
59
  */
60
+ public function register_frontend_styles() {
61
 
62
  wp_register_style(
63
  'pa-prettyphoto',
74
  * @since 2.9.0
75
  * @access public
76
  */
77
+ public function enqueue_preview_styles() {
78
 
79
  wp_enqueue_style('pa-prettyphoto');
80
 
85
  * @since 2.9.0
86
  * @access public
87
  */
88
+ public function enqueue_frontend_styles() {
89
 
90
  wp_enqueue_style(
91
  'premium-addons',
101
  * @since 1.0.0
102
  * @access public
103
  */
104
+ public function widgets_area() {
105
+ $this->widgets_register();
106
  }
107
 
108
  /** Requires widgets files
109
  * @since 1.0.0
110
  * @access private
111
  */
112
+ private function widgets_register() {
113
 
114
  $check_component_active = PA_admin_settings::get_enabled_keys();
115
 
130
  * @since 1.0.0
131
  * @access public
132
  */
133
+ public function register_frontend_scripts() {
134
+
135
+ $premium_maps_api = PA_Gomaps::get_enabled_keys()['premium-map-api'];
136
 
137
  wp_register_script(
138
  'premium-addons-js',
188
  PREMIUM_ADDONS_VERSION,
189
  true
190
  );
191
+
192
+ wp_register_script(
193
+ 'premium-maps-api-js',
194
+ 'https://maps.googleapis.com/maps/api/js?key=' . $premium_maps_api,
195
+ array(),
196
+ PREMIUM_ADDONS_VERSION,
197
+ false
198
+ );
199
 
200
  wp_register_script(
201
  'premium-maps-js',
202
  PREMIUM_ADDONS_URL . 'assets/js/premium-maps.js',
203
+ array( 'jquery', 'premium-maps-api-js' ),
204
  PREMIUM_ADDONS_VERSION,
205
  true
206
  );
228
 
229
  if( $premium_maps_disable_api ) {
230
 
231
+ // wp_enqueue_script('premium-maps-api-js', 'https://maps.googleapis.com/maps/api/js?key=' . $premium_maps_api, array(), PREMIUM_ADDONS_VERSION, false);
232
 
233
  }
234
 
258
 
259
  if( $premium_maps_enabled ) {
260
 
261
+ wp_enqueue_script(
262
+ 'premium-maps-address',
263
+ PREMIUM_ADDONS_URL . 'assets/js/premium-maps-address.js',
264
+ array( 'jquery' ),
265
+ PREMIUM_ADDONS_VERSION,
266
+ true
267
+ );
268
 
269
  }
270
 
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.2.1
7
  Author: Leap13
8
  Author URI: http://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.2.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.2.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.2.2
7
  Author: Leap13
8
  Author URI: http://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.2.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.2.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.1.1
7
  Requires PHP: 5.4
8
- Stable tag: 3.2.1
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -139,6 +139,12 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
139
 
140
  == Changelog ==
141
 
 
 
 
 
 
 
142
  = 3.2.1 =
143
 
144
  - Tweak: Added `Minimum Number of Images` option for load more button in Grid widget.
5
  Requires at least: 4.5
6
  Tested up to: 5.1.1
7
  Requires PHP: 5.4
8
+ Stable tag: 3.2.2
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
139
 
140
  == Changelog ==
141
 
142
+ = 3.2.2 =
143
+
144
+ - Tweak: Load Google maps API Key only when needed.
145
+ - Tweak: Added `Text Shadow` option for fancy strings in Fancy Text widget.
146
+ - Tweak: Added `Text Align` option for slide-up fancy strings in Fancy Text widget.
147
+
148
  = 3.2.1 =
149
 
150
  - Tweak: Added `Minimum Number of Images` option for load more button in Grid widget.
widgets/premium-fancytext.php CHANGED
@@ -271,16 +271,44 @@ class Premium_Fancytext extends Widget_Base {
271
 
272
  /*Pause on Hover*/
273
  $this->add_control('premium_slide_up_hover_pause',
274
- [
275
- 'label' => __('Pause on Hover','premium-addons-for-elementor'),
276
- 'type' => Controls_Manager::SWITCHER,
277
- 'description' => __( 'If you enabled this option, the slide will be paused when mouseover.', 'premium-addons-for-elementor' ),
278
- 'default' => 'no',
279
- 'condition' => [
280
- 'premium_fancy_text_effect' => 'slide',
 
 
 
 
 
 
 
 
 
 
 
 
281
  ],
282
- ]
283
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
284
 
285
  $this->end_controls_section();
286
 
@@ -327,6 +355,14 @@ class Premium_Fancytext extends Widget_Base {
327
  ]
328
  ]
329
  );
 
 
 
 
 
 
 
 
330
 
331
  /*End Fancy Text Settings Tab*/
332
  $this->end_controls_section();
271
 
272
  /*Pause on Hover*/
273
  $this->add_control('premium_slide_up_hover_pause',
274
+ [
275
+ 'label' => __('Pause on Hover','premium-addons-for-elementor'),
276
+ 'type' => Controls_Manager::SWITCHER,
277
+ 'description' => __( 'If you enabled this option, the slide will be paused when mouseover.', 'premium-addons-for-elementor' ),
278
+ 'default' => 'no',
279
+ 'condition' => [
280
+ 'premium_fancy_text_effect' => 'slide',
281
+ ],
282
+ ]
283
+ );
284
+
285
+ $this->add_responsive_control('premium_fancy_slide_align',
286
+ [
287
+ 'label' => __( 'Fancy Text Alignment', 'premium-addons-for-elementor' ),
288
+ 'type' => Controls_Manager::CHOOSE,
289
+ 'options' => [
290
+ 'left' => [
291
+ 'title'=> __( 'Left', 'premium-addons-for-elementor' ),
292
+ 'icon' => 'fa fa-align-left',
293
  ],
294
+ 'center' => [
295
+ 'title'=> __( 'Center', 'premium-addons-for-elementor' ),
296
+ 'icon' => 'fa fa-align-center',
297
+ ],
298
+ 'right' => [
299
+ 'title'=> __( 'Right', 'premium-addons-for-elementor' ),
300
+ 'icon' => 'fa fa-align-right',
301
+ ],
302
+ ],
303
+ 'default' => 'center',
304
+ 'selectors' => [
305
+ '{{WRAPPER}} .premium-fancy-list-items' => 'text-align: {{VALUE}};',
306
+ ],
307
+ 'condition' => [
308
+ 'premium_fancy_text_effect' => 'slide',
309
+ ],
310
+ ]
311
+ );
312
 
313
  $this->end_controls_section();
314
 
355
  ]
356
  ]
357
  );
358
+
359
+ $this->add_group_control(
360
+ Group_Control_Text_Shadow::get_type(),
361
+ [
362
+ 'name' => 'text_shadow',
363
+ 'selector' => '{{WRAPPER}} .premium-fancy-text',
364
+ ]
365
+ );
366
 
367
  /*End Fancy Text Settings Tab*/
368
  $this->end_controls_section();
widgets/premium-grid.php CHANGED
@@ -338,6 +338,7 @@ class Premium_Grid extends Widget_Base {
338
  [
339
  'label' => __( 'Category', 'premium-addons-for-elementor' ),
340
  'type' => Controls_Manager::TEXT,
 
341
  'dynamic' => [ 'active' => true ],
342
  ]);
343
 
338
  [
339
  'label' => __( 'Category', 'premium-addons-for-elementor' ),
340
  'type' => Controls_Manager::TEXT,
341
+ 'description'=> __('To assign for multiple categories, separate by a comma \',\'','premium-addons-for-elementor'),
342
  'dynamic' => [ 'active' => true ],
343
  ]);
344