PluginProbe
The WP Remote WordPress Plugin / 6.76
The WP Remote WordPress Plugin v6.76
6.76 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 All 54 releases
← All changes | info.php +33 -28 5.536.76 View file →
@@ -9,9 +9,10 @@
9 9 public $brandname = 'WP Remote';
10 10 public $badgeinfo = 'wprbadge';
11 11 public $ip_header_option = 'wpripheader';
12 12 public $brand_option = 'bv_whitelabel_infos';
13 - public $version = '5.53';
13 + public $wp_lp_whitelabel_option = 'wprLpWhitelabelConf';
14 + public $version = '6.76';
14 15 public $webpage = 'https://wpremote.com';
15 16 public $appurl = 'https://app.wpremote.com';
16 17 public $slug = 'wpremote/plugin.php';
17 18 public $plug_redirect = 'wprredirect';
@@ -20,9 +21,10 @@
20 21 public $services_option_name = 'wprconfig';
21 22 public $author = 'WP Remote';
22 23 public $title = 'WP Remote';
23 24
24 - const DB_VERSION = '4';
25 + const DB_VERSION = '5';
26 + const AL_CONF_VERSION = '1.1';
25 27
26 28 public function __construct($settings) {
27 29 $this->settings = $settings;
28 30 $this->config = $this->settings->getOption($this->services_option_name);
@@ -35,8 +37,16 @@
35 37 }
36 38 return false;
37 39 }
38 40
41 + # The server leases capture for a few days at a time; a stale configuration
42 + # registers nothing.
43 + public function isActivityLogActive() {
44 + $config = isset($this->config['activity_log']) ? $this->config['activity_log'] : null;
45 + return $this->hasValidDBVersion() && is_array($config) && !empty($config['hooks']) &&
46 + isset($config['enabled_until']) && is_numeric($config['enabled_until']) && $config['enabled_until'] > time();
47 + }
48 +
39 49 public function hasValidDBVersion() {
40 50 return WPRInfo::DB_VERSION === $this->getCurrentDBVersion();
41 51 }
42 52
@@ -59,15 +69,19 @@
59 69
60 70 public function getConnectionKey() {
61 71 require_once dirname( __FILE__ ) . '/recover.php';
62 72 $bvsiteinfo = new WPRWPSiteInfo();
63 - return base64_encode(WPRRecover::defaultSecret($this->settings).":".$bvsiteinfo->siteurl());
64 - }
73 + $encoded_url = base64_encode($bvsiteinfo->siteurl());
74 + $secret = WPRRecover::defaultSecret($this->settings);
75 + $tag = WPRRecover::connectionTag($this->settings);
65 76
66 - public function getDefaultSecret() {
67 - require_once dirname( __FILE__ ) . '/recover.php';
68 - $bvsiteinfo = new WPRWPSiteInfo();
69 - return WPRRecover::defaultSecret($this->settings);
77 + #No tag means this site has no salt material in wp-config.php, and there
78 + #is no connection key that would be safe to hand out.
79 + if (empty($secret) || empty($tag)) {
80 + return null;
81 + }
82 +
83 + return base64_encode("v3:".$secret.":".$encoded_url.":".$this->plugname.":".$tag);
70 84 }
71 85
72 86 public function getLatestElementorDBVersion($file) {
73 87 $managerClass = $file === "elementor/elementor.php" ? '\Elementor\Core\Upgrade\Manager' : '\ElementorPro\Core\Upgrade\Manager';
@@ -80,30 +94,16 @@
80 94 return $manager->get_new_version();
81 95 }
82 96
83 97 public static function getRequestID() {
84 - if (!defined("BV_REQUEST_ID")) {
85 - define("BV_REQUEST_ID", uniqid(mt_rand()));
98 + if (!defined("WPR_REQUEST_ID")) {
99 + define("WPR_REQUEST_ID", uniqid(mt_rand())); // phpcs:ignore WordPress.WP.AlternativeFunctions.rand_mt_rand
86 100 }
87 - return BV_REQUEST_ID;
101 + return WPR_REQUEST_ID;
88 102 }
89 103
90 - public function canSetCWBranding() {
91 - if (WPRWPSiteInfo::isCWServer()) {
92 -
93 - $bot_protect_accounts = WPRAccount::accountsByType($this->settings, 'botprotect');
94 - if (sizeof($bot_protect_accounts) >= 1)
95 - return true;
96 -
97 - $bot_protect_accounts = WPRAccount::accountsByPattern($this->settings, 'email', '/@cw_user\.com$/');
98 - if (sizeof($bot_protect_accounts) >= 1)
99 - return true;
100 - }
101 -
102 - return false;
103 - }
104 -
105 104 public function canWhiteLabel($slug = NULL) {
105 + // phpcs:disable WordPress.Security.NonceVerification.Recommended
106 106 if (array_key_exists("bv_override_global_whitelabel", $_REQUEST)) {
107 107 return false;
108 108 }
109 109 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
@@ -109,8 +109,9 @@
109 109 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
110 110 $_REQUEST["bv_override_plugin_whitelabel"] === $slug) {
111 111 return false;
112 112 }
113 + // phpcs:enable WordPress.Security.NonceVerification.Recommended
113 114 return true;
114 115 }
115 116
116 117 public function getPluginWhitelabelInfo($slug = null) {
@@ -132,8 +133,13 @@
132 133 $whitelabel_infos = $this->settings->getOption($this->brand_option);
133 134 return is_array($whitelabel_infos) ? $whitelabel_infos : array();
134 135 }
135 136
137 + public function getLPWhitelabelInfo() {
138 + $infos = $this->settings->getOption($this->wp_lp_whitelabel_option);
139 + return is_array($infos) ? $infos : array();
140 + }
141 +
136 142 public function getPluginsWhitelabelInfoByTitle() {
137 143 $whitelabel_infos = $this->getPluginsWhitelabelInfos();
138 144 $whitelabel_infos_by_title = array();
139 145 foreach ($whitelabel_infos as $slug => $whitelabel_info) {
@@ -149,9 +155,8 @@
149 155 $brand = $this->getPluginWhitelabelInfo();
150 156 if (is_array($brand) && array_key_exists('menuname', $brand)) {
151 157 return $brand['menuname'];
152 158 }
153 -
154 159 return $this->brandname;
155 160 }
156 161
157 162 public function getBrandIcon() {
@@ -241,5 +246,5 @@
241 246 "plugname" => $this->plugname
242 247 );
243 248 }
244 249 }
245 -endif;
250 +endif;