PluginProbe
BlockSpare – Gutenberg Blocks, AI Content Generator & Site Builder for News, Magazine & Blogs / 5.0.1
BlockSpare – Gutenberg Blocks, AI Content Generator & Site Builder for News, Magazine & Blogs v5.0.1
5.0.1 4.1.0 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.1.0 1.1.1 1.1.2 1.2.0 1.2.1 1.2.2 1.2.3 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 2.1.2 2.5.0 2.5.3 All 39 releases
← All changes | freemius/includes/entities/class-fs-site.php +48 -5 2.5.3 → 5.0.1 View file →
@@ -9,11 +9,8 @@
9 9 if ( ! defined( 'ABSPATH' ) ) {
10 10 exit;
11 11 }
12 12
13 - /**
14 - * @property int $blog_id
15 - */
16 13 class FS_Site extends FS_Scope_Entity {
17 14 /**
18 15 * @var number
19 16 */
@@ -18,8 +15,12 @@
18 15 * @var number
19 16 */
20 17 public $site_id;
21 18 /**
19 + * @var int
20 + */
21 + public $blog_id;
22 + /**
22 23 * @var number
23 24 */
24 25 public $plugin_id;
25 26 /**
@@ -180,8 +181,9 @@
180 181 // WPEngine staging.
181 182 fs_ends_with( $subdomain, '.staging.wpengine.com' ) ||
182 183 fs_ends_with( $subdomain, '.dev.wpengine.com' ) ||
183 184 fs_ends_with( $subdomain, '.wpengine.com' ) ||
185 + fs_ends_with( $subdomain, '.wpenginepowered.com' ) ||
184 186 // Pantheon
185 187 ( fs_ends_with( $subdomain, 'pantheonsite.io' ) &&
186 188 ( fs_starts_with( $subdomain, 'test-' ) || fs_starts_with( $subdomain, 'dev-' ) ) ) ||
187 189 // Cloudways
@@ -186,9 +188,12 @@
186 188 ( fs_starts_with( $subdomain, 'test-' ) || fs_starts_with( $subdomain, 'dev-' ) ) ) ||
187 189 // Cloudways
188 190 fs_ends_with( $subdomain, '.cloudwaysapps.com' ) ||
189 191 // Kinsta
190 - ( fs_starts_with( $subdomain, 'staging-' ) && ( fs_ends_with( $subdomain, '.kinsta.com' ) || fs_ends_with( $subdomain, '.kinsta.cloud' ) ) ) ||
192 + (
193 + ( fs_starts_with( $subdomain, 'stg-' ) || fs_starts_with( $subdomain, 'staging-' ) || fs_starts_with( $subdomain, 'env-' ) ) &&
194 + ( fs_ends_with( $subdomain, '.kinsta.com' ) || fs_ends_with( $subdomain, '.kinsta.cloud' ) )
195 + ) ||
191 196 // DesktopServer
192 197 fs_ends_with( $subdomain, '.dev.cc' ) ||
193 198 // Pressable
194 199 fs_ends_with( $subdomain, '.mystagingwebsite.com' ) ||
@@ -196,10 +201,48 @@
196 201 ( fs_ends_with( $subdomain, '.tempurl.host' ) || fs_ends_with( $subdomain, '.wpmudev.host' ) ) ||
197 202 // Vendasta
198 203 ( fs_ends_with( $subdomain, '.websitepro-staging.com' ) || fs_ends_with( $subdomain, '.websitepro.hosting' ) ) ||
199 204 // InstaWP
200 - fs_ends_with( $subdomain, '.instawp.xyz' )
205 + ( fs_ends_with( $subdomain, '.instawp.co' ) || fs_ends_with( $subdomain, '.instawp.link' ) || fs_ends_with( $subdomain, '.instawp.xyz' ) ) ||
206 + // 10Web Hosting
207 + ( fs_ends_with( $subdomain, '-dev.10web.site' ) || fs_ends_with( $subdomain, '-dev.10web.cloud' ) )
201 208 );
209 + }
210 +
211 + /**
212 + * @author Leo Fajardo (@leorw)
213 + * @since 2.9.1
214 + *
215 + * @param string $host
216 + *
217 + * @return bool
218 + */
219 + static function is_playground_wp_environment_by_host( $host ) {
220 + // Services aimed at providing a WordPress sandbox environment.
221 + $sandbox_wp_environment_domains = array(
222 + // InstaWP
223 + 'instawp.co',
224 + 'instawp.link',
225 + 'instawp.xyz',
226 +
227 + // TasteWP
228 + 'tastewp.com',
229 +
230 + // WordPress Playground
231 + 'playground.wordpress.net',
232 + );
233 +
234 + foreach ( $sandbox_wp_environment_domains as $domain) {
235 + if (
236 + ( $host === $domain ) ||
237 + fs_ends_with( $host, '.' . $domain ) ||
238 + fs_ends_with( $host, '-' . $domain )
239 + ) {
240 + return true;
241 + }
242 + }
243 +
244 + return false;
202 245 }
203 246
204 247 function is_localhost() {
205 248 return ( WP_FS__IS_LOCALHOST_FOR_SERVER || self::is_localhost_by_address( $this->url ) );