%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux sh00666.bluehost.com 5.14.0-687.26.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jul 14 16:32:02 EDT 2026 x86_64
User : ndkhermy ( 1200)
PHP Version : 8.5.12
Disable Function : NONE
Directory :  /home1/ndkhermy/www/website_5b2ade1d/wp-content/plugins/hostinger-reach/src/Admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home1/ndkhermy/www/website_5b2ade1d/wp-content/plugins/hostinger-reach/src/Admin/Menus.php
<?php

namespace Hostinger\Reach\Admin;

use Hostinger\WpMenuManager\Menus as WpMenu;

if ( ! defined( 'ABSPATH' ) ) {
    die;
}

class Menus {

    public function init(): void {
        add_action( 'admin_menu', array( $this, 'add_main_menu_page' ), 2 );
        add_filter( 'hostinger_menu_subpages', array( $this, 'add_sub_menu_page' ), 20 );
        add_filter( 'hostinger_admin_menu_bar_items', array( $this, 'add_admin_bar_items' ), 110 );
    }

    public function add_main_menu_page(): void {
        add_menu_page(
            $this->get_title(),
            $this->get_title(),
            'manage_options',
            'hostinger-reach',
            array( $this, 'render_plugin_content' ),
            $this->get_icon(),
            1.5
        );
    }

    public function add_sub_menu_page( array $submenus ): array {
        $submenus[] = array(
            'page_title' => $this->get_title(),
            'menu_title' => __( 'Reach', 'hostinger-reach' ),
            'capability' => 'manage_options',
            'menu_slug'  => 'hostinger-reach',
            'callback'   => array( $this, 'render_plugin_content' ),
            'menu_order' => 10,
        );

        return $submenus;
    }

    public function add_admin_bar_items( array $menu_items ): array {
        if ( ! current_user_can( 'manage_options' ) ) {
            return $menu_items;
        }

        $menu_items[] = array(
            'id'    => 'hostinger-reach',
            'title' => esc_html( $this->get_title() ),
            'href'  => self::get_reach_admin_url(),
        );

        return $menu_items;
    }

    public function render_plugin_content(): void {
        echo wp_kses_post( WpMenu::renderMenuNavigation() );

        ?>
        <div id="hostinger-reach-app" class="hostinger-reach-app"></div>
        <?php
    }

    public static function get_reach_admin_url(): string {
        return admin_url( 'admin.php?page=hostinger-reach' );
    }

    private function get_title(): string {
        return __( 'Hostinger Reach', 'hostinger-reach' );
    }

    private function get_icon(): string {
        return plugin_dir_url( dirname( __DIR__ ) ) . 'frontend/vue/assets/images/icons/reach-menu-logo.svg';
    }
}

VaKeR 2022