PluginProbe
The WP Remote WordPress Plugin / 5.42
The WP Remote WordPress Plugin v5.42
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.42, at info.php

222 lines 6.2 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.42';
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 static function getRequestID() {
61 if (!defined("BV_REQUEST_ID")) {
62 define("BV_REQUEST_ID", uniqid(mt_rand()));
63 }
64 return BV_REQUEST_ID;
65 }
66
67 public function canSetCWBranding() {
68 if (WPRWPSiteInfo::isCWServer()) {
69
70 $bot_protect_accounts = WPRAccount::accountsByType($this->settings, 'botprotect');
71 if (sizeof($bot_protect_accounts) >= 1)
72 return true;
73
74 $bot_protect_accounts = WPRAccount::accountsByPattern($this->settings, 'email', '/@cw_user\.com$/');
75 if (sizeof($bot_protect_accounts) >= 1)
76 return true;
77 }
78
79 return false;
80 }
81
82 public function canWhiteLabel($slug = NULL) {
83 if (array_key_exists("bv_override_global_whitelabel", $_REQUEST)) {
84 return false;
85 }
86 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
87 $_REQUEST["bv_override_plugin_whitelabel"] === $slug) {
88 return false;
89 }
90 return true;
91 }
92
93 public function getPluginWhitelabelInfo($slug = null) {
94 if ($slug === null) {
95 $slug = $this->slug;
96 }
97 $whitelabel_infos = $this->getPluginsWhitelabelInfos();
98 if (!array_key_exists($slug, $whitelabel_infos) || !is_array($whitelabel_infos[$slug])) {
99 return array();
100 }
101 return $whitelabel_infos[$slug];
102 }
103
104 public function getBrandInfo() {
105 return $this->settings->getOption($this->brand_option);
106 }
107
108 public function getPluginsWhitelabelInfos() {
109 $whitelabel_infos = $this->settings->getOption($this->brand_option);
110 return is_array($whitelabel_infos) ? $whitelabel_infos : array();
111 }
112
113 public function getPluginsWhitelabelInfoByTitle() {
114 $whitelabel_infos = $this->getPluginsWhitelabelInfos();
115 $whitelabel_infos_by_title = array();
116 foreach ($whitelabel_infos as $slug => $whitelabel_info) {
117 if (is_array($whitelabel_info) && array_key_exists('default_title', $whitelabel_info) && isset($whitelabel_info['default_title'])) {
118 $whitelabel_info['slug'] = $slug;
119 $whitelabel_infos_by_title[$whitelabel_info['default_title']] = $whitelabel_info;
120 }
121 }
122 return $whitelabel_infos_by_title;
123 }
124
125 public function getBrandName() {
126 $brand = $this->getPluginWhitelabelInfo();
127 if (is_array($brand) && array_key_exists('menuname', $brand)) {
128 return $brand['menuname'];
129 }
130
131 return $this->brandname;
132 }
133
134 public function getBrandIcon() {
135 $brand = $this->getPluginWhitelabelInfo();
136 if (is_array($brand) && array_key_exists('brand_icon', $brand)) {
137 return $brand['brand_icon'];
138 }
139 return $this->brand_icon;
140 }
141
142 public function getWatchTime() {
143 $time = $this->settings->getOption('bvwatchtime');
144 return ($time ? $time : 0);
145 }
146
147 public function appUrl() {
148 if (defined('BV_APP_URL')) {
149 return BV_APP_URL;
150 } else {
151 $brand = $this->getPluginWhitelabelInfo();
152 if (is_array($brand) && array_key_exists('appurl', $brand)) {
153 return $brand['appurl'];
154 }
155 return $this->appurl;
156 }
157 }
158
159 public function isActivePlugin() {
160 $expiry_time = time() - (3 * 24 * 3600);
161 return ($this->getWatchTime() > $expiry_time);
162 }
163
164 public function isValidEnvironment(){
165 $bvsiteinfo = new WPRWPSiteInfo();
166 $bvconfig = $this->config;
167
168 if (is_multisite()) {
169 return true;
170 } elseif ($bvconfig && array_key_exists("siteurl_scheme", $bvconfig)) {
171 $siteurl = $bvsiteinfo->siteurl('', $bvconfig["siteurl_scheme"]);
172 if (array_key_exists("abspath", $bvconfig) &&
173 array_key_exists("siteurl", $bvconfig) && !empty($siteurl)) {
174 return ($bvconfig["abspath"] == ABSPATH && $bvconfig["siteurl"] == $siteurl);
175 }
176 }
177 return true;
178 }
179
180 public function isProtectModuleEnabled() {
181 return $this->isServiceActive("protect") && $this->isValidEnvironment();
182 }
183
184 public function isDynSyncModuleEnabled() {
185 if ($this->isServiceActive("dynsync")) {
186 $dynconfig = $this->config['dynsync'];
187 if (array_key_exists('dynplug', $dynconfig) && ($dynconfig['dynplug'] === $this->plugname)) {
188 return true;
189 }
190 }
191 return false;
192 }
193
194 public function isServiceActive($service) {
195 $bvconfig = $this->config;
196 if ($bvconfig && array_key_exists('services', $bvconfig)) {
197 return in_array($service, $bvconfig['services']) && $this->isActivePlugin();
198 }
199 return false;
200 }
201
202 public function isActivateRedirectSet() {
203 return ($this->settings->getOption($this->plug_redirect) === 'yes') ? true : false;
204 }
205
206 public function isMalcare() {
207 return $this->getBrandName() === 'MalCare';
208 }
209
210 public function isBlogvault() {
211 return $this->getBrandName() === 'BlogVault';
212 }
213
214 public function info() {
215 return array(
216 "bvversion" => $this->version,
217 "sha1" => "true",
218 "plugname" => $this->plugname
219 );
220 }
221 }
222 endif;