PluginProbe
The WP Remote WordPress Plugin / trunk
The WP Remote WordPress Plugin vtrunk
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
← All changes | info.php +96 -20 5.25trunk View file →
@@ -8,10 +8,11 @@
8 8 public $plugname = 'wpremote';
9 9 public $brandname = 'WP Remote';
10 10 public $badgeinfo = 'wprbadge';
11 11 public $ip_header_option = 'wpripheader';
12 - public $brand_option = 'wprbrand';
13 - public $version = '5.25';
12 + public $brand_option = 'bv_whitelabel_infos';
13 + public $wp_lp_whitelabel_option = 'wprLpWhitelabelConf';
14 + public $version = '6.72';
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);
@@ -39,45 +41,119 @@
39 41 public function hasValidDBVersion() {
40 42 return WPRInfo::DB_VERSION === $this->getCurrentDBVersion();
41 43 }
42 44
43 - public static function getRequestID() {
44 - if (!defined("BV_REQUEST_ID")) {
45 - define("BV_REQUEST_ID", uniqid(mt_rand()));
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 + }
46 57 }
47 - return BV_REQUEST_ID;
58 +
59 + return false;
48 60 }
49 61
50 - public function canSetCWBranding() {
51 - if (WPRWPSiteInfo::isCWServer()) {
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 + $tag = WPRRecover::connectionTag($this->settings);
52 68
53 - $bot_protect_accounts = WPRAccount::accountsByType($this->settings, 'botprotect');
54 - if (sizeof($bot_protect_accounts) >= 1)
55 - return true;
69 + #No tag means this site has no salt material in wp-config.php, and there
70 + #is no connection key that would be safe to hand out.
71 + if (empty($secret) || empty($tag)) {
72 + return null;
73 + }
56 74
57 - $bot_protect_accounts = WPRAccount::accountsByPattern($this->settings, 'email', '/@cw_user\.com$/');
58 - if (sizeof($bot_protect_accounts) >= 1)
59 - return true;
75 + return base64_encode("v3:".$secret.":".$encoded_url.":".$this->plugname.":".$tag);
76 + }
77 +
78 + public function getLatestElementorDBVersion($file) {
79 + $managerClass = $file === "elementor/elementor.php" ? '\Elementor\Core\Upgrade\Manager' : '\ElementorPro\Core\Upgrade\Manager';
80 +
81 + if (!class_exists($managerClass)) {
82 + return false;
60 83 }
61 84
62 - return false;
85 + $manager = new $managerClass();
86 + return $manager->get_new_version();
63 87 }
64 88
89 + public static function getRequestID() {
90 + if (!defined("WPR_REQUEST_ID")) {
91 + define("WPR_REQUEST_ID", uniqid(mt_rand())); // phpcs:ignore WordPress.WP.AlternativeFunctions.rand_mt_rand
92 + }
93 + return WPR_REQUEST_ID;
94 + }
95 +
96 + public function canWhiteLabel($slug = NULL) {
97 + // phpcs:disable WordPress.Security.NonceVerification.Recommended
98 + if (array_key_exists("bv_override_global_whitelabel", $_REQUEST)) {
99 + return false;
100 + }
101 + if (array_key_exists("bv_override_plugin_whitelabel", $_REQUEST) && isset($slug) &&
102 + $_REQUEST["bv_override_plugin_whitelabel"] === $slug) {
103 + return false;
104 + }
105 + // phpcs:enable WordPress.Security.NonceVerification.Recommended
106 + return true;
107 + }
108 +
109 + public function getPluginWhitelabelInfo($slug = null) {
110 + if ($slug === null) {
111 + $slug = $this->slug;
112 + }
113 + $whitelabel_infos = $this->getPluginsWhitelabelInfos();
114 + if (!array_key_exists($slug, $whitelabel_infos) || !is_array($whitelabel_infos[$slug])) {
115 + return array();
116 + }
117 + return $whitelabel_infos[$slug];
118 + }
119 +
65 120 public function getBrandInfo() {
66 121 return $this->settings->getOption($this->brand_option);
67 122 }
68 123
124 + public function getPluginsWhitelabelInfos() {
125 + $whitelabel_infos = $this->settings->getOption($this->brand_option);
126 + return is_array($whitelabel_infos) ? $whitelabel_infos : array();
127 + }
128 +
129 + public function getLPWhitelabelInfo() {
130 + $infos = $this->settings->getOption($this->wp_lp_whitelabel_option);
131 + return is_array($infos) ? $infos : array();
132 + }
133 +
134 + public function getPluginsWhitelabelInfoByTitle() {
135 + $whitelabel_infos = $this->getPluginsWhitelabelInfos();
136 + $whitelabel_infos_by_title = array();
137 + foreach ($whitelabel_infos as $slug => $whitelabel_info) {
138 + if (is_array($whitelabel_info) && array_key_exists('default_title', $whitelabel_info) && isset($whitelabel_info['default_title'])) {
139 + $whitelabel_info['slug'] = $slug;
140 + $whitelabel_infos_by_title[$whitelabel_info['default_title']] = $whitelabel_info;
141 + }
142 + }
143 + return $whitelabel_infos_by_title;
144 + }
145 +
69 146 public function getBrandName() {
70 - $brand = $this->getBrandInfo();
147 + $brand = $this->getPluginWhitelabelInfo();
71 148 if (is_array($brand) && array_key_exists('menuname', $brand)) {
72 149 return $brand['menuname'];
73 150 }
74 -
75 151 return $this->brandname;
76 152 }
77 153
78 154 public function getBrandIcon() {
79 - $brand = $this->getBrandInfo();
155 + $brand = $this->getPluginWhitelabelInfo();
80 156 if (is_array($brand) && array_key_exists('brand_icon', $brand)) {
81 157 return $brand['brand_icon'];
82 158 }
83 159 return $this->brand_icon;
@@ -91,9 +167,9 @@
91 167 public function appUrl() {
92 168 if (defined('BV_APP_URL')) {
93 169 return BV_APP_URL;
94 170 } else {
95 - $brand = $this->getBrandInfo();
171 + $brand = $this->getPluginWhitelabelInfo();
96 172 if (is_array($brand) && array_key_exists('appurl', $brand)) {
97 173 return $brand['appurl'];
98 174 }
99 175 return $this->appurl;