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 | |
| 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
|
