namespace Hostinger\Admin;
use Hostinger\WpHelper\Utils;
defined( 'ABSPATH' ) || exit;
public function __construct( $utils ) {
$this->helper = new Helper();
$this->utils = $utils ?? new Utils();
add_action( 'admin_footer', array( $this, 'rate_plugin' ) );
add_action( 'admin_init', array( $this, 'message_about_plugin_split' ) );
add_filter( 'wp_kses_allowed_html', array( $this, 'custom_kses_allowed_html' ), 10, 1 );
public function rate_plugin(): void {
$admin_path = parse_url( admin_url(), PHP_URL_PATH );
if ( ! $this->utils->isThisPage( $admin_path . 'admin.php?page=' . Menu::MENU_SLUG ) ) {
require_once HOSTINGER_ABSPATH . 'includes/Admin/Views/Partials/RateUs.php';
public function message_about_plugin_split(): void {
if ( $this->helper->should_plugin_split_notice_shown() ) {
add_action( 'admin_notices', array( $this, 'custom_admin_notice' ) );
public function custom_admin_notice() {
<div id="hostinger-plugin-split-notice" class="hts-plugin-split notice is-dismissible">
<h2><?php echo esc_html__( 'Hostinger plugin updates', 'hostinger' ); ?></h2>
<p><?php echo esc_html__( 'The Hostinger plugin has been split into two different plugins:', 'hostinger' ); ?></p>
<li><strong><?php echo esc_html__( 'Hostinger Tools', 'hostinger' ); ?></strong> <?php echo esc_html__( 'offers a toolkit for easier site maintenance.', 'hostinger' ); ?></li>
<li><strong><?php echo esc_html__( 'Hostinger Easy Onboarding', 'hostinger' ); ?></strong> <?php echo esc_html__( 'provides guidance and learning resources for beginners to get started with building a site using WordPress.', 'hostinger' ); ?></li>
<button id="plugin-split-close" type="button" class="plugin-split-close notice-dismiss"><?php echo esc_html__( 'Got it', 'hostinger' ); ?></button>
wp_nonce_field( 'hts_close_plugin_split', 'hts_close_plugin_split_nonce', true );
public function custom_kses_allowed_html( $allowed ) {
$allowed['path'] = array(