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 +30 -28 5.656.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.65';
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
@@ -61,16 +71,17 @@
61 71 require_once dirname( __FILE__ ) . '/recover.php';
62 72 $bvsiteinfo = new WPRWPSiteInfo();
63 73 $encoded_url = base64_encode($bvsiteinfo->siteurl());
64 74 $secret = WPRRecover::defaultSecret($this->settings);
75 + $tag = WPRRecover::connectionTag($this->settings);
65 76
66 - return base64_encode("v1:".$secret.":".$encoded_url);
67 - }
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 + }
68 82
69 - public function getDefaultSecret() {
70 - require_once dirname( __FILE__ ) . '/recover.php';
71 - $bvsiteinfo = new WPRWPSiteInfo();
72 - return WPRRecover::defaultSecret($this->settings);
83 + return base64_encode("v3:".$secret.":".$encoded_url.":".$this->plugname.":".$tag);
73 84 }
74 85
75 86 public function getLatestElementorDBVersion($file) {
76 87 $managerClass = $file === "elementor/elementor.php" ? '\Elementor\Core\Upgrade\Manager' : '\ElementorPro\Core\Upgrade\Manager';
@@ -83,30 +94,16 @@
83 94 return $manager->get_new_version();
84 95 }
85 96
86 97 public static function getRequestID() {
87 - if (!defined("BV_REQUEST_ID")) {
88 - 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
89 100 }
90 - return BV_REQUEST_ID;
101 + return WPR_REQUEST_ID;
91 102 }
92 103
93 - public function canSetCWBranding() {
94 - if (WPRWPSiteInfo::isCWServer()) {
95 -
96 - $bot_protect_accounts = WPRAccount::accountsByType($this->settings, 'botprotect');
97 - if (sizeof($bot_protect_accounts) >= 1)
98 - return true;
99 -
100 - $bot_protect_accounts = WPRAccount::accountsByPattern($this->settings, 'email', '/@cw_user\.com$/');
101 - if (sizeof($bot_protect_accounts) >= 1)
102 - return true;
103 - }
104 -
105 - return false;
106 - }
107 -
108 104 public function canWhiteLabel($slug = NULL) {
105 + // phpcs:disable WordPress.Security.NonceVerification.Recommended
109 106 if (array_key_exists("bv_override_global_whitelabel", $_REQUEST)) {
110 107 return false;
111 108 }
112 109 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
@@ -112,8 +109,9 @@
112 109 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
113 110 $_REQUEST["bv_override_plugin_whitelabel"] === $slug) {
114 111 return false;
115 112 }
113 + // phpcs:enable WordPress.Security.NonceVerification.Recommended
116 114 return true;
117 115 }
118 116
119 117 public function getPluginWhitelabelInfo($slug = null) {
@@ -135,8 +133,13 @@
135 133 $whitelabel_infos = $this->settings->getOption($this->brand_option);
136 134 return is_array($whitelabel_infos) ? $whitelabel_infos : array();
137 135 }
138 136
137 + public function getLPWhitelabelInfo() {
138 + $infos = $this->settings->getOption($this->wp_lp_whitelabel_option);
139 + return is_array($infos) ? $infos : array();
140 + }
141 +
139 142 public function getPluginsWhitelabelInfoByTitle() {
140 143 $whitelabel_infos = $this->getPluginsWhitelabelInfos();
141 144 $whitelabel_infos_by_title = array();
142 145 foreach ($whitelabel_infos as $slug => $whitelabel_info) {
@@ -152,9 +155,8 @@
152 155 $brand = $this->getPluginWhitelabelInfo();
153 156 if (is_array($brand) && array_key_exists('menuname', $brand)) {
154 157 return $brand['menuname'];
155 158 }
156 -
157 159 return $this->brandname;
158 160 }
159 161
160 162 public function getBrandIcon() {
@@ -244,5 +246,5 @@
244 246 "plugname" => $this->plugname
245 247 );
246 248 }
247 249 }
248 -endif;
250 +endif;