PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.8.3
Jetpack – WP Security, Backup, Speed, & Growth v13.8.3
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / masterbar / admin-menu / load.php
jetpack / modules / masterbar / admin-menu Last commit date
admin-menu-nav-unification-rtl.css 2 years ago admin-menu-nav-unification-rtl.min.css 2 years ago admin-menu-nav-unification.css 2 years ago admin-menu-nav-unification.min.css 2 years ago admin-menu-rtl.css 2 years ago admin-menu-rtl.min.css 2 years ago admin-menu.css 2 years ago admin-menu.js 2 years ago admin-menu.min.css 2 years ago class-admin-menu.php 2 years ago class-atomic-admin-menu.php 2 years ago class-dashboard-switcher-tracking.php 2 years ago class-domain-only-admin-menu.php 2 years ago class-jetpack-admin-menu.php 2 years ago class-p2-admin-menu.php 2 years ago class-wpcom-admin-menu.php 2 years ago class-wpcom-email-subscription-checker.php 2 years ago dashicon-set.php 2 years ago globe-icon.svg 2 years ago load.php 2 years ago menu-mappings.php 2 years ago
load.php
191 lines
1 <?php
2 /**
3 * Admin Menu loader.
4 *
5 * @deprecated 13.7
6 *
7 * @package Jetpack
8 *
9 * @phan-file-suppress PhanDeprecatedFunction -- Ok for deprecated code to call other deprecated code.
10 */
11
12 namespace Automattic\Jetpack\Dashboard_Customizations;
13
14 _deprecated_file( __FILE__, 'jetpack-13.7' );
15
16 use Automattic\Jetpack\Masterbar\Base_Admin_Menu;
17 use Automattic\Jetpack\Status\Host;
18 use Automattic\Jetpack\Tracking;
19
20 /**
21 * Checks whether the navigation customizations should be performed for the given class.
22 *
23 * @deprecated 13.7
24 *
25 * @param string $admin_menu_class Class name.
26 *
27 * @return bool
28 */
29 function should_customize_nav( $admin_menu_class ) {
30 _deprecated_function( __FUNCTION__, 'jetpack-13.7', 'Automattic\\Jetpack\\Masterbar\\should_customize_nav' );
31 // Make sure the class extends the base admin menu class.
32 if ( ! is_subclass_of( $admin_menu_class, Base_Admin_Menu::class ) ) {
33 return false;
34 }
35
36 $is_api_request = defined( 'REST_REQUEST' ) && REST_REQUEST || isset( $_SERVER['REQUEST_URI'] ) && str_starts_with( filter_var( wp_unslash( $_SERVER['REQUEST_URI'] ) ), '/?rest_route=%2Fwpcom%2Fv2%2Fadmin-menu' );
37
38 // No nav customizations on WP Admin of Atomic sites when SSO is disabled.
39 if ( is_a( $admin_menu_class, Atomic_Admin_Menu::class, true ) && ! $is_api_request && ! \Jetpack::is_module_active( 'sso' ) ) {
40 return false;
41 }
42
43 // No nav customizations on WP Admin of Jetpack sites.
44 if ( is_a( $admin_menu_class, Jetpack_Admin_Menu::class, true ) && ! $is_api_request ) {
45 return false;
46 }
47
48 return true;
49 }
50
51 /**
52 * Hides the Customizer menu items when the block theme is active by removing the dotcom-specific actions.
53 * They are not needed for block themes.
54 *
55 * @deprecated 13.7
56 *
57 * @see https://github.com/Automattic/jetpack/pull/36017
58 */
59 function hide_customizer_menu_on_block_theme() {
60 _deprecated_function( __FUNCTION__, 'jetpack-13.7', 'Automattic\\Jetpack\\Masterbar\\hide_customizer_menu_on_block_theme' );
61 add_action(
62 'init',
63 function () {
64 if ( wp_is_block_theme() && ! is_customize_preview() ) {
65 remove_action( 'customize_register', 'add_logotool_button', 20 );
66 remove_action( 'customize_register', 'footercredits_register', 99 );
67 remove_action( 'customize_register', 'wpcom_disable_customizer_site_icon', 20 );
68
69 if ( class_exists( '\Jetpack_Fonts' ) ) {
70 $jetpack_fonts_instance = \Jetpack_Fonts::get_instance();
71 remove_action( 'customize_register', array( $jetpack_fonts_instance, 'register_controls' ) );
72 remove_action( 'customize_register', array( $jetpack_fonts_instance, 'maybe_prepopulate_option' ), 0 );
73 }
74
75 remove_action( 'customize_register', array( 'Jetpack_Fonts_Typekit', 'maybe_override_for_advanced_mode' ), 20 );
76
77 remove_action( 'customize_register', 'Automattic\Jetpack\Dashboard_Customizations\register_css_nudge_control' );
78
79 // @phan-suppress-next-line PhanUndeclaredClassInCallable
80 remove_action( 'customize_register', array( 'Jetpack_Custom_CSS_Enhancements', 'customize_register' ) );
81 }
82 }
83 );
84 }
85
86 /**
87 * Gets the name of the class that customizes the admin menu.
88 *
89 * @deprecated 13.7
90 *
91 * @return string Class name.
92 */
93 function get_admin_menu_class() {
94 _deprecated_function( __FUNCTION__, 'jetpack-13.7', 'Automattic\\Jetpack\\Masterbar\\get_admin_menu_class' );
95 hide_customizer_menu_on_block_theme();
96
97 // WordPress.com Atomic sites.
98 if ( ( new Host() )->is_woa_site() ) {
99
100 // DIFM Lite In Progress Atomic Sites. Uses the same menu used for domain-only sites.
101 // Ignore this check if we are in a support session.
102 $is_difm_lite_in_progress = wpcomsh_is_site_sticker_active( 'difm-lite-in-progress' );
103 $is_support_session = defined( 'WPCOM_SUPPORT_SESSION' ) && WPCOM_SUPPORT_SESSION;
104 if ( $is_difm_lite_in_progress && ! $is_support_session ) {
105 require_once __DIR__ . '/class-domain-only-admin-menu.php';
106 return Domain_Only_Admin_Menu::class;
107 }
108
109 require_once __DIR__ . '/class-atomic-admin-menu.php';
110 return Atomic_Admin_Menu::class;
111 }
112
113 // WordPress.com Simple sites.
114 if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
115 $blog_id = get_current_blog_id();
116
117 // Domain-only sites.
118 $blog_options = get_blog_option( $blog_id, 'options' );
119 $is_domain_only = ! empty( $blog_options['is_domain_only'] );
120 if ( $is_domain_only ) {
121 require_once __DIR__ . '/class-domain-only-admin-menu.php';
122 return Domain_Only_Admin_Menu::class;
123 }
124
125 // DIFM Lite In Progress Sites. Uses the same menu used for domain-only sites.
126 // Ignore this check if we are in a support session.
127 $is_difm_lite_in_progress = has_blog_sticker( 'difm-lite-in-progress' );
128 $is_support_session = defined( 'WPCOM_SUPPORT_SESSION' ) && WPCOM_SUPPORT_SESSION;
129 if ( $is_difm_lite_in_progress && ! $is_support_session ) {
130 require_once __DIR__ . '/class-domain-only-admin-menu.php';
131 return Domain_Only_Admin_Menu::class;
132 }
133
134 // P2 sites.
135 require_once WP_CONTENT_DIR . '/lib/wpforteams/functions.php';
136 if ( \WPForTeams\is_wpforteams_site( $blog_id ) ) {
137 require_once __DIR__ . '/class-p2-admin-menu.php';
138 return P2_Admin_Menu::class;
139 }
140
141 // Rest of simple sites.
142 require_once __DIR__ . '/class-wpcom-admin-menu.php';
143 return WPcom_Admin_Menu::class;
144 }
145
146 // Jetpack sites.
147 require_once __DIR__ . '/class-jetpack-admin-menu.php';
148 return Jetpack_Admin_Menu::class;
149 }
150
151 /**
152 * Filters the name of the class that customizes the admin menu. It should extends the `Base_Admin_Menu` class.
153 *
154 * @module masterbar
155 *
156 * @since 9.6.0
157 *
158 * @param string $admin_menu_class Class name.
159 */
160 $admin_menu_class = apply_filters( 'jetpack_admin_menu_class', get_admin_menu_class() );
161 if ( should_customize_nav( $admin_menu_class ) ) {
162 /** The admin menu singleton instance. @var Base_Admin_Menu $instance */
163 $admin_menu_class::get_instance();
164
165 /**
166 * Trigger an event when the user uses the dashboard quick switcher.
167 *
168 * @deprecated 13.7
169 *
170 * @param string $screen The current screen.
171 * @param string $view The view the user choosed to go to.
172 */
173 function dashboard_quick_switcher_record_usage( $screen, $view ) {
174 _deprecated_function( __FUNCTION__, 'jetpack-13.7', 'Automattic\\Jetpack\\Masterbar\\dashboard_quick_switcher_record_usage' );
175
176 require_once __DIR__ . '/class-dashboard-switcher-tracking.php';
177
178 $tracking = new Dashboard_Switcher_Tracking(
179 new Tracking( Dashboard_Switcher_Tracking::get_jetpack_tracking_product() ),
180 array( Dashboard_Switcher_Tracking::class, 'wpcom_tracks_record_event' ),
181 Dashboard_Switcher_Tracking::get_plan()
182 );
183
184 $tracking->record_switch_event( $screen, $view );
185 }
186
187 \add_action( 'jetpack_dashboard_switcher_changed_view', __NAMESPACE__ . '\dashboard_quick_switcher_record_usage', 10, 2 );
188 } else {
189 \add_filter( 'jetpack_load_admin_menu_class', '__return_false' );
190 }
191