Version Description
- New option to delete old logs
- Backup fiele deletion separeted form logs deletion
- make dashboard wiget smaller
- added masseges
- bug fixes
Download this release
Release Info
Developer | danielhuesken |
Plugin | BackWPup – WordPress Backup Plugin |
Version | 0.6.4 |
Comparing to | |
See all releases |
Code changes from version 0.6.3 to 0.6.4
- app/dojob/after.php +27 -17
- app/dojob/bevore.php +0 -7
- app/dojob/destination-ftp.php +3 -2
- app/functions.php +15 -15
- app/options-edit.php +1 -1
- app/options-logs.php +2 -0
- app/options-save.php +14 -3
- app/options-settings.php +7 -0
- backwpup.php +2 -2
- readme.txt +9 -2
app/dojob/after.php
CHANGED
@@ -1,23 +1,33 @@
|
|
1 |
<?PHP
|
2 |
-
//Delete old
|
3 |
-
if (!empty($jobs[$jobid]['maxbackups'])) {
|
4 |
-
|
5 |
-
$
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
$
|
|
|
17 |
}
|
|
|
|
|
18 |
}
|
19 |
-
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
if ($countdellogs>0)
|
22 |
backwpup_joblog($logtime,$countdellogs.' '.__('old logs deleted!!!','backwpup'));
|
23 |
}
|
1 |
<?PHP
|
2 |
+
//Delete old Backupfiles
|
3 |
+
if (!empty($jobs[$jobid]['maxbackups']) and !empty($jobs[$jobid]['backupdir']) and is_dir($jobs[$jobid]['backupdir'])) {
|
4 |
+
unset($backupfilelist);
|
5 |
+
if ( $dir = @opendir($jobs[$jobid]['backupdir']) ) { //make file list
|
6 |
+
while (($file = readdir($dir)) !== false ) {
|
7 |
+
if ('backwpup_'.$jobid.'_' == substr($file,0,strlen('backwpup_'.$jobid.'_')) and ".zip" == substr($file,-4))
|
8 |
+
$backupfilelist[]=$file;
|
9 |
+
}
|
10 |
+
@closedir( $dir );
|
11 |
+
}
|
12 |
+
if (sizeof($backupfilelist)>0) {
|
13 |
+
rsort($backupfilelist);
|
14 |
+
$numdeltefiles=0;
|
15 |
+
for ($i=$jobs[$jobid]['maxbackups'];$i<sizeof($backupfilelist);$i++) {
|
16 |
+
unlink(trailingslashit($jobs[$jobid]['backupdir']).$backupfilelist[$i]);
|
17 |
+
$numdeltefiles++;
|
18 |
}
|
19 |
+
if ($numdeltefiles>0)
|
20 |
+
backwpup_joblog($logtime,$numdeltefiles.' '.__('old backup files deleted!!!','backwpup'));
|
21 |
}
|
22 |
+
}
|
23 |
+
//Delete old Logs
|
24 |
+
if (!empty($cfg['maxlogs'])) {
|
25 |
+
$countdellogs=0;
|
26 |
+
$result=mysql_query("SELECT * FROM ".$wpdb->backwpup_logs." ORDER BY logtime DESC LIMIT ".$cfg['maxlogs'].",18446744073709551615");
|
27 |
+
while ($logs = mysql_fetch_assoc($result)) {
|
28 |
+
$wpdb->query("DELETE FROM ".$wpdb->backwpup_logs." WHERE logtime=".$logs['logtime']);
|
29 |
+
$countdellogs++;
|
30 |
+
}
|
31 |
if ($countdellogs>0)
|
32 |
backwpup_joblog($logtime,$countdellogs.' '.__('old logs deleted!!!','backwpup'));
|
33 |
}
|
app/dojob/bevore.php
CHANGED
@@ -23,15 +23,10 @@ if ($jobs[$jobid]['type']=='FILE' or $jobs[$jobid]['type']=='DB+FILE' or $jobs[$
|
|
23 |
} else {
|
24 |
$backupfile='';
|
25 |
}
|
26 |
-
$logonlytyps=array('OPTIMIZE','CHECK');
|
27 |
-
if (in_array($jobs[$jobid]['type'],$logonlytyps)) {
|
28 |
-
$jobs[$jobid]['maxbackups']=20;
|
29 |
-
}
|
30 |
|
31 |
//Create Log
|
32 |
$wpdb->insert( $wpdb->backwpup_logs, array( 'logtime' => $logtime, 'jobid' => $jobid, 'jobname' => $jobs[$jobid]['name'], 'type' => $jobs[$jobid]['type'], 'log' => '' ));
|
33 |
|
34 |
-
|
35 |
if (!ini_get('safe_mode') or strtolower(ini_get('safe_mode'))=='off' or ini_get('safe_mode')=='0') {
|
36 |
if (empty($cfg['maxexecutiontime']))
|
37 |
$cfg['maxexecutiontime']=300;
|
@@ -104,6 +99,4 @@ if (!empty($backupfile)) {
|
|
104 |
}
|
105 |
backwpup_joblog($logtime,__('Backup zip file save to:','backwpup').' '.$backupfile);
|
106 |
}
|
107 |
-
|
108 |
-
|
109 |
?>
|
23 |
} else {
|
24 |
$backupfile='';
|
25 |
}
|
|
|
|
|
|
|
|
|
26 |
|
27 |
//Create Log
|
28 |
$wpdb->insert( $wpdb->backwpup_logs, array( 'logtime' => $logtime, 'jobid' => $jobid, 'jobname' => $jobs[$jobid]['name'], 'type' => $jobs[$jobid]['type'], 'log' => '' ));
|
29 |
|
|
|
30 |
if (!ini_get('safe_mode') or strtolower(ini_get('safe_mode'))=='off' or ini_get('safe_mode')=='0') {
|
31 |
if (empty($cfg['maxexecutiontime']))
|
32 |
$cfg['maxexecutiontime']=300;
|
99 |
}
|
100 |
backwpup_joblog($logtime,__('Backup zip file save to:','backwpup').' '.$backupfile);
|
101 |
}
|
|
|
|
|
102 |
?>
|
app/dojob/destination-ftp.php
CHANGED
@@ -72,11 +72,12 @@ if (!empty($jobs[$jobid]['ftphost']) and !empty($jobs[$jobid]['ftpuser']) and !e
|
|
72 |
backwpup_joblog($logtime,__('Backup File transfered to FTP Server:','backwpup').' '.trailingslashit($jobs[$jobid]['ftpdir']).basename($backupfile));
|
73 |
else
|
74 |
backwpup_joblog($logtime,__('ERROR:','backwpup').' '.__('Can not tranfer backup to FTP server.','backwpup'));
|
75 |
-
|
|
|
76 |
if ($jobs[$jobid]['ftpmaxbackups']>0) { //Delete old backups
|
77 |
if ($filelist=ftp_nlist($ftp_conn_id, trailingslashit($jobs[$jobid]['ftpdir']))) {
|
78 |
foreach($filelist as $files) {
|
79 |
-
if (
|
80 |
$backupfilelist[]=basename($files);
|
81 |
}
|
82 |
if (sizeof($backupfilelist)>0) {
|
72 |
backwpup_joblog($logtime,__('Backup File transfered to FTP Server:','backwpup').' '.trailingslashit($jobs[$jobid]['ftpdir']).basename($backupfile));
|
73 |
else
|
74 |
backwpup_joblog($logtime,__('ERROR:','backwpup').' '.__('Can not tranfer backup to FTP server.','backwpup'));
|
75 |
+
|
76 |
+
unset($backupfilelist);
|
77 |
if ($jobs[$jobid]['ftpmaxbackups']>0) { //Delete old backups
|
78 |
if ($filelist=ftp_nlist($ftp_conn_id, trailingslashit($jobs[$jobid]['ftpdir']))) {
|
79 |
foreach($filelist as $files) {
|
80 |
+
if ('backwpup_'.$jobid.'_' == substr(basename($files),0,strlen('backwpup_'.$jobid.'_')) and ".zip" == substr(basename($files),-4))
|
81 |
$backupfilelist[]=basename($files);
|
82 |
}
|
83 |
if (sizeof($backupfilelist)>0) {
|
app/functions.php
CHANGED
@@ -25,9 +25,11 @@
|
|
25 |
|
26 |
//Options Page
|
27 |
function backwpup_options_page() {
|
28 |
-
global $wpdb;
|
29 |
if (!current_user_can(10))
|
30 |
wp_die('No rights');
|
|
|
|
|
31 |
switch($_REQUEST['action']) {
|
32 |
case 'edit':
|
33 |
$jobs=get_option('backwpup_jobs');
|
@@ -65,7 +67,7 @@
|
|
65 |
|
66 |
//Options Page
|
67 |
function backwpup_options_load() {
|
68 |
-
global $wpdb;
|
69 |
if (!current_user_can(10))
|
70 |
wp_die('No rights');
|
71 |
//Css for Admin Section
|
@@ -299,12 +301,12 @@
|
|
299 |
//Dashboard widget
|
300 |
function backwpup_dashboard_output() {
|
301 |
global $wpdb;
|
302 |
-
echo '<strong>'.__('Logs:','backwpup').'</strong><
|
303 |
$logs=$wpdb->get_results("SELECT * FROM ".$wpdb->backwpup_logs." ORDER BY logtime DESC LIMIT 5", ARRAY_A);
|
304 |
$wpdb->flush();
|
305 |
if (is_array($logs)) {
|
306 |
foreach ($logs as $logvalue) {
|
307 |
-
echo '<
|
308 |
if (empty($logvalue['jobname']))
|
309 |
backwpup_backup_types($logvalue['type'],true);
|
310 |
else
|
@@ -312,37 +314,35 @@
|
|
312 |
echo '</i>';
|
313 |
if($logvalue['error']>0 or $logvalue['warning']>0) {
|
314 |
if ($logvalue['error']>0)
|
315 |
-
echo ' <
|
316 |
if ($logvalue['warning']>0)
|
317 |
-
echo ' <
|
318 |
} else {
|
319 |
-
echo ' <
|
320 |
}
|
321 |
-
echo '</a
|
322 |
}
|
323 |
} else {
|
324 |
-
echo '<
|
325 |
}
|
326 |
-
echo "</ul>";
|
327 |
$jobs=get_option('backwpup_jobs');
|
328 |
-
echo '<strong>'.__('Scheduled Jobs:','backwpup').'</strong><
|
329 |
if (is_array($jobs)) {
|
330 |
foreach ($jobs as $jobid => $jobvalue) {
|
331 |
if (wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
332 |
-
echo '<
|
333 |
if ($jobvalue['starttime']>0 and empty($jobvalue['stoptime'])) {
|
334 |
$runtime=time()-$jobvalue['starttime'];
|
335 |
echo __('Running since:','backwpup').' '.$runtime.' '.__('sec.','backwpup');
|
336 |
} elseif ($time=wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
337 |
echo date(get_option('date_format'),$time).' '.date(get_option('time_format'),$time);
|
338 |
}
|
339 |
-
echo '
|
340 |
}
|
341 |
}
|
342 |
} else {
|
343 |
-
echo '<
|
344 |
}
|
345 |
-
echo "</ul>";
|
346 |
}
|
347 |
|
348 |
//add dashboard widget
|
25 |
|
26 |
//Options Page
|
27 |
function backwpup_options_page() {
|
28 |
+
global $wpdb,$backwpup_message;
|
29 |
if (!current_user_can(10))
|
30 |
wp_die('No rights');
|
31 |
+
if(!empty($backwpup_message))
|
32 |
+
echo '<div id="message" class="updated fade"><p><strong>'.$backwpup_message.'</strong></p></div>';
|
33 |
switch($_REQUEST['action']) {
|
34 |
case 'edit':
|
35 |
$jobs=get_option('backwpup_jobs');
|
67 |
|
68 |
//Options Page
|
69 |
function backwpup_options_load() {
|
70 |
+
global $wpdb,$backwpup_message;
|
71 |
if (!current_user_can(10))
|
72 |
wp_die('No rights');
|
73 |
//Css for Admin Section
|
301 |
//Dashboard widget
|
302 |
function backwpup_dashboard_output() {
|
303 |
global $wpdb;
|
304 |
+
echo '<strong>'.__('Logs:','backwpup').'</strong><br />';
|
305 |
$logs=$wpdb->get_results("SELECT * FROM ".$wpdb->backwpup_logs." ORDER BY logtime DESC LIMIT 5", ARRAY_A);
|
306 |
$wpdb->flush();
|
307 |
if (is_array($logs)) {
|
308 |
foreach ($logs as $logvalue) {
|
309 |
+
echo '<a href="'.wp_nonce_url('admin.php?page=BackWPup&action=view_log&logtime='.$logvalue['logtime'], 'view-log').'" title="'.__('View Log','backwpup').'">'.date(get_option('date_format'),$logvalue['logtime']).' '.date(get_option('time_format'),$logvalue['logtime']).': <i>';
|
310 |
if (empty($logvalue['jobname']))
|
311 |
backwpup_backup_types($logvalue['type'],true);
|
312 |
else
|
314 |
echo '</i>';
|
315 |
if($logvalue['error']>0 or $logvalue['warning']>0) {
|
316 |
if ($logvalue['error']>0)
|
317 |
+
echo ' <span style="color:red;">'.$logvalue['error'].' '.__('ERROR(S)','backwpup').'</span>';
|
318 |
if ($logvalue['warning']>0)
|
319 |
+
echo ' <span style="color:yellow;">'.$logvalue['warning'].' '.__('WARNING(S)','backwpup').'</span>';
|
320 |
} else {
|
321 |
+
echo ' <span style="color:green;">'.__('OK','backwpup').'</span>';
|
322 |
}
|
323 |
+
echo '</a><br />';
|
324 |
}
|
325 |
} else {
|
326 |
+
echo '<i>'.__('none','backwpup').'</i><br />';
|
327 |
}
|
|
|
328 |
$jobs=get_option('backwpup_jobs');
|
329 |
+
echo '<strong>'.__('Scheduled Jobs:','backwpup').'</strong><br />';
|
330 |
if (is_array($jobs)) {
|
331 |
foreach ($jobs as $jobid => $jobvalue) {
|
332 |
if (wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
333 |
+
echo '<a href="'.wp_nonce_url('admin.php?page=BackWPup&action=edit&jobid='.$jobid, 'edit-job').'" title="'.__('Edit Job','backwpup').'">';
|
334 |
if ($jobvalue['starttime']>0 and empty($jobvalue['stoptime'])) {
|
335 |
$runtime=time()-$jobvalue['starttime'];
|
336 |
echo __('Running since:','backwpup').' '.$runtime.' '.__('sec.','backwpup');
|
337 |
} elseif ($time=wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
338 |
echo date(get_option('date_format'),$time).' '.date(get_option('time_format'),$time);
|
339 |
}
|
340 |
+
echo ': <span>'.$jobvalue['name'].'</span></a><br />';
|
341 |
}
|
342 |
}
|
343 |
} else {
|
344 |
+
echo '<i>'.__('none','backwpup').'</i><br />';
|
345 |
}
|
|
|
346 |
}
|
347 |
|
348 |
//add dashboard widget
|
app/options-edit.php
CHANGED
@@ -150,7 +150,7 @@ echo '</select><br />';
|
|
150 |
<td><input name="backupdir" type="text" value="<?PHP echo $jobs[$jobid]['backupdir'];?>" class="regular-text" /><span class="description"><?PHP _e('Full Phath of Directory for Backup fiels','backwpup'); ?></span></td>
|
151 |
</tr>
|
152 |
<tr valign="top">
|
153 |
-
<th scope="row"><label for="maxbackups"><?PHP _e('Max number of Backup Files','backwpup'); ?></label></th>
|
154 |
<td>
|
155 |
<input name="maxbackups" type="text" value="<?PHP echo $jobs[$jobid]['maxbackups'];?>" class="small-text" /><span class="description"><?PHP _e('0=off','backwpup');?> <?PHP _e('Oldest files will deletet first.','backwpup');?></span>
|
156 |
</td>
|
150 |
<td><input name="backupdir" type="text" value="<?PHP echo $jobs[$jobid]['backupdir'];?>" class="regular-text" /><span class="description"><?PHP _e('Full Phath of Directory for Backup fiels','backwpup'); ?></span></td>
|
151 |
</tr>
|
152 |
<tr valign="top">
|
153 |
+
<th scope="row"><label for="maxbackups"><?PHP _e('Max. number of Backup Files','backwpup'); ?></label></th>
|
154 |
<td>
|
155 |
<input name="maxbackups" type="text" value="<?PHP echo $jobs[$jobid]['maxbackups'];?>" class="small-text" /><span class="description"><?PHP _e('0=off','backwpup');?> <?PHP _e('Oldest files will deletet first.','backwpup');?></span>
|
156 |
</td>
|
app/options-logs.php
CHANGED
@@ -100,6 +100,8 @@
|
|
100 |
<?PHP
|
101 |
if (!empty($logvalue['backupfile']) and is_file($logvalue['backupfile'])) {
|
102 |
echo backwpup_formatBytes(filesize($logvalue['backupfile']));
|
|
|
|
|
103 |
} else {
|
104 |
_e('only Log','backwpup');
|
105 |
}
|
100 |
<?PHP
|
101 |
if (!empty($logvalue['backupfile']) and is_file($logvalue['backupfile'])) {
|
102 |
echo backwpup_formatBytes(filesize($logvalue['backupfile']));
|
103 |
+
} elseif (!empty($logvalue['backupfile'])) {
|
104 |
+
_e('File not exists','backwpup');
|
105 |
} else {
|
106 |
_e('only Log','backwpup');
|
107 |
}
|
app/options-save.php
CHANGED
@@ -13,6 +13,7 @@ case 'delete': //Delete Job
|
|
13 |
wp_unschedule_event($time,'backwpup_cron',array('jobid'=>$jobid));
|
14 |
}
|
15 |
}
|
|
|
16 |
} else {
|
17 |
$jobid = (int) $_GET['jobid'];
|
18 |
check_admin_referer('delete-job_' . $jobid);
|
@@ -20,6 +21,7 @@ case 'delete': //Delete Job
|
|
20 |
if ($time=wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
21 |
wp_unschedule_event($time,'backwpup_cron',array('jobid'=>$jobid));
|
22 |
}
|
|
|
23 |
}
|
24 |
update_option('backwpup_jobs',$jobs);
|
25 |
$_REQUEST['action']='';
|
@@ -27,12 +29,15 @@ case 'delete': //Delete Job
|
|
27 |
case 'delete-logs': //Delete Log
|
28 |
if (is_Array($_POST['logs'])) {
|
29 |
check_admin_referer('actions-logs');
|
|
|
30 |
foreach ($_POST['logs'] as $timestamp) {
|
31 |
$backupfile=$wpdb->get_var("SELECT backupfile FROM ".$wpdb->backwpup_logs." WHERE logtime=".$timestamp);
|
32 |
if (is_file($backupfile))
|
33 |
unlink($backupfile);
|
34 |
$wpdb->query("DELETE FROM ".$wpdb->backwpup_logs." WHERE logtime=".$timestamp);
|
|
|
35 |
}
|
|
|
36 |
} else {
|
37 |
$timestamp = (int) $_GET['log'];
|
38 |
check_admin_referer('delete-log_' . $timestamp);
|
@@ -40,6 +45,7 @@ case 'delete-logs': //Delete Log
|
|
40 |
if (is_file($backupfile))
|
41 |
unlink($backupfile);
|
42 |
$wpdb->query("DELETE FROM ".$wpdb->backwpup_logs." WHERE logtime=".$timestamp);
|
|
|
43 |
}
|
44 |
$_REQUEST['action']='logs';
|
45 |
break;
|
@@ -55,7 +61,9 @@ case 'savecfg': //Save config form Setings page
|
|
55 |
$cfg['memorylimit']=$_POST['memorylimit'];
|
56 |
$cfg['maxexecutiontime']=$_POST['maxexecutiontime'];
|
57 |
$cfg['disablewpcron']=$_POST['disablewpcron']==1 ? true : false;
|
58 |
-
|
|
|
|
|
59 |
$_REQUEST['action']='settings';
|
60 |
break;
|
61 |
case 'copy': //Copy Job
|
@@ -71,12 +79,13 @@ case 'copy': //Copy Job
|
|
71 |
$jobs[$newjobid]['name']=__('Copy of','backwpup').' '.$jobs[$newjobid]['name'];
|
72 |
$jobs[$newjobid]['activated']=false;
|
73 |
update_option('backwpup_jobs',$jobs);
|
|
|
74 |
$_REQUEST['action']='';
|
75 |
break;
|
76 |
case 'download': //Download Backup
|
77 |
$log = (int) $_GET['log'];
|
78 |
check_admin_referer('download-backup_'.$log);
|
79 |
-
$backupfile=$wpdb->get_var("SELECT backupfile FROM ".$wpdb->backwpup_logs." WHERE logtime=".$
|
80 |
if (is_file($backupfile)) {
|
81 |
header("Pragma: public");
|
82 |
header("Expires: 0");
|
@@ -134,7 +143,9 @@ case 'saveeditjob': //Save Job settings
|
|
134 |
$jobs[$jobid]['ftpdir']=str_replace('\\','/',stripslashes($_POST['ftpdir']));
|
135 |
$jobs[$jobid]['ftpmaxbackups']=abs((int)$_POST['ftpmaxbackups']);
|
136 |
|
137 |
-
update_option('backwpup_jobs',$jobs)
|
|
|
|
|
138 |
if ($time=wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
139 |
wp_unschedule_event($time,'backwpup_cron',array('jobid'=>$jobid));
|
140 |
}
|
13 |
wp_unschedule_event($time,'backwpup_cron',array('jobid'=>$jobid));
|
14 |
}
|
15 |
}
|
16 |
+
$backwpup_message=str_replace('%1',implode(", ",$_POST['jobs']),__('Jobs %1 deleted', 'backwpup'));
|
17 |
} else {
|
18 |
$jobid = (int) $_GET['jobid'];
|
19 |
check_admin_referer('delete-job_' . $jobid);
|
21 |
if ($time=wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
22 |
wp_unschedule_event($time,'backwpup_cron',array('jobid'=>$jobid));
|
23 |
}
|
24 |
+
$backwpup_message=str_replace('%1',$jobid,__('Job %1 deleted', 'backwpup'));
|
25 |
}
|
26 |
update_option('backwpup_jobs',$jobs);
|
27 |
$_REQUEST['action']='';
|
29 |
case 'delete-logs': //Delete Log
|
30 |
if (is_Array($_POST['logs'])) {
|
31 |
check_admin_referer('actions-logs');
|
32 |
+
$num=0;
|
33 |
foreach ($_POST['logs'] as $timestamp) {
|
34 |
$backupfile=$wpdb->get_var("SELECT backupfile FROM ".$wpdb->backwpup_logs." WHERE logtime=".$timestamp);
|
35 |
if (is_file($backupfile))
|
36 |
unlink($backupfile);
|
37 |
$wpdb->query("DELETE FROM ".$wpdb->backwpup_logs." WHERE logtime=".$timestamp);
|
38 |
+
$num++;
|
39 |
}
|
40 |
+
$backwpup_message=$num.' '.__('Logs deleted', 'backwpup');
|
41 |
} else {
|
42 |
$timestamp = (int) $_GET['log'];
|
43 |
check_admin_referer('delete-log_' . $timestamp);
|
45 |
if (is_file($backupfile))
|
46 |
unlink($backupfile);
|
47 |
$wpdb->query("DELETE FROM ".$wpdb->backwpup_logs." WHERE logtime=".$timestamp);
|
48 |
+
$backwpup_message=__('Log deleted', 'backwpup');
|
49 |
}
|
50 |
$_REQUEST['action']='logs';
|
51 |
break;
|
61 |
$cfg['memorylimit']=$_POST['memorylimit'];
|
62 |
$cfg['maxexecutiontime']=$_POST['maxexecutiontime'];
|
63 |
$cfg['disablewpcron']=$_POST['disablewpcron']==1 ? true : false;
|
64 |
+
$cfg['maxlogs']=abs((int)$_POST['maxlogs']);
|
65 |
+
if (update_option('backwpup',$cfg))
|
66 |
+
$backwpup_message=__('Settings saved', 'backwpup');
|
67 |
$_REQUEST['action']='settings';
|
68 |
break;
|
69 |
case 'copy': //Copy Job
|
79 |
$jobs[$newjobid]['name']=__('Copy of','backwpup').' '.$jobs[$newjobid]['name'];
|
80 |
$jobs[$newjobid]['activated']=false;
|
81 |
update_option('backwpup_jobs',$jobs);
|
82 |
+
$backwpup_message=__('Job copyed', 'backwpup');
|
83 |
$_REQUEST['action']='';
|
84 |
break;
|
85 |
case 'download': //Download Backup
|
86 |
$log = (int) $_GET['log'];
|
87 |
check_admin_referer('download-backup_'.$log);
|
88 |
+
$backupfile=$wpdb->get_var("SELECT backupfile FROM ".$wpdb->backwpup_logs." WHERE logtime=".$log);
|
89 |
if (is_file($backupfile)) {
|
90 |
header("Pragma: public");
|
91 |
header("Expires: 0");
|
143 |
$jobs[$jobid]['ftpdir']=str_replace('\\','/',stripslashes($_POST['ftpdir']));
|
144 |
$jobs[$jobid]['ftpmaxbackups']=abs((int)$_POST['ftpmaxbackups']);
|
145 |
|
146 |
+
if (update_option('backwpup_jobs',$jobs))
|
147 |
+
$backwpup_message=str_replace('%1',$jobid,__('Job %1 settings saved', 'backwpup'));
|
148 |
+
|
149 |
if ($time=wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
|
150 |
wp_unschedule_event($time,'backwpup_cron',array('jobid'=>$jobid));
|
151 |
}
|
app/options-settings.php
CHANGED
@@ -80,6 +80,13 @@ if (!empty($cfg['mailsendmail']))
|
|
80 |
</td>
|
81 |
</tr>
|
82 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
83 |
<tr valign="top">
|
84 |
<th scope="row"><label for="jobname"><?PHP _e('Disable WP-Cron:','backwpup'); ?></label></th>
|
85 |
<td>
|
80 |
</td>
|
81 |
</tr>
|
82 |
|
83 |
+
<tr valign="top">
|
84 |
+
<th scope="row"><label for="maxlogs"><?PHP _e('Max. number of Logs','backwpup'); ?></label></th>
|
85 |
+
<td>
|
86 |
+
<input name="maxlogs" type="text" value="<?PHP echo $cfg['maxlogs'];?>" class="small-text" /><span class="description"><?PHP _e('0=off','backwpup');?> <?PHP _e('Oldest log will deletet first.','backwpup');?></span>
|
87 |
+
</td>
|
88 |
+
</tr>
|
89 |
+
|
90 |
<tr valign="top">
|
91 |
<th scope="row"><label for="jobname"><?PHP _e('Disable WP-Cron:','backwpup'); ?></label></th>
|
92 |
<td>
|
backwpup.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: BackWPup
|
|
4 |
Plugin URI: http://danielhuesken.de/portfolio/backwpup/
|
5 |
Description: Backup and more of your WordPress Blog Database and Files.
|
6 |
Author: Daniel Hüsken
|
7 |
-
Version: 0.6.
|
8 |
Author URI: http://danielhuesken.de
|
9 |
Text Domain: backwpup
|
10 |
Domain Path: /lang/
|
@@ -31,7 +31,7 @@ Domain Path: /lang/
|
|
31 |
//Set plugin dirname
|
32 |
define('BACKWPUP_PLUGIN_DIR', dirname(plugin_basename(__FILE__)));
|
33 |
//Set Plugin Version
|
34 |
-
define('BACKWPUP_VERSION', '0.6.
|
35 |
//BackWPup Log Table Name
|
36 |
global $wpdb;
|
37 |
$wpdb->backwpup_logs = $wpdb->prefix.'backwpup_logs';
|
4 |
Plugin URI: http://danielhuesken.de/portfolio/backwpup/
|
5 |
Description: Backup and more of your WordPress Blog Database and Files.
|
6 |
Author: Daniel Hüsken
|
7 |
+
Version: 0.6.4
|
8 |
Author URI: http://danielhuesken.de
|
9 |
Text Domain: backwpup
|
10 |
Domain Path: /lang/
|
31 |
//Set plugin dirname
|
32 |
define('BACKWPUP_PLUGIN_DIR', dirname(plugin_basename(__FILE__)));
|
33 |
//Set Plugin Version
|
34 |
+
define('BACKWPUP_VERSION', '0.6.4');
|
35 |
//BackWPup Log Table Name
|
36 |
global $wpdb;
|
37 |
$wpdb->backwpup_logs = $wpdb->prefix.'backwpup_logs';
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=danie
|
|
4 |
Tags: backup, admin, file, Database, mysql, cron
|
5 |
Requires at least: 2.8
|
6 |
Tested up to: 2.8.2
|
7 |
-
Stable tag: 0.6.
|
8 |
|
9 |
Backup and more of your WordPress Blog Database and Files
|
10 |
|
@@ -48,6 +48,13 @@ You must import the Database Dump with Charaktercoding:latin1
|
|
48 |
1. Job Page
|
49 |
|
50 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
= 0.6.3 =
|
52 |
* use ftp_row for login and other commands
|
53 |
* Add option to send only email on erros
|
@@ -80,4 +87,4 @@ You must import the Database Dump with Charaktercoding:latin1
|
|
80 |
* removed log files. Log now stred in Database
|
81 |
|
82 |
= 0.5.0 =
|
83 |
-
* Inital
|
4 |
Tags: backup, admin, file, Database, mysql, cron
|
5 |
Requires at least: 2.8
|
6 |
Tested up to: 2.8.2
|
7 |
+
Stable tag: 0.6.4
|
8 |
|
9 |
Backup and more of your WordPress Blog Database and Files
|
10 |
|
48 |
1. Job Page
|
49 |
|
50 |
== Changelog ==
|
51 |
+
= 0.6.4 =
|
52 |
+
* New option to delete old logs
|
53 |
+
* Backup fiele deletion separeted form logs deletion
|
54 |
+
* make dashboard wiget smaller
|
55 |
+
* added masseges
|
56 |
+
* bug fixes
|
57 |
+
|
58 |
= 0.6.3 =
|
59 |
* use ftp_row for login and other commands
|
60 |
* Add option to send only email on erros
|
87 |
* removed log files. Log now stred in Database
|
88 |
|
89 |
= 0.5.0 =
|
90 |
+
* Inital release
|