BackWPup – WordPress Backup Plugin - Version 0.6.4

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 Icon 128x128 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 CHANGED
@@ -1,23 +1,33 @@
1
  <?PHP
2
- //Delete old Logs/Backupfiles
3
- if (!empty($jobs[$jobid]['maxbackups'])) {
4
- backwpup_joblog($logtime,__('Delete old backup files...','backwpup'));
5
- $counter=0;$countdelbackups=0;$countdellogs=0;
6
- $result=mysql_query("SELECT * FROM ".$wpdb->backwpup_logs." ORDER BY logtime DESC");
7
- while ($logs = mysql_fetch_assoc($result)) {
8
- if (!empty($logs['backupfile']) or in_array($jobs[$jobid]['type'],$logonlytyps))
9
- $counter++;
10
- if ($counter>=$jobs[$jobid]['maxbackups']) {
11
- if (is_file($logs['backupfile'])) {
12
- unlink($logs['backupfile']);
13
- $countdelbackups++;
14
- }
15
- $wpdb->query("DELETE FROM ".$wpdb->backwpup_logs." WHERE logtime=".$logs['logtime']);
16
- $countdellogs++;
 
17
  }
 
 
18
  }
19
- if ($countdelbackups>0)
20
- backwpup_joblog($logtime,$countdelbackups.' '.__('old backup files deleted!!!','backwpup'));
 
 
 
 
 
 
 
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 (!in_array(basename($files),array('.','..')) and false !== strpos(basename($files),'backwpup_'.$jobid.'_'))
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><ul>';
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 '<li><a href="'.wp_nonce_url('admin.php?page=BackWPup&action=view_log&logtime='.$logvalue['logtime'], 'view-log').'" title="'.__('View Log','backwpup').'"><strong>'.date(get_option('date_format'),$logvalue['logtime']).' '.date(get_option('time_format'),$logvalue['logtime']).'</strong>: <i>';
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 ' <strong><span style="color:red;">'.$logvalue['error'].' '.__('ERROR(S)','backwpup').'</span></strong>';
316
  if ($logvalue['warning']>0)
317
- echo ' <strong><span style="color:yellow;">'.$logvalue['warning'].' '.__('WARNING(S)','backwpup').'</span></strong>';
318
  } else {
319
- echo ' <strong><span style="color:green;">'.__('OK','backwpup').'</span></strong>';
320
  }
321
- echo '</a></li>';
322
  }
323
  } else {
324
- echo '<li><i>'.__('none','backwpup').'</i></li>';
325
  }
326
- echo "</ul>";
327
  $jobs=get_option('backwpup_jobs');
328
- echo '<strong>'.__('Scheduled Jobs:','backwpup').'</strong><ul>';
329
  if (is_array($jobs)) {
330
  foreach ($jobs as $jobid => $jobvalue) {
331
  if (wp_next_scheduled('backwpup_cron',array('jobid'=>$jobid))) {
332
- echo '<li><a href="'.wp_nonce_url('admin.php?page=BackWPup&action=edit&jobid='.$jobid, 'edit-job').'" title="'.__('Edit Job','backwpup').'"><strong>';
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 '</strong>: <span>'.$jobvalue['name'].'</span></a></li>';
340
  }
341
  }
342
  } else {
343
- echo '<li><i>'.__('none','backwpup').'</i></li>';
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
- update_option('backwpup',$cfg); //Save Settings
 
 
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=".$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); //Save Settings
 
 
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&uuml;sken
7
- Version: 0.6.3
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.3');
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&uuml;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.3
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 rekease
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