analytics_page_dismiss_option, false); $this->module_id = $this->module_base; self::$module_id_static = $this->module_id; if ( ! in_array( 'decorator-woocommerce-email-customizer/decorator.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) { add_action('admin_enqueue_scripts', array($this, 'enqueue_styles')); add_action('admin_footer', array($this, 'ema_inject_analytics_script')); add_action('wp_ajax_wbte_ema_banner_analytics_page_dismiss', array($this, 'wbte_ema_banner_analytics_page_dismiss_banner')); } } /** * Ensures only one instance is loaded or can be loaded. * * @since 2.6.7 * @return self */ public static function get_instance() { if ( is_null( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Enqueue banner styles * * @since 2.6.7 */ public function enqueue_styles() { if ( ! $this->ema_should_display_banner() ) { return; } wp_enqueue_style('wt-u-iew-ema-banner',plugin_dir_url(__FILE__) . 'assets/css/wbte-ema-banner.css',array(),WT_U_IEW_VERSION); wp_enqueue_script('wt-u-iew-ema-banner',plugin_dir_url(__FILE__) . 'assets/js/wbte-ema-banner.js',array('jquery'),WT_U_IEW_VERSION,true); wp_localize_script('wt-u-iew-ema-banner', 'wbte_ema_banner_params', array( 'ajaxurl' => esc_url(admin_url('admin-ajax.php')), 'nonce' => wp_create_nonce('wbte_ema_banner_nonce'), )); } /** * Check if we should display the banner * * @since 2.6.7 * @return boolean */ private function ema_should_display_banner() { $screen = function_exists( 'get_current_screen' ) ? get_current_screen() : null; // Only consider showing on Analytics Overview page // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Read-only check of current page if ( ! $screen || 'woocommerce_page_wc-admin' !== $screen->id || ! isset( $_GET['path'] ) || '/analytics/overview' !== $_GET['path'] ) { return false; } return ! get_option( $this->analytics_page_dismiss_option ) && ! defined( 'WBTE_EMA_ANALYTICS_BANNER' ); } /** * Ajax handler to dismiss the EMA banner * * @since 2.6.7 */ public function wbte_ema_banner_analytics_page_dismiss_banner() { check_ajax_referer( 'wbte_ema_banner_nonce', 'nonce' ); update_option( $this->analytics_page_dismiss_option, true ); wp_send_json_success(); } /** * Inject analytics script in admin footer * * @since 2.6.7 */ public function ema_inject_analytics_script() { $screen = get_current_screen(); // Only inject on analytics page if ( ! $screen || 'woocommerce_page_wc-admin' !== $screen->id || ! isset( $_GET['path'] ) || '/analytics/overview' !== $_GET['path'] ) { //phpcs:ignore WordPress.Security.NonceVerification.Recommended return; } ob_start(); if ( ! $this->ema_should_display_banner() ) { return; } define( 'WBTE_EMA_ANALYTICS_BANNER', true ); $sale_link = 'https://www.webtoffee.com/ecommerce-marketing-automation/?utm_source=free_plugin_analytics_overview_tab&utm_medium=users_import_export_free&utm_campaign=EMA' ; ?>