PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.11.0
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.11.0
4.11.0 4.10.0 4.9.5 4.9.4 4.9.3 4.9.2 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 / Onboarding / FirstInstall.php
wp-staging / Framework / Onboarding Last commit date
BackupPluginsDetector.php 1 day ago FirstInstall.php 1 day ago FreeOnboarding.php 1 day ago NextStepRenderer.php 1 day ago OnboardingAjax.php 1 day ago OnboardingJourney.php 1 day ago QueuedBackup.php 1 day ago
FirstInstall.php
86 lines
1 <?php
2
3 namespace WPStaging\Framework\Onboarding;
4
5 use WPStaging\Staging\Sites;
6
7
8
9
10
11
12
13
14 class FirstInstall
15 {
16
17 const OPTION_FIRST_INSTALL = 'wpstg_first_install';
18
19
20
21
22
23
24
25
26 const FOOTPRINT_OPTIONS = [
27 'wpstg_installDate',
28 'wpstg_free_install_date',
29 'wpstgpro_install_date',
30 'wpstg_version',
31 Sites::STAGING_SITES_OPTION,
32 ];
33
34
35
36
37
38
39
40
41 public static function markIfFirstInstall(): bool
42 {
43 if (get_option(self::OPTION_FIRST_INSTALL) !== false) {
44 return true;
45 }
46
47 if (!self::hasNeverSeenWpStaging()) {
48 return false;
49 }
50
51 add_option(self::OPTION_FIRST_INSTALL, (string)time(), '', false);
52
53 return true;
54 }
55
56
57
58
59
60
61
62
63
64
65
66 public static function hasNeverSeenWpStaging(): bool
67 {
68 if (get_option(self::OPTION_FIRST_INSTALL) !== false) {
69 return false;
70 }
71
72 foreach (self::FOOTPRINT_OPTIONS as $option) {
73 if (get_option($option) !== false) {
74 return false;
75 }
76 }
77
78 return true;
79 }
80
81 public function isFirstInstall(): bool
82 {
83 return get_option(self::OPTION_FIRST_INSTALL) !== false;
84 }
85 }
86