PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.3-beta
16.3-beta 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 All 507 releases
← All changes | jetpack_vendor/automattic/jetpack-status/src/class-host.php +95 -1 12.5.2 → 16.3-beta View file →
@@ -33,9 +33,9 @@
33 33 * Determine if the site is hosted on the Atomic hosting platform.
34 34 *
35 35 * @since 1.9.0
36 36 *
37 - * @return bool;
37 + * @return bool
38 38 */
39 39 public function is_atomic_platform() {
40 40 return Constants::is_true( 'ATOMIC_SITE_ID' ) && Constants::is_true( 'ATOMIC_CLIENT_ID' );
41 41 }
@@ -78,8 +78,36 @@
78 78 return $this->is_wpcom_simple() || $this->is_woa_site();
79 79 }
80 80
81 81 /**
82 + * Determine if this is a P2 site.
83 + * This covers both P2 and P2020 themes.
84 + *
85 + * @return bool
86 + */
87 + public function is_p2_site() {
88 + $site_id = $this->get_wpcom_site_id();
89 + if ( ! $site_id ) {
90 + return false;
91 + }
92 + return str_contains( get_stylesheet(), 'pub/p2' ) || ( function_exists( '\WPForTeams\is_wpforteams_site' ) && \WPForTeams\is_wpforteams_site( $site_id ) );
93 + }
94 +
95 + /**
96 + * Get the current site's WordPress.com ID.
97 + *
98 + * @return mixed The site's WordPress.com ID.
99 + */
100 + public function get_wpcom_site_id() {
101 + if ( $this->is_wpcom_simple() ) {
102 + return get_current_blog_id();
103 + } elseif ( class_exists( 'Jetpack' ) && \Jetpack::is_connection_ready() ) {
104 + return \Jetpack_Options::get_option( 'id' );
105 + }
106 + return false;
107 + }
108 +
109 + /**
82 110 * Add all wordpress.com environments to the safe redirect allowed list.
83 111 *
84 112 * To be used with a filter of allowed domains for a redirect.
85 113 *
@@ -117,6 +145,72 @@
117 145 return sanitize_key( CALYPSO_ENV );
118 146 }
119 147
120 148 return '';
149 + }
150 +
151 + /**
152 + * Return source query param value from the URL if exists in the allowed sources list.
153 + *
154 + * @return string "source" query param value
155 + */
156 + public function get_source_query() {
157 + // phpcs:disable WordPress.Security.NonceVerification.Recommended
158 + $allowed_sources = array( 'jetpack-manage', 'a8c-for-agencies' );
159 + if ( isset( $_GET['source'] ) && in_array( $_GET['source'], $allowed_sources, true ) ) {
160 + return sanitize_key( $_GET['source'] );
161 + }
162 +
163 + return '';
164 + }
165 +
166 + /**
167 + * Returns a guess of the hosting provider for the current site based on various checks.
168 + *
169 + * @since 5.0.4 Added $guess parameter.
170 + * @since 6.0.0 Removed $guess parameter.
171 + *
172 + * @return string
173 + */
174 + public function get_known_host_guess() {
175 + // First, let's check if we can recognize provider manually:
176 + switch ( true ) {
177 + case $this->is_woa_site():
178 + $provider = 'woa';
179 + break;
180 + case $this->is_atomic_platform():
181 + $provider = 'atomic';
182 + break;
183 + case $this->is_newspack_site():
184 + $provider = 'newspack';
185 + break;
186 + case $this->is_vip_site():
187 + $provider = 'vip';
188 + break;
189 + case $this->is_wpcom_simple():
190 + case $this->is_wpcom_platform():
191 + $provider = 'wpcom';
192 + break;
193 + default:
194 + $provider = 'unknown';
195 + break;
196 + }
197 +
198 + return $provider;
199 + }
200 +
201 + /**
202 + * Add public-api.wordpress.com to the safe redirect allowed list - only added when someone allows API access.
203 + *
204 + * @since 3.0.2 Ported from Jetpack to the Status package.
205 + *
206 + * To be used with a filter of allowed domains for a redirect.
207 + *
208 + * @param array $domains Allowed WP.com Environments.
209 + *
210 + * @return array
211 + */
212 + public static function allow_wpcom_public_api_domain( $domains ) {
213 + $domains[] = 'public-api.wordpress.com';
214 + return $domains;
121 215 }
122 216 }