BackUpWordPress - Version 1.6.7

Version Description

Download this release

Release Info

Developer willmot
Plugin Icon 128x128 BackUpWordPress
Version 1.6.7
Comparing to
See all releases

Code changes from version 1.6.6 to 1.6.7

admin.actions.php CHANGED
@@ -71,14 +71,19 @@ function hmbkp_option_save() {
71
 
72
  }
73
 
74
- if ( isset( $_POST['hmbkp_email_address'] ) && ! is_email( $_POST['hmbkp_email_address'] ) && !empty( $_POST['hmbkp_email_address'] ) ) {
75
- $hmbkp_errors->add( 'invalid_email', __( 'You have entered an invalid email address.', 'hmbkp' ) );
76
 
77
- } elseif( isset( $_POST['hmbkp_email_address'] ) && !empty( $_POST['hmbkp_email_address'] ) ) {
78
- update_option( 'hmbkp_email_address', $_POST['hmbkp_email_address'] );
 
 
 
 
 
 
 
 
 
79
 
80
- } else {
81
- delete_option( 'hmbkp_email_address' );
82
  }
83
 
84
  if ( isset( $_POST['hmbkp_excludes'] ) && ! empty( $_POST['hmbkp_excludes'] ) ) {
@@ -157,7 +162,7 @@ function hmbkp_request_download_backup() {
157
 
158
  if ( empty( $_GET['hmbkp_download'] ) )
159
  return;
160
-
161
  // Force the .htaccess to be rebuilt
162
  if ( file_exists( hmbkp_path() . '/.htaccess' ) )
163
  unlink( hmbkp_path() . '/.htaccess' );
71
 
72
  }
73
 
 
 
74
 
75
+ if ( isset( $_POST['hmbkp_email_address'] ) ) {
76
+
77
+ foreach( array_filter( array_map( 'trim', explode( ',', $_POST['hmbkp_email_address'] ) ) ) as $email_address )
78
+ if ( ! is_email( $email_address ) )
79
+ $email_error = $hmbkp_errors->add( 'invalid_email', sprintf( __( '%s is an invalid email address.', 'hmbkp' ), $email_address ) );
80
+
81
+ if ( ! isset( $email_error ) && ! empty( $_POST['hmbkp_email_address'] ) )
82
+ update_option( 'hmbkp_email_address', $_POST['hmbkp_email_address'] );
83
+
84
+ if ( isset( $_POST['hmbkp_email_address'] ) && empty( $_POST['hmbkp_email_address'] ) )
85
+ delete_option( 'hmbkp_email_address' );
86
 
 
 
87
  }
88
 
89
  if ( isset( $_POST['hmbkp_excludes'] ) && ! empty( $_POST['hmbkp_excludes'] ) ) {
162
 
163
  if ( empty( $_GET['hmbkp_download'] ) )
164
  return;
165
+
166
  // Force the .htaccess to be rebuilt
167
  if ( file_exists( hmbkp_path() . '/.htaccess' ) )
168
  unlink( hmbkp_path() . '/.htaccess' );
admin.menus.php CHANGED
@@ -43,13 +43,20 @@ add_filter('plugin_action_links', 'hmbkp_plugin_action_link', 10, 2 );
43
  *
44
  * Help is pulled from the readme FAQ.
45
  *
46
- * @todo get plugin info from local readme and use plugin_updates cache to check if we are running the latest version so we don't have to do a wp_remote_get on every page load.
47
  * @return null
48
  */
49
  function hmbkp_contextual_help() {
50
 
51
  require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
52
- $plugin = plugins_api( 'plugin_information', array( 'slug' => 'backupwordpress' ) );
 
 
 
 
 
 
 
 
53
 
54
  $warning = '';
55
 
43
  *
44
  * Help is pulled from the readme FAQ.
45
  *
 
46
  * @return null
47
  */
48
  function hmbkp_contextual_help() {
49
 
50
  require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
51
+
52
+ if ( ! $plugin = get_transient( 'hmbkp_plugin_data' ) ) {
53
+
54
+ $plugin = plugins_api( 'plugin_information', array( 'slug' => 'backupwordpress' ) );
55
+
56
+ // Cache for one day
57
+ set_transient( 'hmbkp_plugin_data', $plugin, 86400 );
58
+
59
+ }
60
 
61
  $warning = '';
62
 
admin.settings.php CHANGED
@@ -5,94 +5,94 @@
5
  <p><?php printf( __( 'You can define %s in your %s to control some settings. A full list of %s can be found in the <a href="#contextual-help-wrap" class="hmbkp-show-help-tab">help</a> panel. Defined settings will not be editable below.', 'hmbkp' ), '<code>Constants</code>', '<code>wp-config.php</code>', '<code>Constants</code>' ); ?></p>
6
 
7
  <form method="post">
8
-
9
  <?php wp_nonce_field( 'hmbkp_settings', 'hmbkp_settings_nonce' ); ?>
10
-
11
  <table class="form-table">
12
  <tbody>
13
 
14
  <tr align="top">
15
-
16
  <th scope="row"><?php _e( 'Automatic Backups', 'hmbkp' ); ?></th>
17
-
18
  <td>
19
-
20
- <label for="hmbkp_automatic_on">
21
  <input name="hmbkp_automatic" type="radio" id="hmbkp_automatic_on" value="1" <?php checked( ! hmbkp_get_disable_automatic_backup() ); ?> <?php disabled( defined( 'HMBKP_DISABLE_AUTOMATIC_BACKUP' ) ); ?>>
22
  <?php _e( 'Backup my site automatically.', 'hmbkp' ); ?>
23
  </label><br/>
24
-
25
  <label for="hmbkp_automatic_off">
26
  <input name="hmbkp_automatic" type="radio" id="hmbkp_automatic_off" value="0" <?php checked( hmbkp_get_disable_automatic_backup() ); ?> <?php disabled( defined( 'HMBKP_DISABLE_AUTOMATIC_BACKUP' ) ); ?>>
27
  <?php _e( 'No automatic backups.', 'hmbkp' ); ?>
28
  </label>
29
-
30
  </td>
31
-
32
  </tr>
33
-
34
  <tr align="top">
35
-
36
  <th scope="row"><label for="hmbkp_frequency"><?php _e( 'Frequency of backups', 'hmbkp' ); ?></label></th>
37
-
38
  <td>
39
-
40
  <?php _e( 'Automatic backups will occur', 'hmbkp' ); ?>
41
-
42
  <select name="hmbkp_frequency" id="hmbkp_frequency">
43
  <option value="daily" <?php selected( ! get_option( 'hmbkp_schedule_frequency' ) ); ?>><?php _e( 'Daily', 'hmbkp' ); ?></option>
44
  <option value="hmbkp_weekly" <?php selected( get_option( 'hmbkp_schedule_frequency' ), 'hmbkp_weekly' ); ?>><?php _e( 'Weekly', 'hmbkp' ); ?></option>
45
  <option value="hmbkp_fortnightly" <?php selected( get_option( 'hmbkp_schedule_frequency' ), 'hmbkp_fortnightly' ); ?>><?php _e( 'Fortnightly', 'hmbkp' ); ?></option>
46
  <option value="hmbkp_monthly" <?php selected( get_option( 'hmbkp_schedule_frequency' ), 'hmbkp_monthly' ); ?>><?php _e( 'Monthly', 'hmbkp' ); ?></option>
47
  </select>
48
-
49
  </td>
50
 
51
  </tr>
52
 
53
  <tr align="top">
54
-
55
  <th scope="row"><label for="hmbkp_what_to_backup"><?php _e( 'What to Backup', 'hmbkp' ); ?></label></th>
56
-
57
  <td>
58
-
59
  <?php _e( 'Backup my', 'hmbkp' ); ?>
60
-
61
  <select name="hmbkp_what_to_backup" id="hmbkp_what_to_backup" <?php disabled( defined( 'HMBKP_FILES_ONLY' ) || defined( 'HMBKP_DATABASE_ONLY' ) ); ?>>
62
  <option value="default" <?php selected( ! get_option( 'hmbkp_files_only' ) && !get_option( 'hmbkp_database_only' ) ); ?>><?php _e( 'database &amp; files', 'hmbkp' ); ?></option>
63
  <option <?php selected( hmbkp_get_database_only() ); ?>><?php _e( 'database only', 'hmbkp' ); ?></option>
64
  <option <?php selected( hmbkp_get_files_only() ); ?>><?php _e( 'files only', 'hmbkp' ); ?></option>
65
  </select>
66
-
67
  </td>
68
-
69
  </tr>
70
-
71
  <tr align="top">
72
  <th scope="row"><label for="hmbkp_backup_number"><?php _e( 'Number of backups', 'hmbkp' ); ?></label></th>
73
  <td><label for="hmbkp_backup_number"><?php printf( __( 'The last %s backups will be stored on the server.', 'hmbkp' ), '<input type="text" class="small-text ' . ( defined( 'HMBKP_MAX_BACKUPS' ) ? 'disabled' : '' ) . '" value="' . hmbkp_max_backups() . '" id="hmbkp_backup_number" name="hmbkp_backup_number"' . disabled( defined( 'HMBKP_MAX_BACKUPS' ), true, false ) . '>' ); ?></label></td>
74
  </tr>
75
-
76
  <tr valign="top">
77
  <th scope="row"><label for="hmbkp_email_address"><?php _e( 'Email backups', 'hmbkp' ); ?></label></th>
78
- <td><input name="hmbkp_email_address" type="text" id="hmbkp_email_address" value="<?php echo hmbkp_get_email_address(); ?>" class="regular-text <?php if ( defined( 'HMBKP_EMAIL' ) ) echo 'disabled'; ?>" <?php disabled( defined( 'HMBKP_EMAIL' ) ); ?>> <span class="description"><?php _e( 'A copy of the backup file will be emailed to this address. Disabled if left blank.', 'hmbkp' ); ?></span></td>
79
  </tr>
80
-
81
  <tr align="top">
82
  <th scope="row"><label for="hmbkp_excludes"><?php _e( 'Excludes', 'hmbkp' ); ?></th>
83
  <td>
84
- <textarea class="code large-text<?php if ( defined( 'HMBKP_EXCLUDE' ) || hmbkp_get_database_only() ) echo ' disabled' ?>" name="hmbkp_excludes" id="hmbkp_excludes" <?php disabled( defined( 'HMBKP_EXCLUDE' ) || hmbkp_get_database_only() ); ?>><?php echo hmbkp_get_excludes(); ?></textarea>
85
  <span class="description"><?php _e( 'A comma separated list of file and directory paths that you do <strong>not</strong> want to backup.', 'hmbkp' ); ?></span><br/>
86
  <?php _e( 'e.g.', 'hmbkp' ); ?> <code>file.php, /directory/, /directory/file.jpg</code>
87
  </td>
88
  </tr>
89
 
90
  </tbody>
91
-
92
  </table>
93
 
94
  <p class="submit"><input type="submit" name="hmbkp_settings_submit" id="submit" class="button-primary" value="Save Changes"></p>
95
 
96
  </form>
97
-
98
  </div>
5
  <p><?php printf( __( 'You can define %s in your %s to control some settings. A full list of %s can be found in the <a href="#contextual-help-wrap" class="hmbkp-show-help-tab">help</a> panel. Defined settings will not be editable below.', 'hmbkp' ), '<code>Constants</code>', '<code>wp-config.php</code>', '<code>Constants</code>' ); ?></p>
6
 
7
  <form method="post">
8
+
9
  <?php wp_nonce_field( 'hmbkp_settings', 'hmbkp_settings_nonce' ); ?>
10
+
11
  <table class="form-table">
12
  <tbody>
13
 
14
  <tr align="top">
15
+
16
  <th scope="row"><?php _e( 'Automatic Backups', 'hmbkp' ); ?></th>
17
+
18
  <td>
19
+
20
+ <label for="hmbkp_automatic_on">
21
  <input name="hmbkp_automatic" type="radio" id="hmbkp_automatic_on" value="1" <?php checked( ! hmbkp_get_disable_automatic_backup() ); ?> <?php disabled( defined( 'HMBKP_DISABLE_AUTOMATIC_BACKUP' ) ); ?>>
22
  <?php _e( 'Backup my site automatically.', 'hmbkp' ); ?>
23
  </label><br/>
24
+
25
  <label for="hmbkp_automatic_off">
26
  <input name="hmbkp_automatic" type="radio" id="hmbkp_automatic_off" value="0" <?php checked( hmbkp_get_disable_automatic_backup() ); ?> <?php disabled( defined( 'HMBKP_DISABLE_AUTOMATIC_BACKUP' ) ); ?>>
27
  <?php _e( 'No automatic backups.', 'hmbkp' ); ?>
28
  </label>
29
+
30
  </td>
31
+
32
  </tr>
33
+
34
  <tr align="top">
35
+
36
  <th scope="row"><label for="hmbkp_frequency"><?php _e( 'Frequency of backups', 'hmbkp' ); ?></label></th>
37
+
38
  <td>
39
+
40
  <?php _e( 'Automatic backups will occur', 'hmbkp' ); ?>
41
+
42
  <select name="hmbkp_frequency" id="hmbkp_frequency">
43
  <option value="daily" <?php selected( ! get_option( 'hmbkp_schedule_frequency' ) ); ?>><?php _e( 'Daily', 'hmbkp' ); ?></option>
44
  <option value="hmbkp_weekly" <?php selected( get_option( 'hmbkp_schedule_frequency' ), 'hmbkp_weekly' ); ?>><?php _e( 'Weekly', 'hmbkp' ); ?></option>
45
  <option value="hmbkp_fortnightly" <?php selected( get_option( 'hmbkp_schedule_frequency' ), 'hmbkp_fortnightly' ); ?>><?php _e( 'Fortnightly', 'hmbkp' ); ?></option>
46
  <option value="hmbkp_monthly" <?php selected( get_option( 'hmbkp_schedule_frequency' ), 'hmbkp_monthly' ); ?>><?php _e( 'Monthly', 'hmbkp' ); ?></option>
47
  </select>
48
+
49
  </td>
50
 
51
  </tr>
52
 
53
  <tr align="top">
54
+
55
  <th scope="row"><label for="hmbkp_what_to_backup"><?php _e( 'What to Backup', 'hmbkp' ); ?></label></th>
56
+
57
  <td>
58
+
59
  <?php _e( 'Backup my', 'hmbkp' ); ?>
60
+
61
  <select name="hmbkp_what_to_backup" id="hmbkp_what_to_backup" <?php disabled( defined( 'HMBKP_FILES_ONLY' ) || defined( 'HMBKP_DATABASE_ONLY' ) ); ?>>
62
  <option value="default" <?php selected( ! get_option( 'hmbkp_files_only' ) && !get_option( 'hmbkp_database_only' ) ); ?>><?php _e( 'database &amp; files', 'hmbkp' ); ?></option>
63
  <option <?php selected( hmbkp_get_database_only() ); ?>><?php _e( 'database only', 'hmbkp' ); ?></option>
64
  <option <?php selected( hmbkp_get_files_only() ); ?>><?php _e( 'files only', 'hmbkp' ); ?></option>
65
  </select>
66
+
67
  </td>
68
+
69
  </tr>
70
+
71
  <tr align="top">
72
  <th scope="row"><label for="hmbkp_backup_number"><?php _e( 'Number of backups', 'hmbkp' ); ?></label></th>
73
  <td><label for="hmbkp_backup_number"><?php printf( __( 'The last %s backups will be stored on the server.', 'hmbkp' ), '<input type="text" class="small-text ' . ( defined( 'HMBKP_MAX_BACKUPS' ) ? 'disabled' : '' ) . '" value="' . hmbkp_max_backups() . '" id="hmbkp_backup_number" name="hmbkp_backup_number"' . disabled( defined( 'HMBKP_MAX_BACKUPS' ), true, false ) . '>' ); ?></label></td>
74
  </tr>
75
+
76
  <tr valign="top">
77
  <th scope="row"><label for="hmbkp_email_address"><?php _e( 'Email backups', 'hmbkp' ); ?></label></th>
78
+ <td><input name="hmbkp_email_address" type="text" id="hmbkp_email_address" value="<?php echo ! empty( $_POST['hmbkp_email_address'] ) ? $_POST['hmbkp_email_address'] : hmbkp_get_email_address( 'list' ); ?>" class="regular-text <?php if ( defined( 'HMBKP_EMAIL' ) ) echo 'disabled'; ?>" <?php disabled( defined( 'HMBKP_EMAIL' ) ); ?>> <span class="description"><?php _e( 'A copy of the backup file will be emailed to this address. Disabled if left blank.', 'hmbkp' ); ?></span></td>
79
  </tr>
80
+
81
  <tr align="top">
82
  <th scope="row"><label for="hmbkp_excludes"><?php _e( 'Excludes', 'hmbkp' ); ?></th>
83
  <td>
84
+ <textarea class="code large-text<?php if ( defined( 'HMBKP_EXCLUDE' ) || hmbkp_get_database_only() ) echo ' disabled' ?>" name="hmbkp_excludes" id="hmbkp_excludes" <?php disabled( defined( 'HMBKP_EXCLUDE' ) || hmbkp_get_database_only() ); ?>><?php echo hmbkp_get_excludes(); ?></textarea>
85
  <span class="description"><?php _e( 'A comma separated list of file and directory paths that you do <strong>not</strong> want to backup.', 'hmbkp' ); ?></span><br/>
86
  <?php _e( 'e.g.', 'hmbkp' ); ?> <code>file.php, /directory/, /directory/file.jpg</code>
87
  </td>
88
  </tr>
89
 
90
  </tbody>
91
+
92
  </table>
93
 
94
  <p class="submit"><input type="submit" name="hmbkp_settings_submit" id="submit" class="button-primary" value="Save Changes"></p>
95
 
96
  </form>
97
+
98
  </div>
admin.status.php CHANGED
@@ -10,10 +10,10 @@ if ( ( ! empty( $_POST['hmbkp_settings_submit'] ) ) && ( ! wp_next_scheduled( 'h
10
 
11
  <?php else :
12
 
13
- if ( ! hmbkp_get_database_only() && ! hmbkp_get_files_only() )
14
  $what_to_backup = '<code>' . __( 'database', 'hmbkp' ) . '</code> ' . __( '&amp;', 'hmbkp' ) . ' <code>' . __( 'files', 'hmbkp' ) . '</code>';
15
 
16
- elseif( hmbkp_get_database_only() )
17
  $what_to_backup = '<code>' . __( 'database', 'hmbkp' ) . '</code>';
18
 
19
  else
@@ -31,9 +31,9 @@ if ( ( ! empty( $_POST['hmbkp_settings_submit'] ) ) && ( ! wp_next_scheduled( 'h
31
  <p>&#10003; <span class="hmbkp_estimated-size"><?php printf( __( 'Your site is %s. Backups will be compressed and should be smaller than this.', 'hmbkp' ), get_transient( 'hmbkp_estimated_filesize' ) ? '<code>' . hmbkp_calculate() . '</code>' : '<code class="calculate">' . __( 'Calculating Size...', 'hmbkp' ) . '</code>' ); ?></span></p>
32
 
33
  <?php if ( hmbkp_get_email_address() ) : ?>
34
- <p>&#10003; <?php printf( __( 'A copy of each backup will be emailed to %s.', 'hmbkp' ), '<code>' . hmbkp_get_email_address() . '</code>' ); ?></p>
35
  <?php endif; ?>
36
 
37
- <?php if ( ( $valid_excludes = hmbkp_valid_custom_excludes() ) && !hmbkp_get_database_only() ) : ?>
38
  <p>&#10003; <?php printf( __( 'The following paths will be excluded from your backups %s.', 'hmbkp' ), '<code>' . implode( '</code>, <code>', $valid_excludes ) . '</code>' ); ?></p>
39
  <?php endif; ?>
10
 
11
  <?php else :
12
 
13
+ if ( ! hmbkp_get_database_only() && ! hmbkp_get_files_only() )
14
  $what_to_backup = '<code>' . __( 'database', 'hmbkp' ) . '</code> ' . __( '&amp;', 'hmbkp' ) . ' <code>' . __( 'files', 'hmbkp' ) . '</code>';
15
 
16
+ elseif ( hmbkp_get_database_only() )
17
  $what_to_backup = '<code>' . __( 'database', 'hmbkp' ) . '</code>';
18
 
19
  else
31
  <p>&#10003; <span class="hmbkp_estimated-size"><?php printf( __( 'Your site is %s. Backups will be compressed and should be smaller than this.', 'hmbkp' ), get_transient( 'hmbkp_estimated_filesize' ) ? '<code>' . hmbkp_calculate() . '</code>' : '<code class="calculate">' . __( 'Calculating Size...', 'hmbkp' ) . '</code>' ); ?></span></p>
32
 
33
  <?php if ( hmbkp_get_email_address() ) : ?>
34
+ <p>&#10003; <?php printf( __( 'A copy of each backup will be emailed to %s.', 'hmbkp' ), '<code>' . implode( '</code>, <code>', array_filter( hmbkp_get_email_address(), 'is_email' ) ) . '</code>' ); ?></p>
35
  <?php endif; ?>
36
 
37
+ <?php if ( ( $valid_excludes = hmbkp_valid_custom_excludes() ) && ! hmbkp_get_database_only() ) : ?>
38
  <p>&#10003; <?php printf( __( 'The following paths will be excluded from your backups %s.', 'hmbkp' ), '<code>' . implode( '</code>, <code>', $valid_excludes ) . '</code>' ); ?></p>
39
  <?php endif; ?>
functions/backup.functions.php CHANGED
@@ -95,13 +95,14 @@ function hmbkp_get_backups() {
95
 
96
  endif;
97
 
98
- ksort( $files );
99
 
100
  // Don't include the currently running backup
101
  if ( $key = array_search( trailingslashit( hmbkp_path() ) . hmbkp_in_progress(), $files ) )
102
  unset( $files[$key] );
103
 
104
  return $files;
 
105
  }
106
 
107
  /**
@@ -131,7 +132,7 @@ function hmbkp_email_backup() {
131
 
132
  if ( ! hmbkp_get_email_address() || ! file_exists( $file ) )
133
  return;
134
-
135
  update_option( 'hmbkp_email_error', 'hmbkp_email_failed' );
136
 
137
  // Raise the memory and time limit
@@ -148,7 +149,7 @@ function hmbkp_email_backup() {
148
  $headers = 'From: BackUpWordPress <' . get_bloginfo( 'admin_email' ) . '>' . "\r\n";
149
 
150
  // Try to send the email
151
- $sent = wp_mail( hmbkp_get_email_address(), $subject, $message, $headers, $file );
152
 
153
  // If it failed- Try to send a download link - The file was probably too large.
154
  if ( ! $sent ) :
@@ -156,7 +157,7 @@ function hmbkp_email_backup() {
156
  $subject = sprintf( __( 'Backup of %s', 'hmbkp' ), $domain );
157
  $message = sprintf( __( "BackUpWordPress has completed a backup of your site %s.\n\nUnfortunately the backup file was too large to attach to this email.\n\nYou can download the backup file by clicking the link below:\n\n%s\n\nKind Regards\n\n The Happy BackUpWordPress Backup Emailing Robot", 'hmbkp' ), get_bloginfo( 'url' ), $download );
158
 
159
- $sent = wp_mail( hmbkp_get_email_address(), $subject, $message, $headers );
160
 
161
  endif;
162
 
95
 
96
  endif;
97
 
98
+ krsort( $files );
99
 
100
  // Don't include the currently running backup
101
  if ( $key = array_search( trailingslashit( hmbkp_path() ) . hmbkp_in_progress(), $files ) )
102
  unset( $files[$key] );
103
 
104
  return $files;
105
+
106
  }
107
 
108
  /**
132
 
133
  if ( ! hmbkp_get_email_address() || ! file_exists( $file ) )
134
  return;
135
+
136
  update_option( 'hmbkp_email_error', 'hmbkp_email_failed' );
137
 
138
  // Raise the memory and time limit
149
  $headers = 'From: BackUpWordPress <' . get_bloginfo( 'admin_email' ) . '>' . "\r\n";
150
 
151
  // Try to send the email
152
+ $sent = wp_mail( array_filter( hmbkp_get_email_address(), 'is_email' ), $subject, $message, $headers, $file );
153
 
154
  // If it failed- Try to send a download link - The file was probably too large.
155
  if ( ! $sent ) :
157
  $subject = sprintf( __( 'Backup of %s', 'hmbkp' ), $domain );
158
  $message = sprintf( __( "BackUpWordPress has completed a backup of your site %s.\n\nUnfortunately the backup file was too large to attach to this email.\n\nYou can download the backup file by clicking the link below:\n\n%s\n\nKind Regards\n\n The Happy BackUpWordPress Backup Emailing Robot", 'hmbkp' ), get_bloginfo( 'url' ), $download );
159
 
160
+ $sent = wp_mail( array_filter( hmbkp_get_email_address(), 'is_email' ), $subject, $message, $headers );
161
 
162
  endif;
163
 
functions/core.functions.php CHANGED
@@ -448,7 +448,9 @@ function hmbkp_get_database_only() {
448
  * Returns defined email address or email address saved in options.
449
  * If none set, return empty string.
450
  */
451
- function hmbkp_get_email_address() {
 
 
452
 
453
  if ( defined( 'HMBKP_EMAIL' ) && HMBKP_EMAIL )
454
  $email = HMBKP_EMAIL;
@@ -456,13 +458,10 @@ function hmbkp_get_email_address() {
456
  elseif ( get_option( 'hmbkp_email_address' ) )
457
  $email = get_option( 'hmbkp_email_address' );
458
 
459
- else
460
- return '';
461
-
462
- if ( is_email( $email ) )
463
- return $email;
464
 
465
- return '';
466
 
467
  }
468
 
448
  * Returns defined email address or email address saved in options.
449
  * If none set, return empty string.
450
  */
451
+ function hmbkp_get_email_address( $type = 'array' ) {
452
+
453
+ $email = '';
454
 
455
  if ( defined( 'HMBKP_EMAIL' ) && HMBKP_EMAIL )
456
  $email = HMBKP_EMAIL;
458
  elseif ( get_option( 'hmbkp_email_address' ) )
459
  $email = get_option( 'hmbkp_email_address' );
460
 
461
+ if ( ! empty( $email ) && $type == 'array' )
462
+ $email = array_filter( array_map( 'trim', explode( ',', $email ) ) );
 
 
 
463
 
464
+ return $email;
465
 
466
  }
467
 
functions/interface.functions.php CHANGED
@@ -103,10 +103,10 @@ function hmbkp_admin_notices() {
103
  endif;
104
 
105
  // If the email address is invalid
106
- if ( hmbkp_get_email_address() && ! is_email( hmbkp_get_email_address() ) ) :
107
 
108
  function hmbkp_email_invalid_warning() {
109
- echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'hmbkp' ) . '</strong> ' . sprintf( __( '%s is not a valid email address.', 'hmbkp' ), '<code>' . hmbkp_get_email_address() . '</code>' ) . '</p></div>';
110
  }
111
  add_action( 'admin_notices', 'hmbkp_email_invalid_warning' );
112
 
@@ -116,7 +116,7 @@ function hmbkp_admin_notices() {
116
  if ( hmbkp_get_email_address() && get_option( 'hmbkp_email_error' ) ) :
117
 
118
  function hmbkp_email_failed_warning() {
119
- echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'hmbkp' ) . '</strong> ' . __( 'The last backup email failed to send. It\'s likely that the file is to large.', 'hmbkp' ) . '</p></div>';
120
  }
121
  add_action( 'admin_notices', 'hmbkp_email_failed_warning' );
122
 
103
  endif;
104
 
105
  // If the email address is invalid
106
+ if ( hmbkp_get_email_address() && array_diff( hmbkp_get_email_address(), array_filter( hmbkp_get_email_address(), 'is_email' ) ) ) :
107
 
108
  function hmbkp_email_invalid_warning() {
109
+ echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'hmbkp' ) . '</strong> ' . sprintf( __( 'The following email address\'s are not valid: %s.', 'hmbkp' ), '<code>' . implode( '</code>, <code>', array_diff( hmbkp_get_email_address(), array_filter( hmbkp_get_email_address(), 'is_email' ) ) ) . '</code>' ) . '</p></div>';
110
  }
111
  add_action( 'admin_notices', 'hmbkp_email_invalid_warning' );
112
 
116
  if ( hmbkp_get_email_address() && get_option( 'hmbkp_email_error' ) ) :
117
 
118
  function hmbkp_email_failed_warning() {
119
+ echo '<div id="hmbkp-warning" class="updated fade"><p><strong>' . __( 'BackUpWordPress has detected a problem.', 'hmbkp' ) . '</strong> ' . __( 'The last backup email failed to send. It\'s likely that the file is too large.', 'hmbkp' ) . '</p></div>';
120
  }
121
  add_action( 'admin_notices', 'hmbkp_email_failed_warning' );
122
 
hm-backup/hm-backup.php CHANGED
@@ -3,7 +3,7 @@
3
  /**
4
  * Generic file and database backup class
5
  *
6
- * @version 1.5.1
7
  */
8
  class HM_Backup {
9
 
@@ -856,8 +856,8 @@ class HM_Backup {
856
  if ( in_array( 'shell_exec', array_map( 'trim', explode( ',', ini_get( 'disable_functions' ) ) ) ) )
857
  return false;
858
 
859
- // Can we issue a simple command
860
- if ( ! @shell_exec( 'pwd' ) )
861
  return false;
862
 
863
  return true;
3
  /**
4
  * Generic file and database backup class
5
  *
6
+ * @version 1.5.2
7
  */
8
  class HM_Backup {
9
 
856
  if ( in_array( 'shell_exec', array_map( 'trim', explode( ',', ini_get( 'disable_functions' ) ) ) ) )
857
  return false;
858
 
859
+ // Can we issue a simple echo command?
860
+ if ( ! @shell_exec( 'echo backupwordpress' ) )
861
  return false;
862
 
863
  return true;
languages/hmbkp-es_ES.po CHANGED
@@ -9,8 +9,8 @@ msgstr ""
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2011-07-12 12:08-0000\n"
13
- "Last-Translator: Francesca Bartrum <frankiie@humanmade.co.uk>\n"
14
  "Language-Team: HumanMade <support@humanmade.co.uk>\n"
15
  "X-Poedit-Language: English\n"
16
  "X-Poedit-Country: England\n"
@@ -29,7 +29,7 @@ msgstr "BackUpWordPress ha detectado un problema."
29
 
30
  #: admin.actions.php:101
31
  msgid "%s is returning a %s response which could mean cron jobs aren't getting fired properly. BackUpWordPress relies on wp-cron to run back ups in a separate process."
32
- msgstr "&s esta devolviendo una respuesta &s que podria hacer que un trabajo no sea ejecutado apropiadamente. BackUpWordPress no funciona sin que wp-cron haga copias de seguridad en un processo aparte."
33
 
34
  #: admin.backups-table.php:13
35
  msgid "1 backup completed"
@@ -39,38 +39,39 @@ msgstr[1] "%s copias completadas"
39
 
40
  #: admin.backups-table.php:14
41
  msgid "Size"
42
- msgstr "tamano"
43
 
44
  #: admin.backups-table.php:15
45
  msgid "Actions"
46
- msgstr "Acción"
47
 
48
  #: admin.backups-table.php:21
49
  msgid "Only the most recent backup will be saved"
50
  msgid_plural "The %d most recent backups will be saved"
51
- msgstr[0] "Solamente la copia más nueva será guardada"
52
- msgstr[1] "Solamente las %s copias más nuevas serán guardadas"
53
 
54
  #: admin.backups-table.php:22
 
55
  msgid "Total %s"
56
  msgstr "%s total"
57
 
58
  #: functions/backup.functions.php:34
59
  msgid "Dumping database"
60
- msgstr "Base de datos ejecutado"
61
 
62
  #: functions/backup.functions.php:40
63
  msgid "Creating zip archive"
64
- msgstr "Creando archivo de zip"
65
 
66
  #: functions/backup.functions.php:52
67
  msgid "Removing old backups"
68
- msgstr "Borrando copias viejas"
69
 
70
  #: functions/backup.functions.php:167
71
  #: functions/backup.functions.php:177
72
  msgid "Backup of %s"
73
- msgstr "Copias de %s"
74
 
75
  #: functions/backup.functions.php:168
76
  msgid ""
@@ -86,9 +87,11 @@ msgid ""
86
  "\n"
87
  " The Happy BackUpWordPress Backup Emailing Robot"
88
  msgstr ""
89
- "BackUpWordpress ha completado una copia de tu web %s.\n"
90
  "\n"
91
- "La copia del archivo debería estar adjunto a este email.\n"
 
 
92
  "\n"
93
  "%s\n"
94
  "\n"
@@ -110,11 +113,9 @@ msgid ""
110
  "\n"
111
  " The Happy BackUpWordPress Backup Emailing Robot"
112
  msgstr ""
113
- "BackUpWordpress ha completado una copia de tu web %s.\n"
114
- "\n"
115
- "Desafortunadamente la copia del archivo no pudo ser añadido a este email.\n"
116
  "\n"
117
- "Puedes descargar la copia del archivo a través de lasiguiente dirección:\n"
118
  "\n"
119
  "%s\n"
120
  "\n"
@@ -128,56 +129,58 @@ msgstr "Descarga"
128
 
129
  #: functions/interface.functions.php:24
130
  msgid "Delete"
131
- msgstr "Borra"
132
 
133
  #: functions/interface.functions.php:46
134
  #: functions/interface.functions.php:58
 
135
  msgid "BackUpWordPress is almost ready."
136
- msgstr "BackUpWordPress esta casi preparado."
137
 
138
  #: functions/interface.functions.php:46
139
  msgid "The backups directory can't be created because your %s directory isn't writable, run %s or %s or create the folder yourself."
140
- msgstr "El directorio de copias de seguridad no pudo ser creado porque tu directorio de %s no pudo ser escrito, ejecuta %s o %s o crea el archivo tu mismo."
141
 
142
  #: functions/interface.functions.php:58
143
  msgid "Your backups directory isn't writable. run %s or %s or set the permissions yourself."
144
- msgstr "El directorio de tus copias no se puede escribir, ejecuta %s o %s o configura los permisos tu mismo."
145
 
146
  #: functions/interface.functions.php:68
 
147
  msgid " %s is running in %s. Please contact your host and ask them to disable %s."
148
- msgstr "%s está ejecutando en %s. Por favor contacte su administrador para que incapacite. %s"
149
 
150
  #: functions/interface.functions.php:78
151
  msgid "You have both %s and %s defined so there isn't anything to back up."
152
- msgstr "Tienes %s y %s definidos asi que no hay nada de lo que hacer copias."
153
 
154
  #: functions/interface.functions.php:88
155
  msgid "%s is not a valid email address."
156
- msgstr "%s no es una dirección de email valida."
157
 
158
  #: functions/interface.functions.php:98
159
  msgid "The last backup email failed to send."
160
- msgstr "El último email con las copias no se pudo enviar."
161
 
162
  #: functions/interface.functions.php:108
163
  msgid "Your custom backups directory %s doesn't exist and can't be created, your backups will be saved to %s instead."
164
- msgstr "Tus copias en tu directorio %s no existen y no pueden ser creados, tus copias serán entonces guardadas en %s."
165
 
166
  #: functions/interface.functions.php:118
167
  msgid "Your custom backups directory %s isn't writable, new backups will be saved to %s instead."
168
- msgstr "Tus copias en tu directorio %s no se pudieron crear, las nuevas copis serán guardadas en %s."
169
 
170
  #: functions/interface.functions.php:128
171
  msgid "You have defined a custom exclude list but the following paths don't exist %s, are you sure you entered them correctly?"
172
- msgstr "Has definido tu propoa lista pero las trajectorias %s no existen, ¿estás seguro de que los has llenado correctamente?"
173
 
174
  #: admin.status.php:5
175
  msgid "Automatic backups are %s."
176
- msgstr "Las copias automaticas son %s."
177
 
178
  #: admin.status.php:5
179
  msgid "disabled"
180
- msgstr "impedido"
181
 
182
  #: admin.status.php:10
183
  #: admin.status.php:13
@@ -203,47 +206,51 @@ msgid "files"
203
  msgstr "archivos"
204
 
205
  #: admin.status.php:18
 
206
  msgid "Your %s will be automatically backed up every day at %s to %s."
207
- msgstr "Tus %s serán automaticamente copiados cada día de %s a %s."
208
 
209
  #: admin.status.php:18
 
210
  msgid "It's currently %s on the server."
211
- msgstr "Corrientemente es %s en el servidor."
212
 
213
  #: admin.status.php:22
 
214
  msgid "Your site is %s. Backups will be compressed and should be smaller than this."
215
- msgstr "Tu web es %s. Las copias serán compresadas Y deberían ser menos grandes que el original."
216
 
217
  #: admin.status.php:22
218
  msgid "Calculating Size..."
219
  msgstr "Calculando el tamaño..."
220
 
221
  #: admin.status.php:25
 
222
  msgid "%s is disabled which means we have to use the slower PHP fallbacks, you could try contacting your host and asking them to enable it."
223
- msgstr "%s ha diso incapacitado que quiere decir que tenemos que utlizar PHP fallbacks más pequeños, podrías intentar contactando con tu host y pedirles que lo incampaciten."
224
 
225
  #: admin.status.php:31
226
  #: admin.status.php:35
227
  msgid "Your %s will be backed up using %s."
228
- msgstr "Su %s tendrá una copia utilizando %s."
229
 
230
  #: admin.status.php:41
231
  msgid "A copy of each backup will be emailed to %s."
232
- msgstr "Una copia de cada copia de seguridad será mandada por email a %s."
233
 
234
  #: admin.status.php:45
235
  msgid "The following paths will be excluded from your backups %s."
236
- msgstr "Las siguientes trajectorias serán ejecutadas de tu copias %s"
237
 
238
  #: admin.page.php:7
239
  #: admin.menus.php:8
240
  msgid "Manage Backups"
241
- msgstr "Manejar copias"
242
 
243
  #: admin.page.php:13
244
  #: admin.page.php:16
245
  msgid "Back Up Now"
246
- msgstr "Hacer copias ahora"
247
 
248
  #: admin.page.php:20
249
  #: admin.advanced-options.php:3
@@ -252,11 +259,11 @@ msgstr "Opciones avanzadas"
252
 
253
  #: admin.page.php:32
254
  msgid "You need to fix the issues detailed above before BackUpWordPress can start."
255
- msgstr "Debes arreglar los problemas relacionados arriba antes que BackUpWordPress comience."
256
 
257
  #: admin.page.php:38
258
  msgid "If you need help getting things working you are more than welcome to email us at %s and we'll do what we can to help."
259
- msgstr "Si necesitas ayuda porfavor contactenos a través de nuestro email %s y haremos lo que podemos para ayudarle."
260
 
261
  #: admin.menus.php:8
262
  #: admin.menus.php:30
@@ -265,48 +272,54 @@ msgstr "Copias de seguridad"
265
 
266
  #: admin.menus.php:53
267
  msgid "You are not using the latest stable version of BackUpWordPress"
268
- msgstr "No estás utlizando la versión más estable de BackUpWordPress"
269
 
270
  #: admin.menus.php:53
271
  msgid " &mdash; The information below is for version %s. View the readme.txt file for help specific to version %s."
272
- msgstr "&mdash; La información abajo es para la versión %s. Lea el archivo readme.txt para ayuda especifica para la versión %s."
273
 
274
  #: plugin.php:42
275
  msgid "BackUpWordPress requires WordPress version %s."
276
  msgstr "BackUpWordPress requiere la versión %s de Wordpress."
277
 
278
  #: admin.advanced-options.php:5
 
279
  msgid "You can %s any of the following %s in your %s to control advanced options. %s. Defined %s will be highlighted."
280
- msgstr "Puedes %s cualquiera de los %s en tu %s para controlar opciones avanzadas. %s. %s definidos serán subrayados."
281
 
282
  #: admin.advanced-options.php:5
283
  msgid "The Codex can help"
284
- msgstr "El Codex puede ayudar"
285
 
286
  #: admin.advanced-options.php:10
287
  msgid "The path to folder you would like to store your backup files in, defaults to %s."
288
- msgstr "La trajectoria al archivo en la que deseas guardar tus copias será por defecto &s."
289
 
290
  #: admin.advanced-options.php:13
 
291
  msgid "The path to your %s executable. Will be used for the %s part of the back up if available."
292
- msgstr "La trajectoria a tu %s executable. será utilizado para la parte %s de la copia que es disponible."
293
 
294
  #: admin.advanced-options.php:16
 
295
  msgid "The path to your %s executable. Will be used to zip up your %s and %s if available."
296
- msgstr "La trajectoria a tu %s ejecutable. será utilizado para hacer zip to %s y %s si son disponibles."
297
 
298
  #: admin.advanced-options.php:19
 
299
  msgid "Completely disables the automatic back up. You can still back up using the \"Back Up Now\" button. Defaults to %s."
300
- msgstr "Completamente desactiva las copias automaticas, todavía podrás copiar utilizando el botón \"Back Up Now\". Por defecto a %s."
301
 
302
  #: admin.advanced-options.php:22
 
303
  msgid "Number of backups to keep, older backups will be deleted automatically when a new backup is completed. Detaults to %s."
304
- msgstr "El numero de copias la cual guardar, las copias viejas serán borradas automaticamente cuando una nueva copia ha sido completada. Por defecto a %s."
305
 
306
  #: admin.advanced-options.php:25
307
  #: admin.advanced-options.php:28
 
308
  msgid "Backup %s only, your %s will %s be backed up. Defaults to %s."
309
- msgstr "Solamente %s, su %s será %s copiado. por defecto a %s."
310
 
311
  #: admin.advanced-options.php:25
312
  #: admin.advanced-options.php:28
@@ -314,14 +327,17 @@ msgid "not"
314
  msgstr "no"
315
 
316
  #: admin.advanced-options.php:31
 
317
  msgid "The time that the daily back up should run. Defaults to %s."
318
- msgstr "La hora a la que la copia diaria será ejecutado. Por defecto a %s."
319
 
320
  #: admin.advanced-options.php:34
 
321
  msgid "Attempt to email a copy of your backups. Value should be email address to send backups to. Defaults to %s."
322
- msgstr "Intento a mandar un email con la copia de sus copias de seguridad. Por defecto al email que sido elegido por usted en la configuración."
323
 
324
  #: admin.advanced-options.php:37
 
325
  msgid "Comma separated list of files or directories to exclude, the backups directory is automatically excluded."
326
- msgstr "listas de archivos o directorios separadas por una coma para excluir, las copias en el directorio serán automaticamente excluidas."
327
 
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2012-02-14 06:18+0100\n"
13
+ "Last-Translator: Radina Matic <radina.matic@gmail.com>\n"
14
  "Language-Team: HumanMade <support@humanmade.co.uk>\n"
15
  "X-Poedit-Language: English\n"
16
  "X-Poedit-Country: England\n"
29
 
30
  #: admin.actions.php:101
31
  msgid "%s is returning a %s response which could mean cron jobs aren't getting fired properly. BackUpWordPress relies on wp-cron to run back ups in a separate process."
32
+ msgstr "%s esta devolviendo una respuesta %s lo que podría significar que procesos cron no se están ejecutado correctamente. BackUpWordPress no puede funcionar sin que wp-cron haga copias de seguridad en un proceso aparte."
33
 
34
  #: admin.backups-table.php:13
35
  msgid "1 backup completed"
39
 
40
  #: admin.backups-table.php:14
41
  msgid "Size"
42
+ msgstr "Tamaño"
43
 
44
  #: admin.backups-table.php:15
45
  msgid "Actions"
46
+ msgstr "Acciones"
47
 
48
  #: admin.backups-table.php:21
49
  msgid "Only the most recent backup will be saved"
50
  msgid_plural "The %d most recent backups will be saved"
51
+ msgstr[0] "Se guardará sólo la copia más reciente"
52
+ msgstr[1] "Se guardarán sólo %d copias más recientes"
53
 
54
  #: admin.backups-table.php:22
55
+ #, fuzzy
56
  msgid "Total %s"
57
  msgstr "%s total"
58
 
59
  #: functions/backup.functions.php:34
60
  msgid "Dumping database"
61
+ msgstr "Guardando la base de datos"
62
 
63
  #: functions/backup.functions.php:40
64
  msgid "Creating zip archive"
65
+ msgstr "Creando archivo zip"
66
 
67
  #: functions/backup.functions.php:52
68
  msgid "Removing old backups"
69
+ msgstr "Borrando copias antiguas"
70
 
71
  #: functions/backup.functions.php:167
72
  #: functions/backup.functions.php:177
73
  msgid "Backup of %s"
74
+ msgstr "Copia de %s"
75
 
76
  #: functions/backup.functions.php:168
77
  msgid ""
87
  "\n"
88
  " The Happy BackUpWordPress Backup Emailing Robot"
89
  msgstr ""
90
+ "BackUpWordpress ha completado una copia de seguridad de tu web %s.\n"
91
  "\n"
92
+ "El archivo de copia de seguridad se encuentra adjunto a este correo electrónico.\n"
93
+ "\n"
94
+ "También puedes descargarlo desde el enlace indicado más abajo:\n"
95
  "\n"
96
  "%s\n"
97
  "\n"
113
  "\n"
114
  " The Happy BackUpWordPress Backup Emailing Robot"
115
  msgstr ""
116
+ "BackUpWordpress ha completado una copia de seguridad de tu web %s.\n"
 
 
117
  "\n"
118
+ "Desafortunadamente el archivo de copia de seguridad creado es demasiado pesado para enviar como archivo adjunto, pero puedes descargarlo desde enlace indicado aquí:\n"
119
  "\n"
120
  "%s\n"
121
  "\n"
129
 
130
  #: functions/interface.functions.php:24
131
  msgid "Delete"
132
+ msgstr "Borrar"
133
 
134
  #: functions/interface.functions.php:46
135
  #: functions/interface.functions.php:58
136
+ #, fuzzy
137
  msgid "BackUpWordPress is almost ready."
138
+ msgstr "BackUpWordPress esta casi listo."
139
 
140
  #: functions/interface.functions.php:46
141
  msgid "The backups directory can't be created because your %s directory isn't writable, run %s or %s or create the folder yourself."
142
+ msgstr "El directorio de copias de seguridad no se pudo crear porque tu directorio %s no tenía permiso de escritura; ejecuta %s o %s o crea el directorio tu mismo."
143
 
144
  #: functions/interface.functions.php:58
145
  msgid "Your backups directory isn't writable. run %s or %s or set the permissions yourself."
146
+ msgstr "El directorio de tus copias de seguridad no tiene permiso de escritura, ejecuta %s o %s o configura los permisos tu mismo."
147
 
148
  #: functions/interface.functions.php:68
149
+ #, fuzzy
150
  msgid " %s is running in %s. Please contact your host and ask them to disable %s."
151
+ msgstr "%s se está ejecutando en %s. Por favor contacta con tu administrador de alojamiento para que pare el proceso %s."
152
 
153
  #: functions/interface.functions.php:78
154
  msgid "You have both %s and %s defined so there isn't anything to back up."
155
+ msgstr "Tienes %s y %s definidos - no hay archivos para hacer copias de seguridad."
156
 
157
  #: functions/interface.functions.php:88
158
  msgid "%s is not a valid email address."
159
+ msgstr "%s no es una dirección de correo valida."
160
 
161
  #: functions/interface.functions.php:98
162
  msgid "The last backup email failed to send."
163
+ msgstr "El último correo con las copias de seguridad no se pudo enviar."
164
 
165
  #: functions/interface.functions.php:108
166
  msgid "Your custom backups directory %s doesn't exist and can't be created, your backups will be saved to %s instead."
167
+ msgstr "No existe directorio de tus copias de seguridad %s y no se puede crear; tus copias se guardarán en %s."
168
 
169
  #: functions/interface.functions.php:118
170
  msgid "Your custom backups directory %s isn't writable, new backups will be saved to %s instead."
171
+ msgstr "El directorio de tus copias de seguridad %s no tiene permisos de escritura; las nuevas copias se guardarán en %s."
172
 
173
  #: functions/interface.functions.php:128
174
  msgid "You have defined a custom exclude list but the following paths don't exist %s, are you sure you entered them correctly?"
175
+ msgstr "Has definido la lista de exclusión personalizada pero las rutas %s no existen; ¿estás seguro de que las escribiste correctamente?"
176
 
177
  #: admin.status.php:5
178
  msgid "Automatic backups are %s."
179
+ msgstr "Las copias automáticas son %s."
180
 
181
  #: admin.status.php:5
182
  msgid "disabled"
183
+ msgstr "desactivado"
184
 
185
  #: admin.status.php:10
186
  #: admin.status.php:13
206
  msgstr "archivos"
207
 
208
  #: admin.status.php:18
209
+ #, fuzzy
210
  msgid "Your %s will be automatically backed up every day at %s to %s."
211
+ msgstr "La copia de tus %s se guardarán automáticamente cada día a las %s a %s."
212
 
213
  #: admin.status.php:18
214
+ #, fuzzy
215
  msgid "It's currently %s on the server."
216
+ msgstr "En este momento es %s en el servidor."
217
 
218
  #: admin.status.php:22
219
+ #, fuzzy
220
  msgid "Your site is %s. Backups will be compressed and should be smaller than this."
221
+ msgstr "Tu sitio web pesa %s. Las copias de seguridad serán comprimidas y deberían pesar menos."
222
 
223
  #: admin.status.php:22
224
  msgid "Calculating Size..."
225
  msgstr "Calculando el tamaño..."
226
 
227
  #: admin.status.php:25
228
+ #, fuzzy
229
  msgid "%s is disabled which means we have to use the slower PHP fallbacks, you could try contacting your host and asking them to enable it."
230
+ msgstr "%s está desactivado y eso significa que tenemos que utilizar procesos PHP más lentos; podrías contactar con tu servicio de alojamiento y pedirles que lo desactiven."
231
 
232
  #: admin.status.php:31
233
  #: admin.status.php:35
234
  msgid "Your %s will be backed up using %s."
235
+ msgstr "Tus %s se copiarán usando %s."
236
 
237
  #: admin.status.php:41
238
  msgid "A copy of each backup will be emailed to %s."
239
+ msgstr "Una de copia de seguridad será enviada por correo electrónico a %s."
240
 
241
  #: admin.status.php:45
242
  msgid "The following paths will be excluded from your backups %s."
243
+ msgstr "Las siguientes rutas se excluirán de tu copias de seguridad %s."
244
 
245
  #: admin.page.php:7
246
  #: admin.menus.php:8
247
  msgid "Manage Backups"
248
+ msgstr "Gestionar copias de seguridad"
249
 
250
  #: admin.page.php:13
251
  #: admin.page.php:16
252
  msgid "Back Up Now"
253
+ msgstr "Hacer copia de seguridad ahora"
254
 
255
  #: admin.page.php:20
256
  #: admin.advanced-options.php:3
259
 
260
  #: admin.page.php:32
261
  msgid "You need to fix the issues detailed above before BackUpWordPress can start."
262
+ msgstr "Debes arreglar los problemas indicados arriba para que BackUpWordPress pueda iniciar."
263
 
264
  #: admin.page.php:38
265
  msgid "If you need help getting things working you are more than welcome to email us at %s and we'll do what we can to help."
266
+ msgstr "Si necesitas ayuda puedes contactarnos al correo electrónico %s y haremos todo lo que podamos para ayudarte."
267
 
268
  #: admin.menus.php:8
269
  #: admin.menus.php:30
272
 
273
  #: admin.menus.php:53
274
  msgid "You are not using the latest stable version of BackUpWordPress"
275
+ msgstr "No estás usando la versión más reciente y estable de BackUpWordPress"
276
 
277
  #: admin.menus.php:53
278
  msgid " &mdash; The information below is for version %s. View the readme.txt file for help specific to version %s."
279
+ msgstr "&mdash; La información indicada abajo es para la versión %s. Lea el archivo readme.txt para ayuda especifica para la versión %s."
280
 
281
  #: plugin.php:42
282
  msgid "BackUpWordPress requires WordPress version %s."
283
  msgstr "BackUpWordPress requiere la versión %s de Wordpress."
284
 
285
  #: admin.advanced-options.php:5
286
+ #, fuzzy
287
  msgid "You can %s any of the following %s in your %s to control advanced options. %s. Defined %s will be highlighted."
288
+ msgstr "Puedes %s cualquiera de los %s en tu %s para controlar opciones avanzadas. %s. %s definidos se verán destacados."
289
 
290
  #: admin.advanced-options.php:5
291
  msgid "The Codex can help"
292
+ msgstr "Busca ayuda en el Codex"
293
 
294
  #: admin.advanced-options.php:10
295
  msgid "The path to folder you would like to store your backup files in, defaults to %s."
296
+ msgstr "La ruta al directorio en el que deseas guardar tus copias de seguridad será por defecto &s."
297
 
298
  #: admin.advanced-options.php:13
299
+ #, fuzzy
300
  msgid "The path to your %s executable. Will be used for the %s part of the back up if available."
301
+ msgstr "La ruta hacia tu %s ejecutable se utilizará para la parte %s de la copia de seguridad si disponible."
302
 
303
  #: admin.advanced-options.php:16
304
+ #, fuzzy
305
  msgid "The path to your %s executable. Will be used to zip up your %s and %s if available."
306
+ msgstr "La ruta hacia tu %s ejecutable se utilizará para hacer el archivo zip de tu %s y %s si está disponible."
307
 
308
  #: admin.advanced-options.php:19
309
+ #, fuzzy
310
  msgid "Completely disables the automatic back up. You can still back up using the \"Back Up Now\" button. Defaults to %s."
311
+ msgstr "Desactiva completamente las copias automáticas. Podrás hacer copiar de seguridad de todas maneras utilizando el botón \"Back Up Now\". Por defecto a %s."
312
 
313
  #: admin.advanced-options.php:22
314
+ #, fuzzy
315
  msgid "Number of backups to keep, older backups will be deleted automatically when a new backup is completed. Detaults to %s."
316
+ msgstr "El numero de copias de seguridad que se guardarán; las copias más antiguas se borrarán automáticamente cuando se crea una nueva copia. Por defecto a %s."
317
 
318
  #: admin.advanced-options.php:25
319
  #: admin.advanced-options.php:28
320
+ #, fuzzy
321
  msgid "Backup %s only, your %s will %s be backed up. Defaults to %s."
322
+ msgstr "Solamente copias %s; tu %s será %s copiado. Por defecto a %s."
323
 
324
  #: admin.advanced-options.php:25
325
  #: admin.advanced-options.php:28
327
  msgstr "no"
328
 
329
  #: admin.advanced-options.php:31
330
+ #, fuzzy
331
  msgid "The time that the daily back up should run. Defaults to %s."
332
+ msgstr "La hora a la que se creará la copia diaria. Por defecto a %s."
333
 
334
  #: admin.advanced-options.php:34
335
+ #, fuzzy
336
  msgid "Attempt to email a copy of your backups. Value should be email address to send backups to. Defaults to %s."
337
+ msgstr "Intento a mandar un correo con tu copia de de seguridad a la dirección especificada. Por defecto al %s."
338
 
339
  #: admin.advanced-options.php:37
340
+ #, fuzzy
341
  msgid "Comma separated list of files or directories to exclude, the backups directory is automatically excluded."
342
+ msgstr "Listado de archivos o directorios para excluir de la copia de seguridad separados por coma."
343
 
plugin.php CHANGED
@@ -5,7 +5,7 @@ Plugin Name: BackUpWordPress
5
  Plugin URI: http://hmn.md/backupwordpress/
6
  Description: Simple automated backups of your WordPress powered website. Once activated you'll find me under <strong>Tools &rarr; Backups</strong>.
7
  Author: Human Made Limited
8
- Version: 1.6.6
9
  Author URI: http://hmn.md/
10
  */
11
 
@@ -102,7 +102,7 @@ function hmbkp_setup_hm_backup() {
102
  $hm_backup->database_only = hmbkp_get_database_only();
103
 
104
  if ( defined( 'HMBKP_MYSQLDUMP_PATH' ) )
105
- $hm_backup->mysql_command_path = HMBKP_MYSQLDUMP_PATH;
106
 
107
  if ( defined( 'HMBKP_ZIP_PATH' ) )
108
  $hm_backup->zip_command_path = HMBKP_ZIP_PATH;
5
  Plugin URI: http://hmn.md/backupwordpress/
6
  Description: Simple automated backups of your WordPress powered website. Once activated you'll find me under <strong>Tools &rarr; Backups</strong>.
7
  Author: Human Made Limited
8
+ Version: 1.6.7
9
  Author URI: http://hmn.md/
10
  */
11
 
102
  $hm_backup->database_only = hmbkp_get_database_only();
103
 
104
  if ( defined( 'HMBKP_MYSQLDUMP_PATH' ) )
105
+ $hm_backup->mysqldump_command_path = HMBKP_MYSQLDUMP_PATH;
106
 
107
  if ( defined( 'HMBKP_ZIP_PATH' ) )
108
  $hm_backup->zip_command_path = HMBKP_ZIP_PATH;
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: humanmade, joehoyle, mattheu, tcrsavage, willmot
3
  Tags: back up, backup, backups, database, zip, db, files, archive, wp-cli, humanmade
4
  Requires at least: 3.1
5
  Tested up to: 3.3
6
- Stable tag: 1.6.6
7
 
8
  Simple automated back ups of your WordPress powered website.
9
 
@@ -81,6 +81,10 @@ Some things you can test are.
81
 
82
  If you have tried all these then feel free to contact support.
83
 
 
 
 
 
84
  **Further Support & Feedbask**
85
 
86
  General support questions should be posted in the <a href="http://wordpress.org/tags/backupwordpress?forum_id=10">WordPress support forums, tagged with backupwordpress.</a>
@@ -95,6 +99,17 @@ You can also tweet <a href="http://twitter.com/humanmadeltd">@humanmadeltd</a> o
95
 
96
  == Changelog ==
97
 
 
 
 
 
 
 
 
 
 
 
 
98
  #### 1.6.6
99
 
100
  * Fix backup path issue with case sensitive filesystems.
3
  Tags: back up, backup, backups, database, zip, db, files, archive, wp-cli, humanmade
4
  Requires at least: 3.1
5
  Tested up to: 3.3
6
+ Stable tag: 1.6.7
7
 
8
  Simple automated back ups of your WordPress powered website.
9
 
81
 
82
  If you have tried all these then feel free to contact support.
83
 
84
+ **How to get BackUpWordPress working in Heart Internet**
85
+
86
+ The script to be entered into the Heart Internet cPanel is: `/usr/bin/php5 /home/sites/yourdomain.com/public_html/wp-cron.php` (note the space between php5 and the location of the file). The file `wp-cron.php` `chmod` must be set to `711`.
87
+
88
  **Further Support & Feedbask**
89
 
90
  General support questions should be posted in the <a href="http://wordpress.org/tags/backupwordpress?forum_id=10">WordPress support forums, tagged with backupwordpress.</a>
99
 
100
  == Changelog ==
101
 
102
+ #### 1.6.7
103
+
104
+ * Fix issue with backups being listed in reverse chronological order.
105
+ * Fix issue with newest backup being deleted when you hit your max backups limit.
106
+ * It's now possible to have backups sent to multiple email address's by entering them as a comma separated list.
107
+ * Fix a bug which broke the ability to override the `mysqldump` path with `HMBKP_MYSQLDUMP_PATH`.
108
+ * Use `echo` rather than `pwd` when testing `shell_exec` as it's supported cross platform.
109
+ * Updated Spanish translation.
110
+ * Fix a minor spelling mistake.
111
+ * Speed up the manage backups page by caching the FAQ data for 24 hours.
112
+
113
  #### 1.6.6
114
 
115
  * Fix backup path issue with case sensitive filesystems.