Version Description
- Sync Improvements
- Enhanced plugin activate flow.
Download this release
Release Info
Developer | ritesh.soni36 |
Plugin | The WP Remote WordPress Plugin |
Version | 4.72 |
Comparing to | |
See all releases |
Code changes from version 4.69 to 4.72
- admin/components/form.php +2 -1
- callback/base.php +2 -2
- callback/wings/account.php +32 -1
- callback/wings/info.php +60 -19
- info.php +1 -1
- plugin.php +1 -1
- readme.txt +7 -3
- wp_admin.php +1 -0
- wp_settings.php +31 -0
admin/components/form.php
CHANGED
@@ -2,8 +2,9 @@
|
|
2 |
<div class="row">
|
3 |
<div class="col-xs-12 form-container">
|
4 |
<div class="search-container text-center ">
|
5 |
-
<form action="<?php echo $this->bvinfo->appUrl(); ?>/plugin/
|
6 |
<input type='hidden' name='bvsrc' value='wpplugin'/>
|
|
|
7 |
<?php echo $this->siteInfoTags(); ?>
|
8 |
<input type="text" placeholder="Enter your email address to continue" id="email" name="email" class="search" required>
|
9 |
<h5 class="check-box-text mt-2"><input type="checkbox" class="check-box" name="consent" value="1" required>
|
2 |
<div class="row">
|
3 |
<div class="col-xs-12 form-container">
|
4 |
<div class="search-container text-center ">
|
5 |
+
<form action="<?php echo $this->bvinfo->appUrl(); ?>/plugin/signup" style="padding-top:10px; margin: 0px;" onsubmit="document.getElementById('get-started').disabled = true;" method="post" name="signup">
|
6 |
<input type='hidden' name='bvsrc' value='wpplugin'/>
|
7 |
+
<input type='hidden' name='origin' value='wpremote'/>
|
8 |
<?php echo $this->siteInfoTags(); ?>
|
9 |
<input type="text" placeholder="Enter your email address to continue" id="email" name="email" class="search" required>
|
10 |
<h5 class="check-box-text mt-2"><input type="checkbox" class="check-box" name="consent" value="1" required>
|
callback/base.php
CHANGED
@@ -11,10 +11,10 @@ class BVCallbackBase {
|
|
11 |
"UPGRADER_WING_VERSION" => '1.0',
|
12 |
"BRAND_WING_VERSION" => '1.0',
|
13 |
"DB_WING_VERSION" => '1.0',
|
14 |
-
"ACCOUNT_WING_VERSION" => '1.
|
15 |
"MISC_WING_VERSION" => '1.1',
|
16 |
"FS_WING_VERSION" => '1.0',
|
17 |
-
"INFO_WING_VERSION" => '1.
|
18 |
"WATCH_WING_VERSION" => '1.0',
|
19 |
"FS_WRITE_WING_VERSION" => '1.0',
|
20 |
"IPSTORE_WING_VERSION" => '1.0',
|
11 |
"UPGRADER_WING_VERSION" => '1.0',
|
12 |
"BRAND_WING_VERSION" => '1.0',
|
13 |
"DB_WING_VERSION" => '1.0',
|
14 |
+
"ACCOUNT_WING_VERSION" => '1.1',
|
15 |
"MISC_WING_VERSION" => '1.1',
|
16 |
"FS_WING_VERSION" => '1.0',
|
17 |
+
"INFO_WING_VERSION" => '1.2',
|
18 |
"WATCH_WING_VERSION" => '1.0',
|
19 |
"FS_WRITE_WING_VERSION" => '1.0',
|
20 |
"IPSTORE_WING_VERSION" => '1.0',
|
callback/wings/account.php
CHANGED
@@ -6,13 +6,41 @@ class BVAccountCallback extends BVCallbackBase {
|
|
6 |
public $account;
|
7 |
public $settings;
|
8 |
|
9 |
-
const ACCOUNT_WING_VERSION = 1.
|
10 |
|
11 |
public function __construct($callback_handler) {
|
12 |
$this->account = $callback_handler->account;
|
13 |
$this->settings = $callback_handler->settings;
|
14 |
}
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
function process($request) {
|
17 |
$params = $request->params;
|
18 |
$account = $this->account;
|
@@ -48,6 +76,9 @@ class BVAccountCallback extends BVCallbackBase {
|
|
48 |
case "fetch":
|
49 |
$resp = array("status" => WPRAccount::allAccounts($this->settings));
|
50 |
break;
|
|
|
|
|
|
|
51 |
default:
|
52 |
$resp = false;
|
53 |
}
|
6 |
public $account;
|
7 |
public $settings;
|
8 |
|
9 |
+
const ACCOUNT_WING_VERSION = 1.1;
|
10 |
|
11 |
public function __construct($callback_handler) {
|
12 |
$this->account = $callback_handler->account;
|
13 |
$this->settings = $callback_handler->settings;
|
14 |
}
|
15 |
|
16 |
+
function updateInfo($args) {
|
17 |
+
$result = array();
|
18 |
+
|
19 |
+
if (array_key_exists('update_info', $args)) {
|
20 |
+
$this->account->updateInfo($args['update_info']);
|
21 |
+
$result['update_info'] = array(
|
22 |
+
"status" => WPRAccount::exists($this->settings, $args['update_info']['pubkey'])
|
23 |
+
);
|
24 |
+
}
|
25 |
+
|
26 |
+
if (array_key_exists('update_api_key', $args)) {
|
27 |
+
WPRAccount::updateApiPublicKey($this->settings, $args['update_api_key']['pubkey']);
|
28 |
+
$result['update_api_key'] = array(
|
29 |
+
"status" => $this->settings->getOption(WPRAccount::$api_public_key)
|
30 |
+
);
|
31 |
+
}
|
32 |
+
|
33 |
+
if (array_key_exists('update_options', $args))
|
34 |
+
$result['update_options'] = $this->settings->updateOptions($args['update_options']);
|
35 |
+
|
36 |
+
if (array_key_exists('delete_options', $args))
|
37 |
+
$result['delete_options'] = $this->settings->deleteOptions($args['delete_options']);
|
38 |
+
|
39 |
+
$result['status'] = true;
|
40 |
+
|
41 |
+
return $result;
|
42 |
+
}
|
43 |
+
|
44 |
function process($request) {
|
45 |
$params = $request->params;
|
46 |
$account = $this->account;
|
76 |
case "fetch":
|
77 |
$resp = array("status" => WPRAccount::allAccounts($this->settings));
|
78 |
break;
|
79 |
+
case "updtinfo":
|
80 |
+
$resp = $this->updateInfo($params);
|
81 |
+
break;
|
82 |
default:
|
83 |
$resp = false;
|
84 |
}
|
callback/wings/info.php
CHANGED
@@ -8,14 +8,16 @@ class BVInfoCallback extends BVCallbackBase {
|
|
8 |
public $settings;
|
9 |
public $siteinfo;
|
10 |
public $bvinfo;
|
|
|
11 |
|
12 |
-
const INFO_WING_VERSION = 1.
|
13 |
|
14 |
public function __construct($callback_handler) {
|
15 |
$this->db = $callback_handler->db;
|
16 |
$this->siteinfo = $callback_handler->siteinfo;
|
17 |
$this->settings = $callback_handler->settings;
|
18 |
$this->bvinfo = new WPRInfo($this->settings);
|
|
|
19 |
}
|
20 |
|
21 |
public function getPosts($post_type, $count = 5) {
|
@@ -155,7 +157,7 @@ class BVInfoCallback extends BVCallbackBase {
|
|
155 |
'wp_local_string' => $wp_local_package,
|
156 |
'charset_collate' => $db->getCharsetCollate()
|
157 |
);
|
158 |
-
return
|
159 |
}
|
160 |
|
161 |
public function getUsers($full, $args = array()) {
|
@@ -223,21 +225,21 @@ class BVInfoCallback extends BVCallbackBase {
|
|
223 |
}
|
224 |
|
225 |
public function cookieInfo() {
|
226 |
-
$
|
227 |
if (defined('COOKIEPATH'))
|
228 |
-
$
|
229 |
if (defined('COOKIE_DOMAIN'))
|
230 |
-
$
|
231 |
-
return
|
232 |
}
|
233 |
|
234 |
public function activate() {
|
235 |
-
$
|
236 |
-
$this->siteinfo->basic($
|
237 |
-
$this->servicesInfo($
|
238 |
-
$this->dbconf($
|
239 |
-
$this->availableFunctions($
|
240 |
-
return
|
241 |
}
|
242 |
|
243 |
public function getHostInfo() {
|
@@ -255,7 +257,7 @@ class BVInfoCallback extends BVCallbackBase {
|
|
255 |
$host_info['WPE_APIKEY'] = WPE_APIKEY;
|
256 |
}
|
257 |
|
258 |
-
return
|
259 |
}
|
260 |
|
261 |
function refreshUpdatesInfo() {
|
@@ -328,7 +330,7 @@ class BVInfoCallback extends BVCallbackBase {
|
|
328 |
return array_merge($this->getThemes(), $this->getTransient('update_themes'));
|
329 |
}
|
330 |
|
331 |
-
|
332 |
$result = array();
|
333 |
|
334 |
if (array_key_exists('refresh', $args))
|
@@ -352,15 +354,51 @@ class BVInfoCallback extends BVCallbackBase {
|
|
352 |
return $result;
|
353 |
}
|
354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
355 |
public function process($request) {
|
356 |
$db = $this->db;
|
357 |
$params = $request->params;
|
358 |
switch ($request->method) {
|
359 |
case "activateinfo":
|
360 |
-
$resp = $this->activate();
|
361 |
break;
|
362 |
case "ckeyinfo":
|
363 |
-
$resp = $this->cookieInfo();
|
364 |
break;
|
365 |
case "gtpsts":
|
366 |
$count = 5;
|
@@ -381,7 +419,7 @@ class BVInfoCallback extends BVCallbackBase {
|
|
381 |
$resp = array('sys' => $this->getSystemInfo());
|
382 |
break;
|
383 |
case "gtwp":
|
384 |
-
$resp = $this->getWpInfo();
|
385 |
break;
|
386 |
case "gtallhdrs":
|
387 |
$data = (function_exists('getallheaders')) ? getallheaders() : false;
|
@@ -403,8 +441,8 @@ class BVInfoCallback extends BVCallbackBase {
|
|
403 |
$resp = $this->getTransient($params['name'], array_key_exists('asarray', $params));
|
404 |
break;
|
405 |
case "gthost":
|
406 |
-
$resp = $this->getHostInfo();
|
407 |
-
break;
|
408 |
case "gtplinfo":
|
409 |
$args = array(
|
410 |
'slug' => wp_unslash($params['slug'])
|
@@ -415,6 +453,9 @@ class BVInfoCallback extends BVCallbackBase {
|
|
415 |
$data = apply_filters('plugins_api', false, $action, $args);
|
416 |
$resp = array("plugins_info" => $data);
|
417 |
break;
|
|
|
|
|
|
|
418 |
case "gtsteinfo":
|
419 |
$resp = $this->getSiteInfo($params);
|
420 |
break;
|
8 |
public $settings;
|
9 |
public $siteinfo;
|
10 |
public $bvinfo;
|
11 |
+
public $bvapi;
|
12 |
|
13 |
+
const INFO_WING_VERSION = 1.2;
|
14 |
|
15 |
public function __construct($callback_handler) {
|
16 |
$this->db = $callback_handler->db;
|
17 |
$this->siteinfo = $callback_handler->siteinfo;
|
18 |
$this->settings = $callback_handler->settings;
|
19 |
$this->bvinfo = new WPRInfo($this->settings);
|
20 |
+
$this->bvapi = new WPRWPAPI($this->settings);
|
21 |
}
|
22 |
|
23 |
public function getPosts($post_type, $count = 5) {
|
157 |
'wp_local_string' => $wp_local_package,
|
158 |
'charset_collate' => $db->getCharsetCollate()
|
159 |
);
|
160 |
+
return $wp_info;
|
161 |
}
|
162 |
|
163 |
public function getUsers($full, $args = array()) {
|
225 |
}
|
226 |
|
227 |
public function cookieInfo() {
|
228 |
+
$info = array();
|
229 |
if (defined('COOKIEPATH'))
|
230 |
+
$info['cookiepath'] = COOKIEPATH;
|
231 |
if (defined('COOKIE_DOMAIN'))
|
232 |
+
$info['cookiedomain'] = COOKIE_DOMAIN;
|
233 |
+
return $info;
|
234 |
}
|
235 |
|
236 |
public function activate() {
|
237 |
+
$info = array();
|
238 |
+
$this->siteinfo->basic($info);
|
239 |
+
$this->servicesInfo($info);
|
240 |
+
$this->dbconf($info);
|
241 |
+
$this->availableFunctions($info);
|
242 |
+
return $info;
|
243 |
}
|
244 |
|
245 |
public function getHostInfo() {
|
257 |
$host_info['WPE_APIKEY'] = WPE_APIKEY;
|
258 |
}
|
259 |
|
260 |
+
return $host_info;
|
261 |
}
|
262 |
|
263 |
function refreshUpdatesInfo() {
|
330 |
return array_merge($this->getThemes(), $this->getTransient('update_themes'));
|
331 |
}
|
332 |
|
333 |
+
function getSiteInfo($args) {
|
334 |
$result = array();
|
335 |
|
336 |
if (array_key_exists('refresh', $args))
|
354 |
return $result;
|
355 |
}
|
356 |
|
357 |
+
function pingBV() {
|
358 |
+
$info = array();
|
359 |
+
$this->siteinfo->basic($info);
|
360 |
+
$this->bvapi->pingbv('/bvapi/pingbv', $info);
|
361 |
+
return true;
|
362 |
+
}
|
363 |
+
|
364 |
+
function getPostActivateInfo($args) {
|
365 |
+
$result = array();
|
366 |
+
|
367 |
+
if (array_key_exists('pingbv', $args))
|
368 |
+
$result['pingbv'] = array('status' => $this->pingBV());
|
369 |
+
|
370 |
+
if (array_key_exists('activate_info', $args))
|
371 |
+
$result['activate_info'] = $this->activate();
|
372 |
+
|
373 |
+
if (array_key_exists('cookie_info', $args))
|
374 |
+
$result['cookie_info'] = $this->cookieInfo();
|
375 |
+
|
376 |
+
if (array_key_exists('get_host', $args))
|
377 |
+
$result['get_host'] = $this->getHostInfo();
|
378 |
+
|
379 |
+
if (array_key_exists('get_wp', $args))
|
380 |
+
$result['get_wp'] = $this->getWpInfo();
|
381 |
+
|
382 |
+
if (array_key_exists('get_options', $args))
|
383 |
+
$result['get_options'] = $this->settings->getOptions($args['get_options']);
|
384 |
+
|
385 |
+
if (array_key_exists('get_tables', $args))
|
386 |
+
$result['get_tables'] = $this->db->showTables();
|
387 |
+
|
388 |
+
$result['status'] = true;
|
389 |
+
|
390 |
+
return $result;
|
391 |
+
}
|
392 |
+
|
393 |
public function process($request) {
|
394 |
$db = $this->db;
|
395 |
$params = $request->params;
|
396 |
switch ($request->method) {
|
397 |
case "activateinfo":
|
398 |
+
$resp = array('actinfo' => $this->activate());
|
399 |
break;
|
400 |
case "ckeyinfo":
|
401 |
+
$resp = array('cookieinfo' => $this->cookieInfo());
|
402 |
break;
|
403 |
case "gtpsts":
|
404 |
$count = 5;
|
419 |
$resp = array('sys' => $this->getSystemInfo());
|
420 |
break;
|
421 |
case "gtwp":
|
422 |
+
$resp = array('wp' => $this->getWpInfo());
|
423 |
break;
|
424 |
case "gtallhdrs":
|
425 |
$data = (function_exists('getallheaders')) ? getallheaders() : false;
|
441 |
$resp = $this->getTransient($params['name'], array_key_exists('asarray', $params));
|
442 |
break;
|
443 |
case "gthost":
|
444 |
+
$resp = array('host_info' => $this->getHostInfo());
|
445 |
+
break;
|
446 |
case "gtplinfo":
|
447 |
$args = array(
|
448 |
'slug' => wp_unslash($params['slug'])
|
453 |
$data = apply_filters('plugins_api', false, $action, $args);
|
454 |
$resp = array("plugins_info" => $data);
|
455 |
break;
|
456 |
+
case "gtpostactinfo":
|
457 |
+
$resp = $this->getPostActivateInfo($params);
|
458 |
+
break;
|
459 |
case "gtsteinfo":
|
460 |
$resp = $this->getSiteInfo($params);
|
461 |
break;
|
info.php
CHANGED
@@ -10,7 +10,7 @@ if (!class_exists('WPRInfo')) :
|
|
10 |
public $badgeinfo = 'wprbadge';
|
11 |
public $ip_header_option = 'wpripheader';
|
12 |
public $brand_option = 'wprbrand';
|
13 |
-
public $version = '4.
|
14 |
public $webpage = 'https://wpremote.com';
|
15 |
public $appurl = 'https://app.wpremote.com';
|
16 |
public $slug = 'wpremote/plugin.php';
|
10 |
public $badgeinfo = 'wprbadge';
|
11 |
public $ip_header_option = 'wpripheader';
|
12 |
public $brand_option = 'wprbrand';
|
13 |
+
public $version = '4.72';
|
14 |
public $webpage = 'https://wpremote.com';
|
15 |
public $appurl = 'https://app.wpremote.com';
|
16 |
public $slug = 'wpremote/plugin.php';
|
plugin.php
CHANGED
@@ -5,7 +5,7 @@ Plugin URI: https://wpremote.com
|
|
5 |
Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>.
|
6 |
Author: WP Remote
|
7 |
Author URI: https://wpremote.com
|
8 |
-
Version: 4.
|
9 |
Network: True
|
10 |
*/
|
11 |
|
5 |
Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>.
|
6 |
Author: WP Remote
|
7 |
Author URI: https://wpremote.com
|
8 |
+
Version: 4.72
|
9 |
Network: True
|
10 |
*/
|
11 |
|
readme.txt
CHANGED
@@ -4,9 +4,9 @@ Tags: wpremote, remote administration, multiple wordpress, backup, wordpress bac
|
|
4 |
Plugin URI: https://wpremote.com/
|
5 |
Donate link: https://app.wpremote.com/home/signup
|
6 |
Requires at least: 4.0
|
7 |
-
Tested up to: 5.
|
8 |
Requires PHP: 5.4.0
|
9 |
-
Stable tag: 4.
|
10 |
License: GPLv2 or later
|
11 |
License URI: [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
|
12 |
|
@@ -32,12 +32,16 @@ You can email us at support@wpremote.com for support.
|
|
32 |
3. Sign up for an account at wpremote.com and add your site.
|
33 |
|
34 |
== CHANGELOG ==
|
|
|
|
|
|
|
|
|
35 |
= 4.69 =
|
36 |
* Improved network call efficiency for site info callbacks.
|
37 |
|
38 |
= 4.68 =
|
39 |
* Removing use of constants for arrays for PHP 5.4 support.
|
40 |
-
* Robust firewall-config checks
|
41 |
|
42 |
= 4.66 =
|
43 |
* Post type fetch improvement.
|
4 |
Plugin URI: https://wpremote.com/
|
5 |
Donate link: https://app.wpremote.com/home/signup
|
6 |
Requires at least: 4.0
|
7 |
+
Tested up to: 5.9
|
8 |
Requires PHP: 5.4.0
|
9 |
+
Stable tag: 4.72
|
10 |
License: GPLv2 or later
|
11 |
License URI: [http://www.gnu.org/licenses/gpl-2.0.html](http://www.gnu.org/licenses/gpl-2.0.html)
|
12 |
|
32 |
3. Sign up for an account at wpremote.com and add your site.
|
33 |
|
34 |
== CHANGELOG ==
|
35 |
+
= 4.72 =
|
36 |
+
* Sync Improvements
|
37 |
+
* Enhanced plugin activate flow.
|
38 |
+
|
39 |
= 4.69 =
|
40 |
* Improved network call efficiency for site info callbacks.
|
41 |
|
42 |
= 4.68 =
|
43 |
* Removing use of constants for arrays for PHP 5.4 support.
|
44 |
+
* Robust firewall-config checks
|
45 |
|
46 |
= 4.66 =
|
47 |
* Post type fetch improvement.
|
wp_admin.php
CHANGED
@@ -51,6 +51,7 @@ class WPRWPAdmin {
|
|
51 |
}
|
52 |
if ($this->bvinfo->isActivateRedirectSet()) {
|
53 |
$this->settings->updateOption($this->bvinfo->plug_redirect, 'no');
|
|
|
54 |
wp_redirect($this->mainUrl());
|
55 |
}
|
56 |
}
|
51 |
}
|
52 |
if ($this->bvinfo->isActivateRedirectSet()) {
|
53 |
$this->settings->updateOption($this->bvinfo->plug_redirect, 'no');
|
54 |
+
##ACTIVATEREDIRECTCODE##
|
55 |
wp_redirect($this->mainUrl());
|
56 |
}
|
57 |
}
|
wp_settings.php
CHANGED
@@ -30,6 +30,37 @@ if (!class_exists('WPRWPSettings')) :
|
|
30 |
}
|
31 |
}
|
32 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
33 |
public function setTransient($name, $value, $time) {
|
34 |
if (function_exists('set_site_transient')) {
|
35 |
return set_site_transient($name, $value, $time);
|
30 |
}
|
31 |
}
|
32 |
|
33 |
+
public function getOptions($options = array()) {
|
34 |
+
$result = array();
|
35 |
+
|
36 |
+
foreach ($options as $option)
|
37 |
+
$result[$option] = $this->getOption($option);
|
38 |
+
|
39 |
+
return $result;
|
40 |
+
}
|
41 |
+
|
42 |
+
public function updateOptions($args) {
|
43 |
+
$result = array();
|
44 |
+
|
45 |
+
foreach ($args as $option => $value) {
|
46 |
+
$this->updateOption($option, $value);
|
47 |
+
$result[$option] = $this->getOption($option);
|
48 |
+
}
|
49 |
+
|
50 |
+
return $result;
|
51 |
+
}
|
52 |
+
|
53 |
+
public function deleteOptions($options) {
|
54 |
+
$result = array();
|
55 |
+
|
56 |
+
foreach ($options as $option) {
|
57 |
+
$this->deleteOption($option);
|
58 |
+
$result[$option] = !$this->getOption($option);
|
59 |
+
}
|
60 |
+
|
61 |
+
return $result;
|
62 |
+
}
|
63 |
+
|
64 |
public function setTransient($name, $value, $time) {
|
65 |
if (function_exists('set_site_transient')) {
|
66 |
return set_site_transient($name, $value, $time);
|