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 / ThirdParty / Aios.php
wp-staging / Framework / ThirdParty Last commit date
Aios.php 1 day ago FreemiusScript.php 1 day ago Jetpack.php 1 day ago LiteSpeedCache.php 1 day ago MalCare.php 1 day ago NinjaForms.php 1 day ago ThirdPartyCacheHandler.php 1 day ago WordFence.php 1 day ago
Aios.php
143 lines
1 <?php
2
3 namespace WPStaging\Framework\ThirdParty;
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 class Aios
24 {
25
26
27 const AIOS_OPTIONS = 'aio_wp_security_configs';
28
29 const AIOS_SALT_OPTION = 'aiowps_enable_salt_postfix';
30
31
32 const WHITELISTED_PLUGINS_OPTION = 'wpstg_optimizer_excluded';
33
34
35 const AIOS_PLUGIN_SLUG = 'all-in-one-wp-security-and-firewall';
36
37
38 private $whitelistedPlugins;
39
40 public function __construct()
41 {
42 $this->whitelistedPlugins = get_option(self::WHITELISTED_PLUGINS_OPTION, []);
43 }
44
45
46
47
48 public function isSaltPostfixOptionEnabled(): bool
49 {
50
51 if (!$this->isAiosActive()) {
52 return false;
53 }
54
55 $aiosOptions = get_option(self::AIOS_OPTIONS);
56 if (empty($aiosOptions) || empty($aiosOptions[self::AIOS_SALT_OPTION])) {
57 return false;
58 }
59
60 return $aiosOptions[self::AIOS_SALT_OPTION] === '1';
61 }
62
63
64
65
66 public function optimizerWhitelistUpdater()
67 {
68 $this->maybeAddAiosToWhitelist();
69 $this->maybeRemoveAiosFromWhitelist();
70 }
71
72
73
74
75
76 private function maybeAddAiosToWhitelist()
77 {
78 if (!$this->isSaltPostfixOptionEnabled()) {
79 return;
80 }
81
82 if (in_array(self::AIOS_PLUGIN_SLUG, $this->whitelistedPlugins)) {
83 return;
84 }
85
86 $this->whitelistedPlugins[] = self::AIOS_PLUGIN_SLUG;
87
88 update_option(self::WHITELISTED_PLUGINS_OPTION, $this->whitelistedPlugins);
89 }
90
91
92
93
94
95 private function maybeRemoveAiosFromWhitelist()
96 {
97 if (!$this->aiosIsWhitelisted()) {
98 return;
99 }
100
101 if ($this->isSaltPostfixOptionEnabled()) {
102 return;
103 }
104
105 $key = array_search(self::AIOS_PLUGIN_SLUG, $this->whitelistedPlugins);
106 if ($key !== false) {
107 unset($this->whitelistedPlugins[$key]);
108 }
109
110 update_option(self::WHITELISTED_PLUGINS_OPTION, $this->whitelistedPlugins);
111 }
112
113
114
115
116
117
118 public function doesClassExist(string $class): bool
119 {
120 return class_exists($class);
121 }
122
123
124
125
126 protected function isAiosActive(): bool
127 {
128 return $this->doesClassExist('AIO_WP_Security');
129 }
130
131
132
133
134 private function aiosIsWhitelisted(): bool
135 {
136 if (in_array(self::AIOS_PLUGIN_SLUG, $this->whitelistedPlugins)) {
137 return true;
138 }
139
140 return false;
141 }
142 }
143