Completed
Push — fix/admin_menu_api_title_marku... ( 9c23c5...275fdb )
by
unknown
109:22 queued 100:15
created

Jetpack_Admin_Menu::add_jetpack_menu()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 3
nc 3
nop 0
dl 0
loc 16
rs 9.7333
c 0
b 0
f 0
1
<?php
2
/**
3
 * Jetpack Admin Menu file.
4
 *
5
 * @package Jetpack
6
 */
7
8
namespace Automattic\Jetpack\Dashboard_Customizations;
9
10
require_once __DIR__ . '/class-admin-menu.php';
11
12
/**
13
 * Class Jetpack_Admin_Menu.
14
 */
15
class Jetpack_Admin_Menu extends Admin_Menu {
16
17
	/**
18
	 * Create the desired menu output.
19
	 */
20
	public function reregister_menu_items() {
21
		parent::reregister_menu_items();
22
23
		$this->add_wp_admin_menu();
24
25
		ksort( $GLOBALS['menu'] );
26
	}
27
28
	/**
29
	 * Adds Jetpack menu.
30
	 */
31
	public function add_jetpack_menu() {
32
		parent::add_jetpack_menu();
33
34
		$parent_slug = 'https://wordpress.com/activity-log/' . $this->domain;
35
36
		// Place "Scan" submenu after Backup.
37
		$position = 0;
38
		global $submenu;
39
		foreach ( $submenu[ $parent_slug ] as $submenu_item ) {
40
			$position++;
41
			if ( __( 'Backup', 'jetpack' ) === $submenu_item[3] ) {
42
				break;
43
			}
44
		}
45
		add_submenu_page( $parent_slug, esc_attr__( 'Scan', 'jetpack' ), __( 'Scan', 'jetpack' ), 'manage_options', 'https://wordpress.com/scan/' . $this->domain, null, $position );
46
	}
47
48
	/**
49
	 * Adds Tools menu.
50
	 *
51
	 * @param bool $wp_admin_import Optional. Whether Import link should point to Calypso or wp-admin. Default false (Calypso).
52
	 * @param bool $wp_admin_export Optional. Whether Export link should point to Calypso or wp-admin. Default false (Calypso).
53
	 */
54
	public function add_tools_menu( $wp_admin_import = false, $wp_admin_export = false ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
55
		// Import/Export on Jetpack sites is always handled on WP Admin.
56
		parent::add_tools_menu( true, true );
57
	}
58
59
	/**
60
	 * Adds WP Admin menu.
61
	 */
62
	public function add_wp_admin_menu() {
63
		global $menu;
64
		$menu_slug = 'index.php';
65
66
		remove_menu_page( $menu_slug );
67
		remove_submenu_page( $menu_slug, $menu_slug );
68
		remove_submenu_page( $menu_slug, 'update-core.php' );
69
70
		// Attempt to get last position.
71
		ksort( $menu );
72
		end( $menu );
73
		$position = key( $menu );
74
75
		$this->add_admin_menu_separator( ++$position );
76
77
		add_menu_page( __( 'WP Admin', 'jetpack' ), __( 'WP Admin', 'jetpack' ), 'read', $menu_slug, null, 'dashicons-wordpress-alt', $position );
78
	}
79
80
	/**
81
	 * Adds Appearance menu.
82
	 *
83
	 * @param bool $wp_admin_themes Optional. Whether Themes link should point to Calypso or wp-admin. Default false (Calypso).
84
	 * @param bool $wp_admin_customize Optional. Whether Customize link should point to Calypso or wp-admin. Default false (Calypso).
85
	 */
86
	public function add_appearance_menu( $wp_admin_themes = false, $wp_admin_customize = false ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
87
		// Customize on Atomic sites is always done on Jetpack sites.
88
		parent::add_appearance_menu( $wp_admin_themes, true );
89
	}
90
91
	/**
92
	 * Adds Plugins menu.
93
	 *
94
	 * @param bool $wp_admin Optional. Whether links should point to Calypso or wp-admin. Default false (Calypso).
95
	 */
96
	public function add_plugins_menu( $wp_admin = false ) { // phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
97
		// Plugins on Jetpack sites are always managed on Calypso.
98
		parent::add_plugins_menu( false );
99
	}
100
}
101