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 +46 -18 5.426.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.42';
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
@@ -56,31 +66,44 @@
56 66
57 67 return false;
58 68 }
59 69
60 - public static function getRequestID() {
61 - if (!defined("BV_REQUEST_ID")) {
62 - define("BV_REQUEST_ID", uniqid(mt_rand()));
70 + public function getConnectionKey() {
71 + require_once dirname( __FILE__ ) . '/recover.php';
72 + $bvsiteinfo = new WPRWPSiteInfo();
73 + $encoded_url = base64_encode($bvsiteinfo->siteurl());
74 + $secret = WPRRecover::defaultSecret($this->settings);
75 + $tag = WPRRecover::connectionTag($this->settings);
76 +
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;
63 81 }
64 - return BV_REQUEST_ID;
82 +
83 + return base64_encode("v3:".$secret.":".$encoded_url.":".$this->plugname.":".$tag);
65 84 }
66 85
67 - public function canSetCWBranding() {
68 - if (WPRWPSiteInfo::isCWServer()) {
86 + public function getLatestElementorDBVersion($file) {
87 + $managerClass = $file === "elementor/elementor.php" ? '\Elementor\Core\Upgrade\Manager' : '\ElementorPro\Core\Upgrade\Manager';
69 88
70 - $bot_protect_accounts = WPRAccount::accountsByType($this->settings, 'botprotect');
71 - if (sizeof($bot_protect_accounts) >= 1)
72 - return true;
89 + if (!class_exists($managerClass)) {
90 + return false;
91 + }
73 92
74 - $bot_protect_accounts = WPRAccount::accountsByPattern($this->settings, 'email', '/@cw_user\.com$/');
75 - if (sizeof($bot_protect_accounts) >= 1)
76 - return true;
93 + $manager = new $managerClass();
94 + return $manager->get_new_version();
95 + }
96 +
97 + public static function getRequestID() {
98 + if (!defined("WPR_REQUEST_ID")) {
99 + define("WPR_REQUEST_ID", uniqid(mt_rand())); // phpcs:ignore WordPress.WP.AlternativeFunctions.rand_mt_rand
77 100 }
78 -
79 - return false;
101 + return WPR_REQUEST_ID;
80 102 }
81 103
82 104 public function canWhiteLabel($slug = NULL) {
105 + // phpcs:disable WordPress.Security.NonceVerification.Recommended
83 106 if (array_key_exists("bv_override_global_whitelabel", $_REQUEST)) {
84 107 return false;
85 108 }
86 109 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
@@ -86,8 +109,9 @@
86 109 if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
87 110 $_REQUEST["bv_override_plugin_whitelabel"] === $slug) {
88 111 return false;
89 112 }
113 + // phpcs:enable WordPress.Security.NonceVerification.Recommended
90 114 return true;
91 115 }
92 116
93 117 public function getPluginWhitelabelInfo($slug = null) {
@@ -109,8 +133,13 @@
109 133 $whitelabel_infos = $this->settings->getOption($this->brand_option);
110 134 return is_array($whitelabel_infos) ? $whitelabel_infos : array();
111 135 }
112 136
137 + public function getLPWhitelabelInfo() {
138 + $infos = $this->settings->getOption($this->wp_lp_whitelabel_option);
139 + return is_array($infos) ? $infos : array();
140 + }
141 +
113 142 public function getPluginsWhitelabelInfoByTitle() {
114 143 $whitelabel_infos = $this->getPluginsWhitelabelInfos();
115 144 $whitelabel_infos_by_title = array();
116 145 foreach ($whitelabel_infos as $slug => $whitelabel_info) {
@@ -126,9 +155,8 @@
126 155 $brand = $this->getPluginWhitelabelInfo();
127 156 if (is_array($brand) && array_key_exists('menuname', $brand)) {
128 157 return $brand['menuname'];
129 158 }
130 -
131 159 return $this->brandname;
132 160 }
133 161
134 162 public function getBrandIcon() {
@@ -218,5 +246,5 @@
218 246 "plugname" => $this->plugname
219 247 );
220 248 }
221 249 }
222 -endif;
250 +endif;