Version Description
Download this release
Release Info
Developer | wpdprx |
Plugin | BackUpWordPress |
Version | 0.3.2 |
Comparing to | |
See all releases |
Code changes from version 0.3.1 to 0.3.2
- backupwordpress.php +3 -2
- bkpwp-classes/manage_backups.php +1 -1
- bkpwp-classes/options.php +7 -0
- functions.php +26 -6
- readme.txt +4 -0
backupwordpress.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: BackUpWordPress
|
|
4 |
Plugin URI: http://wordpress.designpraxis.at
|
5 |
Description: Manage <a href="admin.php?page=backupwordpress/backupwordpress.php">WordPress Backups</a>. Beta Release. Please help testing and give me feedback under the comments section of <a href="http://wordpress.designpraxis.at/plugins/backupwordpress/">the Plugin page</a>. Backup DB, Files & Folders, use .tar.gz, .zip, Exclude List, etc.
|
6 |
Author: Roland Rust
|
7 |
-
Version: 0.3.
|
8 |
Author URI: http://wordpress.designpraxis.at
|
9 |
*/
|
10 |
|
@@ -26,7 +26,7 @@ Author URI: http://wordpress.designpraxis.at
|
|
26 |
*/
|
27 |
|
28 |
$GLOBALS['bkpwp_plugin_path'] = ABSPATH."wp-content/plugins/backupwordpress/";
|
29 |
-
$GLOBALS['bkpwp_version'] = "0.3.
|
30 |
|
31 |
// get the functions
|
32 |
require_once($GLOBALS['bkpwp_plugin_path']."functions.php");
|
@@ -47,6 +47,7 @@ add_action('deactivate_backupwordpress/backupwordpress.php', 'bkpwp_exit');
|
|
47 |
// set up ajax stuff on init, to prevent header oputput
|
48 |
add_action('init', 'bkpwp_download_files');
|
49 |
add_action('init', 'bkpwp_setup');
|
|
|
50 |
add_action('init', 'bkpwp_proceed_unfinished');
|
51 |
|
52 |
// cron jobs with wordpress' pseude-cron: add special reccurences
|
4 |
Plugin URI: http://wordpress.designpraxis.at
|
5 |
Description: Manage <a href="admin.php?page=backupwordpress/backupwordpress.php">WordPress Backups</a>. Beta Release. Please help testing and give me feedback under the comments section of <a href="http://wordpress.designpraxis.at/plugins/backupwordpress/">the Plugin page</a>. Backup DB, Files & Folders, use .tar.gz, .zip, Exclude List, etc.
|
6 |
Author: Roland Rust
|
7 |
+
Version: 0.3.2
|
8 |
Author URI: http://wordpress.designpraxis.at
|
9 |
*/
|
10 |
|
26 |
*/
|
27 |
|
28 |
$GLOBALS['bkpwp_plugin_path'] = ABSPATH."wp-content/plugins/backupwordpress/";
|
29 |
+
$GLOBALS['bkpwp_version'] = "0.3.2";
|
30 |
|
31 |
// get the functions
|
32 |
require_once($GLOBALS['bkpwp_plugin_path']."functions.php");
|
47 |
// set up ajax stuff on init, to prevent header oputput
|
48 |
add_action('init', 'bkpwp_download_files');
|
49 |
add_action('init', 'bkpwp_setup');
|
50 |
+
add_action('init', 'bkpwp_security_check');
|
51 |
add_action('init', 'bkpwp_proceed_unfinished');
|
52 |
|
53 |
// cron jobs with wordpress' pseude-cron: add special reccurences
|
bkpwp-classes/manage_backups.php
CHANGED
@@ -1004,7 +1004,7 @@ class BKPWP_MANAGE {
|
|
1004 |
}
|
1005 |
if ($handle = opendir($bkpwppath)) {
|
1006 |
while (false !== ($file = readdir($handle))) {
|
1007 |
-
if (($file != ".") &&
|
1008 |
$files[] = array("file" => $bkpwppath."/".$file,
|
1009 |
"filename" => $file);
|
1010 |
}
|
1004 |
}
|
1005 |
if ($handle = opendir($bkpwppath)) {
|
1006 |
while (false !== ($file = readdir($handle))) {
|
1007 |
+
if ((substr($file,0,1) != ".") && !is_dir($bkpwppath."/".$file)) {
|
1008 |
$files[] = array("file" => $bkpwppath."/".$file,
|
1009 |
"filename" => $file);
|
1010 |
}
|
bkpwp-classes/options.php
CHANGED
@@ -345,6 +345,12 @@ class BKPWP_OPTIONS {
|
|
345 |
return $a;
|
346 |
}
|
347 |
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
function bkpwp_default_archive_types() {
|
349 |
// a wishlist of compression types
|
350 |
$archive_types_wishlist = array();
|
@@ -448,6 +454,7 @@ class BKPWP_OPTIONS {
|
|
448 |
$this->bkpwp_default_excludelists();
|
449 |
$this->bkpwp_default_presets();
|
450 |
$this->bkpwp_default_schedules();
|
|
|
451 |
}
|
452 |
}
|
453 |
?>
|
345 |
return $a;
|
346 |
}
|
347 |
|
348 |
+
function bkpwp_add_capabilities() {
|
349 |
+
global $wp_roles;
|
350 |
+
$wp_roles->add_cap('administrator','manage_backups', true);
|
351 |
+
$wp_roles->add_cap('administrator','download_backups', true);
|
352 |
+
}
|
353 |
+
|
354 |
function bkpwp_default_archive_types() {
|
355 |
// a wishlist of compression types
|
356 |
$archive_types_wishlist = array();
|
454 |
$this->bkpwp_default_excludelists();
|
455 |
$this->bkpwp_default_presets();
|
456 |
$this->bkpwp_default_schedules();
|
457 |
+
$this->bkpwp_add_capabilities();
|
458 |
}
|
459 |
}
|
460 |
?>
|
functions.php
CHANGED
@@ -21,18 +21,20 @@ function bkpwp_exit() {
|
|
21 |
delete_option("bkpwp_domain_path");
|
22 |
delete_option("bkpwp_archive_types");
|
23 |
delete_option("bkpwp_easy_mode");
|
24 |
-
delete_option("bkpwp_excludelists");
|
25 |
delete_option("bkpwp_reccurrences");
|
26 |
delete_option("bkpwp_calculation");
|
27 |
-
delete_option("bkpwp_max_backups");
|
28 |
delete_option("bkpwp_listmax_backups");
|
29 |
delete_option("bkpwp_automail");
|
30 |
delete_option("bkpwp_automail_maxsize");
|
31 |
-
delete_option("bkpwp_automail_address");
|
32 |
-
delete_option("bkpwp_automail_receiver");
|
33 |
-
delete_option("bkpwp_automail_from");
|
34 |
delete_option("bkpwp_status");
|
35 |
delete_option("bkpwp_status_config");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
}
|
37 |
|
38 |
function bkpwp_setup() {
|
@@ -319,6 +321,9 @@ function bkpwp_schedule_bkpwp($options) {
|
|
319 |
|
320 |
function bkpwp_download_files() {
|
321 |
if (!empty($_REQUEST['bkpwp_download'])) {
|
|
|
|
|
|
|
322 |
$file = base64_decode($_REQUEST['bkpwp_download']);
|
323 |
bkpwp_send_file($file);
|
324 |
}
|
@@ -361,5 +366,20 @@ function bkpwp_send_file($path) {
|
|
361 |
return((connection_status()==0) and !connection_aborted());
|
362 |
}
|
363 |
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
365 |
?>
|
21 |
delete_option("bkpwp_domain_path");
|
22 |
delete_option("bkpwp_archive_types");
|
23 |
delete_option("bkpwp_easy_mode");
|
|
|
24 |
delete_option("bkpwp_reccurrences");
|
25 |
delete_option("bkpwp_calculation");
|
|
|
26 |
delete_option("bkpwp_listmax_backups");
|
27 |
delete_option("bkpwp_automail");
|
28 |
delete_option("bkpwp_automail_maxsize");
|
|
|
|
|
|
|
29 |
delete_option("bkpwp_status");
|
30 |
delete_option("bkpwp_status_config");
|
31 |
+
|
32 |
+
// configuration options to keep
|
33 |
+
//delete_option("bkpwp_excludelists");
|
34 |
+
//delete_option("bkpwp_max_backups");
|
35 |
+
//delete_option("bkpwp_automail_address");
|
36 |
+
//delete_option("bkpwp_automail_receiver");
|
37 |
+
//delete_option("bkpwp_automail_from");
|
38 |
}
|
39 |
|
40 |
function bkpwp_setup() {
|
321 |
|
322 |
function bkpwp_download_files() {
|
323 |
if (!empty($_REQUEST['bkpwp_download'])) {
|
324 |
+
if (!current_user_can("download_backups")) {
|
325 |
+
die("Permission denied");
|
326 |
+
}
|
327 |
$file = base64_decode($_REQUEST['bkpwp_download']);
|
328 |
bkpwp_send_file($file);
|
329 |
}
|
366 |
return((connection_status()==0) and !connection_aborted());
|
367 |
}
|
368 |
|
369 |
+
function bkpwp_security_check() {
|
370 |
+
// secure the backup directory with .htaccess
|
371 |
+
// deny from all
|
372 |
+
$path = get_option("bkpwppath");
|
373 |
+
if (empty($path)) { return; }
|
374 |
+
$filename = $path."/.htaccess";
|
375 |
+
if (!$handle = fopen($filename, 'w')) {
|
376 |
+
echo "Cannot open file ($filename)";
|
377 |
+
// should be checked at configuration
|
378 |
+
}
|
379 |
+
if (fwrite($handle, "deny from all") === FALSE) {
|
380 |
+
echo "Cannot write to file ($filename)";
|
381 |
+
// todo: warn the blog owner
|
382 |
+
}
|
383 |
+
fclose($handle);
|
384 |
+
}
|
385 |
?>
|
readme.txt
CHANGED
@@ -72,6 +72,10 @@ Some pieces of code have been modified:
|
|
72 |
|
73 |
Changelog:
|
74 |
|
|
|
|
|
|
|
|
|
75 |
Changes in 0.2.7:
|
76 |
|
77 |
+ manage presets. link to configure excludelists corrected
|
72 |
|
73 |
Changelog:
|
74 |
|
75 |
+
Changes in 0.3.2:
|
76 |
+
+ added capabilities manage_backups and download_backups
|
77 |
+
+ backup repository secured by .htaccess
|
78 |
+
|
79 |
Changes in 0.2.7:
|
80 |
|
81 |
+ manage presets. link to configure excludelists corrected
|