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 | |
| 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 +0 -0
- assets/css/essential-addons-elementor.css +3 -0
- assets/sass/_particles.scss +2 -2
- essential_adons_elementor.php +6 -3
- extensions/eael-particle-section/eael-particle-section.php +0 -0
- extensions/eael-particle-section/particle-themes.php +0 -0
- includes/class-plugin-usage-tracker.php +1 -1
- includes/class-wpdev-core-install.php +0 -0
- includes/class-wpdev-notices.php +21 -29
- includes/eael-rollback.php +1 -0
- includes/extensions.php +0 -0
- readme.txt +6 -1
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.
|
| 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.
|
| 20 |
-
define( 'ESSENTIAL_ADDONS_STABLE_VERSION', '2.9.
|
| 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( '
|
| 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->
|
| 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 |
-
$
|
|
|
|
|
|
|
| 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 |
-
|
| 435 |
-
$
|
| 436 |
-
|
| 437 |
-
|
| 438 |
-
$deserve_notice_timestamp = $timestamp;
|
| 439 |
-
$deserve_notice = $notice;
|
| 440 |
-
}
|
| 441 |
}
|
| 442 |
-
|
|
|
|
| 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.
|
| 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
|
