UpdraftPlus WordPress Backup Plugin - Version 1.5.21

Version Description

  • 04/15/2013 =
  • FEATURE: Now restores databases (we recommend the MySQL command-line for versions created with previous versions of UpdraftPlus)
  • FEATURE: Rackspace Cloud Files support (http://www.rackspace.com/cloud/files/)
  • FEATURE: Built-in multi-uploader, allowing easier restoration of old backup sets
  • FEATURE: Allow instant downloading of the most recently modified log file
  • FEATURE: Built in drag-and-drop database decrypter for manual decryption
  • FEATURE: Deutsch / German translation: thanks to Marcel Herrguth - mherrguth@mrgeneration.de
  • FEATURE: Magyar / Hungarian translation: thanks to Szpe Viktor - http://www.szepe.net
  • FEATURE: Spanish / Espaol translation: thanks to Fernando Villasmil - villasmil.fernando@gmail.com
  • FEATURE: Added encryption (used by default) to Amazon S3 communications
  • FEATURE: New "more files" add-on, allowing backup of WordPress core and non-WordPress files
  • RELIABILITY: Various algorithm tweaks to help larger sites on lower resources. Largest site a known user has: 1.5Gb
  • RELIABILITY/FEATURE: Ship up-to-date SSL certificates, and added expert options to prefer server SSL CA certificates, and to disable peer verification
  • SPEED: Batch INSERT commands in database backups, for much faster restoration (typically 95% faster)
  • SPEED/RELIABILITY: FTP and FTPS (not SFTP) are now chunked and resumable (both download and upload), subject to your FTP server responding correctly to SIZE
  • SPEED: Re-factoring of admin-area and some backup code into separate lazy-loaded files, to reduce memory consumption on sites generally
  • FIX: Clear PHP's file stat cache when checking for zip file activity - fixes potential halt on very enormous sites or sites with very low PHP timeouts.
  • FIX: Caught some untranslated strings
  • FIX: Respect WordPress's WP_MAX_MEMORY_LIMIT constant
  • FIX: Remove timezone display from local time - WordPress's get_date_from_gmt function does not completely do what the manual says it does
  • FIX: A small typo slipped into 1.5.5 which prevented some Google Drive users from setting up new installations
  • FIX: Fix strict coding warnings on PHP 5.4
  • TWEAK: In fix-time add-on, fade UI when relevant
  • TWEAK: Improved UI of downloader
  • TWEAK: Decrease FTP timeouts to improve our chances of getting back an error before PHP aborts
  • TWEAK: Tweaked al relevant methods to follow the general SSL CA certificate options
Download this release

Release Info

Developer DavidAnderson
Plugin Icon 128x128 UpdraftPlus WordPress Backup Plugin
Version 1.5.21
Comparing to
See all releases

Code changes from version 1.5.20 to 1.5.21

Files changed (4) hide show
  1. admin.php +3 -2
  2. methods/dropbox.php +8 -2
  3. readme.txt +13 -8
  4. updraftplus.php +8 -5
admin.php CHANGED
@@ -179,7 +179,7 @@ class UpdraftPlus_Admin {
179
  }
180
 
181
  function show_admin_warning_dropbox() {
182
- $this->show_admin_warning('<strong>'.__('UpdraftPlus notice:','updraftplus')/':</strong> <a href="options-general.php?page=updraftplus&action=updraftmethod-dropbox-auth&updraftplus_dropboxauth=doit">.'.sprintf(__('Click here to authenticate your %s account (you will not be able to back up to %s without it).','updraftplus'),'Dropbox','Dropbox').'</a>');
183
  }
184
 
185
  function show_admin_warning_googledrive() {
@@ -951,6 +951,7 @@ class UpdraftPlus_Admin {
951
  <div><input id="updraft_restore_db" type="checkbox" name="updraft_restore[]" value="db"> <label for="updraft_restore_db"><?php _e('Database','updraftplus'); ?></label><br></div>
952
  </fieldset>
953
  </form>
 
954
  </div>
955
 
956
  <div id="updraft-backupnow-modal" title="UpdraftPlus - <?php _e('Perform a backup now','updraftplus'); ?>">
@@ -1762,4 +1763,4 @@ class UpdraftPlus_Admin {
1762
 
1763
  }
1764
 
1765
- ?>
179
  }
180
 
181
  function show_admin_warning_dropbox() {
182
+ $this->show_admin_warning('<strong>'.__('UpdraftPlus notice:','updraftplus').'</strong> <a href="options-general.php?page=updraftplus&action=updraftmethod-dropbox-auth&updraftplus_dropboxauth=doit">.'.sprintf(__('Click here to authenticate your %s account (you will not be able to back up to %s without it).','updraftplus'),'Dropbox','Dropbox').'</a>');
183
  }
184
 
185
  function show_admin_warning_googledrive() {
951
  <div><input id="updraft_restore_db" type="checkbox" name="updraft_restore[]" value="db"> <label for="updraft_restore_db"><?php _e('Database','updraftplus'); ?></label><br></div>
952
  </fieldset>
953
  </form>
954
+ <p><em><a href="http://updraftplus.com/faqs/what-should-i-understand-before-undertaking-a-restoration/" target="_new"><?php _e('Do read this helpful article of useful things to know before restoring.','updraftplus');?></a></em></p>
955
  </div>
956
 
957
  <div id="updraft-backupnow-modal" title="UpdraftPlus - <?php _e('Perform a backup now','updraftplus'); ?>">
1763
 
1764
  }
1765
 
1766
+ ?>
methods/dropbox.php CHANGED
@@ -30,6 +30,12 @@ class UpdraftPlus_BackupModule_dropbox {
30
  global $updraftplus;
31
  $updraftplus->log("Dropbox: begin cloud upload");
32
 
 
 
 
 
 
 
33
  if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token', 'xyz') == 'xyz') {
34
  $updraftplus->log('You do not appear to be authenticated with Dropbox');
35
  $updraftplus->error(__('You do not appear to be authenticated with Dropbox','updraftplus'));
@@ -278,7 +284,7 @@ class UpdraftPlus_BackupModule_dropbox {
278
  }
279
 
280
  function show_authed_admin_warning() {
281
- global $updraftplus;
282
 
283
  $dropbox = self::bootstrap();
284
  $accountInfo = $dropbox->accountInfo();
@@ -291,7 +297,7 @@ class UpdraftPlus_BackupModule_dropbox {
291
  $body = $accountInfo['body'];
292
  $message .= ". ".sprintf(__('Your %s account name','updraftplus'),'Dropbox').": ".htmlspecialchars($body->display_name);
293
  }
294
- $updraftplus->show_admin_warning($message);
295
 
296
  }
297
 
30
  global $updraftplus;
31
  $updraftplus->log("Dropbox: begin cloud upload");
32
 
33
+ if (!function_exists('mcrypt_encrypt')) {
34
+ $updraftplus->log('The mcrypt PHP module is not installed');
35
+ $updraftplus->error(sprintf(__('The %s PHP module is not installed', 'updraftplus'), 'mcrypt'));
36
+ return false;
37
+ }
38
+
39
  if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token', 'xyz') == 'xyz') {
40
  $updraftplus->log('You do not appear to be authenticated with Dropbox');
41
  $updraftplus->error(__('You do not appear to be authenticated with Dropbox','updraftplus'));
284
  }
285
 
286
  function show_authed_admin_warning() {
287
+ global $updraftplus_admin;
288
 
289
  $dropbox = self::bootstrap();
290
  $accountInfo = $dropbox->accountInfo();
297
  $body = $accountInfo['body'];
298
  $message .= ". ".sprintf(__('Your %s account name','updraftplus'),'Dropbox').": ".htmlspecialchars($body->display_name);
299
  }
300
+ $updraftplus_admin->show_admin_warning($message);
301
 
302
  }
303
 
readme.txt CHANGED
@@ -1,21 +1,20 @@
1
  === UpdraftPlus Backup ===
2
- Contributors: David Anderson
3
  Tags: backup, restore, database, rackspace, amazon, s3, dropbox, google drive, ftp, webdav, back up, multisite
4
- Requires at least: 3.2
5
  Tested up to: 3.5.1
6
- Stable tag: 1.5.5
7
  Author URI: http://updraftplus.com
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
10
 
11
- == Upgrade Notice ==
12
- New features: selective restoration, importing remote backups; plus many tweaks, optimisations + small bug-fixes: recommended upgrade for all
13
 
14
  == Description ==
15
 
16
  <a href="http://updraftplus.com">UpdraftPlus</a> simplifies backups (and restoration). Backup into the cloud (Amazon S3, Dropbox, Google Drive, Rackspace Cloud, FTP, SFTP, WebDAV and email) and restore with a single click. Backups of files and database can have separate schedules.
17
 
18
- * Supports backups to Amazon S3, Dropbox, Google Drive, Rackspace Cloud, FTP (including SSL), email, SFTP and WebDAV
19
  * Quick restore (both file and database backups)
20
  * Backup automatically on a repeating schedule
21
  * Files and databases can have separate schedules
@@ -28,6 +27,7 @@ New features: selective restoration, importing remote backups; plus many tweaks,
28
  * Thousands of users: widely tested and reliable (over 100,000 downloads)
29
  * Internationalised (translations very welcome - see below)
30
  * Premium version and support available - <a href="http://updraftplus.com">http://updraftplus.com</a>
 
31
 
32
  = Don't Risk Anything Less =
33
 
@@ -115,7 +115,7 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
115
 
116
  == Changelog ==
117
 
118
- = 1.5.20 - not yet released/supported =
119
  * FEATURE: Now restores databases (we recommend the MySQL command-line for versions created with previous versions of UpdraftPlus)
120
  * FEATURE: Rackspace Cloud Files support (http://www.rackspace.com/cloud/files/)
121
  * FEATURE: Built-in multi-uploader, allowing easier restoration of old backup sets
@@ -125,6 +125,7 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
125
  * FEATURE: Magyar / Hungarian translation: thanks to Szépe Viktor - http://www.szepe.net
126
  * FEATURE: Spanish / Español translation: thanks to Fernando Villasmil - villasmil.fernando@gmail.com
127
  * FEATURE: Added encryption (used by default) to Amazon S3 communications
 
128
  * RELIABILITY: Various algorithm tweaks to help larger sites on lower resources. Largest site a known user has: 1.5Gb
129
  * RELIABILITY/FEATURE: Ship up-to-date SSL certificates, and added expert options to prefer server SSL CA certificates, and to disable peer verification
130
  * SPEED: Batch INSERT commands in database backups, for much faster restoration (typically 95% faster)
@@ -135,6 +136,7 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
135
  * FIX: Respect WordPress's WP_MAX_MEMORY_LIMIT constant
136
  * FIX: Remove timezone display from local time - WordPress's get_date_from_gmt function does not completely do what the manual says it does
137
  * FIX: A small typo slipped into 1.5.5 which prevented some Google Drive users from setting up new installations
 
138
  * TWEAK: In fix-time add-on, fade UI when relevant
139
  * TWEAK: Improved UI of downloader
140
  * TWEAK: Decrease FTP timeouts to improve our chances of getting back an error before PHP aborts
@@ -423,4 +425,7 @@ We recognise and thank the following for code and/or libraries used and/or modif
423
  along with this program; if not, write to the Free Software
424
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
425
 
426
- Furthermore, reliance upon any non-English translation is at your own risk. UpdraftPlus can give no guarantees that translations from the original English are accurate.
 
 
 
1
  === UpdraftPlus Backup ===
2
+ Contributors: DavidAnderson
3
  Tags: backup, restore, database, rackspace, amazon, s3, dropbox, google drive, ftp, webdav, back up, multisite
4
+ Requires at least: 3.1
5
  Tested up to: 3.5.1
6
+ Stable tag: 1.5.21
7
  Author URI: http://updraftplus.com
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
10
 
11
+ Easy and complete backups and restoration. Manual or automated backups (Amazon S3, Dropbox, Google Drive, Rackspace, FTP, SFTP, WebDAV, email).
 
12
 
13
  == Description ==
14
 
15
  <a href="http://updraftplus.com">UpdraftPlus</a> simplifies backups (and restoration). Backup into the cloud (Amazon S3, Dropbox, Google Drive, Rackspace Cloud, FTP, SFTP, WebDAV and email) and restore with a single click. Backups of files and database can have separate schedules.
16
 
17
+ * Supports backups to Amazon S3, Dropbox, Google Drive, Rackspace Cloud Files, FTP (including SSL), email, SFTP and WebDAV
18
  * Quick restore (both file and database backups)
19
  * Backup automatically on a repeating schedule
20
  * Files and databases can have separate schedules
27
  * Thousands of users: widely tested and reliable (over 100,000 downloads)
28
  * Internationalised (translations very welcome - see below)
29
  * Premium version and support available - <a href="http://updraftplus.com">http://updraftplus.com</a>
30
+ * Tested and supported on all current PHP versions (5.2, 5.3, 5.4)
31
 
32
  = Don't Risk Anything Less =
33
 
115
 
116
  == Changelog ==
117
 
118
+ = 1.5.21 - 04/15/2013 =
119
  * FEATURE: Now restores databases (we recommend the MySQL command-line for versions created with previous versions of UpdraftPlus)
120
  * FEATURE: Rackspace Cloud Files support (http://www.rackspace.com/cloud/files/)
121
  * FEATURE: Built-in multi-uploader, allowing easier restoration of old backup sets
125
  * FEATURE: Magyar / Hungarian translation: thanks to Szépe Viktor - http://www.szepe.net
126
  * FEATURE: Spanish / Español translation: thanks to Fernando Villasmil - villasmil.fernando@gmail.com
127
  * FEATURE: Added encryption (used by default) to Amazon S3 communications
128
+ * FEATURE: New "more files" add-on, allowing backup of WordPress core and non-WordPress files
129
  * RELIABILITY: Various algorithm tweaks to help larger sites on lower resources. Largest site a known user has: 1.5Gb
130
  * RELIABILITY/FEATURE: Ship up-to-date SSL certificates, and added expert options to prefer server SSL CA certificates, and to disable peer verification
131
  * SPEED: Batch INSERT commands in database backups, for much faster restoration (typically 95% faster)
136
  * FIX: Respect WordPress's WP_MAX_MEMORY_LIMIT constant
137
  * FIX: Remove timezone display from local time - WordPress's get_date_from_gmt function does not completely do what the manual says it does
138
  * FIX: A small typo slipped into 1.5.5 which prevented some Google Drive users from setting up new installations
139
+ * FIX: Fix strict coding warnings on PHP 5.4
140
  * TWEAK: In fix-time add-on, fade UI when relevant
141
  * TWEAK: Improved UI of downloader
142
  * TWEAK: Decrease FTP timeouts to improve our chances of getting back an error before PHP aborts
425
  along with this program; if not, write to the Free Software
426
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
427
 
428
+ Furthermore, reliance upon any non-English translation is at your own risk. UpdraftPlus can give no guarantees that translations from the original English are accurate.
429
+
430
+ == Upgrade Notice ==
431
+ New features: restore database, Rackspace Cloud Files, multi-uploader of external backups, drag-and-drop decrypter, translations, algorithm improvements, tweaks, bug fixes - recommended upgrade for all
updraftplus.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: UpdraftPlus - Backup/Restore
4
  Plugin URI: http://updraftplus.com
5
  Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
6
  Author: UpdraftPlus.Com, DavidAnderson
7
- Version: 1.5.20
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
10
  Text Domain: updraftplus
@@ -14,7 +14,6 @@ Author URI: http://updraftplus.com
14
  /*
15
  TODO - some of these are out of date/done, needs pruning
16
  // Add an appeal for translators to email me. If it a fails, use Google Translate Tools and appeal for native users to correct it.
17
- // Automatically detect LiteSpeed and scan .htaccess and send them to the relevant FAQ
18
  // Search for other TODO-s in the code
19
  // Test in PHP 5.4
20
  // Better Dropbox errors (see item in To-Do box)
@@ -24,6 +23,7 @@ TODO - some of these are out of date/done, needs pruning
24
  // Save database encryption key inside backup history on per-db basis, so that if it changes we can still decrypt
25
  // Switch to Google Drive SDK. Google folders. https://developers.google.com/drive/folder
26
  // GlotPress
 
27
  // Convert S3.php to use WP's native HTTP functions
28
  // Ability to re-scan existing cloud storage
29
  // Migrator - search+replace the database
@@ -32,7 +32,7 @@ TODO - some of these are out of date/done, needs pruning
32
  // Test restoration when uploads dir is /assets/ (e.g. with Shoestrap theme)
33
  // Send the user an email upon their first backup with tips on what to do (e.g. support/improve) (include legacy check to not bug existing users)
34
  //Allow use of /usr/bin/zip - since this can escape from PHP's memory limit. Can still batch as we do so, in order to monitor/measure progress
35
- // Database decrypter
36
  // Easier download of 'in progress' backup logs (not just last completed)
37
  //Do an automated test periodically for the success of loop-back connections
38
  //When a manual backup is run, use a timer to update the 'Download backups and logs' section, just like 'Last finished backup run'. Beware of over-writing anything that's in there from a resumable downloader.
@@ -123,6 +123,7 @@ class UpdraftPlus {
123
  var $backup_methods = array (
124
  "s3" => "Amazon S3",
125
  "dropbox" => "Dropbox",
 
126
  "googledrive" => "Google Drive",
127
  "ftp" => "FTP",
128
  'sftp' => 'SFTP',
@@ -375,8 +376,10 @@ class UpdraftPlus {
375
 
376
  if ($this->current_resumption >= 9 && $this->newresumption_scheduled == false) {
377
  $this->log("This is resumption ".$this->current_resumption.", but meaningful activity is still taking place; so a new one will be scheduled");
378
- $resume_interval = $this->jobdata_get('resume_interval');
379
- if (!is_numeric($resume_interval) || $resume_interval<$this->minimum_resume_interval()) { $resume_interval = $this->minimum_resume_interval(); }
 
 
380
  $schedule_for = time()+$resume_interval;
381
  $this->newresumption_scheduled = $schedule_for;
382
  wp_schedule_single_event($schedule_for, 'updraft_backup_resume', array($this->current_resumption + 1, $this->nonce));
4
  Plugin URI: http://updraftplus.com
5
  Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
6
  Author: UpdraftPlus.Com, DavidAnderson
7
+ Version: 1.5.21
8
  Donate link: http://david.dw-perspective.org.uk/donate
9
  License: GPLv3 or later
10
  Text Domain: updraftplus
14
  /*
15
  TODO - some of these are out of date/done, needs pruning
16
  // Add an appeal for translators to email me. If it a fails, use Google Translate Tools and appeal for native users to correct it.
 
17
  // Search for other TODO-s in the code
18
  // Test in PHP 5.4
19
  // Better Dropbox errors (see item in To-Do box)
23
  // Save database encryption key inside backup history on per-db basis, so that if it changes we can still decrypt
24
  // Switch to Google Drive SDK. Google folders. https://developers.google.com/drive/folder
25
  // GlotPress
26
+ // Affiliate links? (I have no need...)
27
  // Convert S3.php to use WP's native HTTP functions
28
  // Ability to re-scan existing cloud storage
29
  // Migrator - search+replace the database
32
  // Test restoration when uploads dir is /assets/ (e.g. with Shoestrap theme)
33
  // Send the user an email upon their first backup with tips on what to do (e.g. support/improve) (include legacy check to not bug existing users)
34
  //Allow use of /usr/bin/zip - since this can escape from PHP's memory limit. Can still batch as we do so, in order to monitor/measure progress
35
+ // GoogleDrive folders
36
  // Easier download of 'in progress' backup logs (not just last completed)
37
  //Do an automated test periodically for the success of loop-back connections
38
  //When a manual backup is run, use a timer to update the 'Download backups and logs' section, just like 'Last finished backup run'. Beware of over-writing anything that's in there from a resumable downloader.
123
  var $backup_methods = array (
124
  "s3" => "Amazon S3",
125
  "dropbox" => "Dropbox",
126
+ 'cloudfiles' => 'Rackspace Cloud Files',
127
  "googledrive" => "Google Drive",
128
  "ftp" => "FTP",
129
  'sftp' => 'SFTP',
376
 
377
  if ($this->current_resumption >= 9 && $this->newresumption_scheduled == false) {
378
  $this->log("This is resumption ".$this->current_resumption.", but meaningful activity is still taking place; so a new one will be scheduled");
379
+ // We just use max here to make sure we get a number at all
380
+ $resume_interval = max($this->jobdata_get('resume_interval'), 75);
381
+ // Don't consult the minimum here
382
+ // if (!is_numeric($resume_interval) || $resume_interval<$this->minimum_resume_interval()) { $resume_interval = $this->minimum_resume_interval(); }
383
  $schedule_for = time()+$resume_interval;
384
  $this->newresumption_scheduled = $schedule_for;
385
  wp_schedule_single_event($schedule_for, 'updraft_backup_resume', array($this->current_resumption + 1, $this->nonce));