PluginProbe
The WP Remote WordPress Plugin / 6.39
The WP Remote WordPress Plugin v6.39
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 6.39, at info.php

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