PluginProbe
The WP Remote WordPress Plugin / 5.47
The WP Remote WordPress Plugin v5.47
6.72 6.69 6.65 6.62 6.48 6.47 4.87 4.97 5.05 5.09 5.16 5.22 5.24 5.25 5.38 5.41 5.42 5.45 5.47 5.53 5.56 5.65 5.68 5.72 5.73 All 53 releases
wpremote / info.php

info.php in The WP Remote WordPress Plugin 5.47, at info.php

233 lines 6.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 if (!defined('ABSPATH')) exit;
4 if (!class_exists('WPRInfo')) :
5 class WPRInfo {
6 public $settings;
7 public $config;
8 public $plugname = 'wpremote';
9 public $brandname = 'WP Remote';
10 public $badgeinfo = 'wprbadge';
11 public $ip_header_option = 'wpripheader';
12 public $brand_option = 'bv_whitelabel_infos';
13 public $version = '5.47';
14 public $webpage = 'https://wpremote.com';
15 public $appurl = 'https://app.wpremote.com';
16 public $slug = 'wpremote/plugin.php';
17 public $plug_redirect = 'wprredirect';
18 public $logo = '../img/wprlogo.png';
19 public $brand_icon = '/img/icon.png';
20 public $services_option_name = 'wprconfig';
21 public $author = 'WP Remote';
22 public $title = 'WP Remote';
23
24 const DB_VERSION = '4';
25
26 public function __construct($settings) {
27 $this->settings = $settings;
28 $this->config = $this->settings->getOption($this->services_option_name);
29 }
30
31 public function getCurrentDBVersion() {
32 $bvconfig = $this->config;
33 if ($bvconfig && array_key_exists('db_version', $bvconfig)) {
34 return $bvconfig['db_version'];
35 }
36 return false;
37 }
38
39 public function hasValidDBVersion() {
40 return WPRInfo::DB_VERSION === $this->getCurrentDBVersion();
41 }
42
43 public function getLatestWooCommerceDBVersion() {
44 if (defined('WC_ABSPATH') && file_exists(WC_ABSPATH . 'includes/class-wc-install.php')) {
45 include_once WC_ABSPATH . 'includes/class-wc-install.php';
46
47 if (class_exists('WC_Install')) {
48 $update_versions = array_keys(WC_Install::get_db_update_callbacks());
49
50 if (!empty($update_versions)) {
51 asort($update_versions);
52 return end($update_versions);
53 }
54 }
55 }
56
57 return false;
58 }
59
60 public function getLatestElementorDBVersion($file) {
61 $managerClass = $file === "elementor/elementor.php" ? '\Elementor\Core\Upgrade\Manager' : '\ElementorPro\Core\Upgrade\Manager';
62
63 if (!class_exists($managerClass)) {
64 return false;
65 }
66
67 $manager = new $managerClass();
68 return $manager->get_new_version();
69 }
70
71 public static function getRequestID() {
72 if (!defined("BV_REQUEST_ID")) {
73 define("BV_REQUEST_ID", uniqid(mt_rand()));
74 }
75 return BV_REQUEST_ID;
76 }
77
78 public function canSetCWBranding() {
79 if (WPRWPSiteInfo::isCWServer()) {
80
81 $bot_protect_accounts = WPRAccount::accountsByType($this->settings, 'botprotect');
82 if (sizeof($bot_protect_accounts) >= 1)
83 return true;
84
85 $bot_protect_accounts = WPRAccount::accountsByPattern($this->settings, 'email', '/@cw_user\.com$/');
86 if (sizeof($bot_protect_accounts) >= 1)
87 return true;
88 }
89
90 return false;
91 }
92
93 public function canWhiteLabel($slug = NULL) {
94 if (array_key_exists("bv_override_global_whitelabel", $_REQUEST)) {
95 return false;
96 }
97 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
98 $_REQUEST["bv_override_plugin_whitelabel"] === $slug) {
99 return false;
100 }
101 return true;
102 }
103
104 public function getPluginWhitelabelInfo($slug = null) {
105 if ($slug === null) {
106 $slug = $this->slug;
107 }
108 $whitelabel_infos = $this->getPluginsWhitelabelInfos();
109 if (!array_key_exists($slug, $whitelabel_infos) || !is_array($whitelabel_infos[$slug])) {
110 return array();
111 }
112 return $whitelabel_infos[$slug];
113 }
114
115 public function getBrandInfo() {
116 return $this->settings->getOption($this->brand_option);
117 }
118
119 public function getPluginsWhitelabelInfos() {
120 $whitelabel_infos = $this->settings->getOption($this->brand_option);
121 return is_array($whitelabel_infos) ? $whitelabel_infos : array();
122 }
123
124 public function getPluginsWhitelabelInfoByTitle() {
125 $whitelabel_infos = $this->getPluginsWhitelabelInfos();
126 $whitelabel_infos_by_title = array();
127 foreach ($whitelabel_infos as $slug => $whitelabel_info) {
128 if (is_array($whitelabel_info) && array_key_exists('default_title', $whitelabel_info) && isset($whitelabel_info['default_title'])) {
129 $whitelabel_info['slug'] = $slug;
130 $whitelabel_infos_by_title[$whitelabel_info['default_title']] = $whitelabel_info;
131 }
132 }
133 return $whitelabel_infos_by_title;
134 }
135
136 public function getBrandName() {
137 $brand = $this->getPluginWhitelabelInfo();
138 if (is_array($brand) && array_key_exists('menuname', $brand)) {
139 return $brand['menuname'];
140 }
141
142 return $this->brandname;
143 }
144
145 public function getBrandIcon() {
146 $brand = $this->getPluginWhitelabelInfo();
147 if (is_array($brand) && array_key_exists('brand_icon', $brand)) {
148 return $brand['brand_icon'];
149 }
150 return $this->brand_icon;
151 }
152
153 public function getWatchTime() {
154 $time = $this->settings->getOption('bvwatchtime');
155 return ($time ? $time : 0);
156 }
157
158 public function appUrl() {
159 if (defined('BV_APP_URL')) {
160 return BV_APP_URL;
161 } else {
162 $brand = $this->getPluginWhitelabelInfo();
163 if (is_array($brand) && array_key_exists('appurl', $brand)) {
164 return $brand['appurl'];
165 }
166 return $this->appurl;
167 }
168 }
169
170 public function isActivePlugin() {
171 $expiry_time = time() - (3 * 24 * 3600);
172 return ($this->getWatchTime() > $expiry_time);
173 }
174
175 public function isValidEnvironment(){
176 $bvsiteinfo = new WPRWPSiteInfo();
177 $bvconfig = $this->config;
178
179 if (is_multisite()) {
180 return true;
181 } elseif ($bvconfig && array_key_exists("siteurl_scheme", $bvconfig)) {
182 $siteurl = $bvsiteinfo->siteurl('', $bvconfig["siteurl_scheme"]);
183 if (array_key_exists("abspath", $bvconfig) &&
184 array_key_exists("siteurl", $bvconfig) && !empty($siteurl)) {
185 return ($bvconfig["abspath"] == ABSPATH && $bvconfig["siteurl"] == $siteurl);
186 }
187 }
188 return true;
189 }
190
191 public function isProtectModuleEnabled() {
192 return $this->isServiceActive("protect") && $this->isValidEnvironment();
193 }
194
195 public function isDynSyncModuleEnabled() {
196 if ($this->isServiceActive("dynsync")) {
197 $dynconfig = $this->config['dynsync'];
198 if (array_key_exists('dynplug', $dynconfig) && ($dynconfig['dynplug'] === $this->plugname)) {
199 return true;
200 }
201 }
202 return false;
203 }
204
205 public function isServiceActive($service) {
206 $bvconfig = $this->config;
207 if ($bvconfig && array_key_exists('services', $bvconfig)) {
208 return in_array($service, $bvconfig['services']) && $this->isActivePlugin();
209 }
210 return false;
211 }
212
213 public function isActivateRedirectSet() {
214 return ($this->settings->getOption($this->plug_redirect) === 'yes') ? true : false;
215 }
216
217 public function isMalcare() {
218 return $this->getBrandName() === 'MalCare';
219 }
220
221 public function isBlogvault() {
222 return $this->getBrandName() === 'BlogVault';
223 }
224
225 public function info() {
226 return array(
227 "bvversion" => $this->version,
228 "sha1" => "true",
229 "plugname" => $this->plugname
230 );
231 }
232 }
233 endif;