PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 3.8.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v3.8.0
4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / ThirdParty / FreemiusScript.php
wp-staging / Framework / ThirdParty Last commit date
Aios.php 2 years ago FreemiusScript.php 2 years ago Jetpack.php 2 years ago ThirdPartyCacheHandler.php 2 years ago WordFence.php 2 years ago
FreemiusScript.php
71 lines
1 <?php
2
3 namespace WPStaging\Framework\ThirdParty;
4
5 /**
6 * Class FreemiusScript
7 *
8 * Provide special treatments for cloning and pushing when a site is using freemius library
9 *
10 * @package WPStaging\Framework\ThirdParty
11 */
12 class FreemiusScript
13 {
14 /**
15 * The option_name that is stored in the database to check if the freemius notice to be shown
16 * on the staging site
17 */
18 const NOTICE_OPTION = 'wpstg_freemius_notice';
19
20 /**
21 * Get the list of freemius option to be deleted during cloning,
22 * And preserve during push.
23 *
24 * @return array<string>
25 */
26 public function getFreemiusOptions()
27 {
28 return [
29 'fs_accounts',
30 'fs_dbg_accounts',
31 'fs_active_plugins',
32 'fs_api_cache',
33 'fs_dbg_api_cache',
34 'fs_debug_mode'
35 ];
36 }
37
38 /**
39 * Check if freemius options exist
40 * Most likely if the production db have fs_accounts it will also have other freemius options.
41 *
42 * @return boolean
43 */
44 public function hasFreemiusOptions()
45 {
46 return get_option('fs_accounts') !== false;
47 }
48
49 /**
50 * Check whether to show the freemius notice
51 * If the option is not present then it should not be shown.
52 *
53 * @return bool
54 */
55 public function isNoticeEnabled()
56 {
57 return get_option(self::NOTICE_OPTION, false);
58 }
59
60 /**
61 * Delete the option in database to disable showing the notice
62 * Should be called only on the staging site as notice should be only shown on the staging site.
63 *
64 * @return bool
65 */
66 public function disableNotice()
67 {
68 return delete_option(self::NOTICE_OPTION);
69 }
70 }
71