name = $name; $this->type = $type; $this->dismiss_url = $dismiss_url; $this->temporary_dismiss_url = $temporary_dismiss_url; $this->pricing_url = 'https://afthemes.com/products/magnitude-pro/'; $this->current_user_id = get_current_user_id(); // Notice markup. add_action('admin_notices', array($this, 'notice')); $this->dismiss_notice(); $this->dismiss_notice_temporary(); } public function notice() { if (!$this->is_dismiss_notice()) { $this->notice_markup(); } } private function is_dismiss_notice() { return apply_filters('magnitude_' . $this->name . '_notice_dismiss', true); } public function notice_markup() { echo ''; } /** * Hide a notice if the GET variable is set. */ public function dismiss_notice() { if (isset($_GET['magnitude_upgrade_notice_dismiss']) && isset($_GET['_magnitude_upgrade_notice_dismiss_nonce'])) { // WPCS: input var ok. if (!wp_verify_nonce(wp_unslash($_GET['_magnitude_upgrade_notice_dismiss_nonce']), 'magnitude_upgrade_notice_dismiss_nonce')) { // phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized wp_die(__('Action failed. Please refresh the page and retry.', 'magnitude')); // WPCS: xss ok. } if (!current_user_can('publish_posts')) { wp_die(__('Cheatin’ huh?', 'magnitude')); // WPCS: xss ok. } $dismiss_notice = sanitize_text_field(wp_unslash($_GET['magnitude_upgrade_notice_dismiss'])); // Hide. if ($dismiss_notice === $_GET['magnitude_upgrade_notice_dismiss']) { add_user_meta(get_current_user_id(), 'magnitude_' . $dismiss_notice . '_notice_dismiss', 'yes', true); } } } public function dismiss_notice_temporary() { if (isset($_GET['magnitude_upgrade_notice_dismiss_temporary']) && isset($_GET['_magnitude_upgrade_notice_dismiss_temporary_nonce'])) { // WPCS: input var ok. if (!wp_verify_nonce(wp_unslash($_GET['_magnitude_upgrade_notice_dismiss_temporary_nonce']), 'magnitude_upgrade_notice_dismiss_temporary_nonce')) { // phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized wp_die(__('Action failed. Please refresh the page and retry.', 'magnitude')); // WPCS: xss ok. } if (!current_user_can('publish_posts')) { wp_die(__('Cheatin’ huh?', 'magnitude')); // WPCS: xss ok. } $dismiss_notice = sanitize_text_field(wp_unslash($_GET['magnitude_upgrade_notice_dismiss_temporary'])); // Hide. if ($dismiss_notice === $_GET['magnitude_upgrade_notice_dismiss_temporary']) { add_user_meta(get_current_user_id(), 'magnitude_' . $dismiss_notice . '_notice_dismiss_temporary', 'yes', true); } } } } class Magnitude_Upgrade_Notice extends Magnitude_Notice { public function __construct() { if ( ! current_user_can( 'publish_posts' ) ) { return; } $dismiss_url = wp_nonce_url( add_query_arg( 'magnitude_upgrade_notice_dismiss', 'upgrade', admin_url() ), 'magnitude_upgrade_notice_dismiss_nonce', '_magnitude_upgrade_notice_dismiss_nonce' ); $temporary_dismiss_url = wp_nonce_url( add_query_arg( 'magnitude_upgrade_notice_dismiss_temporary', 'upgrade', admin_url() ), 'magnitude_upgrade_notice_dismiss_temporary_nonce', '_magnitude_upgrade_notice_dismiss_temporary_nonce' ); parent::__construct( 'upgrade', 'info', $dismiss_url, $temporary_dismiss_url ); $this->set_notice_time(); $this->set_temporary_dismiss_notice_time(); $this->set_dismiss_notice(); } private function set_notice_time() { if ( ! get_option( 'magnitude_upgrade_notice_start_time' ) ) { update_option( 'magnitude_upgrade_notice_start_time', time() ); } } private function set_temporary_dismiss_notice_time() { if ( isset( $_GET['magnitude_upgrade_notice_dismiss_temporary'] ) && 'upgrade' === $_GET['magnitude_upgrade_notice_dismiss_temporary'] ) { update_user_meta( $this->current_user_id, 'magnitude_upgrade_notice_dismiss_temporary_start_time', time() ); } } public function set_dismiss_notice() { /** * Do not show notice if: * * 1. It has not been 5 days since the theme is activated. * 2. If the user has ignored the message partially for 2 days. * 3. Dismiss always if clicked on 'Dismiss' button. */ if ( get_option( 'magnitude_upgrade_notice_start_time' ) > strtotime( '-2 minutes' ) || get_user_meta( get_current_user_id(), 'magnitude_upgrade_notice_dismiss', true ) || get_user_meta( get_current_user_id(), 'magnitude_upgrade_notice_dismiss_temporary_start_time', true ) > strtotime( '-2 day' ) ) { add_filter( 'magnitude_upgrade_notice_dismiss', '__return_true' ); } else { add_filter( 'magnitude_upgrade_notice_dismiss', '__return_false' ); } } public function notice_markup() { ?>

Greetings ' . esc_html( $current_user->display_name ) . '! Unlock a Special Treat: 30% Discount on Premium Features!', 'Magnitude', 'AFT30', '30% off' ); ?>