Version Description
Download this release
Release Info
Developer | willmot |
Plugin | The WP Remote WordPress Plugin |
Version | 2.1.2 |
Comparing to | |
See all releases |
Code changes from version 2.1.1 to 2.1.2
- hm-backup/hm-backup.php +9 -4
- plugin.php +1 -1
- readme.txt +1 -1
- wprp.backups.php +25 -12
hm-backup/hm-backup.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
/**
|
4 |
* Generic file and database backup class
|
5 |
*
|
6 |
-
* @version 1.
|
7 |
*/
|
8 |
class HM_Backup {
|
9 |
|
@@ -874,18 +874,23 @@ class HM_Backup {
|
|
874 |
*/
|
875 |
public function conform_dir( $dir, $recursive = false ) {
|
876 |
|
|
|
|
|
|
|
|
|
877 |
// Replace single forward slash (looks like double slash because we have to escape it)
|
878 |
$dir = str_replace( '\\', '/', $dir );
|
879 |
$dir = str_replace( '//', '/', $dir );
|
880 |
|
881 |
// Remove the trailing slash
|
882 |
-
|
|
|
883 |
|
884 |
// Carry on until completely normalized
|
885 |
if ( ! $recursive && $this->conform_dir( $dir, true ) != $dir )
|
886 |
return $this->conform_dir( $dir );
|
887 |
|
888 |
-
return $dir;
|
889 |
|
890 |
}
|
891 |
|
@@ -1218,7 +1223,7 @@ class HM_Backup {
|
|
1218 |
*/
|
1219 |
public function error_handler( $type ) {
|
1220 |
|
1221 |
-
if (
|
1222 |
return false;
|
1223 |
|
1224 |
$args = func_get_args();
|
3 |
/**
|
4 |
* Generic file and database backup class
|
5 |
*
|
6 |
+
* @version 1.5.1
|
7 |
*/
|
8 |
class HM_Backup {
|
9 |
|
874 |
*/
|
875 |
public function conform_dir( $dir, $recursive = false ) {
|
876 |
|
877 |
+
// Assume empty dir is root
|
878 |
+
if ( ! $dir )
|
879 |
+
$dir = '/';
|
880 |
+
|
881 |
// Replace single forward slash (looks like double slash because we have to escape it)
|
882 |
$dir = str_replace( '\\', '/', $dir );
|
883 |
$dir = str_replace( '//', '/', $dir );
|
884 |
|
885 |
// Remove the trailing slash
|
886 |
+
if ( $dir !== '/' )
|
887 |
+
$dir = untrailingslashit( $dir );
|
888 |
|
889 |
// Carry on until completely normalized
|
890 |
if ( ! $recursive && $this->conform_dir( $dir, true ) != $dir )
|
891 |
return $this->conform_dir( $dir );
|
892 |
|
893 |
+
return (string) $dir;
|
894 |
|
895 |
}
|
896 |
|
1223 |
*/
|
1224 |
public function error_handler( $type ) {
|
1225 |
|
1226 |
+
if ( ( defined( 'E_DEPRECATED' ) && $type == E_DEPRECATED ) || ( defined( 'E_STRICT' ) && $type == E_STRICT ) || error_reporting() === 0 )
|
1227 |
return false;
|
1228 |
|
1229 |
$args = func_get_args();
|
plugin.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
/*
|
4 |
Plugin Name: WP Remote
|
5 |
Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>. Deactivate to clear your API Key.
|
6 |
-
Version: 2.1.
|
7 |
Author: Human Made Limited
|
8 |
Author URI: http://hmn.md/
|
9 |
*/
|
3 |
/*
|
4 |
Plugin Name: WP Remote
|
5 |
Description: Manage your WordPress site with <a href="https://wpremote.com/">WP Remote</a>. Deactivate to clear your API Key.
|
6 |
+
Version: 2.1.2
|
7 |
Author: Human Made Limited
|
8 |
Author URI: http://hmn.md/
|
9 |
*/
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: humanmade, joehoyle, mattheu, tcrsavage, willmot
|
|
3 |
Tags: wpremote, remote administration, multiple wordpress
|
4 |
Requires at least: 2.9
|
5 |
Tested up to: 3.3.1
|
6 |
-
Stable tag: 2.1.
|
7 |
|
8 |
WP Remote is a free web app that enables you to easily manage all of your WordPress powered sites from one place.
|
9 |
|
3 |
Tags: wpremote, remote administration, multiple wordpress
|
4 |
Requires at least: 2.9
|
5 |
Tested up to: 3.3.1
|
6 |
+
Stable tag: 2.1.2
|
7 |
|
8 |
WP Remote is a free web app that enables you to easily manage all of your WordPress powered sites from one place.
|
9 |
|
wprp.backups.php
CHANGED
@@ -19,7 +19,7 @@ function _wprp_backups_api_call( $action ) {
|
|
19 |
|
20 |
case 'do_backup' :
|
21 |
|
22 |
-
@ignore_user_abort(true);
|
23 |
|
24 |
$backup = new HM_Backup();
|
25 |
$upload_dir = wp_upload_dir();
|
@@ -27,15 +27,31 @@ function _wprp_backups_api_call( $action ) {
|
|
27 |
// Store the backup file in the uploads dir
|
28 |
$backup->path = $upload_dir['basedir'] . '/_wpremote_backups';
|
29 |
|
30 |
-
$running_file = $backup->path . '/.backup_running';
|
|
|
|
|
|
|
|
|
31 |
|
32 |
// delete the backups folder to cleanup old backups
|
33 |
-
_wprp_backups_rmdirtree( $backup->path );
|
34 |
|
35 |
-
if ( ! @mkdir( $backup->path ) )
|
36 |
return new WP_Error( 'unable-to-create-backups-directory', 'Unable to write the .backup_running file - check your permissions on wp-content/uploads' );
|
37 |
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
if ( ! $handle = @fopen( $running_file, 'w' ) )
|
40 |
return new WP_Error( 'unable-to-write-backup-running-file' );
|
41 |
|
@@ -46,9 +62,6 @@ function _wprp_backups_api_call( $action ) {
|
|
46 |
if ( ! file_exists( $running_file ) )
|
47 |
return new WP_Error( 'backup-running-file-was-not-created' );
|
48 |
|
49 |
-
// Set a random backup filename
|
50 |
-
$backup->archive_filename = md5( time() ) . '.zip';
|
51 |
-
|
52 |
// Excludes
|
53 |
if ( ! empty( $_REQUEST['backup_excludes'] ) ) {
|
54 |
|
@@ -58,11 +71,11 @@ function _wprp_backups_api_call( $action ) {
|
|
58 |
|
59 |
$backup->backup();
|
60 |
|
61 |
-
unlink( $backup->path . '/.backup_completed' );
|
62 |
-
unlink( $backup->path . '/.backup_running' );
|
63 |
|
64 |
-
//
|
65 |
-
$completed_file = $backup->path . '/.backup_completed';
|
66 |
|
67 |
if ( ! $handle = @fopen( $completed_file, 'w' ) )
|
68 |
return new WP_Error( 'unable-to-write-backup-completed-file' );
|
19 |
|
20 |
case 'do_backup' :
|
21 |
|
22 |
+
@ignore_user_abort( true );
|
23 |
|
24 |
$backup = new HM_Backup();
|
25 |
$upload_dir = wp_upload_dir();
|
27 |
// Store the backup file in the uploads dir
|
28 |
$backup->path = $upload_dir['basedir'] . '/_wpremote_backups';
|
29 |
|
30 |
+
$running_file = $backup->path() . '/.backup_running';
|
31 |
+
$index_php = $backup->path() . '/index.php';
|
32 |
+
|
33 |
+
// Set a random backup filename
|
34 |
+
$backup->archive_filename = md5( time() ) . '.zip';
|
35 |
|
36 |
// delete the backups folder to cleanup old backups
|
37 |
+
_wprp_backups_rmdirtree( $backup->path() );
|
38 |
|
39 |
+
if ( ! @mkdir( $backup->path() ) )
|
40 |
return new WP_Error( 'unable-to-create-backups-directory', 'Unable to write the .backup_running file - check your permissions on wp-content/uploads' );
|
41 |
|
42 |
+
|
43 |
+
// Write an index.php file so stop directory listing
|
44 |
+
if ( ! $handle = @fopen( $index_php, 'w' ) )
|
45 |
+
return new WP_Error( 'unable-to-write-index-php-file' );
|
46 |
+
|
47 |
+
fwrite( $handle, '' );
|
48 |
+
|
49 |
+
fclose( $handle );
|
50 |
+
|
51 |
+
if ( ! file_exists( $index_php ) )
|
52 |
+
return new WP_Error( 'index-php-file-was-not-created' );
|
53 |
+
|
54 |
+
// Write the backup runing file for tracking...
|
55 |
if ( ! $handle = @fopen( $running_file, 'w' ) )
|
56 |
return new WP_Error( 'unable-to-write-backup-running-file' );
|
57 |
|
62 |
if ( ! file_exists( $running_file ) )
|
63 |
return new WP_Error( 'backup-running-file-was-not-created' );
|
64 |
|
|
|
|
|
|
|
65 |
// Excludes
|
66 |
if ( ! empty( $_REQUEST['backup_excludes'] ) ) {
|
67 |
|
71 |
|
72 |
$backup->backup();
|
73 |
|
74 |
+
unlink( $backup->path() . '/.backup_completed' );
|
75 |
+
unlink( $backup->path() . '/.backup_running' );
|
76 |
|
77 |
+
// Write the backup runing file for tracking...
|
78 |
+
$completed_file = $backup->path() . '/.backup_completed';
|
79 |
|
80 |
if ( ! $handle = @fopen( $completed_file, 'w' ) )
|
81 |
return new WP_Error( 'unable-to-write-backup-completed-file' );
|