PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.7
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.7
16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 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 All 506 releases
← All changes | modules/scan/class-admin-sidebar-link.php +11 -55 16.3-a.1 → 16.3-a.7 View file →
@@ -1,7 +1,7 @@
1 1 <?php
2 2 /**
3 - * A class that adds a scan and backup link to the admin sidebar.
3 + * A class that adds a scan link to the admin sidebar.
4 4 *
5 5 * @package automattic/jetpack
6 6 */
7 7
@@ -7,9 +7,8 @@
7 7
8 8 namespace Automattic\Jetpack\Scan;
9 9
10 10 use Automattic\Jetpack\Admin_UI\Admin_Menu;
11 -use Automattic\Jetpack\My_Jetpack\Products\Backup;
12 11 use Automattic\Jetpack\Redirect;
13 12 use Automattic\Jetpack\Status\Host;
14 13 use Jetpack_Core_Json_Api_Endpoints;
15 14
@@ -60,9 +59,9 @@
60 59 add_action( self::SCHEDULE_ACTION_HOOK, array( $this, 'refresh_state_cache' ) );
61 60 }
62 61
63 62 /**
64 - * Adds a link to the Scan and Backup page.
63 + * Adds a link to the Scan page.
65 64 */
66 65 public function maybe_add_admin_link() {
67 66 if ( ! $this->should_show_link() ) {
68 67 return;
@@ -67,8 +66,10 @@
67 66 if ( ! $this->should_show_link() ) {
68 67 return;
69 68 }
70 69
70 + $position = defined( Admin_Menu::class . '::POSITION_EXTERNAL' ) ? Admin_Menu::POSITION_EXTERNAL : 100;
71 +
71 72 if ( $this->should_show_scan() ) {
72 73 Admin_Menu::add_menu(
73 74 /** "Scan" is a product name, do not translate. */
74 75 'Scan',
@@ -75,9 +76,9 @@
75 76 'Scan <span aria-hidden="true">↗</span>',
76 77 'manage_options',
77 78 esc_url( Redirect::get_url( 'cloud-scan-history-wp-menu' ) ),
78 79 null,
79 - Admin_Menu::POSITION_EXTERNAL,
80 + $position,
80 81 array( 'key' => 'jetpack-scan-cloud' )
81 82 );
82 83 }
83 84
@@ -89,29 +90,19 @@
89 90 'Scan <span aria-hidden="true">↗</span>',
90 91 'manage_options',
91 92 esc_url( Redirect::get_url( 'cloud-scan-history-wp-menu' ) ),
92 93 null,
93 - Admin_Menu::POSITION_EXTERNAL,
94 + $position,
94 95 array( 'key' => 'jetpack-scan-cloud' )
95 96 );
96 97 }
97 -
98 - if ( $this->should_show_backup() ) {
99 - Admin_Menu::add_menu(
100 - /** "VaultPress Backup" is a product name, do not translate. */
101 - 'VaultPress Backup',
102 - 'VaultPress Backup <span aria-hidden="true">↗</span>',
103 - 'manage_options',
104 - esc_url( Redirect::get_url( 'calypso-backups' ) ),
105 - null,
106 - Admin_Menu::POSITION_EXTERNAL,
107 - array( 'key' => 'jetpack-backup-cloud' )
108 - );
109 - }
110 98 }
111 99
112 100 /**
113 101 * Refreshes the state cache via API call. Called via cron.
102 + *
103 + * Still warms the rewind state, which this class no longer reads itself:
104 + * Jetpack_Core_Json_Api_Endpoints::rewind_data() serves it from that cache.
114 105 */
115 106 public function refresh_state_cache() {
116 107 Jetpack_Core_Json_Api_Endpoints::get_scan_state();
117 108 Jetpack_Core_Json_Api_Endpoints::get_rewind_data();
@@ -122,9 +113,9 @@
122 113 *
123 114 * @return boolean
124 115 */
125 116 private function should_show_link() {
126 - // Jetpack Scan/Backup is currently not supported on multisite.
117 + // Jetpack Scan is currently not supported on multisite.
127 118 if ( is_multisite() ) {
128 119 return false;
129 120 }
130 121
@@ -133,9 +124,9 @@
133 124 if ( class_exists( 'VaultPress' ) ) {
134 125 return false;
135 126 }
136 127
137 - return $this->should_show_scan() || $this->should_show_backup() || $this->should_show_scan_history_only();
128 + return $this->should_show_scan() || $this->should_show_scan_history_only();
138 129 }
139 130
140 131 /**
141 132 * Check if we should display the Scan menu item.
@@ -159,19 +150,8 @@
159 150 return $this->has_scan() && ( new Host() )->is_woa_site() && get_option( 'wpcom_admin_interface' ) === 'wp-admin';
160 151 }
161 152
162 153 /**
163 - * Check if we should display the Backup menu item.
164 - *
165 - * It will only be displayed if site has Backup enabled and the stand-alone Backup plugin is not active, because it will have a menu item of its own.
166 - *
167 - * @return boolean
168 - */
169 - private function should_show_backup() {
170 - return $this->has_backup() && ! $this->has_backup_plugin();
171 - }
172 -
173 - /**
174 154 * Detects if Scan is enabled.
175 155 *
176 156 * @return boolean
177 157 */
@@ -191,32 +171,8 @@
191 171 * @return boolean
192 172 */
193 173 private function has_protect_plugin() {
194 174 return class_exists( 'Jetpack_Protect' );
195 - }
196 -
197 - /**
198 - * Detects if Backup is enabled.
199 - *
200 - * @return boolean
201 - */
202 - private function has_backup() {
203 - $this->maybe_refresh_transient_cache();
204 - $rewind_state = get_transient( 'jetpack_rewind_state' );
205 - if ( ! $rewind_state ) {
206 - return false;
207 - }
208 -
209 - return isset( $rewind_state->state ) && 'unavailable' !== $rewind_state->state;
210 - }
211 -
212 - /**
213 - * Detects if Backup plugin is active.
214 - *
215 - * @return boolean
216 - */
217 - private function has_backup_plugin() {
218 - return Backup::is_standalone_plugin_active();
219 175 }
220 176
221 177 /**
222 178 * Triggers a cron job to refresh the Scan and Rewind state cache.