| @@ -10,9 +10,9 @@ | ||
| 10 | 10 | public $badgeinfo = 'wprbadge'; |
| 11 | 11 | public $ip_header_option = 'wpripheader'; |
| 12 | 12 | public $brand_option = 'bv_whitelabel_infos'; |
| 13 | 13 | public $wp_lp_whitelabel_option = 'wprLpWhitelabelConf'; |
| 14 | - public $version = '6.48'; | |
| 14 | + public $version = '6.76'; | |
| 15 | 15 | public $webpage = 'https://wpremote.com'; |
| 16 | 16 | public $appurl = 'https://app.wpremote.com'; |
| 17 | 17 | public $slug = 'wpremote/plugin.php'; |
| 18 | 18 | public $plug_redirect = 'wprredirect'; |
| @@ -37,8 +37,16 @@ | ||
| 37 | 37 | } |
| 38 | 38 | return false; |
| 39 | 39 | } |
| 40 | 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 | + | |
| 41 | 49 | public function hasValidDBVersion() { |
| 42 | 50 | return WPRInfo::DB_VERSION === $this->getCurrentDBVersion(); |
| 43 | 51 | } |
| 44 | 52 | |
| @@ -63,16 +71,17 @@ | ||
| 63 | 71 | require_once dirname( __FILE__ ) . '/recover.php'; |
| 64 | 72 | $bvsiteinfo = new WPRWPSiteInfo(); |
| 65 | 73 | $encoded_url = base64_encode($bvsiteinfo->siteurl()); |
| 66 | 74 | $secret = WPRRecover::defaultSecret($this->settings); |
| 75 | + $tag = WPRRecover::connectionTag($this->settings); | |
| 67 | 76 | |
| 68 | - return base64_encode("v2:".$secret.":".$encoded_url.":".$this->plugname); | |
| 69 | - } | |
| 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 | + } | |
| 70 | 82 | |
| 71 | - public function getDefaultSecret() { | |
| 72 | - require_once dirname( __FILE__ ) . '/recover.php'; | |
| 73 | - $bvsiteinfo = new WPRWPSiteInfo(); | |
| 74 | - return WPRRecover::defaultSecret($this->settings); | |
| 83 | + return base64_encode("v3:".$secret.":".$encoded_url.":".$this->plugname.":".$tag); | |
| 75 | 84 | } |
| 76 | 85 | |
| 77 | 86 | public function getLatestElementorDBVersion($file) { |
| 78 | 87 | $managerClass = $file === "elementor/elementor.php" ? '\Elementor\Core\Upgrade\Manager' : '\ElementorPro\Core\Upgrade\Manager'; |
| @@ -237,5 +246,5 @@ | ||
| 237 | 246 | "plugname" => $this->plugname |
| 238 | 247 | ); |
| 239 | 248 | } |
| 240 | 249 | } |
| 241 | -endif; | |
| 250 | +endif; | |