Version Description
- Zip file creation now faster agin but no stat output
- serverl bug fixes
Download this release
Release Info
Developer | danielhuesken |
Plugin | BackWPup – WordPress Backup Plugin |
Version | 2.0.1 |
Comparing to | |
See all releases |
Code changes from version 2.0.0 to 2.0.1
- backwpup-functions.php +15 -11
- backwpup.php +3 -3
- job/backup_create.php +13 -8
- job/dest_dropbox.php +0 -1
- job/job_functions.php +5 -0
- job/job_run.php +2 -0
- pages/func_backwpup.php +1 -3
- readme.txt +5 -1
backwpup-functions.php
CHANGED
@@ -105,9 +105,9 @@ function backwpup_contextual_help($help='') {
|
|
105 |
|
106 |
//On Plugin activate
|
107 |
function backwpup_plugin_activate() {
|
108 |
-
$
|
109 |
-
if (!empty($
|
110 |
-
foreach ($
|
111 |
//check jobvaules
|
112 |
$jobs[$jobid]=backwpup_get_job_vars($jobid);
|
113 |
}
|
@@ -132,10 +132,10 @@ function backwpup_plugin_activate() {
|
|
132 |
if (!isset($cfg['mailuser'])) $cfg['mailuser']='';
|
133 |
if (!isset($cfg['mailpass'])) $cfg['mailpass']='';
|
134 |
if (!isset($cfg['showadminbar'])) $cfg['showadminbar']=true;
|
135 |
-
if (!isset($cfg['jobstepretry']) or !is_int($cfg['jobstepretry']) or
|
136 |
-
if (!isset($cfg['jobscriptretry']) or !is_int($cfg['jobscriptretry']) or
|
137 |
-
if (!isset($cfg['jobscriptruntime']) or !is_int($cfg['jobscriptruntime']) or 100
|
138 |
-
if (!isset($cfg['jobscriptruntimelong']) or !is_int($cfg['jobscriptruntimelong']) or 1000
|
139 |
if (!isset($cfg['maxlogs']) or !is_int($cfg['maxlogs'])) $cfg['maxlogs']=50;
|
140 |
if (!function_exists('gzopen') or !isset($cfg['gzlogs'])) $cfg['gzlogs']=false;
|
141 |
if (!isset($cfg['dirlogs']) or empty($cfg['dirlogs']) or !is_dir($cfg['dirlogs'])) {
|
@@ -380,8 +380,12 @@ function backwpup_dashboard_logs_config() {
|
|
380 |
|
381 |
//Dashboard widget for Jobs
|
382 |
function backwpup_dashboard_activejobs() {
|
383 |
-
$
|
384 |
-
$
|
|
|
|
|
|
|
|
|
385 |
$runningfile=backwpup_get_working_file();
|
386 |
$tmp = Array();
|
387 |
foreach($jobs as &$ma)
|
@@ -390,7 +394,7 @@ function backwpup_dashboard_activejobs() {
|
|
390 |
$count=0;
|
391 |
echo '<ul>';
|
392 |
foreach ($jobs as $jobid => $jobvalue) {
|
393 |
-
if ($runningfile['JOBID']==$jobvalue[
|
394 |
$runtime=time()-$jobvalue['starttime'];
|
395 |
echo '<li><span style="font-weight:bold;">'.$jobvalue['jobid'].'. '.$jobvalue['name'].': </span>';
|
396 |
printf('<span style="color:#e66f00;">'.__('working since %d sec.','backwpup').'</span>',$runtime);
|
@@ -400,7 +404,7 @@ function backwpup_dashboard_activejobs() {
|
|
400 |
$count++;
|
401 |
} elseif ($jobvalue['activated']) {
|
402 |
echo '<li><span>'.date(get_option('date_format'),$jobvalue['cronnextrun']).' '.date(get_option('time_format'),$jobvalue['cronnextrun']).'</span>';
|
403 |
-
echo ' <a href="'.wp_nonce_url(admin_url('admin.php').'?page=backwpupeditjob&jobid='.$jobid, 'edit-job').'" title="'.__('Edit Job','backwpup').'">'.$jobvalue['name'].'</a><br />';
|
404 |
echo "</li>";
|
405 |
$count++;
|
406 |
}
|
105 |
|
106 |
//On Plugin activate
|
107 |
function backwpup_plugin_activate() {
|
108 |
+
$jobsids=array_keys(get_option('backwpup_jobs'));
|
109 |
+
if (!empty($jobsids)) {
|
110 |
+
foreach ($jobsids as $jobid) {
|
111 |
//check jobvaules
|
112 |
$jobs[$jobid]=backwpup_get_job_vars($jobid);
|
113 |
}
|
132 |
if (!isset($cfg['mailuser'])) $cfg['mailuser']='';
|
133 |
if (!isset($cfg['mailpass'])) $cfg['mailpass']='';
|
134 |
if (!isset($cfg['showadminbar'])) $cfg['showadminbar']=true;
|
135 |
+
if (!isset($cfg['jobstepretry']) or !is_int($cfg['jobstepretry']) or 100<$cfg['jobstepretry'] or empty($cfg['jobstepretry'])) $cfg['jobstepretry']=3;
|
136 |
+
if (!isset($cfg['jobscriptretry']) or !is_int($cfg['jobscriptretry']) or 100<$cfg['jobscriptretry'] or empty($cfg['jobscriptretry'])) $cfg['jobscriptretry']=5;
|
137 |
+
if (!isset($cfg['jobscriptruntime']) or !is_int($cfg['jobscriptruntime']) or 100<$cfg['jobscriptruntime'] or empty($cfg['jobscriptruntime'])) $cfg['jobscriptruntime']=30;
|
138 |
+
if (!isset($cfg['jobscriptruntimelong']) or !is_int($cfg['jobscriptruntimelong']) or 1000<$cfg['jobscriptruntimelong'] or empty($cfg['jobscriptruntimelong'])) $cfg['jobscriptruntimelong']=300;
|
139 |
if (!isset($cfg['maxlogs']) or !is_int($cfg['maxlogs'])) $cfg['maxlogs']=50;
|
140 |
if (!function_exists('gzopen') or !isset($cfg['gzlogs'])) $cfg['gzlogs']=false;
|
141 |
if (!isset($cfg['dirlogs']) or empty($cfg['dirlogs']) or !is_dir($cfg['dirlogs'])) {
|
380 |
|
381 |
//Dashboard widget for Jobs
|
382 |
function backwpup_dashboard_activejobs() {
|
383 |
+
$jobsids=array_keys(get_option('backwpup_jobs'));
|
384 |
+
if (!empty($jobsids)) {
|
385 |
+
foreach ($jobsids as $jobid) {
|
386 |
+
$jobs[$jobid]=backwpup_get_job_vars($jobid);
|
387 |
+
}
|
388 |
+
}
|
389 |
$runningfile=backwpup_get_working_file();
|
390 |
$tmp = Array();
|
391 |
foreach($jobs as &$ma)
|
394 |
$count=0;
|
395 |
echo '<ul>';
|
396 |
foreach ($jobs as $jobid => $jobvalue) {
|
397 |
+
if (!empty($runningfile['JOBID']) and $runningfile['JOBID']==$jobvalue['jobid']) {
|
398 |
$runtime=time()-$jobvalue['starttime'];
|
399 |
echo '<li><span style="font-weight:bold;">'.$jobvalue['jobid'].'. '.$jobvalue['name'].': </span>';
|
400 |
printf('<span style="color:#e66f00;">'.__('working since %d sec.','backwpup').'</span>',$runtime);
|
404 |
$count++;
|
405 |
} elseif ($jobvalue['activated']) {
|
406 |
echo '<li><span>'.date(get_option('date_format'),$jobvalue['cronnextrun']).' '.date(get_option('time_format'),$jobvalue['cronnextrun']).'</span>';
|
407 |
+
echo ' <a href="'.wp_nonce_url(admin_url('admin.php').'?page=backwpupeditjob&jobid='.$jobvalue['jobid'], 'edit-job').'" title="'.__('Edit Job','backwpup').'">'.$jobvalue['name'].'</a><br />';
|
408 |
echo "</li>";
|
409 |
$count++;
|
410 |
}
|
backwpup.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: BackWPup
|
|
4 |
Plugin URI: http://backwpup.com
|
5 |
Description: Wordpress Backup and more...
|
6 |
Author: Daniel Hüsken
|
7 |
-
Version: 2.0.
|
8 |
Author URI: http://danielhuesken.de
|
9 |
Text Domain: backwpup
|
10 |
Domain Path: /lang/
|
@@ -39,7 +39,7 @@ if (!defined('ABSPATH')) {
|
|
39 |
define('BACKWPUP_PLUGIN_BASEDIR', dirname(plugin_basename(__FILE__)));
|
40 |
define('BACKWPUP_PLUGIN_BASEURL',plugins_url('',__FILE__));
|
41 |
//Set Plugin Version
|
42 |
-
define('BACKWPUP_VERSION', '2.0.
|
43 |
//Set Min Wordpress Version
|
44 |
define('BACKWPUP_MIN_WORDPRESS_VERSION', '3.2');
|
45 |
//Set User Capability
|
@@ -53,7 +53,7 @@ define('BACKWPUP_DROPBOX_APP_SECRET', 't5hlbxtz473hchy');
|
|
53 |
//Set SugarSync Aplication Keys
|
54 |
define('BACKWPUP_SUGARSYNC_ACCESSKEY', 'OTcwNjc5MTI5OTQxMzY1Njc5OA');
|
55 |
define('BACKWPUP_SUGARSYNC_PRIVATEACCESSKEY', 'NzNmNDMwMDBiNTkwNDY0YzhjY2JiN2E5YWVkMjFmYmI');
|
56 |
-
//
|
57 |
define('BACKWPUP_API_URL', 'http://api.backwpup.com');
|
58 |
//load Text Domain
|
59 |
load_plugin_textdomain('backwpup', false, BACKWPUP_PLUGIN_BASEDIR.'/lang');
|
4 |
Plugin URI: http://backwpup.com
|
5 |
Description: Wordpress Backup and more...
|
6 |
Author: Daniel Hüsken
|
7 |
+
Version: 2.0.1
|
8 |
Author URI: http://danielhuesken.de
|
9 |
Text Domain: backwpup
|
10 |
Domain Path: /lang/
|
39 |
define('BACKWPUP_PLUGIN_BASEDIR', dirname(plugin_basename(__FILE__)));
|
40 |
define('BACKWPUP_PLUGIN_BASEURL',plugins_url('',__FILE__));
|
41 |
//Set Plugin Version
|
42 |
+
define('BACKWPUP_VERSION', '2.0.1');
|
43 |
//Set Min Wordpress Version
|
44 |
define('BACKWPUP_MIN_WORDPRESS_VERSION', '3.2');
|
45 |
//Set User Capability
|
53 |
//Set SugarSync Aplication Keys
|
54 |
define('BACKWPUP_SUGARSYNC_ACCESSKEY', 'OTcwNjc5MTI5OTQxMzY1Njc5OA');
|
55 |
define('BACKWPUP_SUGARSYNC_PRIVATEACCESSKEY', 'NzNmNDMwMDBiNTkwNDY0YzhjY2JiN2E5YWVkMjFmYmI');
|
56 |
+
//BackWPup API url
|
57 |
define('BACKWPUP_API_URL', 'http://api.backwpup.com');
|
58 |
//load Text Domain
|
59 |
load_plugin_textdomain('backwpup', false, BACKWPUP_PLUGIN_BASEDIR.'/lang');
|
job/backup_create.php
CHANGED
@@ -15,7 +15,7 @@ function backup_create() {
|
|
15 |
if (strtolower($_SESSION['JOB']['fileformart'])==".zip") { //Zip files
|
16 |
if (!class_exists('ZipArchive')) { //use php zip lib
|
17 |
trigger_error($_SESSION['WORKING']['BACKUP_CREATE']['STEP_TRY'].'. '.__('Try to create backup zip file...','backwpup'),E_USER_NOTICE);
|
18 |
-
$zip = new ZipArchive;
|
19 |
if ($res=$zip->open($_SESSION['JOB']['backupdir'].$_SESSION['STATIC']['backupfile'],ZIPARCHIVE::CREATE) === TRUE) {
|
20 |
for ($i=$_SESSION['WORKING']['STEPDONE'];$i<$_SESSION['WORKING']['STEPTODO'];$i++) {
|
21 |
if (!$zip->addFile($_SESSION['WORKING']['FILELIST'][$i]['FILE'], $_SESSION['WORKING']['FILELIST'][$i]['OUTFILE']))
|
@@ -37,15 +37,20 @@ function backup_create() {
|
|
37 |
if (is_array($_SESSION['WORKING']['FILELIST'][0])) {
|
38 |
trigger_error($_SESSION['WORKING']['BACKUP_CREATE']['STEP_TRY'].'. '.__('Try to create backup zip (PclZip) file...','backwpup'),E_USER_NOTICE);
|
39 |
$zipbackupfile = new PclZip($_SESSION['JOB']['backupdir'].$_SESSION['STATIC']['backupfile']);
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
46 |
update_working_file();
|
|
|
47 |
}
|
48 |
-
trigger_error(__('Backup Zip file create done!','backwpup'),E_USER_NOTICE);
|
49 |
}
|
50 |
}
|
51 |
} elseif (strtolower($_SESSION['JOB']['fileformart'])==".tar.gz" or strtolower($_SESSION['JOB']['fileformart'])==".tar.bz2" or strtolower($_SESSION['JOB']['fileformart'])==".tar") { //tar files
|
15 |
if (strtolower($_SESSION['JOB']['fileformart'])==".zip") { //Zip files
|
16 |
if (!class_exists('ZipArchive')) { //use php zip lib
|
17 |
trigger_error($_SESSION['WORKING']['BACKUP_CREATE']['STEP_TRY'].'. '.__('Try to create backup zip file...','backwpup'),E_USER_NOTICE);
|
18 |
+
$zip = new ZipArchive();
|
19 |
if ($res=$zip->open($_SESSION['JOB']['backupdir'].$_SESSION['STATIC']['backupfile'],ZIPARCHIVE::CREATE) === TRUE) {
|
20 |
for ($i=$_SESSION['WORKING']['STEPDONE'];$i<$_SESSION['WORKING']['STEPTODO'];$i++) {
|
21 |
if (!$zip->addFile($_SESSION['WORKING']['FILELIST'][$i]['FILE'], $_SESSION['WORKING']['FILELIST'][$i]['OUTFILE']))
|
37 |
if (is_array($_SESSION['WORKING']['FILELIST'][0])) {
|
38 |
trigger_error($_SESSION['WORKING']['BACKUP_CREATE']['STEP_TRY'].'. '.__('Try to create backup zip (PclZip) file...','backwpup'),E_USER_NOTICE);
|
39 |
$zipbackupfile = new PclZip($_SESSION['JOB']['backupdir'].$_SESSION['STATIC']['backupfile']);
|
40 |
+
need_free_memory(10485760); //10MB free memory for zip
|
41 |
+
for ($i=0;$i<count($_SESSION['WORKING']['FILELIST']);$i++) {
|
42 |
+
$files[$i][79001]=$_SESSION['WORKING']['FILELIST'][$i]['FILE'];
|
43 |
+
$files[$i][79003]=$_SESSION['WORKING']['FILELIST'][$i]['OUTFILE'];
|
44 |
+
}
|
45 |
+
@set_time_limit($_SESSION['CFG']['jobscriptruntimelong']);
|
46 |
+
if (0==$zipbackupfile->create($files,PCLZIP_OPT_ADD_TEMP_FILE_ON)) {
|
47 |
+
trigger_error(__('Zip file create:','backwpup').' '.$zipbackupfile->errorInfo(true),E_USER_ERROR);
|
48 |
+
} else {
|
49 |
+
trigger_error(__('Backup Zip file create done!','backwpup'),E_USER_NOTICE);
|
50 |
+
$_SESSION['WORKING']['STEPDONE']=count($_SESSION['WORKING']['FILELIST']);
|
51 |
update_working_file();
|
52 |
+
unset($files);
|
53 |
}
|
|
|
54 |
}
|
55 |
}
|
56 |
} elseif (strtolower($_SESSION['JOB']['fileformart'])==".tar.gz" or strtolower($_SESSION['JOB']['fileformart'])==".tar.bz2" or strtolower($_SESSION['JOB']['fileformart'])==".tar") { //tar files
|
job/dest_dropbox.php
CHANGED
@@ -13,7 +13,6 @@ function dest_dropbox() {
|
|
13 |
$_SESSION['WORKING']['STEPTODO']=2+filesize($_SESSION['JOB']['backupdir'].$_SESSION['STATIC']['backupfile']);
|
14 |
$_SESSION['WORKING']['STEPDONE']=0;
|
15 |
trigger_error($_SESSION['WORKING']['DEST_DROPBOX']['STEP_TRY'].'. '.__('Try to sending backup file to DropBox...','backwpup'),E_USER_NOTICE);
|
16 |
-
need_free_memory(filesize($_SESSION['JOB']['backupdir'].$_SESSION['STATIC']['backupfile'])*1.1);
|
17 |
require_once(realpath(dirname(__FILE__).'/../libs/dropbox/dropbox.php'));
|
18 |
try {
|
19 |
$dropbox = new Dropbox($_SESSION['BACKWPUP']['DROPBOX_APP_KEY'], $_SESSION['BACKWPUP']['DROPBOX_APP_SECRET']);
|
13 |
$_SESSION['WORKING']['STEPTODO']=2+filesize($_SESSION['JOB']['backupdir'].$_SESSION['STATIC']['backupfile']);
|
14 |
$_SESSION['WORKING']['STEPDONE']=0;
|
15 |
trigger_error($_SESSION['WORKING']['DEST_DROPBOX']['STEP_TRY'].'. '.__('Try to sending backup file to DropBox...','backwpup'),E_USER_NOTICE);
|
|
|
16 |
require_once(realpath(dirname(__FILE__).'/../libs/dropbox/dropbox.php'));
|
17 |
try {
|
18 |
$dropbox = new Dropbox($_SESSION['BACKWPUP']['DROPBOX_APP_KEY'], $_SESSION['BACKWPUP']['DROPBOX_APP_SECRET']);
|
job/job_functions.php
CHANGED
@@ -246,6 +246,11 @@ function mysql_update() {
|
|
246 |
//function for PHP error handling
|
247 |
function joberrorhandler() {
|
248 |
$args = func_get_args(); // 0:errno, 1:errstr, 2:errfile, 3:errline
|
|
|
|
|
|
|
|
|
|
|
249 |
$adderrorwarning=false;
|
250 |
|
251 |
switch ($args[0]) {
|
246 |
//function for PHP error handling
|
247 |
function joberrorhandler() {
|
248 |
$args = func_get_args(); // 0:errno, 1:errstr, 2:errfile, 3:errline
|
249 |
+
|
250 |
+
// if error has been supressed with an @
|
251 |
+
if (error_reporting()==0)
|
252 |
+
return;
|
253 |
+
|
254 |
$adderrorwarning=false;
|
255 |
|
256 |
switch ($args[0]) {
|
job/job_run.php
CHANGED
@@ -83,6 +83,8 @@ foreach($_SESSION['WORKING']['STEPS'] as $step) {
|
|
83 |
if ($_SESSION['JOB']['activated'])
|
84 |
trigger_error(__('[INFO]: BackWPup cron:','backwpup').' '.$_SESSION['JOB']['cron'].'; '.date('D, j M Y H:i',$_SESSION['JOB']['cronnextrun']),E_USER_NOTICE);
|
85 |
trigger_error(__('[INFO]: PHP ver.:','backwpup').' '.phpversion().'; '.php_sapi_name().'; '.PHP_OS,E_USER_NOTICE);
|
|
|
|
|
86 |
trigger_error(__('[INFO]: MySQL ver.:','backwpup').' '.mysql_result(mysql_query("SELECT VERSION() AS version"),0),E_USER_NOTICE);
|
87 |
$curlversion=curl_version();
|
88 |
trigger_error(__('[INFO]: curl ver.:','backwpup').' '.$curlversion['version'].'; '.$curlversion['ssl_version'],E_USER_NOTICE);
|
83 |
if ($_SESSION['JOB']['activated'])
|
84 |
trigger_error(__('[INFO]: BackWPup cron:','backwpup').' '.$_SESSION['JOB']['cron'].'; '.date('D, j M Y H:i',$_SESSION['JOB']['cronnextrun']),E_USER_NOTICE);
|
85 |
trigger_error(__('[INFO]: PHP ver.:','backwpup').' '.phpversion().'; '.php_sapi_name().'; '.PHP_OS,E_USER_NOTICE);
|
86 |
+
if (ini_get('safe_mode'))
|
87 |
+
trigger_error(__('[INFO]: PHP Safe mode is ON!','backwpup'),E_USER_NOTICE);
|
88 |
trigger_error(__('[INFO]: MySQL ver.:','backwpup').' '.mysql_result(mysql_query("SELECT VERSION() AS version"),0),E_USER_NOTICE);
|
89 |
$curlversion=curl_version();
|
90 |
trigger_error(__('[INFO]: curl ver.:','backwpup').' '.$curlversion['version'].'; '.$curlversion['ssl_version'],E_USER_NOTICE);
|
pages/func_backwpup.php
CHANGED
@@ -230,10 +230,8 @@ function backwpup_show_info_td() {
|
|
230 |
if (!current_user_can(BACKWPUP_USER_CAPABILITY))
|
231 |
die('-1');
|
232 |
global $wpdb;
|
233 |
-
$jobid=$_POST['jobid'];
|
234 |
$mode=$_POST['mode'];
|
235 |
-
$
|
236 |
-
$jobvalue=$jobs[$jobid];
|
237 |
if (in_array('FILE',explode('+',$jobvalue['type']))) {
|
238 |
$files=backwpup_calc_file_size($jobvalue);
|
239 |
echo __("Files Size:","backwpup")." ".backwpup_formatBytes($files['size'])."<br />";
|
230 |
if (!current_user_can(BACKWPUP_USER_CAPABILITY))
|
231 |
die('-1');
|
232 |
global $wpdb;
|
|
|
233 |
$mode=$_POST['mode'];
|
234 |
+
$jobvalue=backwpup_get_job_vars($_POST['jobid']);
|
|
|
235 |
if (in_array('FILE',explode('+',$jobvalue['type']))) {
|
236 |
$files=backwpup_calc_file_size($jobvalue);
|
237 |
echo __("Files Size:","backwpup")." ".backwpup_formatBytes($files['size'])."<br />";
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mail%
|
|
4 |
Tags: backup, admin, file, Database, mysql, Cron, ftp, S3, export, xml, Rackspace, Cloud, Azure, DropBox, SugarSync, Google, Storage
|
5 |
Requires at least: 3.2
|
6 |
Tested up to: 3.2
|
7 |
-
Stable tag: 2.0.
|
8 |
|
9 |
Backup your WordPress Database and Files, and more!
|
10 |
|
@@ -127,6 +127,10 @@ Destinations are:
|
|
127 |
4. Backups Manage Page
|
128 |
|
129 |
== Changelog ==
|
|
|
|
|
|
|
|
|
130 |
= 2.0.0 =
|
131 |
* PHP Sessions, curl and PHP version 5.2.4 required!
|
132 |
* Wordpress 3.2 required!
|
4 |
Tags: backup, admin, file, Database, mysql, Cron, ftp, S3, export, xml, Rackspace, Cloud, Azure, DropBox, SugarSync, Google, Storage
|
5 |
Requires at least: 3.2
|
6 |
Tested up to: 3.2
|
7 |
+
Stable tag: 2.0.1
|
8 |
|
9 |
Backup your WordPress Database and Files, and more!
|
10 |
|
127 |
4. Backups Manage Page
|
128 |
|
129 |
== Changelog ==
|
130 |
+
= 2.0.1 =
|
131 |
+
* Zip file creation now faster agin but no stat output
|
132 |
+
* serverl bug fixes
|
133 |
+
|
134 |
= 2.0.0 =
|
135 |
* PHP Sessions, curl and PHP version 5.2.4 required!
|
136 |
* Wordpress 3.2 required!
|