Version Description
- Fetching Mysql Version
- Robust data fetch APIs
- Core plugin changes
- Sanitizing incoming params
- Update Database after wp-core update
- Handling Child theme upgrade code
- FSWrite wing improvements for older PHP versions
Download this release
Release Info
| Developer | ritesh.soni36 |
| Plugin | |
| Version | 4.31 |
| Comparing to | |
| See all releases | |
Code changes from version 4.26 to 4.31
- callback/wings/bv_upgrader_skin.php +10 -1
- callback/wings/fs_write.php +1 -1
- callback/wings/info.php +1 -0
- callback/wings/manage.php +21 -8
- callback/wings/misc.php +3 -0
- info.php +3 -3
- plugin.php +1 -1
- protect/wp/lp/lp.php +0 -5
- readme.txt +10 -1
- wp_api.php +7 -5
- wp_db.php +6 -1
callback/wings/bv_upgrader_skin.php
CHANGED
|
@@ -55,9 +55,18 @@ class BVUpgraderSkin extends WP_Upgrader_Skin {
|
|
| 55 |
$this->status[$this->action.':'.$key][] = $message;
|
| 56 |
}
|
| 57 |
|
| 58 |
-
function feedback($string) {
|
| 59 |
if ( empty($string) )
|
| 60 |
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
$key = $this->get_key();
|
| 62 |
$message = array();
|
| 63 |
$message['message'] = $string;
|
| 55 |
$this->status[$this->action.':'.$key][] = $message;
|
| 56 |
}
|
| 57 |
|
| 58 |
+
function feedback($string, ...$args) {
|
| 59 |
if ( empty($string) )
|
| 60 |
return;
|
| 61 |
+
|
| 62 |
+
if ( strpos( $string, '%' ) !== false ) {
|
| 63 |
+
if ( $args ) {
|
| 64 |
+
$args = array_map( 'strip_tags', $args );
|
| 65 |
+
$args = array_map( 'esc_html', $args );
|
| 66 |
+
$string = vsprintf( $string, $args );
|
| 67 |
+
}
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
$key = $this->get_key();
|
| 71 |
$message = array();
|
| 72 |
$message['message'] = $string;
|
callback/wings/fs_write.php
CHANGED
|
@@ -5,7 +5,7 @@ if (!class_exists('BVFSWriteCallback')) :
|
|
| 5 |
|
| 6 |
class BVFSWriteCallback extends BVCallbackBase {
|
| 7 |
|
| 8 |
-
const MEGABYTE =
|
| 9 |
|
| 10 |
public function __construct() {
|
| 11 |
}
|
| 5 |
|
| 6 |
class BVFSWriteCallback extends BVCallbackBase {
|
| 7 |
|
| 8 |
+
const MEGABYTE = 1048576;
|
| 9 |
|
| 10 |
public function __construct() {
|
| 11 |
}
|
callback/wings/info.php
CHANGED
|
@@ -135,6 +135,7 @@ class BVInfoCallback extends BVCallbackBase {
|
|
| 135 |
'charset' => get_bloginfo('charset'),
|
| 136 |
'wpversion' => $wp_version,
|
| 137 |
'dbversion' => $wp_db_version,
|
|
|
|
| 138 |
'abspath' => ABSPATH,
|
| 139 |
'bvpluginpath' => defined('WPRBASEPATH') ? WPRBASEPATH : null,
|
| 140 |
'uploadpath' => $upload_dir['basedir'],
|
| 135 |
'charset' => get_bloginfo('charset'),
|
| 136 |
'wpversion' => $wp_version,
|
| 137 |
'dbversion' => $wp_db_version,
|
| 138 |
+
'mysql_version' => $db->getMysqlVersion(),
|
| 139 |
'abspath' => ABSPATH,
|
| 140 |
'bvpluginpath' => defined('WPRBASEPATH') ? WPRBASEPATH : null,
|
| 141 |
'uploadpath' => $upload_dir['basedir'],
|
callback/wings/manage.php
CHANGED
|
@@ -40,6 +40,7 @@ class BVManageCallback extends BVCallbackBase {
|
|
| 40 |
@include_once ABSPATH.'wp-admin/includes/class-wp-upgrader.php';
|
| 41 |
@include_once ABSPATH.'wp-admin/includes/user.php';
|
| 42 |
@include_once ABSPATH.'wp-includes/registration.php';
|
|
|
|
| 43 |
@include_once ABSPATH.'wp-admin/includes/update.php';
|
| 44 |
@require_once ABSPATH.'wp-admin/includes/update-core.php';
|
| 45 |
}
|
|
@@ -202,12 +203,12 @@ class BVManageCallback extends BVCallbackBase {
|
|
| 202 |
}
|
| 203 |
}
|
| 204 |
if (array_key_exists('themes', $params) && !empty($params['themes'])) {
|
| 205 |
-
$
|
| 206 |
foreach ($params['themes'] as $theme) {
|
| 207 |
-
$
|
| 208 |
}
|
| 209 |
-
if (!empty($
|
| 210 |
-
$result['themes'] = $this->upgradeThemes($
|
| 211 |
}
|
| 212 |
}
|
| 213 |
return $result;
|
|
@@ -379,12 +380,12 @@ class BVManageCallback extends BVCallbackBase {
|
|
| 379 |
$upgrader = new Theme_Upgrader($skin);
|
| 380 |
$result = $upgrader->bulk_upgrade($themes);
|
| 381 |
}
|
| 382 |
-
foreach($themes as $
|
| 383 |
-
$res = $result[$
|
| 384 |
if (!$res || is_wp_error($res)) {
|
| 385 |
-
$result[$
|
| 386 |
} else {
|
| 387 |
-
$result[$
|
| 388 |
}
|
| 389 |
}
|
| 390 |
return $result;
|
|
@@ -480,6 +481,15 @@ class BVManageCallback extends BVCallbackBase {
|
|
| 480 |
}
|
| 481 |
}
|
| 482 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 483 |
function process($request) {
|
| 484 |
global $wp_filesystem;
|
| 485 |
$this->include_files();
|
|
@@ -520,6 +530,9 @@ class BVManageCallback extends BVCallbackBase {
|
|
| 520 |
$isHttps = true;
|
| 521 |
$resp = array("autologin" => $this->autoLogin($params['username'], $isHttps));
|
| 522 |
break;
|
|
|
|
|
|
|
|
|
|
| 523 |
default:
|
| 524 |
$resp = false;
|
| 525 |
}
|
| 40 |
@include_once ABSPATH.'wp-admin/includes/class-wp-upgrader.php';
|
| 41 |
@include_once ABSPATH.'wp-admin/includes/user.php';
|
| 42 |
@include_once ABSPATH.'wp-includes/registration.php';
|
| 43 |
+
@include_once ABSPATH.'wp-admin/includes/upgrade.php';
|
| 44 |
@include_once ABSPATH.'wp-admin/includes/update.php';
|
| 45 |
@require_once ABSPATH.'wp-admin/includes/update-core.php';
|
| 46 |
}
|
| 203 |
}
|
| 204 |
}
|
| 205 |
if (array_key_exists('themes', $params) && !empty($params['themes'])) {
|
| 206 |
+
$stylesheets = array();
|
| 207 |
foreach ($params['themes'] as $theme) {
|
| 208 |
+
$stylesheets[] = $theme['stylesheet'];
|
| 209 |
}
|
| 210 |
+
if (!empty($stylesheets)) {
|
| 211 |
+
$result['themes'] = $this->upgradeThemes($stylesheets, $has_bv_skin);
|
| 212 |
}
|
| 213 |
}
|
| 214 |
return $result;
|
| 380 |
$upgrader = new Theme_Upgrader($skin);
|
| 381 |
$result = $upgrader->bulk_upgrade($themes);
|
| 382 |
}
|
| 383 |
+
foreach($themes as $stylesheet) {
|
| 384 |
+
$res = $result[$stylesheet];
|
| 385 |
if (!$res || is_wp_error($res)) {
|
| 386 |
+
$result[$stylesheet] = array('status' => "Error");
|
| 387 |
} else {
|
| 388 |
+
$result[$stylesheet] = array('status' => "Done");
|
| 389 |
}
|
| 390 |
}
|
| 391 |
return $result;
|
| 481 |
}
|
| 482 |
}
|
| 483 |
|
| 484 |
+
function upgrade_db(){
|
| 485 |
+
if (function_exists('wp_upgrade')) {
|
| 486 |
+
wp_upgrade();
|
| 487 |
+
return "DONE";
|
| 488 |
+
} else {
|
| 489 |
+
return "NOUPGRADERFUNCTION";
|
| 490 |
+
}
|
| 491 |
+
}
|
| 492 |
+
|
| 493 |
function process($request) {
|
| 494 |
global $wp_filesystem;
|
| 495 |
$this->include_files();
|
| 530 |
$isHttps = true;
|
| 531 |
$resp = array("autologin" => $this->autoLogin($params['username'], $isHttps));
|
| 532 |
break;
|
| 533 |
+
case "updatedb":
|
| 534 |
+
$resp = array("status" => $this->upgrade_db());
|
| 535 |
+
break;
|
| 536 |
default:
|
| 537 |
$resp = false;
|
| 538 |
}
|
callback/wings/misc.php
CHANGED
|
@@ -94,6 +94,9 @@ class BVMiscCallback extends BVCallbackBase {
|
|
| 94 |
case "dlttrsnt":
|
| 95 |
$resp = array("dlttrsnt" => $settings->deleteTransient($params['key']));
|
| 96 |
break;
|
|
|
|
|
|
|
|
|
|
| 97 |
default:
|
| 98 |
$resp = false;
|
| 99 |
}
|
| 94 |
case "dlttrsnt":
|
| 95 |
$resp = array("dlttrsnt" => $settings->deleteTransient($params['key']));
|
| 96 |
break;
|
| 97 |
+
case "setmanulsignup":
|
| 98 |
+
$resp = array("setmanulsignup" => $settings->updateOption("bvmanualsignup", true));
|
| 99 |
+
break;
|
| 100 |
default:
|
| 101 |
$resp = false;
|
| 102 |
}
|
info.php
CHANGED
|
@@ -9,7 +9,7 @@ if (!class_exists('WPRInfo')) :
|
|
| 9 |
public $badgeinfo = 'wprbadge';
|
| 10 |
public $ip_header_option = 'wpripheader';
|
| 11 |
public $brand_option = 'wprbrand';
|
| 12 |
-
public $version = '4.
|
| 13 |
public $webpage = 'https://wpremote.com';
|
| 14 |
public $appurl = 'https://app.wpremote.com';
|
| 15 |
public $slug = 'wpremote/plugin.php';
|
|
@@ -21,8 +21,8 @@ if (!class_exists('WPRInfo')) :
|
|
| 21 |
$this->settings = $settings;
|
| 22 |
}
|
| 23 |
|
| 24 |
-
public function
|
| 25 |
-
$scanOption = $this->settings->getOption('
|
| 26 |
return (isset($scanOption) && $scanOption == 1);
|
| 27 |
}
|
| 28 |
|
| 9 |
public $badgeinfo = 'wprbadge';
|
| 10 |
public $ip_header_option = 'wpripheader';
|
| 11 |
public $brand_option = 'wprbrand';
|
| 12 |
+
public $version = '4.31';
|
| 13 |
public $webpage = 'https://wpremote.com';
|
| 14 |
public $appurl = 'https://app.wpremote.com';
|
| 15 |
public $slug = 'wpremote/plugin.php';
|
| 21 |
$this->settings = $settings;
|
| 22 |
}
|
| 23 |
|
| 24 |
+
public function isManualSignup() {
|
| 25 |
+
$scanOption = $this->settings->getOption('bvmanualsignup');
|
| 26 |
return (isset($scanOption) && $scanOption == 1);
|
| 27 |
}
|
| 28 |
|
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.31
|
| 9 |
Network: True
|
| 10 |
*/
|
| 11 |
|
protect/wp/lp/lp.php
CHANGED
|
@@ -91,11 +91,6 @@ class BVWPLP {
|
|
| 91 |
return $this->config->blockAllLimit;
|
| 92 |
}
|
| 93 |
|
| 94 |
-
public function getLoginLogsTable() {
|
| 95 |
-
global $bvdb;
|
| 96 |
-
return $bvdb->getBVTable(BVWPLP::$requests_table);
|
| 97 |
-
}
|
| 98 |
-
|
| 99 |
public function getAllowLoginsTransient() {
|
| 100 |
return $this->settings->getTransient('bvlp_allow_logins');
|
| 101 |
}
|
| 91 |
return $this->config->blockAllLimit;
|
| 92 |
}
|
| 93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 94 |
public function getAllowLoginsTransient() {
|
| 95 |
return $this->settings->getTransient('bvlp_allow_logins');
|
| 96 |
}
|
readme.txt
CHANGED
|
@@ -6,7 +6,7 @@ Donate link: https://app.wpremote.com/home/signup
|
|
| 6 |
Requires at least: 4.0
|
| 7 |
Tested up to: 5.4
|
| 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,6 +32,15 @@ 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.26 =
|
| 36 |
* Handling Premium plugin and themes updates
|
| 37 |
|
| 6 |
Requires at least: 4.0
|
| 7 |
Tested up to: 5.4
|
| 8 |
Requires PHP: 5.4.0
|
| 9 |
+
Stable tag: 4.31
|
| 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.31 =
|
| 36 |
+
* Fetching Mysql Version
|
| 37 |
+
* Robust data fetch APIs
|
| 38 |
+
* Core plugin changes
|
| 39 |
+
* Sanitizing incoming params
|
| 40 |
+
* Update Database after wp-core update
|
| 41 |
+
* Handling Child theme upgrade code
|
| 42 |
+
* FSWrite wing improvements for older PHP versions
|
| 43 |
+
|
| 44 |
= 4.26 =
|
| 45 |
* Handling Premium plugin and themes updates
|
| 46 |
|
wp_api.php
CHANGED
|
@@ -11,19 +11,21 @@ if (!class_exists('WPRWPAPI')) :
|
|
| 11 |
|
| 12 |
public function pingbv($method, $body, $public = false) {
|
| 13 |
if ($public) {
|
| 14 |
-
$this->
|
| 15 |
} else {
|
| 16 |
$api_public_key = $this->settings->getOption('bvApiPublic');
|
| 17 |
if (!empty($api_public_key) && (strlen($api_public_key) >= 32)) {
|
| 18 |
-
$this->
|
| 19 |
}
|
| 20 |
}
|
| 21 |
}
|
| 22 |
|
| 23 |
-
public function
|
| 24 |
$account = WPRAccount::find($this->settings, $pubkey);
|
| 25 |
-
|
| 26 |
-
|
|
|
|
|
|
|
| 27 |
}
|
| 28 |
|
| 29 |
public function http_request($url, $body, $headers = array()) {
|
| 11 |
|
| 12 |
public function pingbv($method, $body, $public = false) {
|
| 13 |
if ($public) {
|
| 14 |
+
$this->do_request($method, $body, $public);
|
| 15 |
} else {
|
| 16 |
$api_public_key = $this->settings->getOption('bvApiPublic');
|
| 17 |
if (!empty($api_public_key) && (strlen($api_public_key) >= 32)) {
|
| 18 |
+
$this->do_request($method, $body, $api_public_key);
|
| 19 |
}
|
| 20 |
}
|
| 21 |
}
|
| 22 |
|
| 23 |
+
public function do_request($method, $body, $pubkey) {
|
| 24 |
$account = WPRAccount::find($this->settings, $pubkey);
|
| 25 |
+
if (isset($account)) {
|
| 26 |
+
$url = $account->authenticatedUrl($method);
|
| 27 |
+
$this->http_request($url, $body);
|
| 28 |
+
}
|
| 29 |
}
|
| 30 |
|
| 31 |
public function http_request($url, $body, $headers = array()) {
|
wp_db.php
CHANGED
|
@@ -182,5 +182,10 @@ class WPRWPDb {
|
|
| 182 |
|
| 183 |
return $result;
|
| 184 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 185 |
}
|
| 186 |
-
endif;
|
| 182 |
|
| 183 |
return $result;
|
| 184 |
}
|
| 185 |
+
|
| 186 |
+
public function getMysqlVersion() {
|
| 187 |
+
global $wpdb;
|
| 188 |
+
return $wpdb->db_version();
|
| 189 |
+
}
|
| 190 |
}
|
| 191 |
+
endif;
|
