process_dismiss_actions(); $this->set_notice_time(); $this->set_dismiss_notice(); } /** * Set initial notice time. */ private function set_notice_time() { if ( ! get_option( 'blockspare_newspare_notice_start_time' ) ) { update_option( 'blockspare_newspare_notice_start_time', time() ); } } /** * Listen and process the dismiss actions when a user clicks them. */ private function process_dismiss_actions() { if ( ! function_exists( 'get_current_user_id' ) ) { return; } $user_id = get_current_user_id(); if ( ! $user_id ) { return; } // Handle Permanent Dismiss if ( isset( $_GET['blockspare_setup_notice_dismiss'] ) && 'newspare' === $_GET['blockspare_setup_notice_dismiss'] ) { if ( isset( $_GET['_blockspare_setup_notice_dismiss_nonce'] ) && wp_verify_nonce( $_GET['_blockspare_setup_notice_dismiss_nonce'], 'blockspare_setup_notice_dismiss_nonce' ) ) { update_user_meta( $user_id, 'blockspare_newspare_notice_dismiss', 'yes' ); wp_safe_redirect( remove_query_arg( array( 'blockspare_setup_notice_dismiss', '_blockspare_setup_notice_dismiss_nonce' ) ) ); exit; } } // Handle Temporary Dismiss if ( isset( $_GET['blockspare_setup_notice_dismiss_temporary'] ) && 'newspare' === $_GET['blockspare_setup_notice_dismiss_temporary'] ) { if ( isset( $_GET['_blockspare_setup_notice_dismiss_temporary_nonce'] ) && wp_verify_nonce( $_GET['_blockspare_setup_notice_dismiss_temporary_nonce'], 'blockspare_setup_notice_dismiss_temporary_nonce' ) ) { update_user_meta( $user_id, 'blockspare_newspare_notice_dismiss_temporary_start_time', time() ); wp_safe_redirect( remove_query_arg( array( 'blockspare_setup_notice_dismiss_temporary', '_blockspare_setup_notice_dismiss_temporary_nonce' ) ) ); exit; } } } /** * Set dismiss conditions. */ public function set_dismiss_notice() { $user_id = get_current_user_id(); $is_permanently_dismissed = ( 'yes' === get_user_meta( $user_id, 'blockspare_newspare_notice_dismiss', true ) ); $temporary_dismiss_time = (int) get_user_meta( $user_id, 'blockspare_newspare_notice_dismiss_temporary_start_time', true ); $is_temporarily_dismissed = ( $temporary_dismiss_time > strtotime( '-7 days' ) ); // If permanently or temporarily dismissed, hide the notice if ( $is_permanently_dismissed || $is_temporarily_dismissed ) { add_filter( 'blockspare_newspare_notice_dismiss', '__return_true' ); } else { add_filter( 'blockspare_newspare_notice_dismiss', '__return_false' ); } } /** * Get NewSpare action button. */ private function get_newspare_action() { $theme = wp_get_theme( 'newspare' ); // Already active. if ( 'newspare' === get_stylesheet() ) { return array( 'url' => admin_url( 'site-editor.php' ), 'text' => __( 'Open Site Editor', 'blockspare' ), ); } // Installed but inactive. if ( $theme->exists() ) { return array( 'url' => wp_nonce_url( admin_url( 'themes.php?action=activate&stylesheet=newspare' ), 'switch-theme_newspare' ), 'text' => __( 'Activate NewSpare', 'blockspare' ), ); } // Not installed. return array( 'url' => wp_nonce_url( self_admin_url( 'update.php?action=install-theme&theme=newspare' ), 'install-theme_newspare' ), 'text' => __( 'Install & Activate NewSpare', 'blockspare' ), ); } /** * Notice markup. */ public function notice_markup() { $action = $this->get_newspare_action(); ?>

⚡ Full Site Editing 📰 News & Magazine Ready 🌙 Light & Dark Mode 🛒 WooCommerce Support ⚙ Gutenberg Optimized 📱 Responsive Design