PluginProbe
Hostinger Tools / 2.1.4
Hostinger Tools v2.1.4
3.0.77 3.0.76 3.0.75 3.0.74 3.0.73 3.0.72 3.0.71 3.0.70 3.0.69 3.0.68 3.0.67 3.0.66 1.8.1 1.8.2 1.8.3 1.9.1 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.4 All 108 releases
← All changes | includes/Admin/Menu.php +50 -37 3.0.732.1.4 View file →
@@ -1,52 +1,65 @@
1 1 <?php
2 2
3 3 namespace Hostinger\Admin;
4 4
5 -use Hostinger\Admin\PluginSettings;
6 -use Hostinger\WpHelper\Utils;
7 -use Hostinger\WpMenuManager\Menus;
5 +use Hostinger\Admin\Onboarding\Onboarding;
8 6
9 7 defined( 'ABSPATH' ) || exit;
10 8
11 9 class Menu {
12 - public const MENU_SLUG = 'hostinger-tools';
10 + public function __construct() {
11 + add_action( 'admin_menu', array( $this, 'admin_menu' ) );
12 + }
13 13
14 - public function __construct() {
15 - add_filter( 'hostinger_admin_menu_bar_items', array( $this, 'add_admin_bar_items' ) );
16 - add_filter( 'hostinger_menu_subpages', array( $this, 'sub_menu' ) );
17 - }
14 + public function admin_menu(): void {
15 + $icon = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyMSAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjAwMDE5OTY1MyAxMS4yMzY4VjAuMDAwMzk4MjM1TDUuNjcxMzMgMy4wMjQzNlY4LjA4NjkxTDEzLjE3ODggOC4wOTA1M0wxOC45NDE5IDExLjIzNjhIMC4wMDAxOTk2NTNaTTE0LjcxNCA3LjE2MDQ3VjBMMjAuNTM4IDIuOTQ4NzJWMTAuNTQzN0wxNC43MTQgNy4xNjA0N1pNMTQuNzE0IDIwLjg5NDJWMTUuODc1M0w3LjE0ODYyIDE1Ljg3QzcuMTU1NjggMTUuOTAzNCAxLjI4OTg0IDEyLjY3MzUgMS4yODk4NCAxMi42NzM1TDIwLjUzOCAxMi43NjM4VjI0TDE0LjcxNCAyMC44OTQyWk0wIDIwLjg5NDFMMC4wMDAyMDE3NjkgMTMuNTUxNEw1LjY3MTMzIDE2Ljg1NDZWMjMuODQyN0wwIDIwLjg5NDFaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K';
16 + add_menu_page(
17 + __( 'Hostinger', 'hostinger' ),
18 + __( 'Hostinger', 'hostinger' ),
19 + 'manage_options',
20 + 'hostinger',
21 + array( $this, 'render' ),
22 + $icon,
23 + 1
24 + );
18 25
19 - public function add_admin_bar_items( $menu_items ): array {
20 - $menu_items[] = array(
21 - 'id' => 'hostinger-tools-admin-bar',
22 - 'title' => __( 'Tools', 'hostinger' ),
23 - 'href' => admin_url( 'admin.php?page=' . self::MENU_SLUG ),
24 - );
26 + add_submenu_page(
27 + 'hostinger',
28 + __( 'Get started', 'hostinger' ),
29 + __( 'Get started', 'hostinger' ),
30 + 'manage_options',
31 + 'hostinger&#home',
32 + '__return_empty_string',
33 + 2
34 + );
25 35
26 - return $menu_items;
27 - }
36 + add_submenu_page(
37 + 'hostinger',
38 + __( 'Learn', 'hostinger' ),
39 + __( 'Learn', 'hostinger' ),
40 + 'manage_options',
41 + 'hostinger&#learn',
42 + '__return_empty_string',
43 + 3
44 + );
28 45
29 - public function sub_menu( $submenus ): array {
30 - $tools_submenu = array(
31 - 'page_title' => __( 'Tools', 'hostinger' ),
32 - 'menu_title' => __( 'Tools', 'hostinger' ),
33 - 'capability' => 'manage_options',
34 - 'menu_slug' => self::MENU_SLUG,
35 - 'callback' => array( $this, 'render_tools_menu_page' ),
36 - 'menu_order' => 10,
37 - );
46 + if ( has_action( 'hostinger_ai_assistant_tab_view' ) && current_user_can( 'edit_posts' ) ) {
47 + add_submenu_page(
48 + 'hostinger',
49 + __( 'AI Content Creator', 'hostinger' ),
50 + __( 'AI Content Creator', 'hostinger' ),
51 + 'manage_options',
52 + 'hostinger&#ai-assistant',
53 + '__return_empty_string',
54 + 4
55 + );
56 + }
38 57
39 - $submenus[] = $tools_submenu;
58 + remove_submenu_page( 'hostinger', 'hostinger' );
59 + }
40 60
41 - return $submenus;
42 - }
43 -
44 - public function render_tools_menu_page(): void {
45 - echo wp_kses( Menus::renderMenuNavigation(), 'post' );
46 - ?>
47 - <div id="hostinger-tools-vue-app"/>
48 -
49 -
50 - <?php
51 - }
61 + public function render(): void {
62 + $onboarding = new Onboarding();
63 + include_once __DIR__ . '/Views/Onboarding.php';
64 + }
52 65 }