geno/wp-content/plugins/essential-addons-for-elementor-lite/includes/Traits/Admin.php
2024-02-01 11:54:18 +00:00

702 lines
32 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Essential_Addons_Elementor\Traits;
if ( !defined( 'ABSPATH' ) ) {
exit();
}
// Exit if accessed directly
use Essential_Addons_Elementor\Classes\Helper as HelperClass;
use Essential_Addons_Elementor\Classes\WPDeveloper_Notice;
use PriyoMukul\WPNotice\Notices;
use PriyoMukul\WPNotice\Utils\CacheBank;
use PriyoMukul\WPNotice\Utils\NoticeRemover;
trait Admin {
private static $cache_bank = null;
/**
* Create an admin menu.
*
* @since 1.1.2
*/
public function admin_menu() {
$menu_notice = '';
$menu_notice = ( $this->menu_notice_should_show() ) ?'<span class="eael-menu-notice">1</span>':'';
add_menu_page(
__( 'Essential Addons a', 'essential-addons-for-elementor-lite' ),
sprintf(__( 'Essential Addons %s', 'essential-addons-for-elementor-lite' ), $menu_notice ),
'manage_options',
'eael-settings',
[$this, 'admin_settings_page'],
$this->safe_url( EAEL_PLUGIN_URL . 'assets/admin/images/ea-icon-white.svg' ),
'58.6'
);
}
/**
* Loading all essential scripts
*
* @since 1.1.2
*/
public function admin_enqueue_scripts( $hook ) {
wp_enqueue_style( 'essential_addons_elementor-notice-css', EAEL_PLUGIN_URL . 'assets/admin/css/notice.css', false, EAEL_PLUGIN_VERSION );
if ( $hook == 'essential-addons_page_template-cloud' ) {
wp_enqueue_style( 'essential_addons_elementor-template-cloud-css', EAEL_PLUGIN_URL . 'assets/admin/css/cloud.css', false, EAEL_PLUGIN_VERSION );
}
if ( isset( $hook ) && $hook == 'toplevel_page_eael-settings' ) {
wp_enqueue_style( 'essential_addons_elementor-admin-css', EAEL_PLUGIN_URL . 'assets/admin/css/admin.css', false, EAEL_PLUGIN_VERSION );
if ( $this->pro_enabled ) {
wp_enqueue_style( 'eael_pro-admin-css', EAEL_PRO_PLUGIN_URL . 'assets/admin/css/admin.css', false, EAEL_PRO_PLUGIN_VERSION );
}
wp_enqueue_style( 'sweetalert2-css', EAEL_PLUGIN_URL . 'assets/admin/vendor/sweetalert2/css/sweetalert2.min.css', false, EAEL_PLUGIN_VERSION );
wp_enqueue_script( 'sweetalert2-js', EAEL_PLUGIN_URL . 'assets/admin/vendor/sweetalert2/js/sweetalert2.min.js', array( 'jquery', 'sweetalert2-core-js' ), EAEL_PLUGIN_VERSION, true );
wp_enqueue_script( 'sweetalert2-core-js', EAEL_PLUGIN_URL . 'assets/admin/vendor/sweetalert2/js/core.js', array( 'jquery' ), EAEL_PLUGIN_VERSION, true );
wp_enqueue_script( 'essential_addons_elementor-admin-js', EAEL_PLUGIN_URL . 'assets/admin/js/admin.js', array( 'jquery' ), EAEL_PLUGIN_VERSION, true );
//Internationalizing JS string translation
$i18n = [
'login_register' => [
//m=modal, rm=response modal, r=reCAPTCHA, g= google, f=facebook, e=error
'm_title' => __( 'Login | Register Form Settings', 'essential-addons-for-elementor-lite' ),
'm_footer' => $this->pro_enabled ? __( 'To configure the API Keys, check out this doc', 'essential-addons-for-elementor-lite' ) : __( 'To retrieve your API Keys, click here', 'essential-addons-for-elementor-lite' ),
'save' => __( 'Save', 'essential-addons-for-elementor-lite' ),
'cancel' => __( 'Cancel', 'essential-addons-for-elementor-lite' ),
'rm_title' => __( 'Login | Register Form Settings Saved', 'essential-addons-for-elementor-lite' ),
'rm_footer' => __( 'Reload the page to see updated data', 'essential-addons-for-elementor-lite' ),
'e_title' => __( 'Oops...', 'essential-addons-for-elementor-lite' ),
'e_text' => __( 'Something went wrong!', 'essential-addons-for-elementor-lite' ),
'r_title' => __( 'reCAPTCHA v2', 'essential-addons-for-elementor-lite' ),
'r_sitekey' => __( 'Site Key', 'essential-addons-for-elementor-lite' ),
'r_sitesecret' => __( 'Site Secret', 'essential-addons-for-elementor-lite' ),
'r_language' => __( 'Language', 'essential-addons-for-elementor-lite' ),
'r_language_ph'=> __( 'reCAPTCHA Language Code', 'essential-addons-for-elementor-lite' ),
'g_title' => __( 'Google Login', 'essential-addons-for-elementor-lite' ),
'g_cid' => __( 'Google Client ID', 'essential-addons-for-elementor-lite' ),
'f_title' => __( 'Facebook Login', 'essential-addons-for-elementor-lite' ),
'f_app_id' => __( 'Facebook APP ID', 'essential-addons-for-elementor-lite' ),
'f_app_secret' => __( 'Facebook APP Secret', 'essential-addons-for-elementor-lite' ),
]
];
wp_localize_script( 'essential_addons_elementor-admin-js', 'localize', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'nonce' => wp_create_nonce( 'essential-addons-elementor' ),
'i18n' => $i18n,
'settings_save' => EAEL_PLUGIN_URL . 'assets/admin/images/settings-save.gif',
'assets_regenerated' => EAEL_PLUGIN_URL . 'assets/admin/images/assets-regenerated.gif',
) );
}
$this->eael_admin_inline_css();
}
/**
* Create settings page.
*
* @since 1.1.2
*/
public function admin_settings_page() {
?>
<form action="" method="POST" id="eael-settings" name="eael-settings">
<div class="template__wrapper background__greyBg px30 py50">
<div class="eael-container">
<div class="eael-main__tab mb45">
<ul class="ls-none tab__menu">
<li class="tab__list active"><a class="tab__item" href="#general"><i class="ea-admin-icon eael-icon-gear-alt"></i><?php echo __( 'General', 'essential-addons-for-elementor-lite' ); ?></a></li>
<li class="tab__list"><a class="tab__item" href="#elements"><i class="ea-admin-icon eael-icon-element"></i><?php echo __( 'Elements', 'essential-addons-for-elementor-lite' ); ?></a></li>
<li class="tab__list"><a class="tab__item" href="#extensions"><i class="ea-admin-icon eael-icon-extension"></i><?php echo __( 'Extensions', 'essential-addons-for-elementor-lite' ); ?></a></li>
<li class="tab__list"><a class="tab__item" href="#tools"><i class="ea-admin-icon eael-icon-tools"></i><?php echo __( 'Tools', 'essential-addons-for-elementor-lite' ); ?></a></li>
<li class="tab__list"><a class="tab__item" href="#integrations"><i class="ea-admin-icon eael-icon-plug"></i><?php echo __( 'Integrations', 'essential-addons-for-elementor-lite' ); ?></a></li>
<?php if ( !$this->pro_enabled ) { ?>
<li class="tab__list"><a class="tab__item" href="#go-pro"><i class="ea-admin-icon eael-icon-lock-alt"></i><?php echo __( 'Go Premium', 'essential-addons-for-elementor-lite' ); ?></a></li>
<?php } ?>
</ul>
</div>
</div>
<div class="eael-admin-setting-tabs">
<?php
include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/general.php';
include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/elements.php';
include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/extensions.php';
include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/tools.php';
if ( !$this->pro_enabled ) {
include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/go-pro.php';
}
include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/integrations.php';
include_once EAEL_PLUGIN_PATH . DIRECTORY_SEPARATOR . 'includes/templates/admin/popup.php';
?>
</div>
</div>
</form>
<?php
do_action( 'eael_admin_page_setting' );
}
/**
* Saving data with ajax request
* @param
* @since 1.1.2
*/
public function admin_notice() {
require_once EAEL_PLUGIN_PATH . 'vendor/autoload.php';
self::$cache_bank = CacheBank::get_instance();
NoticeRemover::get_instance('1.0.0');
NoticeRemover::get_instance('1.0.0', '\WPDeveloper\BetterDocs\Dependencies\PriyoMukul\WPNotice\Notices');
$notices = new Notices( [
'id' => 'essential-addons-for-elementor',
'storage_key' => 'notices',
'lifetime' => 3,
'stylesheet_url' => esc_url_raw( EAEL_PLUGIN_URL . 'assets/admin/css/notice.css' ),
'styles' => esc_url_raw( EAEL_PLUGIN_URL . 'assets/admin/css/notice.css' ),
'priority' => 1
] );
$review_notice = __( 'We hope you\'re enjoying Essential Addons for Elementor! Could you please do us a BIG favor and give it a 5-star rating on WordPress to help us spread the word and boost our motivation?', 'essential-addons-for-elementor-lite' );
$_review_notice = [
'thumbnail' => plugins_url( 'assets/admin/images/icon-ea-logo.svg', EAEL_PLUGIN_BASENAME ),
'html' => '<p>' . $review_notice . '</p>',
'links' => [
'later' => array(
'link' => 'https://wpdeveloper.com/review-essential-addons-elementor',
'target' => '_blank',
'label' => __( 'Ok, you deserve it!', 'essential-addons-for-elementor-lite' ),
'icon_class' => 'dashicons dashicons-external',
),
'allready' => array(
'label' => __( 'I already did', 'essential-addons-for-elementor-lite' ),
'icon_class' => 'dashicons dashicons-smiley',
'attributes' => [
'data-dismiss' => true
],
),
'maybe_later' => array(
'label' => __( 'Maybe Later', 'essential-addons-for-elementor-lite' ),
'icon_class' => 'dashicons dashicons-calendar-alt',
'attributes' => [
'data-later' => true
],
),
'support' => array(
'link' => 'https://wpdeveloper.com/support',
'label' => __( 'I need help', 'essential-addons-for-elementor-lite' ),
'icon_class' => 'dashicons dashicons-sos',
),
'never_show_again' => array(
'label' => __( 'Never show again', 'essential-addons-for-elementor-lite' ),
'icon_class' => 'dashicons dashicons-dismiss',
'attributes' => [
'data-dismiss' => true
],
)
]
];
$notices->add(
'review',
$_review_notice,
[
'start' => $notices->strtotime( '+7 day' ),
'recurrence' => 30,
'refresh' => EAEL_PLUGIN_VERSION,
'dismissible' => true,
]
);
$b_message = '<p>Black Friday Sale: Unlock access to <strong>90+ advanced Elementor widgets</strong> with up to 40% discounts <span class="gift-icon">🎁</span></p><p><a class="button button-primary" href="https://wpdeveloper.com/upgrade/ea-bfcm" target="_blank">Upgrade to pro</a> <button data-dismiss="true" class="dismiss-btn button button-link">I dont want to save money</button></p>';
$_black_friday_notice = [
'thumbnail' => plugins_url( 'assets/admin/images/full-logo.svg', EAEL_PLUGIN_BASENAME ),
'html' => $b_message,
];
$notices->add(
'black_friday_notice',
$_black_friday_notice,
[
'start' => $notices->time(),
'recurrence' => false,
'dismissible' => true,
'refresh' => EAEL_PLUGIN_VERSION,
"expire" => strtotime( '11:59:59pm 2nd December, 2023' ),
'display_if' => ! $this->pro_enabled,
]
);
self::$cache_bank->create_account( $notices );
self::$cache_bank->calculate_deposits( $notices );
}
/**
* eael_admin_inline_css
*
* Admin Menu highlighted
* @return false
* @since 5.1.0
*/
public function eael_admin_inline_css() {
$screen = get_current_screen();
if ( ! empty( $screen->id ) && $screen->id == 'toplevel_page_eael-settings' ) {
return false;
}
if ( $this->menu_notice_should_show() ) {
$custom_css = "
#toplevel_page_eael-settings a ,
#toplevel_page_eael-settings a:hover {
color:#f0f0f1 !important;
background: #7D55FF !important;
}
#toplevel_page_eael-settings .eael-menu-notice {
display:block !important;
}"
;
wp_add_inline_style( 'admin-bar', $custom_css );
}
}
/**
* menu_notice_should_show
*
* Check two flags status (eael_admin_menu_notice and eael_admin_promotion),
* if both true this display menu notice. it's prevent to display menu notice multiple time
*
* @return bool
* @since 5.1.0
*/
public function menu_notice_should_show() {
return ( get_option( 'eael_admin_menu_notice' ) < self::EAEL_PROMOTION_FLAG && get_option( 'eael_admin_promotion' ) < self::EAEL_ADMIN_MENU_FLAG );
}
public function essential_block_optin() {
if ( is_plugin_active( 'essential-blocks/essential-blocks.php' ) || get_option( 'eael_eb_optin_hide' ) ) {
return;
}
$screen = get_current_screen();
$is_exclude = ! empty( $_GET['post_type'] ) && in_array( $_GET['post_type'], [ 'elementor_library', 'product' ] );
$ajax_url = admin_url( 'admin-ajax.php' );
$nonce = wp_create_nonce( 'essential-addons-elementor' );
$eb_not_installed = HelperClass::get_local_plugin_data( 'essential-blocks/essential-blocks.php' ) === false;
$action = $eb_not_installed ? 'install' : 'activate';
$button_title = $eb_not_installed ? esc_html__( 'Install Essential Blocks', 'essential-addons-for-elementor-lite' ) : esc_html__( 'Activate', 'essential-addons-for-elementor-lite' );
if ( $screen->parent_base !== 'edit' || $is_exclude ) {
return;
}
?>
<div class="wpnotice-wrapper notice notice-info is-dismissible eael-eb-optin-notice">
<div class="wpnotice-content-wrapper">
<div class="eael-eb-optin">
<h3><?php esc_html_e( 'Using Gutenberg? Check out Essential Blocks!', 'essential-addons-for-elementor-lite' ); ?></h3>
<p><?php _e( 'Are you using the Gutenberg Editor for your website? Then try out Essential Blocks for Gutenberg, and explore 40+ unique blocks to make your web design experience in WordPress even more powerful. 🚀', 'essential-addons-for-elementor-lite' ); ?></p>
<p><?php _e( 'For more information, <a href="https://essential-blocks.com/demo/" target="_blank">check out the demo here</a>.', 'essential-addons-for-elementor-lite' ); ?></p>
<p>
<a href="#" class="button-primary wpdeveloper-eb-plugin-installer" data-action="<?php echo esc_attr( $action ); ?>"><?php echo esc_html( $button_title ); ?></a>
</p>
</div>
</div>
</div>
<script>
// install/activate plugin
(function ($) {
$(document).on("click", ".wpdeveloper-eb-plugin-installer", function (ev) {
ev.preventDefault();
var button = $(this),
action = button.data("action");
if ($.active && typeof action != "undefined") {
button.text("Waiting...").attr("disabled", true);
setInterval(function () {
if (!$.active) {
button.attr("disabled", false).trigger("click");
}
}, 1000);
}
if (action === "install" && !$.active) {
button.text("Installing...").attr("disabled", true);
$.ajax({
url: "<?php echo esc_html( $ajax_url ); ?>",
type: "POST",
data: {
action: "wpdeveloper_install_plugin",
security: "<?php echo esc_html( $nonce ); ?>",
slug: "essential-blocks",
},
success: function (response) {
if (response.success) {
button.text("Activated");
button.data("action", null);
setTimeout(function () {
location.reload();
}, 1000);
} else {
button.text("Install");
}
button.attr("disabled", false);
},
error: function (err) {
console.log(err.responseJSON);
},
});
} else if (action === "activate" && !$.active) {
button.text("Activating...").attr("disabled", true);
$.ajax({
url: "<?php echo esc_html( $ajax_url ); ?>",
type: "POST",
data: {
action: "wpdeveloper_activate_plugin",
security: "<?php echo esc_html( $nonce ); ?>",
basename: "essential-blocks/essential-blocks.php",
},
success: function (response) {
if (response.success) {
button.text("Activated");
button.data("action", null);
setTimeout(function () {
location.reload();
}, 1000);
} else {
button.text("Activate");
}
button.attr("disabled", false);
},
error: function (err) {
console.log(err.responseJSON);
},
});
}
}).on('click', '.eael-eb-optin-notice button.notice-dismiss', function (e) {
e.preventDefault();
var $notice_wrapper = $(this).closest('.eael-eb-optin-notice');
$.ajax({
url: "<?php echo esc_html( $ajax_url ); ?>",
type: "POST",
data: {
action: "eael_eb_optin_notice_dismiss",
security: "<?php echo esc_html( $nonce ); ?>",
},
success: function (response) {
if (response.success) {
$notice_wrapper.remove();
} else {
console.log(response.data);
}
},
error: function (err) {
console.log(err.responseText);
},
});
});
})(jQuery);
</script>
<?php
}
public function essential_block_special_optin() {
if ( is_plugin_active( 'essential-blocks/essential-blocks.php' ) || get_option( 'eael_eb_optin_hide' ) ) {
return;
}
$ajax_url = admin_url( 'admin-ajax.php' );
$nonce = wp_create_nonce( 'essential-addons-elementor' );
$eb_not_installed = HelperClass::get_local_plugin_data( 'essential-blocks/essential-blocks.php' ) === false;
$action = $eb_not_installed ? 'install' : 'activate';
$button_title = $eb_not_installed ? esc_html__( 'Install Essential Blocks', 'essential-addons-for-elementor-lite' ) : esc_html__( 'Activate', 'essential-addons-for-elementor-lite' );
?>
<style>
/* Essential Blocks Special Optin*/
.eael-eb-special-optin-notice {
border-left-color: #6200ee;
padding-top: 0;
padding-bottom: 0;
padding-left: 0;
}
.eael-eb-special-optin-notice h3,
.eael-eb-special-optin-notice p,
.eael-eb-special-optin-notice a {
font-family: -apple-system,BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
.eael-eb-special-optin-notice a {
color: #2271b1;
}
.eael-eb-special-optin-notice .wpnotice-content-wrapper {
display: flex;
}
.eael-eb-special-optin-notice .wpnotice-content-wrapper > div {
padding-top: 15px;
}
.eael-eb-special-optin-notice .eael-eb-optin-logo {
width: 50px;
text-align: center;
background: rgba(98, 0, 238, .1);
}
.eael-eb-special-optin-notice .eael-eb-optin-logo img {
width: 25px;
}
.eael-eb-special-optin-notice .eael-eb-optin {
padding-left: 10px;
}
.eael-eb-special-optin-notice .eael-eb-optin a.wpdeveloper-eb-plugin-installer {
background: #5E2EFF;
}
</style>
<div class="wpnotice-wrapper notice notice-info is-dismissible eael-eb-special-optin-notice">
<div class="wpnotice-content-wrapper">
<div class="eael-eb-optin-logo">
<img src="<?php echo esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/eb-new.svg' ); ?>" alt="">
</div>
<div class="eael-eb-optin">
<h3><?php esc_html_e( 'Using Gutenberg? Check out Essential Blocks!', 'essential-addons-for-elementor-lite' ); ?></h3>
<p><?php _e( 'Are you using the Gutenberg Editor for your website? Then try out Essential Blocks for Gutenberg, and explore 40+ unique blocks to make your web design experience in WordPress even more powerful. 🚀', 'essential-addons-for-elementor-lite' ); ?></p>
<p><?php _e( 'For more information, <a href="https://essential-blocks.com/demo/" target="_blank">check out the demo here</a>.', 'essential-addons-for-elementor-lite' ); ?></p>
<p>
<a href="#" class="button-primary wpdeveloper-eb-plugin-installer" data-action="<?php echo esc_attr( $action ); ?>"><?php echo esc_html( $button_title ); ?></a>
</p>
</div>
</div>
</div>
<script>
// install/activate plugin
(function ($) {
$(document).on("click", ".wpdeveloper-eb-plugin-installer", function (ev) {
ev.preventDefault();
var button = $(this),
action = button.data("action");
if ($.active && typeof action != "undefined") {
button.text("Waiting...").attr("disabled", true);
setInterval(function () {
if (!$.active) {
button.attr("disabled", false).trigger("click");
}
}, 1000);
}
if (action === "install" && !$.active) {
button.text("Installing...").attr("disabled", true);
$.ajax({
url: "<?php echo esc_html( $ajax_url ); ?>",
type: "POST",
data: {
action: "wpdeveloper_install_plugin",
security: "<?php echo esc_html( $nonce ); ?>",
slug: "essential-blocks",
},
success: function (response) {
if (response.success) {
button.text("Activated");
button.data("action", null);
setTimeout(function () {
location.reload();
}, 1000);
} else {
button.text("Install");
}
button.attr("disabled", false);
},
error: function (err) {
console.log(err.responseJSON);
},
});
} else if (action === "activate" && !$.active) {
button.text("Activating...").attr("disabled", true);
$.ajax({
url: "<?php echo esc_html( $ajax_url ); ?>",
type: "POST",
data: {
action: "wpdeveloper_activate_plugin",
security: "<?php echo esc_html( $nonce ); ?>",
basename: "essential-blocks/essential-blocks.php",
},
success: function (response) {
if (response.success) {
button.text("Activated");
button.data("action", null);
setTimeout(function () {
location.reload();
}, 1000);
} else {
button.text("Activate");
}
button.attr("disabled", false);
},
error: function (err) {
console.log(err.responseJSON);
},
});
}
}).on('click', '.eael-eb-special-optin-notice button.notice-dismiss', function (e) {
e.preventDefault();
var $notice_wrapper = $(this).closest('.eael-eb-optin-notice');
$.ajax({
url: "<?php echo esc_html( $ajax_url ); ?>",
type: "POST",
data: {
action: "eael_eb_optin_notice_dismiss",
security: "<?php echo esc_html( $nonce ); ?>",
},
success: function (response) {
if (response.success) {
$notice_wrapper.remove();
} else {
console.log(response.data);
}
},
error: function (err) {
console.log(err.responseText);
},
});
});
})(jQuery);
</script>
<?php
}
public function eael_eb_optin_notice_dismiss() {
check_ajax_referer( 'essential-addons-elementor', 'security' );
if ( ! current_user_can( 'manage_options' ) ) {
wp_send_json_error( __( 'You are not allowed to do this action', 'essential-addons-for-elementor-lite' ) );
}
update_option( 'eael_eb_optin_hide', true );
wp_send_json_success();
}
public function eael_gb_eb_popup_dismiss() {
check_ajax_referer( 'essential-addons-elementor', 'security' );
if ( ! current_user_can( 'manage_options' ) ) {
wp_send_json_error( __( 'You are not allowed to do this action', 'essential-addons-for-elementor-lite' ) );
}
update_option( 'eael_gb_eb_popup_hide', true );
wp_send_json_success();
}
public function eael_black_friday_optin_dismiss() {
check_ajax_referer( 'essential-addons-elementor', 'security' );
update_option( 'eael_black_friday_optin_hide', true );
wp_send_json_success();
}
public function eael_black_friday_optin() {
$time = time();
$ajax_url = admin_url( 'admin-ajax.php' );
$nonce = wp_create_nonce( 'essential-addons-elementor' );
if ( $time > 1669852799 || get_option( 'eael_black_friday_optin_hide' ) || defined( 'EAEL_PRO_PLUGIN_VERSION' ) ) {
return;
}
?>
<style>
.eael-black-friday-notice,
.eael-black-friday-notice * {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}
.eael-black-friday-notice {
padding: 0;
border-left-color: #6200ee;
}
.eael-black-friday-notice .wpnotice-content-wrapper {
display: flex;
}
.eael-black-friday-notice .wpnotice-content-wrapper .eael-black-friday-optin-logo {
width: 50px;
padding: 10px 0 0;
text-align: center;
background: rgba(98, 0, 238, .1);
}
.eael-black-friday-notice .wpnotice-content-wrapper .eael-black-friday-optin {
padding-left: 10px;
}
</style>
<div class="wpnotice-wrapper notice notice-info is-dismissible eael-black-friday-notice">
<div class="wpnotice-content-wrapper">
<div class="eael-black-friday-optin-logo">
<img src="<?php echo esc_url( EAEL_PLUGIN_URL . 'assets/admin/images/icon-ea-logo.svg' ); ?>" width="25" alt="">
</div>
<div class="eael-black-friday-optin">
<p><?php _e( '<strong>🎉 Black Friday Exclusive:</strong> SAVE up to 40% & access to Essential Addons Pro features.', 'essential-addons-for-elementor-lite' ); ?>
<a href="https://essential-addons.com/elementor/#pricing" target="_blank"
class="button-primary"><?php _e( 'Grab The Offer', 'essential-addons-for-elementor-lite' ); ?></a>
</p>
</div>
</div>
</div>
<script>
(function ($) {
$(document).on('click', '.eael-black-friday-notice button.notice-dismiss', function (e) {
e.preventDefault();
var $notice_wrapper = $(this).closest('.eael-black-friday-notice');
$.ajax({
url: "<?php echo esc_html( $ajax_url ); ?>",
type: "POST",
data: {
action: "eael_black_friday_optin_dismiss",
security: "<?php echo esc_html( $nonce ); ?>",
},
success: function (response) {
if (response.success) {
$notice_wrapper.remove();
} else {
console.log(response.data);
}
},
error: function (err) {
console.log(err.responseText);
},
});
});
})(jQuery);
</script>
<?php
}
}