OwlCyberSecurity - MANAGER
Edit File: class-inspiro-notice-review.php
<?php /** * Theme admin leave review notice * * @package Inspiro * @subpackage Inspiro_Lite * @since Inspiro 1.2.4 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Main PHP class for notice review */ class Inspiro_Notice_Review extends Inspiro_Notices { /** * The constructor. */ public function __construct() { add_action( 'wp_loaded', array( $this, 'review_notice' ), 20 ); add_action( 'wp_loaded', array( $this, 'hide_notices' ), 15 ); $this->current_user_id = get_current_user_id(); } /** * Update option 'inspiro_theme_installed_time' if is not exists * Add action if notice wasn't dismissed * * @return void */ public function review_notice() { global $pagenow, $inspiro_version; if ( ! get_option( 'inspiro_theme_installed_time' ) ) { update_option( 'inspiro_theme_installed_time', time() ); } $this_notice_was_dismissed = $this->get_notice_status( 'review-user-' . $this->current_user_id ); $current_user_can = current_user_can( 'edit_theme_options' ); $should_display_notice = ( $current_user_can && 'index.php' === $pagenow ) || ( $current_user_can && 'themes.php' === $pagenow && isset( $_GET['activated'] ) ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended if ( $should_display_notice ) { if ( ! $this_notice_was_dismissed ) { wp_enqueue_style( 'welcome-notice', get_template_directory_uri() . '/assets/css/minified/welcome-notice.min.css' ); add_action( 'admin_notices', array( $this, 'review_notice_markup' ) ); // Display this notice. } } } /** * Show HTML markup if conditions meet * * @return void */ public function review_notice_markup() { $dismiss_url = wp_nonce_url( remove_query_arg( array( 'activated' ), add_query_arg( 'inspiro-hide-notice', 'review-user-' . $this->current_user_id ) ), 'inspiro_hide_notices_nonce', '_inspiro_notice_nonce' ); $theme_data = wp_get_theme(); $current_user = wp_get_current_user(); if ( ( get_option( 'inspiro_theme_installed_time' ) > strtotime( '-4 day' ) ) ) { return; } ?> <div id="message" class="notice inspiro-notice inspiro-review-notice wpz-welcome-notice"> <a class="inspiro-message-close notice-dismiss" href="<?php echo esc_url( $dismiss_url ); ?>"></a> <div class="wpz-notice-image"> <img class="inspiro-screenshot" src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/admin/inspiro-top.png" width="233" alt="<?php esc_attr_e( 'Inspiro', 'inspiro' ); ?>" /> </div> <div class="wpz-notice-text"> <h3><?php echo esc_html__( 'Love Inspiro Theme? Share a 5-Star Review! 🌟', 'inspiro' ); ?></h3> <p> <?php printf( /* Translators: %1$s current user display name. */ esc_html__( 'We hope you are enjoying the %1$s theme! %2$sWe\'d be grateful if you could take a moment to share your positive experience with others by leaving a review on WordPress.org. This helps us continue providing updates and support for this theme.', 'inspiro' ), // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase '<a href="' . esc_url( admin_url( 'themes.php?page=inspiro' ) ) . '"><strong>' . esc_html( $theme_data->Name ) . '</strong></a>', '<br>' ); ?> </p> <div class="wpz-welcome-notice-button"> <a href="https://wordpress.org/support/theme/inspiro/reviews/?rate=5#new-post" class="button button-primary" target="_blank"><span class="dashicons dashicons-star-filled"></span> <?php esc_html_e( 'Leave a Review', 'inspiro' ); ?></a> <a href="<?php echo esc_url( $dismiss_url ); ?>" class="button button-secondary"><?php esc_html_e( 'Hide this notice', 'inspiro' ); ?></a> </a> </div> </div><!-- .inspiro-message-text --> </div><!-- #message --> <?php } } new Inspiro_Notice_Review();