Elementor Essential Addons - Version 2.9.3

Version Description

  • Fixed: Fatal error Call to undefined function get_plugins()
  • Fixed: View Details for other plugins in plugins page
Download this release

Release Info

Developer re_enter_rupok
Plugin Icon 128x128 Elementor Essential Addons
Version 2.9.3
Comparing to
See all releases

Code changes from version 2.9.2 to 2.9.3

admin/assets/css/admin.css CHANGED
File without changes
assets/css/essential-addons-elementor.css CHANGED
@@ -7444,3 +7444,6 @@ a.eael-gallery-load-more, a.eael-gallery-load-more:hover {
7444
  transform: none;
7445
  }
7446
  }
 
 
 
7444
  transform: none;
7445
  }
7446
  }
7447
+ .elementor-section.eael-particles-section .elementor-container {
7448
+ z-index: 99;
7449
+ }
assets/sass/_particles.scss CHANGED
@@ -1,3 +1,3 @@
1
- .elementor-section .elementor-container {
2
  z-index: 99;
3
- }
1
+ .elementor-section.eael-particles-section .elementor-container {
2
  z-index: 99;
3
+ }
essential_adons_elementor.php CHANGED
@@ -4,7 +4,7 @@
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
- * Version: 2.9.2
8
  * Author URI: https://wpdeveloper.net/
9
  *
10
  * Text Domain: essential-addons-elementor
@@ -16,8 +16,8 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
16
  define( 'ESSENTIAL_ADDONS_EL_URL', plugins_url( '/', __FILE__ ) );
17
  define( 'ESSENTIAL_ADDONS_EL_PATH', plugin_dir_path( __FILE__ ) );
18
  define( 'ESSENTIAL_ADDONS_EL_ROOT', __FILE__ );
19
- define( 'ESSENTIAL_ADDONS_VERSION', '2.9.1' );
20
- define( 'ESSENTIAL_ADDONS_STABLE_VERSION', '2.9.1' );
21
  define( 'ESSENTIAL_ADDONS_BASENAME', plugin_basename( __FILE__ ) );
22
 
23
 
@@ -336,6 +336,9 @@ function eael_init() {
336
  if( ! function_exists( 'eael_is_elementor_active' ) ) :
337
  function eael_is_elementor_active() {
338
  $file_path = 'elementor/elementor.php';
 
 
 
339
  $installed_plugins = get_plugins();
340
  return isset( $installed_plugins[$file_path] );
341
  }
4
  * Description: The ultimate elements library for Elementor page builder plugin for WordPress.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
+ * Version: 2.9.3
8
  * Author URI: https://wpdeveloper.net/
9
  *
10
  * Text Domain: essential-addons-elementor
16
  define( 'ESSENTIAL_ADDONS_EL_URL', plugins_url( '/', __FILE__ ) );
17
  define( 'ESSENTIAL_ADDONS_EL_PATH', plugin_dir_path( __FILE__ ) );
18
  define( 'ESSENTIAL_ADDONS_EL_ROOT', __FILE__ );
19
+ define( 'ESSENTIAL_ADDONS_VERSION', '2.9.3' );
20
+ define( 'ESSENTIAL_ADDONS_STABLE_VERSION', '2.9.3' );
21
  define( 'ESSENTIAL_ADDONS_BASENAME', plugin_basename( __FILE__ ) );
22
 
23
 
336
  if( ! function_exists( 'eael_is_elementor_active' ) ) :
337
  function eael_is_elementor_active() {
338
  $file_path = 'elementor/elementor.php';
339
+ if ( ! function_exists( 'get_plugins' ) ) {
340
+ include ABSPATH . '/wp-admin/includes/plugin.php';
341
+ }
342
  $installed_plugins = get_plugins();
343
  return isset( $installed_plugins[$file_path] );
344
  }
extensions/eael-particle-section/eael-particle-section.php CHANGED
File without changes
extensions/eael-particle-section/particle-themes.php CHANGED
File without changes
includes/class-plugin-usage-tracker.php CHANGED
@@ -85,7 +85,7 @@ if( ! class_exists( 'Eael_Plugin_Usage_Tracker') ) {
85
  // add_action( 'admin_init', array( $this, 'do_tracking' ) );
86
 
87
  // Display the admin notice on activation
88
- add_action( 'wpdeveloper_notices', array( $this, 'optin_notice' ) );
89
  add_action( 'admin_notices', array( $this, 'marketing_notice' ) );
90
 
91
  // Deactivation
85
  // add_action( 'admin_init', array( $this, 'do_tracking' ) );
86
 
87
  // Display the admin notice on activation
88
+ add_action( 'wpdeveloper_optin_notice', array( $this, 'optin_notice' ) );
89
  add_action( 'admin_notices', array( $this, 'marketing_notice' ) );
90
 
91
  // Deactivation
includes/class-wpdev-core-install.php CHANGED
File without changes
includes/class-wpdev-notices.php CHANGED
@@ -107,7 +107,7 @@ class WPDeveloper_Notice {
107
  */
108
  public function init(){
109
  add_action( 'init', array( $this, 'first_install_track') );
110
- add_action( 'deactivate_' . $this->plugin_name, array( $this, 'first_install_end' ) );
111
  add_action( 'init', array( $this, 'hooks' ) );
112
  }
113
  /**
@@ -123,13 +123,15 @@ class WPDeveloper_Notice {
123
  add_action( 'wpdeveloper_notices', array( $this, 'content' ) );
124
  if( current_user_can( 'install_plugins' ) ) {
125
  add_action( 'wpdeveloper_notice_clicked', array( $this, 'clicked' ) );
126
- if( isset( $_GET['plugin'] ) ) {
127
  /**
128
  * Redirect User To the Current URL, but without set query arguments.
129
  */
130
  wp_safe_redirect( $this->redirect_to() );
131
  }
132
- $current_notice = $this->next_notice();
 
 
133
 
134
  $deserve_notice = $this->deserve_notice( $current_notice );
135
  $options_data = $this->get_options_data();
@@ -137,31 +139,26 @@ class WPDeveloper_Notice {
137
 
138
  $notice_time = isset( $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] )
139
  ? $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] : $this->timestamp;
 
140
  $current_notice_end = $this->makeTime( $notice_time, $this->cne_time );
141
 
142
  if( $deserve_notice ) {
143
  /**
144
  * TODO: automatic maybe later setup with time.
145
- */
146
-
147
- if( $this->timestamp >= $current_notice_end ) {
148
  $this->maybe_later( $current_notice );
149
  $notice_time = false;
150
  }
151
-
152
- if( isset( $options_data[ $this->plugin_name ]['current_notice_start'] ) ) {
153
- $current_notice_start = $options_data[ $this->plugin_name ]['current_notice_start'];
154
- } else {
155
- $current_notice_start = $this->timestamp;
156
- }
157
-
158
  if( $notice_time != false ) {
159
  if( $notice_time <= $this->timestamp ) {
160
  if( $current_notice === 'upsale' ) {
161
  $upsale_args = $this->get_upsale_args();
 
 
 
162
  $plugins = get_plugins();
163
  $pkey = $upsale_args['slug'] . '/' . $upsale_args['file'];
164
-
165
  if( isset( $plugins[ $pkey ] ) ) {
166
  return;
167
  }
@@ -206,14 +203,11 @@ class WPDeveloper_Notice {
206
  // }
207
  if( isset( $_GET['plugin'] ) && $_GET['plugin'] === $this->plugin_name ) {
208
  $options_data = $this->get_options_data();
209
- $clicked_from = $this->next_notice();
210
  extract($_GET);
211
 
212
  $later_time = '';
213
 
214
- // dump( $_GET );
215
- // die;
216
-
217
  switch( $clicked_from ) {
218
 
219
  case 'opt_in' :
@@ -280,7 +274,7 @@ class WPDeveloper_Notice {
280
  * @return void
281
  */
282
  public function before(){
283
- $current_notice = $this->next_notice();
284
  $classes = 'notice notice-info put-dismiss-notice';
285
  if( isset( $this->data['classes'] ) ) {
286
  if( isset( $this->data['classes'][ $current_notice ] ) ) {
@@ -307,7 +301,7 @@ class WPDeveloper_Notice {
307
  */
308
  public function content(){
309
  $options_data = $this->get_options_data();
310
- $notice = $this->next_notice();
311
 
312
  switch( $notice ) {
313
  case 'opt_in' :
@@ -431,15 +425,13 @@ class WPDeveloper_Notice {
431
  } else {
432
  $return_notice = $options_data[ $this->plugin_name ]['notice_will_show'];
433
  }
434
- $deserve_notice_timestamp = INF;
435
- $deserve_notice = '';
436
- foreach( $return_notice as $notice => $timestamp ) {
437
- if( $timestamp <= $deserve_notice_timestamp ) {
438
- $deserve_notice_timestamp = $timestamp;
439
- $deserve_notice = $notice;
440
- }
441
  }
442
- return $deserve_notice;
 
443
  }
444
  /**
445
  * Which notice is deserve to show in next slot.
@@ -467,7 +459,7 @@ class WPDeveloper_Notice {
467
  * @return void
468
  */
469
  public function admin_notices(){
470
- $current_notice = $this->next_notice();
471
  do_action( 'wpdeveloper_notice_clicked' );
472
  if( $current_notice == 'opt_in' ) {
473
  do_action( 'wpdeveloper_notices' );
107
  */
108
  public function init(){
109
  add_action( 'init', array( $this, 'first_install_track') );
110
+ add_action( 'deactivate_' . $this->plugin_file, array( $this, 'first_install_end' ) );
111
  add_action( 'init', array( $this, 'hooks' ) );
112
  }
113
  /**
123
  add_action( 'wpdeveloper_notices', array( $this, 'content' ) );
124
  if( current_user_can( 'install_plugins' ) ) {
125
  add_action( 'wpdeveloper_notice_clicked', array( $this, 'clicked' ) );
126
+ if( isset( $_GET['plugin'] ) && $_GET['plugin'] == $this->plugin_name ) {
127
  /**
128
  * Redirect User To the Current URL, but without set query arguments.
129
  */
130
  wp_safe_redirect( $this->redirect_to() );
131
  }
132
+ $return_notice = $this->next_notice();
133
+ $current_notice = current( $return_notice );
134
+ $next_notice = next( $return_notice );
135
 
136
  $deserve_notice = $this->deserve_notice( $current_notice );
137
  $options_data = $this->get_options_data();
139
 
140
  $notice_time = isset( $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] )
141
  ? $options_data[ $this->plugin_name ]['notice_will_show'][ $current_notice ] : $this->timestamp;
142
+ $next_notice_time = $options_data[ $this->plugin_name ]['notice_will_show'][ $next_notice ];
143
  $current_notice_end = $this->makeTime( $notice_time, $this->cne_time );
144
 
145
  if( $deserve_notice ) {
146
  /**
147
  * TODO: automatic maybe later setup with time.
148
+ */
149
+ if( ( $this->timestamp >= $current_notice_end ) || ( $this->timestamp >= $next_notice_time ) ) {
 
150
  $this->maybe_later( $current_notice );
151
  $notice_time = false;
152
  }
 
 
 
 
 
 
 
153
  if( $notice_time != false ) {
154
  if( $notice_time <= $this->timestamp ) {
155
  if( $current_notice === 'upsale' ) {
156
  $upsale_args = $this->get_upsale_args();
157
+ if ( ! function_exists( 'get_plugins' ) ) {
158
+ include ABSPATH . '/wp-admin/includes/plugin.php';
159
+ }
160
  $plugins = get_plugins();
161
  $pkey = $upsale_args['slug'] . '/' . $upsale_args['file'];
 
162
  if( isset( $plugins[ $pkey ] ) ) {
163
  return;
164
  }
203
  // }
204
  if( isset( $_GET['plugin'] ) && $_GET['plugin'] === $this->plugin_name ) {
205
  $options_data = $this->get_options_data();
206
+ $clicked_from = current( $this->next_notice() );
207
  extract($_GET);
208
 
209
  $later_time = '';
210
 
 
 
 
211
  switch( $clicked_from ) {
212
 
213
  case 'opt_in' :
274
  * @return void
275
  */
276
  public function before(){
277
+ $current_notice = current( $this->next_notice() );
278
  $classes = 'notice notice-info put-dismiss-notice';
279
  if( isset( $this->data['classes'] ) ) {
280
  if( isset( $this->data['classes'][ $current_notice ] ) ) {
301
  */
302
  public function content(){
303
  $options_data = $this->get_options_data();
304
+ $notice = current( $this->next_notice() );
305
 
306
  switch( $notice ) {
307
  case 'opt_in' :
425
  } else {
426
  $return_notice = $options_data[ $this->plugin_name ]['notice_will_show'];
427
  }
428
+
429
+ if( is_array( $return_notice ) ) {
430
+ $return_notice = array_flip( $return_notice );
431
+ ksort( $return_notice );
 
 
 
432
  }
433
+
434
+ return $return_notice;
435
  }
436
  /**
437
  * Which notice is deserve to show in next slot.
459
  * @return void
460
  */
461
  public function admin_notices(){
462
+ $current_notice = current( $this->next_notice() );
463
  do_action( 'wpdeveloper_notice_clicked' );
464
  if( $current_notice == 'opt_in' ) {
465
  do_action( 'wpdeveloper_notices' );
includes/eael-rollback.php CHANGED
@@ -40,6 +40,7 @@ if( ! class_exists('EAEL_Rollback') ) {
40
  * @var array
41
  */
42
  public $versions = [
 
43
  '2.9.1',
44
  '2.9.0',
45
  '2.8.7',
40
  * @var array
41
  */
42
  public $versions = [
43
+ '2.9.2',
44
  '2.9.1',
45
  '2.9.0',
46
  '2.8.7',
includes/extensions.php CHANGED
File without changes
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: elementor, elements, addons, elementor addon, elementor widget, page build
4
  Requires at least: 4.0
5
  Tested up to: 5.0.3
6
  Requires PHP: 5.4
7
- Stable tag: 2.9.2
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
@@ -169,6 +169,11 @@ Your existing elements/content will work with premium version. So you won't lose
169
 
170
  == Changelog ==
171
 
 
 
 
 
 
172
  = 2.9.2 =
173
 
174
  - Few minor bugfix and improvements
4
  Requires at least: 4.0
5
  Tested up to: 5.0.3
6
  Requires PHP: 5.4
7
+ Stable tag: 2.9.3
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
169
 
170
  == Changelog ==
171
 
172
+ = 2.9.3 =
173
+
174
+ - Fixed: Fatal error Call to undefined function get_plugins()
175
+ - Fixed: View Details for other plugins in plugins page
176
+
177
  = 2.9.2 =
178
 
179
  - Few minor bugfix and improvements