Version Description
01/Apr/2017 =
FIX: The free version of 1.12.37/38 in some circumstances could fail to complete Dropbox authentication
Download this release
Release Info
Developer | DavidAnderson |
Plugin | UpdraftPlus WordPress Backup Plugin |
Version | 1.12.39 |
Comparing to | |
See all releases |
Code changes from version 1.12.37 to 1.12.39
- admin.php +11 -6
- class-updraftplus.php +27 -23
- includes/updraft-admin.js +2 -2
- languages/updraftplus-cs_CZ.mo +0 -0
- languages/updraftplus-cs_CZ.po +3 -3
- methods/backup-module.php +1 -1
- methods/dropbox.php +26 -11
- readme.txt +12 -4
- templates/wp-admin/settings/form-contents.php +5 -0
- updraftplus.php +1 -1
admin.php
CHANGED
@@ -92,11 +92,16 @@ class UpdraftPlus_Admin {
|
|
92 |
if ($return_instead_of_echo) return ob_get_clean();
|
93 |
}
|
94 |
|
95 |
-
|
|
|
|
|
|
|
|
|
|
|
96 |
|
97 |
global $updraftplus;
|
98 |
|
99 |
-
if ('googledrive' === $
|
100 |
$settings = $updraftplus->update_remote_storage_options_format('googledrive');
|
101 |
|
102 |
if (is_wp_error($settings)) {
|
@@ -116,7 +121,7 @@ class UpdraftPlus_Admin {
|
|
116 |
}
|
117 |
}
|
118 |
}
|
119 |
-
if ('googlecloud' === $
|
120 |
$opts = UpdraftPlus_Options::get_updraft_option('updraft_googlecloud');
|
121 |
if (!empty($opts)) {
|
122 |
$clientid = $opts['clientid'];
|
@@ -125,7 +130,7 @@ class UpdraftPlus_Admin {
|
|
125 |
if (!empty($clientid) && empty($token)) add_action('all_admin_notices', array($this,'show_admin_warning_googlecloud'));
|
126 |
}
|
127 |
|
128 |
-
if ('dropbox' === $
|
129 |
$settings = $updraftplus->update_remote_storage_options_format('dropbox');
|
130 |
|
131 |
if (is_wp_error($settings)) {
|
@@ -142,7 +147,7 @@ class UpdraftPlus_Admin {
|
|
142 |
}
|
143 |
}
|
144 |
|
145 |
-
if ('onedrive' === $
|
146 |
$opts = UpdraftPlus_Options::get_updraft_option('updraft_onedrive');
|
147 |
//if (((!empty($opts['clientid']) && !empty($opts['secret'])) || !empty($opts['use_master'])) && empty($opts['refresh_token']))
|
148 |
if((defined('UPDRAFTPLUS_CUSTOM_ONEDRIVE_APP') && UPDRAFTPLUS_CUSTOM_ONEDRIVE_APP)){
|
@@ -152,7 +157,7 @@ class UpdraftPlus_Admin {
|
|
152 |
}
|
153 |
}
|
154 |
|
155 |
-
if ('updraftvault' === $
|
156 |
$vault_settings = UpdraftPlus_Options::get_updraft_option('updraft_updraftvault');
|
157 |
$connected = (is_array($vault_settings) && !empty($vault_settings['token']) && !empty($vault_settings['email'])) ? true : false;
|
158 |
if (!$connected) add_action('all_admin_notices', array($this,'show_admin_warning_updraftvault') );
|
92 |
if ($return_instead_of_echo) return ob_get_clean();
|
93 |
}
|
94 |
|
95 |
+
/**
|
96 |
+
* Add actions for any needed dashboard notices for remote storage services
|
97 |
+
*
|
98 |
+
* @param String|Array $services - a list of services, or single service
|
99 |
+
*/
|
100 |
+
private function setup_all_admin_notices_global($services) {
|
101 |
|
102 |
global $updraftplus;
|
103 |
|
104 |
+
if ('googledrive' === $services || (is_array($services) && in_array('googledrive', $services))) {
|
105 |
$settings = $updraftplus->update_remote_storage_options_format('googledrive');
|
106 |
|
107 |
if (is_wp_error($settings)) {
|
121 |
}
|
122 |
}
|
123 |
}
|
124 |
+
if ('googlecloud' === $services || (is_array($services) && in_array('googlecloud', $services))) {
|
125 |
$opts = UpdraftPlus_Options::get_updraft_option('updraft_googlecloud');
|
126 |
if (!empty($opts)) {
|
127 |
$clientid = $opts['clientid'];
|
130 |
if (!empty($clientid) && empty($token)) add_action('all_admin_notices', array($this,'show_admin_warning_googlecloud'));
|
131 |
}
|
132 |
|
133 |
+
if ('dropbox' === $services || (is_array($services) && in_array('dropbox', $services))) {
|
134 |
$settings = $updraftplus->update_remote_storage_options_format('dropbox');
|
135 |
|
136 |
if (is_wp_error($settings)) {
|
147 |
}
|
148 |
}
|
149 |
|
150 |
+
if ('onedrive' === $services || (is_array($services) && in_array('onedrive', $services))) {
|
151 |
$opts = UpdraftPlus_Options::get_updraft_option('updraft_onedrive');
|
152 |
//if (((!empty($opts['clientid']) && !empty($opts['secret'])) || !empty($opts['use_master'])) && empty($opts['refresh_token']))
|
153 |
if((defined('UPDRAFTPLUS_CUSTOM_ONEDRIVE_APP') && UPDRAFTPLUS_CUSTOM_ONEDRIVE_APP)){
|
157 |
}
|
158 |
}
|
159 |
|
160 |
+
if ('updraftvault' === $services || (is_array($services) && in_array('updraftvault', $services))) {
|
161 |
$vault_settings = UpdraftPlus_Options::get_updraft_option('updraft_updraftvault');
|
162 |
$connected = (is_array($vault_settings) && !empty($vault_settings['token']) && !empty($vault_settings['email'])) ? true : false;
|
163 |
if (!$connected) add_action('all_admin_notices', array($this,'show_admin_warning_updraftvault') );
|
class-updraftplus.php
CHANGED
@@ -3569,33 +3569,37 @@ class UpdraftPlus {
|
|
3569 |
if (!isset($dropbox['settings'][$instance_id])) unset($opts['settings'][$instance_id]);
|
3570 |
}
|
3571 |
|
3572 |
-
|
3573 |
-
|
3574 |
-
|
3575 |
-
|
3576 |
-
|
3577 |
-
|
3578 |
-
|
3579 |
-
|
3580 |
-
|
3581 |
-
|
3582 |
-
|
|
|
|
|
|
|
|
|
3583 |
}
|
3584 |
-
|
3585 |
-
|
3586 |
-
|
3587 |
-
|
3588 |
-
|
3589 |
-
|
3590 |
-
|
3591 |
-
|
3592 |
-
|
3593 |
-
$opts['settings'][$instance_id][$key] = $value;
|
3594 |
}
|
|
|
|
|
|
|
3595 |
}
|
3596 |
|
3597 |
-
if (!empty($opts['settings'][$instance_id]['folder']) && preg_match('#^https?://(www.)dropbox\.com/home/Apps/UpdraftPlus(.Com)?([^/]*)/(.*)$#i', $opts['settings'][$instance_id]['folder'], $matches)) $opts['settings'][$instance_id]['folder'] = $matches[3];
|
3598 |
-
|
3599 |
}
|
3600 |
|
3601 |
return $opts;
|
3569 |
if (!isset($dropbox['settings'][$instance_id])) unset($opts['settings'][$instance_id]);
|
3570 |
}
|
3571 |
|
3572 |
+
if (!empty($dropbox['settings'])) {
|
3573 |
+
|
3574 |
+
foreach ($dropbox['settings'] as $instance_id => $storage_options) {
|
3575 |
+
if (!empty($opts['settings'][$instance_id]['tk_access_token'])) {
|
3576 |
+
|
3577 |
+
$current_app_key = empty($opts['settings'][$instance_id]['appkey']) ? false : $opts['settings'][$instance_id]['appkey'];
|
3578 |
+
$new_app_key = empty($storage_options['appkey']) ? false : $storage_options['appkey'];
|
3579 |
+
|
3580 |
+
// If a different app key is being used, then wipe the stored token as it cannot belong to the new app
|
3581 |
+
if ($current_app_key !== $new_app_key) {
|
3582 |
+
unset($opts['settings'][$instance_id]['tk_access_token']);
|
3583 |
+
unset($opts['settings'][$instance_id]['ownername']);
|
3584 |
+
unset($opts['settings'][$instance_id]['CSRF']);
|
3585 |
+
}
|
3586 |
+
|
3587 |
}
|
3588 |
+
|
3589 |
+
// Now loop over the new options, and replace old options with them
|
3590 |
+
foreach ($storage_options as $key => $value) {
|
3591 |
+
if (null === $value) {
|
3592 |
+
unset($opts['settings'][$instance_id][$key]);
|
3593 |
+
} else {
|
3594 |
+
if (!isset($opts['settings'][$instance_id])) $opts['settings'][$instance_id] = array();
|
3595 |
+
$opts['settings'][$instance_id][$key] = $value;
|
3596 |
+
}
|
|
|
3597 |
}
|
3598 |
+
|
3599 |
+
if (!empty($opts['settings'][$instance_id]['folder']) && preg_match('#^https?://(www.)dropbox\.com/home/Apps/UpdraftPlus(.Com)?([^/]*)/(.*)$#i', $opts['settings'][$instance_id]['folder'], $matches)) $opts['settings'][$instance_id]['folder'] = $matches[3];
|
3600 |
+
|
3601 |
}
|
3602 |
|
|
|
|
|
3603 |
}
|
3604 |
|
3605 |
return $opts;
|
includes/updraft-admin.js
CHANGED
@@ -637,9 +637,9 @@ function updraft_activejobs_update(force) {
|
|
637 |
var log_append_array = resp.u;
|
638 |
if (log_append_array.nonce == updraft_poplog_log_nonce) {
|
639 |
updraft_poplog_log_pointer = log_append_array.pointer;
|
640 |
-
if (log_append_array.
|
641 |
var oldscroll = jQuery('#updraft-poplog').scrollTop();
|
642 |
-
jQuery('#updraft-poplog-content').append(log_append_array.
|
643 |
if (updraft_poplog_lastscroll == oldscroll || updraft_poplog_lastscroll == -1) {
|
644 |
jQuery('#updraft-poplog').scrollTop(jQuery('#updraft-poplog-content').prop("scrollHeight"));
|
645 |
updraft_poplog_lastscroll = jQuery('#updraft-poplog').scrollTop();
|
637 |
var log_append_array = resp.u;
|
638 |
if (log_append_array.nonce == updraft_poplog_log_nonce) {
|
639 |
updraft_poplog_log_pointer = log_append_array.pointer;
|
640 |
+
if (log_append_array.log != null && log_append_array.log != '') {
|
641 |
var oldscroll = jQuery('#updraft-poplog').scrollTop();
|
642 |
+
jQuery('#updraft-poplog-content').append(log_append_array.log);
|
643 |
if (updraft_poplog_lastscroll == oldscroll || updraft_poplog_lastscroll == -1) {
|
644 |
jQuery('#updraft-poplog').scrollTop(jQuery('#updraft-poplog-content').prop("scrollHeight"));
|
645 |
updraft_poplog_lastscroll = jQuery('#updraft-poplog').scrollTop();
|
languages/updraftplus-cs_CZ.mo
CHANGED
Binary file
|
languages/updraftplus-cs_CZ.po
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
# This file is distributed under the same license as the UpdraftPlus package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"PO-Revision-Date: 2017-
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -13,7 +13,7 @@ msgstr ""
|
|
13 |
|
14 |
#: methods/updraftvault.php:49
|
15 |
msgid "UpdraftVault"
|
16 |
-
msgstr ""
|
17 |
|
18 |
#: includes/updraftplus-notices.php:260
|
19 |
msgid "get more info"
|
@@ -53,7 +53,7 @@ msgstr ""
|
|
53 |
|
54 |
#: admin.php:705
|
55 |
msgid "Loading log file"
|
56 |
-
msgstr ""
|
57 |
|
58 |
#: admin.php:704
|
59 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
2 |
# This file is distributed under the same license as the UpdraftPlus package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"PO-Revision-Date: 2017-03-31 13:35:31+0000\n"
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
|
14 |
#: methods/updraftvault.php:49
|
15 |
msgid "UpdraftVault"
|
16 |
+
msgstr "UpdraftVault"
|
17 |
|
18 |
#: includes/updraftplus-notices.php:260
|
19 |
msgid "get more info"
|
53 |
|
54 |
#: admin.php:705
|
55 |
msgid "Loading log file"
|
56 |
+
msgstr "Probíhá načítání protokolu"
|
57 |
|
58 |
#: admin.php:704
|
59 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
methods/backup-module.php
CHANGED
@@ -283,7 +283,7 @@ abstract class UpdraftPlus_BackupModule {
|
|
283 |
$options = reset($options_full['settings']);
|
284 |
|
285 |
if (false === $options) {
|
286 |
-
$updraftplus->log("Options retrieval failure (no options set)
|
287 |
return array();
|
288 |
}
|
289 |
$instance_id = key($options_full['settings']);
|
283 |
$options = reset($options_full['settings']);
|
284 |
|
285 |
if (false === $options) {
|
286 |
+
$updraftplus->log("Options retrieval failure (no options set)");
|
287 |
return array();
|
288 |
}
|
289 |
$instance_id = key($options_full['settings']);
|
methods/dropbox.php
CHANGED
@@ -8,6 +8,15 @@ if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed.');
|
|
8 |
|
9 |
if (!class_exists('UpdraftPlus_BackupModule')) require_once(UPDRAFTPLUS_DIR.'/methods/backup-module.php');
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
12 |
|
13 |
private $current_file_hash;
|
@@ -457,6 +466,7 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
457 |
}
|
458 |
|
459 |
public function config_print() {
|
|
|
460 |
$opts = $this->get_options();
|
461 |
|
462 |
$classes = $this->get_css_classes();
|
@@ -470,15 +480,13 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
470 |
</tr>
|
471 |
|
472 |
<tr class="<?php echo $classes;?>">
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
?>
|
481 |
-
</td>
|
482 |
</tr>
|
483 |
|
484 |
<?php
|
@@ -486,7 +494,11 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
486 |
$defmsg = '<tr class="'.$classes.'"><td></td><td><strong>'.__('Need to use sub-folders?','updraftplus').'</strong> '.__('Backups are saved in','updraftplus').' apps/UpdraftPlus. '.__('If you back up several sites into the same Dropbox and want to organise with sub-folders, then ','updraftplus').'<a href="https://updraftplus.com/shop/">'.__("there's an add-on for that.",'updraftplus').'</a></td></tr>';
|
487 |
|
488 |
$defmsg = '<tr class="'.$classes.'"><td></td><td><strong>'.__('Need to use sub-folders?','updraftplus').'</strong> '.__('Backups are saved in','updraftplus').' apps/UpdraftPlus. '.__('If you back up several sites into the same Dropbox and want to organise with sub-folders, then ','updraftplus').'<a href="'.apply_filters("updraftplus_com_link","https://updraftplus.com/shop/").'">'.__("there's an add-on for that.",'updraftplus').'</a></td></tr>';
|
489 |
-
|
|
|
|
|
|
|
|
|
490 |
|
491 |
<tr class="<?php echo $classes;?>">
|
492 |
<th><?php echo sprintf(__('Authenticate with %s', 'updraftplus'), __('Dropbox', 'updraftplus'));?>:</th>
|
@@ -533,8 +545,11 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
533 |
<td><input type="text" style="width:332px" <?php $this->output_settings_field_name_and_id('secret');?> value="<?php echo esc_attr($secret); ?>" /></td>
|
534 |
</tr>
|
535 |
|
|
|
|
|
|
|
|
|
536 |
<?php } ?>
|
537 |
-
|
538 |
<?php
|
539 |
}
|
540 |
|
8 |
|
9 |
if (!class_exists('UpdraftPlus_BackupModule')) require_once(UPDRAFTPLUS_DIR.'/methods/backup-module.php');
|
10 |
|
11 |
+
# Fix a potential problem for users who had the short-lived 1.12.35-1.12.38 free versions (see: https://wordpress.org/support/topic/1-12-37-dropbox-auth-broken/page/2/#post-8981457)
|
12 |
+
# Can be removed after a few months
|
13 |
+
$potential_options = UpdraftPlus_Options::get_updraft_option('updraft_dropbox');
|
14 |
+
if (is_array($potential_options) && isset($potential_options['version']) && isset($potential_options['settings']) && array() === $potential_options['settings']) {
|
15 |
+
// Wipe it, which wil force its re-creation in proper format
|
16 |
+
UpdraftPlus_Options::delete_updraft_option('updraft_dropbox');
|
17 |
+
}
|
18 |
+
|
19 |
+
|
20 |
class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
21 |
|
22 |
private $current_file_hash;
|
466 |
}
|
467 |
|
468 |
public function config_print() {
|
469 |
+
|
470 |
$opts = $this->get_options();
|
471 |
|
472 |
$classes = $this->get_css_classes();
|
480 |
</tr>
|
481 |
|
482 |
<tr class="<?php echo $classes;?>">
|
483 |
+
<th></th>
|
484 |
+
<td>
|
485 |
+
<?php
|
486 |
+
global $updraftplus_admin;
|
487 |
+
$updraftplus_admin->curl_check('Dropbox', false, 'dropbox');
|
488 |
+
?>
|
489 |
+
</td>
|
|
|
|
|
490 |
</tr>
|
491 |
|
492 |
<?php
|
494 |
$defmsg = '<tr class="'.$classes.'"><td></td><td><strong>'.__('Need to use sub-folders?','updraftplus').'</strong> '.__('Backups are saved in','updraftplus').' apps/UpdraftPlus. '.__('If you back up several sites into the same Dropbox and want to organise with sub-folders, then ','updraftplus').'<a href="https://updraftplus.com/shop/">'.__("there's an add-on for that.",'updraftplus').'</a></td></tr>';
|
495 |
|
496 |
$defmsg = '<tr class="'.$classes.'"><td></td><td><strong>'.__('Need to use sub-folders?','updraftplus').'</strong> '.__('Backups are saved in','updraftplus').' apps/UpdraftPlus. '.__('If you back up several sites into the same Dropbox and want to organise with sub-folders, then ','updraftplus').'<a href="'.apply_filters("updraftplus_com_link","https://updraftplus.com/shop/").'">'.__("there's an add-on for that.",'updraftplus').'</a></td></tr>';
|
497 |
+
|
498 |
+
$extra_config = apply_filters('updraftplus_dropbox_extra_config', $defmsg, $this);
|
499 |
+
|
500 |
+
echo $extra_config;
|
501 |
+
?>
|
502 |
|
503 |
<tr class="<?php echo $classes;?>">
|
504 |
<th><?php echo sprintf(__('Authenticate with %s', 'updraftplus'), __('Dropbox', 'updraftplus'));?>:</th>
|
545 |
<td><input type="text" style="width:332px" <?php $this->output_settings_field_name_and_id('secret');?> value="<?php echo esc_attr($secret); ?>" /></td>
|
546 |
</tr>
|
547 |
|
548 |
+
<?php } elseif (false === strpos($extra_config, '<input')) {
|
549 |
+
// We need to make sure that it is not the case that the module has no settings whatsoever - this can result in the module being effectively invisible.
|
550 |
+
?>
|
551 |
+
<input type="hidden" <?php $this->output_settings_field_name_and_id('tk_access_token');?> value="0">
|
552 |
<?php } ?>
|
|
|
553 |
<?php
|
554 |
}
|
555 |
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: Backup with UpdraftPlus, DavidAnderson, DNutbourne, aporter, snigh
|
|
3 |
Tags: backup, restore, database backup, wordpress backup, cloud backup, s3, dropbox, google drive, onedrive, ftp, backups
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 4.7
|
6 |
-
Stable tag: 1.12.
|
7 |
Author URI: https://updraftplus.com
|
8 |
Donate link: https://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
@@ -125,7 +125,16 @@ Thanks for asking; yes, we've got a few. Check out this profile page - https://p
|
|
125 |
|
126 |
The <a href="https://updraftplus.com/news/">UpdraftPlus backup blog</a> is the best place to learn in more detail about any important changes.
|
127 |
|
128 |
-
N.B. Paid versions of UpdraftPlus Backup / Restore have a version number which is 1 higher in the first digit, and has an extra component on the end, but the changelog below still applies. i.e. changes listed for 1.12.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
|
130 |
= 1.12.37 - 31/Mar/2017 =
|
131 |
|
@@ -137,7 +146,6 @@ N.B. Paid versions of UpdraftPlus Backup / Restore have a version number which i
|
|
137 |
* TWEAK: Allow chunked database encryption to try and resume in the event of an error
|
138 |
* TWEAK: Improve the premium/extension tab content
|
139 |
* TWEAK: Fix an issue whereby the UpdraftVault settings section could show a bogus problem with checking quota immediately after initial setup
|
140 |
-
* TWEAK: Dropbox API v2 call to de-authorise a token was failing
|
141 |
* TWEAK: When requesting a download, work around buggy browser/server that continued after Connection: close
|
142 |
* TWEAK: Improve the UI experience when downloading a log file for display fails
|
143 |
* TWEAK: Prevent PHP notice if another plugin cancels a cron event
|
@@ -437,4 +445,4 @@ We recognise and thank the following for code and/or libraries used and/or modif
|
|
437 |
|
438 |
|
439 |
== Upgrade Notice ==
|
440 |
-
* 1.12.
|
3 |
Tags: backup, restore, database backup, wordpress backup, cloud backup, s3, dropbox, google drive, onedrive, ftp, backups
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 4.7
|
6 |
+
Stable tag: 1.12.39
|
7 |
Author URI: https://updraftplus.com
|
8 |
Donate link: https://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
125 |
|
126 |
The <a href="https://updraftplus.com/news/">UpdraftPlus backup blog</a> is the best place to learn in more detail about any important changes.
|
127 |
|
128 |
+
N.B. Paid versions of UpdraftPlus Backup / Restore have a version number which is 1 higher in the first digit, and has an extra component on the end, but the changelog below still applies. i.e. changes listed for 1.12.38 of the free version correspond to changes made in 2.12.38.x of the paid version.
|
129 |
+
|
130 |
+
= 1.12.39 - 01/Apr/2017 =
|
131 |
+
|
132 |
+
* FIX: The free version of 1.12.37/38 in some circumstances could fail to complete Dropbox authentication
|
133 |
+
|
134 |
+
= 1.12.38 - 31/Mar/2017 =
|
135 |
+
|
136 |
+
* TWEAK: Dropbox API v2 call to de-authorise a token was failing
|
137 |
+
* FIX: Prevent a fatal error when attempting to use a backup method with no options set
|
138 |
|
139 |
= 1.12.37 - 31/Mar/2017 =
|
140 |
|
146 |
* TWEAK: Allow chunked database encryption to try and resume in the event of an error
|
147 |
* TWEAK: Improve the premium/extension tab content
|
148 |
* TWEAK: Fix an issue whereby the UpdraftVault settings section could show a bogus problem with checking quota immediately after initial setup
|
|
|
149 |
* TWEAK: When requesting a download, work around buggy browser/server that continued after Connection: close
|
150 |
* TWEAK: Improve the UI experience when downloading a log file for display fails
|
151 |
* TWEAK: Prevent PHP notice if another plugin cancels a cron event
|
445 |
|
446 |
|
447 |
== Upgrade Notice ==
|
448 |
+
* 1.12.39: The free version of 1.12.37/38 in some circumstances could fail to complete Dropbox authentication
|
templates/wp-admin/settings/form-contents.php
CHANGED
@@ -170,6 +170,11 @@ foreach ($default_options as $k => $v) {
|
|
170 |
$settings = array('settings' => array());
|
171 |
}
|
172 |
|
|
|
|
|
|
|
|
|
|
|
173 |
if (!empty($settings['settings'])) {
|
174 |
foreach ($settings['settings'] as $instance_id => $storage_options) {
|
175 |
$remote_storage->set_options($storage_options, false, $instance_id);
|
170 |
$settings = array('settings' => array());
|
171 |
}
|
172 |
|
173 |
+
if (empty($settings['settings'])) {
|
174 |
+
// See: https://wordpress.org/support/topic/cannot-setup-connectionauthenticate-with-dropbox/
|
175 |
+
error_log("UpdraftPlus: Warning: settings for $method are empty. A dummy field is usually needed so that something is saved.");
|
176 |
+
}
|
177 |
+
|
178 |
if (!empty($settings['settings'])) {
|
179 |
foreach ($settings['settings'] as $instance_id => $storage_options) {
|
180 |
$remote_storage->set_options($storage_options, false, $instance_id);
|
updraftplus.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: UpdraftPlus - Backup/Restore
|
|
4 |
Plugin URI: https://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.12.
|
8 |
Donate link: https://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
Text Domain: updraftplus
|
4 |
Plugin URI: https://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.12.39
|
8 |
Donate link: https://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
Text Domain: updraftplus
|