Premium Addons for Elementor - Version 3.3.2

Version Description

  • Tweak: Added _content_template() method for Counter widget to enhance rendering speed.
Download this release

Release Info

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

Code changes from version 3.3.1 to 3.3.2

admin/includes/notices.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  namespace PremiumAddons;
4
 
5
- if( !defined( 'ABSPATH') ) exit();
6
 
7
  class Premium_Admin_Notices {
8
 
@@ -55,10 +55,13 @@ class Premium_Admin_Notices {
55
  }
56
 
57
  /**
58
- * Checks if review message is dismissed.
59
- * @access public
60
- * @return void
61
- */
 
 
 
62
  public function handle_review_notice() {
63
 
64
  if ( ! isset( $_GET['pa_review'] ) ) {
@@ -77,9 +80,12 @@ class Premium_Admin_Notices {
77
  }
78
 
79
  /**
80
- * Checks if Premium Gutenberg message is dismissed.
81
- * @access public
82
- * @return void
 
 
 
83
  */
84
  public function handle_pbg_notice() {
85
  if ( ! isset( $_GET['pbg'] ) ) {
@@ -159,10 +165,12 @@ class Premium_Admin_Notices {
159
  }
160
 
161
  /**
162
- * Checks if review admin notice is dismissed
163
- * @since 2.6.8
164
- * @return void
165
- */
 
 
166
  public function get_review_notice() {
167
 
168
  $review = get_option( 'pa_review_notice' );
@@ -192,10 +200,13 @@ class Premium_Admin_Notices {
192
  }
193
 
194
  /**
195
- * Shows an admin notice for Premium Gutenberg.
196
- * @since 2.7.6
197
- * @return void
198
- */
 
 
 
199
  public function get_pbg_notice() {
200
 
201
  $pbg_path = sprintf( '%1$s/%1$s.php', self::$pbg);
@@ -219,7 +230,7 @@ class Premium_Admin_Notices {
219
  <div class="error">
220
  <p style="display: flex; align-items: center; padding:10px 10px 10px 0;">
221
  <img src="<?php echo PREMIUM_ADDONS_URL .'admin/images/premium-blocks-logo.png'; ?>" style="margin-right: 0.8em; width: 40px;">
222
- <span><strong><?php echo __('Premium Block for Gutenberg', 'premium-addons-for-elementor'); ?>&nbsp;</strong><?php echo __('is Now Available.','premium-addons-for-elementor'); ?>&nbsp;</span>
223
  <a href="<?php echo $install_url; ?>" style="flex-grow: 2;"><span class="button-primary" style="margin-left:5px;"><?php echo __('Install it Now.','premium-addons-for-elementor'); ?></span></a>
224
  <a href="<?php echo $optout_url; ?>" style="text-decoration: none; margin-left: 1em; float:right; "><span class="dashicons dashicons-dismiss"></span></a>
225
  </p>
2
 
3
  namespace PremiumAddons;
4
 
5
+ if( ! defined( 'ABSPATH') ) exit();
6
 
7
  class Premium_Admin_Notices {
8
 
55
  }
56
 
57
  /**
58
+ *
59
+ * Checks if review message is dismissed.
60
+ *
61
+ * @access public
62
+ * @return void
63
+ *
64
+ */
65
  public function handle_review_notice() {
66
 
67
  if ( ! isset( $_GET['pa_review'] ) ) {
80
  }
81
 
82
  /**
83
+ *
84
+ * Checks if Premium Gutenberg message is dismissed.
85
+ *
86
+ * @access public
87
+ * @return void
88
+ *
89
  */
90
  public function handle_pbg_notice() {
91
  if ( ! isset( $_GET['pbg'] ) ) {
165
  }
166
 
167
  /**
168
+ * Checks if review admin notice is dismissed
169
+ *
170
+ * @since 2.6.8
171
+ * @return void
172
+ *
173
+ */
174
  public function get_review_notice() {
175
 
176
  $review = get_option( 'pa_review_notice' );
200
  }
201
 
202
  /**
203
+ *
204
+ * Shows an admin notice for Premium Gutenberg.
205
+ *
206
+ * @since 2.7.6
207
+ * @return void
208
+ *
209
+ */
210
  public function get_pbg_notice() {
211
 
212
  $pbg_path = sprintf( '%1$s/%1$s.php', self::$pbg);
230
  <div class="error">
231
  <p style="display: flex; align-items: center; padding:10px 10px 10px 0;">
232
  <img src="<?php echo PREMIUM_ADDONS_URL .'admin/images/premium-blocks-logo.png'; ?>" style="margin-right: 0.8em; width: 40px;">
233
+ <span><strong><?php echo __('Premium Blocks for Gutenberg', 'premium-addons-for-elementor'); ?>&nbsp;</strong><?php echo __('is Now Available.','premium-addons-for-elementor'); ?>&nbsp;</span>
234
  <a href="<?php echo $install_url; ?>" style="flex-grow: 2;"><span class="button-primary" style="margin-left:5px;"><?php echo __('Install it Now.','premium-addons-for-elementor'); ?></span></a>
235
  <a href="<?php echo $optout_url; ?>" style="text-decoration: none; margin-left: 1em; float:right; "><span class="dashicons dashicons-dismiss"></span></a>
236
  </p>
admin/settings/about.php CHANGED
@@ -5,7 +5,8 @@ if ( ! defined( 'ABSPATH' ) ) exit;
5
 
6
  class PA_About {
7
 
8
- public function create_about_menu(){
 
9
  if ( ! Helper_Functions::is_show_about() ) {
10
  add_submenu_page(
11
  'premium-addons',
@@ -16,9 +17,10 @@ class PA_About {
16
  [ $this, 'pa_about_page' ]
17
  );
18
  }
 
19
  }
20
 
21
- public function pa_about_page(){
22
 
23
  $theme_name = Premium_Admin_Notices::get_installed_theme();
24
 
@@ -27,56 +29,56 @@ class PA_About {
27
  $support_url = sprintf('https://premiumaddons.com/support/?utm_source=about-page&utm_medium=wp-dash&utm_campaign=get-support&utm_term=%s', $theme_name );
28
 
29
  ?>
30
- <div class="wrap">
31
- <div class="response-wrap"></div>
32
- <div class="pa-header-wrapper">
33
- <div class="pa-title-left">
34
- <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
35
- <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
36
- </div>
37
- <?php if( ! Helper_Functions::is_show_logo() ) : ?>
38
- <div class="pa-title-right">
39
- <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40
  </div>
41
- <?php endif; ?>
42
- </div>
43
- <div class="pa-settings-tabs">
44
- <div id="pa-about" class="pa-settings-tab">
45
- <div class="pa-row">
46
- <div class="pa-col-half">
47
- <div class="pa-about-panel">
48
- <div class="pa-icon-container">
49
- <i class="dashicons dashicons-info abt-icon-style"></i>
50
- </div>
51
- <div class="pa-text-container">
52
- <h4>What is Premium Addons?</h4>
53
- <p>Premium Addons for Elementor extends Elementor Page Builder capabilities with many fully customizable widgets and addons that help you to build impressive websites with no coding required.</p>
54
- <?php if( !defined('PREMIUM_PRO_ADDONS_VERSION') ) : ?>
55
- <p>Get more widgets and addons with <strong>Premium Addons Pro</strong> <a href="<?php echo esc_url( $url ); ?>" target="_blank" >Click Here</a> to know more.</p>
56
- <?php endif; ?>
57
- </div>
58
- </div>
59
- </div>
60
- <div class="pa-col-half">
61
- <div class="pa-about-panel">
62
- <div class="pa-icon-container">
63
- <i class="dashicons dashicons-universal-access-alt abt-icon-style"></i>
64
- </div>
65
- <div class="pa-text-container">
66
- <h4>Docs and Support</h4>
67
- <p>It’s highly recommended to check out documentation and FAQ before using this plugin. <a target="_blank" href="<?php echo esc_url( $support_url ); ?>">Click Here </a> for more details. You can also join our <a href="https://www.facebook.com/groups/PremiumAddons" target="_blank">Facebook Group</a> and Our <a href="https://my.leap13.com/forums/" target="_blank">Community Forums</a></p>
68
- </div>
69
- </div>
70
- </div>
71
- </div>
72
- <?php if( ! Helper_Functions::is_show_rate()) : ?>
73
- <div>
74
- <p>Did you like Premium Addons for Elementor Plugin? Please <a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank">Click Here to Rate it ★★★★★</a></p>
75
- </div>
76
- <?php endif; ?>
77
- </div>
78
- </div>
79
- </div>
80
  <?php }
81
 
82
  public function __construct() {
5
 
6
  class PA_About {
7
 
8
+ public function create_about_menu() {
9
+
10
  if ( ! Helper_Functions::is_show_about() ) {
11
  add_submenu_page(
12
  'premium-addons',
17
  [ $this, 'pa_about_page' ]
18
  );
19
  }
20
+
21
  }
22
 
23
+ public function pa_about_page() {
24
 
25
  $theme_name = Premium_Admin_Notices::get_installed_theme();
26
 
29
  $support_url = sprintf('https://premiumaddons.com/support/?utm_source=about-page&utm_medium=wp-dash&utm_campaign=get-support&utm_term=%s', $theme_name );
30
 
31
  ?>
32
+ <div class="wrap">
33
+ <div class="response-wrap"></div>
34
+ <div class="pa-header-wrapper">
35
+ <div class="pa-title-left">
36
+ <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
37
+ <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
38
+ </div>
39
+ <?php if( ! Helper_Functions::is_show_logo() ) : ?>
40
+ <div class="pa-title-right">
41
+ <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
42
+ </div>
43
+ <?php endif; ?>
44
+ </div>
45
+ <div class="pa-settings-tabs">
46
+ <div id="pa-about" class="pa-settings-tab">
47
+ <div class="pa-row">
48
+ <div class="pa-col-half">
49
+ <div class="pa-about-panel">
50
+ <div class="pa-icon-container">
51
+ <i class="dashicons dashicons-info abt-icon-style"></i>
52
+ </div>
53
+ <div class="pa-text-container">
54
+ <h4><?php echo __('What is Premium Addons?', 'premium-addons-for-elementor'); ?></h4>
55
+ <p><?php echo __('Premium Addons for Elementor extends Elementor Page Builder capabilities with many fully customizable widgets and addons that help you to build impressive websites with no coding required.', 'premium-addons-for-elementor'); ?></p>
56
+ <?php if( ! defined('PREMIUM_PRO_ADDONS_VERSION') ) : ?>
57
+ <p><?php echo __('Get more widgets and addons with ', 'premium-addons-for-elementor'); ?><strong><?php echo __('Premium Addons Pro', 'premium-addons-for-elementor'); ?></strong> <a href="<?php echo esc_url( $url ); ?>" target="_blank" ><?php echo __('Click Here', 'premium-addons-for-elementor'); ?></a><?php echo __(' to know more.', 'premium-addons-for-elementor'); ?></p>
58
+ <?php endif; ?>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <div class="pa-col-half">
63
+ <div class="pa-about-panel">
64
+ <div class="pa-icon-container">
65
+ <i class="dashicons dashicons-universal-access-alt abt-icon-style"></i>
66
+ </div>
67
+ <div class="pa-text-container">
68
+ <h4><?php echo __('Docs and Support', 'premium-addons-for-elementor'); ?></h4>
69
+ <p><?php echo __('It’s highly recommended to check out documentation and FAQ before using this plugin. ', 'premium-addons-for-elementor'); ?><a target="_blank" href="<?php echo esc_url( $support_url ); ?>"><?php echo __('Click Here', 'premium-addons-for-elementor'); ?></a><?php echo __(' for more details. You can also join our ', 'premium-addons-for-elementor'); ?><a href="https://www.facebook.com/groups/PremiumAddons" target="_blank"><?php echo __('Facebook Group', 'premium-addons-for-elementor'); ?></a><?php echo __(' and Our ', 'premium-addons-for-elementor'); ?><a href="https://my.leap13.com/forums/" target="_blank"><?php echo __('Community Forums', 'premium-addons-for-elementor'); ?></a></p>
70
+ </div>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ <?php if( ! Helper_Functions::is_show_rate() ) : ?>
75
+ <div>
76
+ <p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
77
+ </div>
78
+ <?php endif; ?>
79
+ </div>
80
+ </div>
81
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
82
  <?php }
83
 
84
  public function __construct() {
admin/settings/elements.php CHANGED
@@ -22,7 +22,7 @@ class PA_admin_settings {
22
 
23
  add_action( 'admin_enqueue_scripts', array( $this, 'pa_admin_page_scripts' ) );
24
 
25
- add_action( 'wp_ajax_pa_save_admin_addons_settings', array( $this, 'pa_save_settings_with_ajax' ) );
26
 
27
  add_action('admin_enqueue_scripts',array( $this, 'localize_js_script' ) );
28
 
@@ -61,21 +61,56 @@ class PA_admin_settings {
61
  }
62
 
63
  public function pa_admin_page_scripts () {
 
64
  wp_enqueue_style( 'pa_admin_icon', PREMIUM_ADDONS_URL .'admin/assets/pa-elements-font/css/pafont.css' );
 
65
  $current_screen = get_current_screen();
 
66
  wp_enqueue_style( 'pa-notice-css', PREMIUM_ADDONS_URL.'admin/assets/css/notice.css' );
67
- if( strpos($current_screen->id , $this->page_slug) !== false ){
68
- wp_enqueue_style( 'pa-admin-css', PREMIUM_ADDONS_URL.'admin/assets/css/admin.css' );
69
 
70
- wp_enqueue_style( 'premium-addons-sweetalert-style', PREMIUM_ADDONS_URL.'admin/assets/js/sweetalert2/sweetalert2.min.css' );
 
 
 
71
 
72
- wp_enqueue_script('pa-admin-js', PREMIUM_ADDONS_URL .'admin/assets/js/admin.js' , array('jquery'), PREMIUM_ADDONS_VERSION , true );
 
 
 
73
 
74
- wp_enqueue_script('pa-admin-dialog', PREMIUM_ADDONS_URL . 'admin/assets/js/dialog/dialog.js',array('jquery-ui-position'),PREMIUM_ADDONS_VERSION,true);
 
 
 
 
 
 
75
 
76
- wp_enqueue_script('pa-sweetalert-core', PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/core.js', array( 'jquery' ), PREMIUM_ADDONS_VERSION, true );
 
 
 
 
 
 
77
 
78
- wp_enqueue_script( 'pa-sweetalert', PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/sweetalert2.min.js', array( 'jquery', 'pa-sweetalert-core' ), PREMIUM_ADDONS_VERSION, true );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
79
 
80
  }
81
  }
@@ -130,7 +165,7 @@ class PA_admin_settings {
130
  <div class="pa-header-wrapper">
131
  <div class="pa-title-left">
132
  <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
133
- <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
134
  </div>
135
  <?php if( ! Helper_Functions::is_show_logo()) : ?>
136
  <div class="pa-title-right">
@@ -368,7 +403,6 @@ class PA_admin_settings {
368
 
369
  <tr>
370
 
371
-
372
  <th><?php echo __('Premium Twitter Feed', 'premium-addons-for-elementor'); ?></th>
373
  <td>
374
  <label class="switch">
@@ -602,13 +636,13 @@ class PA_admin_settings {
602
  <?php endif; ?>
603
  </tbody>
604
  </table>
605
- <input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
606
 
607
  </div>
608
  <?php if( ! Helper_Functions::is_show_rate()) : ?>
609
- <div>
610
- <p>Did you like Premium Addons for Elementor Plugin? Please <a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank">Click Here to Rate it ★★★★★</a></p>
611
- </div>
612
  <?php endif; ?>
613
  </div>
614
  </form>
@@ -630,7 +664,7 @@ class PA_admin_settings {
630
  return $enabled_keys;
631
  }
632
 
633
- public function pa_save_settings_with_ajax() {
634
 
635
  if( isset( $_POST['fields'] ) ) {
636
  parse_str( $_POST['fields'], $settings );
22
 
23
  add_action( 'admin_enqueue_scripts', array( $this, 'pa_admin_page_scripts' ) );
24
 
25
+ add_action( 'wp_ajax_pa_save_admin_addons_settings', array( $this, 'pa_save_settings' ) );
26
 
27
  add_action('admin_enqueue_scripts',array( $this, 'localize_js_script' ) );
28
 
61
  }
62
 
63
  public function pa_admin_page_scripts () {
64
+
65
  wp_enqueue_style( 'pa_admin_icon', PREMIUM_ADDONS_URL .'admin/assets/pa-elements-font/css/pafont.css' );
66
+
67
  $current_screen = get_current_screen();
68
+
69
  wp_enqueue_style( 'pa-notice-css', PREMIUM_ADDONS_URL.'admin/assets/css/notice.css' );
70
+
71
+ if( strpos($current_screen->id , $this->page_slug) !== false ) {
72
 
73
+ wp_enqueue_style(
74
+ 'pa-admin-css',
75
+ PREMIUM_ADDONS_URL.'admin/assets/css/admin.css'
76
+ );
77
 
78
+ wp_enqueue_style(
79
+ 'pa-sweetalert-style',
80
+ PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/sweetalert2.min.css'
81
+ );
82
 
83
+ wp_enqueue_script(
84
+ 'pa-admin-js',
85
+ PREMIUM_ADDONS_URL .'admin/assets/js/admin.js',
86
+ array('jquery'),
87
+ PREMIUM_ADDONS_VERSION,
88
+ true
89
+ );
90
 
91
+ wp_enqueue_script(
92
+ 'pa-admin-dialog',
93
+ PREMIUM_ADDONS_URL . 'admin/assets/js/dialog/dialog.js',
94
+ array('jquery-ui-position'),
95
+ PREMIUM_ADDONS_VERSION,
96
+ true
97
+ );
98
 
99
+ wp_enqueue_script(
100
+ 'pa-sweetalert-core',
101
+ PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/core.js',
102
+ array('jquery'),
103
+ PREMIUM_ADDONS_VERSION,
104
+ true
105
+ );
106
+
107
+ wp_enqueue_script(
108
+ 'pa-sweetalert',
109
+ PREMIUM_ADDONS_URL . 'admin/assets/js/sweetalert2/sweetalert2.min.js',
110
+ array( 'jquery', 'pa-sweetalert-core' ),
111
+ PREMIUM_ADDONS_VERSION,
112
+ true
113
+ );
114
 
115
  }
116
  }
165
  <div class="pa-header-wrapper">
166
  <div class="pa-title-left">
167
  <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
168
+ <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(), Helper_Functions::author() ); ?></h3>
169
  </div>
170
  <?php if( ! Helper_Functions::is_show_logo()) : ?>
171
  <div class="pa-title-right">
403
 
404
  <tr>
405
 
 
406
  <th><?php echo __('Premium Twitter Feed', 'premium-addons-for-elementor'); ?></th>
407
  <td>
408
  <label class="switch">
636
  <?php endif; ?>
637
  </tbody>
638
  </table>
639
+ <input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
640
 
641
  </div>
642
  <?php if( ! Helper_Functions::is_show_rate()) : ?>
643
+ <div>
644
+ <p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
645
+ </div>
646
  <?php endif; ?>
647
  </div>
648
  </form>
664
  return $enabled_keys;
665
  }
666
 
667
+ public function pa_save_settings() {
668
 
669
  if( isset( $_POST['fields'] ) ) {
670
  parse_str( $_POST['fields'], $settings );
admin/settings/gomaps.php CHANGED
@@ -14,13 +14,12 @@ class PA_Gomaps {
14
 
15
  private $pa_maps_get_settings;
16
 
17
- public function __construct()
18
- {
19
  add_action( 'admin_menu', array ($this,'create_gomaps_menu' ), 100 );
20
- add_action( 'wp_ajax_pa_maps_save_settings', array( $this, 'pa_save_maps_settings_with_ajax' ) );
21
  }
22
 
23
- public function create_gomaps_menu(){
24
  add_submenu_page(
25
  'premium-addons',
26
  '',
@@ -31,7 +30,8 @@ class PA_Gomaps {
31
  );
32
  }
33
 
34
- public function pa_maps_page(){
 
35
  $js_info = array(
36
  'ajaxurl' => admin_url( 'admin-ajax.php' )
37
  );
@@ -48,55 +48,55 @@ class PA_Gomaps {
48
  $pa_maps_updated_settings = array_merge( $this->pa_maps_get_settings, $pa_maps_new_settings );
49
  update_option( 'pa_maps_save_settings', $pa_maps_updated_settings );
50
  }
51
- $this->pa_maps_get_settings = get_option( 'pa_maps_save_settings', $this->pa_maps_default_settings );
52
 
 
53
 
54
  ?>
55
- <div class="wrap">
56
- <div class="response-wrap"></div>
57
- <form action="" method="POST" id="pa-maps" name="pa-maps">
58
- <div class="pa-header-wrapper">
59
- <div class="pa-title-left">
60
- <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
61
- <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
62
- </div>
63
- <?php if( ! Helper_Functions::is_show_logo()) : ?>
64
- <div class="pa-title-right">
65
- <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
66
- </div>
67
- <?php endif; ?>
68
- </div>
69
- <div class="pa-settings-tabs">
70
- <div id="pa-maps-api" class="pa-maps-tab">
71
- <div class="pa-row">
72
- <table class="pa-maps-table">
73
- <tr>
74
- <p class="pa-maps-api-notice">
75
- <?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 <a href="https://developers.google.com/maps/documentation/javascript/get-api-key" target="_blank"> Here</a> to get your key.
76
- </p>
77
- </tr>
78
- <tr>
79
- <th>
80
- <h4 class="pa-api-title"><label>Google Maps API Key:</label><input name="premium-map-api" id="premium-map-api" type="text" placeholder="API Key" value="<?php echo $this->pa_maps_get_settings['premium-map-api']; ?>"></h4>
81
- </th>
82
- </tr>
83
- <tr>
84
- <th>
85
- <h4 class="pa-api-disable-title"><label><?php echo __('Enable Maps API JS File:','premium-addons-for-elementor'); ?></label><input name="premium-map-disable-api" id="premium-map-disable-api" type="checkbox" <?php checked(1, $this->pa_maps_get_settings['premium-map-disable-api'], true) ?>><span>This will Enable the API JS file if it's not included by another theme or plugin</span></h4>
86
- </th>
87
- </tr>
88
- </table>
89
- <input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
90
- <?php if( ! Helper_Functions::is_show_rate()) : ?>
91
- <div>
92
- <p>Did you like Premium Addons for Elementor Plugin? Please <a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank">Click Here to Rate it ★★★★★</a></p>
93
- </div>
94
  <?php endif; ?>
95
- </div>
96
- </div>
97
- </div>
98
- </form>
99
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  <?php }
101
 
102
  public static function get_default_keys() {
@@ -112,7 +112,7 @@ class PA_Gomaps {
112
  return $enabled_keys;
113
  }
114
 
115
- public function pa_save_maps_settings_with_ajax() {
116
 
117
  if( isset( $_POST['fields'] ) ) {
118
  parse_str( $_POST['fields'], $settings );
14
 
15
  private $pa_maps_get_settings;
16
 
17
+ public function __construct() {
 
18
  add_action( 'admin_menu', array ($this,'create_gomaps_menu' ), 100 );
19
+ add_action( 'wp_ajax_pa_maps_save_settings', array( $this, 'pa_save_maps_settings' ) );
20
  }
21
 
22
+ public function create_gomaps_menu() {
23
  add_submenu_page(
24
  'premium-addons',
25
  '',
30
  );
31
  }
32
 
33
+ public function pa_maps_page() {
34
+
35
  $js_info = array(
36
  'ajaxurl' => admin_url( 'admin-ajax.php' )
37
  );
48
  $pa_maps_updated_settings = array_merge( $this->pa_maps_get_settings, $pa_maps_new_settings );
49
  update_option( 'pa_maps_save_settings', $pa_maps_updated_settings );
50
  }
 
51
 
52
+ $this->pa_maps_get_settings = get_option( 'pa_maps_save_settings', $this->pa_maps_default_settings );
53
 
54
  ?>
55
+ <div class="wrap">
56
+ <div class="response-wrap"></div>
57
+ <form action="" method="POST" id="pa-maps" name="pa-maps">
58
+ <div class="pa-header-wrapper">
59
+ <div class="pa-title-left">
60
+ <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
61
+ <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
62
+ </div>
63
+ <?php if( ! Helper_Functions::is_show_logo()) : ?>
64
+ <div class="pa-title-right">
65
+ <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
66
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  <?php endif; ?>
68
+ </div>
69
+ <div class="pa-settings-tabs">
70
+ <div id="pa-maps-api" class="pa-maps-tab">
71
+ <div class="pa-row">
72
+ <table class="pa-maps-table">
73
+ <tr>
74
+ <p class="pa-maps-api-notice">
75
+ <?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'); ?>
76
+ </p>
77
+ </tr>
78
+ <tr>
79
+ <th>
80
+ <h4 class="pa-api-title"><label><?php echo __('Google Maps API Key:', 'premium-addons-for-elementor'); ?></label><input name="premium-map-api" id="premium-map-api" type="text" placeholder="API Key" value="<?php echo $this->pa_maps_get_settings['premium-map-api']; ?>"></h4>
81
+ </th>
82
+ </tr>
83
+ <tr>
84
+ <th>
85
+ <h4 class="pa-api-disable-title"><label><?php echo __('Enable Maps API JS File:','premium-addons-for-elementor'); ?></label><input name="premium-map-disable-api" id="premium-map-disable-api" type="checkbox" <?php checked(1, $this->pa_maps_get_settings['premium-map-disable-api'], true) ?>><span><?php echo __('This will load API JS file if it\'s not loaded by another theme or plugin', 'premium-addons-for-elementor'); ?></span></h4>
86
+ </th>
87
+ </tr>
88
+ </table>
89
+ <input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
90
+ <?php if( ! Helper_Functions::is_show_rate() ) : ?>
91
+ <div>
92
+ <p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
93
+ </div>
94
+ <?php endif; ?>
95
+ </div>
96
+ </div>
97
+ </div>
98
+ </form>
99
+ </div>
100
  <?php }
101
 
102
  public static function get_default_keys() {
112
  return $enabled_keys;
113
  }
114
 
115
+ public function pa_save_maps_settings() {
116
 
117
  if( isset( $_POST['fields'] ) ) {
118
  parse_str( $_POST['fields'], $settings );
admin/settings/gopro.php CHANGED
@@ -38,9 +38,11 @@ class Pro_Settings {
38
  }
39
 
40
 
41
- public function change_admin_menu_name(){
 
42
  global $submenu;
43
- if(isset($submenu['premium-addons'])){
 
44
  $submenu['premium-addons'][0][0] = __( 'Widgets Settings', 'premium-addons-for-elementor' );
45
  }
46
  }
38
  }
39
 
40
 
41
+ public function change_admin_menu_name() {
42
+
43
  global $submenu;
44
+
45
+ if( isset($submenu['premium-addons'] ) ) {
46
  $submenu['premium-addons'][0][0] = __( 'Widgets Settings', 'premium-addons-for-elementor' );
47
  }
48
  }
admin/settings/sys-info.php CHANGED
@@ -14,25 +14,25 @@ class PA_System_Info {
14
  add_submenu_page(
15
  'premium-addons',
16
  '',
17
- __('System Info','prmeium-addons-for-elemtnor'),
18
  'manage_options',
19
  'premium-addons-sys',
20
  [$this, 'pa_sys_info_page']
21
  );
22
  }
23
 
24
- public function pa_sys_info_page(){
25
- ?>
26
  <div class="wrap">
27
  <div class="response-wrap"></div>
28
  <div class="pa-header-wrapper">
29
  <div class="pa-title-left">
30
  <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
31
- <h3 class="pa-title-sub"><?php echo sprintf(__( 'Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor' ), Helper_Functions::name(), Helper_Functions::author() ); ?></h3>
32
  </div>
33
- <?php if( ! Helper_Functions::is_show_logo()) : ?>
34
  <div class="pa-title-right">
35
- <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
36
  </div>
37
  <?php endif; ?>
38
  </div>
@@ -42,16 +42,16 @@ class PA_System_Info {
42
  <h3 class="pa-sys-info-title"><?php echo __('System setup information useful for debugging purposes.','premium-addons-for-elementor');?></h3>
43
  <div class="pa-system-info-container">
44
  <?php
45
- echo nl2br(pa_get_sysinfo());
46
  ?>
47
  </div>
48
  </div>
49
  </div>
50
- <?php if( ! Helper_Functions::is_show_rate()) : ?>
51
  <div>
52
- <p>Did you like Premium Addons for Elementor Plugin? Please <a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank">Click Here to Rate it ★★★★★</a></p>
53
  </div>
54
- <?php endif; ?>
55
  </div>
56
  </div>
57
  <?php }
14
  add_submenu_page(
15
  'premium-addons',
16
  '',
17
+ __('System Info','premium-addons-for-elementor'),
18
  'manage_options',
19
  'premium-addons-sys',
20
  [$this, 'pa_sys_info_page']
21
  );
22
  }
23
 
24
+ public function pa_sys_info_page() {
25
+ ?>
26
  <div class="wrap">
27
  <div class="response-wrap"></div>
28
  <div class="pa-header-wrapper">
29
  <div class="pa-title-left">
30
  <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
31
+ <h3 class="pa-title-sub"><?php echo sprintf( __( 'Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor' ), Helper_Functions::name(), Helper_Functions::author() ); ?></h3>
32
  </div>
33
+ <?php if( ! Helper_Functions::is_show_logo() ) : ?>
34
  <div class="pa-title-right">
35
+ <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png'; ?>">
36
  </div>
37
  <?php endif; ?>
38
  </div>
42
  <h3 class="pa-sys-info-title"><?php echo __('System setup information useful for debugging purposes.','premium-addons-for-elementor');?></h3>
43
  <div class="pa-system-info-container">
44
  <?php
45
+ echo nl2br( pa_get_sysinfo() );
46
  ?>
47
  </div>
48
  </div>
49
  </div>
50
+ <?php if( ! Helper_Functions::is_show_rate() ) : ?>
51
  <div>
52
+ <p><?php echo __('Did you like Premium Addons for Elementor Plugin? Please ', 'premium-addons-for-elementor'); ?><a href="https://wordpress.org/support/plugin/premium-addons-for-elementor/reviews/#new-post" target="_blank"><?php echo __('Click Here to Rate it ★★★★★', 'premium-addons-for-elementor'); ?></a></p>
53
  </div>
54
+ <?php endif; ?>
55
  </div>
56
  </div>
57
  <?php }
admin/settings/version-control.php CHANGED
@@ -16,12 +16,13 @@ class PA_Version_Control {
16
 
17
  public function __construct() {
18
  add_action( 'admin_menu', array ($this,'create_version_control_menu' ), 100 );
19
- add_action( 'wp_ajax_pa_beta_save_settings', array( $this, 'pa_beta_save_settings_with_ajax' ) );
20
  }
21
 
22
 
23
- public function create_version_control_menu(){
24
- if ( ! Helper_Functions::is_show_version_control()){
 
25
  add_submenu_page(
26
  'premium-addons',
27
  '',
@@ -31,9 +32,11 @@ class PA_Version_Control {
31
  [$this, 'pa_version_page']
32
  );
33
  }
 
34
  }
35
 
36
- public function pa_version_page(){
 
37
  $js_info = array(
38
  'ajaxurl' => admin_url( 'admin-ajax.php' )
39
  );
@@ -43,69 +46,74 @@ class PA_Version_Control {
43
  $this->pa_beta_default_settings = array_fill_keys( $this->pa_beta_keys, true );
44
 
45
  $this->pa_beta_get_settings = get_option( 'pa_beta_save_settings', $this->pa_beta_default_settings );
 
46
  $pa_beta_new_settings = array_diff_key( $this->pa_beta_default_settings, $this->pa_beta_get_settings );
 
47
  if( ! empty( $pa_beta_new_settings ) ) {
48
  $pa_beta_updated_settings = array_merge( $this->pa_beta_get_settings, $pa_beta_new_settings );
49
  update_option( 'pa_beta_save_settings', $pa_beta_updated_settings );
50
  }
 
51
  $this->pa_beta_get_settings = get_option( 'pa_beta_save_settings', $this->pa_beta_default_settings );
52
 
53
  ?>
54
 
55
- <div class="wrap">
56
- <div class="response-wrap"></div>
57
- <form action="" method="POST" id="pa-beta-form" name="pa-beta-form">
58
- <div class="pa-header-wrapper">
59
- <div class="pa-title-left">
60
- <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
61
- <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
62
- </div>
63
- <?php if( ! Helper_Functions::is_show_logo()) : ?>
64
- <div class="pa-title-right">
65
- <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';?>">
66
- </div>
67
- <?php endif; ?>
68
- </div>
69
- <div class="pa-settings-tabs">
70
- <div id="pa-maintenance" class="pa-settings-tab">
71
- <div class="pa-row">
72
- <table class="pa-beta-table">
73
- <tr>
74
- <th>
75
- <h4 class="pa-roll-back">Rollback to Previous Version</h4>
76
- <span class="pa-roll-back-span"><?php echo sprintf('Experiencing an issue with Premium Addons for Elementor version %s? Rollback to a previous version before the issue appeared.',PREMIUM_ADDONS_VERSION); ?></span>
77
- </th>
78
- </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.3.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>
86
- <tr>
87
- <th>
88
- <h4 class="pa-beta-test">Become a Beta Tester</h4>
89
- <span class="pa-beta-test-span">Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.</span>
90
- </th>
91
- </tr>
92
- <tr class="pa-beta-row">
93
- <th><?php echo __('Beta Tester','premium-addons-for-elementor');?></th>
94
- <td>
95
- <div><input name="is-beta-tester" id="is-beta-tester" type="checkbox" <?php checked(1, $this->pa_beta_get_settings['is-beta-tester'], true) ?>><span><?php echo __('Check this box to get updates for beta versions','premium-addons-for-elementor'); ?></span></div>
96
- <p class="pa-beta-desc"><span>Please Note: We do not recommend updating to a beta version on production sites.</span></p>
97
- </td>
98
- </tr>
99
- </table>
100
- <input type="submit" value="Save Settings" class="button pa-btn pa-save-button">
101
- </div>
102
- </div>
103
- </div>
104
- </form>
105
- </div>
 
 
106
 
107
  <?php }
108
- public function pa_beta_save_settings_with_ajax() {
109
 
110
  if( isset( $_POST['fields'] ) ) {
111
  parse_str( $_POST['fields'], $settings );
16
 
17
  public function __construct() {
18
  add_action( 'admin_menu', array ($this,'create_version_control_menu' ), 100 );
19
+ add_action( 'wp_ajax_pa_beta_save_settings', array( $this, 'pa_beta_save_settings' ) );
20
  }
21
 
22
 
23
+ public function create_version_control_menu() {
24
+
25
+ if ( ! Helper_Functions::is_show_version_control() ) {
26
  add_submenu_page(
27
  'premium-addons',
28
  '',
32
  [$this, 'pa_version_page']
33
  );
34
  }
35
+
36
  }
37
 
38
+ public function pa_version_page() {
39
+
40
  $js_info = array(
41
  'ajaxurl' => admin_url( 'admin-ajax.php' )
42
  );
46
  $this->pa_beta_default_settings = array_fill_keys( $this->pa_beta_keys, true );
47
 
48
  $this->pa_beta_get_settings = get_option( 'pa_beta_save_settings', $this->pa_beta_default_settings );
49
+
50
  $pa_beta_new_settings = array_diff_key( $this->pa_beta_default_settings, $this->pa_beta_get_settings );
51
+
52
  if( ! empty( $pa_beta_new_settings ) ) {
53
  $pa_beta_updated_settings = array_merge( $this->pa_beta_get_settings, $pa_beta_new_settings );
54
  update_option( 'pa_beta_save_settings', $pa_beta_updated_settings );
55
  }
56
+
57
  $this->pa_beta_get_settings = get_option( 'pa_beta_save_settings', $this->pa_beta_default_settings );
58
 
59
  ?>
60
 
61
+ <div class="wrap">
62
+ <div class="response-wrap"></div>
63
+ <form action="" method="POST" id="pa-beta-form" name="pa-beta-form">
64
+ <div class="pa-header-wrapper">
65
+ <div class="pa-title-left">
66
+ <h1 class="pa-title-main"><?php echo Helper_Functions::name(); ?></h1>
67
+ <h3 class="pa-title-sub"><?php echo sprintf(__('Thank you for using %s. This plugin has been developed by %s and we hope you enjoy using it.','premium-addons-for-elementor'), Helper_Functions::name(),Helper_Functions::author()); ?></h3>
68
+ </div>
69
+ <?php if( ! Helper_Functions::is_show_logo()) : ?>
70
+ <div class="pa-title-right">
71
+ <img class="pa-logo" src="<?php echo PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png'; ?>">
72
+ </div>
73
+ <?php endif; ?>
74
+ </div>
75
+ <div class="pa-settings-tabs">
76
+ <div id="pa-maintenance" class="pa-settings-tab">
77
+ <div class="pa-row">
78
+ <table class="pa-beta-table">
79
+ <tr>
80
+ <th>
81
+ <h4 class="pa-roll-back"><?php echo __('Rollback to Previous Version', 'premium-addons-for-elementor'); ?></h4>
82
+ <span class="pa-roll-back-span"><?php echo sprintf( __('Experiencing an issue with Premium Addons for Elementor version %s? Rollback to a previous version before the issue appeared.', 'premium-addons-for-elementor'), PREMIUM_ADDONS_VERSION ); ?></span>
83
+ </th>
84
+ </tr>
85
+ <tr class="pa-roll-row">
86
+ <th>Rollback Version</th>
87
+ <td>
88
+ <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.3.1', 'premium-addons-for-elementor') ); ?></div>
89
+ <p class="pa-roll-desc">
90
+ <span><?php echo __('Warning: Please backup your database before making the rollback.', 'premium-addons-for-elementor'); ?></span>
91
+ </p>
92
+ </td>
93
+ </tr>
94
+ <tr>
95
+ <th>
96
+ <h4 class="pa-beta-test"><?php echo __('Become a Beta Tester', 'premium-addons-for-elementor'); ?></h4>
97
+ <span class="pa-beta-test-span"><?php echo __('Turn-on Beta Tester, to get notified when a new beta version of Premium Addons for Elementor. The Beta version will not install automatically. You always have the option to ignore it.', 'premium-addons-for-elementor'); ?></span>
98
+ </th>
99
+ </tr>
100
+ <tr class="pa-beta-row">
101
+ <th><?php echo __('Beta Tester','premium-addons-for-elementor'); ?></th>
102
+ <td>
103
+ <div><input name="is-beta-tester" id="is-beta-tester" type="checkbox" <?php checked(1, $this->pa_beta_get_settings['is-beta-tester'], true) ?>><span><?php echo __('Check this box to get updates for beta versions','premium-addons-for-elementor'); ?></span></div>
104
+ <p class="pa-beta-desc"><span><?php echo __('Please Note: We do not recommend updating to a beta version on production sites.', 'premium-addons-for-elementor'); ?></span></p>
105
+ </td>
106
+ </tr>
107
+ </table>
108
+ <input type="submit" value="<?php echo __('Save Settings', 'premium-addons-for-elementor'); ?>" class="button pa-btn pa-save-button">
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </form>
113
+ </div>
114
 
115
  <?php }
116
+ public function pa_beta_save_settings() {
117
 
118
  if( isset( $_POST['fields'] ) ) {
119
  parse_str( $_POST['fields'], $settings );
includes/class-addons-category.php CHANGED
@@ -12,6 +12,14 @@ class Premium_Addons_Category {
12
  $this->create_premium_category();
13
  }
14
 
 
 
 
 
 
 
 
 
15
  public function create_premium_category() {
16
  \Elementor\Plugin::instance()->elements_manager->add_category(
17
  'premium-elements',
@@ -21,12 +29,14 @@ class Premium_Addons_Category {
21
  1);
22
  }
23
  /**
24
- * Creates and returns an instance of the class
25
- * @since 2.6.8
26
- * @access public
27
- * return object
28
- */
29
- public static function get_instance(){
 
 
30
  if( self::$instance == null ) {
31
  self::$instance = new self;
32
  }
12
  $this->create_premium_category();
13
  }
14
 
15
+ /*
16
+ * Create Premium Addons Category
17
+ *
18
+ * Adds category `Premium Addons` in the editor panel.
19
+ *
20
+ * @access public
21
+ *
22
+ */
23
  public function create_premium_category() {
24
  \Elementor\Plugin::instance()->elements_manager->add_category(
25
  'premium-elements',
29
  1);
30
  }
31
  /**
32
+ * Creates and returns an instance of the class
33
+ *
34
+ * @since 2.6.8
35
+ * @access public
36
+ *
37
+ * @return object
38
+ */
39
+ public static function get_instance() {
40
  if( self::$instance == null ) {
41
  self::$instance = new self;
42
  }
includes/class-addons-integration.php CHANGED
@@ -269,7 +269,13 @@ class Premium_Addons_Integration {
269
 
270
  if ( $premium_maps_disable_api ) {
271
 
272
- wp_enqueue_script('premium-maps-api-js', 'https://maps.googleapis.com/maps/api/js?key=' . $premium_maps_api, array(), PREMIUM_ADDONS_VERSION, false);
 
 
 
 
 
 
273
 
274
  }
275
 
@@ -321,12 +327,16 @@ class Premium_Addons_Integration {
321
  }
322
 
323
  /**
324
- * Register addon by file name
325
- *
326
- * @param string $file File name.
327
- * @param object $widgets_manager Widgets manager instance.
328
- * @return void
329
- */
 
 
 
 
330
  public function register_addon( $file ) {
331
 
332
  $base = basename( str_replace( '.php', '', $file ) );
@@ -352,12 +362,16 @@ class Premium_Addons_Integration {
352
  }
353
 
354
  /**
355
- * Creates and returns an instance of the class
356
- * @since 1.0.0
357
- * @access public
358
- * return object
359
- */
360
- public static function get_instance(){
 
 
 
 
361
  if( self::$instance == null ) {
362
  self::$instance = new self;
363
  }
269
 
270
  if ( $premium_maps_disable_api ) {
271
 
272
+ wp_enqueue_script(
273
+ 'premium-maps-api-js',
274
+ 'https://maps.googleapis.com/maps/api/js?key=' . $premium_maps_api,
275
+ array(),
276
+ PREMIUM_ADDONS_VERSION,
277
+ false
278
+ );
279
 
280
  }
281
 
327
  }
328
 
329
  /**
330
+ *
331
+ * Register addon by file name.
332
+ *
333
+ * @access public
334
+ *
335
+ * @param string $file File name.
336
+ * @param object $widgets_manager Widgets manager instance.
337
+ *
338
+ * @return void
339
+ */
340
  public function register_addon( $file ) {
341
 
342
  $base = basename( str_replace( '.php', '', $file ) );
362
  }
363
 
364
  /**
365
+ *
366
+ * Creates and returns an instance of the class
367
+ *
368
+ * @since 1.0.0
369
+ * @access public
370
+ *
371
+ * @return object
372
+ *
373
+ */
374
+ public static function get_instance() {
375
  if( self::$instance == null ) {
376
  self::$instance = new self;
377
  }
includes/class-beta-testers.php CHANGED
@@ -3,14 +3,27 @@
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  class Premium_Beta_Testers {
 
6
  private $transient_key;
 
 
 
 
 
 
 
 
 
7
  private function get_beta_version() {
 
8
  $beta_version = get_site_transient( $this->transient_key );
9
 
10
  if ( false === $beta_version ) {
 
11
  $beta_version = 'false';
12
 
13
  $response = wp_remote_get( 'https://plugins.svn.wordpress.org/premium-addons-for-elementor/trunk/readme.txt' );
 
14
  if ( ! is_wp_error( $response ) && ! empty( $response['body'] ) ) {
15
  preg_match( '/Beta tag: (.*)/i', $response['body'], $matches );
16
  if ( isset( $matches[1] ) ) {
@@ -19,12 +32,22 @@ class Premium_Beta_Testers {
19
  }
20
 
21
  set_site_transient( $this->transient_key, $beta_version, 6 * HOUR_IN_SECONDS );
 
22
  }
23
 
24
  return $beta_version;
25
  }
26
 
27
- public function check_version( $transient ) {
 
 
 
 
 
 
 
 
 
28
  if ( empty( $transient->checked ) ) {
29
  return $transient;
30
  }
@@ -34,14 +57,23 @@ class Premium_Beta_Testers {
34
  $plugin_slug = basename( PREMIUM_ADDONS_FILE , '.php' );
35
 
36
  $beta_version = $this->get_beta_version();
 
37
  if ( 'false' !== $beta_version && version_compare( $beta_version, PREMIUM_ADDONS_VERSION, '>' ) ) {
 
38
  $response = new \stdClass();
 
39
  $response->plugin = $plugin_slug;
 
40
  $response->slug = $plugin_slug;
 
41
  $response->new_version = $beta_version;
 
42
  $response->url = 'https://premiumaddons.com/';
 
43
  $response->package = sprintf( 'https://downloads.wordpress.org/plugin/premium-addons-for-elementor.%s.zip', $beta_version );
 
44
  echo $response->package;
 
45
  $transient->response[ PREMIUM_ADDONS_BASENAME ] = $response;
46
  }
47
 
@@ -55,6 +87,6 @@ class Premium_Beta_Testers {
55
 
56
  $this->transient_key = md5( 'premium_addons_beta_response_key' );
57
 
58
- add_filter( 'pre_set_site_transient_update_plugins', [ $this, 'check_version' ] );
59
  }
60
  }
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  class Premium_Beta_Testers {
6
+
7
  private $transient_key;
8
+
9
+ /**
10
+ * Get beta version
11
+ *
12
+ * Checks if the version in trunk is beta
13
+ *
14
+ * @since 2.1.3
15
+ * @access public
16
+ */
17
  private function get_beta_version() {
18
+
19
  $beta_version = get_site_transient( $this->transient_key );
20
 
21
  if ( false === $beta_version ) {
22
+
23
  $beta_version = 'false';
24
 
25
  $response = wp_remote_get( 'https://plugins.svn.wordpress.org/premium-addons-for-elementor/trunk/readme.txt' );
26
+
27
  if ( ! is_wp_error( $response ) && ! empty( $response['body'] ) ) {
28
  preg_match( '/Beta tag: (.*)/i', $response['body'], $matches );
29
  if ( isset( $matches[1] ) ) {
32
  }
33
 
34
  set_site_transient( $this->transient_key, $beta_version, 6 * HOUR_IN_SECONDS );
35
+
36
  }
37
 
38
  return $beta_version;
39
  }
40
 
41
+ /**
42
+ * Get version
43
+ *
44
+ * Checks if the version in trunk is beta
45
+ *
46
+ * @since 2.1.3
47
+ * @access public
48
+ */
49
+ public function compare_version( $transient ) {
50
+
51
  if ( empty( $transient->checked ) ) {
52
  return $transient;
53
  }
57
  $plugin_slug = basename( PREMIUM_ADDONS_FILE , '.php' );
58
 
59
  $beta_version = $this->get_beta_version();
60
+
61
  if ( 'false' !== $beta_version && version_compare( $beta_version, PREMIUM_ADDONS_VERSION, '>' ) ) {
62
+
63
  $response = new \stdClass();
64
+
65
  $response->plugin = $plugin_slug;
66
+
67
  $response->slug = $plugin_slug;
68
+
69
  $response->new_version = $beta_version;
70
+
71
  $response->url = 'https://premiumaddons.com/';
72
+
73
  $response->package = sprintf( 'https://downloads.wordpress.org/plugin/premium-addons-for-elementor.%s.zip', $beta_version );
74
+
75
  echo $response->package;
76
+
77
  $transient->response[ PREMIUM_ADDONS_BASENAME ] = $response;
78
  }
79
 
87
 
88
  $this->transient_key = md5( 'premium_addons_beta_response_key' );
89
 
90
+ add_filter( 'pre_set_site_transient_update_plugins', [ $this, 'compare_version' ] );
91
  }
92
  }
includes/elementor-helper.php CHANGED
@@ -69,16 +69,20 @@ class premium_Template_Tags {
69
  }
70
 
71
  public function get_elementor_page_list() {
72
- $pagelist = get_posts(array(
 
73
  'post_type' => 'elementor_library',
74
  'showposts' => 999,
75
  ));
76
 
77
- if ( ! empty( $pagelist ) && ! is_wp_error( $pagelist ) ){
 
78
  foreach ( $pagelist as $post ) {
79
- $options[ $post->ID ] = __( $post->post_title, 'premium-addons-for-elementor' );
80
  }
 
81
  update_option( 'temp_count', $options );
 
82
  return $options;
83
  }
84
  }
69
  }
70
 
71
  public function get_elementor_page_list() {
72
+
73
+ $pagelist = get_posts( array(
74
  'post_type' => 'elementor_library',
75
  'showposts' => 999,
76
  ));
77
 
78
+ if ( ! empty( $pagelist ) && ! is_wp_error( $pagelist ) ) {
79
+
80
  foreach ( $pagelist as $post ) {
81
+ $options[ $post->ID ] = $post->post_title;
82
  }
83
+
84
  update_option( 'temp_count', $options );
85
+
86
  return $options;
87
  }
88
  }
includes/maintenance.php CHANGED
@@ -1,14 +1,18 @@
1
  <?php
2
 
3
- if( !defined( 'ABSPATH' ) ) exit; //Exit if accessed directly
4
 
5
  /**
6
- * Fire the rollback function
7
- * @since 1.0
 
8
  */
9
  function post_premium_addons_rollback() {
 
10
  check_admin_referer( 'premium_addons_rollback' );
 
11
  $plugin_slug = basename( PREMIUM_ADDONS_FILE, '.php' );
 
12
  $pa_rollback = new PA_Rollback(
13
  [
14
  'version' => PREMIUM_ADDONS_STABLE_VERSION,
1
  <?php
2
 
3
+ if( ! defined( 'ABSPATH' ) ) exit; //Exit if accessed directly
4
 
5
  /**
6
+ *
7
+ * Fire the rollback function
8
+ *
9
  */
10
  function post_premium_addons_rollback() {
11
+
12
  check_admin_referer( 'premium_addons_rollback' );
13
+
14
  $plugin_slug = basename( PREMIUM_ADDONS_FILE, '.php' );
15
+
16
  $pa_rollback = new PA_Rollback(
17
  [
18
  'version' => PREMIUM_ADDONS_STABLE_VERSION,
includes/rollback.php CHANGED
@@ -3,10 +3,15 @@
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  class PA_Rollback {
 
6
  protected $package_url;
 
7
  protected $version;
 
8
  protected $plugin_name;
 
9
  protected $plugin_slug;
 
10
  public function __construct( $args = [] ) {
11
  foreach ( $args as $key => $value ) {
12
  $this->{$key} = $value;
@@ -14,7 +19,8 @@ class PA_Rollback {
14
  }
15
 
16
  private function print_inline_style() {
17
- ?>
 
18
  <style>
19
  .wrap {
20
  overflow: hidden;
@@ -34,28 +40,37 @@ class PA_Rollback {
34
  margin: auto auto 50px;
35
  }
36
  </style>
 
37
  <?php
38
  }
39
 
40
  protected function apply_package() {
 
41
  $update_plugins = get_site_transient( 'update_plugins' );
 
42
  if ( ! is_object( $update_plugins ) ) {
43
 
44
  $update_plugins = new \stdClass();
45
  }
46
 
47
  $plugin_info = new \stdClass();
 
48
  $plugin_info->new_version = $this->version;
 
49
  $plugin_info->slug = $this->plugin_slug;
 
50
  $plugin_info->package = $this->package_url;
 
51
  $plugin_info->url = 'https://premiumaddons.com/';
52
-
53
  $update_plugins->response[ $this->plugin_name ] = $plugin_info;
54
 
55
  set_site_transient( 'update_plugins', $update_plugins );
 
56
  }
57
 
58
  protected function upgrade() {
 
59
  require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
60
 
61
  $logo_url = PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';
@@ -70,11 +85,16 @@ class PA_Rollback {
70
  $this->print_inline_style();
71
 
72
  $upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) );
 
73
  $upgrader->upgrade( $this->plugin_name );
 
74
  }
75
 
76
  public function run() {
 
77
  $this->apply_package();
 
78
  $this->upgrade();
 
79
  }
80
  }
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
 
5
  class PA_Rollback {
6
+
7
  protected $package_url;
8
+
9
  protected $version;
10
+
11
  protected $plugin_name;
12
+
13
  protected $plugin_slug;
14
+
15
  public function __construct( $args = [] ) {
16
  foreach ( $args as $key => $value ) {
17
  $this->{$key} = $value;
19
  }
20
 
21
  private function print_inline_style() {
22
+ ?>
23
+
24
  <style>
25
  .wrap {
26
  overflow: hidden;
40
  margin: auto auto 50px;
41
  }
42
  </style>
43
+
44
  <?php
45
  }
46
 
47
  protected function apply_package() {
48
+
49
  $update_plugins = get_site_transient( 'update_plugins' );
50
+
51
  if ( ! is_object( $update_plugins ) ) {
52
 
53
  $update_plugins = new \stdClass();
54
  }
55
 
56
  $plugin_info = new \stdClass();
57
+
58
  $plugin_info->new_version = $this->version;
59
+
60
  $plugin_info->slug = $this->plugin_slug;
61
+
62
  $plugin_info->package = $this->package_url;
63
+
64
  $plugin_info->url = 'https://premiumaddons.com/';
65
+
66
  $update_plugins->response[ $this->plugin_name ] = $plugin_info;
67
 
68
  set_site_transient( 'update_plugins', $update_plugins );
69
+
70
  }
71
 
72
  protected function upgrade() {
73
+
74
  require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
75
 
76
  $logo_url = PREMIUM_ADDONS_URL . 'admin/images/premium-addons-logo.png';
85
  $this->print_inline_style();
86
 
87
  $upgrader = new \Plugin_Upgrader( new \Plugin_Upgrader_Skin( $upgrader_args ) );
88
+
89
  $upgrader->upgrade( $this->plugin_name );
90
+
91
  }
92
 
93
  public function run() {
94
+
95
  $this->apply_package();
96
+
97
  $this->upgrade();
98
+
99
  }
100
  }
languages/premium-addons-for-elementor.pot CHANGED
@@ -2,7 +2,7 @@
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Premium Addons for Elementor\n"
5
- "POT-Creation-Date: 2019-04-23 15:19+0200\n"
6
  "PO-Revision-Date: 2018-02-15 10:41+0200\n"
7
  "Last-Translator: \n"
8
  "Language-Team: Leap13\n"
@@ -19,35 +19,35 @@ msgstr ""
19
  "X-Poedit-SearchPathExcluded-0: assets/js\n"
20
  "X-Poedit-SearchPathExcluded-1: admin/assets/js\n"
21
 
22
- #: admin/includes/notices.php:120
23
  msgid ""
24
  "Premium Addons for Elementor is not working because you need to Install "
25
  "Elementor plugin."
26
  msgstr ""
27
 
28
- #: admin/includes/notices.php:122
29
  msgid "Install Now"
30
  msgstr ""
31
 
32
- #: admin/includes/notices.php:130
33
  msgid ""
34
  "Premium Addons for Elementor is not working because you need to activate "
35
  "Elementor plugin."
36
  msgstr ""
37
 
38
- #: admin/includes/notices.php:132
39
  msgid "Activate Now"
40
  msgstr ""
41
 
42
- #: admin/includes/notices.php:150
43
  msgid "Did you like"
44
  msgstr ""
45
 
46
- #: admin/includes/notices.php:150
47
  msgid "Plugin?"
48
  msgstr ""
49
 
50
- #: admin/includes/notices.php:151
51
  msgid ""
52
  "Could you please do us a BIG favor ? if you could take 2 min of your time, "
53
  "we'd really appreciate if you give Premium Addons for Elementor 5-star "
@@ -55,43 +55,106 @@ msgid ""
55
  "stuff in the future!"
56
  msgstr ""
57
 
58
- #: admin/includes/notices.php:152
59
  msgid "Leave a Review"
60
  msgstr ""
61
 
62
- #: admin/includes/notices.php:153
63
  msgid "Maybe Later"
64
  msgstr ""
65
 
66
- #: admin/includes/notices.php:154
67
  msgid "I Already did"
68
  msgstr ""
69
 
70
- #: admin/includes/notices.php:222
71
- msgid "Premium Block for Gutenberg"
72
  msgstr ""
73
 
74
- #: admin/includes/notices.php:222
75
  msgid "is Now Available."
76
  msgstr ""
77
 
78
- #: admin/includes/notices.php:223
79
  msgid "Install it Now."
80
  msgstr ""
81
 
82
- #: admin/settings/about.php:13
83
  msgid "About"
84
  msgstr ""
85
 
86
- #: admin/settings/about.php:35 admin/settings/elements.php:133
87
  #: admin/settings/gomaps.php:61 admin/settings/sys-info.php:31
88
- #: admin/settings/version-control.php:61
89
  #, php-format
90
  msgid ""
91
  "Thank you for using %s. This plugin has been developed by %s and we hope you "
92
  "enjoy using it."
93
  msgstr ""
94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  #: admin/settings/elements.php:40
96
  msgid "Settings"
97
  msgstr ""
@@ -100,7 +163,8 @@ msgstr ""
100
  msgid "Are you sure you want to reinstall version "
101
  msgstr ""
102
 
103
- #: admin/settings/elements.php:55 includes/maintenance.php:24
 
104
  msgid "Rollback to Previous Version"
105
  msgstr ""
106
 
@@ -112,76 +176,76 @@ msgstr ""
112
  msgid "Cancel"
113
  msgstr ""
114
 
115
- #: admin/settings/elements.php:151 widgets/premium-banner.php:20
116
  msgid "Banner"
117
  msgstr ""
118
 
119
- #: admin/settings/elements.php:158 widgets/premium-blog.php:14
120
  msgid "Blog"
121
  msgstr ""
122
 
123
- #: admin/settings/elements.php:168 widgets/premium-blog.php:551
124
  #: widgets/premium-blog.php:1104 widgets/premium-carousel.php:18
125
  #: widgets/premium-carousel.php:47
126
  msgid "Carousel"
127
  msgstr ""
128
 
129
- #: admin/settings/elements.php:175 widgets/premium-countdown.php:11
130
  #: widgets/premium-countdown.php:36
131
  msgid "Countdown"
132
  msgstr ""
133
 
134
- #: admin/settings/elements.php:185 widgets/premium-counter.php:13
135
  #: widgets/premium-counter.php:37
136
  msgid "Counter"
137
  msgstr ""
138
 
139
- #: admin/settings/elements.php:192 widgets/premium-dual-header.php:19
140
  #: widgets/premium-dual-header.php:38
141
  msgid "Dual Heading"
142
  msgstr ""
143
 
144
- #: admin/settings/elements.php:202 widgets/premium-fancytext.php:12
145
  #: widgets/premium-fancytext.php:35 widgets/premium-fancytext.php:65
146
  #: widgets/premium-fancytext.php:318
147
  msgid "Fancy Text"
148
  msgstr ""
149
 
150
- #: admin/settings/elements.php:209 widgets/premium-image-scroll.php:24
151
  msgid "Image Scroll"
152
  msgstr ""
153
 
154
- #: admin/settings/elements.php:221 widgets/premium-image-separator.php:18
155
  msgid "Image Separator"
156
  msgstr ""
157
 
158
- #: admin/settings/elements.php:229 widgets/premium-maps.php:19
159
  msgid "Maps"
160
  msgstr ""
161
 
162
- #: admin/settings/elements.php:240 widgets/premium-modalbox.php:21
163
  #: widgets/premium-modalbox.php:1162
164
  msgid "Modal Box"
165
  msgstr ""
166
 
167
- #: admin/settings/elements.php:247 widgets/premium-person.php:13
168
  #: widgets/premium-person.php:125
169
  msgid "Person"
170
  msgstr ""
171
 
172
- #: admin/settings/elements.php:259 widgets/premium-progressbar.php:14
173
  #: widgets/premium-progressbar.php:224
174
  msgid "Progress Bar"
175
  msgstr ""
176
 
177
- #: admin/settings/elements.php:266
178
  msgid "Testimonials"
179
  msgstr ""
180
 
181
- #: admin/settings/elements.php:277 widgets/premium-banner.php:248
182
  #: widgets/premium-banner.php:527 widgets/premium-blog.php:424
183
  #: widgets/premium-blog.php:691 widgets/premium-counter.php:43
184
- #: widgets/premium-counter.php:362 widgets/premium-grid.php:323
185
  #: widgets/premium-grid.php:720 widgets/premium-maps.php:180
186
  #: widgets/premium-maps.php:364 widgets/premium-modalbox.php:129
187
  #: widgets/premium-pricing-table.php:56 widgets/premium-pricing-table.php:436
@@ -192,17 +256,17 @@ msgstr ""
192
  msgid "Title"
193
  msgstr ""
194
 
195
- #: admin/settings/elements.php:284 widgets/premium-videobox.php:15
196
  #: widgets/premium-videobox.php:38 widgets/premium-videobox.php:301
197
  msgid "Video Box"
198
  msgstr ""
199
 
200
- #: admin/settings/elements.php:294 widgets/premium-pricing-table.php:18
201
  #: widgets/premium-pricing-table.php:67
202
  msgid "Pricing Table"
203
  msgstr ""
204
 
205
- #: admin/settings/elements.php:301 widgets/premium-banner.php:296
206
  #: widgets/premium-banner.php:624 widgets/premium-button.php:20
207
  #: widgets/premium-button.php:38 widgets/premium-button.php:455
208
  #: widgets/premium-contactform.php:166 widgets/premium-contactform.php:429
@@ -212,140 +276,168 @@ msgstr ""
212
  msgid "Button"
213
  msgstr ""
214
 
215
- #: admin/settings/elements.php:311 widgets/premium-contactform.php:13
216
  msgid "Contact Form7"
217
  msgstr ""
218
 
219
- #: admin/settings/elements.php:318 widgets/premium-image-button.php:12
220
  msgid "Image Button"
221
  msgstr ""
222
 
223
- #: admin/settings/elements.php:329 widgets/premium-blog.php:113
224
  #: widgets/premium-grid.php:18
225
  msgid "Grid"
226
  msgstr ""
227
 
228
- #: admin/settings/elements.php:336 widgets/premium-vscroll.php:18
229
  msgid "Vertical Scroll"
230
  msgstr ""
231
 
232
- #: admin/settings/elements.php:351
233
  msgid "Premium Alert Box"
234
  msgstr ""
235
 
236
- #: admin/settings/elements.php:359
237
  msgid "Premium Icon Box"
238
  msgstr ""
239
 
240
- #: admin/settings/elements.php:372
241
  msgid "Premium Twitter Feed"
242
  msgstr ""
243
 
244
- #: admin/settings/elements.php:380
245
  msgid "Premium Instagram Feed"
246
  msgstr ""
247
 
248
- #: admin/settings/elements.php:391
249
  msgid "Premium Flip Box"
250
  msgstr ""
251
 
252
- #: admin/settings/elements.php:399
253
  msgid "Premium Unfold"
254
  msgstr ""
255
 
256
- #: admin/settings/elements.php:410
257
  msgid "Premium Messenger Chat"
258
  msgstr ""
259
 
260
- #: admin/settings/elements.php:418
261
  msgid "Premium Tabs"
262
  msgstr ""
263
 
264
- #: admin/settings/elements.php:428
265
  msgid "Premium Chart"
266
  msgstr ""
267
 
268
- #: admin/settings/elements.php:436
269
  msgid "Premium Preview Window"
270
  msgstr ""
271
 
272
- #: admin/settings/elements.php:446
273
  msgid "Premium Image Hotspots"
274
  msgstr ""
275
 
276
- #: admin/settings/elements.php:454
277
  msgid "Premium Facebook Reviews"
278
  msgstr ""
279
 
280
- #: admin/settings/elements.php:464
281
  msgid "Premium Image Comparison"
282
  msgstr ""
283
 
284
- #: admin/settings/elements.php:472
285
  msgid "Premium Divider"
286
  msgstr ""
287
 
288
- #: admin/settings/elements.php:483
289
  msgid "Premium Magic Section"
290
  msgstr ""
291
 
292
- #: admin/settings/elements.php:491
293
  msgid "Premium Google Reviews"
294
  msgstr ""
295
 
296
- #: admin/settings/elements.php:501
297
  msgid "Premium Behance Feed"
298
  msgstr ""
299
 
300
- #: admin/settings/elements.php:509
301
  msgid "Premium Tables"
302
  msgstr ""
303
 
304
- #: admin/settings/elements.php:520
305
  msgid "Premium Image Layers"
306
  msgstr ""
307
 
308
- #: admin/settings/elements.php:528
309
  msgid "Premium iHover"
310
  msgstr ""
311
 
312
- #: admin/settings/elements.php:539
313
  msgid "Premium Content Switcher"
314
  msgstr ""
315
 
316
- #: admin/settings/elements.php:547
317
  msgid "Premium Facebook Feed"
318
  msgstr ""
319
 
320
- #: admin/settings/elements.php:558
321
  msgid "Premium Whatsapp Chat"
322
  msgstr ""
323
 
324
- #: admin/settings/elements.php:569
325
  msgid "Premium Section Parallax"
326
  msgstr ""
327
 
328
- #: admin/settings/elements.php:576
329
  msgid "Premium Section Particles"
330
  msgstr ""
331
 
332
- #: admin/settings/elements.php:586
333
  msgid "Premium Section Animated Gradient"
334
  msgstr ""
335
 
336
- #: admin/settings/elements.php:593
337
  msgid "Premium Section Ken Burns"
338
  msgstr ""
339
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
340
  #: admin/settings/gomaps.php:85
341
  msgid "Enable Maps API JS File:"
342
  msgstr ""
343
 
 
 
 
 
 
344
  #: admin/settings/gopro.php:13
345
  msgid "Get PRO Widgets & Addons"
346
  msgstr ""
347
 
348
- #: admin/settings/gopro.php:44
349
  msgid "Widgets Settings"
350
  msgstr ""
351
 
@@ -357,18 +449,50 @@ msgstr ""
357
  msgid "System setup information useful for debugging purposes."
358
  msgstr ""
359
 
360
- #: admin/settings/version-control.php:28
361
  msgid "Version Control"
362
  msgstr ""
363
 
364
- #: admin/settings/version-control.php:93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
365
  msgid "Beta Tester"
366
  msgstr ""
367
 
368
- #: admin/settings/version-control.php:95
369
  msgid "Check this box to get updates for beta versions"
370
  msgstr ""
371
 
 
 
 
 
 
 
372
  #: includes/compatibility/class-premium-addons-wpml.php:90
373
  msgid "Banner: Title"
374
  msgstr ""
@@ -684,7 +808,7 @@ msgstr ""
684
  msgid "Vertical Scroll: Section ID"
685
  msgstr ""
686
 
687
- #: includes/rollback.php:67
688
  msgid "Rolling Back to Version "
689
  msgstr ""
690
 
@@ -1084,7 +1208,7 @@ msgstr ""
1084
  #: widgets/premium-button.php:650 widgets/premium-carousel.php:581
1085
  #: widgets/premium-contactform.php:477 widgets/premium-contactform.php:533
1086
  #: widgets/premium-countdown.php:373 widgets/premium-countdown.php:450
1087
- #: widgets/premium-counter.php:268 widgets/premium-fancytext.php:351
1088
  #: widgets/premium-fancytext.php:409 widgets/premium-fancytext.php:456
1089
  #: widgets/premium-grid.php:900 widgets/premium-grid.php:994
1090
  #: widgets/premium-grid.php:1116 widgets/premium-modalbox.php:603
@@ -1112,7 +1236,7 @@ msgstr ""
1112
  #: widgets/premium-button.php:531 widgets/premium-button.php:673
1113
  #: widgets/premium-carousel.php:764 widgets/premium-contactform.php:264
1114
  #: widgets/premium-contactform.php:500 widgets/premium-countdown.php:414
1115
- #: widgets/premium-counter.php:341 widgets/premium-dual-header.php:283
1116
  #: widgets/premium-dual-header.php:425 widgets/premium-grid.php:602
1117
  #: widgets/premium-grid.php:659 widgets/premium-grid.php:799
1118
  #: widgets/premium-grid.php:922 widgets/premium-grid.php:1016
@@ -1142,8 +1266,8 @@ msgstr ""
1142
  #: widgets/premium-blog.php:991 widgets/premium-blog.php:1028
1143
  #: widgets/premium-blog.php:1114 widgets/premium-carousel.php:542
1144
  #: widgets/premium-carousel.php:701 widgets/premium-countdown.php:347
1145
- #: widgets/premium-countdown.php:435 widgets/premium-counter.php:192
1146
- #: widgets/premium-counter.php:369 widgets/premium-counter.php:409
1147
  #: widgets/premium-fancytext.php:326 widgets/premium-fancytext.php:384
1148
  #: widgets/premium-fancytext.php:431 widgets/premium-grid.php:727
1149
  #: widgets/premium-grid.php:758 widgets/premium-grid.php:886
@@ -1599,7 +1723,7 @@ msgstr ""
1599
 
1600
  #: widgets/premium-blog.php:887 widgets/premium-blog.php:1128
1601
  #: widgets/premium-button.php:393 widgets/premium-carousel.php:559
1602
- #: widgets/premium-counter.php:209 widgets/premium-counter.php:231
1603
  #: widgets/premium-image-button.php:297 widgets/premium-modalbox.php:840
1604
  #: widgets/premium-pricing-table.php:370 widgets/premium-pricing-table.php:389
1605
  #: widgets/premium-pricing-table.php:512 widgets/premium-pricing-table.php:1128
@@ -1753,7 +1877,7 @@ msgid "Tilted Right"
1753
  msgstr ""
1754
 
1755
  #: widgets/premium-button.php:173 widgets/premium-carousel.php:524
1756
- #: widgets/premium-countdown.php:43 widgets/premium-counter.php:253
1757
  #: widgets/premium-title.php:50
1758
  msgid "Style"
1759
  msgstr ""
@@ -1776,7 +1900,7 @@ msgstr ""
1776
 
1777
  #: widgets/premium-button.php:191 widgets/premium-button.php:202
1778
  #: widgets/premium-button.php:215 widgets/premium-carousel.php:673
1779
- #: widgets/premium-counter.php:185 widgets/premium-image-button.php:179
1780
  #: widgets/premium-image-button.php:190 widgets/premium-image-button.php:203
1781
  #: widgets/premium-image-scroll.php:214 widgets/premium-modalbox.php:65
1782
  #: widgets/premium-modalbox.php:265 widgets/premium-modalbox.php:276
@@ -2130,11 +2254,11 @@ msgstr ""
2130
  msgid "Left Icon"
2131
  msgstr ""
2132
 
2133
- #: widgets/premium-carousel.php:529 widgets/premium-counter.php:258
2134
  msgid "Circle Background"
2135
  msgstr ""
2136
 
2137
- #: widgets/premium-carousel.php:530 widgets/premium-counter.php:259
2138
  msgid "Square Background"
2139
  msgstr ""
2140
 
@@ -2492,41 +2616,41 @@ msgstr ""
2492
  msgid "Choose a position for your icon"
2493
  msgstr ""
2494
 
2495
- #: widgets/premium-counter.php:255
2496
  msgid ""
2497
  "We are giving you three quick preset if you are in a hurry. Otherwise, "
2498
  "create your own with various options"
2499
  msgstr ""
2500
 
2501
- #: widgets/premium-counter.php:257
2502
  msgid "Simple"
2503
  msgstr ""
2504
 
2505
- #: widgets/premium-counter.php:260
2506
  msgid "Design Your Own"
2507
  msgstr ""
2508
 
2509
- #: widgets/premium-counter.php:285
2510
  msgid "Background size"
2511
  msgstr ""
2512
 
2513
- #: widgets/premium-counter.php:307
2514
  msgid "Vertical Alignment"
2515
  msgstr ""
2516
 
2517
- #: widgets/premium-counter.php:402 widgets/premium-progressbar.php:179
2518
  msgid "Value"
2519
  msgstr ""
2520
 
2521
- #: widgets/premium-counter.php:435 widgets/premium-fancytext.php:423
2522
  msgid "Prefix & Suffix"
2523
  msgstr ""
2524
 
2525
- #: widgets/premium-counter.php:442
2526
  msgid "Prefix Color"
2527
  msgstr ""
2528
 
2529
- #: widgets/premium-counter.php:466
2530
  msgid "Suffix Color"
2531
  msgstr ""
2532
 
2
  msgid ""
3
  msgstr ""
4
  "Project-Id-Version: Premium Addons for Elementor\n"
5
+ "POT-Creation-Date: 2019-04-24 16:02+0200\n"
6
  "PO-Revision-Date: 2018-02-15 10:41+0200\n"
7
  "Last-Translator: \n"
8
  "Language-Team: Leap13\n"
19
  "X-Poedit-SearchPathExcluded-0: assets/js\n"
20
  "X-Poedit-SearchPathExcluded-1: admin/assets/js\n"
21
 
22
+ #: admin/includes/notices.php:126
23
  msgid ""
24
  "Premium Addons for Elementor is not working because you need to Install "
25
  "Elementor plugin."
26
  msgstr ""
27
 
28
+ #: admin/includes/notices.php:128
29
  msgid "Install Now"
30
  msgstr ""
31
 
32
+ #: admin/includes/notices.php:136
33
  msgid ""
34
  "Premium Addons for Elementor is not working because you need to activate "
35
  "Elementor plugin."
36
  msgstr ""
37
 
38
+ #: admin/includes/notices.php:138
39
  msgid "Activate Now"
40
  msgstr ""
41
 
42
+ #: admin/includes/notices.php:156
43
  msgid "Did you like"
44
  msgstr ""
45
 
46
+ #: admin/includes/notices.php:156
47
  msgid "Plugin?"
48
  msgstr ""
49
 
50
+ #: admin/includes/notices.php:157
51
  msgid ""
52
  "Could you please do us a BIG favor ? if you could take 2 min of your time, "
53
  "we'd really appreciate if you give Premium Addons for Elementor 5-star "
55
  "stuff in the future!"
56
  msgstr ""
57
 
58
+ #: admin/includes/notices.php:158
59
  msgid "Leave a Review"
60
  msgstr ""
61
 
62
+ #: admin/includes/notices.php:159
63
  msgid "Maybe Later"
64
  msgstr ""
65
 
66
+ #: admin/includes/notices.php:160
67
  msgid "I Already did"
68
  msgstr ""
69
 
70
+ #: admin/includes/notices.php:233
71
+ msgid "Premium Blocks for Gutenberg"
72
  msgstr ""
73
 
74
+ #: admin/includes/notices.php:233
75
  msgid "is Now Available."
76
  msgstr ""
77
 
78
+ #: admin/includes/notices.php:234
79
  msgid "Install it Now."
80
  msgstr ""
81
 
82
+ #: admin/settings/about.php:14
83
  msgid "About"
84
  msgstr ""
85
 
86
+ #: admin/settings/about.php:37 admin/settings/elements.php:168
87
  #: admin/settings/gomaps.php:61 admin/settings/sys-info.php:31
88
+ #: admin/settings/version-control.php:67
89
  #, php-format
90
  msgid ""
91
  "Thank you for using %s. This plugin has been developed by %s and we hope you "
92
  "enjoy using it."
93
  msgstr ""
94
 
95
+ #: admin/settings/about.php:54
96
+ msgid "What is Premium Addons?"
97
+ msgstr ""
98
+
99
+ #: admin/settings/about.php:55
100
+ msgid ""
101
+ "Premium Addons for Elementor extends Elementor Page Builder capabilities "
102
+ "with many fully customizable widgets and addons that help you to build "
103
+ "impressive websites with no coding required."
104
+ msgstr ""
105
+
106
+ #: admin/settings/about.php:57
107
+ msgid "Get more widgets and addons with "
108
+ msgstr ""
109
+
110
+ #: admin/settings/about.php:57
111
+ msgid "Premium Addons Pro"
112
+ msgstr ""
113
+
114
+ #: admin/settings/about.php:57 admin/settings/about.php:69
115
+ msgid "Click Here"
116
+ msgstr ""
117
+
118
+ #: admin/settings/about.php:57
119
+ msgid " to know more."
120
+ msgstr ""
121
+
122
+ #: admin/settings/about.php:68
123
+ msgid "Docs and Support"
124
+ msgstr ""
125
+
126
+ #: admin/settings/about.php:69
127
+ msgid ""
128
+ "It’s highly recommended to check out documentation and FAQ before using this "
129
+ "plugin. "
130
+ msgstr ""
131
+
132
+ #: admin/settings/about.php:69
133
+ msgid " for more details. You can also join our "
134
+ msgstr ""
135
+
136
+ #: admin/settings/about.php:69
137
+ msgid "Facebook Group"
138
+ msgstr ""
139
+
140
+ #: admin/settings/about.php:69
141
+ msgid " and Our "
142
+ msgstr ""
143
+
144
+ #: admin/settings/about.php:69
145
+ msgid "Community Forums"
146
+ msgstr ""
147
+
148
+ #: admin/settings/about.php:76 admin/settings/elements.php:644
149
+ #: admin/settings/gomaps.php:92 admin/settings/sys-info.php:52
150
+ msgid "Did you like Premium Addons for Elementor Plugin? Please "
151
+ msgstr ""
152
+
153
+ #: admin/settings/about.php:76 admin/settings/elements.php:644
154
+ #: admin/settings/gomaps.php:92 admin/settings/sys-info.php:52
155
+ msgid "Click Here to Rate it ★★★★★"
156
+ msgstr ""
157
+
158
  #: admin/settings/elements.php:40
159
  msgid "Settings"
160
  msgstr ""
163
  msgid "Are you sure you want to reinstall version "
164
  msgstr ""
165
 
166
+ #: admin/settings/elements.php:55 admin/settings/version-control.php:81
167
+ #: includes/maintenance.php:28
168
  msgid "Rollback to Previous Version"
169
  msgstr ""
170
 
176
  msgid "Cancel"
177
  msgstr ""
178
 
179
+ #: admin/settings/elements.php:186 widgets/premium-banner.php:20
180
  msgid "Banner"
181
  msgstr ""
182
 
183
+ #: admin/settings/elements.php:193 widgets/premium-blog.php:14
184
  msgid "Blog"
185
  msgstr ""
186
 
187
+ #: admin/settings/elements.php:203 widgets/premium-blog.php:551
188
  #: widgets/premium-blog.php:1104 widgets/premium-carousel.php:18
189
  #: widgets/premium-carousel.php:47
190
  msgid "Carousel"
191
  msgstr ""
192
 
193
+ #: admin/settings/elements.php:210 widgets/premium-countdown.php:11
194
  #: widgets/premium-countdown.php:36
195
  msgid "Countdown"
196
  msgstr ""
197
 
198
+ #: admin/settings/elements.php:220 widgets/premium-counter.php:13
199
  #: widgets/premium-counter.php:37
200
  msgid "Counter"
201
  msgstr ""
202
 
203
+ #: admin/settings/elements.php:227 widgets/premium-dual-header.php:19
204
  #: widgets/premium-dual-header.php:38
205
  msgid "Dual Heading"
206
  msgstr ""
207
 
208
+ #: admin/settings/elements.php:237 widgets/premium-fancytext.php:12
209
  #: widgets/premium-fancytext.php:35 widgets/premium-fancytext.php:65
210
  #: widgets/premium-fancytext.php:318
211
  msgid "Fancy Text"
212
  msgstr ""
213
 
214
+ #: admin/settings/elements.php:244 widgets/premium-image-scroll.php:24
215
  msgid "Image Scroll"
216
  msgstr ""
217
 
218
+ #: admin/settings/elements.php:256 widgets/premium-image-separator.php:18
219
  msgid "Image Separator"
220
  msgstr ""
221
 
222
+ #: admin/settings/elements.php:264 widgets/premium-maps.php:19
223
  msgid "Maps"
224
  msgstr ""
225
 
226
+ #: admin/settings/elements.php:275 widgets/premium-modalbox.php:21
227
  #: widgets/premium-modalbox.php:1162
228
  msgid "Modal Box"
229
  msgstr ""
230
 
231
+ #: admin/settings/elements.php:282 widgets/premium-person.php:13
232
  #: widgets/premium-person.php:125
233
  msgid "Person"
234
  msgstr ""
235
 
236
+ #: admin/settings/elements.php:294 widgets/premium-progressbar.php:14
237
  #: widgets/premium-progressbar.php:224
238
  msgid "Progress Bar"
239
  msgstr ""
240
 
241
+ #: admin/settings/elements.php:301
242
  msgid "Testimonials"
243
  msgstr ""
244
 
245
+ #: admin/settings/elements.php:312 widgets/premium-banner.php:248
246
  #: widgets/premium-banner.php:527 widgets/premium-blog.php:424
247
  #: widgets/premium-blog.php:691 widgets/premium-counter.php:43
248
+ #: widgets/premium-counter.php:363 widgets/premium-grid.php:323
249
  #: widgets/premium-grid.php:720 widgets/premium-maps.php:180
250
  #: widgets/premium-maps.php:364 widgets/premium-modalbox.php:129
251
  #: widgets/premium-pricing-table.php:56 widgets/premium-pricing-table.php:436
256
  msgid "Title"
257
  msgstr ""
258
 
259
+ #: admin/settings/elements.php:319 widgets/premium-videobox.php:15
260
  #: widgets/premium-videobox.php:38 widgets/premium-videobox.php:301
261
  msgid "Video Box"
262
  msgstr ""
263
 
264
+ #: admin/settings/elements.php:329 widgets/premium-pricing-table.php:18
265
  #: widgets/premium-pricing-table.php:67
266
  msgid "Pricing Table"
267
  msgstr ""
268
 
269
+ #: admin/settings/elements.php:336 widgets/premium-banner.php:296
270
  #: widgets/premium-banner.php:624 widgets/premium-button.php:20
271
  #: widgets/premium-button.php:38 widgets/premium-button.php:455
272
  #: widgets/premium-contactform.php:166 widgets/premium-contactform.php:429
276
  msgid "Button"
277
  msgstr ""
278
 
279
+ #: admin/settings/elements.php:346 widgets/premium-contactform.php:13
280
  msgid "Contact Form7"
281
  msgstr ""
282
 
283
+ #: admin/settings/elements.php:353 widgets/premium-image-button.php:12
284
  msgid "Image Button"
285
  msgstr ""
286
 
287
+ #: admin/settings/elements.php:364 widgets/premium-blog.php:113
288
  #: widgets/premium-grid.php:18
289
  msgid "Grid"
290
  msgstr ""
291
 
292
+ #: admin/settings/elements.php:371 widgets/premium-vscroll.php:18
293
  msgid "Vertical Scroll"
294
  msgstr ""
295
 
296
+ #: admin/settings/elements.php:386
297
  msgid "Premium Alert Box"
298
  msgstr ""
299
 
300
+ #: admin/settings/elements.php:394
301
  msgid "Premium Icon Box"
302
  msgstr ""
303
 
304
+ #: admin/settings/elements.php:406
305
  msgid "Premium Twitter Feed"
306
  msgstr ""
307
 
308
+ #: admin/settings/elements.php:414
309
  msgid "Premium Instagram Feed"
310
  msgstr ""
311
 
312
+ #: admin/settings/elements.php:425
313
  msgid "Premium Flip Box"
314
  msgstr ""
315
 
316
+ #: admin/settings/elements.php:433
317
  msgid "Premium Unfold"
318
  msgstr ""
319
 
320
+ #: admin/settings/elements.php:444
321
  msgid "Premium Messenger Chat"
322
  msgstr ""
323
 
324
+ #: admin/settings/elements.php:452
325
  msgid "Premium Tabs"
326
  msgstr ""
327
 
328
+ #: admin/settings/elements.php:462
329
  msgid "Premium Chart"
330
  msgstr ""
331
 
332
+ #: admin/settings/elements.php:470
333
  msgid "Premium Preview Window"
334
  msgstr ""
335
 
336
+ #: admin/settings/elements.php:480
337
  msgid "Premium Image Hotspots"
338
  msgstr ""
339
 
340
+ #: admin/settings/elements.php:488
341
  msgid "Premium Facebook Reviews"
342
  msgstr ""
343
 
344
+ #: admin/settings/elements.php:498
345
  msgid "Premium Image Comparison"
346
  msgstr ""
347
 
348
+ #: admin/settings/elements.php:506
349
  msgid "Premium Divider"
350
  msgstr ""
351
 
352
+ #: admin/settings/elements.php:517
353
  msgid "Premium Magic Section"
354
  msgstr ""
355
 
356
+ #: admin/settings/elements.php:525
357
  msgid "Premium Google Reviews"
358
  msgstr ""
359
 
360
+ #: admin/settings/elements.php:535
361
  msgid "Premium Behance Feed"
362
  msgstr ""
363
 
364
+ #: admin/settings/elements.php:543
365
  msgid "Premium Tables"
366
  msgstr ""
367
 
368
+ #: admin/settings/elements.php:554
369
  msgid "Premium Image Layers"
370
  msgstr ""
371
 
372
+ #: admin/settings/elements.php:562
373
  msgid "Premium iHover"
374
  msgstr ""
375
 
376
+ #: admin/settings/elements.php:573
377
  msgid "Premium Content Switcher"
378
  msgstr ""
379
 
380
+ #: admin/settings/elements.php:581
381
  msgid "Premium Facebook Feed"
382
  msgstr ""
383
 
384
+ #: admin/settings/elements.php:592
385
  msgid "Premium Whatsapp Chat"
386
  msgstr ""
387
 
388
+ #: admin/settings/elements.php:603
389
  msgid "Premium Section Parallax"
390
  msgstr ""
391
 
392
+ #: admin/settings/elements.php:610
393
  msgid "Premium Section Particles"
394
  msgstr ""
395
 
396
+ #: admin/settings/elements.php:620
397
  msgid "Premium Section Animated Gradient"
398
  msgstr ""
399
 
400
+ #: admin/settings/elements.php:627
401
  msgid "Premium Section Ken Burns"
402
  msgstr ""
403
 
404
+ #: admin/settings/elements.php:639 admin/settings/gomaps.php:89
405
+ #: admin/settings/version-control.php:108
406
+ msgid "Save Settings"
407
+ msgstr ""
408
+
409
+ #: admin/settings/gomaps.php:75
410
+ msgid ""
411
+ "Maps Element requires Google API key to be entered below. If you don’t have "
412
+ "one, click "
413
+ msgstr ""
414
+
415
+ #: admin/settings/gomaps.php:75
416
+ msgid "here"
417
+ msgstr ""
418
+
419
+ #: admin/settings/gomaps.php:75
420
+ msgid " to get your key."
421
+ msgstr ""
422
+
423
+ #: admin/settings/gomaps.php:80
424
+ msgid "Google Maps API Key:"
425
+ msgstr ""
426
+
427
  #: admin/settings/gomaps.php:85
428
  msgid "Enable Maps API JS File:"
429
  msgstr ""
430
 
431
+ #: admin/settings/gomaps.php:85
432
+ msgid ""
433
+ "This will load API JS file if it's not loaded by another theme or plugin"
434
+ msgstr ""
435
+
436
  #: admin/settings/gopro.php:13
437
  msgid "Get PRO Widgets & Addons"
438
  msgstr ""
439
 
440
+ #: admin/settings/gopro.php:46
441
  msgid "Widgets Settings"
442
  msgstr ""
443
 
449
  msgid "System setup information useful for debugging purposes."
450
  msgstr ""
451
 
452
+ #: admin/settings/version-control.php:29
453
  msgid "Version Control"
454
  msgstr ""
455
 
456
+ #: admin/settings/version-control.php:82
457
+ #, php-format
458
+ msgid ""
459
+ "Experiencing an issue with Premium Addons for Elementor version %s? Rollback "
460
+ "to a previous version before the issue appeared."
461
+ msgstr ""
462
+
463
+ #: admin/settings/version-control.php:88
464
+ msgid "Reinstall Version 3.3.1"
465
+ msgstr ""
466
+
467
+ #: admin/settings/version-control.php:90
468
+ msgid "Warning: Please backup your database before making the rollback."
469
+ msgstr ""
470
+
471
+ #: admin/settings/version-control.php:96
472
+ msgid "Become a Beta Tester"
473
+ msgstr ""
474
+
475
+ #: admin/settings/version-control.php:97
476
+ msgid ""
477
+ "Turn-on Beta Tester, to get notified when a new beta version of Premium "
478
+ "Addons for Elementor. The Beta version will not install automatically. You "
479
+ "always have the option to ignore it."
480
+ msgstr ""
481
+
482
+ #: admin/settings/version-control.php:101
483
  msgid "Beta Tester"
484
  msgstr ""
485
 
486
+ #: admin/settings/version-control.php:103
487
  msgid "Check this box to get updates for beta versions"
488
  msgstr ""
489
 
490
+ #: admin/settings/version-control.php:104
491
+ msgid ""
492
+ "Please Note: We do not recommend updating to a beta version on production "
493
+ "sites."
494
+ msgstr ""
495
+
496
  #: includes/compatibility/class-premium-addons-wpml.php:90
497
  msgid "Banner: Title"
498
  msgstr ""
808
  msgid "Vertical Scroll: Section ID"
809
  msgstr ""
810
 
811
+ #: includes/rollback.php:82
812
  msgid "Rolling Back to Version "
813
  msgstr ""
814
 
1208
  #: widgets/premium-button.php:650 widgets/premium-carousel.php:581
1209
  #: widgets/premium-contactform.php:477 widgets/premium-contactform.php:533
1210
  #: widgets/premium-countdown.php:373 widgets/premium-countdown.php:450
1211
+ #: widgets/premium-counter.php:269 widgets/premium-fancytext.php:351
1212
  #: widgets/premium-fancytext.php:409 widgets/premium-fancytext.php:456
1213
  #: widgets/premium-grid.php:900 widgets/premium-grid.php:994
1214
  #: widgets/premium-grid.php:1116 widgets/premium-modalbox.php:603
1236
  #: widgets/premium-button.php:531 widgets/premium-button.php:673
1237
  #: widgets/premium-carousel.php:764 widgets/premium-contactform.php:264
1238
  #: widgets/premium-contactform.php:500 widgets/premium-countdown.php:414
1239
+ #: widgets/premium-counter.php:342 widgets/premium-dual-header.php:283
1240
  #: widgets/premium-dual-header.php:425 widgets/premium-grid.php:602
1241
  #: widgets/premium-grid.php:659 widgets/premium-grid.php:799
1242
  #: widgets/premium-grid.php:922 widgets/premium-grid.php:1016
1266
  #: widgets/premium-blog.php:991 widgets/premium-blog.php:1028
1267
  #: widgets/premium-blog.php:1114 widgets/premium-carousel.php:542
1268
  #: widgets/premium-carousel.php:701 widgets/premium-countdown.php:347
1269
+ #: widgets/premium-countdown.php:435 widgets/premium-counter.php:193
1270
+ #: widgets/premium-counter.php:370 widgets/premium-counter.php:410
1271
  #: widgets/premium-fancytext.php:326 widgets/premium-fancytext.php:384
1272
  #: widgets/premium-fancytext.php:431 widgets/premium-grid.php:727
1273
  #: widgets/premium-grid.php:758 widgets/premium-grid.php:886
1723
 
1724
  #: widgets/premium-blog.php:887 widgets/premium-blog.php:1128
1725
  #: widgets/premium-button.php:393 widgets/premium-carousel.php:559
1726
+ #: widgets/premium-counter.php:210 widgets/premium-counter.php:232
1727
  #: widgets/premium-image-button.php:297 widgets/premium-modalbox.php:840
1728
  #: widgets/premium-pricing-table.php:370 widgets/premium-pricing-table.php:389
1729
  #: widgets/premium-pricing-table.php:512 widgets/premium-pricing-table.php:1128
1877
  msgstr ""
1878
 
1879
  #: widgets/premium-button.php:173 widgets/premium-carousel.php:524
1880
+ #: widgets/premium-countdown.php:43 widgets/premium-counter.php:254
1881
  #: widgets/premium-title.php:50
1882
  msgid "Style"
1883
  msgstr ""
1900
 
1901
  #: widgets/premium-button.php:191 widgets/premium-button.php:202
1902
  #: widgets/premium-button.php:215 widgets/premium-carousel.php:673
1903
+ #: widgets/premium-counter.php:186 widgets/premium-image-button.php:179
1904
  #: widgets/premium-image-button.php:190 widgets/premium-image-button.php:203
1905
  #: widgets/premium-image-scroll.php:214 widgets/premium-modalbox.php:65
1906
  #: widgets/premium-modalbox.php:265 widgets/premium-modalbox.php:276
2254
  msgid "Left Icon"
2255
  msgstr ""
2256
 
2257
+ #: widgets/premium-carousel.php:529 widgets/premium-counter.php:259
2258
  msgid "Circle Background"
2259
  msgstr ""
2260
 
2261
+ #: widgets/premium-carousel.php:530 widgets/premium-counter.php:260
2262
  msgid "Square Background"
2263
  msgstr ""
2264
 
2616
  msgid "Choose a position for your icon"
2617
  msgstr ""
2618
 
2619
+ #: widgets/premium-counter.php:256
2620
  msgid ""
2621
  "We are giving you three quick preset if you are in a hurry. Otherwise, "
2622
  "create your own with various options"
2623
  msgstr ""
2624
 
2625
+ #: widgets/premium-counter.php:258
2626
  msgid "Simple"
2627
  msgstr ""
2628
 
2629
+ #: widgets/premium-counter.php:261
2630
  msgid "Design Your Own"
2631
  msgstr ""
2632
 
2633
+ #: widgets/premium-counter.php:286
2634
  msgid "Background size"
2635
  msgstr ""
2636
 
2637
+ #: widgets/premium-counter.php:308
2638
  msgid "Vertical Alignment"
2639
  msgstr ""
2640
 
2641
+ #: widgets/premium-counter.php:403 widgets/premium-progressbar.php:179
2642
  msgid "Value"
2643
  msgstr ""
2644
 
2645
+ #: widgets/premium-counter.php:436 widgets/premium-fancytext.php:423
2646
  msgid "Prefix & Suffix"
2647
  msgstr ""
2648
 
2649
+ #: widgets/premium-counter.php:443
2650
  msgid "Prefix Color"
2651
  msgstr ""
2652
 
2653
+ #: widgets/premium-counter.php:467
2654
  msgid "Suffix Color"
2655
  msgstr ""
2656
 
plugin.php CHANGED
@@ -1,4 +1,5 @@
1
  <?php
 
2
  namespace PremiumAddons;
3
 
4
  if ( ! defined( 'ABSPATH' ) ) exit;
@@ -7,20 +8,25 @@ class Plugin {
7
 
8
  public static $instance = null;
9
 
10
-
11
  public static function instance() {
 
12
  if ( is_null( self::$instance ) ) {
 
13
  self::$instance = new self();
 
14
  }
15
 
16
  return self::$instance;
17
  }
18
 
19
  public function init() {
 
20
  $this->init_components();
 
21
  }
22
 
23
  private function init_components() {
 
24
  new PA_About();
25
  new PA_Gomaps();
26
  new PA_Version_Control();
@@ -30,7 +36,9 @@ class Plugin {
30
  }
31
 
32
  private function __construct() {
33
- add_action( 'init', array($this, 'init' ), 0 );
 
 
34
  }
35
  }
36
 
1
  <?php
2
+
3
  namespace PremiumAddons;
4
 
5
  if ( ! defined( 'ABSPATH' ) ) exit;
8
 
9
  public static $instance = null;
10
 
 
11
  public static function instance() {
12
+
13
  if ( is_null( self::$instance ) ) {
14
+
15
  self::$instance = new self();
16
+
17
  }
18
 
19
  return self::$instance;
20
  }
21
 
22
  public function init() {
23
+
24
  $this->init_components();
25
+
26
  }
27
 
28
  private function init_components() {
29
+
30
  new PA_About();
31
  new PA_Gomaps();
32
  new PA_Version_Control();
36
  }
37
 
38
  private function __construct() {
39
+
40
+ add_action( 'init', array( $this, 'init' ), 0 );
41
+
42
  }
43
  }
44
 
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.3.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.3.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.3.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.3.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.3.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.3.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.3.1
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
@@ -139,6 +139,10 @@ Premium Addons for Elementor is 100% Ads Free, Ads can only be detected from You
139
 
140
  == Changelog ==
141
 
 
 
 
 
142
  = 3.3.1 =
143
 
144
  - Fixed: `Hover Opacity`, `Title Background` options don't work after v3.3.0.
5
  Requires at least: 4.5
6
  Tested up to: 5.1.1
7
  Requires PHP: 5.4
8
+ Stable tag: 3.3.2
9
  License: GPL v3.0
10
  License URI: https://opensource.org/licenses/GPL-3.0
11
 
139
 
140
  == Changelog ==
141
 
142
+ = 3.3.2 =
143
+
144
+ - Tweak: Added `_content_template()` method for Counter widget to enhance rendering speed.
145
+
146
  = 3.3.1 =
147
 
148
  - Fixed: `Hover Opacity`, `Title Background` options don't work after v3.3.0.
widgets/premium-button.php CHANGED
@@ -760,7 +760,7 @@ class Premium_Button extends Widget_Base {
760
 
761
  $button_text = $settings['premium_button_text'];
762
 
763
- if($settings['premium_button_link_selection'] == 'url'){
764
  $button_url = $settings['premium_button_link']['url'];
765
  } else {
766
  $button_url = get_permalink( $settings['premium_button_existing_link'] );
@@ -772,18 +772,18 @@ class Premium_Button extends Widget_Base {
772
 
773
  $button_icon = $settings['premium_button_icon_selection'];
774
 
775
- if ($settings['premium_button_hover_effect'] == 'none'){
776
  $style_dir = 'premium-button-none';
777
- } elseif($settings['premium_button_hover_effect'] == 'style1'){
778
  $style_dir = 'premium-button-style1-' . $settings['premium_button_style1_dir'];
779
- } elseif ($settings['premium_button_hover_effect'] == 'style2'){
780
  $style_dir = 'premium-button-style2-' . $settings['premium_button_style2_dir'];
781
- } elseif ($settings['premium_button_hover_effect'] == 'style3') {
782
  $style_dir = 'premium-button-style3-' . $settings['premium_button_icon_position'];
783
- } elseif ($settings['premium_button_hover_effect'] == 'style4') {
784
  $style_dir = 'premium-button-style4-' . $settings['premium_button_style4_dir'];
785
  $slide_icon = $settings['premium_button_style4_icon_selection'];
786
- } elseif ($settings['premium_button_hover_effect'] == 'style5'){
787
  $style_dir = 'premium-button-style5-' . $settings['premium_button_style5_dir'];
788
  }
789
  ?>
760
 
761
  $button_text = $settings['premium_button_text'];
762
 
763
+ if( $settings['premium_button_link_selection'] == 'url' ){
764
  $button_url = $settings['premium_button_link']['url'];
765
  } else {
766
  $button_url = get_permalink( $settings['premium_button_existing_link'] );
772
 
773
  $button_icon = $settings['premium_button_icon_selection'];
774
 
775
+ if ( $settings['premium_button_hover_effect'] == 'none' ) {
776
  $style_dir = 'premium-button-none';
777
+ } elseif( $settings['premium_button_hover_effect'] == 'style1' ) {
778
  $style_dir = 'premium-button-style1-' . $settings['premium_button_style1_dir'];
779
+ } elseif ( $settings['premium_button_hover_effect'] == 'style2' ) {
780
  $style_dir = 'premium-button-style2-' . $settings['premium_button_style2_dir'];
781
+ } elseif ( $settings['premium_button_hover_effect'] == 'style3' ) {
782
  $style_dir = 'premium-button-style3-' . $settings['premium_button_icon_position'];
783
+ } elseif ( $settings['premium_button_hover_effect'] == 'style4' ) {
784
  $style_dir = 'premium-button-style4-' . $settings['premium_button_style4_dir'];
785
  $slide_icon = $settings['premium_button_style4_icon_selection'];
786
+ } elseif ( $settings['premium_button_hover_effect'] == 'style5' ) {
787
  $style_dir = 'premium-button-style5-' . $settings['premium_button_style5_dir'];
788
  }
789
  ?>
widgets/premium-counter.php CHANGED
@@ -174,6 +174,7 @@ class Premium_Counter extends Widget_Base {
174
  [
175
  'label' => __('Animations', 'premium-addons-for-elementor'),
176
  'type' => Controls_Manager::ANIMATION,
 
177
  ]
178
  );
179
 
@@ -542,13 +543,14 @@ class Premium_Counter extends Widget_Base {
542
  ?>
543
 
544
  <div class="premium-counter-icon <?php echo $direction; ?>">
545
- <span data-animation="<?php echo $animation; ?>" class="icon<?php echo $flex_width; ?><?php echo $icon_style; ?>"><?php echo $icon_image; ?></span>
546
  </div>
547
 
548
  <?php
549
  }
550
 
551
  protected function render() {
 
552
  $settings = $this->get_settings_for_display();
553
 
554
  $this->add_inline_editing_attributes('premium_counter_title');
@@ -557,12 +559,12 @@ class Premium_Counter extends Widget_Base {
557
  //
558
  // $decimal = $settings['premium_counter_d_separator'];
559
 
560
- if( $settings['premium_counter_icon_image'] == 'icon' ) {
561
- $icon_image = '<i class="' . $settings['premium_counter_icon'] .'"></i>';
562
- } else {
563
- $alt = esc_attr( Control_Media::get_image_alt( $settings['premium_counter_image_upload'] ) );
564
- $icon_image = '<img class="custom-image" src="'.$settings['premium_counter_image_upload']['url'] . '" alt="' . $alt . '">';
565
- }
566
 
567
  $position = $settings['premium_counter_icon_position'];
568
 
@@ -602,13 +604,13 @@ class Premium_Counter extends Widget_Base {
602
 
603
  <div <?php echo $this->get_render_attribute_string('counter'); ?>>
604
  <?php if( $position == 'right' ) {
605
- $this->get_counter_content($settings, $position);
606
- if( ! empty( $settings['premium_counter_icon'] ) || !empty( $settings['premium_counter_image_upload'] ) ) {
607
  $this->get_counter_icon($settings, $position);
608
  }
609
 
610
  } else {
611
- if( !empty( $settings['premium_counter_icon'] ) || !empty( $settings['premium_counter_image_upload'] ) ) {
612
  $this->get_counter_icon($settings, $left);
613
  }
614
  $this->get_counter_content($settings, $left);
@@ -620,4 +622,121 @@ class Premium_Counter extends Widget_Base {
620
 
621
  <?php
622
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
623
  }
174
  [
175
  'label' => __('Animations', 'premium-addons-for-elementor'),
176
  'type' => Controls_Manager::ANIMATION,
177
+ 'render_type' => 'template'
178
  ]
179
  );
180
 
543
  ?>
544
 
545
  <div class="premium-counter-icon <?php echo $direction; ?>">
546
+ <span class="icon<?php echo $flex_width; ?><?php echo $icon_style; ?>" data-animation="<?php echo $animation; ?>"><?php echo $icon_image; ?></span>
547
  </div>
548
 
549
  <?php
550
  }
551
 
552
  protected function render() {
553
+
554
  $settings = $this->get_settings_for_display();
555
 
556
  $this->add_inline_editing_attributes('premium_counter_title');
559
  //
560
  // $decimal = $settings['premium_counter_d_separator'];
561
 
562
+ // if( $settings['premium_counter_icon_image'] == 'icon' ) {
563
+ // $icon_image = '<i class="' . $settings['premium_counter_icon'] .'"></i>';
564
+ // } else {
565
+ // $alt = esc_attr( Control_Media::get_image_alt( $settings['premium_counter_image_upload'] ) );
566
+ // $icon_image = '<img class="custom-image" src="'.$settings['premium_counter_image_upload']['url'] . '" alt="' . $alt . '">';
567
+ // }
568
 
569
  $position = $settings['premium_counter_icon_position'];
570
 
604
 
605
  <div <?php echo $this->get_render_attribute_string('counter'); ?>>
606
  <?php if( $position == 'right' ) {
607
+ $this->get_counter_content( $settings, $position );
608
+ if( ! empty( $settings['premium_counter_icon'] ) || ! empty( $settings['premium_counter_image_upload']['url'] ) ) {
609
  $this->get_counter_icon($settings, $position);
610
  }
611
 
612
  } else {
613
+ if( ! empty( $settings['premium_counter_icon'] ) || ! empty( $settings['premium_counter_image_upload']['url'] ) ) {
614
  $this->get_counter_icon($settings, $left);
615
  }
616
  $this->get_counter_content($settings, $left);
622
 
623
  <?php
624
  }
625
+
626
+ protected function _content_template() {
627
+ ?>
628
+ <#
629
+
630
+ var iconImage,
631
+ position,
632
+ center,
633
+ left;
634
+
635
+
636
+ view.addInlineEditingAttributes('title');
637
+
638
+ position = settings.premium_counter_icon_position;
639
+
640
+ center = 'top' === position ? ' center' : '';
641
+
642
+ left = 'left' === center ? ' left' : '';
643
+
644
+ var delimiter = '' === settings.premium_counter_t_separator ? ',' : settings.premium_counter_t_separator,
645
+ round = '' === settings.premium_counter_d_after ? 0 : settings.premium_counter_d_after;
646
+
647
+ view.addRenderAttribute( 'counter', 'class', [ 'premium-counter', 'premium-counter-area' + center ] );
648
+ view.addRenderAttribute( 'counter', 'data-duration', settings.premium_counter_speed * 1000 );
649
+ view.addRenderAttribute( 'counter', 'data-to-value', settings.premium_counter_end_value );
650
+ view.addRenderAttribute( 'counter', 'data-delimiter', delimiter );
651
+ view.addRenderAttribute( 'counter', 'data-rounding', round );
652
+
653
+ function getCounterContent( direction ) {
654
+
655
+ var startValue = settings.premium_counter_start_value;
656
+
657
+ view.addRenderAttribute( 'counter_wrap', 'class', [ 'premium-init-wrapper', direction ] );
658
+
659
+ view.addRenderAttribute( 'value', 'id', 'counter-' + view.getID() );
660
+
661
+ view.addRenderAttribute( 'value', 'class', 'premium-counter-init' );
662
+
663
+ #>
664
+
665
+ <div {{{ view.getRenderAttributeString('counter_wrap') }}}>
666
+
667
+ <# if ( '' !== settings.premium_counter_preffix ) { #>
668
+ <span id="prefix" class="counter-su-pre">{{{ settings.premium_counter_preffix }}}</span>
669
+ <# } #>
670
+
671
+ <span {{{ view.getRenderAttributeString('value') }}}>{{{ startValue }}}</span>
672
+
673
+ <# if ( '' !== settings.premium_counter_suffix ) { #>
674
+ <span id="suffix" class="counter-su-pre">{{{ settings.premium_counter_suffix }}}</span>
675
+ <# } #>
676
+
677
+ <# if ( '' !== settings.premium_counter_title ) { #>
678
+ <h4 class="premium-counter-title">
679
+ <div {{{ view.getRenderAttributeString('title') }}}>
680
+ {{{ settings.premium_counter_title }}}
681
+ </div>
682
+ </h4>
683
+ <# } #>
684
+ </div>
685
+
686
+ <#
687
+ }
688
+
689
+ function getCounterIcon( direction ) {
690
+
691
+ var iconStyle = 'simple' !== settings.premium_counter_icon_style ? ' icon-bg ' + settings.premium_counter_icon_style : '',
692
+ animation = settings.premium_counter_icon_animation,
693
+ flexWidth = '';
694
+
695
+ if( 'custom' === settings.premium_counter_icon_image && 'simple' === settings.premium_counter_icon_style ) {
696
+ flexWidth = ' flex-width ';
697
+ }
698
+
699
+ view.addRenderAttribute( 'icon_wrap', 'class', [ 'premium-counter-icon', direction ] );
700
+
701
+ var iconClass = 'icon' + flexWidth + iconStyle;
702
+
703
+ #>
704
+
705
+ <div {{{ view.getRenderAttributeString('icon_wrap') }}}>
706
+ <span data-animation="{{ animation }}" class="{{ iconClass }}">
707
+ <# if( 'icon' === settings.premium_counter_icon_image ) { #>
708
+ <i class="{{ settings.premium_counter_icon }}"></i>
709
+ <# } else { #>
710
+ <img class="custom-image" src="{{ settings.premium_counter_image_upload.url }}">
711
+ <# } #>
712
+ </span>
713
+ </div>
714
+
715
+ <#
716
+ }
717
+
718
+ #>
719
+
720
+ <div {{{ view.getRenderAttributeString('counter') }}}>
721
+ <# if( 'right' === position ) {
722
+
723
+ getCounterContent( position );
724
+
725
+ if( '' !== settings.premium_counter_icon || '' !== settings.premium_counter_image_upload.url ) {
726
+ getCounterIcon( position );
727
+ }
728
+
729
+ } else {
730
+
731
+ if( '' !== settings.premium_counter_icon || '' !== settings.premium_counter_image_upload.url ) {
732
+ getCounterIcon( position );
733
+ }
734
+
735
+ getCounterContent( position );
736
+
737
+ } #>
738
+ </div>
739
+
740
+ <?php
741
+ }
742
  }