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 +13 -54 16.2 → 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,10 @@
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 - 100
80 + $position,
81 + array( 'key' => 'jetpack-scan-cloud' )
80 82 );
81 83 }
82 84
83 85 // Add scan item which shows history page only. This is mutally exclusive from the scan item above and is only shown for Atomic sitse.
@@ -88,27 +90,19 @@
88 90 'Scan <span aria-hidden="true">↗</span>',
89 91 'manage_options',
90 92 esc_url( Redirect::get_url( 'cloud-scan-history-wp-menu' ) ),
91 93 null,
92 - 100
94 + $position,
95 + array( 'key' => 'jetpack-scan-cloud' )
93 96 );
94 97 }
95 -
96 - if ( $this->should_show_backup() ) {
97 - Admin_Menu::add_menu(
98 - /** "VaultPress Backup" is a product name, do not translate. */
99 - 'VaultPress Backup',
100 - 'VaultPress Backup <span aria-hidden="true">↗</span>',
101 - 'manage_options',
102 - esc_url( Redirect::get_url( 'calypso-backups' ) ),
103 - null,
104 - 100
105 - );
106 - }
107 98 }
108 99
109 100 /**
110 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.
111 105 */
112 106 public function refresh_state_cache() {
113 107 Jetpack_Core_Json_Api_Endpoints::get_scan_state();
114 108 Jetpack_Core_Json_Api_Endpoints::get_rewind_data();
@@ -119,9 +113,9 @@
119 113 *
120 114 * @return boolean
121 115 */
122 116 private function should_show_link() {
123 - // Jetpack Scan/Backup is currently not supported on multisite.
117 + // Jetpack Scan is currently not supported on multisite.
124 118 if ( is_multisite() ) {
125 119 return false;
126 120 }
127 121
@@ -130,9 +124,9 @@
130 124 if ( class_exists( 'VaultPress' ) ) {
131 125 return false;
132 126 }
133 127
134 - 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();
135 129 }
136 130
137 131 /**
138 132 * Check if we should display the Scan menu item.
@@ -156,19 +150,8 @@
156 150 return $this->has_scan() && ( new Host() )->is_woa_site() && get_option( 'wpcom_admin_interface' ) === 'wp-admin';
157 151 }
158 152
159 153 /**
160 - * Check if we should display the Backup menu item.
161 - *
162 - * 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.
163 - *
164 - * @return boolean
165 - */
166 - private function should_show_backup() {
167 - return $this->has_backup() && ! $this->has_backup_plugin();
168 - }
169 -
170 - /**
171 154 * Detects if Scan is enabled.
172 155 *
173 156 * @return boolean
174 157 */
@@ -188,32 +171,8 @@
188 171 * @return boolean
189 172 */
190 173 private function has_protect_plugin() {
191 174 return class_exists( 'Jetpack_Protect' );
192 - }
193 -
194 - /**
195 - * Detects if Backup is enabled.
196 - *
197 - * @return boolean
198 - */
199 - private function has_backup() {
200 - $this->maybe_refresh_transient_cache();
201 - $rewind_state = get_transient( 'jetpack_rewind_state' );
202 - if ( ! $rewind_state ) {
203 - return false;
204 - }
205 -
206 - return isset( $rewind_state->state ) && 'unavailable' !== $rewind_state->state;
207 - }
208 -
209 - /**
210 - * Detects if Backup plugin is active.
211 - *
212 - * @return boolean
213 - */
214 - private function has_backup_plugin() {
215 - return Backup::is_standalone_plugin_active();
216 175 }
217 176
218 177 /**
219 178 * Triggers a cron job to refresh the Scan and Rewind state cache.