Version Description
01/Apr/2020 =
FEATURE: Post module handler for UpdraftCentral
FEATURE: Added the ability to select which database tables you want to restore
FIX: An apparent change in Dropbox API behaviour at a recent date was causing uploads to Dropbox to be corrupted in some circumstances in versions 1.16.21-22.
TWEAK: The "Backup now" options were all unselected after trying to take a manual incremental backup with no possible entities for increments
TWEAK: When importing a single site into a multisite remove UpdraftPlus options and cron to prevent unwanted backups
TWEAK: Auto select clone package based on size of the selected backup
TWEAK: Prevent PHP notice when logging a Google Drive account full condition
TWEAK: Prevent a PHP notice when Azure is deleting files on PHP 7.4
TWEAK: Prevent potential PHP notice if returned OneDrive quota is zero
TWEAK: When restoring a single site that is part of a multisite only put that single site in maintenance mode not the entire network
TWEAK: Remove filesize warning from the log if we successfully added the file to the zip to prevent user concern
TWEAK: Add page_visit_history table to list of those with low-priority data and search/replace unnecessary
TWEAK: Add a warning message when restoring/migrating from an older PHP version to a newer version
TWEAK: Set 'NO_AUTO_VALUE_ON_ZERO' sql mode on restorations, for better compatibility with MySQL 8
TWEAK: Add WordFence logging tables to list of optional tables
TWEAK: If the Google Cloud revoke call fails try again once
TWEAK: Catch file closed errors during uploads to Dropbox to prevent unwanted errors in the backup log and prevent user concern
TWEAK: Get list of supported UpdraftClone regions from updraftplus.com
TWEAK: Logging in backup modules will now correctly pass on arguments to main log function
TWEAK: Change OneDrive 'account full, expected to fail' error message to a recoverable warning
TWEAK: Detect non-homepage 404s and provide FAQ link after a restore
TWEAK: Add paging to the existing backups table to prevent long loading times for sites with a large amount of backups
TWEAK: Remove unwanted padding on some buttons
Release Info
Developer | DavidAnderson |
Plugin | UpdraftPlus WordPress Backup Plugin |
Version | 1.16.23 |
Comparing to | |
See all releases |
Code changes from version 1.16.22 to 1.16.23
- admin.php +106 -28
- backup.php +6 -3
- central/bootstrap.php +1 -3
- central/classes/automatic-upgrader-skin-compatibility.php +1 -1
- central/listener.php +4 -2
- central/modules/analytics.php +3 -3
- central/modules/core.php +3 -2
- central/modules/media.php +1 -2
- central/modules/plugin.php +2 -2
- central/modules/posts.php +1103 -521
- central/modules/theme.php +1 -1
- central/modules/updates.php +11 -7
- class-updraftplus.php +75 -1
- css/updraftplus-admin.css +5 -1
- css/updraftplus-admin.min.css +1 -1
- css/updraftplus-admin.min.css.map +1 -1
- includes/Dropbox2/API.php +394 -392
- includes/Dropbox2/OAuth/Consumer/Curl.php +13 -4
- includes/class-backup-history.php +9 -2
- includes/class-commands.php +6 -2
- includes/class-database-utility.php +141 -0
- includes/updraft-admin-common.js +82 -9
- includes/updraft-admin-common.min.js +5 -5
- js/updraft-admin-restore.js +30 -0
- js/updraft-admin-restore.min.js +1 -1
- languages/updraftplus.pot +1164 -1048
- methods/addon-base-v2.php +5 -4
- methods/backup-module.php +1 -1
- methods/cloudfiles.php +11 -3
- methods/dropbox.php +17 -7
- methods/ftp.php +10 -2
- methods/googledrive.php +12 -4
- methods/openstack-base.php +13 -5
- methods/s3.php +11 -3
- readme.txt +29 -3
- restorer.php +267 -167
- templates/wp-admin/settings/existing-backups-table.php +16 -1
- templates/wp-admin/settings/form-contents.php +1 -1
- updraftplus.php +2 -2
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +5 -5
- vendor/composer/installed.json +6 -6
@@ -18,8 +18,6 @@ class UpdraftPlus_Admin {
|
|
18 |
private $auth_instance_ids = array('dropbox' => array(), 'onedrive' => array(), 'googledrive' => array(), 'googlecloud' => array());
|
19 |
|
20 |
private $php_versions = array('5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4');
|
21 |
-
|
22 |
-
private $regions = array('London', 'New York', 'San Francisco', 'Amsterdam', 'Singapore', 'Frankfurt', 'Toronto', 'Bangalore');
|
23 |
|
24 |
private $storage_service_without_settings;
|
25 |
|
@@ -824,7 +822,7 @@ class UpdraftPlus_Admin {
|
|
824 |
'errordata' => __('Error data:', 'updraftplus'),
|
825 |
'error' => __('Error:', 'updraftplus'),
|
826 |
'errornocolon' => __('Error', 'updraftplus'),
|
827 |
-
'existing_backups' => __('Existing
|
828 |
'fileready' => __('File ready.', 'updraftplus'),
|
829 |
'actions' => __('Actions', 'updraftplus'),
|
830 |
'deletefromserver' => __('Delete from your web server', 'updraftplus'),
|
@@ -986,6 +984,9 @@ class UpdraftPlus_Admin {
|
|
986 |
'preparing_backup_files' => __('Preparing backup files', 'updraftplus'),
|
987 |
'ajax_restore_contact_failed' => __('Attempts by the browser to contact the website failed.', 'updraftplus'),
|
988 |
'ajax_restore_error' => __('Restore error:', 'updraftplus'),
|
|
|
|
|
|
|
989 |
));
|
990 |
}
|
991 |
|
@@ -1736,6 +1737,8 @@ class UpdraftPlus_Admin {
|
|
1736 |
$local_deleted = 0;
|
1737 |
$remote_deleted = 0;
|
1738 |
$sets_removed = 0;
|
|
|
|
|
1739 |
|
1740 |
foreach ($timestamps as $i => $timestamp) {
|
1741 |
|
@@ -1820,20 +1823,25 @@ class UpdraftPlus_Admin {
|
|
1820 |
if ($remote_deleted == $remote_delete_limit) {
|
1821 |
$timestamps_list = implode(',', $timestamps);
|
1822 |
|
1823 |
-
return $this->remove_backup_set_cleanup(false, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps);
|
1824 |
}
|
1825 |
|
1826 |
$deleted = $remote_obj->delete($files);
|
1827 |
|
1828 |
-
if (
|
1829 |
-
// echo __('Did not know how to delete from this cloud service.', 'updraftplus');
|
1830 |
-
} elseif (false !== $deleted) {
|
1831 |
$remote_deleted = $remote_deleted + count($files);
|
1832 |
|
1833 |
unset($backups[$timestamp][$key]);
|
1834 |
|
1835 |
// If we don't save the array back, then the above section will fire again for the same files - and the remote storage will be requested to delete already-deleted files, which then means no time is actually saved by the browser-backend loop method.
|
1836 |
UpdraftPlus_Backup_History::save_history($backups);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1837 |
}
|
1838 |
|
1839 |
continue;
|
@@ -1842,15 +1850,20 @@ class UpdraftPlus_Admin {
|
|
1842 |
if ($remote_deleted == $remote_delete_limit) {
|
1843 |
$timestamps_list = implode(',', $timestamps);
|
1844 |
|
1845 |
-
return $this->remove_backup_set_cleanup(false, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps);
|
1846 |
}
|
1847 |
|
1848 |
$deleted = $remote_obj->delete($file);
|
1849 |
|
1850 |
-
if (
|
1851 |
-
// echo __('Did not know how to delete from this cloud service.', 'updraftplus');
|
1852 |
-
} elseif (false !== $deleted) {
|
1853 |
$remote_deleted++;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1854 |
}
|
1855 |
|
1856 |
$itext = $index ? (string) $index : '';
|
@@ -1886,7 +1899,7 @@ class UpdraftPlus_Admin {
|
|
1886 |
|
1887 |
$timestamps_list = implode(',', $timestamps);
|
1888 |
|
1889 |
-
return $this->remove_backup_set_cleanup(true, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps);
|
1890 |
|
1891 |
}
|
1892 |
|
@@ -1915,10 +1928,11 @@ class UpdraftPlus_Admin {
|
|
1915 |
* @param Integer $sets_removed - how many complete sets were removed
|
1916 |
* @param String $timestamps - a csv of remaining timestamps
|
1917 |
* @param String $deleted_timestamps - a csv of deleted timestamps
|
|
|
1918 |
*
|
1919 |
* @return Array - information on the status, suitable for returning to the UI
|
1920 |
*/
|
1921 |
-
public function remove_backup_set_cleanup($delete_complete, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps, $deleted_timestamps) {
|
1922 |
|
1923 |
global $updraftplus;
|
1924 |
|
@@ -1927,6 +1941,48 @@ class UpdraftPlus_Admin {
|
|
1927 |
UpdraftPlus_Backup_History::save_history($backups);
|
1928 |
|
1929 |
$updraftplus->log("Local files deleted: $local_deleted. Remote files deleted: $remote_deleted");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1930 |
|
1931 |
if ($delete_complete) {
|
1932 |
$set_message = __('Backup sets removed:', 'updraftplus');
|
@@ -1937,29 +1993,31 @@ class UpdraftPlus_Admin {
|
|
1937 |
restore_error_handler();
|
1938 |
}
|
1939 |
|
1940 |
-
return array('result' => 'success', 'set_message' => $set_message, 'local_message' => $local_message, 'remote_message' => $remote_message, 'backup_sets' => $sets_removed, 'backup_local' => $local_deleted, 'backup_remote' => $remote_deleted);
|
1941 |
} else {
|
1942 |
|
1943 |
-
return array('result' => 'continue', 'backup_local' => $local_deleted, 'backup_remote' => $remote_deleted, 'backup_sets' => $sets_removed, 'timestamps' => $timestamps, 'deleted_timestamps' => $deleted_timestamps);
|
1944 |
}
|
1945 |
}
|
1946 |
|
1947 |
/**
|
1948 |
* Get the history status HTML and other information
|
1949 |
*
|
1950 |
-
* @param Boolean $rescan
|
1951 |
-
* @param Boolean $remotescan
|
1952 |
-
* @param Boolean $debug
|
|
|
1953 |
*
|
1954 |
* @return Array - the information requested
|
1955 |
*/
|
1956 |
-
public function get_history_status($rescan, $remotescan, $debug = false) {
|
1957 |
|
1958 |
global $updraftplus;
|
1959 |
|
1960 |
if ($rescan) $messages = UpdraftPlus_Backup_History::rebuild($remotescan, false, $debug);
|
1961 |
$backup_history = UpdraftPlus_Backup_History::get_history();
|
1962 |
-
$output = UpdraftPlus_Backup_History::existing_backup_table($backup_history);
|
|
|
1963 |
$data = array();
|
1964 |
|
1965 |
if (!empty($messages) && is_array($messages)) {
|
@@ -1985,7 +2043,7 @@ class UpdraftPlus_Admin {
|
|
1985 |
}
|
1986 |
|
1987 |
return apply_filters('updraftplus_get_history_status_result', array(
|
1988 |
-
'n' => __('Existing
|
1989 |
't' => $output, // table
|
1990 |
'data' => $data,
|
1991 |
'cksum' => md5($output),
|
@@ -4274,7 +4332,7 @@ class UpdraftPlus_Admin {
|
|
4274 |
}
|
4275 |
|
4276 |
/**
|
4277 |
-
* Get HTML for the 'Upload' button for a particular backup in the 'Existing
|
4278 |
*
|
4279 |
* @param Integer $backup_time - backup timestamp (epoch time)
|
4280 |
* @param String $nonce - backup nonce
|
@@ -4340,7 +4398,7 @@ class UpdraftPlus_Admin {
|
|
4340 |
}
|
4341 |
|
4342 |
/**
|
4343 |
-
* Get HTML for the 'Delete' button for a particular backup in the 'Existing
|
4344 |
*
|
4345 |
* @param Integer $backup_time - backup timestamp (epoch time)
|
4346 |
* @param String $nonce - backup nonce
|
@@ -4872,6 +4930,15 @@ ENDHERE;
|
|
4872 |
$pval = $updraftplus->have_addons ? 1 : 0;
|
4873 |
$sval = (true === $restore_result) ? 1 : 0;
|
4874 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4875 |
$updraftplus->log_restore_update(
|
4876 |
array(
|
4877 |
'type' => 'state',
|
@@ -4879,7 +4946,8 @@ ENDHERE;
|
|
4879 |
'data' => array(
|
4880 |
'actions' => array(
|
4881 |
__('Return to UpdraftPlus configuration', 'updraftplus') => UpdraftPlus_Options::admin_page_url() . '?page=updraftplus&updraft_restore_success=' . $sval . '&pval=' . $pval
|
4882 |
-
)
|
|
|
4883 |
)
|
4884 |
)
|
4885 |
);
|
@@ -5602,10 +5670,13 @@ ENDHERE;
|
|
5602 |
* @param boolean $is_admin_user - a boolean to indicate if the user who requested the clone has clone management permissions
|
5603 |
* @param array $supported_wp_versions - an array of supported WordPress versions
|
5604 |
* @param array $supported_packages - an array of supported clone packages
|
|
|
5605 |
*
|
5606 |
* @return string - the clone UI widget
|
5607 |
*/
|
5608 |
-
public function updraftplus_clone_ui_widget($is_admin_user = false, $supported_wp_versions, $supported_packages) {
|
|
|
|
|
5609 |
$output = '<p class="updraftplus-option updraftplus-option-inline php-version">';
|
5610 |
$output .= '<span class="updraftplus-option-label">'.sprintf(__('%s version:', 'updraftplus'), 'PHP').'</span> ';
|
5611 |
$output .= $this->output_select_data($this->php_versions, 'php');
|
@@ -5616,7 +5687,7 @@ ENDHERE;
|
|
5616 |
$output .= '</p>';
|
5617 |
$output .= '<p class="updraftplus-option updraftplus-option-inline region">';
|
5618 |
$output .= ' <span class="updraftplus-option-label">'.__('Clone region:', 'updraftplus').'</span> ';
|
5619 |
-
$output .= $this->output_select_data($
|
5620 |
$output .= '</p>';
|
5621 |
|
5622 |
$backup_history = UpdraftPlus_Backup_History::get_history();
|
@@ -5636,9 +5707,10 @@ ENDHERE;
|
|
5636 |
|
5637 |
if (!empty($backup_history)) {
|
5638 |
foreach ($backup_history as $key => $backup) {
|
|
|
5639 |
$pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $key), 'M d, Y G:i');
|
5640 |
$label = isset($backup['label']) ? ' ' . $backup['label'] : '';
|
5641 |
-
$output .= '<option value="'.$key. '" data-nonce="'.$backup['nonce'].'" data-timestamp="'.$key.'">' . $pretty_date . $label . '</option>';
|
5642 |
}
|
5643 |
}
|
5644 |
$output .= '</select>';
|
@@ -5647,7 +5719,13 @@ ENDHERE;
|
|
5647 |
if ((defined('UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT') && UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT) || $is_admin_user) {
|
5648 |
$output .= '<p class="updraftplus-option updraftplus-option-inline package">';
|
5649 |
$output .= ' <span class="updraftplus-option-label">'.__('Clone package:', 'updraftplus').'</span> ';
|
5650 |
-
$output .=
|
|
|
|
|
|
|
|
|
|
|
|
|
5651 |
$output .= '</p>';
|
5652 |
$output .= '<p class="updraftplus-option updraftplus-option-inline updraftclone-branch">';
|
5653 |
$output .= ' <span class="updraftplus-option-label">UpdraftClone Branch:</span> ';
|
18 |
private $auth_instance_ids = array('dropbox' => array(), 'onedrive' => array(), 'googledrive' => array(), 'googlecloud' => array());
|
19 |
|
20 |
private $php_versions = array('5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4');
|
|
|
|
|
21 |
|
22 |
private $storage_service_without_settings;
|
23 |
|
822 |
'errordata' => __('Error data:', 'updraftplus'),
|
823 |
'error' => __('Error:', 'updraftplus'),
|
824 |
'errornocolon' => __('Error', 'updraftplus'),
|
825 |
+
'existing_backups' => __('Existing backups', 'updraftplus'),
|
826 |
'fileready' => __('File ready.', 'updraftplus'),
|
827 |
'actions' => __('Actions', 'updraftplus'),
|
828 |
'deletefromserver' => __('Delete from your web server', 'updraftplus'),
|
984 |
'preparing_backup_files' => __('Preparing backup files', 'updraftplus'),
|
985 |
'ajax_restore_contact_failed' => __('Attempts by the browser to contact the website failed.', 'updraftplus'),
|
986 |
'ajax_restore_error' => __('Restore error:', 'updraftplus'),
|
987 |
+
'ajax_restore_404_detected' => '<div class="notice notice-warning" style="margin: 0px; padding: 5px;"><p><span class="dashicons dashicons-warning"></span> <strong>'. __('Warning:', 'updraftplus') . '</strong></p><p>' . __('Attempts by the browser to access some pages have returned a "not found (404)" error. This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism.', 'updraftplus'). '</p><p>'.__('Missing pages:', 'updraftplus').'</p><ul class="updraft_missing_pages"></ul><a target="_blank" href="https://updraftplus.com/faqs/migrating-site-front-page-works-pages-give-404-error/">'.__('Follow this link for more information', 'updraftplus').'.</a></div>',
|
988 |
+
'delete_error_log_prompt' => __('Please check the error log for more details', 'updraftplus'),
|
989 |
+
'existing_backups_limit' => defined('UPDRAFTPLUS_EXISTING_BACKUPS_LIMIT') ? UPDRAFTPLUS_EXISTING_BACKUPS_LIMIT : 100,
|
990 |
));
|
991 |
}
|
992 |
|
1737 |
$local_deleted = 0;
|
1738 |
$remote_deleted = 0;
|
1739 |
$sets_removed = 0;
|
1740 |
+
|
1741 |
+
$deletion_errors = array();
|
1742 |
|
1743 |
foreach ($timestamps as $i => $timestamp) {
|
1744 |
|
1823 |
if ($remote_deleted == $remote_delete_limit) {
|
1824 |
$timestamps_list = implode(',', $timestamps);
|
1825 |
|
1826 |
+
return $this->remove_backup_set_cleanup(false, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps, $deletion_errors);
|
1827 |
}
|
1828 |
|
1829 |
$deleted = $remote_obj->delete($files);
|
1830 |
|
1831 |
+
if (true === $deleted) {
|
|
|
|
|
1832 |
$remote_deleted = $remote_deleted + count($files);
|
1833 |
|
1834 |
unset($backups[$timestamp][$key]);
|
1835 |
|
1836 |
// If we don't save the array back, then the above section will fire again for the same files - and the remote storage will be requested to delete already-deleted files, which then means no time is actually saved by the browser-backend loop method.
|
1837 |
UpdraftPlus_Backup_History::save_history($backups);
|
1838 |
+
} else {
|
1839 |
+
// Handle abstracted error codes/return fail status. Including handle array/objects returned
|
1840 |
+
if (is_object($deleted) || is_array($deleted)) $deleted = false;
|
1841 |
+
|
1842 |
+
if (!array_key_exists($instance_id, $deletion_errors)) {
|
1843 |
+
$deletion_errors[$instance_id] = array('error_code' => $deleted, 'service' => $service);
|
1844 |
+
}
|
1845 |
}
|
1846 |
|
1847 |
continue;
|
1850 |
if ($remote_deleted == $remote_delete_limit) {
|
1851 |
$timestamps_list = implode(',', $timestamps);
|
1852 |
|
1853 |
+
return $this->remove_backup_set_cleanup(false, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps, $deletion_errors);
|
1854 |
}
|
1855 |
|
1856 |
$deleted = $remote_obj->delete($file);
|
1857 |
|
1858 |
+
if (true === $deleted) {
|
|
|
|
|
1859 |
$remote_deleted++;
|
1860 |
+
} else {
|
1861 |
+
// Handle abstracted error codes/return fail status. Including handle array/objects returned
|
1862 |
+
if (is_object($deleted) || is_array($deleted)) $deleted = false;
|
1863 |
+
|
1864 |
+
if (!array_key_exists($instance_id, $deletion_errors)) {
|
1865 |
+
$deletion_errors[$instance_id] = array('error_code' => $deleted, 'service' => $service);
|
1866 |
+
}
|
1867 |
}
|
1868 |
|
1869 |
$itext = $index ? (string) $index : '';
|
1899 |
|
1900 |
$timestamps_list = implode(',', $timestamps);
|
1901 |
|
1902 |
+
return $this->remove_backup_set_cleanup(true, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps_list, $deleted_timestamps, $deletion_errors);
|
1903 |
|
1904 |
}
|
1905 |
|
1928 |
* @param Integer $sets_removed - how many complete sets were removed
|
1929 |
* @param String $timestamps - a csv of remaining timestamps
|
1930 |
* @param String $deleted_timestamps - a csv of deleted timestamps
|
1931 |
+
* @param Array $deletion_errors - an array of abstracted deletion errors, consisting of [error_code, service, instance]. For user notification purposes only, main error logging occurs at service.
|
1932 |
*
|
1933 |
* @return Array - information on the status, suitable for returning to the UI
|
1934 |
*/
|
1935 |
+
public function remove_backup_set_cleanup($delete_complete, $backups, $local_deleted, $remote_deleted, $sets_removed, $timestamps, $deleted_timestamps, $deletion_errors = array()) {
|
1936 |
|
1937 |
global $updraftplus;
|
1938 |
|
1941 |
UpdraftPlus_Backup_History::save_history($backups);
|
1942 |
|
1943 |
$updraftplus->log("Local files deleted: $local_deleted. Remote files deleted: $remote_deleted");
|
1944 |
+
|
1945 |
+
/*
|
1946 |
+
Disable until next release
|
1947 |
+
$error_messages = array();
|
1948 |
+
$storage_details = array();
|
1949 |
+
|
1950 |
+
foreach ($deletion_errors as $instance => $entry) {
|
1951 |
+
$service = $entry['service'];
|
1952 |
+
|
1953 |
+
if (!array_key_exists($service, $storage_details)) {
|
1954 |
+
// As errors from multiple instances of a service can be present, store the service storage object for possible use later
|
1955 |
+
$new_service = UpdraftPlus_Storage_Methods_Interface::get_storage_objects_and_ids(array($service));
|
1956 |
+
$storage_details = array_merge($storage_details, $new_service);
|
1957 |
+
}
|
1958 |
+
|
1959 |
+
$intance_label = !empty($storage_details[$service]['instance_settings'][$instance]['instance_label']) ? $storage_details[$service]['instance_settings'][$instance]['instance_label'] : $service;
|
1960 |
+
|
1961 |
+
switch ($entry['error_code']) {
|
1962 |
+
case 'authentication_fail':
|
1963 |
+
$error_messages[] = sprintf(__("The authentication failed for '%s'.", 'updraftplus').' '.__('Please check your credentials.', 'updraftplus'), $intance_label);
|
1964 |
+
break;
|
1965 |
+
case 'service_unavailable':
|
1966 |
+
$error_messages[] = sprintf(__("We were unable to access '%s'.", 'updraftplus').' '.__('Service unavailable.', 'updraftplus'), $intance_label);
|
1967 |
+
break;
|
1968 |
+
case 'container_access_error':
|
1969 |
+
$error_messages[] = sprintf(__("We were unable to access the folder/container for '%s'.", 'updraftplus').' '.__('Please check your permissions.', 'updraftplus'), $intance_label);
|
1970 |
+
break;
|
1971 |
+
case 'file_access_error':
|
1972 |
+
$error_messages[] = sprintf(__("We were unable to access a file on '%s'.", 'updraftplus').' '.__('Please check your permissions.', 'updraftplus'), $intance_label);
|
1973 |
+
break;
|
1974 |
+
case 'file_delete_error':
|
1975 |
+
$error_messages[] = sprintf(__("We were unable to delete a file on '%s'.", 'updraftplus').' '.__('The file may no longer exist or you may not have permission to delete.', 'updraftplus'), $intance_label);
|
1976 |
+
break;
|
1977 |
+
default:
|
1978 |
+
$error_messages[] = sprintf(__("An error occurred while attempting to delete from '%s'.", 'updraftplus'), $intance_label);
|
1979 |
+
break;
|
1980 |
+
}
|
1981 |
+
}
|
1982 |
+
*/
|
1983 |
+
|
1984 |
+
// $error_message_string = implode("\n", $error_messages);
|
1985 |
+
$error_message_string = '';
|
1986 |
|
1987 |
if ($delete_complete) {
|
1988 |
$set_message = __('Backup sets removed:', 'updraftplus');
|
1993 |
restore_error_handler();
|
1994 |
}
|
1995 |
|
1996 |
+
return array('result' => 'success', 'set_message' => $set_message, 'local_message' => $local_message, 'remote_message' => $remote_message, 'backup_sets' => $sets_removed, 'backup_local' => $local_deleted, 'backup_remote' => $remote_deleted, 'error_messages' => $error_message_string);
|
1997 |
} else {
|
1998 |
|
1999 |
+
return array('result' => 'continue', 'backup_local' => $local_deleted, 'backup_remote' => $remote_deleted, 'backup_sets' => $sets_removed, 'timestamps' => $timestamps, 'deleted_timestamps' => $deleted_timestamps, 'error_messages' => $error_message_string);
|
2000 |
}
|
2001 |
}
|
2002 |
|
2003 |
/**
|
2004 |
* Get the history status HTML and other information
|
2005 |
*
|
2006 |
+
* @param Boolean $rescan - whether to rescan local storage first
|
2007 |
+
* @param Boolean $remotescan - whether to rescan remote storage first
|
2008 |
+
* @param Boolean $debug - whether to return debugging information also
|
2009 |
+
* @param Integer $backup_count - a count of the total backups we want to display on the front end for use by UpdraftPlus_Backup_History::existing_backup_table()
|
2010 |
*
|
2011 |
* @return Array - the information requested
|
2012 |
*/
|
2013 |
+
public function get_history_status($rescan, $remotescan, $debug = false, $backup_count = 0) {
|
2014 |
|
2015 |
global $updraftplus;
|
2016 |
|
2017 |
if ($rescan) $messages = UpdraftPlus_Backup_History::rebuild($remotescan, false, $debug);
|
2018 |
$backup_history = UpdraftPlus_Backup_History::get_history();
|
2019 |
+
$output = UpdraftPlus_Backup_History::existing_backup_table($backup_history, $backup_count);
|
2020 |
+
|
2021 |
$data = array();
|
2022 |
|
2023 |
if (!empty($messages) && is_array($messages)) {
|
2043 |
}
|
2044 |
|
2045 |
return apply_filters('updraftplus_get_history_status_result', array(
|
2046 |
+
'n' => __('Existing backups', 'updraftplus').' <span class="updraft_existing_backups_count">'.count($backup_history).'</span>',
|
2047 |
't' => $output, // table
|
2048 |
'data' => $data,
|
2049 |
'cksum' => md5($output),
|
4332 |
}
|
4333 |
|
4334 |
/**
|
4335 |
+
* Get HTML for the 'Upload' button for a particular backup in the 'Existing backups' tab
|
4336 |
*
|
4337 |
* @param Integer $backup_time - backup timestamp (epoch time)
|
4338 |
* @param String $nonce - backup nonce
|
4398 |
}
|
4399 |
|
4400 |
/**
|
4401 |
+
* Get HTML for the 'Delete' button for a particular backup in the 'Existing backups' tab
|
4402 |
*
|
4403 |
* @param Integer $backup_time - backup timestamp (epoch time)
|
4404 |
* @param String $nonce - backup nonce
|
4930 |
$pval = $updraftplus->have_addons ? 1 : 0;
|
4931 |
$sval = (true === $restore_result) ? 1 : 0;
|
4932 |
|
4933 |
+
$pages = get_pages(array('number' => 2));
|
4934 |
+
$page_urls = array(
|
4935 |
+
'home' => get_home_url(),
|
4936 |
+
);
|
4937 |
+
|
4938 |
+
foreach ($pages as $page_info) {
|
4939 |
+
$page_urls[$page_info->post_name] = get_page_link($page_info->ID);
|
4940 |
+
}
|
4941 |
+
|
4942 |
$updraftplus->log_restore_update(
|
4943 |
array(
|
4944 |
'type' => 'state',
|
4946 |
'data' => array(
|
4947 |
'actions' => array(
|
4948 |
__('Return to UpdraftPlus configuration', 'updraftplus') => UpdraftPlus_Options::admin_page_url() . '?page=updraftplus&updraft_restore_success=' . $sval . '&pval=' . $pval
|
4949 |
+
),
|
4950 |
+
'urls' => $page_urls,
|
4951 |
)
|
4952 |
)
|
4953 |
);
|
5670 |
* @param boolean $is_admin_user - a boolean to indicate if the user who requested the clone has clone management permissions
|
5671 |
* @param array $supported_wp_versions - an array of supported WordPress versions
|
5672 |
* @param array $supported_packages - an array of supported clone packages
|
5673 |
+
* @param array $supported_regions - an array of supported clone regions
|
5674 |
*
|
5675 |
* @return string - the clone UI widget
|
5676 |
*/
|
5677 |
+
public function updraftplus_clone_ui_widget($is_admin_user = false, $supported_wp_versions, $supported_packages, $supported_regions) {
|
5678 |
+
global $updraftplus;
|
5679 |
+
|
5680 |
$output = '<p class="updraftplus-option updraftplus-option-inline php-version">';
|
5681 |
$output .= '<span class="updraftplus-option-label">'.sprintf(__('%s version:', 'updraftplus'), 'PHP').'</span> ';
|
5682 |
$output .= $this->output_select_data($this->php_versions, 'php');
|
5687 |
$output .= '</p>';
|
5688 |
$output .= '<p class="updraftplus-option updraftplus-option-inline region">';
|
5689 |
$output .= ' <span class="updraftplus-option-label">'.__('Clone region:', 'updraftplus').'</span> ';
|
5690 |
+
$output .= $this->output_select_data($supported_regions, 'region');
|
5691 |
$output .= '</p>';
|
5692 |
|
5693 |
$backup_history = UpdraftPlus_Backup_History::get_history();
|
5707 |
|
5708 |
if (!empty($backup_history)) {
|
5709 |
foreach ($backup_history as $key => $backup) {
|
5710 |
+
$total_size = round($updraftplus->get_total_backup_size($backup) / 1073741824, 1);
|
5711 |
$pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $key), 'M d, Y G:i');
|
5712 |
$label = isset($backup['label']) ? ' ' . $backup['label'] : '';
|
5713 |
+
$output .= '<option value="'.$key. '" data-nonce="'.$backup['nonce'].'" data-timestamp="'.$key.'" data-size="'.$total_size.'">' . $pretty_date . $label . '</option>';
|
5714 |
}
|
5715 |
}
|
5716 |
$output .= '</select>';
|
5719 |
if ((defined('UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT') && UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT) || $is_admin_user) {
|
5720 |
$output .= '<p class="updraftplus-option updraftplus-option-inline package">';
|
5721 |
$output .= ' <span class="updraftplus-option-label">'.__('Clone package:', 'updraftplus').'</span> ';
|
5722 |
+
$output .= '<select id="updraftplus_clone_package_options" name="updraftplus_clone_package_options" data-package_version="starter">';
|
5723 |
+
foreach ($supported_packages as $key => $value) {
|
5724 |
+
$output .= "<option value=\"$key\" data-size=\"$value\"";
|
5725 |
+
if ('starter' == $key) $output .= 'selected="selected"';
|
5726 |
+
$output .= ">".htmlspecialchars($key) . ('starter' == $key ? ' ' . __('(current version)', 'updraftplus') : '')."</option>\n";
|
5727 |
+
}
|
5728 |
+
$output .= '</select>';
|
5729 |
$output .= '</p>';
|
5730 |
$output .= '<p class="updraftplus-option updraftplus-option-inline updraftclone-branch">';
|
5731 |
$output .= ' <span class="updraftplus-option-label">UpdraftClone Branch:</span> ';
|
@@ -1715,12 +1715,14 @@ class UpdraftPlus_Backup {
|
|
1715 |
if ($table_triggers) {
|
1716 |
$this->stow("\n\n# Triggers of ".UpdraftPlus_Manipulation_Functions::backquote($table)."\n\n");
|
1717 |
foreach ($table_triggers as $trigger) {
|
1718 |
-
$trigger_name =
|
1719 |
$trigger_time = $trigger['Timing'];
|
1720 |
$trigger_event = $trigger['Event'];
|
1721 |
$trigger_statement = $trigger['Statement'];
|
1722 |
-
|
1723 |
-
$
|
|
|
|
|
1724 |
$this->stow("$trigger_query\n\n");
|
1725 |
}
|
1726 |
}
|
@@ -3009,6 +3011,7 @@ class UpdraftPlus_Backup {
|
|
3009 |
// N.B., Since makezip_addfiles() can get called more than once if there were errors detected, potentially $zipfiles_added_thisrun can exceed the total number of batched files (if they get processed twice).
|
3010 |
$this->zipfiles_added_thisrun++;
|
3011 |
$files_zipadded_since_open[] = array('file' => $file, 'addas' => $add_as);
|
|
|
3012 |
|
3013 |
$data_added_since_reopen += $fsize;
|
3014 |
// $data_added_this_resumption += $fsize;
|
1715 |
if ($table_triggers) {
|
1716 |
$this->stow("\n\n# Triggers of ".UpdraftPlus_Manipulation_Functions::backquote($table)."\n\n");
|
1717 |
foreach ($table_triggers as $trigger) {
|
1718 |
+
$trigger_name = $trigger['Trigger'];
|
1719 |
$trigger_time = $trigger['Timing'];
|
1720 |
$trigger_event = $trigger['Event'];
|
1721 |
$trigger_statement = $trigger['Statement'];
|
1722 |
+
// Since trigger name can include backquotes and trigger name is typically enclosed with backquotes as well, the backquote escaping for the trigger name can be done by adding a leading backquote
|
1723 |
+
$quoted_escaped_trigger_name = UpdraftPlus_Manipulation_Functions::backquote(str_replace('`', '``', $trigger_name));
|
1724 |
+
$this->stow("DROP TRIGGER IF EXISTS $quoted_escaped_trigger_name;;\n");
|
1725 |
+
$trigger_query = "CREATE TRIGGER $quoted_escaped_trigger_name $trigger_time $trigger_event ON ".UpdraftPlus_Manipulation_Functions::backquote($table)." FOR EACH ROW $trigger_statement;;";
|
1726 |
$this->stow("$trigger_query\n\n");
|
1727 |
}
|
1728 |
}
|
3011 |
// N.B., Since makezip_addfiles() can get called more than once if there were errors detected, potentially $zipfiles_added_thisrun can exceed the total number of batched files (if they get processed twice).
|
3012 |
$this->zipfiles_added_thisrun++;
|
3013 |
$files_zipadded_since_open[] = array('file' => $file, 'addas' => $add_as);
|
3014 |
+
$updraftplus->log_remove_warning('vlargefile_'.md5($this->whichone.'#'.$add_as));
|
3015 |
|
3016 |
$data_added_since_reopen += $fsize;
|
3017 |
// $data_added_this_resumption += $fsize;
|
@@ -45,7 +45,7 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
45 |
// These are different from the remote send keys, which are set up in the Migrator add-on
|
46 |
$our_keys = UpdraftPlus_Options::get_updraft_option('updraft_central_localkeys');
|
47 |
if (is_array($our_keys) && !empty($our_keys)) {
|
48 |
-
|
49 |
}
|
50 |
|
51 |
}
|
@@ -305,9 +305,7 @@ class UpdraftPlus_UpdraftCentral_Main {
|
|
305 |
|
306 |
$ud_rpc = $updraftplus->get_udrpc($indicator_name);
|
307 |
|
308 |
-
$send_to_updraftpluscom = false;
|
309 |
if ('__updraftpluscom' == $post_it) {
|
310 |
-
$send_to_updraftpluscom = true;
|
311 |
$post_it = defined('UPDRAFTPLUS_OVERRIDE_UDCOM_DESTINATION') ? UPDRAFTPLUS_OVERRIDE_UDCOM_DESTINATION : 'https://updraftplus.com/?updraftcentral_action=receive_key';
|
312 |
$post_it_description = 'UpdraftPlus.Com';
|
313 |
} else {
|
45 |
// These are different from the remote send keys, which are set up in the Migrator add-on
|
46 |
$our_keys = UpdraftPlus_Options::get_updraft_option('updraft_central_localkeys');
|
47 |
if (is_array($our_keys) && !empty($our_keys)) {
|
48 |
+
new UpdraftPlus_UpdraftCentral_Listener($our_keys, $command_classes);
|
49 |
}
|
50 |
|
51 |
}
|
305 |
|
306 |
$ud_rpc = $updraftplus->get_udrpc($indicator_name);
|
307 |
|
|
|
308 |
if ('__updraftpluscom' == $post_it) {
|
|
|
309 |
$post_it = defined('UPDRAFTPLUS_OVERRIDE_UDCOM_DESTINATION') ? UPDRAFTPLUS_OVERRIDE_UDCOM_DESTINATION : 'https://updraftplus.com/?updraftcentral_action=receive_key';
|
310 |
$post_it_description = 'UpdraftPlus.Com';
|
311 |
} else {
|
@@ -4,7 +4,7 @@ if (!defined('ABSPATH')) die('No direct access.');
|
|
4 |
|
5 |
class Automatic_Upgrader_Skin extends Automatic_Upgrader_Skin_Main {
|
6 |
|
7 |
-
public function feedback($string, ...$args) { // phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ellipsisFound -- spread operator is not supported in PHP < 5.5 but WP 5.3 supports PHP 5.6 minimum
|
8 |
parent::updraft_feedback($string);
|
9 |
}
|
10 |
}
|
4 |
|
5 |
class Automatic_Upgrader_Skin extends Automatic_Upgrader_Skin_Main {
|
6 |
|
7 |
+
public function feedback($string, ...$args) { // phpcs:ignore PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ellipsisFound, VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable -- spread operator is not supported in PHP < 5.5 but WP 5.3 supports PHP 5.6 minimum
|
8 |
parent::updraft_feedback($string);
|
9 |
}
|
10 |
}
|
@@ -54,7 +54,7 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
54 |
$ud_rpc->activate_replay_protection();
|
55 |
if (!empty($key['extra_info']) && isset($key['extra_info']['mothership'])) {
|
56 |
$mothership = $key['extra_info']['mothership'];
|
57 |
-
|
58 |
if ('__updraftpluscom' == $mothership) {
|
59 |
$url = 'https://updraftplus.com';
|
60 |
} elseif (false != ($parsed = parse_url($key['extra_info']['mothership'])) && is_array($parsed)) {
|
@@ -73,8 +73,10 @@ class UpdraftPlus_UpdraftCentral_Listener {
|
|
73 |
if (!empty($_GET['login_id']) && is_numeric($_GET['login_id']) && !empty($_GET['login_key'])) {
|
74 |
$login_user = get_user_by('id', $_GET['login_id']);
|
75 |
|
|
|
76 |
include_once(ABSPATH.WPINC.'/version.php');
|
77 |
-
|
|
|
78 |
// Allow site implementers to disable this functionality
|
79 |
$allow_autologin = apply_filters('updraftcentral_allow_autologin', true, $login_user);
|
80 |
if ($allow_autologin) {
|
54 |
$ud_rpc->activate_replay_protection();
|
55 |
if (!empty($key['extra_info']) && isset($key['extra_info']['mothership'])) {
|
56 |
$mothership = $key['extra_info']['mothership'];
|
57 |
+
$url = '';
|
58 |
if ('__updraftpluscom' == $mothership) {
|
59 |
$url = 'https://updraftplus.com';
|
60 |
} elseif (false != ($parsed = parse_url($key['extra_info']['mothership'])) && is_array($parsed)) {
|
73 |
if (!empty($_GET['login_id']) && is_numeric($_GET['login_id']) && !empty($_GET['login_key'])) {
|
74 |
$login_user = get_user_by('id', $_GET['login_id']);
|
75 |
|
76 |
+
// THis is included so we can get $wp_version
|
77 |
include_once(ABSPATH.WPINC.'/version.php');
|
78 |
+
|
79 |
+
if (is_a($login_user, 'WP_User') || (version_compare($wp_version, '3.5', '<') && !empty($login_user->ID))) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
80 |
// Allow site implementers to disable this functionality
|
81 |
$allow_autologin = apply_filters('updraftcentral_allow_autologin', true, $login_user);
|
82 |
if ($allow_autologin) {
|
@@ -119,7 +119,7 @@ class UpdraftCentral_Analytics_Commands extends UpdraftCentral_Commands {
|
|
119 |
$result['tracking_id'] = $output['tracking_id'];
|
120 |
|
121 |
// If it was not found, then now try the footer
|
122 |
-
if (empty($tracking_id)) {
|
123 |
// Retrieve footer content
|
124 |
ob_start();
|
125 |
do_action('wp_footer');
|
@@ -129,8 +129,8 @@ class UpdraftCentral_Analytics_Commands extends UpdraftCentral_Commands {
|
|
129 |
$result['tracking_id'] = $output['tracking_id'];
|
130 |
}
|
131 |
|
132 |
-
if (!empty($tracking_id)) {
|
133 |
-
set_transient($this->tracking_id_key, $tracking_id, $this->expiration);
|
134 |
}
|
135 |
|
136 |
return $result;
|
119 |
$result['tracking_id'] = $output['tracking_id'];
|
120 |
|
121 |
// If it was not found, then now try the footer
|
122 |
+
if (empty($result['tracking_id'])) {
|
123 |
// Retrieve footer content
|
124 |
ob_start();
|
125 |
do_action('wp_footer');
|
129 |
$result['tracking_id'] = $output['tracking_id'];
|
130 |
}
|
131 |
|
132 |
+
if (!empty($result['tracking_id'])) {
|
133 |
+
set_transient($this->tracking_id_key, $result['tracking_id'], $this->expiration);
|
134 |
}
|
135 |
|
136 |
return $result;
|
@@ -43,7 +43,6 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
43 |
if (1 === $error_flag) break;
|
44 |
} else {
|
45 |
|
46 |
-
$class_prefix = $command_info['class_prefix'];
|
47 |
$action = $command_info['command'];
|
48 |
$command_php_class = $command_info['command_php_class'];
|
49 |
|
@@ -326,6 +325,8 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
326 |
public function site_info() {
|
327 |
|
328 |
global $wpdb;
|
|
|
|
|
329 |
@include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
330 |
|
331 |
$ud_version = is_a($this->ud, 'UpdraftPlus') ? $this->ud->version : 'none';
|
@@ -334,7 +335,7 @@ class UpdraftCentral_Core_Commands extends UpdraftCentral_Commands {
|
|
334 |
'versions' => array(
|
335 |
'ud' => $ud_version,
|
336 |
'php' => PHP_VERSION,
|
337 |
-
'wp' => $wp_version
|
338 |
'mysql' => $wpdb->db_version(),
|
339 |
'udrpc_php' => $this->rc->udrpc_version,
|
340 |
),
|
43 |
if (1 === $error_flag) break;
|
44 |
} else {
|
45 |
|
|
|
46 |
$action = $command_info['command'];
|
47 |
$command_php_class = $command_info['command_php_class'];
|
48 |
|
325 |
public function site_info() {
|
326 |
|
327 |
global $wpdb;
|
328 |
+
|
329 |
+
// THis is included so we can get $wp_version
|
330 |
@include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
331 |
|
332 |
$ud_version = is_a($this->ud, 'UpdraftPlus') ? $this->ud->version : 'none';
|
335 |
'versions' => array(
|
336 |
'ud' => $ud_version,
|
337 |
'php' => PHP_VERSION,
|
338 |
+
'wp' => $wp_version,// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
339 |
'mysql' => $wpdb->db_version(),
|
340 |
'udrpc_php' => $this->rc->udrpc_version,
|
341 |
),
|
@@ -37,7 +37,7 @@ class UpdraftCentral_Media_Commands extends UpdraftCentral_Commands {
|
|
37 |
*
|
38 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
39 |
*/
|
40 |
-
public function _post_action($command, $data, $extra_info) {// phpcs:ignore
|
41 |
// Here, we're restoring to the current (default) blog before we switched
|
42 |
if ($this->switched) restore_current_blog();
|
43 |
}
|
@@ -80,7 +80,6 @@ class UpdraftCentral_Media_Commands extends UpdraftCentral_Commands {
|
|
80 |
}
|
81 |
|
82 |
if (!empty($params['date'])) {
|
83 |
-
$date = $params['date'];
|
84 |
list($monthnum, $year) = explode(':', $params['date']);
|
85 |
|
86 |
$args['monthnum'] = $monthnum;
|
37 |
*
|
38 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
39 |
*/
|
40 |
+
public function _post_action($command, $data, $extra_info) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
41 |
// Here, we're restoring to the current (default) blog before we switched
|
42 |
if ($this->switched) restore_current_blog();
|
43 |
}
|
80 |
}
|
81 |
|
82 |
if (!empty($params['date'])) {
|
|
|
83 |
list($monthnum, $year) = explode(':', $params['date']);
|
84 |
|
85 |
$args['monthnum'] = $monthnum;
|
@@ -19,7 +19,7 @@ class UpdraftCentral_Plugin_Commands extends UpdraftCentral_Commands {
|
|
19 |
*
|
20 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
21 |
*/
|
22 |
-
public function _pre_action($command, $data, $extra_info) {
|
23 |
// Here we assign the current blog_id to a variable $blog_id
|
24 |
$blog_id = get_current_blog_id();
|
25 |
if (!empty($data['site_id'])) $blog_id = $data['site_id'];
|
@@ -38,7 +38,7 @@ class UpdraftCentral_Plugin_Commands extends UpdraftCentral_Commands {
|
|
38 |
*
|
39 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
40 |
*/
|
41 |
-
public function _post_action($command, $data, $extra_info) {// phpcs:ignore
|
42 |
// Here, we're restoring to the current (default) blog before we switched
|
43 |
if ($this->switched) restore_current_blog();
|
44 |
}
|
19 |
*
|
20 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
21 |
*/
|
22 |
+
public function _pre_action($command, $data, $extra_info) {
|
23 |
// Here we assign the current blog_id to a variable $blog_id
|
24 |
$blog_id = get_current_blog_id();
|
25 |
if (!empty($data['site_id'])) $blog_id = $data['site_id'];
|
38 |
*
|
39 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
40 |
*/
|
41 |
+
public function _post_action($command, $data, $extra_info) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
42 |
// Here, we're restoring to the current (default) blog before we switched
|
43 |
if ($this->switched) restore_current_blog();
|
44 |
}
|
@@ -18,7 +18,7 @@ class UpdraftCentral_Posts_Commands extends UpdraftCentral_Commands {
|
|
18 |
*
|
19 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
20 |
*/
|
21 |
-
public function _pre_action($command, $data, $extra_info) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
22 |
// Here we assign the current blog_id to a variable $blog_id
|
23 |
$blog_id = get_current_blog_id();
|
24 |
if (!empty($data['site_id'])) $blog_id = $data['site_id'];
|
@@ -37,732 +37,1314 @@ class UpdraftCentral_Posts_Commands extends UpdraftCentral_Commands {
|
|
37 |
*
|
38 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
39 |
*/
|
40 |
-
public function _post_action($command, $data, $extra_info) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
41 |
// Here, we're restoring to the current (default) blog before we switched
|
42 |
if ($this->switched) restore_current_blog();
|
43 |
}
|
44 |
-
|
45 |
/**
|
46 |
-
*
|
47 |
*
|
48 |
-
* @param
|
49 |
* @return array
|
50 |
-
*
|
51 |
-
* @link {https://developer.wordpress.org/reference/functions/get_posts/}
|
52 |
-
* @link {https://developer.wordpress.org/reference/functions/wp_count_posts}
|
53 |
-
* @link {https://developer.wordpress.org/reference/functions/get_the_author_meta/}
|
54 |
-
* @link {https://developer.wordpress.org/reference/functions/get_the_category}
|
55 |
*/
|
56 |
-
public function
|
|
|
|
|
57 |
|
58 |
-
if
|
59 |
-
|
60 |
-
// check paged parameter; if empty set to 1
|
61 |
$paged = !empty($params['paged']) ? (int) $params['paged'] : 1;
|
|
|
|
|
62 |
|
63 |
$args = array(
|
64 |
-
'posts_per_page' => $
|
65 |
'paged' => $paged,
|
|
|
66 |
'post_type' => 'post',
|
67 |
-
'post_status' =>
|
68 |
);
|
69 |
|
70 |
-
if (!empty($params['
|
71 |
-
$
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
74 |
|
75 |
-
// Using default function get_posts to fetch all posts object from passed parameters
|
76 |
-
// Count all fetch posts objects
|
77 |
-
// get total fetch posts and divide to number of posts for pagination
|
78 |
$query = new WP_Query($args);
|
79 |
$result = $query->posts;
|
80 |
|
81 |
-
$count_posts = $query->found_posts;
|
82 |
$page_count = 0;
|
83 |
-
$postdata = array();
|
84 |
|
85 |
-
if (
|
86 |
-
$page_count = absint(
|
87 |
-
$remainder = absint(
|
88 |
-
|
89 |
$page_count = ($remainder > 0) ? ++$page_count : $page_count;
|
90 |
}
|
91 |
|
92 |
$info = array(
|
93 |
'page' => $paged,
|
94 |
'pages' => $page_count,
|
95 |
-
'results' => $count_posts
|
|
|
|
|
96 |
);
|
97 |
|
98 |
-
|
99 |
-
|
100 |
-
'count' => $page_count,
|
101 |
-
'paged' => $paged,
|
102 |
-
'info' => $info
|
103 |
-
);
|
104 |
-
return $this->_generic_error_response('post_not_found_with_keyword', $error_data);
|
105 |
-
} else {
|
106 |
foreach ($result as $post) {
|
107 |
-
//
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
|
110 |
-
|
111 |
-
|
|
|
|
|
|
|
|
|
112 |
|
113 |
-
|
114 |
-
|
|
|
|
|
|
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
$cat_array[] = $category->name;
|
119 |
-
}
|
120 |
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
|
|
129 |
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
|
|
|
|
|
|
139 |
}
|
140 |
|
141 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
}
|
143 |
|
144 |
/**
|
145 |
-
*
|
146 |
*
|
147 |
-
* @param array $params An array containing the "site_id" and "ID" parameters needed to pull a single post
|
148 |
* @return array
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
*
|
150 |
-
* @
|
151 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
152 |
*/
|
153 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
|
155 |
-
|
156 |
-
|
157 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
}
|
159 |
|
160 |
-
|
161 |
-
|
162 |
|
163 |
-
|
164 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
165 |
|
166 |
-
|
167 |
-
|
168 |
|
169 |
-
|
170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
|
174 |
-
$categories =
|
|
|
175 |
|
176 |
-
if (
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
|
|
183 |
|
184 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
|
|
|
|
|
|
|
|
192 |
|
193 |
-
|
194 |
-
|
195 |
-
'visibility' => $visibility,
|
196 |
-
'categories' => $categories,
|
197 |
-
'message' => "found_post"
|
198 |
-
);
|
199 |
|
200 |
-
|
|
|
201 |
}
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
}
|
204 |
|
205 |
/**
|
206 |
-
*
|
207 |
*
|
208 |
-
* @param
|
209 |
* @return array
|
210 |
-
*
|
211 |
-
* @link {https://developer.wordpress.org/reference/functions/get_categories/}
|
212 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
213 |
*/
|
214 |
-
public function
|
|
|
|
|
|
|
|
|
|
|
215 |
|
216 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
|
218 |
-
$
|
219 |
-
$
|
220 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
226 |
|
227 |
-
|
228 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
229 |
}
|
230 |
|
231 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
232 |
}
|
233 |
|
234 |
/**
|
235 |
-
*
|
236 |
*
|
237 |
-
* @param
|
238 |
-
* @return array
|
239 |
-
*
|
240 |
-
* @link {https://developer.wordpress.org/reference/functions/get_categories/}
|
241 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
242 |
*/
|
243 |
-
|
|
|
|
|
244 |
|
245 |
-
$
|
246 |
-
$
|
247 |
-
$
|
248 |
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
$term->selected = 1;
|
261 |
-
}
|
262 |
-
}
|
263 |
}
|
264 |
-
|
265 |
-
$arrobj[] = $category;
|
266 |
|
267 |
-
return
|
|
|
|
|
|
|
|
|
|
|
268 |
}
|
269 |
|
270 |
/**
|
271 |
-
*
|
272 |
-
*
|
273 |
-
*
|
274 |
-
* @param array $post_array Default post_type "post" and basic parameters post_title, post_content, category, post_status
|
275 |
-
* @return array - Containing information whether the process was successful or not.
|
276 |
-
* Post ID on success, custom error object on failure.
|
277 |
*
|
278 |
-
* @
|
279 |
-
* @
|
280 |
-
* @
|
281 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
282 |
*/
|
283 |
-
public function
|
|
|
284 |
|
285 |
-
|
286 |
-
|
287 |
-
|
|
|
288 |
}
|
289 |
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
|
|
|
|
|
|
294 |
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
$post_title = $post_array['post_title'];
|
299 |
-
$post_content = $post_array['post_content'];
|
300 |
-
$post_status = $post_array['post_status'];
|
301 |
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
|
|
310 |
|
311 |
-
|
312 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
313 |
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
);
|
319 |
|
320 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
|
322 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
|
324 |
-
|
325 |
-
'
|
326 |
-
'
|
327 |
-
|
328 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
329 |
}
|
330 |
-
|
331 |
-
return $this->_response($result);
|
332 |
|
|
|
333 |
}
|
334 |
|
335 |
/**
|
336 |
-
*
|
337 |
-
* Using default wp_update_post
|
338 |
-
*
|
339 |
-
* @param array $params Post array to update specific post by ID
|
340 |
-
* @return array - Containing information whether the process was successful or not.
|
341 |
-
* Post ID on success, custom error object on failure.
|
342 |
*
|
343 |
-
* @
|
344 |
-
* @
|
345 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
346 |
*/
|
347 |
-
public function
|
|
|
|
|
348 |
|
349 |
-
|
350 |
-
if (empty($params['
|
351 |
-
|
352 |
-
|
|
|
|
|
|
|
|
|
|
|
353 |
|
354 |
-
|
355 |
-
|
356 |
-
|
|
|
|
|
|
|
357 |
}
|
358 |
|
359 |
-
|
360 |
-
|
|
|
|
|
|
|
361 |
|
362 |
-
|
363 |
-
|
364 |
-
'
|
365 |
-
|
366 |
-
|
367 |
-
'post_status' => $params['post_status'],
|
368 |
-
'post_category' => $post_category
|
369 |
-
);
|
370 |
|
371 |
-
|
372 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
|
374 |
-
$result =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
375 |
|
376 |
-
|
377 |
-
|
378 |
-
$
|
379 |
-
'message' => __(
|
380 |
);
|
381 |
|
382 |
-
return $this->_generic_error_response('
|
383 |
}
|
384 |
-
|
385 |
-
$result = array(
|
386 |
-
'ID' => $response,
|
387 |
-
'message' => "post_update_success",
|
388 |
-
'status' => $params['post_status']
|
389 |
-
);
|
390 |
-
|
391 |
-
return $this->_response($result);
|
392 |
}
|
393 |
|
394 |
/**
|
395 |
-
*
|
396 |
-
* If delete set to true will delete permanently following all wp process
|
397 |
-
* If force_delete is true bypass process and force delete post
|
398 |
*
|
399 |
-
* @param
|
400 |
-
*
|
401 |
-
*
|
402 |
-
* @return array - Containing information whether the process was successful or not. True on success, false on failure.
|
403 |
-
*
|
404 |
-
* @link {https://developer.wordpress.org/reference/functions/wp_trash_post/}
|
405 |
-
* @link {https://developer.wordpress.org/reference/functions/wp_delete_post/}
|
406 |
-
* @link {https://developer.wordpress.org/reference/functions/current_user_can/}
|
407 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
408 |
*/
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
if (!current_user_can('delete_posts')) {
|
418 |
-
return $this->_generic_error_response('user_no_permission_to_delete_post', array());
|
419 |
-
}
|
420 |
-
|
421 |
-
$post_id = (int) $params['ID'];
|
422 |
-
$forcedelete = !empty($params['force_delete']);
|
423 |
-
$trash = false;
|
424 |
-
|
425 |
-
// Here check if force_delete is set from UDC. then permanently delete bypass wp_trash_post.
|
426 |
-
if ($forcedelete) {
|
427 |
-
$response = wp_delete_post($post_id, $forcedelete);
|
428 |
} else {
|
429 |
-
$
|
430 |
-
$trash = true;
|
431 |
}
|
|
|
432 |
|
433 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
434 |
|
435 |
-
|
436 |
-
|
437 |
-
$
|
438 |
-
'message' => __(
|
439 |
);
|
440 |
-
return $this->_generic_error_response('post_delete_error', $error_data);
|
441 |
-
}
|
442 |
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
);
|
447 |
|
448 |
-
|
449 |
-
|
450 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
451 |
} else {
|
452 |
-
$
|
453 |
-
$status["status"] = "delete";
|
454 |
}
|
455 |
-
|
456 |
-
return $this->_response($result);
|
457 |
}
|
458 |
|
459 |
/**
|
460 |
-
*
|
461 |
-
* Using default taxonomy "category"
|
462 |
-
* Will create slug based on cat_name parameter
|
463 |
-
*
|
464 |
-
* @param array $params cat_name parameter to insert category
|
465 |
-
* @return array - Containing the result of the process. Category ID, category object, etc.
|
466 |
*
|
467 |
-
* @
|
468 |
-
* @
|
469 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
470 |
*/
|
471 |
-
public function
|
|
|
|
|
472 |
|
473 |
-
|
474 |
-
|
475 |
-
*/
|
476 |
-
$this->_admin_include('taxonomy.php');
|
477 |
|
478 |
-
|
|
|
|
|
479 |
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
}
|
484 |
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
}
|
489 |
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
'category_nicename' => sanitize_title($params["cat_name"])
|
494 |
-
);
|
495 |
|
496 |
-
|
497 |
-
|
|
|
498 |
|
499 |
-
|
500 |
-
$
|
501 |
-
'
|
502 |
-
|
503 |
-
return $this->_generic_error_response('category_insert_error', $error_data);
|
504 |
-
}
|
505 |
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
511 |
|
512 |
-
|
513 |
-
'
|
514 |
-
|
515 |
-
|
516 |
-
'message' => "category_added"
|
517 |
-
);
|
518 |
|
519 |
-
|
520 |
-
|
521 |
|
522 |
-
|
523 |
-
|
524 |
-
*
|
525 |
-
* @param array $param An array containing the "term_id" and "cat_name" parameters needed to edit the category
|
526 |
-
* @return array - Containing information as a result fo the process. True on success, false on failure.
|
527 |
-
*
|
528 |
-
* @link {https://developer.wordpress.org/reference/functions/wp_udpate_category/}
|
529 |
-
* @link {https://developer.wordpress.org/reference/functions/current_user_can/}
|
530 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
531 |
-
*/
|
532 |
-
public function edit_requested_category($param) {
|
533 |
-
/**
|
534 |
-
* Include admin taxonomy.php file to enable us to use all necessary functions for post category
|
535 |
-
*/
|
536 |
-
$this->_admin_include('taxonomy.php');
|
537 |
|
538 |
-
|
|
|
|
|
|
|
539 |
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
|
|
|
|
|
|
544 |
|
545 |
-
|
546 |
-
|
547 |
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
|
553 |
-
|
554 |
-
|
|
|
|
|
555 |
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
|
|
|
|
563 |
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
568 |
|
569 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
570 |
}
|
571 |
|
572 |
/**
|
573 |
-
*
|
574 |
*
|
575 |
-
* @param
|
576 |
-
* @return array
|
577 |
-
*
|
578 |
-
* @link {https://developer.wordpress.org/reference/functions/wp_delete_category/}
|
579 |
-
* @link {https://developer.wordpress.org/reference/functions/current_user_can/}
|
580 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
581 |
*/
|
582 |
-
public function
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
$
|
587 |
-
|
588 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
589 |
|
590 |
-
|
591 |
-
if (empty($param['term_id'])) {
|
592 |
-
return $this->_generic_error_response('term_id_not_set', array($params));
|
593 |
}
|
594 |
|
595 |
-
|
|
|
|
|
|
|
596 |
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
601 |
|
602 |
-
|
603 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
604 |
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
|
|
|
|
|
|
|
|
|
|
610 |
}
|
611 |
|
612 |
-
$
|
613 |
-
'
|
614 |
-
|
615 |
-
);
|
616 |
-
|
617 |
-
return $this->_response($result);
|
618 |
}
|
619 |
|
620 |
/**
|
621 |
-
*
|
622 |
-
*
|
623 |
-
*
|
624 |
-
* @param array $params An array containing the keyword to be used to search all available posts
|
625 |
-
* @return array - Containing the result of the process. Post object on success, a no matched message on failure.
|
626 |
*
|
627 |
-
* @
|
628 |
-
* @link {https://developer.wordpress.org/reference/functions/switch_to_blog/}
|
629 |
*/
|
630 |
-
|
|
|
|
|
|
|
631 |
|
632 |
-
|
|
|
|
|
|
|
633 |
|
634 |
-
|
635 |
-
|
636 |
-
return $this->_generic_error_response('search_generated_no_result', array());
|
637 |
-
}
|
638 |
|
639 |
-
|
640 |
-
|
641 |
-
|
642 |
-
'post_type' => 'post',
|
643 |
-
'posts_per_page' => $params['numberposts'],
|
644 |
-
'paged' => $paged
|
645 |
-
);
|
646 |
-
$query = new WP_Query($query_string);
|
647 |
-
$postdata = array();
|
648 |
-
|
649 |
-
$count_posts = $query->found_posts;
|
650 |
-
if ((int) $count_posts > 0) {
|
651 |
-
if (empty($params['numberposts'])) return $this->_generic_error_response('numberposts_parameter_missing', $params);
|
652 |
|
653 |
-
|
654 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
655 |
|
656 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
657 |
}
|
658 |
|
659 |
-
$
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
|
|
|
|
|
|
664 |
|
665 |
-
$
|
666 |
-
|
667 |
-
|
668 |
-
|
|
|
|
|
|
|
|
|
|
|
669 |
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
|
|
|
|
|
|
675 |
|
676 |
-
|
677 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
678 |
|
679 |
-
|
680 |
-
|
681 |
-
$cat_array[] = $category->name;
|
682 |
-
}
|
683 |
|
684 |
-
|
685 |
-
|
686 |
-
|
687 |
-
|
688 |
-
|
689 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
690 |
}
|
691 |
|
692 |
-
$
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
} else {
|
702 |
-
$error_data = array(
|
703 |
-
'count' => $count_posts,
|
704 |
-
'paged' => $paged,
|
705 |
-
'info' => $info
|
706 |
-
);
|
707 |
-
return $this->_generic_error_response('post_not_found_with_keyword', $error_data);
|
708 |
}
|
709 |
|
710 |
-
return
|
711 |
}
|
712 |
|
713 |
/**
|
714 |
-
*
|
715 |
*
|
716 |
-
* @param
|
717 |
-
* @param
|
718 |
-
* @
|
719 |
*
|
720 |
-
* @
|
721 |
*/
|
722 |
-
|
|
|
723 |
|
724 |
-
|
725 |
-
$
|
|
|
726 |
|
727 |
-
|
728 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
729 |
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
741 |
}
|
742 |
|
743 |
-
|
744 |
-
return $children;
|
745 |
}
|
746 |
|
747 |
/**
|
748 |
-
*
|
|
|
749 |
*
|
750 |
-
* @param
|
751 |
-
* @param int $parent starting id to fetch
|
752 |
*
|
753 |
-
* @return array
|
754 |
*/
|
755 |
-
|
756 |
-
|
757 |
-
$
|
758 |
-
}
|
759 |
-
$results = array();
|
760 |
-
foreach ($taxonomies as $taxonomy) {
|
761 |
-
$terms = $this->get_taxonomy_hierarchy($taxonomy, $parent);
|
762 |
-
if ($terms) {
|
763 |
-
$results[$taxonomy] = $terms;
|
764 |
-
}
|
765 |
}
|
766 |
-
return $results;
|
767 |
}
|
768 |
}
|
18 |
*
|
19 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
20 |
*/
|
21 |
+
public function _pre_action($command, $data, $extra_info) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found, VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
22 |
// Here we assign the current blog_id to a variable $blog_id
|
23 |
$blog_id = get_current_blog_id();
|
24 |
if (!empty($data['site_id'])) $blog_id = $data['site_id'];
|
37 |
*
|
38 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
39 |
*/
|
40 |
+
public function _post_action($command, $data, $extra_info) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found, VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
41 |
// Here, we're restoring to the current (default) blog before we switched
|
42 |
if ($this->switched) restore_current_blog();
|
43 |
}
|
44 |
+
|
45 |
/**
|
46 |
+
* Fetch and retrieves posts based from the submitted parameters
|
47 |
*
|
48 |
+
* @param array $params Containing all the needed information to filter the results of the current request
|
49 |
* @return array
|
|
|
|
|
|
|
|
|
|
|
50 |
*/
|
51 |
+
public function get_posts($params) {
|
52 |
+
$error = $this->_validate_capabilities(array('publish_posts', 'edit_posts', 'delete_posts'));
|
53 |
+
if (!empty($error)) return $error;
|
54 |
|
55 |
+
// check paged parameter; if empty set to defaults
|
|
|
|
|
56 |
$paged = !empty($params['paged']) ? (int) $params['paged'] : 1;
|
57 |
+
$numberposts = !empty($params['numberposts']) ? (int) $params['numberposts'] : 10;
|
58 |
+
$offset = ($paged - 1) * $numberposts;
|
59 |
|
60 |
$args = array(
|
61 |
+
'posts_per_page' => $numberposts,
|
62 |
'paged' => $paged,
|
63 |
+
'offset' => $offset,
|
64 |
'post_type' => 'post',
|
65 |
+
'post_status' => 'publish,private,draft,pending,future',
|
66 |
);
|
67 |
|
68 |
+
if (!empty($params['keyword'])) {
|
69 |
+
$args['s'] = $params['keyword'];
|
70 |
+
}
|
71 |
+
|
72 |
+
if (!empty($params['category'])) {
|
73 |
+
$args['cat'] = (int) $params['category'];
|
74 |
+
}
|
75 |
+
|
76 |
+
if (!empty($params['date'])) {
|
77 |
+
list($monthnum, $year) = explode(':', $params['date']);
|
78 |
+
|
79 |
+
$args['monthnum'] = $monthnum;
|
80 |
+
$args['year'] = $year;
|
81 |
+
}
|
82 |
+
|
83 |
+
if (!empty($params['status']) && 'all' !== $params['status']) {
|
84 |
+
$args['post_status'] = $params['status'];
|
85 |
}
|
86 |
|
|
|
|
|
|
|
87 |
$query = new WP_Query($args);
|
88 |
$result = $query->posts;
|
89 |
|
90 |
+
$count_posts = (int) $query->found_posts;
|
91 |
$page_count = 0;
|
|
|
92 |
|
93 |
+
if ($count_posts > 0) {
|
94 |
+
$page_count = absint($count_posts / $numberposts);
|
95 |
+
$remainder = absint($count_posts % $numberposts);
|
|
|
96 |
$page_count = ($remainder > 0) ? ++$page_count : $page_count;
|
97 |
}
|
98 |
|
99 |
$info = array(
|
100 |
'page' => $paged,
|
101 |
'pages' => $page_count,
|
102 |
+
'results' => $count_posts,
|
103 |
+
'items_from' => (($paged * $numberposts) - $numberposts) + 1,
|
104 |
+
'items_to' => ($paged == $page_count) ? $count_posts : $paged * $numberposts,
|
105 |
);
|
106 |
|
107 |
+
$posts = array();
|
108 |
+
if (!empty($result)) {
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
foreach ($result as $post) {
|
110 |
+
// Pulling any other relevant and additional information regarding
|
111 |
+
// the post before returning it in the response.
|
112 |
+
$postdata = $this->get_postdata($post, false);
|
113 |
+
if (!empty($postdata)) {
|
114 |
+
array_push($posts, $postdata);
|
115 |
+
}
|
116 |
+
}
|
117 |
+
}
|
118 |
|
119 |
+
$response = array(
|
120 |
+
'posts' => $posts,
|
121 |
+
'options' => $this->get_options(),
|
122 |
+
'info' => $info,
|
123 |
+
'posts_count' => $this->get_post_status_counts('post'),
|
124 |
+
);
|
125 |
|
126 |
+
// Load any additional information if preload parameter is set. Will only be
|
127 |
+
// requested on initial load of items in UpdraftCentral.
|
128 |
+
if (isset($params['preload']) && $params['preload']) {
|
129 |
+
$response = array_merge($response, $this->get_preload_data());
|
130 |
+
}
|
131 |
|
132 |
+
return $this->_response($response);
|
133 |
+
}
|
|
|
|
|
134 |
|
135 |
+
/**
|
136 |
+
* Extracts public properties from complex object and return a simple
|
137 |
+
* object (stdClass) that contains the public properties of the original object.
|
138 |
+
*
|
139 |
+
* @param object $obj Any type of complex objects that needs converting (e.g. WP_Taxonomy, WP_Term or WP_User)
|
140 |
+
* @return stdClass
|
141 |
+
*/
|
142 |
+
private function trim_object($obj) {
|
143 |
+
// To preserve the object's accessibility through its properties we recreate
|
144 |
+
// the object using the stdClass and fill it with the public properties
|
145 |
+
// that will be extracted from the original object ($obj).
|
146 |
+
$newObj = new stdClass();
|
147 |
+
|
148 |
+
if (is_object($obj)) {
|
149 |
+
// Making sure that we only extract those publicly accessible properties excluding
|
150 |
+
// the private, protected, static ones and methods.
|
151 |
+
$props = get_object_vars($obj);
|
152 |
+
if (!empty($props)) {
|
153 |
+
foreach ($props as $key => $value) {
|
154 |
+
$newObj->{$key} = $value;
|
155 |
+
}
|
156 |
}
|
157 |
+
}
|
158 |
|
159 |
+
return $newObj;
|
160 |
+
}
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Retrieves information that will be preloaded in UC for quick and easy access
|
164 |
+
* when editing a certain page or post
|
165 |
+
*
|
166 |
+
* @return array
|
167 |
+
*/
|
168 |
+
private function get_preload_data() {
|
169 |
+
if (!function_exists('get_page_templates')) {
|
170 |
+
require_once(ABSPATH.'wp-admin/includes/theme.php');
|
171 |
}
|
172 |
|
173 |
+
$templates = get_page_templates();
|
174 |
+
if (!empty($templates)) {
|
175 |
+
$templates = array_flip($templates);
|
176 |
+
if (!isset($templates['default'])) {
|
177 |
+
$templates['default'] = __('Default template', 'updraftplus');
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
// Preloading elements saves time and avoid unnecessary round trips to fetch
|
182 |
+
// these information individually.
|
183 |
+
$categories = $this->get_categories();
|
184 |
+
$tags = $this->get_tags();
|
185 |
+
$authors = $this->get_authors();
|
186 |
+
$parent_pages = $this->get_parent_pages();
|
187 |
+
|
188 |
+
return array(
|
189 |
+
'preloaded' => json_encode(array(
|
190 |
+
'taxonomies' => $this->get_taxonomies(),
|
191 |
+
'categories' => $categories['data'],
|
192 |
+
'tags' => $tags['data'],
|
193 |
+
'authors' => $authors['data']['authors'],
|
194 |
+
'parent_pages' => $parent_pages['data']['pages'],
|
195 |
+
'templates' => $templates,
|
196 |
+
))
|
197 |
+
);
|
198 |
}
|
199 |
|
200 |
/**
|
201 |
+
* Retrieves the total number of items found under each post statuses
|
202 |
*
|
|
|
203 |
* @return array
|
204 |
+
*/
|
205 |
+
private function get_post_status_counts() {
|
206 |
+
$posts = wp_count_posts('post');
|
207 |
+
|
208 |
+
$publish = (int) $posts->publish;
|
209 |
+
$private = (int) $posts->private;
|
210 |
+
$draft = (int) $posts->draft;
|
211 |
+
$pending = (int) $posts->pending;
|
212 |
+
$future = (int) $posts->future;
|
213 |
+
$trash = (int) $posts->trash;
|
214 |
+
|
215 |
+
// We exclude "trash" from the overall total as WP doesn't actually
|
216 |
+
// consider or include it in the total count.
|
217 |
+
$all = $publish + $private + $draft + $pending + $future;
|
218 |
+
|
219 |
+
return array(
|
220 |
+
'all' => $all,
|
221 |
+
'publish' => $publish,
|
222 |
+
'private' => $private,
|
223 |
+
'draft' => $draft,
|
224 |
+
'pending' => $pending,
|
225 |
+
'future' => $future,
|
226 |
+
'trash' => $trash,
|
227 |
+
);
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* Retrieves a collection of formatted dates found for the given post statuses.
|
232 |
+
* It will be used as options for the date filter when managing the posts in UpdraftCentral.
|
233 |
*
|
234 |
+
* @return array
|
|
|
235 |
*/
|
236 |
+
private function get_date_options() {
|
237 |
+
global $wpdb;
|
238 |
+
|
239 |
+
$date_options = $wpdb->get_col("SELECT DATE_FORMAT(`post_date`, '%M %Y') as `formatted_post_date` FROM {$wpdb->posts} WHERE `post_type` = 'post' AND `post_status` IN ('publish', 'private', 'draft', 'pending', 'future') GROUP BY `formatted_post_date` ORDER BY `post_date` DESC");
|
240 |
+
|
241 |
+
return $date_options;
|
242 |
+
}
|
243 |
|
244 |
+
/**
|
245 |
+
* Make sure that we have the required fields to use in UpdraftCentral for
|
246 |
+
* displaying the categories and tags sections. Add if missing.
|
247 |
+
*
|
248 |
+
* @param object $item Taxonomy item to check
|
249 |
+
* @return object
|
250 |
+
*/
|
251 |
+
protected function map_tax($item) {
|
252 |
+
$taxs = array('category' => 'categories', 'post_tag' => 'tags');
|
253 |
+
if (array_key_exists($item->name, $taxs)) {
|
254 |
+
if (!isset($item->show_in_rest)) $item->show_in_rest = true;
|
255 |
+
if (!isset($item->rest_base)) $item->rest_base = $taxs[$item->name];
|
256 |
}
|
257 |
|
258 |
+
return $item;
|
259 |
+
}
|
260 |
|
261 |
+
/**
|
262 |
+
* Fetch and retrieves available taxonomies for this site and some capabilities specific
|
263 |
+
* to tags and categories when managing them.
|
264 |
+
*
|
265 |
+
* @return array
|
266 |
+
*/
|
267 |
+
private function get_taxonomies() {
|
268 |
+
$taxonomies = get_taxonomies(array(), 'objects');
|
269 |
+
$taxonomies = array_map(array($this, 'map_tax'), $taxonomies);
|
270 |
+
|
271 |
+
$response = array(
|
272 |
+
'taxonomies' => $taxonomies,
|
273 |
+
'current_user_cap' => array(
|
274 |
+
'manage_categories' => current_user_can('manage_categories'),
|
275 |
+
'edit_categories' => current_user_can('edit_categories'),
|
276 |
+
'delete_categories' => current_user_can('delete_categories'),
|
277 |
+
'assign_categories' => current_user_can('assign_categories'),
|
278 |
+
'manage_post_tags' => current_user_can('manage_post_tags'),
|
279 |
+
'edit_post_tags' => current_user_can('edit_post_tags'),
|
280 |
+
'delete_post_tags' => current_user_can('delete_post_tags'),
|
281 |
+
'assign_post_tags' => current_user_can('assign_post_tags'),
|
282 |
+
)
|
283 |
+
);
|
284 |
|
285 |
+
return $response;
|
286 |
+
}
|
287 |
|
288 |
+
/**
|
289 |
+
* Fetch and retrieves categories based from the submitted parameters
|
290 |
+
*
|
291 |
+
* @param array $query Containing all the needed information to filter the results of the current request
|
292 |
+
* @return array
|
293 |
+
*/
|
294 |
+
public function get_categories($query = array()) {
|
295 |
+
$page = !empty($query['page']) ? (int) $query['page'] : 1;
|
296 |
+
$items_per_page = !empty($query['per_page']) ? (int) $query['per_page'] : 50;
|
297 |
+
$offset = ($page - 1) * $items_per_page;
|
298 |
+
$order = !empty($query['order']) ? $query['order'] : 'asc';
|
299 |
+
$orderby = !empty($query['orderby']) ? $query['orderby'] : 'name';
|
300 |
|
301 |
+
$args = array(
|
302 |
+
'hide_empty' => false,
|
303 |
+
'orderby' => $orderby,
|
304 |
+
'order' => $order,
|
305 |
+
'number' => $items_per_page,
|
306 |
+
'offset' => $offset
|
307 |
+
);
|
308 |
|
309 |
+
$categories = get_categories($args);
|
310 |
+
$category_options = array();
|
311 |
|
312 |
+
if (!empty($categories)) {
|
313 |
+
foreach ($categories as $key => $term) {
|
314 |
+
$parent_term = get_term((int) $term->parent, $term->taxonomy);
|
315 |
+
if (!is_wp_error($parent_term) && !is_null($parent_term)) {
|
316 |
+
$parent_term = json_encode($this->trim_object($parent_term));
|
317 |
+
} else {
|
318 |
+
$parent_term = '';
|
319 |
+
}
|
320 |
|
321 |
+
$category_options[] = array(
|
322 |
+
'id' => $term->term_id,
|
323 |
+
'name' => $term->name,
|
324 |
+
'parent' => $term->parent
|
325 |
+
);
|
326 |
+
|
327 |
+
$categories[$key] = array(
|
328 |
+
'term' => json_encode($this->trim_object($term)),
|
329 |
+
'misc' => array(
|
330 |
+
'link' => get_term_link($term),
|
331 |
+
'parent_term' => $parent_term,
|
332 |
+
'taxonomy' => $term->taxonomy
|
333 |
+
)
|
334 |
+
);
|
335 |
+
}
|
336 |
+
}
|
337 |
|
338 |
+
$categorytax = get_taxonomy('category');
|
339 |
+
$parent_dropdown_args = array(
|
340 |
+
'taxonomy' => 'category',
|
341 |
+
'hide_empty' => 0,
|
342 |
+
'name' => 'newcategory_parent',
|
343 |
+
'orderby' => 'name',
|
344 |
+
'hierarchical' => 1,
|
345 |
+
'show_option_none' => '— '.$categorytax->labels->parent_item.' —',
|
346 |
+
'echo' => false
|
347 |
+
);
|
348 |
|
349 |
+
$parent_dropdown_args = apply_filters('post_edit_category_parent_dropdown_args', $parent_dropdown_args);
|
350 |
+
$parent_dropdown = wp_dropdown_categories($parent_dropdown_args);
|
|
|
|
|
|
|
|
|
351 |
|
352 |
+
if (!function_exists('wp_popular_terms_checklist')) {
|
353 |
+
require_once ABSPATH . 'wp-admin/includes/template.php';
|
354 |
}
|
355 |
|
356 |
+
ob_start();
|
357 |
+
wp_popular_terms_checklist('category');
|
358 |
+
$popular_terms_checklist = ob_get_contents();
|
359 |
+
ob_end_clean();
|
360 |
+
|
361 |
+
return $this->_response(array(
|
362 |
+
'terms' => $categories,
|
363 |
+
'misc' => array(
|
364 |
+
'formatted' => $category_options,
|
365 |
+
'raw' => $categories,
|
366 |
+
'tax' => json_encode($this->trim_object($categorytax)),
|
367 |
+
'popular' => $popular_terms_checklist,
|
368 |
+
'parent_dropdown' => $parent_dropdown,
|
369 |
+
'capabilities' => array(
|
370 |
+
'can_edit_terms' => current_user_can($categorytax->cap->edit_terms)
|
371 |
+
)
|
372 |
+
)
|
373 |
+
));
|
374 |
}
|
375 |
|
376 |
/**
|
377 |
+
* Fetch and retrieves tags based from the submitted parameters
|
378 |
*
|
379 |
+
* @param array $query Containing all the needed information to filter the results of the current request
|
380 |
* @return array
|
|
|
|
|
|
|
381 |
*/
|
382 |
+
public function get_tags($query = array()) {
|
383 |
+
$page = !empty($query['page']) ? (int) $query['page'] : 1;
|
384 |
+
$items_per_page = !empty($query['per_page']) ? (int) $query['per_page'] : 50;
|
385 |
+
$offset = ($page - 1) * $items_per_page;
|
386 |
+
$order = !empty($query['order']) ? $query['order'] : 'desc';
|
387 |
+
$orderby = !empty($query['orderby']) ? $query['orderby'] : 'count';
|
388 |
|
389 |
+
$args = array(
|
390 |
+
'hide_empty' => false,
|
391 |
+
'orderby' => $orderby,
|
392 |
+
'order' => $order,
|
393 |
+
'number' => $items_per_page,
|
394 |
+
'offset' => $offset
|
395 |
+
);
|
396 |
|
397 |
+
$tags = get_tags($args);
|
398 |
+
$tag_options = array();
|
399 |
+
$tag_cloud = '';
|
400 |
+
|
401 |
+
if (!empty($tags)) {
|
402 |
+
$tags_for_cloud = array();
|
403 |
+
foreach ($tags as $key => $term) {
|
404 |
+
if (!isset($term->link)) $term->link = get_tag_link($term->term_id);
|
405 |
+
array_push($tags_for_cloud, $term);
|
406 |
+
|
407 |
+
$parent_term = get_term((int) $term->parent, $term->taxonomy);
|
408 |
+
if (!is_wp_error($parent_term) && !is_null($parent_term)) {
|
409 |
+
$parent_term = json_encode($this->trim_object($parent_term));
|
410 |
+
} else {
|
411 |
+
$parent_term = '';
|
412 |
+
}
|
413 |
|
414 |
+
$tag_options[] = array(
|
415 |
+
'id' => $term->term_id,
|
416 |
+
'name' => $term->name,
|
417 |
+
);
|
418 |
+
|
419 |
+
$tags[$key] = array(
|
420 |
+
'term' => json_encode($this->trim_object($term)),
|
421 |
+
'misc' => array(
|
422 |
+
'link' => get_term_link($term),
|
423 |
+
'parent_term' => $parent_term,
|
424 |
+
'taxonomy' => $term->taxonomy
|
425 |
+
)
|
426 |
+
);
|
427 |
+
}
|
428 |
|
429 |
+
if (!function_exists('wp_generate_tag_cloud')) {
|
430 |
+
require_once ABSPATH.WPINC.'/category-template.php';
|
431 |
+
}
|
432 |
+
|
433 |
+
$tag_cloud = wp_generate_tag_cloud($tags_for_cloud, array(
|
434 |
+
'smallest' => 10,
|
435 |
+
'largest' => 22,
|
436 |
+
'unit' => 'pt',
|
437 |
+
'number' => 10,
|
438 |
+
'format' => 'flat',
|
439 |
+
'separator' => " ",
|
440 |
+
'orderby' => 'count',
|
441 |
+
'order' => 'DESC',
|
442 |
+
'show_count' => 1,
|
443 |
+
'echo' => false
|
444 |
+
));
|
445 |
}
|
446 |
|
447 |
+
$tagtax = get_taxonomy('post_tag');
|
448 |
+
return $this->_response(array(
|
449 |
+
'terms' => $tags,
|
450 |
+
'misc' => array(
|
451 |
+
'formatted' => $tag_options,
|
452 |
+
'raw' => $tags,
|
453 |
+
'tax' => json_encode($this->trim_object($tagtax)),
|
454 |
+
'tag_cloud' => $tag_cloud,
|
455 |
+
'capabilities' => array(
|
456 |
+
'can_assign_terms' => current_user_can($tagtax->cap->assign_terms)
|
457 |
+
)
|
458 |
+
)
|
459 |
+
));
|
460 |
}
|
461 |
|
462 |
/**
|
463 |
+
* Fetch all available taxonomies and terms information for the given post object
|
464 |
*
|
465 |
+
* @param array $post The "Post" object to use when retrieving the information
|
466 |
+
* @return array
|
|
|
|
|
|
|
467 |
*/
|
468 |
+
private function get_taxonomies_terms($post) {
|
469 |
+
$taxonomies = get_object_taxonomies($post->post_type, 'objects');
|
470 |
+
$taxonomies = array_map(array($this, 'map_tax'), $taxonomies);
|
471 |
|
472 |
+
$taxonomy_names = array();
|
473 |
+
$taxonomy_terms = array();
|
474 |
+
$taxonomy_caps = array();
|
475 |
|
476 |
+
foreach ($taxonomies as $taxonomy) {
|
477 |
+
$terms = get_the_terms($post->ID, $taxonomy->name);
|
478 |
+
$terms = !is_array($terms) ? (array) $terms : $terms;
|
479 |
+
|
480 |
+
$taxonomy_terms[$taxonomy->name] = $terms;
|
481 |
+
$taxonomy_caps[$taxonomy->name] = array(
|
482 |
+
'hierarchical' => is_taxonomy_hierarchical($taxonomy->name),
|
483 |
+
'edit_terms' => current_user_can($taxonomy->cap->edit_terms),
|
484 |
+
'assign_terms' => current_user_can($taxonomy->cap->assign_terms),
|
485 |
+
);
|
486 |
+
array_push($taxonomy_names, $taxonomy->name);
|
|
|
|
|
|
|
487 |
}
|
|
|
|
|
488 |
|
489 |
+
return array(
|
490 |
+
'objects' => $taxonomies,
|
491 |
+
'names' => $taxonomy_names,
|
492 |
+
'terms' => $taxonomy_terms,
|
493 |
+
'caps' => $taxonomy_caps,
|
494 |
+
);
|
495 |
}
|
496 |
|
497 |
/**
|
498 |
+
* Retrieves the underlying data for the given post. Some extra information are
|
499 |
+
* passed along that will be consumed by the editor in UpdraftCentral
|
|
|
|
|
|
|
|
|
500 |
*
|
501 |
+
* @param int|object $param Post object or a post ID
|
502 |
+
* @param boolean $encode True to encode the post object, false otherwise
|
503 |
+
* @return array
|
|
|
504 |
*/
|
505 |
+
public function get_postdata($param, $encode = true) {
|
506 |
+
$response = array();
|
507 |
|
508 |
+
if (is_object($param) && isset($param->ID)) {
|
509 |
+
$post = $param;
|
510 |
+
} elseif (is_numeric($param)) {
|
511 |
+
$post = get_post($param);
|
512 |
}
|
513 |
|
514 |
+
if ($post) {
|
515 |
+
$post_type_obj = get_post_type_object($post->post_type);
|
516 |
+
|
517 |
+
$is_post_type_viewable = false;
|
518 |
+
if (!empty($post_type_obj)) {
|
519 |
+
$is_post_type_viewable = $post_type_obj->publicly_queryable || ($post_type_obj->_builtin && $post_type_obj->public);
|
520 |
+
}
|
521 |
|
522 |
+
if (!function_exists('get_sample_permalink')) {
|
523 |
+
require_once ABSPATH.'wp-admin/includes/post.php';
|
524 |
+
}
|
|
|
|
|
|
|
525 |
|
526 |
+
// Validate template exists on the current theme, otherwise,
|
527 |
+
// reset the template to default.
|
528 |
+
$template = get_page_template_slug($post->ID);
|
529 |
+
if (!empty($template)) {
|
530 |
+
$page_templates = wp_get_theme()->get_page_templates($post);
|
531 |
+
if ('default' != $template && !isset($page_templates[$template])) {
|
532 |
+
update_post_meta($post->ID, '_wp_page_template', 'default');
|
533 |
+
}
|
534 |
+
}
|
535 |
|
536 |
+
$published_date = array(
|
537 |
+
'jj' => date('d', strtotime($post->post_date)),
|
538 |
+
'mm' => date('m', strtotime($post->post_date)),
|
539 |
+
'aa' => date('Y', strtotime($post->post_date)),
|
540 |
+
'hh' => date('H', strtotime($post->post_date)),
|
541 |
+
'mn' => date('i', strtotime($post->post_date)),
|
542 |
+
'ss' => date('s', strtotime($post->post_date))
|
543 |
+
);
|
544 |
|
545 |
+
$taxonomies = $this->get_taxonomies_terms($post);
|
546 |
+
$response = array(
|
547 |
+
'post' => $encode ? json_encode($post) : $post,
|
548 |
+
'misc' => array(
|
549 |
+
'guid_rendered' => apply_filters('get_the_guid', $post->guid, $post->ID),
|
550 |
+
'link' => get_permalink($post->ID),
|
551 |
+
'slug' => $post->post_name,
|
552 |
+
'site_url' => site_url('/'),
|
553 |
+
'title_rendered' => get_the_title($post->ID),
|
554 |
+
'content_rendered' => apply_filters('the_content', $post->post_content),
|
555 |
+
'excerpt' => $post->post_excerpt,
|
556 |
+
'featured_media' => 0,
|
557 |
+
'sticky' => is_sticky($post->ID),
|
558 |
+
'template' => get_page_template_slug($post->ID),
|
559 |
+
'permalink_template' => get_permalink($post->ID, true),
|
560 |
+
'author_name' => get_the_author_meta('display_name', $post->post_author),
|
561 |
+
'publish_month_year' => date('F Y', strtotime($post->post_date)),
|
562 |
+
'published_date' => $published_date,
|
563 |
+
'format' => get_post_format($post->ID),
|
564 |
+
'post_type_name' => $post_type_obj->name,
|
565 |
+
'post_type_viewable' => $is_post_type_viewable,
|
566 |
+
'post_type_public' => $post_type_obj->public,
|
567 |
+
'post_type_hierarchical' => $post_type_obj->hierarchical,
|
568 |
+
'sample_permalink' => get_sample_permalink($post->ID, $post->post_title, ''),
|
569 |
+
'taxonomy_objects' => $taxonomies['objects'],
|
570 |
+
'taxonomy_names' => $taxonomies['names'],
|
571 |
+
'taxonomy_terms' => $taxonomies['terms'],
|
572 |
+
'taxonomy_caps' => $taxonomies['caps'],
|
573 |
+
'post_password_required' => post_password_required($post),
|
574 |
+
'post_type_supports_authors' => post_type_supports($post->post_type, 'author'),
|
575 |
+
'post_type_supports_comments' => post_type_supports($post->post_type, 'comments'),
|
576 |
+
'post_type_supports_revisions' => post_type_supports($post->post_type, 'revisions'),
|
577 |
+
'post_revisions' => array(), // N.B. We're not going to allow revisions editing for now
|
578 |
+
'post_thumbnail_id' => get_post_thumbnail_id($post->ID),
|
579 |
+
'can_publish_posts' => current_user_can($post_type_obj->cap->publish_posts),
|
580 |
+
'can_edit_others_posts' => current_user_can($post_type_obj->cap->edit_others_posts),
|
581 |
+
'can_unfiltered_html' => current_user_can('unfiltered_html')
|
582 |
+
)
|
583 |
);
|
584 |
|
585 |
+
if (!function_exists('wp_popular_terms_checklist') || !function_exists('get_terms_to_edit')) {
|
586 |
+
require_once ABSPATH . 'wp-admin/includes/template.php';
|
587 |
+
require_once ABSPATH . 'wp-admin/includes/taxonomy.php';
|
588 |
+
}
|
589 |
+
|
590 |
+
if (!function_exists('wp_get_post_categories')) {
|
591 |
+
require_once(ABSPATH.WPINC.'/post.php');
|
592 |
+
}
|
593 |
|
594 |
+
$categories = wp_get_post_categories($post->ID, array('fields' => 'ids'));
|
595 |
+
if (!is_wp_error($categories)) {
|
596 |
+
$response['misc']['categories'] = empty($categories) ? array() : $categories;
|
597 |
+
$terms_to_edit = get_terms_to_edit($post->ID, 'category');
|
598 |
+
if (!empty($terms_to_edit)) {
|
599 |
+
$response['misc']['categories_list'] = str_replace(',', ', ', $terms_to_edit);
|
600 |
+
}
|
601 |
|
602 |
+
$popular_ids = wp_popular_terms_checklist('category', 0, 10, false);
|
603 |
+
// On WP 3.4 the "wp_terms_checklist" doesn't have an "echo" parameter and will automatically
|
604 |
+
// display the rendered checklist. Therefore, we're going to pull the terms so that all
|
605 |
+
// versions starting from WP 3.4 will pull the content instead of displaying them.
|
606 |
+
|
607 |
+
ob_start();
|
608 |
+
// In this call we'll have to set the "echo" parameter to true so that later version of WP
|
609 |
+
// will be able to catch and process it.
|
610 |
+
wp_terms_checklist($post->ID, array('taxonomy' => 'category', 'popular_cats' => $popular_ids, 'echo' => true));
|
611 |
+
$popular_checklist = ob_get_contents();
|
612 |
+
ob_end_clean();
|
613 |
+
|
614 |
+
$response['misc']['categories_checklist'] = $popular_checklist;
|
615 |
+
|
616 |
+
ob_start();
|
617 |
+
wp_terms_checklist($post->ID, array('taxonomy' => 'category', 'checked_ontop' => 0, 'echo' => true));
|
618 |
+
$quickedit_checklist = ob_get_contents();
|
619 |
+
ob_end_clean();
|
620 |
+
|
621 |
+
$response['misc']['categories_quickedit_checklist'] = $quickedit_checklist;
|
622 |
+
}
|
623 |
+
|
624 |
+
$tags = wp_get_post_tags($post->ID, array('fields' => 'ids'));
|
625 |
+
if (!is_wp_error($tags)) {
|
626 |
+
$response['misc']['tags'] = empty($tags) ? array() : $tags;
|
627 |
+
$terms_to_edit = get_terms_to_edit($post->ID, 'post_tag');
|
628 |
+
if (!empty($terms_to_edit)) {
|
629 |
+
$response['misc']['tags_list'] = str_replace(',', ', ', $terms_to_edit);
|
630 |
+
}
|
631 |
+
}
|
632 |
+
|
633 |
+
// Naturally, the "featured_media" will suffice when loading the image (media) in
|
634 |
+
// UpdraftCentral since the value in this field is the actual image id of the featured
|
635 |
+
// media used in UC. If we currently don't have an entry in the "featured_media_updraftcentral" meta,
|
636 |
+
// then UC will need to download the featured media (image) for this current post/page
|
637 |
+
// using the "featured_media_url" field (below) if not empty.
|
638 |
+
$featured_media = get_post_meta($post->ID, 'featured_media_updraftcentral', true);
|
639 |
+
if (!empty($featured_media)) {
|
640 |
+
$response['misc']['featured_media'] = $featured_media;
|
641 |
+
}
|
642 |
+
|
643 |
+
// Retrieve featured media if currently present for the given post/page.
|
644 |
+
// If present, we pull the image (media) URL in case there's a need for
|
645 |
+
// UpdraftCentral to download the image upon loading the editor (e.g. the featured_media id
|
646 |
+
// above no longer exists).
|
647 |
+
$media_id = (int) get_post_thumbnail_id($post->ID);
|
648 |
+
if (!empty($media_id)) {
|
649 |
+
$response['misc']['featured_media_url'] = wp_get_attachment_url($media_id);
|
650 |
+
} else {
|
651 |
+
// The post/page no longer has a "featured_media" or doesn't have one currently, therefore,
|
652 |
+
// we're going to set the "featured_media" and "featured_media_url" fields to both empty to
|
653 |
+
// to avoid any further actions (e.g. download media).
|
654 |
+
$response['misc']['featured_media'] = 0;
|
655 |
+
$response['misc']['featured_media_url'] = '';
|
656 |
+
}
|
657 |
}
|
|
|
|
|
658 |
|
659 |
+
return $response;
|
660 |
}
|
661 |
|
662 |
/**
|
663 |
+
* Changes the state/status of the submitted post(s)
|
|
|
|
|
|
|
|
|
|
|
664 |
*
|
665 |
+
* @param array $params An array of data that serves as parameters for the given request
|
666 |
+
* @return array
|
|
|
667 |
*/
|
668 |
+
public function set_state($params) {
|
669 |
+
$error = $this->_validate_capabilities(array('publish_posts', 'edit_posts', 'delete_posts'));
|
670 |
+
if (!empty($error)) return $error;
|
671 |
|
672 |
+
$result = array();
|
673 |
+
if (!empty($params['list'])) {
|
674 |
+
$posts = array();
|
675 |
+
foreach ($params['list'] as $key => $id) {
|
676 |
+
$post = $this->apply_state($id, $params['action']);
|
677 |
+
if (!empty($post)) {
|
678 |
+
array_push($posts, $post);
|
679 |
+
}
|
680 |
+
}
|
681 |
|
682 |
+
if (!empty($posts)) {
|
683 |
+
$result = array('posts' => $posts);
|
684 |
+
}
|
685 |
+
} elseif (!empty($params['id'])) {
|
686 |
+
$post = $this->apply_state($params['id'], $params['action']);
|
687 |
+
if (!empty($post)) $result = $post;
|
688 |
}
|
689 |
|
690 |
+
if (!empty($result)) {
|
691 |
+
$response = $this->get_posts($params);
|
692 |
+
if (!empty($response['response']) && 'rpcok' === $response['response']) {
|
693 |
+
$result['get_posts'] = $response['data'];
|
694 |
+
}
|
695 |
|
696 |
+
return $this->_response($result);
|
697 |
+
} else {
|
698 |
+
return $this->_generic_error_response('post_state_change_failed', array('action' => $params['action']));
|
699 |
+
}
|
700 |
+
}
|
|
|
|
|
|
|
701 |
|
702 |
+
/**
|
703 |
+
* Creates new category
|
704 |
+
*
|
705 |
+
* @param array $params An array of data that serves as parameters for the given request
|
706 |
+
* @param boolean $wrap_response Indicates whether to wrap the response based on local or UpdraftCentral calls. Default true.
|
707 |
+
* @return array
|
708 |
+
*/
|
709 |
+
public function add_category($params, $wrap_response = true) {
|
710 |
+
$error = $this->_validate_capabilities(array('manage_categories'));
|
711 |
+
if (!empty($error)) return $error;
|
712 |
+
|
713 |
+
$name = sanitize_text_field($params['name']);
|
714 |
+
$args = array();
|
715 |
+
if (!empty($params['parent'])) {
|
716 |
+
$args['parent'] = $params['parent'];
|
717 |
+
}
|
718 |
|
719 |
+
$result = wp_insert_term($name, 'category', $args);
|
720 |
+
if (!is_wp_error($result)) {
|
721 |
+
$term_id = $result['term_id'];
|
722 |
+
$term = get_term($term_id, 'category');
|
723 |
+
|
724 |
+
$data = array();
|
725 |
+
if (!is_wp_error($term)) {
|
726 |
+
$data = array(
|
727 |
+
'id' => $term->term_id,
|
728 |
+
'count' => $term->count,
|
729 |
+
'description' => $term->description,
|
730 |
+
'link' => get_term_link($term->term_id, 'category'),
|
731 |
+
'name' => $term->name,
|
732 |
+
'slug' => $term->slug,
|
733 |
+
'taxonomy' => $term->taxonomy,
|
734 |
+
'parent' => $term->parent,
|
735 |
+
'meta' => array()
|
736 |
+
);
|
737 |
+
|
738 |
+
$categories = $this->get_categories();
|
739 |
+
if ($wrap_response) $data['categories'] = json_encode($categories['data']);
|
740 |
+
}
|
741 |
|
742 |
+
return $wrap_response ? $this->_response($data) : $data;
|
743 |
+
} else {
|
744 |
+
$error = array(
|
745 |
+
'message' => __($result->get_error_message(), 'updraftplus')
|
746 |
);
|
747 |
|
748 |
+
return $wrap_response ? $this->_generic_error_response('post_add_category_failed', $error) : $error;
|
749 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
750 |
}
|
751 |
|
752 |
/**
|
753 |
+
* Assigns categories to a certain post object
|
|
|
|
|
754 |
*
|
755 |
+
* @param int $post_id The ID of the post object
|
756 |
+
* @param array $category_ids A collection of category IDs to assign to the post object
|
757 |
+
* @return void
|
|
|
|
|
|
|
|
|
|
|
|
|
758 |
*/
|
759 |
+
private function assign_category_to_post($post_id, $category_ids) {
|
760 |
+
if (!empty($category_ids)) {
|
761 |
+
// Making sure that we have the correct type to use and we
|
762 |
+
// don't have any redundant IDs before saving.
|
763 |
+
$category_ids = array_unique(array_map('intval', $category_ids));
|
764 |
+
|
765 |
+
// Attach (new) categories to post
|
766 |
+
wp_set_object_terms($post_id, $category_ids, 'category');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
767 |
} else {
|
768 |
+
wp_set_object_terms($post_id, get_option('default_category'), 'category');
|
|
|
769 |
}
|
770 |
+
}
|
771 |
|
772 |
+
/**
|
773 |
+
* Creates new tag
|
774 |
+
*
|
775 |
+
* @param array $params An array of data that serves as parameters for the given request
|
776 |
+
* @param boolean $wrap_response Indicates whether to wrap the response based on local or UpdraftCentral calls. Default true.
|
777 |
+
* @return array
|
778 |
+
*/
|
779 |
+
public function add_tag($params, $wrap_response = true) {
|
780 |
+
// N.B. Since the "manage_post_tags" capability does not exist in WP 3.4. We'll use the "manage_categories" instead. Besides, the "manage_post_tags" along with the other tag-related capabilities in the latest versions are actually mapped to the "manage_categories" capability (refer to wp-includes/capabilities.php under the "map_meta_cap" function).
|
781 |
+
$error = $this->_validate_capabilities(array('manage_categories'));
|
782 |
+
if (!empty($error)) return $error;
|
783 |
+
|
784 |
+
$name = sanitize_text_field($params['name']);
|
785 |
+
$result = wp_insert_term($name, 'post_tag');
|
786 |
+
if (!is_wp_error($result)) {
|
787 |
+
$term_id = $result['term_id'];
|
788 |
+
$term = get_term($term_id, 'post_tag');
|
789 |
+
|
790 |
+
$data = array();
|
791 |
+
if (!is_wp_error($term)) {
|
792 |
+
$data = array(
|
793 |
+
'id' => $term->term_id,
|
794 |
+
'count' => $term->count,
|
795 |
+
'description' => $term->description,
|
796 |
+
'link' => get_term_link($term->term_id, 'post_tag'),
|
797 |
+
'name' => $term->name,
|
798 |
+
'slug' => $term->slug,
|
799 |
+
'taxonomy' => $term->taxonomy,
|
800 |
+
'meta' => array()
|
801 |
+
);
|
802 |
+
|
803 |
+
$tags = $this->get_tags();
|
804 |
+
if ($wrap_response) $data['tags'] = json_encode($tags['data']);
|
805 |
+
}
|
806 |
|
807 |
+
return $wrap_response ? $this->_response($data) : $data;
|
808 |
+
} else {
|
809 |
+
$error = array(
|
810 |
+
'message' => __($result->get_error_message(), 'updraftplus')
|
811 |
);
|
|
|
|
|
812 |
|
813 |
+
return $wrap_response ? $this->_generic_error_response('post_add_tag_failed', $error) : $error;
|
814 |
+
}
|
815 |
+
}
|
|
|
816 |
|
817 |
+
/**
|
818 |
+
* Assigns tags to a certain post object
|
819 |
+
*
|
820 |
+
* @param int $post_id The ID of the post object
|
821 |
+
* @param array $tag_ids A collection of tag IDs to assign to the post object
|
822 |
+
* @return void
|
823 |
+
*/
|
824 |
+
private function assign_tag_to_post($post_id, $tag_ids) {
|
825 |
+
if (!empty($tag_ids)) {
|
826 |
+
// Making sure that we have the correct type to use and we
|
827 |
+
// don't have any redundant IDs before saving.
|
828 |
+
$tag_ids = array_unique(array_map('intval', $tag_ids));
|
829 |
+
|
830 |
+
// Attach (new) tags to post
|
831 |
+
wp_set_object_terms($post_id, $tag_ids, 'post_tag');
|
832 |
} else {
|
833 |
+
wp_set_object_terms($post_id, null, 'post_tag');
|
|
|
834 |
}
|
|
|
|
|
835 |
}
|
836 |
|
837 |
/**
|
838 |
+
* Saves or updates page information based from the submitted data
|
|
|
|
|
|
|
|
|
|
|
839 |
*
|
840 |
+
* @param array $params An array of data that serves as parameters for the given request
|
841 |
+
* @return array
|
|
|
842 |
*/
|
843 |
+
public function save_post($params) {
|
844 |
+
$error = $this->_validate_capabilities(array('publish_posts', 'edit_posts', 'delete_posts'));
|
845 |
+
if (!empty($error)) return $error;
|
846 |
|
847 |
+
if (!empty($params['id']) || !empty($params['new'])) {
|
848 |
+
$args = array();
|
|
|
|
|
849 |
|
850 |
+
// post_content
|
851 |
+
if (!empty($params['content']))
|
852 |
+
$args['post_content'] = $params['content'];
|
853 |
|
854 |
+
// post_excerpt
|
855 |
+
if (!empty($params['excerpt']))
|
856 |
+
$args['post_excerpt'] = $params['excerpt'];
|
|
|
857 |
|
858 |
+
// menu_order
|
859 |
+
if (!empty($params['order']))
|
860 |
+
$args['menu_order'] = $params['order'];
|
|
|
861 |
|
862 |
+
// post_parent
|
863 |
+
if (!empty($params['parent']))
|
864 |
+
$args['post_parent'] = $params['parent'];
|
|
|
|
|
865 |
|
866 |
+
// post_name
|
867 |
+
if (!empty($params['slug']))
|
868 |
+
$args['post_name'] = $params['slug'];
|
869 |
|
870 |
+
// post_status
|
871 |
+
if (!empty($params['status'])) {
|
872 |
+
$args['post_status'] = $params['status'];
|
873 |
+
}
|
|
|
|
|
874 |
|
875 |
+
// post_title
|
876 |
+
if (!empty($params['title']))
|
877 |
+
$args['post_title'] = $params['title'];
|
878 |
+
|
879 |
+
// post_author
|
880 |
+
if (!empty($params['author']))
|
881 |
+
$args['post_author'] = $params['author'];
|
882 |
+
|
883 |
+
// comment_status
|
884 |
+
if (!empty($params['comment_status']))
|
885 |
+
$args['comment_status'] = $params['comment_status'];
|
886 |
+
|
887 |
+
// ping_status
|
888 |
+
if (!empty($params['ping_status']))
|
889 |
+
$args['ping_status'] = $params['ping_status'];
|
890 |
+
|
891 |
+
// visibility
|
892 |
+
if (!empty($params['visibility'])) {
|
893 |
+
switch ($params['visibility']) {
|
894 |
+
case 'public':
|
895 |
+
$args['post_status'] = 'publish';
|
896 |
+
$args['post_password'] = '';
|
897 |
+
break;
|
898 |
+
case 'password':
|
899 |
+
$args['post_status'] = 'publish';
|
900 |
+
$args['post_password'] = $params['password'];
|
901 |
+
break;
|
902 |
+
case 'private':
|
903 |
+
$args['post_status'] = 'private';
|
904 |
+
$args['post_password'] = '';
|
905 |
+
break;
|
906 |
+
default:
|
907 |
+
break;
|
908 |
+
}
|
909 |
+
}
|
910 |
|
911 |
+
// post/publish date
|
912 |
+
if (!empty($params['date'])) {
|
913 |
+
$datetime = strtotime($params['date']);
|
914 |
+
$post_date = date('Y-m-d H:i:s', $datetime);
|
|
|
|
|
915 |
|
916 |
+
$args['post_date'] = $post_date;
|
917 |
+
$args['post_date_gmt'] = gmdate('Y-m-d H:i:s', $datetime);
|
918 |
|
919 |
+
if (strtotime($post_date) > strtotime(date('Y-m-d H:i:s'))) $args['post_status'] = 'future';
|
920 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
921 |
|
922 |
+
// Make sure we have a slug/post_name generated before insert/update
|
923 |
+
if (empty($params['slug']) && !empty($params['title'])) {
|
924 |
+
$args['post_name'] = sanitize_title_with_dashes($params['title']);
|
925 |
+
}
|
926 |
|
927 |
+
if (!empty($params['new'])) {
|
928 |
+
$args['post_type'] = 'post';
|
929 |
+
$post_id = wp_insert_post($args, true);
|
930 |
+
} else {
|
931 |
+
$args['ID'] = $params['id'];
|
932 |
+
$args['post_modified'] = date('Y-m-d H:i:s');
|
933 |
+
$args['post_modified_gmt'] = gmdate('Y-m-d H:i:s');
|
934 |
|
935 |
+
$post_id = wp_update_post($args, true);
|
936 |
+
}
|
937 |
|
938 |
+
// We have successfully created/updated a post at this point, thus, we'll continue
|
939 |
+
// with implementing the other requested processes and return the result.
|
940 |
+
if (!is_wp_error($post_id)) {
|
941 |
+
// sticky post
|
942 |
+
if (isset($params['sticky'])) {
|
943 |
+
$sticky = (bool) $params['sticky'];
|
944 |
+
if ($sticky) {
|
945 |
+
stick_post($post_id);
|
946 |
+
} else {
|
947 |
+
if (is_sticky($post_id)) {
|
948 |
+
unstick_post($post_id);
|
949 |
+
}
|
950 |
+
}
|
951 |
+
}
|
952 |
|
953 |
+
// template
|
954 |
+
if (!empty($params['template'])) {
|
955 |
+
update_post_meta($post_id, '_wp_page_template', $params['template']);
|
956 |
+
}
|
957 |
|
958 |
+
// featured_media
|
959 |
+
if (!empty($params['featured_media'])) {
|
960 |
+
$featured_media_data = !empty($params['featured_media_data']) ? $params['featured_media_data'] : null;
|
961 |
+
$media_id = $this->attach_remote_image($params['featured_media_url'], $featured_media_data, $post_id);
|
962 |
+
if (!empty($media_id)) {
|
963 |
+
// If we have a successful attachment then add reference to UC's media id
|
964 |
+
update_post_meta($post_id, 'featured_media_updraftcentral', $params['featured_media']);
|
965 |
+
}
|
966 |
+
}
|
967 |
|
968 |
+
// categories
|
969 |
+
$categories_updated = false;
|
970 |
+
if (!empty($params['categories'])) {
|
971 |
+
$term_ids = array();
|
972 |
+
foreach ($params['categories'] as $key => $value) {
|
973 |
+
$category = sanitize_text_field($value);
|
974 |
+
$parent = 0;
|
975 |
+
|
976 |
+
if (false !== strpos($category, ':')) {
|
977 |
+
list($parent, $category) = explode(':', $category);
|
978 |
+
$result = $this->add_category(array('name' => $category, 'parent' => $parent), false);
|
979 |
+
|
980 |
+
if (!empty($result)) {
|
981 |
+
array_push($term_ids, $result['id']);
|
982 |
+
}
|
983 |
+
} else {
|
984 |
+
$term = get_term_by('id', $category, 'category');
|
985 |
+
if (!empty($term)) {
|
986 |
+
$term_id = $term->term_id;
|
987 |
+
array_push($term_ids, $term_id);
|
988 |
+
}
|
989 |
+
}
|
990 |
+
}
|
991 |
+
|
992 |
+
$this->assign_category_to_post($post_id, $term_ids);
|
993 |
+
$categories_updated = true;
|
994 |
+
}
|
995 |
+
|
996 |
+
// tags
|
997 |
+
$tags_updated = false;
|
998 |
+
if (!empty($params['tags'])) {
|
999 |
+
$term_ids = array();
|
1000 |
+
foreach ($params['tags'] as $key => $value) {
|
1001 |
+
$tag = sanitize_text_field($value);
|
1002 |
+
$field = is_numeric($tag) ? 'id' : 'name';
|
1003 |
+
|
1004 |
+
$term = get_term_by($field, $tag, 'post_tag');
|
1005 |
+
if (!empty($term)) {
|
1006 |
+
$term_id = $term->term_id;
|
1007 |
+
array_push($term_ids, $term_id);
|
1008 |
+
} else {
|
1009 |
+
$result = $this->add_tag(array('name' => $tag), false);
|
1010 |
+
if (!empty($result)) {
|
1011 |
+
array_push($term_ids, $result['id']);
|
1012 |
+
}
|
1013 |
+
}
|
1014 |
+
}
|
1015 |
+
|
1016 |
+
$this->assign_tag_to_post($post_id, $term_ids);
|
1017 |
+
$tags_updated = true;
|
1018 |
+
}
|
1019 |
+
|
1020 |
+
// Pulling any other relevant and additional information regarding
|
1021 |
+
// the post before returning it in the response.
|
1022 |
+
$postdata = $this->get_postdata($post_id);
|
1023 |
+
|
1024 |
+
if (!empty($params['new'])) {
|
1025 |
+
$postdata = array_merge($postdata, $this->get_preload_data());
|
1026 |
+
} else {
|
1027 |
+
if ($categories_updated || $tags_updated) {
|
1028 |
+
$categories = $this->get_categories();
|
1029 |
+
$tags = $this->get_tags();
|
1030 |
+
|
1031 |
+
$postdata['preloaded'] = json_encode(array(
|
1032 |
+
'categories' => $categories['data'],
|
1033 |
+
'tags' => $tags['data']
|
1034 |
+
));
|
1035 |
+
}
|
1036 |
+
}
|
1037 |
|
1038 |
+
return $this->_response($postdata);
|
1039 |
+
} else {
|
1040 |
+
// ERROR: error creating or updating post
|
1041 |
+
return $this->_generic_error_response('post_save_failed', array(
|
1042 |
+
'message' => $post_id->get_error_message(),
|
1043 |
+
'args' => $args
|
1044 |
+
));
|
1045 |
+
}
|
1046 |
+
} else {
|
1047 |
+
// ERROR: no id parameter, invalid request
|
1048 |
+
return $this->_generic_error_response('post_invalid_request', array('message' => __('Expected parameter(s) missing.', 'updraftplus')));
|
1049 |
+
}
|
1050 |
}
|
1051 |
|
1052 |
/**
|
1053 |
+
* Fetch and retrieves authors based from the submitted parameters
|
1054 |
*
|
1055 |
+
* @param array $params Containing all the needed information to filter the results of the current request
|
1056 |
+
* @return array
|
|
|
|
|
|
|
|
|
1057 |
*/
|
1058 |
+
public function get_authors($params = array()) {
|
1059 |
+
// If expected parameters are empty or does not exists then set them to some default values
|
1060 |
+
$page = !empty($params['page']) ? (int) $params['page'] : 1;
|
1061 |
+
$per_page = !empty($params['per_page']) ? (int) $params['per_page'] : 15;
|
1062 |
+
$offset = ($page - 1) * $per_page;
|
1063 |
+
$who = !empty($params['who']) ? $params['who'] : 'authors';
|
1064 |
+
$order = !empty($params['order']) ? strtoupper($params['order']) : 'ASC';
|
1065 |
+
$orderby = !empty($params['orderby']) ? $params['orderby'] : 'display_name';
|
1066 |
+
|
1067 |
+
$users = get_users(array(
|
1068 |
+
'number' => $per_page,
|
1069 |
+
'paged' => $page,
|
1070 |
+
'offset' => $offset,
|
1071 |
+
'who' => $who,
|
1072 |
+
'order' => $order,
|
1073 |
+
'orderby' => $orderby,
|
1074 |
+
));
|
1075 |
+
|
1076 |
+
$authors = array();
|
1077 |
+
$locale = get_locale();
|
1078 |
+
|
1079 |
+
foreach ($users as $user) {
|
1080 |
+
$data = array(
|
1081 |
+
'user' => json_encode($this->trim_object($user)),
|
1082 |
+
'misc' => array(
|
1083 |
+
'link' => get_author_posts_url($user->ID, $user->user_nicename),
|
1084 |
+
'locale' => function_exists('get_user_locale') ? get_user_locale($user) : $locale,
|
1085 |
+
'registered_date' => date('c', strtotime($user->user_registered)),
|
1086 |
+
)
|
1087 |
+
);
|
1088 |
|
1089 |
+
array_push($authors, $data);
|
|
|
|
|
1090 |
}
|
1091 |
|
1092 |
+
return $this->_response(array(
|
1093 |
+
'authors' => $authors
|
1094 |
+
));
|
1095 |
+
}
|
1096 |
|
1097 |
+
/**
|
1098 |
+
* Fetch and retrieves parent pages based from the submitted parameters
|
1099 |
+
*
|
1100 |
+
* @param array $params Containing all the needed information to filter the results of the current request
|
1101 |
+
* @return array
|
1102 |
+
*/
|
1103 |
+
public function get_parent_pages($params = array()) {
|
1104 |
+
// If expected parameters are empty or does not exists then set them to some default values
|
1105 |
+
$page = !empty($params['page']) ? (int) $params['page'] : 1;
|
1106 |
+
$per_page = !empty($params['per_page']) ? (int) $params['per_page'] : 15;
|
1107 |
+
$offset = ($page - 1) * $per_page;
|
1108 |
+
$exclude = !empty($params['exclude']) ? $params['exclude'] : array();
|
1109 |
+
$order = !empty($params['order']) ? strtoupper($params['order']) : 'ASC';
|
1110 |
+
$orderby = !empty($params['orderby']) ? $params['orderby'] : 'menu_order';
|
1111 |
+
$status = !empty($params['status']) ? $params['status'] : 'publish';
|
1112 |
|
1113 |
+
$args = array(
|
1114 |
+
'posts_per_page' => $per_page,
|
1115 |
+
'paged' => $page,
|
1116 |
+
'offset' => $offset,
|
1117 |
+
'post__not_in' => $exclude,
|
1118 |
+
'order' => $order,
|
1119 |
+
'orderby' => $orderby,
|
1120 |
+
'post_type' => 'page',
|
1121 |
+
'post_status' => $status,
|
1122 |
+
);
|
1123 |
|
1124 |
+
$query = new WP_Query($args);
|
1125 |
+
$posts = $query->posts;
|
1126 |
+
|
1127 |
+
$pages = array();
|
1128 |
+
if (!empty($posts)) {
|
1129 |
+
foreach ($posts as $post) {
|
1130 |
+
// Get additional information and merge with the response
|
1131 |
+
$postdata = $this->get_postdata($post);
|
1132 |
+
if (!empty($postdata)) array_push($pages, $postdata);
|
1133 |
+
}
|
1134 |
}
|
1135 |
|
1136 |
+
return $this->_response(array(
|
1137 |
+
'pages' => $pages
|
1138 |
+
));
|
|
|
|
|
|
|
1139 |
}
|
1140 |
|
1141 |
/**
|
1142 |
+
* Retrieves pages, templates, authors, categories and tags data that will be
|
1143 |
+
* used as options when displayed on the editor in UpdraftCentral
|
|
|
|
|
|
|
1144 |
*
|
1145 |
+
* @return array
|
|
|
1146 |
*/
|
1147 |
+
private function get_options() {
|
1148 |
+
// Primarily used for editor consumption so we don't include trash here. Besides,
|
1149 |
+
// trash posts/pages aren't included as parent options.
|
1150 |
+
$pages = get_pages(array('post_type' => 'page', 'post_status' => 'publish,private,draft,pending,future'));
|
1151 |
|
1152 |
+
// Add flexibility by letting users filter the default roles and add their own
|
1153 |
+
// custom page/post "author" role(s) if need be.
|
1154 |
+
$author_roles = apply_filters('updraftcentral_author_roles', array('administrator', 'editor', 'author', 'contributor'));
|
1155 |
+
$authors = get_users(array('role__in' => $author_roles));
|
1156 |
|
1157 |
+
$categories = get_categories(array('hide_empty' => false, 'orderby' => 'name', 'order' => 'ASC'));
|
1158 |
+
$tags = get_tags(array('hide_empty' => false));
|
|
|
|
|
1159 |
|
1160 |
+
if (!function_exists('get_page_templates')) {
|
1161 |
+
require_once(ABSPATH.'wp-admin/includes/theme.php');
|
1162 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1163 |
|
1164 |
+
$templates = get_page_templates();
|
1165 |
+
$template_options = array();
|
1166 |
+
foreach ($templates as $template => $filename) {
|
1167 |
+
$item = array(
|
1168 |
+
'filename' => $filename,
|
1169 |
+
'template' => $template,
|
1170 |
+
);
|
1171 |
+
$template_options[] = $item;
|
1172 |
+
}
|
1173 |
|
1174 |
+
$page_options = array();
|
1175 |
+
foreach ($pages as $page) {
|
1176 |
+
if ('trash' !== $page->post_status) {
|
1177 |
+
$item = array(
|
1178 |
+
'id' => $page->ID,
|
1179 |
+
'title' => $page->post_title,
|
1180 |
+
'parent' => $page->post_parent
|
1181 |
+
);
|
1182 |
+
$page_options[] = $item;
|
1183 |
+
}
|
1184 |
}
|
1185 |
|
1186 |
+
$author_options = array();
|
1187 |
+
foreach ($authors as $user) {
|
1188 |
+
$item = array(
|
1189 |
+
'id' => $user->ID,
|
1190 |
+
'name' => $user->display_name,
|
1191 |
+
);
|
1192 |
+
$author_options[] = $item;
|
1193 |
+
}
|
1194 |
|
1195 |
+
$category_options = array();
|
1196 |
+
foreach ($categories as $category) {
|
1197 |
+
$item = array(
|
1198 |
+
'id' => $category->term_id,
|
1199 |
+
'name' => $category->name,
|
1200 |
+
'parent' => $category->parent
|
1201 |
+
);
|
1202 |
+
$category_options[] = $item;
|
1203 |
+
}
|
1204 |
|
1205 |
+
$tag_options = array();
|
1206 |
+
foreach ($tags as $tag) {
|
1207 |
+
$item = array(
|
1208 |
+
'id' => $tag->term_id,
|
1209 |
+
'name' => $tag->name,
|
1210 |
+
);
|
1211 |
+
$tag_options[] = $item;
|
1212 |
+
}
|
1213 |
|
1214 |
+
$response = array(
|
1215 |
+
'page' => $page_options,
|
1216 |
+
'author' => $author_options,
|
1217 |
+
'template' => $template_options,
|
1218 |
+
'category' => $category_options,
|
1219 |
+
'tag' => $tag_options,
|
1220 |
+
'date' => $this->get_date_options('post'),
|
1221 |
+
);
|
1222 |
|
1223 |
+
return $response;
|
1224 |
+
}
|
|
|
|
|
1225 |
|
1226 |
+
/**
|
1227 |
+
* Changes the state/status of the given post based from the submitted action/request
|
1228 |
+
*
|
1229 |
+
* @param int $id The ID of the current page to work on
|
1230 |
+
* @param string $action The type of change that the current request is going to apply
|
1231 |
+
*
|
1232 |
+
* @return array
|
1233 |
+
*/
|
1234 |
+
private function apply_state($id, $action) {
|
1235 |
+
if (empty($id)) return false;
|
1236 |
+
|
1237 |
+
$post = get_post($id);
|
1238 |
+
if (!empty($post)) {
|
1239 |
+
$previous_status = $post->post_status;
|
1240 |
+
$deleted = false;
|
1241 |
+
|
1242 |
+
switch ($action) {
|
1243 |
+
case 'draft':
|
1244 |
+
$args = array('ID' => $id, 'post_status' => 'draft');
|
1245 |
+
wp_update_post($args);
|
1246 |
+
break;
|
1247 |
+
case 'trash':
|
1248 |
+
wp_trash_post($id);
|
1249 |
+
break;
|
1250 |
+
case 'publish':
|
1251 |
+
$args = array('ID' => $id, 'post_status' => 'publish');
|
1252 |
+
wp_update_post($args);
|
1253 |
+
break;
|
1254 |
+
case 'restore':
|
1255 |
+
$args = array('ID' => $id, 'post_status' => 'pending');
|
1256 |
+
wp_update_post($args);
|
1257 |
+
break;
|
1258 |
+
case 'delete':
|
1259 |
+
$result = wp_delete_post($id, true);
|
1260 |
+
if (!empty($result)) $deleted = true;
|
1261 |
+
break;
|
1262 |
+
default:
|
1263 |
+
break;
|
1264 |
}
|
1265 |
|
1266 |
+
$postdata = $this->get_postdata($post);
|
1267 |
+
if (!empty($postdata) || $deleted) {
|
1268 |
+
$data = $deleted ? $id : $postdata;
|
1269 |
+
return array(
|
1270 |
+
'id' => $id,
|
1271 |
+
'previous_status' => $previous_status,
|
1272 |
+
'post' => $data
|
1273 |
+
);
|
1274 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1275 |
}
|
1276 |
|
1277 |
+
return false;
|
1278 |
}
|
1279 |
|
1280 |
/**
|
1281 |
+
* Imports image from UpdraftCentral's page/post editor
|
1282 |
*
|
1283 |
+
* @param string $image_url The URL of the image to import
|
1284 |
+
* @param string $image_data The image data to save. If empty, image_url will be used to download the image
|
1285 |
+
* @param int $post_id The ID of the page where this image is to be attached
|
1286 |
*
|
1287 |
+
* @return integer
|
1288 |
*/
|
1289 |
+
private function attach_remote_image($image_url, $image_data, $post_id) {
|
1290 |
+
if (empty($image_url) || empty($post_id)) return;
|
1291 |
|
1292 |
+
$image = pathinfo($image_url);
|
1293 |
+
$image_name = $image['basename'];
|
1294 |
+
$upload_dir = wp_upload_dir();
|
1295 |
|
1296 |
+
if (empty($image_data)) {
|
1297 |
+
$response = wp_remote_get($image_url);
|
1298 |
+
if (!is_wp_error($response)) {
|
1299 |
+
$image_data = wp_remote_retrieve_body($response);
|
1300 |
+
}
|
1301 |
+
} else {
|
1302 |
+
$image_data = base64_decode($image_data);
|
1303 |
+
}
|
1304 |
|
1305 |
+
$media_id = 0;
|
1306 |
+
if (!empty($image_data)) {
|
1307 |
+
$unique_file_name = wp_unique_filename($upload_dir['path'], $image_name);
|
1308 |
+
$filename = basename($unique_file_name);
|
1309 |
|
1310 |
+
if (wp_mkdir_p($upload_dir['path'])) {
|
1311 |
+
$file = $upload_dir['path'] . '/' . $filename;
|
1312 |
+
} else {
|
1313 |
+
$file = $upload_dir['basedir'] . '/' . $filename;
|
1314 |
+
}
|
1315 |
+
|
1316 |
+
file_put_contents($file, $image_data);
|
1317 |
+
$wp_filetype = wp_check_filetype($filename, null);
|
1318 |
+
|
1319 |
+
$attachment = array(
|
1320 |
+
'post_mime_type' => $wp_filetype['type'],
|
1321 |
+
'post_title' => sanitize_file_name($filename),
|
1322 |
+
'post_content' => '',
|
1323 |
+
'post_status' => 'inherit'
|
1324 |
+
);
|
1325 |
+
|
1326 |
+
$media_id = wp_insert_attachment($attachment, $file, $post_id);
|
1327 |
+
require_once(ABSPATH . 'wp-admin/includes/image.php');
|
1328 |
+
|
1329 |
+
$attach_data = wp_generate_attachment_metadata($media_id, $file);
|
1330 |
+
wp_update_attachment_metadata($media_id, $attach_data);
|
1331 |
+
set_post_thumbnail($post_id, $media_id);
|
1332 |
}
|
1333 |
|
1334 |
+
return $media_id;
|
|
|
1335 |
}
|
1336 |
|
1337 |
/**
|
1338 |
+
* Checks whether we have the required fields submitted and the user has
|
1339 |
+
* the capabilities to execute the requested action
|
1340 |
*
|
1341 |
+
* @param array $capabilities The capabilities to check and validate
|
|
|
1342 |
*
|
1343 |
+
* @return array|void
|
1344 |
*/
|
1345 |
+
private function _validate_capabilities($capabilities) {
|
1346 |
+
foreach ($capabilities as $capability) {
|
1347 |
+
if (!current_user_can($capability)) return $this->_generic_error_response('insufficient_permission');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1348 |
}
|
|
|
1349 |
}
|
1350 |
}
|
@@ -38,7 +38,7 @@ class UpdraftCentral_Theme_Commands extends UpdraftCentral_Commands {
|
|
38 |
*
|
39 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
40 |
*/
|
41 |
-
public function _post_action($command, $data, $extra_info) {// phpcs:ignore
|
42 |
// Here, we're restoring to the current (default) blog before we switched
|
43 |
if ($this->switched) restore_current_blog();
|
44 |
}
|
38 |
*
|
39 |
* link to udrpc_action main function in class UpdraftPlus_UpdraftCentral_Listener
|
40 |
*/
|
41 |
+
public function _post_action($command, $data, $extra_info) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
42 |
// Here, we're restoring to the current (default) blog before we switched
|
43 |
if ($this->switched) restore_current_blog();
|
44 |
}
|
@@ -32,7 +32,6 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
32 |
$plugins = empty($updates['plugins']) ? array() : $updates['plugins'];
|
33 |
$plugin_updates = array();
|
34 |
foreach ($plugins as $plugin_info) {
|
35 |
-
$plugin_file = $plugin_info['plugin'];
|
36 |
$plugin_updates[] = $this->_update_plugin($plugin_info['plugin'], $plugin_info['slug']);
|
37 |
}
|
38 |
|
@@ -235,9 +234,10 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
235 |
'newVersion' => '',
|
236 |
);
|
237 |
|
|
|
238 |
include(ABSPATH.WPINC.'/version.php');
|
239 |
|
240 |
-
$status['oldVersion'] = $wp_version
|
241 |
|
242 |
if (!current_user_can('update_core')) {
|
243 |
$status['error'] = 'updates_permission_denied';
|
@@ -248,17 +248,18 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
248 |
|
249 |
wp_version_check();
|
250 |
|
251 |
-
$locale = get_locale()
|
252 |
|
253 |
$core_update_key = false;
|
254 |
$core_update_latest_version = false;
|
255 |
|
256 |
$get_core_updates = get_core_updates();
|
257 |
|
|
|
258 |
@include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
259 |
|
260 |
foreach ($get_core_updates as $k => $core_update) {
|
261 |
-
if (isset($core_update->version) && version_compare($core_update->version, $wp_version, '>') && version_compare($core_update->version, $core_update_latest_version, '>')) {
|
262 |
$core_update_latest_version = $core_update->version;
|
263 |
$core_update_key = $k;
|
264 |
}
|
@@ -416,6 +417,8 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
416 |
private function _update_translation() {
|
417 |
global $wp_filesystem;
|
418 |
|
|
|
|
|
419 |
include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
420 |
if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-automatic-upgrader-skin.php');
|
421 |
|
@@ -767,10 +770,11 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
767 |
$core_update_key = false;
|
768 |
$core_update_latest_version = false;
|
769 |
|
|
|
770 |
@include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
771 |
|
772 |
foreach ($get_core_updates as $k => $core_update) {
|
773 |
-
if (isset($core_update->version) && version_compare($core_update->version, $wp_version, '>') && version_compare($core_update->version, $core_update_latest_version, '>')) {
|
774 |
$core_update_latest_version = $core_update->version;
|
775 |
$core_update_key = $k;
|
776 |
}
|
@@ -788,14 +792,14 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
788 |
|
789 |
// We're making sure here to only return those items for update that has new
|
790 |
// versions greater than the currently installed version.
|
791 |
-
if (version_compare($wp_version, $update->version, '<')) {
|
792 |
$core_updates[] = array(
|
793 |
'download' => $update->download,
|
794 |
'version' => $update->version,
|
795 |
'php_version' => $update->php_version,
|
796 |
'mysql_version' => $update->mysql_version,
|
797 |
'installed' => array(
|
798 |
-
'version' => $wp_version
|
799 |
'mysql' => $mysql_version,
|
800 |
'php' => PHP_VERSION,
|
801 |
'is_mysql' => $is_mysql,
|
32 |
$plugins = empty($updates['plugins']) ? array() : $updates['plugins'];
|
33 |
$plugin_updates = array();
|
34 |
foreach ($plugins as $plugin_info) {
|
|
|
35 |
$plugin_updates[] = $this->_update_plugin($plugin_info['plugin'], $plugin_info['slug']);
|
36 |
}
|
37 |
|
234 |
'newVersion' => '',
|
235 |
);
|
236 |
|
237 |
+
// THis is included so we can get $wp_version
|
238 |
include(ABSPATH.WPINC.'/version.php');
|
239 |
|
240 |
+
$status['oldVersion'] = $wp_version;// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
241 |
|
242 |
if (!current_user_can('update_core')) {
|
243 |
$status['error'] = 'updates_permission_denied';
|
248 |
|
249 |
wp_version_check();
|
250 |
|
251 |
+
$locale = get_locale();// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
|
252 |
|
253 |
$core_update_key = false;
|
254 |
$core_update_latest_version = false;
|
255 |
|
256 |
$get_core_updates = get_core_updates();
|
257 |
|
258 |
+
// THis is included so we can get $wp_version
|
259 |
@include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
260 |
|
261 |
foreach ($get_core_updates as $k => $core_update) {
|
262 |
+
if (isset($core_update->version) && version_compare($core_update->version, $wp_version, '>') && version_compare($core_update->version, $core_update_latest_version, '>')) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
263 |
$core_update_latest_version = $core_update->version;
|
264 |
$core_update_key = $k;
|
265 |
}
|
417 |
private function _update_translation() {
|
418 |
global $wp_filesystem;
|
419 |
|
420 |
+
$status = array();
|
421 |
+
|
422 |
include_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
423 |
if (!class_exists('Automatic_Upgrader_Skin')) include_once(UPDRAFTCENTRAL_CLIENT_DIR.'/classes/class-automatic-upgrader-skin.php');
|
424 |
|
770 |
$core_update_key = false;
|
771 |
$core_update_latest_version = false;
|
772 |
|
773 |
+
// THis is included so we can get $wp_version
|
774 |
@include(ABSPATH.WPINC.'/version.php');// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
775 |
|
776 |
foreach ($get_core_updates as $k => $core_update) {
|
777 |
+
if (isset($core_update->version) && version_compare($core_update->version, $wp_version, '>') && version_compare($core_update->version, $core_update_latest_version, '>')) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
778 |
$core_update_latest_version = $core_update->version;
|
779 |
$core_update_key = $k;
|
780 |
}
|
792 |
|
793 |
// We're making sure here to only return those items for update that has new
|
794 |
// versions greater than the currently installed version.
|
795 |
+
if (version_compare($wp_version, $update->version, '<')) {// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
796 |
$core_updates[] = array(
|
797 |
'download' => $update->download,
|
798 |
'version' => $update->version,
|
799 |
'php_version' => $update->php_version,
|
800 |
'mysql_version' => $update->mysql_version,
|
801 |
'installed' => array(
|
802 |
+
'version' => $wp_version,// phpcs:ignore VariableAnalysis.CodeAnalysis.VariableAnalysis.UndefinedVariable
|
803 |
'mysql' => $mysql_version,
|
804 |
'php' => PHP_VERSION,
|
805 |
'is_mysql' => $is_mysql,
|
@@ -98,6 +98,7 @@ class UpdraftPlus {
|
|
98 |
|
99 |
// Create admin page
|
100 |
add_action('init', array($this, 'handle_url_actions'));
|
|
|
101 |
// Run earlier than default - hence earlier than other components
|
102 |
// admin_menu runs earlier, and we need it because options.php wants to use $updraftplus_admin before admin_init happens
|
103 |
add_action(apply_filters('updraft_admin_menu_hook', 'admin_menu'), array($this, 'admin_menu'), 9);
|
@@ -604,6 +605,31 @@ class UpdraftPlus {
|
|
604 |
}
|
605 |
}
|
606 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
607 |
public function get_table_prefix($allow_override = false) {
|
608 |
global $wpdb;
|
609 |
if (is_multisite() && !defined('MULTISITE')) {
|
@@ -4222,6 +4248,33 @@ class UpdraftPlus {
|
|
4222 |
return $updraft_dir;
|
4223 |
}
|
4224 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4225 |
public function spool_file($fullpath, $encryption = '') {
|
4226 |
@set_time_limit(900);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
4227 |
|
@@ -4490,6 +4543,7 @@ class UpdraftPlus {
|
|
4490 |
|
4491 |
$migration_warning = false;
|
4492 |
$processing_create = false;
|
|
|
4493 |
$db_version = $wpdb->db_version();
|
4494 |
|
4495 |
// Don't set too high - we want a timely response returned to the browser
|
@@ -4515,6 +4569,7 @@ class UpdraftPlus {
|
|
4515 |
// Comments are what we are interested in
|
4516 |
if (substr($buffer, 0, 1) == '#') {
|
4517 |
$processing_create = false;
|
|
|
4518 |
if ('' == $old_siteurl && preg_match('/^\# Backup of: (http(.*))$/', $buffer, $matches)) {
|
4519 |
$old_siteurl = untrailingslashit($matches[1]);
|
4520 |
$mess[] = __('Backup of:', 'updraftplus').' '.htmlspecialchars($old_siteurl).((!empty($old_wp_version)) ? ' '.sprintf(__('(version: %s)', 'updraftplus'), $old_wp_version) : '');
|
@@ -4586,6 +4641,8 @@ class UpdraftPlus {
|
|
4586 |
if (version_compare($old_php_version, $current_php_version, '>')) {
|
4587 |
// $mess[] = sprintf(__('%s version: %s', 'updraftplus'), 'WordPress', $old_wp_version);
|
4588 |
$warn[] = sprintf(__('The site in this backup was running on a webserver with version %s of %s. ', 'updraftplus'), $old_php_version, 'PHP').' '.sprintf(__('This is significantly newer than the server which you are now restoring onto (version %s).', 'updraftplus'), PHP_VERSION).' '.sprintf(__('You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the older %s version.', 'updraftplus'), 'PHP').' '.sprintf(__('Any support requests to do with %s should be raised with your web hosting company.', 'updraftplus'), 'PHP');
|
|
|
|
|
4589 |
}
|
4590 |
}
|
4591 |
} elseif ('' == $old_table_prefix && (preg_match('/^\# Table prefix: (\S+)$/', $buffer, $matches) || preg_match('/^-- Table prefix: (\S+)$/i', $buffer, $matches))) {
|
@@ -4629,7 +4686,10 @@ class UpdraftPlus {
|
|
4629 |
|
4630 |
} elseif (preg_match('#^\s*/\*\!40\d+ SET NAMES (.*)\*\/#i', $buffer, $smatches)) {
|
4631 |
$db_charsets_found[] = rtrim($smatches[1]);
|
4632 |
-
} elseif (preg_match('
|
|
|
|
|
|
|
4633 |
$table = $matches[1];
|
4634 |
$tables_found[] = $table;
|
4635 |
if ($old_table_prefix) {
|
@@ -4681,6 +4741,8 @@ class UpdraftPlus {
|
|
4681 |
$mysql_version_warned = true;
|
4682 |
$err[] = sprintf(__('Error: %s', 'updraftplus'), sprintf(__('The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.', 'updraftplus'), $db_version).' '.__('You must upgrade MySQL to be able to use this database.', 'updraftplus'));
|
4683 |
}
|
|
|
|
|
4684 |
}
|
4685 |
}
|
4686 |
if ($is_plain) {
|
@@ -4845,6 +4907,18 @@ class UpdraftPlus {
|
|
4845 |
}
|
4846 |
}
|
4847 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4848 |
// //need to make sure that we reset the file back to .crypt before clean temp files
|
4849 |
// $db_file = $decrypted_file['fullpath'].'.crypt';
|
4850 |
// unlink($decrypted_file['fullpath']);
|
98 |
|
99 |
// Create admin page
|
100 |
add_action('init', array($this, 'handle_url_actions'));
|
101 |
+
add_action('init', array($this, 'updraftplus_single_site_maintenance_init'));
|
102 |
// Run earlier than default - hence earlier than other components
|
103 |
// admin_menu runs earlier, and we need it because options.php wants to use $updraftplus_admin before admin_init happens
|
104 |
add_action(apply_filters('updraft_admin_menu_hook', 'admin_menu'), array($this, 'admin_menu'), 9);
|
605 |
}
|
606 |
}
|
607 |
|
608 |
+
/**
|
609 |
+
* This function will check if this is a multisite and if our maintenance mode file is present if so return a service unavailable
|
610 |
+
*
|
611 |
+
* @return void
|
612 |
+
*/
|
613 |
+
public function updraftplus_single_site_maintenance_init() {
|
614 |
+
|
615 |
+
if (!is_multisite()) return;
|
616 |
+
|
617 |
+
$wp_upload_dir = wp_upload_dir();
|
618 |
+
$subsite_dir = $wp_upload_dir['basedir'].'/';
|
619 |
+
|
620 |
+
if (!file_exists($subsite_dir.'.maintenance')) return;
|
621 |
+
|
622 |
+
$timestamp = file_get_contents($subsite_dir.'.maintenance');
|
623 |
+
$time = time();
|
624 |
+
|
625 |
+
if ($time - $timestamp > 3600) {
|
626 |
+
unlink($subsite_dir.'.maintenance');
|
627 |
+
return;
|
628 |
+
}
|
629 |
+
|
630 |
+
wp_die('<h1>'.__('Under Maintenance', 'updraftplus') .'</h1><p>'.__('Briefly unavailable for scheduled maintenance. Check back in a minute.', 'updraftplus').'</p>');
|
631 |
+
}
|
632 |
+
|
633 |
public function get_table_prefix($allow_override = false) {
|
634 |
global $wpdb;
|
635 |
if (is_multisite() && !defined('MULTISITE')) {
|
4248 |
return $updraft_dir;
|
4249 |
}
|
4250 |
|
4251 |
+
/**
|
4252 |
+
* This function will work out the total size of the passed in backup and return it.
|
4253 |
+
*
|
4254 |
+
* @param array $backup - an array of information about this backup set
|
4255 |
+
*
|
4256 |
+
* @return integer - the total size of the backup in bytes
|
4257 |
+
*/
|
4258 |
+
public function get_total_backup_size($backup) {
|
4259 |
+
|
4260 |
+
$backupable_entities = $this->get_backupable_file_entities(true, true);
|
4261 |
+
|
4262 |
+
// Add the database to the entities array ready to loop over
|
4263 |
+
$backupable_entities['db'] = '';
|
4264 |
+
|
4265 |
+
$total_size = 0;
|
4266 |
+
foreach ($backup as $ekey => $files) {
|
4267 |
+
if (!isset($backupable_entities[$ekey])) continue;
|
4268 |
+
if (is_string($files)) $files = array($files);
|
4269 |
+
foreach ($files as $findex => $file) {
|
4270 |
+
$size_key = (0 == $findex) ? $ekey.'-size' : $ekey.$findex.'-size';
|
4271 |
+
$total_size = (false === $total_size || !isset($backup[$size_key]) || !is_numeric($backup[$size_key])) ? false : $total_size + $backup[$size_key];
|
4272 |
+
}
|
4273 |
+
}
|
4274 |
+
|
4275 |
+
return $total_size;
|
4276 |
+
}
|
4277 |
+
|
4278 |
public function spool_file($fullpath, $encryption = '') {
|
4279 |
@set_time_limit(900);// phpcs:ignore Generic.PHP.NoSilencedErrors.Discouraged
|
4280 |
|
4543 |
|
4544 |
$migration_warning = false;
|
4545 |
$processing_create = false;
|
4546 |
+
$processing_routine = false;
|
4547 |
$db_version = $wpdb->db_version();
|
4548 |
|
4549 |
// Don't set too high - we want a timely response returned to the browser
|
4569 |
// Comments are what we are interested in
|
4570 |
if (substr($buffer, 0, 1) == '#') {
|
4571 |
$processing_create = false;
|
4572 |
+
$processing_routine = false;
|
4573 |
if ('' == $old_siteurl && preg_match('/^\# Backup of: (http(.*))$/', $buffer, $matches)) {
|
4574 |
$old_siteurl = untrailingslashit($matches[1]);
|
4575 |
$mess[] = __('Backup of:', 'updraftplus').' '.htmlspecialchars($old_siteurl).((!empty($old_wp_version)) ? ' '.sprintf(__('(version: %s)', 'updraftplus'), $old_wp_version) : '');
|
4641 |
if (version_compare($old_php_version, $current_php_version, '>')) {
|
4642 |
// $mess[] = sprintf(__('%s version: %s', 'updraftplus'), 'WordPress', $old_wp_version);
|
4643 |
$warn[] = sprintf(__('The site in this backup was running on a webserver with version %s of %s. ', 'updraftplus'), $old_php_version, 'PHP').' '.sprintf(__('This is significantly newer than the server which you are now restoring onto (version %s).', 'updraftplus'), PHP_VERSION).' '.sprintf(__('You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the older %s version.', 'updraftplus'), 'PHP').' '.sprintf(__('Any support requests to do with %s should be raised with your web hosting company.', 'updraftplus'), 'PHP');
|
4644 |
+
} elseif (version_compare($old_php_version, $current_php_version, '<')) {
|
4645 |
+
$warn[] = sprintf(__('The site in this backup was running on a webserver with version %s of %s. ', 'updraftplus'), $old_php_version, 'PHP').' '.sprintf(__('This is older than the server which you are now restoring onto (version %s).', 'updraftplus'), PHP_VERSION).' '.sprintf(__('You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the new %s version.', 'updraftplus'), 'PHP').' '.sprintf(__('Any support requests to do with %s should be raised with your web hosting company.', 'updraftplus'), 'PHP');
|
4646 |
}
|
4647 |
}
|
4648 |
} elseif ('' == $old_table_prefix && (preg_match('/^\# Table prefix: (\S+)$/', $buffer, $matches) || preg_match('/^-- Table prefix: (\S+)$/i', $buffer, $matches))) {
|
4686 |
|
4687 |
} elseif (preg_match('#^\s*/\*\!40\d+ SET NAMES (.*)\*\/#i', $buffer, $smatches)) {
|
4688 |
$db_charsets_found[] = rtrim($smatches[1]);
|
4689 |
+
} elseif (!$processing_routine && !$processing_create && preg_match("/^[^'\"]*create[^'\"]*(?:definer\s*=\s*(?:`.{1,17}`@`[^\s]+`|'.{1,17}'@'[^\s]+'))?.+?(?:function(?:\s\s*if\s\s*not\s\s*exists)?|procedure)\s*`([^\r\n]+)`/is", $buffer, $matches)) {
|
4690 |
+
// ^\s*create\s\s*(?:or\s\s*replace\s\s*)?.*?(?:aggregate\s\s*function|function|procedure)\s\s*`(.+)`(?:\s\s*if\s\s*not\s\s*exists\s*|\s*)?\(
|
4691 |
+
if (!preg_match('/END\s*(?:\*\/)?;;\s*$/is', $buffer) && !preg_match('/\;\s*;;\s*$/is', $buffer) && !preg_match('/\s*(?:\*\/)?;;\s*$/is', $buffer)) $processing_routine = true;
|
4692 |
+
} elseif (!$processing_routine && preg_match('/^\s*create table \`?([^\`\(]*)\`?\s*\(/i', $buffer, $matches)) {
|
4693 |
$table = $matches[1];
|
4694 |
$tables_found[] = $table;
|
4695 |
if ($old_table_prefix) {
|
4741 |
$mysql_version_warned = true;
|
4742 |
$err[] = sprintf(__('Error: %s', 'updraftplus'), sprintf(__('The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on.', 'updraftplus'), $db_version).' '.__('You must upgrade MySQL to be able to use this database.', 'updraftplus'));
|
4743 |
}
|
4744 |
+
} elseif ($processing_routine) {
|
4745 |
+
if ((preg_match('/END\s*(?:\*\/)?;;\s*$/is', $buffer) || preg_match('/\;\s*;;\s*$/is', $buffer) || preg_match('/\s*(?:\*\/)?;;\s*$/is', $buffer)) && !preg_match('/(?:--|#).+?;;\s*$/i', $buffer)) $processing_routine = false;
|
4746 |
}
|
4747 |
}
|
4748 |
if ($is_plain) {
|
4907 |
}
|
4908 |
}
|
4909 |
|
4910 |
+
$select_restore_tables = '<div class="notice below-h2 updraft-restore-option">';
|
4911 |
+
$select_restore_tables .= '<p>'.__('If you do not want to restore all your tables, then choose some to exclude here.', 'updraftplus').'(<a href="#" id="updraftplus_restore_tables_showmoreoptions">...</a>)</p>';
|
4912 |
+
|
4913 |
+
$select_restore_tables .= '<div class="updraftplus_restore_tables_options_container" style="display:none;">';
|
4914 |
+
foreach ($tables_found as $table) {
|
4915 |
+
$select_restore_tables .= '<input class="updraft_restore_table_options" id="updraft_restore_table_'.$table.'" checked="checked" type="checkbox" name="updraft_restore_table_options[]" value="'.$table.'"> ';
|
4916 |
+
$select_restore_tables .= '<label for="updraft_restore_table_'.$table.'">'.$table.'</label><br>';
|
4917 |
+
}
|
4918 |
+
$select_restore_tables .= '</div></div>';
|
4919 |
+
|
4920 |
+
$info['addui'] = empty($info['addui']) ? $select_restore_tables : $info['addui'].'<br>'.$select_restore_tables;
|
4921 |
+
|
4922 |
// //need to make sure that we reset the file back to .crypt before clean temp files
|
4923 |
// $db_file = $decrypted_file['fullpath'].'.crypt';
|
4924 |
// unlink($decrypted_file['fullpath']);
|
@@ -2098,6 +2098,11 @@ small.ud_massactions-tip {
|
|
2098 |
padding: 0px;
|
2099 |
}
|
2100 |
|
|
|
|
|
|
|
|
|
|
|
2101 |
.updraft_debugrow th {
|
2102 |
vertical-align: top;
|
2103 |
padding-top: 6px;
|
@@ -2690,7 +2695,6 @@ small.ud_massactions-tip {
|
|
2690 |
|
2691 |
.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {
|
2692 |
font-size: 18px !important;
|
2693 |
-
padding-bottom: 20px;
|
2694 |
}
|
2695 |
|
2696 |
.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {
|
2098 |
padding: 0px;
|
2099 |
}
|
2100 |
|
2101 |
+
.updraftplus_restore_tables_options_container {
|
2102 |
+
max-height: 250px;
|
2103 |
+
overflow: auto;
|
2104 |
+
}
|
2105 |
+
|
2106 |
.updraft_debugrow th {
|
2107 |
vertical-align: top;
|
2108 |
padding-top: 6px;
|
2695 |
|
2696 |
.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {
|
2697 |
font-size: 18px !important;
|
|
|
2698 |
}
|
2699 |
|
2700 |
.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {
|
@@ -1,2 +1,2 @@
|
|
1 |
-
@keyframes udp_blink{from{opacity:1;transform:scale(1)}to{opacity:.4;transform:scale(0.85)}}@keyframes udp_rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.max-width-600{max-width:600px}.max-width-700{max-width:700px}.width-900{max-width:900px}.width-80{width:80%}.updraft--flex{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft--flex>*{-ms-flex:1;flex:1;box-sizing:border-box}.updraft--flex>.updraft--one-half{width:50%;-ms-flex:auto;flex:auto}.updraft--flex>.updraft--two-halves{width:100%;-ms-flex:auto;flex:auto}.updraft-color--very-light-grey{background:#f8f8f8}.no-decoration{text-decoration:none}.bold{font-weight:bold}.center-align-td{text-align:center}.remove-padding{padding:0 !important}.updraft-text-center{text-align:center}.autobackup{padding:6px;margin:8px 0}ul .disc{list-style:disc inside}.dashicons-log-fix{display:inherit}.udpdraft__lifted{box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#updraft-wrap a .dashicons{text-decoration:none}.updraft-field-description,table.form-table td p.updraft-field-description{font-size:90%;line-height:1.2;font-style:italic;margin-bottom:5px}label.updraft_checkbox{display:block;margin-bottom:4px;margin-left:26px}label.updraft_checkbox>input[type=checkbox]{margin-left:-25px}div[id*="updraft_include_"]{margin-bottom:9px}.settings_page_updraftplus input[type="file"]{border:0}.settings_page_updraftplus .wipe_settings{padding-bottom:10px}.settings_page_updraftplus input[type="text"]{font-size:14px}.settings_page_updraftplus select{border-radius:4px;max-width:100%}input.updraft_input--wide,textarea.updraft_input--wide{max-width:442px;width:100%}#updraft-wrap .button-large{font-size:1.3em}.main-dashboard-buttons{border-width:4px;border-radius:12px;letter-spacing:0;font-size:17px;font-weight:bold;padding-left:.7em;padding-right:2em;padding:.3em 1em;line-height:1.7em;background:transparent;position:relative;border:2px solid;transition:all .2s;vertical-align:baseline;box-sizing:border-box;text-align:center;line-height:1.3em;margin-left:.3em;text-transform:none;line-height:1;text-decoration:none}.button-restore{border-color:#629ec0;color:#629ec0}.dashboard-main-sizing{border-width:4px;width:190px;line-height:1.7em}p.updraftplus-option{margin-top:0;margin-bottom:5px}p.updraftplus-option-inline{display:inline-block;padding-right:20px}span.updraftplus-option-label{display:block}#updraft-navtab-migrate-content .postbox{padding:18px}.updraftclone-main-row{display:-ms-flexbox;display:flex}.updraftclone-tokens{background:#f5f5f5;padding:20px;border-radius:10px;margin-right:20px;max-width:300px}.updraftclone-tokens p{margin:0}.updraftclone_action_box{background:#f5f5f5;padding:20px;border-radius:10px;-ms-flex:1;flex:1}.updraftclone_action_box p:first-child{margin-top:0}.updraftclone_action_box p:last-child{margin-bottom:0}.updraftclone_action_box #ud_downloadstatus3{margin-top:10px}span.tokens-number{font-size:46px;display:block}.button.updraft_migrate_widget_temporary_clone_show_stage0{display:none;position:absolute;right:0;top:0;height:100%;border-left:1px solid #CCC;padding-left:10px;padding-right:10px}.updraft_migrate_widget_temporary_clone_stage0_container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.updraft_migrate_widget_temporary_clone_stage0_box{margin-right:20px;width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:none}@media(min-width:1024px){.updraft_migrate_widget_temporary_clone_stage0_container{-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_migrate_widget_temporary_clone_stage0_box{-ms-flex-preferred-size:45%;flex-basis:45%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:right}}.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons{text-decoration:none;font-size:20px}.opened .button.updraft_migrate_widget_temporary_clone_show_stage0{display:inline-block}.opened .updraft_migrate_widget_temporary_clone_stage0{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:21px}.clone-list{clear:both;width:100%;margin-top:40px}.clone-list table{width:100%;text-align:left}.clone-list table tr th{background:#e4e4e4}.clone-list table tr td{background:#f5f5f5;word-break:break-word}.clone-list table tr:nth-child(odd) td{background:#fafafa}.clone-list table td,.clone-list table th{padding:6px}.updraftplus-clone .updraft_row{padding-left:0;padding-right:0}button#updraft_migrate_createclone+.updraftplus_spinner{margin-top:13px}.button.button-hero.updraftclone_show_step_1{white-space:normal;height:auto;line-height:14px;padding-top:10px;padding-bottom:10px}.button.button-hero.updraftclone_show_step_1 span.dashicons{height:auto}.updraftplus_clone_status{color:red}a.updraft_migrate_add_site--trigger span.dashicons{text-decoration:none}.button-restore:hover,.button-migrate:hover,.button-backup:hover,.button-view-log:hover,.button-mass-selectors:hover,.button-delete:hover,.button-entity-backup:hover,.udp-button-primary:hover{border-color:#df6926;color:#df6926}.button-migrate{color:#eea920;border-color:#eea920}#updraft_migrate_tab_main{padding:8px}.updraft_migrate_widget_module_content{background:#FFF;border-radius:0;position:relative}body.js #updraft_migrate .updraft_migrate_widget_module_content{display:none}.updraft_migrate_widget_module_content>h3,div[class*="updraft_migrate_widget_temporary_clone_stage"]>h3{margin-top:0}.updraft_migrate_widget_module_content header{position:relative;display:-ms-flexbox;display:flex;-ms-flex-line-pack:center;align-content:center;-ms-grid-column-align:center;justify-items:center;margin-top:-18px;margin-left:-18px;margin-right:-18px;margin-bottom:15px;border-bottom:1px solid #CCC}.updraft_migrate_widget_module_content header h3,.updraft_migrate_widget_module_content header button.button.close{padding:10px;line-height:20px;height:auto;margin:0}.updraft_migrate_widget_module_content button.button.close{text-decoration:none;padding-left:5px;border-right:1px solid #CCC}.updraft_migrate_widget_module_content button.button.close .dashicons{margin-top:1px}.updraft_migrate_widget_module_content header h3{margin:0}.updraft_migrate_intro button.button.button-primary.button-hero{max-width:235px;word-wrap:normal;white-space:normal;line-height:1;height:auto;padding-top:13px;padding-bottom:13px;text-align:left;position:relative;margin-right:10px;margin-bottom:10px}.updraft_migrate_intro button.button.button-primary.button-hero .dashicons{position:absolute;left:10px;top:calc(50% - 8px)}#updraft_migrate .ui-widget-content a{color:#1c94c4}#updraft-wrap .ui-accordion .ui-accordion-header{background:#f6f6f6;margin:0;border-radius:0;padding-left:.5em;padding-right:.7em}#updraft-wrap .ui-widget{font-family:inherit}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w{background-position:-96px 0}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s{background-position:-64px 0}#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:auto;right:5px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;box-shadow:0 0 0 1px rgba(91,157,217,0.22),0 0 2px 1px rgba(30,140,190,0.3);background:#FFF}#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons{color:#0572aa;opacity:1}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active{background:#f6f6f6;border-bottom:2px solid #0572aa;box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3)}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus{box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child){border-top:0}#updraft-wrap .ui-accordion .ui-accordion-header .dashicons{opacity:.4;margin-right:10px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);z-index:1}button.ui-dialog-titlebar-close:before{content:none !important}.updraft_next_scheduled_backups_wrapper{display:-ms-flexbox;display:flex;background:#FFF;-ms-grid-column-align:center;justify-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_next_scheduled_backups_wrapper>div{width:50%;background:#FFF;height:auto;padding:33px;box-sizing:border-box}.updraft_backup_btn_wrapper{text-align:center;border-left:1px solid #f1f1f1;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.incremental-backups-only{display:none}.incremental-free-only{display:none}.incremental-free-only p{padding:5px;background:rgba(255,0,0,0.06);border:1px solid #bfbfbf}#updraft-delete-waitwarning span.spinner{visibility:visible;float:none;margin:0;margin-right:10px}button#updraft-backupnow-button .spinner,button#updraft-backupnow-button .dashicons-yes{display:none}button#updraft-backupnow-button.loading .spinner{display:inline-block;visibility:visible;margin-top:13px;margin-right:0}button#updraft-backupnow-button.loading{background-color:#efefef;border-color:#CCC;text-shadow:0 -1px 1px #bbc3c7,1px 0 1px #bbc3c7,0 1px 1px #bbc3c7,-1px 0 1px #bbc3c7;box-shadow:none}button#updraft-backupnow-button.finished .dashicons-yes{display:inline-block;visibility:visible;font-size:42px;margin-right:0;margin-top:2px}.updraft_next_scheduled_entity{width:50%;display:inline-block;float:left}.updraft_next_scheduled_entity .dashicons{color:#CCC;font-size:20px}.updraft_next_scheduled_entity strong{font-size:20px}.updraft_next_scheduled_heading{margin-bottom:10px}.updraft_next_scheduled_date_time{color:#46a84b}.updraft_time_now_wrapper{margin-top:68px;width:100%}.updraft_time_now_label,.updraft_time_now{display:inline-block;padding:7px}.updraft_time_now_label{background:#b7b7b7;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#FFF;margin-right:0;text-shadow:0 1px 2px rgba(0,0,0,0.4)}.updraft_time_now{background:#f1f1f1;border-top-right-radius:4px;border-bottom-right-radius:4px;margin-left:-3px}#updraft_lastlogmessagerow{margin:6px 0}#updraft_lastlogmessagerow{clear:both;padding:.25px 0}#updraft_lastlogmessagerow .updraft-log-link{float:right;margin-top:-2.5em;margin-right:2px}#updraft_lastlogmessagerow>div{clear:both;background:#FFF;padding:18px}#updraft_activejobs_table{overflow:hidden;width:100%;background:#fafafa;padding:0}.updraft_requeststart{padding:15px 33px;text-align:center}.updraft_requeststart .spinner{visibility:visible;float:none;vertical-align:middle;margin-top:-2px}a.updraft_jobinfo_delete.disabled{opacity:.4;color:inherit;text-decoration:none}.updraft_row{clear:both;transition:.3s all;padding:15px 33px}.updraft_row.deleting{opacity:.4}.updraft_existing_backups_count{padding:2px 8px;font-size:12px;background:#ca4a1e;color:#FFF;font-weight:bold;border-radius:10px}.form-table .existing-backups-table input[type="checkbox"]{border-radius:0}.form-table .existing-backups-table .check-column{width:40px;padding:0;padding-top:8px}.existing-backups-buttons{font-size:11px;line-height:1.4em;border-width:3px}.existing-backups-restore-buttons{font-size:11px;line-height:1.4em;border-width:3px}.button-delete{color:#e23900;border-color:#e23900;font-size:14px;line-height:1.4em;border-width:2px;margin-right:10px}.button-view-log,.button-mass-selectors{color:darkgrey;border-color:darkgrey;font-size:14px;line-height:1.4em;border-width:2px;margin-top:-1px}.button-view-log{width:120px}.button-existing-restore{font-size:14px;line-height:1.4em;border-width:2px;width:110px}.main-restore{margin-right:3%;margin-left:3%}.button-entity-backup{color:#555;border-color:#555;font-size:11px;line-height:1.4em;border-width:2px;margin-right:5px}.button-select-all{width:122px}.button-deselect{width:92px}#ud_massactions>.display-flex>.mass-selectors-margins,#updraft-delete-waitwarning>.display-flex>.mass-selectors-margins{margin-right:-4px}.udp-button-primary{border-width:4px;color:#0073aa;border-color:#0073aa;font-size:14px;height:40px}#ud_massactions .button-delete{margin-right:0}.stored_local{border-radius:5px;background-color:#007fe7;padding:3px 5px 5px 5px;color:#FFF;font-size:75%}span#updraft_lastlogcontainer{word-break:break-all}.stored_icon{height:1.3em;position:relative;top:.2em}.backup_date_label>*{vertical-align:middle}.backup_date_label .dashicons{font-size:18px}.backup_date_label .clear-right{clear:right}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:bold}.udp-logo-70{width:70px;height:70px;float:left;padding-right:25px}h3 .thank-you{margin-top:0}.ws_advert{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.dismiss-dash-notice{float:right;position:relative;top:-20px}.updraft_exclude_container,.updraft_include_container{margin-left:24px;margin-top:5px;margin-bottom:10px;padding:15px;border:1px solid #DDD}label.updraft-exclude-label{font-weight:500;margin-bottom:5px;display:block}.updraft_add_exclude_item,#updraft_include_more_paths_another{display:inline-block;margin-top:10px}input.updraft_exclude_entity_field,.form-table td input.updraft_exclude_entity_field,.updraftplus-morefiles-row input[type=text]{width:calc(100% - 70px);max-width:400px}@media screen and (max-width:782px){.form-table td input.updraft_exclude_entity_field,.form-table td .updraftplus-morefiles-row input[type=text]{display:inline-block}}.updraft_exclude_entity_delete.dashicons,.updraft_exclude_entity_edit.dashicons,.updraft_exclude_entity_update.dashicons,.updraftplus-morefiles-row a.dashicons{margin-top:2px;font-size:20px;box-shadow:none;line-height:1;padding:3px;margin-right:4px}.updraft_exclude_entity_delete,.updraft_exclude_entity_delete:hover,.updraftplus-morefiles-row-delete{color:#ff6347}.updraft_exclude_entity_update.dashicons,.updraft_exclude_entity_update.dashicons:hover{color:#008000;font-weight:bold;font-size:22px;margin-left:4px}.updraft_exclude_entity_edit{margin-left:4px}.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete{display:none}.updraft-exclude-panel-heading{margin-bottom:8px}.updraft-exclude-panel-heading h3{margin:.5em 0 .5em 0}.updraft-exclude-submit.button-primary{margin-top:5px}.updraft_exclude_actions_list{font-weight:bold}.updraft-exclude-link{cursor:pointer}#updraft_include_more_options{padding-left:25px}#updraft_report_cell .updraft_reportbox,.updraft_small_box{padding:12px;margin:8px 0;border:1px solid #CCC;position:relative}#updraft_report_cell button.updraft_reportbox_delete,.updraft_box_delete_button,.updraft_small_box .updraft_box_delete_button{padding:4px;padding-top:6px;border:0;background:transparent;position:absolute;top:4px;right:4px;cursor:pointer}#updraft_report_cell button.updraft_reportbox_delete:hover{color:#de3c3c}a.updraft_report_another .dashicons{text-decoration:none;margin-top:2px}.updraft_report_dbbackup.updraft_report_disabled{color:#CCC}#updraft-navtab-settings-content .updraft-test-button{font-size:18px !important}#updraft_report_cell .updraft_report_email{display:block;width:calc(100% - 50px);margin-bottom:9px}#updraft_report_cell .updraft_report_another_p{clear:left}#updraft-navtab-settings-content table.form-table p{max-width:700px}#updraft-navtab-settings-content table.form-table .notice p{max-width:none}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td{background-color:#efefef}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td{background-color:#e8e8e8}.updraft_settings_sectionheading{display:none}.updraft-backupentitybutton-disabled{background-color:transparent;border:0;color:#0074a2;text-decoration:underline;cursor:pointer;clear:none;float:left}.updraft-backupentitybutton{margin-left:8px}.updraft-bigbutton{padding:2px 0 !important;margin-right:14px !important;font-size:22px !important;min-height:32px;min-width:180px}tr[class*="_updraft_remote_storage_border"]{border-top:1px solid #CCC}.updraft_multi_storage_options{float:right;clear:right;margin-bottom:5px !important}.updraft_toggle_instance_label{vertical-align:top !important}.updraft_debugrow th{float:right;text-align:right;font-weight:bold;padding-right:8px;min-width:140px}.updraft_debugrow td{min-width:300px;vertical-align:bottom}#updraft_webdav_host_error,.onedrive_folder_error{color:red}label[for=updraft_servicecheckbox_updraftvault]{position:relative}#updraft-wrap .udp-info{position:absolute;right:10px;top:calc(50% - 10px)}#updraft-wrap span.info-trigger{display:inline-block;width:20px;height:20px;background:#FFF;color:#72777c;border-radius:30px;text-align:center;line-height:20px;box-shadow:0 1px 3px rgba(0,0,0,0.15)}#updraft-wrap .info-content-wrapper{display:none;position:absolute;bottom:20px;transform:translatex(calc(-50% + 10px));width:330px;padding-bottom:10px}#updraft-wrap .info-content-wrapper::before{content:'';position:absolute;bottom:-10px;border:10px solid transparent;border-top-color:#FFF;left:calc(50% - 10px)}#updraft-wrap .info-content{padding:20px;background:#FFF;border-radius:4px;box-shadow:0 3px 10px rgba(0,0,0,0.1);color:#72777c}#updraft-wrap .info-content h3{margin-top:0}#updraft-wrap .info-content p{margin-top:10px}#updraft-wrap .udp-info:hover .info-content-wrapper{display:block}.updraft_jstree .jstree-container-ul>.jstree-node,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-node{background:transparent}.updraft_jstree .jstree-container-ul>.jstree-open>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-open>.jstree-ocl{background-position:-36px -4px}.updraft_jstree .jstree-container-ul>.jstree-closed>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-closed>.jstree-ocl{background-position:-4px -4px}.updraft_jstree .jstree-container-ul>.jstree-leaf>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-leaf>.jstree-ocl{background:transparent}#updraft_zip_files_container{position:relative;height:450px;overflow:none}.updraft_jstree_info_container{position:relative;height:auto;width:100%;border:1px dotted;margin-bottom:5px}.updraft_jstree_info_container p{margin:1px;padding-left:10px;font-size:14px}#updraft_zip_download_item{display:none;color:#0073aa;padding-left:10px}#updraft_zip_download_notice{padding-left:10px}#updraft_exclude_files_folders_jstree{max-height:200px;overflow-y:scroll}.updraft_jstree{position:relative;border:1px dotted;height:80%;width:100%;overflow:auto}div[id^="updraft_more_files_container_"]{position:relative;display:none;width:100%;border:1px solid #CCC;background:#fafafa;margin-bottom:5px;margin-top:4px;box-shadow:0 5px 8px rgba(0,0,0,0.1)}div[id^="updraft_more_files_container_"]::before{content:' ';width:11px;height:11px;display:block;background:#fafafa;position:absolute;top:0;left:20px;border-top:1px solid #CCC;border-left:1px solid #CCC;transform:translatey(-7px) rotate(45deg)}input.updraft_more_path_editing{border-color:#0285ba}input.updraft_more_path_editing ~ a.dashicons{display:none}div[id^="updraft_jstree_buttons_"]{padding:10px;background:#e6e6e6}div[id^="updraft_jstree_container_"]{height:300px;width:100%;overflow:auto}div[id^="updraft_more_files_container_"] button{line-height:20px}button[id^="updraft_parent_directory_"]{margin:10px 10px 4px 10px;padding-left:3px}button[id^="updraft_jstree_confirm_"],button[id^="updraft_jstree_cancel_"]{display:none}input[id^="updraft_include_more_path_restore_"]{text-align:right}.updraftplus-morefiles-row-delete,.updraftplus-morefiles-row-edit{cursor:pointer}#updraft-wrap .form-table th{width:230px}#updraft-wrap .form-table .existing-backups-table th{width:auto}.updraft-viewlogdiv form{margin:0;padding:0}.updraft-viewlogdiv{display:inline-block}.updraft-viewlogdiv input,.updraft-viewlogdiv a{border:0;background-color:transparent;color:#000;margin:0;padding:3px 4px;font-size:16px;line-height:26px}.updraft-viewlogdiv input:hover,.updraft-viewlogdiv a:hover{color:#FFF;cursor:pointer}.button.button-remove{color:white;background-color:#de3c3c;border-color:#c00000;box-shadow:0 1px 0 #c10100}.button.button-remove:hover,.button.button-remove:focus{border-color:#C00;color:#FFF;background:#C00}body.admin-color-midnight .button.button-remove{color:#de3c3c;background-color:#f7f7f7;border-color:#CCC;box-shadow:0 1px 0 #CCC}body.admin-color-midnight .button.button-remove:hover,body.admin-color-midnight .button.button-remove:focus{border-color:#ba281f}body.admin-color-midnight .button.button-remove:focus{box-shadow:inherit;box-shadow:0 0 3px rgba(0,115,170,0.8)}.drag-drop #drag-drop-area2{border:4px dashed #DDD;height:200px}#drag-drop-area2 .drag-drop-inside{margin:36px auto 0;width:350px}#filelist,#filelist2{width:100%}#filelist .file,#filelist2 .file,.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{padding:1px;background:#ececec;border:solid 1px #CCC;margin:4px 0}.updraft_premium section{margin-bottom:20px}.updraft_premium_cta{background:#FFF;margin-top:30px;padding:0;border-left:4px solid #db6a03}.updraft_premium_cta a{font-weight:normal}.updraft_premium_cta__action{position:relative;text-align:center}.updraft_premium_cta a.button.button-primary.button-hero{font-size:1.3em;letter-spacing:.03rem;text-transform:uppercase;margin-bottom:7px}.updraft_premium_cta a.button.button-primary.button-hero+small{display:block;max-width:100%;text-align:center;color:#afafaf}.updraft_premium_cta a.button.button-primary.button-hero+small .dashicons{width:12px;height:12px}.updraft_premium_cta__top{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:18px 30px}.updraft_premium_cta__bottom{background:#f9f9f9;padding:5px 30px}.updraft_premium_cta__summary{margin-right:60px}.updraft_premium_cta h2{font-size:28px;font-weight:200;line-height:1;margin:0;margin-bottom:5px;letter-spacing:.05rem;color:#db6a03}.updraft_premium_cta ul li::after{color:#CCC}@media only screen and (max-width:768px){.updraft_premium_cta__top{-ms-flex-direction:column;flex-direction:column;text-align:center;-ms-flex-align:center;align-items:center}.updraft_premium_cta__summary{margin-right:0;margin-bottom:30px}}.udp-box{background:#FFF;padding:20px;box-shadow:0 1px 2px rgba(0,0,0,0.1);text-align:center}.udp-box h3{margin:0}.udp-box__heading{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;background:0;box-shadow:none}.updraft-more-plugins{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;flex-wrap:wrap}.updraft-more-plugins img{max-width:200px;width:100%;display:inline-block}.updraft-more-plugins .udp-box{box-sizing:border-box;width:24%}.updraft-more-plugins .udp-box p:last-child{margin-bottom:0;padding-bottom:0}.updraft_premium_description_list{text-align:left;margin:0;font-size:12px}ul.updraft_premium_description_list,ul#updraft_restore_warnings{list-style:disc inside}ul.updraft_premium_description_list li{display:inline}ul.updraft_premium_description_list li::after{content:" | "}ul.updraft_premium_description_list li:last-child::after{content:""}.updraft_feature_cell{background-color:#f7d9c9 !important;padding:5px 10px}.updraftplus_com_login_status,.updraftplus_com_key_status{display:none;background:#FFF;border-left:4px solid #FFF;border-left-color:#dc3232;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 15px 0;padding:5px 12px}.updraftplus_com_login_status.success{border-left-color:green}#updraft-wrap strong.success{color:green}.updraft_feat_table{border:0;border-collapse:collapse;font-size:120%;background-color:white;text-align:center}.updraft_feat_th,.updraft_feat_table td{border:1px solid #f1f1f1;border-collapse:collapse;font-size:120%;background-color:white;text-align:center;padding:15px}.updraft_feat_table td{border-bottom-width:4px}.updraft_feat_table td:first-child{border-left:0}.updraft_feat_table td:last-child{border-right:0}.updraft_feat_table tr:last-child td{border-bottom:0}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){background-color:rgba(241,241,241,0.38);width:190px}.updraft_feat_table__header td img{display:block;margin:0 auto}.updraft_feat_table__header td{text-align:center}.updraft_feat_table .installed{font-size:14px}.updraft_feat_table p{padding:0 10px;margin:5px 0;font-size:13px}.updraft_feat_table h4{margin:5px 0}.updraft_feat_table .dashicons{width:25px;height:25px;font-size:25px;line-height:1}.updraft_feat_table .dashicons-yes,.updraft_feat_table .updraft-yes{color:green}.updraft_feat_table .dashicons-no-alt,.updraft_feat_table .updraft-no{color:red}.updraft_tick_cell{text-align:center}.updraft_tick_cell img{margin:4px 0;height:24px}.ud_downloadstatus__close{border:0;background:transparent;width:auto;font-size:20px;padding:0;cursor:pointer}#filelist .fileprogress,#filelist2 .fileprogress,.ud_downloadstatus .dlfileprogress,#ud_downloadstatus2 .dlfileprogress,#ud_downloadstatus3 .dlfileprogress{width:0;background:#0572aa;height:8px;transition:width .3s}.ud_downloadstatus .raw,#ud_downloadstatus2 .raw,#ud_downloadstatus3 .raw{margin-top:8px;clear:left}.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{margin-top:8px}div[class^="updraftplus_downloader_container_"]{padding:10px}tr.updraftplusmethod h3{margin:0}tr.updraftplusmethod img{max-width:100%}#updraft_retain_db_rules .updraft_retain_rules_delete,#updraft_retain_files_rules .updraft_retain_rules_delete{cursor:pointer;color:red;font-size:120%;font-weight:bold;border:0;border-radius:3px;padding:2px;margin:0 6px;text-decoration:none;display:inline-block}#updraft_retain_db_rules .updraft_retain_rules_delete:hover,#updraft_retain_files_rules .updraft_retain_rules_delete:hover{cursor:pointer;color:white;background:red}#updraft_backup_started{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.blockUI.blockOverlay.ui-widget-overlay{background:#000}.updraft_success_popup{text-align:center;padding-bottom:30px}.updraft_success_popup>.dashicons{font-size:100px;width:100px;height:100px;line-height:100px;padding:0;border-radius:50%;margin-top:30px;display:block;margin-left:auto;margin-right:auto;background:#e2e6e5}.updraft_success_popup>.dashicons.dashicons-yes{text-indent:-5px}.updraft_success_popup.success>.dashicons{color:green}.updraft_success_popup.warning>.dashicons{color:#888}.updraft_success_popup--message{padding:20px}.button.updraft-close-overlay .dashicons{text-decoration:none;font-size:20px;margin-left:-5px;padding:0;transform:translatey(3px)}.updraft_saving_popup img{animation-name:udp_blink;animation-duration:610ms;animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-out}.udp-premium-image{display:none}@media screen and (min-width:720px){.udp-premium-image{display:block;float:left;padding-right:5px}}#plupload-upload-ui2{width:80%}.backup-restored{padding:8px}.updated.backup-restored{padding-top:15px;padding-bottom:15px}.backup-restored span{font-size:120%}.memory-limit{padding:8px}.updraft_list_errors{padding:8px}.nav-tab-wrapper{margin:14px 0}#updraft-poplog-content{white-space:pre-wrap}.next-backup{border:0;padding:0;margin:0 10px 0 0}.not-scheduled{vertical-align:top !important;margin:0 !important;padding:0 !important}.next-backup .updraft_scheduled{margin:0;padding:2px 4px 2px 0}#next-backup-table-inner td{vertical-align:top}.updraft_all-files{color:blue}.multisite-advert-width{width:800px}.updraft_settings_sectionheading{margin-top:6px}section.premium-upgrade-purchase-success{padding:2em;background:#fafafa;text-align:center;box-shadow:0 14px 40px rgba(0,0,0,0.1)}section.premium-upgrade-purchase-success h3{font-size:2em;color:green}section.premium-upgrade-purchase-success h3 .dashicons{display:block;margin:0 auto;font-size:60px;width:60px;height:60px;border-radius:50%;background:green;color:#FFF;margin-bottom:20px}section.premium-upgrade-purchase-success h3 .dashicons::before{display:inline-block;margin-left:-4px;margin-top:2px}section.premium-upgrade-purchase-success p{font-size:120%}.show_admin_restore_in_progress_notice{padding:8px}.show_admin_restore_in_progress_notice .unfinished-restoration{font-size:120%}#backupnow_includefiles_moreoptions,#backupnow_database_moreoptions{margin:4px 16px 6px 16px;border:1px dotted;padding:6px 10px}#backupnow_database_moreoptions{max-height:250px;overflow:auto}.form-table #updraft_activejobsrow .minimum-height{min-height:100px}#updraft_activejobsrow th{max-width:112px;margin:0;padding:13px 0 0 0}#updraft_lastlogmessagerow .last-message{padding-top:20px;display:block}.updraft_simplepie{vertical-align:top}.download-backups{margin-top:8px}.download-backups .updraft_download_button{margin-right:6px}.download-backups .ud-whitespace-warning,.download-backups .ud-bom-warning{background-color:pink;padding:8px;margin:4px;border:1px dotted}.download-backups .ul{list-style:none inside;max-width:800px;margin-top:6px;margin-bottom:12px}#updraft-plupload-modal{margin:16px 0}.download-backups .upload{max-width:610px}.download-backups #plupload-upload-ui{width:100%}.ud_downloadstatus{padding:10px 0}#ud_massactions,#updraft-delete-waitwarning{padding:14px;background:#f1f1f1;position:absolute;left:0;top:100%}#ud_massactions>*,#updraft-delete-waitwarning>*{vertical-align:middle}#ud_massactions .updraftplus-remove{display:inline-block;margin-right:0}#ud_massactions .updraftplus-remove a{text-decoration:none}#ud_massactions .updraft-viewlogdiv a{text-decoration:none;position:relative}small.ud_massactions-tip{display:inline-block;opacity:.5;font-style:italic;margin-left:20px}#updraft-navtab-backups-content .updraft_existing_backups{margin-bottom:35px;position:relative}#updraft-message-modal-innards{padding:4px}#updraft-authenticate-modal{text-align:center;font-size:16px !important}#updraft-authenticate-modal p{font-size:16px}#updraft_delete_form p{margin-top:3px;padding-top:0}#updraft_restore_form .cannot-restore{margin:8px 0}.notice.updraft-restore-option{padding:12px;margin:8px 0 4px 0;border-left-color:#CCC}#updraft_restorer_dboptions h4{margin:0 0 6px 0;padding:0}.updraft_debugrow th{vertical-align:top;padding-top:6px;max-width:140px}.expertmode p{font-size:125%}.expertmode .call-wp-action{width:300px;height:22px}.updraftplus-lock-advert{clear:left;max-width:600px}.uncompressed-data{clear:left;max-width:600px}.delete-old-directories{padding:8px;padding-bottom:12px}.active-jobs{width:100%;text-align:center;padding:33px}.job-id{margin-top:0;margin-bottom:8px}.next-resumption{font-weight:bold}.updraft_percentage{z-index:-1;position:absolute;left:0;top:0;text-align:center;background-color:#1d8ec2;transition:width .3s}.curstage{z-index:1;border-radius:2px;margin-top:8px;width:100%;height:26px;line-height:26px;position:relative;text-align:center;font-style:italic;color:#FFF;background-color:#b7b7b7;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.curstage-info{display:inline-block;z-index:2}.retain-files{width:48px}.backup-interval-description tr td div{max-width:670px}#updraft-manualdecrypt-modal{width:85%;margin:6px;margin-left:100px}.directory-permissions{font-size:110%;font-weight:bold}.double-warning{border:1px solid;padding:6px}.raw-backup-info{font-style:italic;font-weight:bold;font-size:120%}.updraft_existingbackup_date{width:22%;max-width:140px}.updraft_existing_backups_wrapper{margin-top:20px;border-top:1px solid #DDD}.updraft-no-backups-msg{text-align:center}.tr-bottom-4{margin-bottom:4px}.existing-backups-table th{padding:8px 10px}.form-table .backup-date{width:172px}.form-table .backup-data{width:426px}.form-table .updraft_backup_actions{width:272px}.existing-date{box-sizing:border-box;max-width:140px;width:25%}.line-break-tr{height:2px;padding:1px;margin:0}.line-break-td{margin:0;padding:0}.td-line-color{height:2px;background-color:#888}.raw-backup{max-width:140px}.existing-backups-actions{padding:1px;margin:0}.existing-backups-border{height:2px;padding:1px;margin:0}.existing-backups-border>td{margin:0;padding:0}.existing-backups-border>div{height:2px;background-color:#AAA}.updraft_existing_backup_date{max-width:140px}.updraftplus-upload{margin-right:6px;float:left;clear:none}.before-restore-button{padding:1px;margin:0}.before-restore-button div{float:none;display:inline-block}.table-separator-tr{height:2px;padding:1px;margin:0}.table-separator-td{margin:0;padding:0}.end-of-table-div{height:2px;background-color:#AAA}.last-backup-job{padding-top:3% !important}.line-height-03{line-height:.3 !important}.line-height-13{line-height:1.3 !important}.line-height-23{line-height:2.3 !important}#updraft_diskspaceused{color:#df6926}#updraft_delete_old_dirs_pagediv{padding-bottom:10px}.fix-time{width:70px}.retain-files{width:70px}.number-input{min-width:50px;max-width:70px}.additional-rule-width{min-width:60px;max-width:70px}#updraft-wrap .dashicons.dashicons-adapt-size{line-height:inherit;font-size:inherit}#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size){vertical-align:middle;margin-top:-3px}.addon-logo-150{margin-left:30px;margin-top:33px;height:125px;width:150px}.margin-bottom-50{margin-bottom:50px}.premium-container{width:80%}.main-header{background-color:#df6926;height:200px;width:100%}.button-add-to-cart{color:white;border-color:white;float:none;margin-right:17px}.button-add-to-cart:hover,.button-add-to-cart:focus,.button-add-to-cart:active{border-color:#a0a5aa;color:#a0a5aa}.addon-title{margin-top:25px}.addon-text{margin-top:75px}.image-main-div{width:25%;float:left}.text-main-div{width:60%;float:left;text-align:center;color:white;margin-top:16px}.text-main-div-title{font-weight:bold !important;color:white;text-align:center}.text-main-div-paragraph{color:white}.updraftplus-vault-cta{width:100%;text-align:center;margin-bottom:50px}.updraftplus-vault-cta h1{font-weight:bold}.updraftvault-buy{width:225px;height:225px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:50px;position:relative}.updraftplus-vault-cta>.vault-options>.center-vault{width:275px;height:275px}.updraftplus-vault-cta>.vault-options>.center-vault>a{right:21%;font-size:16px;border-width:4px !important}.updraftplus-vault-cta>.vault-options>.center-vault>p{font-size:16px}.updraftvault-buy .button-purchase{right:24%;margin-left:0;line-height:1.7em}.updraftvault-buy hr{height:2px;background-color:#777;margin-top:18px}.right{margin-right:0}.updraftvault-buy .addon-logo-100{height:100px;width:125px;margin-top:7px}.updraftvault-buy .addon-logo-large{margin-top:7px}.updraftvault-buy .button-buy-vault{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:29%;bottom:2%}.premium-addon-div .button-purchase{line-height:1.7em}.updraftvault-buy .button-buy-vault:hover{border-color:darkgrey;color:darkgrey}.premium-addons{margin-top:80px;width:100%;margin:0 auto;display:table}.addon-list{display:table;text-align:center}.premium-addons h1{text-align:center;font-weight:bold}.premium-addons p{text-align:center}.premium-addons .premium-addon-div{width:200px;height:250px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:25px;margin-top:25px;text-align:center;position:relative}.premium-addons .premium-addon-div p{margin-left:2px;margin-right:2px}.premium-addons .premium-addon-div img{width:auto;height:50px;margin-top:7px}.premium-addons .premium-addon-div .hr-alignment{margin-top:44px}.premium-addons .premium-addon-div .dropbox-logo{height:39px;width:150px}.premium-addons .premium-addon-div .azure-logo,.premium-addons .premium-addon-div .onedrive-logo{width:75%;height:24px}.button-purchase{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:25%;bottom:2%}.button-purchase:hover{color:darkgrey;border-color:darkgrey}.premium-addons .premium-addon-div hr{height:2px;background-color:#777;margin-top:18px}.premium-addon-div p{font-style:italic}.addon-list>.premium-addon-div>.onedrive-fix,.addon-list>.premium-addon-div>.azure-logo{margin-top:33px}.addon-list>.premium-addon-div>.dropbox-fix{margin-top:18px}.premium-forgotton-something{margin-top:5%}.premium-forgotton-something h1{text-align:center;font-weight:bold}.premium-forgotton-something p{text-align:center;font-weight:normal}.premium-forgotton-something .button-faq{color:#df6926;border-color:#df6926;margin:0 auto;display:table}.premium-forgotton-something .button-faq:hover{color:#777;border-color:#777}.updraftplusmethod.updraftvault #vaultlogo{padding-left:40px}.updraftplusmethod.updraftvault .vault_primary_option{float:left;width:50%;text-align:center;padding-bottom:20px}.updraftplusmethod.updraftvault .vault_primary_option div{clear:right;padding-top:20px}.updraftplusmethod.updraftvault .clear-left{clear:left}.updraftplusmethod.updraftvault .padding-top-20px{padding-top:20px}.updraftplusmethod.updraftvault .padding-top-14px{padding-top:14px}.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary,.updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary{font-size:18px !important;padding-bottom:20px}.updraftplusmethod.updraftvault #updraftvault_showoptions,.updraftplusmethod.updraftvault #updraftvault_connect{margin-top:8px}.updraftplusmethod.updraftvault #updraftvault_settings_connect input{margin-right:10px}.updraftplusmethod.updraftvault #updraftvault_email{width:280px}.updraftplusmethod.updraftvault #updraftvault_pass{width:200px}.updraftplusmethod.updraftvault #vault-is-connected{margin:0;padding:0}.updraftplusmethod.updraftvault #updraftvault_settings_default p{clear:left}.updraftplusmethod.updraftvault .vault-purchase-option-container{text-align:center}.updraftplusmethod.updraftvault .vault-purchase-option{width:40%;text-align:center;padding-top:20px;display:inline-block}.updraftplusmethod.updraftvault .vault-purchase-option-size{font-size:200%;font-weight:bold}.updraftplusmethod.updraftvault .vault-purchase-option-link{clear:both;font-size:150%}.updraftplusmethod.updraftvault .vault-purchase-option-or{clear:both;font-size:115%;font-style:italic}.autobackup-image{clear:left;float:left;width:110px;height:110px}.autobackup-description{width:100%}.advert-description{float:left;clear:right;padding:4px 10px 8px 10px;width:70%;clear:right;vertical-align:top}.advert-btn{display:inline-block;min-width:10%;vertical-align:top;margin-bottom:8px}.advert-btn:first-of-type{margin-top:25px}.advert-btn a{display:block;cursor:pointer}a.btn-get-started{background:#FFF;border:2px solid #df6926;border-radius:4px;color:#df6926;display:inline-block;margin-left:10px !important;margin-bottom:7px !important;font-size:18px !important;line-height:20px;min-height:28px;padding:11px 10px 5px 10px;text-transform:uppercase;text-decoration:none}.circle-dblarrow{border:1px solid #df6926;border-radius:100%;display:inline-block;font-size:17px;line-height:17px;margin-left:5px;width:20px;height:20px;text-align:center}.expertmode .advanced_settings_container{height:auto;overflow:hidden}.expertmode .advanced_settings_container .advanced_settings_menu{float:none;border-bottom:1px solid #ccc}.expertmode .advanced_settings_container .advanced_settings_content{padding-top:5px;float:none;width:auto;overflow:auto}.expertmode .advanced_settings_container .advanced_settings_content h3:first-child{margin-top:5px !important}.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools{display:none}.expertmode .advanced_settings_container .advanced_settings_content .site_info{display:block}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:inline-block;cursor:pointer;padding:5px;color:#000}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text{font-size:16px}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover{background-color:#eaeaea}.expertmode .advanced_settings_container .advanced_settings_menu .active{background-color:#3498db;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_menu .active:hover{background-color:#72c5fd;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_content input#import_settings{height:auto !important}div#updraft-wrap a{cursor:pointer !important}.updraftcentral_wizard_option{width:45%;float:left;text-align:center}.updraftcentral_wizard_option label{margin-bottom:8px}#updraftcentral_keys_table{display:none}.create_key_container{border:1px solid;border-radius:4px;padding:0 0 6px 6px;margin-bottom:8px}.updraftcentral_cloud_connect{border-radius:4px;border:1px solid #000;padding:0 20px;margin-top:30px;background-color:#FFF}.updraftcentral_cloud_error{border:1px solid #000;padding:3px 10px;border-left:3px solid #F00;background-color:#FFF;margin-bottom:10px}.updraftcentral_cloud_info{border:1px solid #000;padding:3px 10px;border-left:3px solid #ef8f31;background-color:#FFF;margin-bottom:10px}.updraftplus_spinner.spinner{padding-left:25px;float:none}.updraftplus_spinner.spinner.visible{visibility:visible;width:auto}.updraftcentral_cloud_notices .updraftplus_spinner{margin-top:-5px}.updraftcentral-subheading{font-size:14px;margin-top:-10px;margin-bottom:20px}#updraftcentral_cloud_form input#email,#updraftcentral_cloud_form input#password{min-width:250px}.updraftcentral-data-consent{font-size:13px;margin-bottom:10px}.updraftcentral_cloud_wizard_image{float:left;min-width:100px;margin-right:25px}.updraftcentral_cloud_wizard{float:left}.updraftcentral_cloud_clear{clear:both}.updraftplus-settings-footer{margin-top:30px}.updraftplus-top-menu{padding:.5em}#updraft_inpage_backup #updraft_activejobs_table{background:transparent}#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link{float:none}#updraft_inpage_backup #updraft_activejobsrow .updraft_row{-ms-flex-direction:column;flex-direction:column;padding-left:20px;padding-right:20px}#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container{width:100%}#updraft_inpage_backup #updraft_activejobs_table{overflow:inherit}#updraft_inpage_backup span#updraft_lastlogcontainer{padding:18px;background:#fafafa;display:block;font-size:90%;box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup div#updraft_activejobsrow{background:#fafafa;box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup #updraft_lastlogmessagerow>div{background:transparent;padding:0}#updraft_inpage_backup .last-message>strong{display:block;margin-top:13px}.updraft_restore_container{display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;padding-top:30px;background:#f1f1f1;overflow:auto}.updraft-modal-is-opened .select2-container{z-index:99999}body.updraft-modal-is-opened{overflow:hidden}.updraft_restore_container h2{margin:0}.updraft_restore_container .updraftmessage{box-sizing:border-box;max-width:860px;margin-left:auto;margin-right:auto}.updraft_restore_main{max-width:860px;margin:0 auto;margin-top:20px;background:#FFF;box-shadow:0 3px 3px rgba(0,0,0,0.1);position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;box-sizing:border-box}.updraft_restore_main--header{font-size:20px;font-weight:bold;text-align:center;padding-top:16px;line-height:20px;width:100%;max-width:100%;padding-right:30px;padding-left:30px;box-sizing:border-box}.updraft_restore_main--activity{position:relative;width:calc(100% - 350px);box-sizing:border-box}.updraft_restore_main--activity-title{padding:20px;margin:0}.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title{display:none}.updraft_restore_main--components{width:350px;padding:20px;box-sizing:border-box;background:#f8f8f8;min-height:350px}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{background:#23282d;color:#e3e3e3;font-family:monospace;padding:19px;overflow:auto;position:absolute;top:60px;bottom:0;right:0;left:0}#updraftplus_ajax_restore_output form{white-space:normal;font-family:-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif}#updraftplus_ajax_restore_output .updraft_restore_errors{border:1px solid #dc3232;padding:10px 20px;white-space:normal}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2{color:#00a0d2;padding-top:10px;padding-bottom:5px}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output{padding:20px;border-left:1px solid #EEE}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message{margin-left:0;margin-right:0}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th{padding-bottom:0}.updraft_restore_main.show-credentials-form .updraft_restore_main--components{opacity:.2}.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p{margin:0;list-style-type:disc;display:list-item;list-style-position:inside}.restore-credential-errors>:first-child{margin-top:0}.restore-credential-errors>:last-child{margin-bottom:0}ul.updraft_restore_components_list li{color:#bababa;font-size:1.2em;margin-bottom:1em}ul.updraft_restore_components_list li::before{content:'\f469';font-family:dashicons;font-size:20px;vertical-align:middle;display:inline-block;margin-right:7px}ul.updraft_restore_components_list li span{vertical-align:middle}ul.updraft_restore_components_list li.done{color:green}ul.updraft_restore_components_list li.done::before{content:"\f147"}ul.updraft_restore_components_list li.active{color:inherit}ul.updraft_restore_components_list li.active::before{content:"\f463";animation:udp_rotate 1s linear infinite}ul.updraft_restore_components_list li.error{color:#dc3232}ul.updraft_restore_components_list li.error::before{content:"\f335"}.updraft_restore_result{padding:10px 0;font-size:1.3em;margin-bottom:1em;vertical-align:middle;display:none}.updraft_restore_result.restore-error{color:#dc3232}.updraft_restore_result.restore-success{color:green}.updraft_restore_result .dashicons{font-size:35px;height:35px;line-height:33px;width:35px}.updraft_restore_result span{vertical-align:middle}#updraft-restore-modal{width:100%}div#updraft-restore-modal .notice{background:#f8f8f8}.updraft-restore-modal--stage .updraft--two-halves,.updraft-restore-modal--stage .updraft--one-half{padding:20px 30px}.updraft-restore-modal--header{padding:20px;padding-bottom:0;text-align:center;border-bottom:1px solid #EEE}.updraft-restore-modal--header h3{margin:0;padding:0}.updraft-restore-item{padding-bottom:4px}.updraft-restore-buttons{padding-top:10px}ul.updraft-restore--stages{display:inline-block;margin:0;height:28px}ul.updraft-restore--stages li{display:inline-block;position:relative;width:12px;height:12px;background:#d2d2d2;border-radius:20px;line-height:1;margin:0 4px;vertical-align:middle}ul.updraft-restore--stages li.active{background:#444}.updraft-restore--footer{border-top:1px solid #EEE;padding:20px;text-align:center;position:-webkit-sticky;position:sticky;bottom:0;background:#FFF;width:100%;box-sizing:border-box}.updraft-restore--footer .updraft-restore--cancel{position:absolute;left:20px;top:auto}.updraft-restore--footer .updraft-restore--next-step{position:absolute;right:20px;top:auto}ul.updraft-restore--stages li span{position:absolute;width:120px;bottom:calc(100% + 14px);left:-55px;background:rgba(0,0,0,0.85882);padding:5px;box-sizing:border-box;border-radius:4px;color:#FFF;text-align:center;display:none}ul.updraft-restore--stages li:hover span{display:inline-block}.updraft-restore-item input[type=checkbox]{margin-bottom:-5px}.updraft-restore-item input[type=checkbox]:checked+label{font-weight:bold}div#updraft-restore-modal .ud_downloadstatus__close{display:none}#ud_downloadstatus2:not(:empty){margin-top:15px}.dashicons.rotate{animation:udp_rotate 1s linear infinite}span#updraftplus_ajax_restore_last_activity{font-size:.8rem;font-weight:normal;float:right}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice{margin:-20px -20px 20px;padding:19px}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button{margin-right:5px}@media only screen and (min-width:1024px){#updraft_activejobsrow .updraft_row{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}#updraft_activejobsrow .updraft_row .updraft_col{-ms-flex:auto;flex:auto}#updraft_activejobsrow .updraft_progress_container{width:calc(100% - 230px)}}@media only screen and (min-width:782px){.settings_page_updraftplus input[type=text],.settings_page_updraftplus input[type=password],.settings_page_updraftplus input[type=number]{line-height:1.42;height:27px;padding:2px 6px;color:#555}.settings_page_updraftplus input[type="number"]{height:31px}#ud_massactions.active,#updraft-delete-waitwarning.active{position:fixed;bottom:0;left:160px;right:0;top:auto;background:#FFF;z-index:3;box-shadow:0 0 10px rgba(0,0,0,0.2)}body.folded #ud_massactions.active,body.folded #updraft-delete-waitwarning.active{left:36px}.updraft-after-form-table{margin-left:250px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label{color:#FFF}}@media only screen and (min-width:782px) and (max-width:960px){body.auto-fold #ud_massactions.active,body.auto-fold #updraft-delete-waitwarning.active{left:36px}}@media only screen and (max-width:782px){#updraft-wrap{margin-right:0}#updraft-wrap .form-table td{padding-right:0}label.updraft_checkbox{margin-bottom:8px;margin-top:8px;margin-left:36px}.updraft_retain_rules{position:relative;margin-right:0;border:1px solid #CCC;padding:5px;margin-bottom:-1px}.updraft_retain_rules_delete{position:absolute;right:0;top:5px}a[id*=updraft_retain_]{display:block;padding:15px 15px 15px 0}label.updraft_checkbox>input[type=checkbox]{margin-left:-33px}#updraft-backupnow-button{margin:0;display:block;width:100%}.updraft_next_scheduled_backups_wrapper>.updraft_backup_btn_wrapper{padding-top:0}#ud_massactions,#updraft-delete-waitwarning{width:100%;box-sizing:border-box;text-align:center}#ud_massactions.active{position:fixed;top:auto;bottom:0;width:100%;box-sizing:border-box;text-align:center;box-shadow:0 -3px 15px rgba(0,0,0,0.08);background:#FFF;z-index:3}#ud_massactions strong{display:block;margin-bottom:5px}small.ud_massactions-tip{display:block}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:normal}.existing-backups-table .backup_date_label .clear-right{display:inline-block}table.widefat.existing-backups-table{border:0;box-shadow:none;background:transparent}.existing-backups-table thead{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;padding:0;margin:0}.existing-backups-table tr{display:block;margin-bottom:.625em;padding-bottom:16.625px;width:100%;padding:0;margin:0;margin-bottom:10px;background:#FFF;box-shadow:0 2px 3px rgba(0,0,0,0.1)}.existing-backups-table td{border-bottom:1px solid #DDD;display:block;font-size:.9em;text-align:left;width:100%;padding:10px;margin:0}.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before{content:attr(data-label);font-weight:bold;display:block;position:relative;left:auto;padding-bottom:10px;width:auto;text-align:left}.existing-backups-table td:last-child{border-bottom:0}.form-table td.updraft_existingbackup_date{width:inherit;max-width:100%}.existing-backups-table td.before-restore-button{min-height:36px}.updraft_next_scheduled_backups_wrapper{-ms-flex-direction:column;flex-direction:column}.updraft_next_scheduled_backups_wrapper>div{width:100%}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row{position:relative}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected{background-color:#FFF;border-left:4px solid #0572aa}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select){margin-left:50px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select{width:50px !important;position:absolute;left:0;top:0;box-sizing:border-box;height:100%;z-index:1;border:0;border-right:1px solid rgba(0,0,0,0.05)}#updraft-navtab-backups-content .updraft_existing_backups input[type="checkbox"]{height:25px}.updraft_migrate_intro button.button.button-primary.button-hero{display:block;margin-right:0;width:100%;max-width:100%}.updraftclone-main-row{-ms-flex-direction:column;flex-direction:column}.updraftclone-main-row>div{width:auto;max-width:none;margin-right:0;margin-bottom:10px}.form-table th{padding-bottom:10px}.updraft--flex{-ms-flex-direction:column;flex-direction:column}.updraft_restore_main{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:column;flex-direction:column}.updraft_restore_main--components{width:100%;min-height:0}.updraft_restore_main--activity{width:100%}div#updraftplus_ajax_restore_output,.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{position:relative;top:0;bottom:auto}.updraft--flex>.updraft--two-halves,.updraft--flex>.updraft--one-half{width:100%}.updraft-restore-item{padding-bottom:10px;padding-top:10px}}@media screen and (max-width:600px){.updraft_next_scheduled_entity{float:none;width:100%;margin-bottom:2em}.updraft_time_now_wrapper{margin-top:0}#updraft_lastlogmessagerow h3{margin-bottom:5px}#updraft_lastlogmessagerow .updraft-log-link{display:block;float:none;margin:0;margin-bottom:10px}}@media only screen and (min-width:768px){.addon-activation-notice{left:20em}.existing-backups-table tbody tr.range-selection:hover,.existing-backups-table tbody tr.range-selection{background:#0572aa}.existing-backups-table tbody tr:hover{background:#f1f1f1}.existing-backups-table tbody tr td.before-restore-button{position:relative}.form-table .existing-backups-table thead th.check-column{padding-left:6px}.existing-backups-table tr td:first-child{border-left:4px solid transparent}.existing-backups-table tr.backuprowselected td:first-child{border-left-color:#0572aa}}@media screen and (min-width:670px){.expertmode .advanced_settings_container .advanced_settings_menu{float:left;width:215px;border-right:1px solid #ccc;border-bottom:0}.expertmode .advanced_settings_container .advanced_settings_content{padding-left:10px;padding-top:0}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:block}}@media only screen and (max-width:1068px){.updraft-more-plugins .udp-box{width:calc(50% - 10px);margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:100px}}@media only screen and (max-width:600px){.updraft-more-plugins .udp-box{width:100%;margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:auto}table.updraft_feat_table{display:block}table.updraft_feat_table tr{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}table.updraft_feat_table td{display:block}table.updraft_feat_table td:first-child{width:100%;border-bottom:0}table.updraft_feat_table td:not(:first-child){width:50%;box-sizing:border-box}table.updraft_feat_table td:first-child:empty{display:none}td[data-colname]::before{content:attr(data-colname);font-size:.8rem;color:#CCC;line-height:1}}
|
2 |
/*# sourceMappingURL=updraftplus-admin.min.css.map */
|
1 |
+
@keyframes udp_blink{from{opacity:1;transform:scale(1)}to{opacity:.4;transform:scale(0.85)}}@keyframes udp_rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.max-width-600{max-width:600px}.max-width-700{max-width:700px}.width-900{max-width:900px}.width-80{width:80%}.updraft--flex{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft--flex>*{-ms-flex:1;flex:1;box-sizing:border-box}.updraft--flex>.updraft--one-half{width:50%;-ms-flex:auto;flex:auto}.updraft--flex>.updraft--two-halves{width:100%;-ms-flex:auto;flex:auto}.updraft-color--very-light-grey{background:#f8f8f8}.no-decoration{text-decoration:none}.bold{font-weight:bold}.center-align-td{text-align:center}.remove-padding{padding:0 !important}.updraft-text-center{text-align:center}.autobackup{padding:6px;margin:8px 0}ul .disc{list-style:disc inside}.dashicons-log-fix{display:inherit}.udpdraft__lifted{box-shadow:0 1px 1px 0 rgba(0,0,0,.1)}#updraft-wrap a .dashicons{text-decoration:none}.updraft-field-description,table.form-table td p.updraft-field-description{font-size:90%;line-height:1.2;font-style:italic;margin-bottom:5px}label.updraft_checkbox{display:block;margin-bottom:4px;margin-left:26px}label.updraft_checkbox>input[type=checkbox]{margin-left:-25px}div[id*="updraft_include_"]{margin-bottom:9px}.settings_page_updraftplus input[type="file"]{border:0}.settings_page_updraftplus .wipe_settings{padding-bottom:10px}.settings_page_updraftplus input[type="text"]{font-size:14px}.settings_page_updraftplus select{border-radius:4px;max-width:100%}input.updraft_input--wide,textarea.updraft_input--wide{max-width:442px;width:100%}#updraft-wrap .button-large{font-size:1.3em}.main-dashboard-buttons{border-width:4px;border-radius:12px;letter-spacing:0;font-size:17px;font-weight:bold;padding-left:.7em;padding-right:2em;padding:.3em 1em;line-height:1.7em;background:transparent;position:relative;border:2px solid;transition:all .2s;vertical-align:baseline;box-sizing:border-box;text-align:center;line-height:1.3em;margin-left:.3em;text-transform:none;line-height:1;text-decoration:none}.button-restore{border-color:#629ec0;color:#629ec0}.dashboard-main-sizing{border-width:4px;width:190px;line-height:1.7em}p.updraftplus-option{margin-top:0;margin-bottom:5px}p.updraftplus-option-inline{display:inline-block;padding-right:20px}span.updraftplus-option-label{display:block}#updraft-navtab-migrate-content .postbox{padding:18px}.updraftclone-main-row{display:-ms-flexbox;display:flex}.updraftclone-tokens{background:#f5f5f5;padding:20px;border-radius:10px;margin-right:20px;max-width:300px}.updraftclone-tokens p{margin:0}.updraftclone_action_box{background:#f5f5f5;padding:20px;border-radius:10px;-ms-flex:1;flex:1}.updraftclone_action_box p:first-child{margin-top:0}.updraftclone_action_box p:last-child{margin-bottom:0}.updraftclone_action_box #ud_downloadstatus3{margin-top:10px}span.tokens-number{font-size:46px;display:block}.button.updraft_migrate_widget_temporary_clone_show_stage0{display:none;position:absolute;right:0;top:0;height:100%;border-left:1px solid #CCC;padding-left:10px;padding-right:10px}.updraft_migrate_widget_temporary_clone_stage0_container{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.updraft_migrate_widget_temporary_clone_stage0_box{margin-right:20px;width:100%;-ms-flex-preferred-size:100%;flex-basis:100%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:none}@media(min-width:1024px){.updraft_migrate_widget_temporary_clone_stage0_container{-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_migrate_widget_temporary_clone_stage0_box{-ms-flex-preferred-size:45%;flex-basis:45%}.updraft_migrate_widget_temporary_clone_stage0_box iframe,.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js{float:right}}.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons{text-decoration:none;font-size:20px}.opened .button.updraft_migrate_widget_temporary_clone_show_stage0{display:inline-block}.opened .updraft_migrate_widget_temporary_clone_stage0{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:21px}.clone-list{clear:both;width:100%;margin-top:40px}.clone-list table{width:100%;text-align:left}.clone-list table tr th{background:#e4e4e4}.clone-list table tr td{background:#f5f5f5;word-break:break-word}.clone-list table tr:nth-child(odd) td{background:#fafafa}.clone-list table td,.clone-list table th{padding:6px}.updraftplus-clone .updraft_row{padding-left:0;padding-right:0}button#updraft_migrate_createclone+.updraftplus_spinner{margin-top:13px}.button.button-hero.updraftclone_show_step_1{white-space:normal;height:auto;line-height:14px;padding-top:10px;padding-bottom:10px}.button.button-hero.updraftclone_show_step_1 span.dashicons{height:auto}.updraftplus_clone_status{color:red}a.updraft_migrate_add_site--trigger span.dashicons{text-decoration:none}.button-restore:hover,.button-migrate:hover,.button-backup:hover,.button-view-log:hover,.button-mass-selectors:hover,.button-delete:hover,.button-entity-backup:hover,.udp-button-primary:hover{border-color:#df6926;color:#df6926}.button-migrate{color:#eea920;border-color:#eea920}#updraft_migrate_tab_main{padding:8px}.updraft_migrate_widget_module_content{background:#FFF;border-radius:0;position:relative}body.js #updraft_migrate .updraft_migrate_widget_module_content{display:none}.updraft_migrate_widget_module_content>h3,div[class*="updraft_migrate_widget_temporary_clone_stage"]>h3{margin-top:0}.updraft_migrate_widget_module_content header{position:relative;display:-ms-flexbox;display:flex;-ms-flex-line-pack:center;align-content:center;-ms-grid-column-align:center;justify-items:center;margin-top:-18px;margin-left:-18px;margin-right:-18px;margin-bottom:15px;border-bottom:1px solid #CCC}.updraft_migrate_widget_module_content header h3,.updraft_migrate_widget_module_content header button.button.close{padding:10px;line-height:20px;height:auto;margin:0}.updraft_migrate_widget_module_content button.button.close{text-decoration:none;padding-left:5px;border-right:1px solid #CCC}.updraft_migrate_widget_module_content button.button.close .dashicons{margin-top:1px}.updraft_migrate_widget_module_content header h3{margin:0}.updraft_migrate_intro button.button.button-primary.button-hero{max-width:235px;word-wrap:normal;white-space:normal;line-height:1;height:auto;padding-top:13px;padding-bottom:13px;text-align:left;position:relative;margin-right:10px;margin-bottom:10px}.updraft_migrate_intro button.button.button-primary.button-hero .dashicons{position:absolute;left:10px;top:calc(50% - 8px)}#updraft_migrate .ui-widget-content a{color:#1c94c4}#updraft-wrap .ui-accordion .ui-accordion-header{background:#f6f6f6;margin:0;border-radius:0;padding-left:.5em;padding-right:.7em}#updraft-wrap .ui-widget{font-family:inherit}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w{background-position:-96px 0}.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s{background-position:-64px 0}#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon{left:auto;right:5px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;box-shadow:0 0 0 1px rgba(91,157,217,0.22),0 0 2px 1px rgba(30,140,190,0.3);background:#FFF}#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons{color:#0572aa;opacity:1}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active{background:#f6f6f6;border-bottom:2px solid #0572aa;box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3)}#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus{box-shadow:1px 6px 12px -5px rgba(0,0,0,0.3),0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8)}#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child){border-top:0}#updraft-wrap .ui-accordion .ui-accordion-header .dashicons{opacity:.4;margin-right:10px}#updraft-wrap .ui-accordion .ui-accordion-header:focus{outline:0;box-shadow:0 0 0 1px #5b9dd9,0 0 2px 1px rgba(30,140,190,.8);z-index:1}button.ui-dialog-titlebar-close:before{content:none !important}.updraft_next_scheduled_backups_wrapper{display:-ms-flexbox;display:flex;background:#FFF;-ms-grid-column-align:center;justify-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.updraft_next_scheduled_backups_wrapper>div{width:50%;background:#FFF;height:auto;padding:33px;box-sizing:border-box}.updraft_backup_btn_wrapper{text-align:center;border-left:1px solid #f1f1f1;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.incremental-backups-only{display:none}.incremental-free-only{display:none}.incremental-free-only p{padding:5px;background:rgba(255,0,0,0.06);border:1px solid #bfbfbf}#updraft-delete-waitwarning span.spinner{visibility:visible;float:none;margin:0;margin-right:10px}button#updraft-backupnow-button .spinner,button#updraft-backupnow-button .dashicons-yes{display:none}button#updraft-backupnow-button.loading .spinner{display:inline-block;visibility:visible;margin-top:13px;margin-right:0}button#updraft-backupnow-button.loading{background-color:#efefef;border-color:#CCC;text-shadow:0 -1px 1px #bbc3c7,1px 0 1px #bbc3c7,0 1px 1px #bbc3c7,-1px 0 1px #bbc3c7;box-shadow:none}button#updraft-backupnow-button.finished .dashicons-yes{display:inline-block;visibility:visible;font-size:42px;margin-right:0;margin-top:2px}.updraft_next_scheduled_entity{width:50%;display:inline-block;float:left}.updraft_next_scheduled_entity .dashicons{color:#CCC;font-size:20px}.updraft_next_scheduled_entity strong{font-size:20px}.updraft_next_scheduled_heading{margin-bottom:10px}.updraft_next_scheduled_date_time{color:#46a84b}.updraft_time_now_wrapper{margin-top:68px;width:100%}.updraft_time_now_label,.updraft_time_now{display:inline-block;padding:7px}.updraft_time_now_label{background:#b7b7b7;border-top-left-radius:4px;border-bottom-left-radius:4px;color:#FFF;margin-right:0;text-shadow:0 1px 2px rgba(0,0,0,0.4)}.updraft_time_now{background:#f1f1f1;border-top-right-radius:4px;border-bottom-right-radius:4px;margin-left:-3px}#updraft_lastlogmessagerow{margin:6px 0}#updraft_lastlogmessagerow{clear:both;padding:.25px 0}#updraft_lastlogmessagerow .updraft-log-link{float:right;margin-top:-2.5em;margin-right:2px}#updraft_lastlogmessagerow>div{clear:both;background:#FFF;padding:18px}#updraft_activejobs_table{overflow:hidden;width:100%;background:#fafafa;padding:0}.updraft_requeststart{padding:15px 33px;text-align:center}.updraft_requeststart .spinner{visibility:visible;float:none;vertical-align:middle;margin-top:-2px}a.updraft_jobinfo_delete.disabled{opacity:.4;color:inherit;text-decoration:none}.updraft_row{clear:both;transition:.3s all;padding:15px 33px}.updraft_row.deleting{opacity:.4}.updraft_existing_backups_count{padding:2px 8px;font-size:12px;background:#ca4a1e;color:#FFF;font-weight:bold;border-radius:10px}.form-table .existing-backups-table input[type="checkbox"]{border-radius:0}.form-table .existing-backups-table .check-column{width:40px;padding:0;padding-top:8px}.existing-backups-buttons{font-size:11px;line-height:1.4em;border-width:3px}.existing-backups-restore-buttons{font-size:11px;line-height:1.4em;border-width:3px}.button-delete{color:#e23900;border-color:#e23900;font-size:14px;line-height:1.4em;border-width:2px;margin-right:10px}.button-view-log,.button-mass-selectors{color:darkgrey;border-color:darkgrey;font-size:14px;line-height:1.4em;border-width:2px;margin-top:-1px}.button-view-log{width:120px}.button-existing-restore{font-size:14px;line-height:1.4em;border-width:2px;width:110px}.main-restore{margin-right:3%;margin-left:3%}.button-entity-backup{color:#555;border-color:#555;font-size:11px;line-height:1.4em;border-width:2px;margin-right:5px}.button-select-all{width:122px}.button-deselect{width:92px}#ud_massactions>.display-flex>.mass-selectors-margins,#updraft-delete-waitwarning>.display-flex>.mass-selectors-margins{margin-right:-4px}.udp-button-primary{border-width:4px;color:#0073aa;border-color:#0073aa;font-size:14px;height:40px}#ud_massactions .button-delete{margin-right:0}.stored_local{border-radius:5px;background-color:#007fe7;padding:3px 5px 5px 5px;color:#FFF;font-size:75%}span#updraft_lastlogcontainer{word-break:break-all}.stored_icon{height:1.3em;position:relative;top:.2em}.backup_date_label>*{vertical-align:middle}.backup_date_label .dashicons{font-size:18px}.backup_date_label .clear-right{clear:right}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:bold}.udp-logo-70{width:70px;height:70px;float:left;padding-right:25px}h3 .thank-you{margin-top:0}.ws_advert{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.dismiss-dash-notice{float:right;position:relative;top:-20px}.updraft_exclude_container,.updraft_include_container{margin-left:24px;margin-top:5px;margin-bottom:10px;padding:15px;border:1px solid #DDD}label.updraft-exclude-label{font-weight:500;margin-bottom:5px;display:block}.updraft_add_exclude_item,#updraft_include_more_paths_another{display:inline-block;margin-top:10px}input.updraft_exclude_entity_field,.form-table td input.updraft_exclude_entity_field,.updraftplus-morefiles-row input[type=text]{width:calc(100% - 70px);max-width:400px}@media screen and (max-width:782px){.form-table td input.updraft_exclude_entity_field,.form-table td .updraftplus-morefiles-row input[type=text]{display:inline-block}}.updraft_exclude_entity_delete.dashicons,.updraft_exclude_entity_edit.dashicons,.updraft_exclude_entity_update.dashicons,.updraftplus-morefiles-row a.dashicons{margin-top:2px;font-size:20px;box-shadow:none;line-height:1;padding:3px;margin-right:4px}.updraft_exclude_entity_delete,.updraft_exclude_entity_delete:hover,.updraftplus-morefiles-row-delete{color:#ff6347}.updraft_exclude_entity_update.dashicons,.updraft_exclude_entity_update.dashicons:hover{color:#008000;font-weight:bold;font-size:22px;margin-left:4px}.updraft_exclude_entity_edit{margin-left:4px}.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete{display:none}.updraft-exclude-panel-heading{margin-bottom:8px}.updraft-exclude-panel-heading h3{margin:.5em 0 .5em 0}.updraft-exclude-submit.button-primary{margin-top:5px}.updraft_exclude_actions_list{font-weight:bold}.updraft-exclude-link{cursor:pointer}#updraft_include_more_options{padding-left:25px}#updraft_report_cell .updraft_reportbox,.updraft_small_box{padding:12px;margin:8px 0;border:1px solid #CCC;position:relative}#updraft_report_cell button.updraft_reportbox_delete,.updraft_box_delete_button,.updraft_small_box .updraft_box_delete_button{padding:4px;padding-top:6px;border:0;background:transparent;position:absolute;top:4px;right:4px;cursor:pointer}#updraft_report_cell button.updraft_reportbox_delete:hover{color:#de3c3c}a.updraft_report_another .dashicons{text-decoration:none;margin-top:2px}.updraft_report_dbbackup.updraft_report_disabled{color:#CCC}#updraft-navtab-settings-content .updraft-test-button{font-size:18px !important}#updraft_report_cell .updraft_report_email{display:block;width:calc(100% - 50px);margin-bottom:9px}#updraft_report_cell .updraft_report_another_p{clear:left}#updraft-navtab-settings-content table.form-table p{max-width:700px}#updraft-navtab-settings-content table.form-table .notice p{max-width:none}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td{background-color:#efefef}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td{background-color:#e8e8e8}.updraft_settings_sectionheading{display:none}.updraft-backupentitybutton-disabled{background-color:transparent;border:0;color:#0074a2;text-decoration:underline;cursor:pointer;clear:none;float:left}.updraft-backupentitybutton{margin-left:8px}.updraft-bigbutton{padding:2px 0 !important;margin-right:14px !important;font-size:22px !important;min-height:32px;min-width:180px}tr[class*="_updraft_remote_storage_border"]{border-top:1px solid #CCC}.updraft_multi_storage_options{float:right;clear:right;margin-bottom:5px !important}.updraft_toggle_instance_label{vertical-align:top !important}.updraft_debugrow th{float:right;text-align:right;font-weight:bold;padding-right:8px;min-width:140px}.updraft_debugrow td{min-width:300px;vertical-align:bottom}#updraft_webdav_host_error,.onedrive_folder_error{color:red}label[for=updraft_servicecheckbox_updraftvault]{position:relative}#updraft-wrap .udp-info{position:absolute;right:10px;top:calc(50% - 10px)}#updraft-wrap span.info-trigger{display:inline-block;width:20px;height:20px;background:#FFF;color:#72777c;border-radius:30px;text-align:center;line-height:20px;box-shadow:0 1px 3px rgba(0,0,0,0.15)}#updraft-wrap .info-content-wrapper{display:none;position:absolute;bottom:20px;transform:translatex(calc(-50% + 10px));width:330px;padding-bottom:10px}#updraft-wrap .info-content-wrapper::before{content:'';position:absolute;bottom:-10px;border:10px solid transparent;border-top-color:#FFF;left:calc(50% - 10px)}#updraft-wrap .info-content{padding:20px;background:#FFF;border-radius:4px;box-shadow:0 3px 10px rgba(0,0,0,0.1);color:#72777c}#updraft-wrap .info-content h3{margin-top:0}#updraft-wrap .info-content p{margin-top:10px}#updraft-wrap .udp-info:hover .info-content-wrapper{display:block}.updraft_jstree .jstree-container-ul>.jstree-node,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-node{background:transparent}.updraft_jstree .jstree-container-ul>.jstree-open>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-open>.jstree-ocl{background-position:-36px -4px}.updraft_jstree .jstree-container-ul>.jstree-closed>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-closed>.jstree-ocl{background-position:-4px -4px}.updraft_jstree .jstree-container-ul>.jstree-leaf>.jstree-ocl,div[id^="updraft_more_files_jstree_"] .jstree-container-ul>.jstree-leaf>.jstree-ocl{background:transparent}#updraft_zip_files_container{position:relative;height:450px;overflow:none}.updraft_jstree_info_container{position:relative;height:auto;width:100%;border:1px dotted;margin-bottom:5px}.updraft_jstree_info_container p{margin:1px;padding-left:10px;font-size:14px}#updraft_zip_download_item{display:none;color:#0073aa;padding-left:10px}#updraft_zip_download_notice{padding-left:10px}#updraft_exclude_files_folders_jstree{max-height:200px;overflow-y:scroll}.updraft_jstree{position:relative;border:1px dotted;height:80%;width:100%;overflow:auto}div[id^="updraft_more_files_container_"]{position:relative;display:none;width:100%;border:1px solid #CCC;background:#fafafa;margin-bottom:5px;margin-top:4px;box-shadow:0 5px 8px rgba(0,0,0,0.1)}div[id^="updraft_more_files_container_"]::before{content:' ';width:11px;height:11px;display:block;background:#fafafa;position:absolute;top:0;left:20px;border-top:1px solid #CCC;border-left:1px solid #CCC;transform:translatey(-7px) rotate(45deg)}input.updraft_more_path_editing{border-color:#0285ba}input.updraft_more_path_editing ~ a.dashicons{display:none}div[id^="updraft_jstree_buttons_"]{padding:10px;background:#e6e6e6}div[id^="updraft_jstree_container_"]{height:300px;width:100%;overflow:auto}div[id^="updraft_more_files_container_"] button{line-height:20px}button[id^="updraft_parent_directory_"]{margin:10px 10px 4px 10px;padding-left:3px}button[id^="updraft_jstree_confirm_"],button[id^="updraft_jstree_cancel_"]{display:none}input[id^="updraft_include_more_path_restore_"]{text-align:right}.updraftplus-morefiles-row-delete,.updraftplus-morefiles-row-edit{cursor:pointer}#updraft-wrap .form-table th{width:230px}#updraft-wrap .form-table .existing-backups-table th{width:auto}.updraft-viewlogdiv form{margin:0;padding:0}.updraft-viewlogdiv{display:inline-block}.updraft-viewlogdiv input,.updraft-viewlogdiv a{border:0;background-color:transparent;color:#000;margin:0;padding:3px 4px;font-size:16px;line-height:26px}.updraft-viewlogdiv input:hover,.updraft-viewlogdiv a:hover{color:#FFF;cursor:pointer}.button.button-remove{color:white;background-color:#de3c3c;border-color:#c00000;box-shadow:0 1px 0 #c10100}.button.button-remove:hover,.button.button-remove:focus{border-color:#C00;color:#FFF;background:#C00}body.admin-color-midnight .button.button-remove{color:#de3c3c;background-color:#f7f7f7;border-color:#CCC;box-shadow:0 1px 0 #CCC}body.admin-color-midnight .button.button-remove:hover,body.admin-color-midnight .button.button-remove:focus{border-color:#ba281f}body.admin-color-midnight .button.button-remove:focus{box-shadow:inherit;box-shadow:0 0 3px rgba(0,115,170,0.8)}.drag-drop #drag-drop-area2{border:4px dashed #DDD;height:200px}#drag-drop-area2 .drag-drop-inside{margin:36px auto 0;width:350px}#filelist,#filelist2{width:100%}#filelist .file,#filelist2 .file,.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{padding:1px;background:#ececec;border:solid 1px #CCC;margin:4px 0}.updraft_premium section{margin-bottom:20px}.updraft_premium_cta{background:#FFF;margin-top:30px;padding:0;border-left:4px solid #db6a03}.updraft_premium_cta a{font-weight:normal}.updraft_premium_cta__action{position:relative;text-align:center}.updraft_premium_cta a.button.button-primary.button-hero{font-size:1.3em;letter-spacing:.03rem;text-transform:uppercase;margin-bottom:7px}.updraft_premium_cta a.button.button-primary.button-hero+small{display:block;max-width:100%;text-align:center;color:#afafaf}.updraft_premium_cta a.button.button-primary.button-hero+small .dashicons{width:12px;height:12px}.updraft_premium_cta__top{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:18px 30px}.updraft_premium_cta__bottom{background:#f9f9f9;padding:5px 30px}.updraft_premium_cta__summary{margin-right:60px}.updraft_premium_cta h2{font-size:28px;font-weight:200;line-height:1;margin:0;margin-bottom:5px;letter-spacing:.05rem;color:#db6a03}.updraft_premium_cta ul li::after{color:#CCC}@media only screen and (max-width:768px){.updraft_premium_cta__top{-ms-flex-direction:column;flex-direction:column;text-align:center;-ms-flex-align:center;align-items:center}.updraft_premium_cta__summary{margin-right:0;margin-bottom:30px}}.udp-box{background:#FFF;padding:20px;box-shadow:0 1px 2px rgba(0,0,0,0.1);text-align:center}.udp-box h3{margin:0}.udp-box__heading{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;background:0;box-shadow:none}.updraft-more-plugins{display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;flex-wrap:wrap}.updraft-more-plugins img{max-width:200px;width:100%;display:inline-block}.updraft-more-plugins .udp-box{box-sizing:border-box;width:24%}.updraft-more-plugins .udp-box p:last-child{margin-bottom:0;padding-bottom:0}.updraft_premium_description_list{text-align:left;margin:0;font-size:12px}ul.updraft_premium_description_list,ul#updraft_restore_warnings{list-style:disc inside}ul.updraft_premium_description_list li{display:inline}ul.updraft_premium_description_list li::after{content:" | "}ul.updraft_premium_description_list li:last-child::after{content:""}.updraft_feature_cell{background-color:#f7d9c9 !important;padding:5px 10px}.updraftplus_com_login_status,.updraftplus_com_key_status{display:none;background:#FFF;border-left:4px solid #FFF;border-left-color:#dc3232;box-shadow:0 1px 1px 0 rgba(0,0,0,.1);margin:5px 0 15px 0;padding:5px 12px}.updraftplus_com_login_status.success{border-left-color:green}#updraft-wrap strong.success{color:green}.updraft_feat_table{border:0;border-collapse:collapse;font-size:120%;background-color:white;text-align:center}.updraft_feat_th,.updraft_feat_table td{border:1px solid #f1f1f1;border-collapse:collapse;font-size:120%;background-color:white;text-align:center;padding:15px}.updraft_feat_table td{border-bottom-width:4px}.updraft_feat_table td:first-child{border-left:0}.updraft_feat_table td:last-child{border-right:0}.updraft_feat_table tr:last-child td{border-bottom:0}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){background-color:rgba(241,241,241,0.38);width:190px}.updraft_feat_table__header td img{display:block;margin:0 auto}.updraft_feat_table__header td{text-align:center}.updraft_feat_table .installed{font-size:14px}.updraft_feat_table p{padding:0 10px;margin:5px 0;font-size:13px}.updraft_feat_table h4{margin:5px 0}.updraft_feat_table .dashicons{width:25px;height:25px;font-size:25px;line-height:1}.updraft_feat_table .dashicons-yes,.updraft_feat_table .updraft-yes{color:green}.updraft_feat_table .dashicons-no-alt,.updraft_feat_table .updraft-no{color:red}.updraft_tick_cell{text-align:center}.updraft_tick_cell img{margin:4px 0;height:24px}.ud_downloadstatus__close{border:0;background:transparent;width:auto;font-size:20px;padding:0;cursor:pointer}#filelist .fileprogress,#filelist2 .fileprogress,.ud_downloadstatus .dlfileprogress,#ud_downloadstatus2 .dlfileprogress,#ud_downloadstatus3 .dlfileprogress{width:0;background:#0572aa;height:8px;transition:width .3s}.ud_downloadstatus .raw,#ud_downloadstatus2 .raw,#ud_downloadstatus3 .raw{margin-top:8px;clear:left}.ud_downloadstatus .file,#ud_downloadstatus2 .file,#ud_downloadstatus3 .file{margin-top:8px}div[class^="updraftplus_downloader_container_"]{padding:10px}tr.updraftplusmethod h3{margin:0}tr.updraftplusmethod img{max-width:100%}#updraft_retain_db_rules .updraft_retain_rules_delete,#updraft_retain_files_rules .updraft_retain_rules_delete{cursor:pointer;color:red;font-size:120%;font-weight:bold;border:0;border-radius:3px;padding:2px;margin:0 6px;text-decoration:none;display:inline-block}#updraft_retain_db_rules .updraft_retain_rules_delete:hover,#updraft_retain_files_rules .updraft_retain_rules_delete:hover{cursor:pointer;color:white;background:red}#updraft_backup_started{max-width:800px;font-size:140%;line-height:140%;padding:14px;clear:left}.blockUI.blockOverlay.ui-widget-overlay{background:#000}.updraft_success_popup{text-align:center;padding-bottom:30px}.updraft_success_popup>.dashicons{font-size:100px;width:100px;height:100px;line-height:100px;padding:0;border-radius:50%;margin-top:30px;display:block;margin-left:auto;margin-right:auto;background:#e2e6e5}.updraft_success_popup>.dashicons.dashicons-yes{text-indent:-5px}.updraft_success_popup.success>.dashicons{color:green}.updraft_success_popup.warning>.dashicons{color:#888}.updraft_success_popup--message{padding:20px}.button.updraft-close-overlay .dashicons{text-decoration:none;font-size:20px;margin-left:-5px;padding:0;transform:translatey(3px)}.updraft_saving_popup img{animation-name:udp_blink;animation-duration:610ms;animation-iteration-count:infinite;animation-direction:alternate;animation-timing-function:ease-out}.udp-premium-image{display:none}@media screen and (min-width:720px){.udp-premium-image{display:block;float:left;padding-right:5px}}#plupload-upload-ui2{width:80%}.backup-restored{padding:8px}.updated.backup-restored{padding-top:15px;padding-bottom:15px}.backup-restored span{font-size:120%}.memory-limit{padding:8px}.updraft_list_errors{padding:8px}.nav-tab-wrapper{margin:14px 0}#updraft-poplog-content{white-space:pre-wrap}.next-backup{border:0;padding:0;margin:0 10px 0 0}.not-scheduled{vertical-align:top !important;margin:0 !important;padding:0 !important}.next-backup .updraft_scheduled{margin:0;padding:2px 4px 2px 0}#next-backup-table-inner td{vertical-align:top}.updraft_all-files{color:blue}.multisite-advert-width{width:800px}.updraft_settings_sectionheading{margin-top:6px}section.premium-upgrade-purchase-success{padding:2em;background:#fafafa;text-align:center;box-shadow:0 14px 40px rgba(0,0,0,0.1)}section.premium-upgrade-purchase-success h3{font-size:2em;color:green}section.premium-upgrade-purchase-success h3 .dashicons{display:block;margin:0 auto;font-size:60px;width:60px;height:60px;border-radius:50%;background:green;color:#FFF;margin-bottom:20px}section.premium-upgrade-purchase-success h3 .dashicons::before{display:inline-block;margin-left:-4px;margin-top:2px}section.premium-upgrade-purchase-success p{font-size:120%}.show_admin_restore_in_progress_notice{padding:8px}.show_admin_restore_in_progress_notice .unfinished-restoration{font-size:120%}#backupnow_includefiles_moreoptions,#backupnow_database_moreoptions{margin:4px 16px 6px 16px;border:1px dotted;padding:6px 10px}#backupnow_database_moreoptions{max-height:250px;overflow:auto}.form-table #updraft_activejobsrow .minimum-height{min-height:100px}#updraft_activejobsrow th{max-width:112px;margin:0;padding:13px 0 0 0}#updraft_lastlogmessagerow .last-message{padding-top:20px;display:block}.updraft_simplepie{vertical-align:top}.download-backups{margin-top:8px}.download-backups .updraft_download_button{margin-right:6px}.download-backups .ud-whitespace-warning,.download-backups .ud-bom-warning{background-color:pink;padding:8px;margin:4px;border:1px dotted}.download-backups .ul{list-style:none inside;max-width:800px;margin-top:6px;margin-bottom:12px}#updraft-plupload-modal{margin:16px 0}.download-backups .upload{max-width:610px}.download-backups #plupload-upload-ui{width:100%}.ud_downloadstatus{padding:10px 0}#ud_massactions,#updraft-delete-waitwarning{padding:14px;background:#f1f1f1;position:absolute;left:0;top:100%}#ud_massactions>*,#updraft-delete-waitwarning>*{vertical-align:middle}#ud_massactions .updraftplus-remove{display:inline-block;margin-right:0}#ud_massactions .updraftplus-remove a{text-decoration:none}#ud_massactions .updraft-viewlogdiv a{text-decoration:none;position:relative}small.ud_massactions-tip{display:inline-block;opacity:.5;font-style:italic;margin-left:20px}#updraft-navtab-backups-content .updraft_existing_backups{margin-bottom:35px;position:relative}#updraft-message-modal-innards{padding:4px}#updraft-authenticate-modal{text-align:center;font-size:16px !important}#updraft-authenticate-modal p{font-size:16px}#updraft_delete_form p{margin-top:3px;padding-top:0}#updraft_restore_form .cannot-restore{margin:8px 0}.notice.updraft-restore-option{padding:12px;margin:8px 0 4px 0;border-left-color:#CCC}#updraft_restorer_dboptions h4{margin:0 0 6px 0;padding:0}.updraftplus_restore_tables_options_container{max-height:250px;overflow:auto}.updraft_debugrow th{vertical-align:top;padding-top:6px;max-width:140px}.expertmode p{font-size:125%}.expertmode .call-wp-action{width:300px;height:22px}.updraftplus-lock-advert{clear:left;max-width:600px}.uncompressed-data{clear:left;max-width:600px}.delete-old-directories{padding:8px;padding-bottom:12px}.active-jobs{width:100%;text-align:center;padding:33px}.job-id{margin-top:0;margin-bottom:8px}.next-resumption{font-weight:bold}.updraft_percentage{z-index:-1;position:absolute;left:0;top:0;text-align:center;background-color:#1d8ec2;transition:width .3s}.curstage{z-index:1;border-radius:2px;margin-top:8px;width:100%;height:26px;line-height:26px;position:relative;text-align:center;font-style:italic;color:#FFF;background-color:#b7b7b7;text-shadow:0 1px 2px rgba(0,0,0,0.3)}.curstage-info{display:inline-block;z-index:2}.retain-files{width:48px}.backup-interval-description tr td div{max-width:670px}#updraft-manualdecrypt-modal{width:85%;margin:6px;margin-left:100px}.directory-permissions{font-size:110%;font-weight:bold}.double-warning{border:1px solid;padding:6px}.raw-backup-info{font-style:italic;font-weight:bold;font-size:120%}.updraft_existingbackup_date{width:22%;max-width:140px}.updraft_existing_backups_wrapper{margin-top:20px;border-top:1px solid #DDD}.updraft-no-backups-msg{text-align:center}.tr-bottom-4{margin-bottom:4px}.existing-backups-table th{padding:8px 10px}.form-table .backup-date{width:172px}.form-table .backup-data{width:426px}.form-table .updraft_backup_actions{width:272px}.existing-date{box-sizing:border-box;max-width:140px;width:25%}.line-break-tr{height:2px;padding:1px;margin:0}.line-break-td{margin:0;padding:0}.td-line-color{height:2px;background-color:#888}.raw-backup{max-width:140px}.existing-backups-actions{padding:1px;margin:0}.existing-backups-border{height:2px;padding:1px;margin:0}.existing-backups-border>td{margin:0;padding:0}.existing-backups-border>div{height:2px;background-color:#AAA}.updraft_existing_backup_date{max-width:140px}.updraftplus-upload{margin-right:6px;float:left;clear:none}.before-restore-button{padding:1px;margin:0}.before-restore-button div{float:none;display:inline-block}.table-separator-tr{height:2px;padding:1px;margin:0}.table-separator-td{margin:0;padding:0}.end-of-table-div{height:2px;background-color:#AAA}.last-backup-job{padding-top:3% !important}.line-height-03{line-height:.3 !important}.line-height-13{line-height:1.3 !important}.line-height-23{line-height:2.3 !important}#updraft_diskspaceused{color:#df6926}#updraft_delete_old_dirs_pagediv{padding-bottom:10px}.fix-time{width:70px}.retain-files{width:70px}.number-input{min-width:50px;max-width:70px}.additional-rule-width{min-width:60px;max-width:70px}#updraft-wrap .dashicons.dashicons-adapt-size{line-height:inherit;font-size:inherit}#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size){vertical-align:middle;margin-top:-3px}.addon-logo-150{margin-left:30px;margin-top:33px;height:125px;width:150px}.margin-bottom-50{margin-bottom:50px}.premium-container{width:80%}.main-header{background-color:#df6926;height:200px;width:100%}.button-add-to-cart{color:white;border-color:white;float:none;margin-right:17px}.button-add-to-cart:hover,.button-add-to-cart:focus,.button-add-to-cart:active{border-color:#a0a5aa;color:#a0a5aa}.addon-title{margin-top:25px}.addon-text{margin-top:75px}.image-main-div{width:25%;float:left}.text-main-div{width:60%;float:left;text-align:center;color:white;margin-top:16px}.text-main-div-title{font-weight:bold !important;color:white;text-align:center}.text-main-div-paragraph{color:white}.updraftplus-vault-cta{width:100%;text-align:center;margin-bottom:50px}.updraftplus-vault-cta h1{font-weight:bold}.updraftvault-buy{width:225px;height:225px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:50px;position:relative}.updraftplus-vault-cta>.vault-options>.center-vault{width:275px;height:275px}.updraftplus-vault-cta>.vault-options>.center-vault>a{right:21%;font-size:16px;border-width:4px !important}.updraftplus-vault-cta>.vault-options>.center-vault>p{font-size:16px}.updraftvault-buy .button-purchase{right:24%;margin-left:0;line-height:1.7em}.updraftvault-buy hr{height:2px;background-color:#777;margin-top:18px}.right{margin-right:0}.updraftvault-buy .addon-logo-100{height:100px;width:125px;margin-top:7px}.updraftvault-buy .addon-logo-large{margin-top:7px}.updraftvault-buy .button-buy-vault{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:29%;bottom:2%}.premium-addon-div .button-purchase{line-height:1.7em}.updraftvault-buy .button-buy-vault:hover{border-color:darkgrey;color:darkgrey}.premium-addons{margin-top:80px;width:100%;margin:0 auto;display:table}.addon-list{display:table;text-align:center}.premium-addons h1{text-align:center;font-weight:bold}.premium-addons p{text-align:center}.premium-addons .premium-addon-div{width:200px;height:250px;border:2px solid #777;display:inline-table;margin:0 auto;margin-right:25px;margin-top:25px;text-align:center;position:relative}.premium-addons .premium-addon-div p{margin-left:2px;margin-right:2px}.premium-addons .premium-addon-div img{width:auto;height:50px;margin-top:7px}.premium-addons .premium-addon-div .hr-alignment{margin-top:44px}.premium-addons .premium-addon-div .dropbox-logo{height:39px;width:150px}.premium-addons .premium-addon-div .azure-logo,.premium-addons .premium-addon-div .onedrive-logo{width:75%;height:24px}.button-purchase{font-size:12px;color:#df6926;border-color:#df6926;border-width:2px !important;position:absolute;right:25%;bottom:2%}.button-purchase:hover{color:darkgrey;border-color:darkgrey}.premium-addons .premium-addon-div hr{height:2px;background-color:#777;margin-top:18px}.premium-addon-div p{font-style:italic}.addon-list>.premium-addon-div>.onedrive-fix,.addon-list>.premium-addon-div>.azure-logo{margin-top:33px}.addon-list>.premium-addon-div>.dropbox-fix{margin-top:18px}.premium-forgotton-something{margin-top:5%}.premium-forgotton-something h1{text-align:center;font-weight:bold}.premium-forgotton-something p{text-align:center;font-weight:normal}.premium-forgotton-something .button-faq{color:#df6926;border-color:#df6926;margin:0 auto;display:table}.premium-forgotton-something .button-faq:hover{color:#777;border-color:#777}.updraftplusmethod.updraftvault #vaultlogo{padding-left:40px}.updraftplusmethod.updraftvault .vault_primary_option{float:left;width:50%;text-align:center;padding-bottom:20px}.updraftplusmethod.updraftvault .vault_primary_option div{clear:right;padding-top:20px}.updraftplusmethod.updraftvault .clear-left{clear:left}.updraftplusmethod.updraftvault .padding-top-20px{padding-top:20px}.updraftplusmethod.updraftvault .padding-top-14px{padding-top:14px}.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary,.updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary{font-size:18px !important}.updraftplusmethod.updraftvault #updraftvault_showoptions,.updraftplusmethod.updraftvault #updraftvault_connect{margin-top:8px}.updraftplusmethod.updraftvault #updraftvault_settings_connect input{margin-right:10px}.updraftplusmethod.updraftvault #updraftvault_email{width:280px}.updraftplusmethod.updraftvault #updraftvault_pass{width:200px}.updraftplusmethod.updraftvault #vault-is-connected{margin:0;padding:0}.updraftplusmethod.updraftvault #updraftvault_settings_default p{clear:left}.updraftplusmethod.updraftvault .vault-purchase-option-container{text-align:center}.updraftplusmethod.updraftvault .vault-purchase-option{width:40%;text-align:center;padding-top:20px;display:inline-block}.updraftplusmethod.updraftvault .vault-purchase-option-size{font-size:200%;font-weight:bold}.updraftplusmethod.updraftvault .vault-purchase-option-link{clear:both;font-size:150%}.updraftplusmethod.updraftvault .vault-purchase-option-or{clear:both;font-size:115%;font-style:italic}.autobackup-image{clear:left;float:left;width:110px;height:110px}.autobackup-description{width:100%}.advert-description{float:left;clear:right;padding:4px 10px 8px 10px;width:70%;clear:right;vertical-align:top}.advert-btn{display:inline-block;min-width:10%;vertical-align:top;margin-bottom:8px}.advert-btn:first-of-type{margin-top:25px}.advert-btn a{display:block;cursor:pointer}a.btn-get-started{background:#FFF;border:2px solid #df6926;border-radius:4px;color:#df6926;display:inline-block;margin-left:10px !important;margin-bottom:7px !important;font-size:18px !important;line-height:20px;min-height:28px;padding:11px 10px 5px 10px;text-transform:uppercase;text-decoration:none}.circle-dblarrow{border:1px solid #df6926;border-radius:100%;display:inline-block;font-size:17px;line-height:17px;margin-left:5px;width:20px;height:20px;text-align:center}.expertmode .advanced_settings_container{height:auto;overflow:hidden}.expertmode .advanced_settings_container .advanced_settings_menu{float:none;border-bottom:1px solid #ccc}.expertmode .advanced_settings_container .advanced_settings_content{padding-top:5px;float:none;width:auto;overflow:auto}.expertmode .advanced_settings_container .advanced_settings_content h3:first-child{margin-top:5px !important}.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools{display:none}.expertmode .advanced_settings_container .advanced_settings_content .site_info{display:block}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:inline-block;cursor:pointer;padding:5px;color:#000}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text{font-size:16px}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover{background-color:#eaeaea}.expertmode .advanced_settings_container .advanced_settings_menu .active{background-color:#3498db;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_menu .active:hover{background-color:#72c5fd;color:#FFF}.expertmode .advanced_settings_container .advanced_settings_content input#import_settings{height:auto !important}div#updraft-wrap a{cursor:pointer !important}.updraftcentral_wizard_option{width:45%;float:left;text-align:center}.updraftcentral_wizard_option label{margin-bottom:8px}#updraftcentral_keys_table{display:none}.create_key_container{border:1px solid;border-radius:4px;padding:0 0 6px 6px;margin-bottom:8px}.updraftcentral_cloud_connect{border-radius:4px;border:1px solid #000;padding:0 20px;margin-top:30px;background-color:#FFF}.updraftcentral_cloud_error{border:1px solid #000;padding:3px 10px;border-left:3px solid #F00;background-color:#FFF;margin-bottom:10px}.updraftcentral_cloud_info{border:1px solid #000;padding:3px 10px;border-left:3px solid #ef8f31;background-color:#FFF;margin-bottom:10px}.updraftplus_spinner.spinner{padding-left:25px;float:none}.updraftplus_spinner.spinner.visible{visibility:visible;width:auto}.updraftcentral_cloud_notices .updraftplus_spinner{margin-top:-5px}.updraftcentral-subheading{font-size:14px;margin-top:-10px;margin-bottom:20px}#updraftcentral_cloud_form input#email,#updraftcentral_cloud_form input#password{min-width:250px}.updraftcentral-data-consent{font-size:13px;margin-bottom:10px}.updraftcentral_cloud_wizard_image{float:left;min-width:100px;margin-right:25px}.updraftcentral_cloud_wizard{float:left}.updraftcentral_cloud_clear{clear:both}.updraftplus-settings-footer{margin-top:30px}.updraftplus-top-menu{padding:.5em}#updraft_inpage_backup #updraft_activejobs_table{background:transparent}#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link{float:none}#updraft_inpage_backup #updraft_activejobsrow .updraft_row{-ms-flex-direction:column;flex-direction:column;padding-left:20px;padding-right:20px}#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container{width:100%}#updraft_inpage_backup #updraft_activejobs_table{overflow:inherit}#updraft_inpage_backup span#updraft_lastlogcontainer{padding:18px;background:#fafafa;display:block;font-size:90%;box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup div#updraft_activejobsrow{background:#fafafa;box-shadow:0 1px 2px rgba(0,0,0,0.1)}#updraft_inpage_backup #updraft_lastlogmessagerow>div{background:transparent;padding:0}#updraft_inpage_backup .last-message>strong{display:block;margin-top:13px}.updraft_restore_container{display:block;position:fixed;top:0;left:0;right:0;bottom:0;z-index:99999;padding-top:30px;background:#f1f1f1;overflow:auto}.updraft-modal-is-opened .select2-container{z-index:99999}body.updraft-modal-is-opened{overflow:hidden}.updraft_restore_container h2{margin:0}.updraft_restore_container .updraftmessage{box-sizing:border-box;max-width:860px;margin-left:auto;margin-right:auto}.updraft_restore_main{max-width:860px;margin:0 auto;margin-top:20px;background:#FFF;box-shadow:0 3px 3px rgba(0,0,0,0.1);position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;box-sizing:border-box}.updraft_restore_main--header{font-size:20px;font-weight:bold;text-align:center;padding-top:16px;line-height:20px;width:100%;max-width:100%;padding-right:30px;padding-left:30px;box-sizing:border-box}.updraft_restore_main--activity{position:relative;width:calc(100% - 350px);box-sizing:border-box}.updraft_restore_main--activity-title{padding:20px;margin:0}.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title{display:none}.updraft_restore_main--components{width:350px;padding:20px;box-sizing:border-box;background:#f8f8f8;min-height:350px}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{background:#23282d;color:#e3e3e3;font-family:monospace;padding:19px;overflow:auto;position:absolute;top:60px;bottom:0;right:0;left:0}#updraftplus_ajax_restore_output form{white-space:normal;font-family:-apple-system,blinkmacsystemfont,"Segoe UI",roboto,oxygen-sans,ubuntu,cantarell,"Helvetica Neue",sans-serif}#updraftplus_ajax_restore_output .updraft_restore_errors{border:1px solid #dc3232;padding:10px 20px;white-space:normal}.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2{color:#00a0d2;padding-top:10px;padding-bottom:5px}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output{padding:20px;border-left:1px solid #EEE}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message{margin-left:0;margin-right:0}.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th{padding-bottom:0}.updraft_restore_main.show-credentials-form .updraft_restore_main--components{opacity:.2}.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p{margin:0;list-style-type:disc;display:list-item;list-style-position:inside}.restore-credential-errors>:first-child{margin-top:0}.restore-credential-errors>:last-child{margin-bottom:0}ul.updraft_restore_components_list li{color:#bababa;font-size:1.2em;margin-bottom:1em}ul.updraft_restore_components_list li::before{content:'\f469';font-family:dashicons;font-size:20px;vertical-align:middle;display:inline-block;margin-right:7px}ul.updraft_restore_components_list li span{vertical-align:middle}ul.updraft_restore_components_list li.done{color:green}ul.updraft_restore_components_list li.done::before{content:"\f147"}ul.updraft_restore_components_list li.active{color:inherit}ul.updraft_restore_components_list li.active::before{content:"\f463";animation:udp_rotate 1s linear infinite}ul.updraft_restore_components_list li.error{color:#dc3232}ul.updraft_restore_components_list li.error::before{content:"\f335"}.updraft_restore_result{padding:10px 0;font-size:1.3em;margin-bottom:1em;vertical-align:middle;display:none}.updraft_restore_result.restore-error{color:#dc3232}.updraft_restore_result.restore-success{color:green}.updraft_restore_result .dashicons{font-size:35px;height:35px;line-height:33px;width:35px}.updraft_restore_result span{vertical-align:middle}#updraft-restore-modal{width:100%}div#updraft-restore-modal .notice{background:#f8f8f8}.updraft-restore-modal--stage .updraft--two-halves,.updraft-restore-modal--stage .updraft--one-half{padding:20px 30px}.updraft-restore-modal--header{padding:20px;padding-bottom:0;text-align:center;border-bottom:1px solid #EEE}.updraft-restore-modal--header h3{margin:0;padding:0}.updraft-restore-item{padding-bottom:4px}.updraft-restore-buttons{padding-top:10px}ul.updraft-restore--stages{display:inline-block;margin:0;height:28px}ul.updraft-restore--stages li{display:inline-block;position:relative;width:12px;height:12px;background:#d2d2d2;border-radius:20px;line-height:1;margin:0 4px;vertical-align:middle}ul.updraft-restore--stages li.active{background:#444}.updraft-restore--footer{border-top:1px solid #EEE;padding:20px;text-align:center;position:-webkit-sticky;position:sticky;bottom:0;background:#FFF;width:100%;box-sizing:border-box}.updraft-restore--footer .updraft-restore--cancel{position:absolute;left:20px;top:auto}.updraft-restore--footer .updraft-restore--next-step{position:absolute;right:20px;top:auto}ul.updraft-restore--stages li span{position:absolute;width:120px;bottom:calc(100% + 14px);left:-55px;background:rgba(0,0,0,0.85882);padding:5px;box-sizing:border-box;border-radius:4px;color:#FFF;text-align:center;display:none}ul.updraft-restore--stages li:hover span{display:inline-block}.updraft-restore-item input[type=checkbox]{margin-bottom:-5px}.updraft-restore-item input[type=checkbox]:checked+label{font-weight:bold}div#updraft-restore-modal .ud_downloadstatus__close{display:none}#ud_downloadstatus2:not(:empty){margin-top:15px}.dashicons.rotate{animation:udp_rotate 1s linear infinite}span#updraftplus_ajax_restore_last_activity{font-size:.8rem;font-weight:normal;float:right}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice{margin:-20px -20px 20px;padding:19px}.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button{margin-right:5px}@media only screen and (min-width:1024px){#updraft_activejobsrow .updraft_row{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}#updraft_activejobsrow .updraft_row .updraft_col{-ms-flex:auto;flex:auto}#updraft_activejobsrow .updraft_progress_container{width:calc(100% - 230px)}}@media only screen and (min-width:782px){.settings_page_updraftplus input[type=text],.settings_page_updraftplus input[type=password],.settings_page_updraftplus input[type=number]{line-height:1.42;height:27px;padding:2px 6px;color:#555}.settings_page_updraftplus input[type="number"]{height:31px}#ud_massactions.active,#updraft-delete-waitwarning.active{position:fixed;bottom:0;left:160px;right:0;top:auto;background:#FFF;z-index:3;box-shadow:0 0 10px rgba(0,0,0,0.2)}body.folded #ud_massactions.active,body.folded #updraft-delete-waitwarning.active{left:36px}.updraft-after-form-table{margin-left:250px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label{color:#FFF}}@media only screen and (min-width:782px) and (max-width:960px){body.auto-fold #ud_massactions.active,body.auto-fold #updraft-delete-waitwarning.active{left:36px}}@media only screen and (max-width:782px){#updraft-wrap{margin-right:0}#updraft-wrap .form-table td{padding-right:0}label.updraft_checkbox{margin-bottom:8px;margin-top:8px;margin-left:36px}.updraft_retain_rules{position:relative;margin-right:0;border:1px solid #CCC;padding:5px;margin-bottom:-1px}.updraft_retain_rules_delete{position:absolute;right:0;top:5px}a[id*=updraft_retain_]{display:block;padding:15px 15px 15px 0}label.updraft_checkbox>input[type=checkbox]{margin-left:-33px}#updraft-backupnow-button{margin:0;display:block;width:100%}.updraft_next_scheduled_backups_wrapper>.updraft_backup_btn_wrapper{padding-top:0}#ud_massactions,#updraft-delete-waitwarning{width:100%;box-sizing:border-box;text-align:center}#ud_massactions.active{position:fixed;top:auto;bottom:0;width:100%;box-sizing:border-box;text-align:center;box-shadow:0 -3px 15px rgba(0,0,0,0.08);background:#FFF;z-index:3}#ud_massactions strong{display:block;margin-bottom:5px}small.ud_massactions-tip{display:block}.existing-backups-table .backup_date_label>div,.existing-backups-table .backup_date_label span>div{font-weight:normal}.existing-backups-table .backup_date_label .clear-right{display:inline-block}table.widefat.existing-backups-table{border:0;box-shadow:none;background:transparent}.existing-backups-table thead{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;padding:0;margin:0}.existing-backups-table tr{display:block;margin-bottom:.625em;padding-bottom:16.625px;width:100%;padding:0;margin:0;margin-bottom:10px;background:#FFF;box-shadow:0 2px 3px rgba(0,0,0,0.1)}.existing-backups-table td{border-bottom:1px solid #DDD;display:block;font-size:.9em;text-align:left;width:100%;padding:10px;margin:0}.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before{content:attr(data-label);font-weight:bold;display:block;position:relative;left:auto;padding-bottom:10px;width:auto;text-align:left}.existing-backups-table td:last-child{border-bottom:0}.form-table td.updraft_existingbackup_date{width:inherit;max-width:100%}.existing-backups-table td.before-restore-button{min-height:36px}.updraft_next_scheduled_backups_wrapper{-ms-flex-direction:column;flex-direction:column}.updraft_next_scheduled_backups_wrapper>div{width:100%}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row{position:relative}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected{background-color:#FFF;border-left:4px solid #0572aa}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select){margin-left:50px}#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select{width:50px !important;position:absolute;left:0;top:0;box-sizing:border-box;height:100%;z-index:1;border:0;border-right:1px solid rgba(0,0,0,0.05)}#updraft-navtab-backups-content .updraft_existing_backups input[type="checkbox"]{height:25px}.updraft_migrate_intro button.button.button-primary.button-hero{display:block;margin-right:0;width:100%;max-width:100%}.updraftclone-main-row{-ms-flex-direction:column;flex-direction:column}.updraftclone-main-row>div{width:auto;max-width:none;margin-right:0;margin-bottom:10px}.form-table th{padding-bottom:10px}.updraft--flex{-ms-flex-direction:column;flex-direction:column}.updraft_restore_main{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-direction:column;flex-direction:column}.updraft_restore_main--components{width:100%;min-height:0}.updraft_restore_main--activity{width:100%}div#updraftplus_ajax_restore_output,.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output{position:relative;top:0;bottom:auto}.updraft--flex>.updraft--two-halves,.updraft--flex>.updraft--one-half{width:100%}.updraft-restore-item{padding-bottom:10px;padding-top:10px}}@media screen and (max-width:600px){.updraft_next_scheduled_entity{float:none;width:100%;margin-bottom:2em}.updraft_time_now_wrapper{margin-top:0}#updraft_lastlogmessagerow h3{margin-bottom:5px}#updraft_lastlogmessagerow .updraft-log-link{display:block;float:none;margin:0;margin-bottom:10px}}@media only screen and (min-width:768px){.addon-activation-notice{left:20em}.existing-backups-table tbody tr.range-selection:hover,.existing-backups-table tbody tr.range-selection{background:#0572aa}.existing-backups-table tbody tr:hover{background:#f1f1f1}.existing-backups-table tbody tr td.before-restore-button{position:relative}.form-table .existing-backups-table thead th.check-column{padding-left:6px}.existing-backups-table tr td:first-child{border-left:4px solid transparent}.existing-backups-table tr.backuprowselected td:first-child{border-left-color:#0572aa}}@media screen and (min-width:670px){.expertmode .advanced_settings_container .advanced_settings_menu{float:left;width:215px;border-right:1px solid #ccc;border-bottom:0}.expertmode .advanced_settings_container .advanced_settings_content{padding-left:10px;padding-top:0}.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button{display:block}}@media only screen and (max-width:1068px){.updraft-more-plugins .udp-box{width:calc(50% - 10px);margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:100px}}@media only screen and (max-width:600px){.updraft-more-plugins .udp-box{width:100%;margin-bottom:20px}.updraft_feat_table td:nth-child(2),.updraft_feat_table td:nth-child(3){width:auto}table.updraft_feat_table{display:block}table.updraft_feat_table tr{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}table.updraft_feat_table td{display:block}table.updraft_feat_table td:first-child{width:100%;border-bottom:0}table.updraft_feat_table td:not(:first-child){width:50%;box-sizing:border-box}table.updraft_feat_table td:first-child:empty{display:none}td[data-colname]::before{content:attr(data-colname);font-size:.8rem;color:#CCC;line-height:1}}
|
2 |
/*# sourceMappingURL=updraftplus-admin.min.css.map */
|
@@ -1 +1 @@
|
|
1 |
-
{"version":3,"sources":["css/updraftplus-admin.css"],"names":[],"mappings":"AAAA;;CAEC;EACC,WAAW;EACX,oBAAoB;EACpB;;CAED;EACC,aAAa;EACb,uBAAuB;EACvB;;CAED;;AAED;;CAEC;EACC,qBAAqB;EACrB;;CAED;EACC,0BAA0B;EAC1B;;CAED;;AAED,uBAAuB;AACvB;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,oBAAgB;KAAhB,gBAAgB;CAChB;;AAED;CACC,YAAQ;KAAR,QAAQ;CACR,uBAAuB;CACvB;;AAED;CACC,WAAW;CACX,eAAW;KAAX,WAAW;CACX;;AAED;CACC,YAAY;CACZ,eAAW;KAAX,WAAW;CACX;;AAED;CACC,oBAAoB;CACpB;;AAED,2BAA2B;;AAE3B,kBAAkB;AAClB;CACC,sBAAsB;CACtB;;AAED;CACC,kBAAkB;CAClB;;AAED,sBAAsB;AACtB,eAAe;AACf;CACC,mBAAmB;CACnB;;AAED,sBAAsB;AACtB,aAAa;AACb;CACC,sBAAsB;CACtB;;AAED,oBAAoB;;AAEpB;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,uCAAuC;CACvC;;AAED;CACC,sBAAsB;CACtB;;AAED;;CAEC,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED,iBAAiB;AACjB;CACC,eAAe;CACf,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED,iBAAiB;AACjB;CACC,aAAa;CACb;;AAED;CACC,qBAAqB;CACrB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,mBAAmB;CACnB,gBAAgB;CAChB;;AAED;;CAEC,iBAAiB;CACjB,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED,qBAAqB;;AAErB,kBAAkB;AAClB;CACC,kBAAkB;CAClB,oBAAoB;CACpB,oBAAoB;CACpB,gBAAgB;CAChB,kBAAkB;CAClB,oBAAoB;CACpB,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB,wBAAwB;CACxB,mBAAmB;CACnB,kBAAkB;CAClB,qBAAqB;CACrB,yBAAyB;CACzB,uBAAuB;CACvB,mBAAmB;CACnB,mBAAmB;CACnB,kBAAkB;CAClB,qBAAqB;CACrB,eAAe;CACf,sBAAsB;CACtB;;AAED;CACC,gCAAgC;CAChC,yBAAyB;CACzB;;AAED;CACC,kBAAkB;CAClB,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB;;AAED;CACC,sBAAsB;CACtB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf;;AAED;;EAEE;;AAEF;CACC,cAAc;CACd;;AAED,gBAAgB;;AAEhB;CACC,qBAAc;CAAd,cAAc;CACd;;AAED;CACC,oBAAoB;CACpB,cAAc;CACd,oBAAoB;CACpB,mBAAmB;CACnB,iBAAiB;CACjB;;AAED;CACC,UAAU;CACV;;AAED;CACC,oBAAoB;CACpB,cAAc;CACd,oBAAoB;CACpB,YAAQ;KAAR,QAAQ;CACR;;AAED;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf;;AAED,yBAAyB;AACzB;CACC,cAAc;CACd,mBAAmB;CACnB,SAAS;CACT,OAAO;CACP,aAAa;CACb,4BAA4B;CAC5B,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,2BAAuB;KAAvB,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ,8BAAiB;KAAjB,iBAAiB;CACjB;;AAED;;CAEC,YAAY;CACZ;;AAED;;CAEC;EACC,wBAAoB;MAApB,oBAAoB;EACpB,oBAAgB;MAAhB,gBAAgB;EAChB;;CAED;EACC,6BAAgB;MAAhB,gBAAgB;EAChB;;CAED;;EAEC,aAAa;EACb;;CAED;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,oBAAoB;CACpB,cAAc;CACd,mBAAmB;CACnB,oBAAoB;CACpB;;AAED,sBAAsB;AACtB;CACC,YAAY;CACZ,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,oBAAoB;CACpB,uBAAuB;CACvB;;AAED;CACC,oBAAoB;CACpB;;AAED;;CAEC,aAAa;CACb;;AAED,oBAAoB;AACpB;CACC,gBAAgB;CAChB,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED,qCAAqC;AACrC;CACC,oBAAoB;CACpB,aAAa;CACb,kBAAkB;CAClB,kBAAkB;CAClB,qBAAqB;CACrB;;AAED;CACC,aAAa;CACb;;AAED;CACC,WAAW;CACX;;AAED,aAAa;;AAEb;CACC,sBAAsB;CACtB;;AAED;;;CAGC,sBAAsB;CACtB,eAAe;CACf;;AAED;CACC,yBAAyB;CACzB,gCAAgC;CAChC;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB,iBAAiB;CACjB,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd;;AAED;;CAEC,cAAc;CACd;;AAED,6BAA6B;AAC7B;CACC,mBAAmB;CACnB,qBAAc;CAAd,cAAc;CACd,2BAAsB;KAAtB,sBAAsB;CACtB,8BAAsB;KAAtB,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,oBAAoB;CACpB,8BAA8B;CAC9B;;AAED;;CAEC,cAAc;CACd,kBAAkB;CAClB,aAAa;CACb,UAAU;CACV;;AAED;CACC,sBAAsB;CACtB,kBAAkB;CAClB,6BAA6B;CAC7B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,UAAU;CACV;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB,oBAAoB;CACpB,eAAe;CACf,aAAa;CACb,kBAAkB;CAClB,qBAAqB;CACrB,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,mBAAmB;CACnB,WAAW;CACX,qBAAqB;CACrB;;AAED;;EAEE;AACF;CACC,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB,UAAU;CACV,iBAAiB;CACjB,oBAAoB;CACpB,qBAAqB;CACrB;;AAED;CACC,qBAAqB;CACrB;;AAED;CACC,+BAA+B;CAC/B;;AAED;CACC,6BAA6B;CAC7B;;AAED;CACC,WAAW;CACX,WAAW;CACX;;AAED;CACC,cAAc;CACd,oFAAoF;CACpF,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,WAAW;CACX;;AAED;CACC,oBAAoB;CACpB,iCAAiC;CACjC,iDAAiD;CACjD;;AAED;CACC,wGAAwG;CACxG;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,kEAAkE;CAClE,WAAW;CACX;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,iBAAiB;CACjB,8BAAsB;KAAtB,sBAAsB;CACtB,oBAAgB;KAAhB,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,iBAAiB;CACjB,aAAa;CACb,yBAAyB;CACzB,cAAc;CACd,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,+BAA+B;CAC/B,sBAAwB;KAAxB,wBAAwB;CACxB,uBAAoB;KAApB,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd;;AAED;CACC,cAAc;CACd;;AAED;CACC,aAAa;CACb,kCAAkC;CAClC,0BAA0B;CAC1B;;AAED;CACC,oBAAoB;CACpB,YAAY;CACZ,UAAU;CACV,mBAAmB;CACnB;;AAED;;CAEC,cAAc;CACd;;AAED;CACC,sBAAsB;CACtB,oBAAoB;CACpB,iBAAiB;CACjB,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B,mBAAmB;CACnB,0FAA0F;CAC1F,iBAAiB;CACjB;;AAED;CACC,sBAAsB;CACtB,oBAAoB;CACpB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,sBAAsB;CACtB,YAAY;CACZ;;GAEE;CACF;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ;;AAED;CACC,sBAAsB;CACtB,aAAa;CACb;;AAED;CACC,oBAAoB;CACpB,4BAA4B;CAC5B,+BAA+B;CAC/B,YAAY;CACZ,gBAAgB;CAChB,0CAA0C;CAC1C;;AAED;CACC,oBAAoB;CACpB,6BAA6B;CAC7B,gCAAgC;CAChC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd;;AAED;CACC,YAAY;CACZ,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,oBAAoB;CACpB,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,oBAAoB;CACpB,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB;;AAED;CACC,YAAY;CACZ,qBAAqB;CACrB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB,YAAY;CACZ,kBAAkB;CAClB,oBAAoB;CACpB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,eAAe;CACf,sBAAsB;CACtB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,uBAAuB;CACvB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB,0BAA0B;CAC1B,yBAAyB;CACzB,YAAY;CACZ,eAAe;CACf;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB,WAAW;CACX;;AAED;CACC,uBAAuB;CACvB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB;;AAED,sBAAsB;;AAEtB,4BAA4B;;AAE5B;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ,oBAAoB;CACpB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,cAAc;CACd,YAAY;CACZ;;AAED;CACC,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX;;AAED;;CAEC,kBAAkB;CAClB,gBAAgB;CAChB,oBAAoB;CACpB,cAAc;CACd,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB,mBAAmB;CACnB,eAAe;CACf;;AAED;;CAEC,sBAAsB;CACtB,iBAAiB;CACjB;;AAED;;;CAGC,yBAAyB;CACzB,iBAAiB;CACjB;;AAED;;CAEC;;EAEC,sBAAsB;EACtB;;CAED;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CACjB,eAAe;CACf,aAAa;CACb,kBAAkB;CAClB;;AAED;;;CAGC,eAAe;CACf;;AAED;CACC,eAAe;CACf,kBAAkB;CAClB,gBAAgB;CAChB,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,cAAc;CACd;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,mBAAmB;CACnB;;AAED;;CAEC,cAAc;CACd,cAAc;CACd,uBAAuB;CACvB,mBAAmB;CACnB;;AAED;;;CAGC,aAAa;CACb,iBAAiB;CACjB,aAAa;CACb,wBAAwB;CACxB,mBAAmB;CACnB,SAAS;CACT,WAAW;CACX,gBAAgB;CAChB;;AAED;CACC,eAAe;CACf;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,eAAe;CACf,yBAAyB;CACzB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ;;AAED,mCAAmC;;AAEnC;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB;;AAED;;CAEC,0BAA0B;CAC1B;;AAED;CACC,0BAA0B;CAC1B;;AAED;CACC,cAAc;CACd;;AAED;CACC,8BAA8B;CAC9B,aAAa;CACb,eAAe;CACf,2BAA2B;CAC3B,gBAAgB;CAChB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,4BAA4B;CAC5B,8BAA8B;CAC9B,2BAA2B;CAC3B,iBAAiB;CACjB,iBAAiB;CACjB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,aAAa;CACb,aAAa;CACb,8BAA8B;CAC9B;;AAED;CACC,+BAA+B;CAC/B;;AAED;CACC,aAAa;CACb,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;CACnB,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,uBAAuB;CACvB;;AAED;CACC,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,sBAAsB;CACtB,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB,kBAAkB;CAClB,0CAA0C;CAC1C;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB,aAAa;CACb,yCAAyC;CACzC,aAAa;CACb,qBAAqB;CACrB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,cAAc;CACd,+BAA+B;CAC/B,uBAAuB;CACvB,uBAAuB;CACvB;;AAED;CACC,cAAc;CACd,iBAAiB;CACjB,mBAAmB;CACnB,0CAA0C;CAC1C,eAAe;CACf;;AAED;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf;;AAED,mBAAmB;;AAEnB,oEAAoE;AACpE;;CAEC,wBAAwB;CACxB;;AAED;;CAEC,gCAAgC;CAChC;;AAED;;CAEC,+BAA+B;CAC/B;;AAED;;CAEC,wBAAwB;CACxB;;AAED,+BAA+B;AAC/B;CACC,mBAAmB;CACnB,cAAc;CACd,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,gBAAgB;CAChB;;AAED;CACC,cAAc;CACd,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB,YAAY;CACZ,YAAY;CACZ,eAAe;CACf;;AAED,8BAA8B;AAC9B;CACC,mBAAmB;CACnB,cAAc;CACd,YAAY;CACZ,uBAAuB;CACvB,oBAAoB;CACpB,mBAAmB;CACnB,gBAAgB;CAChB,yCAAyC;CACzC;;AAED;CACC,aAAa;CACb,YAAY;CACZ,aAAa;CACb,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB,OAAO;CACP,WAAW;CACX,2BAA2B;CAC3B,4BAA4B;CAC5B,0CAA0C;CAC1C;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,cAAc;CACd;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,YAAY;CACZ,eAAe;CACf;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,2BAA2B;CAC3B,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd;;AAED;CACC,kBAAkB;CAClB;;AAED;;CAEC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,aAAa;CACb,8BAA8B;CAC9B,YAAY;CACZ,YAAY;CACZ,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb,0BAA0B;CAC1B,sBAAsB;CACtB,4BAA4B;CAC5B;;AAED;;CAEC,mBAAmB;CACnB,YAAY;CACZ,iBAAiB;CACjB;;AAED,mDAAmD;AACnD;CACC,eAAe;CACf,0BAA0B;CAC1B,mBAAmB;CACnB,yBAAyB;CACzB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,oBAAoB;CACpB,2CAA2C;CAC3C;;AAED;CACC,wBAAwB;CACxB,cAAc;CACd;;AAED;CACC,oBAAoB;CACpB,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,uBAAuB;CACvB,cAAc;CACd;;AAED;CACC,oBAAoB;CACpB;;AAED;;EAEE;AACF;CACC,iBAAiB;CACjB,iBAAiB;CACjB,WAAW;CACX,+BAA+B;CAC/B;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,wBAAwB;CACxB,0BAA0B;CAC1B,mBAAmB;CACnB;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,eAAe;CACf;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,uBAAoB;KAApB,oBAAoB;CACpB,uBAA+B;KAA/B,+BAA+B;CAC/B,mBAAmB;CACnB;;AAED;CACC,oBAAoB;CACpB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,iBAAiB;CACjB,eAAe;CACf,UAAU;CACV,mBAAmB;CACnB,wBAAwB;CACxB,eAAe;CACf;;AAED;CACC,YAAY;CACZ;;AAED;;CAEC;EACC,2BAAuB;MAAvB,uBAAuB;EACvB,mBAAmB;EACnB,uBAAoB;MAApB,oBAAoB;EACpB;;CAED;EACC,gBAAgB;EAChB,oBAAoB;EACpB;;CAED;;AAED;;EAEE;AACF;CACC,iBAAiB;CACjB,cAAc;CACd,yCAAyC;CACzC,mBAAmB;CACnB;;AAED;CACC,UAAU;CACV;;AAED;CACC,4BAAmB;KAAnB,2BAAmB;KAAnB,mBAAmB;CACnB,iBAAiB;CACjB,iBAAiB;CACjB;;AAED;;EAEE;AACF;CACC,qBAAc;CAAd,cAAc;CACd,wBAAoB;KAApB,oBAAoB;CACpB,oBAAgB;KAAhB,gBAAgB;CAChB,uBAA+B;KAA/B,+BAA+B;CAC/B,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,uBAAuB;CACvB,WAAW;CACX;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB;;AAED;;EAEE;AACF;CACC,iBAAiB;CACjB,UAAU;CACV,gBAAgB;CAChB;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,eAAe;CACf;;AAED;CACC,YAAY;CACZ;;AAED;CACC,qCAAqC;CACrC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd,iBAAiB;CACjB,4BAA4B;CAC5B,2BAA2B;CAC3B,uCAAuC;CACvC,qBAAqB;CACrB,kBAAkB;CAClB;;AAED;CACC,yBAAyB;CACzB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb,0BAA0B;CAC1B,gBAAgB;CAChB,wBAAwB;CACxB,mBAAmB;CACnB;;AAED;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,gBAAgB;CAChB,wBAAwB;CACxB,mBAAmB;CACnB,cAAc;CACd;;AAED;CACC,yBAAyB;CACzB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,oBAAoB;CACpB;;AAED;;CAEC,4CAA4C;CAC5C,aAAa;CACb;;AAED;CACC,eAAe;CACf,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,kBAAkB;CAClB,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,gBAAgB;CAChB,eAAe;CACf;;AAED;CACC,aAAa;CACb;;AAED;CACC,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,aAAa;CACb;;AAED;CACC,aAAa;CACb,wBAAwB;CACxB,YAAY;CACZ,gBAAgB;CAChB,WAAW;CACX,gBAAgB;CAChB;;AAED;CACC,UAAU;CACV,oBAAoB;CACpB,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,gBAAgB;CAChB,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,cAAc;CACd;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,WAAW;CACX,gBAAgB;CAChB,kBAAkB;CAClB,YAAY;CACZ,mBAAmB;CACnB,aAAa;CACb,cAAc;CACd,sBAAsB;CACtB,sBAAsB;CACtB;;AAED;CACC,gBAAgB;CAChB,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,cAAc;CACd,YAAY;CACZ;;AAED,qBAAqB;AACrB;CACC,iBAAiB;CACjB;;AAED;CACC,mBAAmB;CACnB,qBAAqB;CACrB;;AAED;CACC,iBAAiB;CACjB,aAAa;CACb,cAAc;CACd,mBAAmB;CACnB,aAAa;CACb,mBAAmB;CACnB,iBAAiB;CACjB,eAAe;CACf,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,cAAc;CACd;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB,kBAAkB;CAClB,WAAW;CACX,2BAA2B;CAC3B;;AAED;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,oCAAoC;CACpC,+BAA+B;CAC/B,oCAAoC;CACpC;;AAED;CACC,cAAc;CACd;;AAED;;CAEC;EACC,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB;;CAED;;AAED,oCAAoC;AACpC;CACC,WAAW;CACX;;AAED;CACC,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB,qBAAqB;CACrB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;;AAEH;CACC,iBAAiB;CACjB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,+BAA+B;CAC/B,uBAAuB;CACvB,wBAAwB;CACxB;;AAED;CACC,kBAAkB;CAClB,YAAY;CACZ,yBAAyB;CACzB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,mBAAmB;CACnB,6CAA6C;CAC7C;;AAED;CACC,eAAe;CACf,aAAa;CACb;;AAED;CACC,eAAe;CACf,eAAe;CACf,gBAAgB;CAChB,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB,YAAY;CACZ,oBAAoB;CACpB;;AAED;CACC,sBAAsB;CACtB,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,iBAAiB;CACjB,UAAU;CACV,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,uBAAuB;CACvB,aAAa;CACb,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,wBAAwB;CACxB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,cAAc;CACd,+BAA+B;CAC/B,mBAAmB;CACnB,QAAQ;CACR,UAAU;CACV;;AAED;CACC,uBAAuB;CACvB;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,sBAAsB;CACtB,mBAAmB;CACnB;;AAED;CACC,sBAAsB;CACtB,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,oBAAoB;CACpB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED;CACC,mBAAmB;CACnB,2BAA2B;CAC3B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf;;AAED;CACC,cAAc;CACd;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB,wBAAwB;CACxB;;AAED,+BAA+B;AAC/B;CACC,wBAAwB;CACxB,aAAa;CACb;;AAED;CACC,oBAAoB;CACpB,iBAAiB;CACjB,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb,aAAa;CACb;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,qBAAqB;CACrB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,cAAc;CACd;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,UAAU;CACV,SAAS;CACT,mBAAmB;CACnB,0BAA0B;CAC1B,uBAAuB;CACvB;;AAED;CACC,WAAW;CACX,mBAAmB;CACnB,gBAAgB;CAChB,YAAY;CACZ,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB,YAAY;CACZ,0BAA0B;CAC1B,0CAA0C;CAC1C;;AAED;CACC,sBAAsB;CACtB,WAAW;CACX;;AAED;CACC,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB,aAAa;CACb;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,2BAA2B;CAC3B;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CAGC,uBAAuB;CACvB,iBAAiB;CACjB,WAAW;CACX;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,eAAe;CACf;;AAED;CACC,qBAAqB;CACrB;;AAED;;GAEG;;AAEH,6BAA6B;AAC7B;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB;;AAED,aAAa;AACb,oHAAoH;;AAEpH;CACC,qBAAqB;CACrB,mBAAmB;CACnB;;AAED;CACC,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB,iBAAiB;CACjB,cAAc;CACd,aAAa;CACb;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,WAAW;CACX;;AAED,iBAAiB;;AAEjB;CACC,0BAA0B;CAC1B,cAAc;CACd,YAAY;CACZ;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,sBAAsB;CACtB,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX,YAAY;CACZ;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,aAAa;CACb,iBAAiB;CACjB;;AAED;CACC,6BAA6B;CAC7B,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED,qBAAqB;;AAErB,iBAAiB;;AAEjB;CACC,YAAY;CACZ,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,sBAAsB;CACtB,eAAe;CACf,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,cAAc;CACd;;AAED;CACC,WAAW;CACX,gBAAgB;CAChB,6BAA6B;CAC7B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,mBAAmB;CACnB,WAAW;CACX,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,uBAAuB;CACvB,gBAAgB;CAChB;;AAED,qBAAqB;;AAErB,oBAAoB;;AAEpB;CACC,iBAAiB;CACjB,YAAY;CACZ,eAAe;CACf,eAAe;CACf;;AAED;CACC,wBAAwB;CACxB,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,sBAAsB;CACtB,eAAe;CACf,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,aAAa;CACb;;AAED;CACC,WAAW;CACX,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,mBAAmB;CACnB,WAAW;CACX,WAAW;CACX;;AAED;CACC,gBAAgB;CAChB,uBAAuB;CACvB;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,mBAAmB;CACnB;;AAED;;CAEC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED,wBAAwB;;;AAGxB,mFAAmF;;AAEnF;CACC,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf,sBAAsB;CACtB,eAAe;CACf,eAAe;CACf;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB;;AAED,gCAAgC;;AAEhC;CACC,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,WAAW;CACX,mBAAmB;CACnB,qBAAqB;CACrB;;AAED;CACC,aAAa;CACb,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,2BAA2B;CAC3B,qBAAqB;CACrB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,WAAW;CACX,mBAAmB;CACnB,kBAAkB;CAClB,sBAAsB;CACtB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB,mBAAmB;CACnB;;AAED,mCAAmC;AACnC;AACA,6BAA6B;AAC7B;iBACiB;AACjB,iBAAiB;CAChB,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd;;AAED;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb,2BAA2B;CAC3B,WAAW;CACX,aAAa;CACb,oBAAoB;CACpB;;AAED;CACC,sBAAsB;CACtB,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,0BAA0B;CAC1B,mBAAmB;CACnB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,2BAA2B;CAC3B,kBAAkB;CAClB,iBAAiB;CACjB,4BAA4B;CAC5B,0BAA0B;CAC1B,sBAAsB;CACtB;;AAED;CACC,0BAA0B;CAC1B,oBAAoB;CACpB,sBAAsB;CACtB,gBAAgB;CAChB,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB;;AAED,uCAAuC;AACvC,6CAA6C;AAC7C;CACC,aAAa;CACb,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,4CAA4C;CAC5C;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,YAAY;CACZ,eAAe;CACf;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,cAAc;CACd;;AAED;CACC,eAAe;CACf;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B;;AAED;CACC,0BAA0B;CAC1B,YAAY;CACZ;;AAED;CACC,0BAA0B;CAC1B,YAAY;CACZ;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd;;AAED;CACC,kBAAkB;CAClB,mBAAmB;CACnB,qBAAqB;CACrB,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,uBAAuB;CACvB,gBAAgB;CAChB,iBAAiB;CACjB,uBAAuB;CACvB;;AAED;CACC,uBAAuB;CACvB,kBAAkB;CAClB,4BAA4B;CAC5B,uBAAuB;CACvB,oBAAoB;CACpB;;AAED;CACC,uBAAuB;CACvB,kBAAkB;CAClB,+BAA+B;CAC/B,uBAAuB;CACvB,oBAAoB;CACpB;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ;;AAED;CACC,oBAAoB;CACpB,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB,oBAAoB;CACpB;;AAED;;CAEC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,2BAAuB;KAAvB,uBAAuB;CACvB,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB,eAAe;CACf,eAAe;CACf,2CAA2C;CAC3C;;AAED;CACC,oBAAoB;CACpB,2CAA2C;CAC3C;;AAED;CACC,wBAAwB;CACxB,WAAW;CACX;;AAED;CACC,eAAe;CACf,iBAAiB;CACjB;;AAED,sBAAsB;;AAEtB;CACC,eAAe;CACf,gBAAgB;CAChB,OAAO;CACP,QAAQ;CACR,SAAS;CACT,UAAU;CACV,eAAe;CACf,kBAAkB;CAClB,oBAAoB;CACpB,eAAe;CACf;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,UAAU;CACV;;AAED;CACC,uBAAuB;CACvB,iBAAiB;CACjB,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,eAAe;CACf,iBAAiB;CACjB,iBAAiB;CACjB,yCAAyC;CACzC,mBAAmB;CACnB,qBAAc;CAAd,cAAc;CACd,oBAAgB;KAAhB,gBAAgB;CAChB,uBAAuB;CACvB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB,YAAY;CACZ,gBAAgB;CAChB,oBAAoB;CACpB,mBAAmB;CACnB,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,0BAA0B;CAC1B,uBAAuB;CACvB;;AAED;CACC,cAAc;CACd,UAAU;CACV;;AAED;CACC,cAAc;CACd;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,oBAAoB;CACpB,kBAAkB;CAClB;;AAED;CACC,oBAAoB;CACpB,eAAe;CACf,uBAAuB;CACvB,cAAc;CACd,eAAe;CACf,mBAAmB;CACnB,UAAU;CACV,UAAU;CACV,SAAS;CACT,QAAQ;CACR;;AAED;CACC,oBAAoB;CACpB,iIAAiI;CACjI;;AAED;CACC,0BAA0B;CAC1B,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf,kBAAkB;CAClB,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,4BAA4B;CAC5B;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB;;AAED;;CAEC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,UAAU;CACV,sBAAsB;CACtB,mBAAmB;CACnB,4BAA4B;CAC5B;;AAED;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,uBAAuB;CACvB,gBAAgB;CAChB,uBAAuB;CACvB,sBAAsB;CACtB,kBAAkB;CAClB;;AAED;CACC,uBAAuB;CACvB;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB,yCAAyC;CACzC;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,iBAAiB;CACjB,mBAAmB;CACnB,uBAAuB;CACvB,cAAc;CACd;;AAED;CACC,eAAe;CACf;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ;;AAED;CACC,uBAAuB;CACvB;;AAED,mBAAmB;;AAEnB;CACC,YAAY;CACZ;;AAED;CACC,oBAAoB;CACpB;;AAED;;CAEC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB,mBAAmB;CACnB,8BAA8B;CAC9B;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,sBAAsB;CACtB,UAAU;CACV,aAAa;CACb;;AAED;CACC,sBAAsB;CACtB,mBAAmB;CACnB,YAAY;CACZ,aAAa;CACb,oBAAoB;CACpB,oBAAoB;CACpB,eAAe;CACf,cAAc;CACd,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,2BAA2B;CAC3B,cAAc;CACd,mBAAmB;CACnB,yBAAiB;CAAjB,iBAAiB;CACjB,UAAU;CACV,iBAAiB;CACjB,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,WAAW;CACX,UAAU;CACV;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ,UAAU;CACV;;AAED;CACC,mBAAmB;CACnB,aAAa;CACb,0BAA0B;CAC1B,YAAY;CACZ,mCAAsB;CACtB,aAAa;CACb,uBAAuB;CACvB,mBAAmB;CACnB,YAAY;CACZ,mBAAmB;CACnB,cAAc;CACd;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED,0CAA0C;AAC1C;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,yCAAyC;CACzC;;AAED,sBAAsB;;AAEtB;CACC,iBAAiB;CACjB,oBAAoB;CACpB,aAAa;CACb;;AAED;CACC,yBAAyB;CACzB,cAAc;CACd;;AAED;CACC,kBAAkB;CAClB;;AAED;;CAEC;EACC,qBAAc;EAAd,cAAc;EACd,yBAAsB;MAAtB,sBAAsB;EACtB;;CAED;EACC,eAAW;MAAX,WAAW;EACX;;CAED;EACC,0BAA0B;EAC1B;;CAED;;AAED;;CAEC;;;EAGC,yBAAyB;EACzB,kBAAkB;EAClB,6BAA6B;EAC7B,aAAa;EACb,iBAAiB;EACjB,YAAY;EACZ;;CAED;EACC,aAAa;EACb;;CAED;EACC,gBAAgB;EAChB,UAAU;EACV,YAAY;EACZ,SAAS;EACT,UAAU;EACV,iBAAiB;EACjB,WAAW;EACX,wCAAwC;EACxC;;CAED;EACC,WAAW;EACX;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,YAAY;EACZ;;CAED;;AAED;;CAEC;EACC,WAAW;EACX;;CAED;;AAED;;CAEC;EACC,gBAAgB;EAChB;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB;;CAED;EACC,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,aAAa;EACb,oBAAoB;EACpB;;CAED;EACC,mBAAmB;EACnB,SAAS;EACT,SAAS;EACT;;CAED;EACC,eAAe;EACf,0BAA0B;EAC1B;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,UAAU;EACV,eAAe;EACf,YAAY;EACZ;;CAED;EACC,eAAe;EACf;;CAED;EACC,YAAY;EACZ,uBAAuB;EACvB,mBAAmB;EACnB;;CAED;EACC,gBAAgB;EAChB,UAAU;EACV,UAAU;EACV,YAAY;EACZ,uBAAuB;EACvB,mBAAmB;EACnB,4CAA4C;EAC5C,iBAAiB;EACjB,WAAW;EACX;;CAED;EACC,eAAe;EACf,mBAAmB;EACnB;;CAED;EACC,eAAe;EACf;;AAEF;;;;;;;;;IASI;;CAEH;EACC,oBAAoB;EACpB;;CAED;EACC,sBAAsB;EACtB;;CAED;EACC,UAAU;EACV,iBAAiB;EACjB,wBAAwB;EACxB;;CAED;EACC,aAAa;EACb,oBAAoB;EACpB,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,WAAW;EACX,mBAAmB;EACnB,WAAW;EACX,WAAW;EACX,UAAU;EACV;;CAED;EACC,eAAe;EACf,sBAAsB;EACtB,yBAAyB;EACzB,YAAY;EACZ,WAAW;EACX,UAAU;EACV,oBAAoB;EACpB,iBAAiB;EACjB,yCAAyC;EACzC;;CAED;EACC,8BAA8B;EAC9B,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,UAAU;EACV;;CAED;EACC;;;IAGE;EACF,0BAA0B;EAC1B,kBAAkB;EAClB,eAAe;EACf,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,eAAe;EACf,gBAAgB;EAChB;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,YAAY;EACZ;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,uBAAuB;EACvB,+BAA+B;EAC/B;;CAED;EACC,kBAAkB;EAClB;;CAED;EACC,uBAAuB;EACvB,mBAAmB;EACnB,QAAQ;EACR,OAAO;EACP,uBAAuB;EACvB,aAAa;EACb,WAAW;EACX,aAAa;EACb,4CAA4C;EAC5C;;CAED;EACC,aAAa;EACb;;CAED;EACC,eAAe;EACf,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;EAChB;;CAED;EACC,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;EAChB,oBAAoB;EACpB;;CAED;EACC,qBAAqB;EACrB;;CAED;EACC,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,oBAAgB;MAAhB,gBAAgB;EAChB,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,YAAY;EACZ,cAAc;EACd;;CAED;EACC,YAAY;EACZ;;CAED;;EAEC,mBAAmB;EACnB,OAAO;EACP,aAAa;EACb;;CAED;;EAEC,YAAY;EACZ;;CAED;EACC,qBAAqB;EACrB,kBAAkB;EAClB;;CAED;;AAED;;CAEC;EACC;;CAED;EACC,YAAY;EACZ,YAAY;EACZ,mBAAmB;EACnB;;CAED;EACC,cAAc;EACd;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,eAAe;EACf,YAAY;EACZ,UAAU;EACV,oBAAoB;EACpB;;CAED;;AAED;CACC;;AAED;;CAEC;EACC,WAAW;EACX;;CAED;EACC,oBAAoB,CAAC,aAAa;EAClC;;CAED;EACC,oBAAoB;EACpB;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,kBAAkB;EAClB;;CAED;EACC,mCAAmC;EACnC;;CAED;EACC,2BAA2B;EAC3B;;CAED;;AAED;;CAEC;EACC,YAAY;EACZ,aAAa;EACb,2CAA2C;EAC3C,oBAAoB;EACpB;;CAED;EACC,mBAAmB;EACnB,iBAAiB;EACjB;;CAED;EACC,eAAe;EACf;;CAED;;AAED;;CAEC;EACC,wBAAwB;EACxB,oBAAoB;EACpB;;CAED;EACC,aAAa;EACb;;CAED;;AAED;;CAEC;EACC,YAAY;EACZ,oBAAoB;EACpB;;CAED;EACC,YAAY;EACZ;;CAED;EACC,eAAe;EACf;;CAED;EACC,qBAAc;EAAd,cAAc;EACd,oBAAgB;MAAhB,gBAAgB;EAChB;;CAED;EACC,eAAe;EACf;;CAED;EACC,YAAY;EACZ,oBAAoB;EACpB;;CAED;EACC,WAAW;EACX,uBAAuB;EACvB;;CAED;EACC,cAAc;EACd;;CAED;EACC,4BAA4B;EAC5B,kBAAkB;EAClB,YAAY;EACZ,eAAe;EACf;;CAED","file":"updraftplus-admin.min.css","sourcesContent":["@keyframes udp_blink {\n\n\tfrom {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t}\n\n\tto {\n\t\topacity: 0.4;\n\t\ttransform: scale(0.85);\n\t}\n\n}\n\n@keyframes udp_rotate {\n\n\tfrom {\n\t\ttransform: rotate(0);\n\t}\n\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n\n}\n\n/* Widths and sizing */\n.max-width-600 {\n\tmax-width: 600px;\n}\n\n.max-width-700 {\n\tmax-width: 700px;\n}\n\n.width-900 {\n\tmax-width: 900px;\n}\n\n.width-80 {\n\twidth: 80%;\n}\n\n.updraft--flex {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\n.updraft--flex > * {\n\tflex: 1;\n\tbox-sizing: border-box;\n}\n\n.updraft--flex > .updraft--one-half {\n\twidth: 50%;\n\tflex: auto;\n}\n\n.updraft--flex > .updraft--two-halves {\n\twidth: 100%;\n\tflex: auto;\n}\n\n.updraft-color--very-light-grey {\n\tbackground: #F8F8F8;\n}\n\n/* End widths and sizing */\n\n/* Font styling */\n.no-decoration {\n\ttext-decoration: none;\n}\n\n.bold {\n\tfont-weight: bold;\n}\n\n/* End font styling */\n/* Alignment */\n.center-align-td {\n\ttext-align: center;\n}\n\n/* End of Alignment */\n/* Padding */\n.remove-padding {\n\tpadding: 0 !important;\n}\n\n/* End of padding */\n\n.updraft-text-center {\n\ttext-align: center;\n}\n\n.autobackup {\n\tpadding: 6px;\n\tmargin: 8px 0px;\n}\n\nul .disc {\n\tlist-style: disc inside;\n}\n\n.dashicons-log-fix {\n\tdisplay: inherit;\n}\n\n.udpdraft__lifted {\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n}\n\n#updraft-wrap a .dashicons {\n\ttext-decoration: none;\n}\n\n.updraft-field-description,\ntable.form-table td p.updraft-field-description {\n\tfont-size: 90%;\n\tline-height: 1.2;\n\tfont-style: italic;\n\tmargin-bottom: 5px;\n}\n\n/* Input boxes */\nlabel.updraft_checkbox {\n\tdisplay: block;\n\tmargin-bottom: 4px;\n\tmargin-left: 26px;\n}\n\nlabel.updraft_checkbox > input[type=checkbox] {\n\tmargin-left: -25px;\n}\n\ndiv[id*=\"updraft_include_\"] {\n\tmargin-bottom: 9px;\n}\n\n/* Input boxes */\n.settings_page_updraftplus input[type=\"file\"] {\n\tborder: none;\n}\n\n.settings_page_updraftplus .wipe_settings {\n\tpadding-bottom: 10px;\n}\n\n.settings_page_updraftplus input[type=\"text\"] {\n\tfont-size: 14px;\n}\n\n.settings_page_updraftplus select {\n\tborder-radius: 4px;\n\tmax-width: 100%;\n}\n\ninput.updraft_input--wide,\ntextarea.updraft_input--wide {\n\tmax-width: 442px;\n\twidth: 100%;\n}\n\n#updraft-wrap .button-large {\n\tfont-size: 1.3em;\n}\n\n/* End input boxes */\n\n/* Main Buttons */\n.main-dashboard-buttons {\n\tborder-width: 4px;\n\tborder-radius: 12px;\n\tletter-spacing: 0px;\n\tfont-size: 17px;\n\tfont-weight: bold;\n\tpadding-left: 0.7em;\n\tpadding-right: 2em;\n\tpadding: 0.3em 1em;\n\tline-height: 1.7em;\n\tbackground: transparent;\n\tposition: relative;\n\tborder: 2px solid;\n\ttransition: all 0.2s;\n\tvertical-align: baseline;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 1.3em;\n\tmargin-left: .3em;\n\ttext-transform: none;\n\tline-height: 1;\n\ttext-decoration: none;\n}\n\n.button-restore {\n\tborder-color: rgb(98, 158, 192);\n\tcolor: rgb(98, 158, 192);\n}\n\n.dashboard-main-sizing {\n\tborder-width: 4px;\n\twidth: 190px;\n\tline-height: 1.7em;\n}\n\np.updraftplus-option {\n\tmargin-top: 0;\n\tmargin-bottom: 5px;\n}\n\np.updraftplus-option-inline {\n\tdisplay: inline-block;\n\tpadding-right: 20px;\n}\n\nspan.updraftplus-option-label {\n\tdisplay: block;\n}\n\n/*\n* MIGRATE - CLONE\n*/\n\n#updraft-navtab-migrate-content .postbox {\n\tpadding: 18px;\n}\n\n/* Clone Rows */\n\n.updraftclone-main-row {\n\tdisplay: flex;\n}\n\n.updraftclone-tokens {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tmargin-right: 20px;\n\tmax-width: 300px;\n}\n\n.updraftclone-tokens p {\n\tmargin: 0;\n}\n\n.updraftclone_action_box {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tflex: 1;\n}\n\n.updraftclone_action_box p:first-child {\n\tmargin-top: 0;\n}\n\n.updraftclone_action_box p:last-child {\n\tmargin-bottom: 0;\n}\n\n.updraftclone_action_box #ud_downloadstatus3 {\n\tmargin-top: 10px;\n}\n\nspan.tokens-number {\n\tfont-size: 46px;\n\tdisplay: block;\n}\n\n/* Clone header button */\n.button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\theight: 100%;\n\tborder-left: 1px solid #CCC;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box {\n\tmargin-right: 20px;\n\twidth: 100%;\n\tflex-basis: 100%;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\tfloat: none;\n}\n\n@media (min-width: 1024px) {\n\n\t.updraft_migrate_widget_temporary_clone_stage0_container {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box {\n\t\tflex-basis: 45%;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n\t.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\t\tfloat: right;\n\t}\n\n}\n\n.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n}\n\n.opened .button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: inline-block;\n}\n\n.opened .updraft_migrate_widget_temporary_clone_stage0 {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 8px;\n\tmargin-bottom: 21px;\n}\n\n/* Clone list table */\n.clone-list {\n\tclear: both;\n\twidth: 100%;\n\tmargin-top: 40px;\n}\n\n.clone-list table {\n\twidth: 100%;\n\ttext-align: left;\n}\n\n.clone-list table tr th {\n\tbackground: #E4E4E4;\n}\n\n.clone-list table tr td {\n\tbackground: #F5F5F5;\n\tword-break: break-word;\n}\n\n.clone-list table tr:nth-child(odd) td {\n\tbackground: #FAFAFA;\n}\n\n.clone-list table td,\n.clone-list table th {\n\tpadding: 6px;\n}\n\n/* Clone Progress */\n.updraftplus-clone .updraft_row {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\nbutton#updraft_migrate_createclone + .updraftplus_spinner {\n\tmargin-top: 13px;\n}\n\n/* Clone - Show step 1 info button */\n.button.button-hero.updraftclone_show_step_1 {\n\twhite-space: normal;\n\theight: auto;\n\tline-height: 14px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n\n.button.button-hero.updraftclone_show_step_1 span.dashicons {\n\theight: auto;\n}\n\n.updraftplus_clone_status {\n\tcolor: red;\n}\n\n/* MIGRATE */\n\na.updraft_migrate_add_site--trigger span.dashicons {\n\ttext-decoration: none;\n}\n\n.button-restore:hover, .button-migrate:hover, .button-backup:hover,\n.button-view-log:hover, .button-mass-selectors:hover,\n.button-delete:hover, .button-entity-backup:hover, .udp-button-primary:hover {\n\tborder-color: #DF6926;\n\tcolor: #DF6926;\n}\n\n.button-migrate {\n\tcolor: rgb(238, 169, 32);\n\tborder-color: rgb(238, 169, 32);\n}\n\n#updraft_migrate_tab_main {\n\tpadding: 8px;\n}\n\n.updraft_migrate_widget_module_content {\n\tbackground: #FFF;\n\tborder-radius: 0;\n\tposition: relative;\n}\n\nbody.js #updraft_migrate .updraft_migrate_widget_module_content {\n\tdisplay: none;\n}\n\n.updraft_migrate_widget_module_content > h3,\ndiv[class*=\"updraft_migrate_widget_temporary_clone_stage\"] > h3 {\n\tmargin-top: 0;\n}\n\n/* Migrate / Clone headers */\n.updraft_migrate_widget_module_content header {\n\tposition: relative;\n\tdisplay: flex;\n\talign-content: center;\n\tjustify-items: center;\n\tmargin-top: -18px;\n\tmargin-left: -18px;\n\tmargin-right: -18px;\n\tmargin-bottom: 15px;\n\tborder-bottom: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content header h3,\n.updraft_migrate_widget_module_content header button.button.close {\n\tpadding: 10px;\n\tline-height: 20px;\n\theight: auto;\n\tmargin: 0;\n}\n\n.updraft_migrate_widget_module_content button.button.close {\n\ttext-decoration: none;\n\tpadding-left: 5px;\n\tborder-right: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content button.button.close .dashicons {\n\tmargin-top: 1px;\n}\n\n.updraft_migrate_widget_module_content header h3 {\n\tmargin: 0;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero {\n\tmax-width: 235px;\n\tword-wrap: normal;\n\twhite-space: normal;\n\tline-height: 1;\n\theight: auto;\n\tpadding-top: 13px;\n\tpadding-bottom: 13px;\n\ttext-align: left;\n\tposition: relative;\n\tmargin-right: 10px;\n\tmargin-bottom: 10px;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero .dashicons {\n\tposition: absolute;\n\tleft: 10px;\n\ttop: calc(50% - 8px);\n}\n\n/*\njquery UI Accordion module\n*/\n#updraft_migrate .ui-widget-content a {\n\tcolor: #1C94C4;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header {\n\tbackground: #F6F6F6;\n\tmargin: 0;\n\tborder-radius: 0;\n\tpadding-left: 0.5em;\n\tpadding-right: 0.7em;\n}\n\n#updraft-wrap .ui-widget {\n\tfont-family: inherit;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w {\n\tbackground-position: -96px 0px;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s {\n\tbackground-position: -64px 0;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n\tleft: auto;\n\tright: 5px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px rgba(91, 157, 217, 0.22), 0 0 2px 1px rgba(30, 140, 190, 0.3);\n\tbackground: #FFF;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons {\n\tcolor: #0572AA;\n\topacity: 1;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active {\n\tbackground: #F6F6F6;\n\tborder-bottom: 2px solid #0572AA;\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus {\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3), 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child) {\n\tborder-top: none;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .dashicons {\n\topacity: 0.4;\n\tmargin-right: 10px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n\tz-index: 1;\n}\n\nbutton.ui-dialog-titlebar-close:before {\n\tcontent: none!important;\n}\n\n.updraft_next_scheduled_backups_wrapper {\n\tdisplay: flex;\n\tbackground: #FFF;\n\tjustify-items: center;\n\tflex-wrap: wrap;\n}\n\n.updraft_next_scheduled_backups_wrapper > div {\n\twidth: 50%;\n\tbackground: #FFF;\n\theight: auto;\n\t/* padding: 18px 33px; */\n\tpadding: 33px;\n\tbox-sizing: border-box;\n}\n\n.updraft_backup_btn_wrapper {\n\ttext-align: center;\n\tborder-left: 1px solid #F1F1F1;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.incremental-backups-only {\n\tdisplay: none;\n}\n\n.incremental-free-only {\n\tdisplay: none;\n}\n\n.incremental-free-only p {\n\tpadding: 5px;\n\tbackground: rgba(255, 0, 0, 0.06);\n\tborder: 1px solid #BFBFBF;\n}\n\n#updraft-delete-waitwarning span.spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tmargin: 0;\n\tmargin-right: 10px;\n}\n\nbutton#updraft-backupnow-button .spinner,\nbutton#updraft-backupnow-button .dashicons-yes {\n\tdisplay: none;\n}\n\nbutton#updraft-backupnow-button.loading .spinner {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tmargin-top: 13px;\n\tmargin-right: 0;\n}\n\nbutton#updraft-backupnow-button.loading {\n\tbackground-color: #EFEFEF;\n\tborder-color: #CCC;\n\ttext-shadow: 0 -1px 1px #BBC3C7, 1px 0 1px #BBC3C7, 0 1px 1px #BBC3C7, -1px 0 1px #BBC3C7;\n\tbox-shadow: none;\n}\n\nbutton#updraft-backupnow-button.finished .dashicons-yes {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tfont-size: 42px;\n\tmargin-right: 0;\n\tmargin-top: 2px;\n}\n\n.updraft_next_scheduled_entity {\n\twidth: 50%;\n\tdisplay: inline-block;\n\tfloat: left;\n\t/*\n\tpadding: 20px 20px 10px 20px;\n\t*/\n}\n\n.updraft_next_scheduled_entity .dashicons {\n\tcolor: #CCC;\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_entity strong {\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_heading {\n\tmargin-bottom: 10px;\n}\n\n.updraft_next_scheduled_date_time {\n\tcolor: #46A84B;\n}\n\n.updraft_time_now_wrapper {\n\tmargin-top: 68px;\n\twidth: 100%;\n}\n\n.updraft_time_now_label, .updraft_time_now {\n\tdisplay: inline-block;\n\tpadding: 7px;\n}\n\n.updraft_time_now_label {\n\tbackground: #B7B7B7;\n\tborder-top-left-radius: 4px;\n\tborder-bottom-left-radius: 4px;\n\tcolor: #FFF;\n\tmargin-right: 0;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n.updraft_time_now {\n\tbackground: #F1F1F1;\n\tborder-top-right-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tmargin-left: -3px;\n}\n\n#updraft_lastlogmessagerow {\n\tmargin: 6px 0;\n}\n\n#updraft_lastlogmessagerow {\n\tclear: both;\n\tpadding: 0.25px 0;\n}\n\n#updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: right;\n\tmargin-top: -2.5em;\n\tmargin-right: 2px;\n}\n\n#updraft_lastlogmessagerow > div {\n\tclear: both;\n\tbackground: #FFF;\n\tpadding: 18px;\n}\n\n#updraft_activejobs_table {\n\toverflow: hidden;\n\twidth: 100%;\n\tbackground: #FAFAFA;\n\tpadding: 0;\n}\n\n.updraft_requeststart {\n\tpadding: 15px 33px;\n\ttext-align: center;\n}\n\n.updraft_requeststart .spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tvertical-align: middle;\n\tmargin-top: -2px;\n}\n\na.updraft_jobinfo_delete.disabled {\n\topacity: 0.4;\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n\n.updraft_row {\n\tclear: both;\n\ttransition: 0.3s all;\n\tpadding: 15px 33px;\n}\n\n.updraft_row.deleting {\n\topacity: 0.4;\n}\n\n.updraft_progress_container {\n\t/* width: 83%; */\n}\n\n.updraft_existing_backups_count {\n\tpadding: 2px 8px;\n\tfont-size: 12px;\n\tbackground: #CA4A1E;\n\tcolor: #FFF;\n\tfont-weight: bold;\n\tborder-radius: 10px;\n}\n\n.form-table .existing-backups-table input[type=\"checkbox\"] {\n\tborder-radius: 0;\n}\n\n.form-table .existing-backups-table .check-column {\n\twidth: 40px;\n\tpadding: 0;\n\tpadding-top: 8px;\n}\n\n.existing-backups-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.existing-backups-restore-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.button-delete {\n\tcolor: #E23900;\n\tborder-color: #E23900;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 10px;\n}\n\n.button-view-log, .button-mass-selectors {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-top: -1px;\n}\n\n.button-view-log {\n\twidth: 120px;\n}\n\n.button-existing-restore {\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\twidth: 110px;\n}\n\n.main-restore {\n\tmargin-right: 3%;\n\tmargin-left: 3%;\n}\n\n.button-entity-backup {\n\tcolor: #555;\n\tborder-color: #555;\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 5px;\n}\n\n.button-select-all {\n\twidth: 122px;\n}\n\n.button-deselect {\n\twidth: 92px;\n}\n\n#ud_massactions > .display-flex > .mass-selectors-margins, #updraft-delete-waitwarning > .display-flex > .mass-selectors-margins {\n\tmargin-right: -4px;\n}\n\n.udp-button-primary {\n\tborder-width: 4px;\n\tcolor: #0073AA;\n\tborder-color: #0073AA;\n\tfont-size: 14px;\n\theight: 40px;\n}\n\n#ud_massactions .button-delete {\n\tmargin-right: 0px;\n}\n\n.stored_local {\n\tborder-radius: 5px;\n\tbackground-color: #007FE7;\n\tpadding: 3px 5px 5px 5px;\n\tcolor: #FFF;\n\tfont-size: 75%;\n}\n\nspan#updraft_lastlogcontainer {\n\tword-break: break-all;\n}\n\n.stored_icon {\n\theight: 1.3em;\n\tposition: relative;\n\ttop: 0.2em;\n}\n\n.backup_date_label > * {\n\tvertical-align: middle;\n}\n\n.backup_date_label .dashicons {\n\tfont-size: 18px;\n}\n\n.backup_date_label .clear-right {\n\tclear: right;\n}\n\n.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\tfont-weight: bold;\n}\n\n/* End Main Buttons */\n\n/* End of common elements */\n\n.udp-logo-70 {\n\twidth: 70px;\n\theight: 70px;\n\tfloat: left;\n\tpadding-right: 25px;\n}\n\nh3 .thank-you {\n\tmargin-top: 0px;\n}\n\n.ws_advert {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n.dismiss-dash-notice {\n\tfloat: right;\n\tposition: relative;\n\ttop: -20px;\n}\n\n.updraft_exclude_container,\n.updraft_include_container {\n\tmargin-left: 24px;\n\tmargin-top: 5px;\n\tmargin-bottom: 10px;\n\tpadding: 15px;\n\tborder: 1px solid #DDD;\n}\n\nlabel.updraft-exclude-label {\n\tfont-weight: 500;\n\tmargin-bottom: 5px;\n\tdisplay: block;\n}\n\n.updraft_add_exclude_item,\n#updraft_include_more_paths_another {\n\tdisplay: inline-block;\n\tmargin-top: 10px;\n}\n\ninput.updraft_exclude_entity_field,\n.form-table td input.updraft_exclude_entity_field,\n.updraftplus-morefiles-row input[type=text] {\n\twidth: calc(100% - 70px);\n\tmax-width: 400px;\n}\n\n@media screen and (max-width: 782px) {\n\n\t.form-table td input.updraft_exclude_entity_field,\n\t.form-table td .updraftplus-morefiles-row input[type=text] {\n\t\tdisplay: inline-block;\n\t}\n\n}\n\n.updraft_exclude_entity_delete.dashicons, .updraft_exclude_entity_edit.dashicons, .updraft_exclude_entity_update.dashicons, .updraftplus-morefiles-row a.dashicons {\n\tmargin-top: 2px;\n\tfont-size: 20px;\n\tbox-shadow: none;\n\tline-height: 1;\n\tpadding: 3px;\n\tmargin-right: 4px;\n}\n\n.updraft_exclude_entity_delete,\n.updraft_exclude_entity_delete:hover,\n.updraftplus-morefiles-row-delete {\n\tcolor: #FF6347;\n}\n\n.updraft_exclude_entity_update.dashicons, .updraft_exclude_entity_update.dashicons:hover {\n\tcolor: #008000;\n\tfont-weight: bold;\n\tfont-size: 22px;\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_edit {\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete {\n\tdisplay: none;\n}\n\n.updraft-exclude-panel-heading {\n\tmargin-bottom: 8px;\n}\n\n.updraft-exclude-panel-heading h3 {\n\tmargin: 0.5em 0 0.5em 0;\n}\n\n.updraft-exclude-submit.button-primary {\n\tmargin-top: 5px;\n}\n\n.updraft_exclude_actions_list {\n\tfont-weight: bold;\n}\n\n.updraft-exclude-link {\n\tcursor: pointer;\n}\n\n#updraft_include_more_options {\n\tpadding-left: 25px;\n}\n\n#updraft_report_cell .updraft_reportbox,\n.updraft_small_box {\n\tpadding: 12px;\n\tmargin: 8px 0;\n\tborder: 1px solid #CCC;\n\tposition: relative;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete,\n.updraft_box_delete_button,\n.updraft_small_box .updraft_box_delete_button {\n\tpadding: 4px;\n\tpadding-top: 6px;\n\tborder: none;\n\tbackground: transparent;\n\tposition: absolute;\n\ttop: 4px;\n\tright: 4px;\n\tcursor: pointer;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete:hover {\n\tcolor: #DE3C3C;\n}\n\na.updraft_report_another .dashicons {\n\ttext-decoration: none;\n\tmargin-top: 2px;\n}\n\n.updraft_report_dbbackup.updraft_report_disabled {\n\tcolor: #CCC;\n}\n\n#updraft-navtab-settings-content .updraft-test-button {\n\tfont-size: 18px !important;\n}\n\n#updraft_report_cell .updraft_report_email {\n\tdisplay: block;\n\twidth: calc(100% - 50px);\n\tmargin-bottom: 9px;\n}\n\n#updraft_report_cell .updraft_report_another_p {\n\tclear: left;\n}\n\n/* Taken straight from admin.php */\n\n#updraft-navtab-settings-content table.form-table p {\n\tmax-width: 700px;\n}\n\n#updraft-navtab-settings-content table.form-table .notice p {\n\tmax-width: none;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td {\n\tbackground-color: #EFEFEF;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td {\n\tbackground-color: #E8E8E8;\n}\n\n.updraft_settings_sectionheading {\n\tdisplay: none;\n}\n\n.updraft-backupentitybutton-disabled {\n\tbackground-color: transparent;\n\tborder: none;\n\tcolor: #0074A2;\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tclear: none;\n\tfloat: left;\n}\n\n.updraft-backupentitybutton {\n\tmargin-left: 8px;\n}\n\n.updraft-bigbutton {\n\tpadding: 2px 0px !important;\n\tmargin-right: 14px !important;\n\tfont-size: 22px !important;\n\tmin-height: 32px;\n\tmin-width: 180px;\n}\n\ntr[class*=\"_updraft_remote_storage_border\"] {\n\tborder-top: 1px solid #CCC;\n}\n\n.updraft_multi_storage_options {\n\tfloat: right;\n\tclear: right;\n\tmargin-bottom: 5px !important;\n}\n\n.updraft_toggle_instance_label {\n\tvertical-align: top !important;\n}\n\n.updraft_debugrow th {\n\tfloat: right;\n\ttext-align: right;\n\tfont-weight: bold;\n\tpadding-right: 8px;\n\tmin-width: 140px;\n}\n\n.updraft_debugrow td {\n\tmin-width: 300px;\n\tvertical-align: bottom;\n}\n\n#updraft_webdav_host_error, .onedrive_folder_error {\n\tcolor: red;\n}\n\nlabel[for=updraft_servicecheckbox_updraftvault] {\n\tposition: relative;\n}\n\n#updraft-wrap .udp-info {\n\tposition: absolute;\n\tright: 10px;\n\ttop: calc(50% - 10px);\n}\n\n#updraft-wrap span.info-trigger {\n\tdisplay: inline-block;\n\twidth: 20px;\n\theight: 20px;\n\tbackground: #FFF;\n\tcolor: #72777C;\n\tborder-radius: 30px;\n\ttext-align: center;\n\tline-height: 20px;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n#updraft-wrap .info-content-wrapper {\n\tdisplay: none;\n\tposition: absolute;\n\tbottom: 20px;\n\ttransform: translatex(calc(-50% + 10px));\n\twidth: 330px;\n\tpadding-bottom: 10px;\n}\n\n#updraft-wrap .info-content-wrapper::before {\n\tcontent: '';\n\tposition: absolute;\n\tbottom: -10px;\n\tborder: 10px solid transparent;\n\tborder-top-color: #FFF;\n\tleft: calc(50% - 10px);\n}\n\n#updraft-wrap .info-content {\n\tpadding: 20px;\n\tbackground: #FFF;\n\tborder-radius: 4px;\n\tbox-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);\n\tcolor: #72777C;\n}\n\n#updraft-wrap .info-content h3 {\n\tmargin-top: 0;\n}\n\n#updraft-wrap .info-content p {\n\tmargin-top: 10px;\n}\n\n#updraft-wrap .udp-info:hover .info-content-wrapper {\n\tdisplay: block;\n}\n\n/* jstree styles */\n\n/* these styles hide the dots from the parent but keep the arrows */\n.updraft_jstree .jstree-container-ul > .jstree-node,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-node {\n\tbackground: transparent;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-open > .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-open > .jstree-ocl {\n\tbackground-position: -36px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-closed> .jstree-ocl {\n\tbackground-position: -4px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-leaf> .jstree-ocl {\n\tbackground: transparent;\n}\n\n/* zip browser jstree styles */\n#updraft_zip_files_container {\n\tposition: relative;\n\theight: 450px;\n\toverflow: none;\n}\n\n.updraft_jstree_info_container {\n\tposition: relative;\n\theight: auto;\n\twidth: 100%;\n\tborder: 1px dotted;\n\tmargin-bottom: 5px;\n}\n\n.updraft_jstree_info_container p {\n\tmargin: 1px;\n\tpadding-left: 10px;\n\tfont-size: 14px;\n}\n\n#updraft_zip_download_item {\n\tdisplay: none;\n\tcolor: #0073AA;\n\tpadding-left: 10px;\n}\n\n#updraft_zip_download_notice {\n\tpadding-left: 10px;\n}\n\n#updraft_exclude_files_folders_jstree {\n\tmax-height: 200px;\n\toverflow-y: scroll;\n}\n\n.updraft_jstree {\n\tposition: relative;\n\tborder: 1px dotted;\n\theight: 80%;\n\twidth: 100%;\n\toverflow: auto;\n}\n\n/* More files jstree styles */\ndiv[id^=\"updraft_more_files_container_\"] {\n\tposition: relative;\n\tdisplay: none;\n\twidth: 100%;\n\tborder: 1px solid #CCC;\n\tbackground: #FAFAFA;\n\tmargin-bottom: 5px;\n\tmargin-top: 4px;\n\tbox-shadow: 0 5px 8px rgba(0, 0, 0, 0.1);\n}\n\ndiv[id^=\"updraft_more_files_container_\"]::before {\n\tcontent: ' ';\n\twidth: 11px;\n\theight: 11px;\n\tdisplay: block;\n\tbackground: #FAFAFA;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 20px;\n\tborder-top: 1px solid #CCC;\n\tborder-left: 1px solid #CCC;\n\ttransform: translatey(-7px) rotate(45deg);\n}\n\ninput.updraft_more_path_editing {\n\tborder-color: #0285BA;\n}\n\ninput.updraft_more_path_editing ~ a.dashicons {\n\tdisplay: none;\n}\n\ndiv[id^=\"updraft_jstree_buttons_\"] {\n\tpadding: 10px;\n\tbackground: #E6E6E6;\n}\n\ndiv[id^=\"updraft_jstree_container_\"] {\n\theight: 300px;\n\twidth: 100%;\n\toverflow: auto;\n}\n\ndiv[id^=\"updraft_more_files_container_\"] button {\n\tline-height: 20px;\n}\n\nbutton[id^=\"updraft_parent_directory_\"] {\n\tmargin: 10px 10px 4px 10px;\n\tpadding-left: 3px;\n}\n\nbutton[id^=\"updraft_jstree_confirm_\"], button[id^=\"updraft_jstree_cancel_\"] {\n\tdisplay: none;\n}\n\ninput[id^=\"updraft_include_more_path_restore_\"] {\n\ttext-align: right;\n}\n\n.updraftplus-morefiles-row-delete,\n.updraftplus-morefiles-row-edit {\n\tcursor: pointer;\n}\n\n#updraft-wrap .form-table th {\n\twidth: 230px;\n}\n\n#updraft-wrap .form-table .existing-backups-table th {\n\twidth: auto;\n}\n\n.updraft-viewlogdiv form {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-viewlogdiv {\n\tdisplay: inline-block;\n}\n\n.updraft-viewlogdiv input, .updraft-viewlogdiv a {\n\tborder: none;\n\tbackground-color: transparent;\n\tcolor: #000;\n\tmargin: 0px;\n\tpadding: 3px 4px;\n\tfont-size: 16px;\n\tline-height: 26px;\n}\n\n.updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover {\n\tcolor: #FFF;\n\tcursor: pointer;\n}\n\n.button.button-remove {\n\tcolor: white;\n\tbackground-color: #DE3C3C;\n\tborder-color: #C00000;\n\tbox-shadow: 0 1px 0 #C10100;\n}\n\n.button.button-remove:hover,\n.button.button-remove:focus {\n\tborder-color: #C00;\n\tcolor: #FFF;\n\tbackground: #C00;\n}\n\n/* button-remove colors for midnight admin theme */\nbody.admin-color-midnight .button.button-remove {\n\tcolor: #DE3C3C;\n\tbackground-color: #F7F7F7;\n\tborder-color: #CCC;\n\tbox-shadow: 0 1px 0 #CCC;\n}\n\nbody.admin-color-midnight .button.button-remove:hover, body.admin-color-midnight .button.button-remove:focus {\n\tborder-color: #BA281F;\n}\n\nbody.admin-color-midnight .button.button-remove:focus {\n\tbox-shadow: inherit;\n\tbox-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.drag-drop #drag-drop-area2 {\n\tborder: 4px dashed #DDD;\n\theight: 200px;\n}\n\n#drag-drop-area2 .drag-drop-inside {\n\tmargin: 36px auto 0;\n\twidth: 350px;\n}\n\n#filelist, #filelist2 {\n\twidth: 100%;\n}\n\n#filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tpadding: 1px;\n\tbackground: #ECECEC;\n\tborder: solid 1px #CCC;\n\tmargin: 4px 0;\n}\n\n.updraft_premium section {\n\tmargin-bottom: 20px;\n}\n\n/*\n\tCall to action Premium\n*/\n.updraft_premium_cta {\n\tbackground: #FFF;\n\tmargin-top: 30px;\n\tpadding: 0;\n\tborder-left: 4px solid #DB6A03;\n}\n\n.updraft_premium_cta a {\n\tfont-weight: normal;\n}\n\n.updraft_premium_cta__action {\n\tposition: relative;\n\ttext-align: center;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero {\n\tfont-size: 1.3em;\n\tletter-spacing: 0.03rem;\n\ttext-transform: uppercase;\n\tmargin-bottom: 7px;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small {\n\tdisplay: block;\n\tmax-width: 100%;\n\ttext-align: center;\n\tcolor: #AFAFAF;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small .dashicons {\n\twidth: 12px;\n\theight: 12px;\n}\n\n.updraft_premium_cta__top {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 18px 30px;\n}\n\n.updraft_premium_cta__bottom {\n\tbackground: #F9F9F9;\n\tpadding: 5px 30px;\n}\n\n.updraft_premium_cta__summary {\n\tmargin-right: 60px;\n}\n\n.updraft_premium_cta h2 {\n\tfont-size: 28px;\n\tfont-weight: 200;\n\tline-height: 1;\n\tmargin: 0;\n\tmargin-bottom: 5px;\n\tletter-spacing: 0.05rem;\n\tcolor: #DB6A03;\n}\n\n.updraft_premium_cta ul li::after {\n\tcolor: #CCC;\n}\n\n@media only screen and (max-width: 768px) {\n\n\t.updraft_premium_cta__top {\n\t\tflex-direction: column;\n\t\ttext-align: center;\n\t\talign-items: center;\n\t}\n\n\t.updraft_premium_cta__summary {\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 30px;\n\t}\n\n}\n\n/*\n\tBox\n*/\n.udp-box {\n\tbackground: #FFF;\n\tpadding: 20px;\n\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n\ttext-align: center;\n}\n\n.udp-box h3 {\n\tmargin: 0;\n}\n\n.udp-box__heading {\n\talign-self: center;\n\tbackground: none;\n\tbox-shadow: none;\n}\n\n/*\n\tOther Plugins\n*/\n.updraft-more-plugins {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\tflex-wrap: wrap;\n}\n\n.updraft-more-plugins img {\n\tmax-width: 200px;\n\twidth: 100%;\n\tdisplay: inline-block;\n}\n\n.updraft-more-plugins .udp-box {\n\tbox-sizing: border-box;\n\twidth: 24%;\n}\n\n.updraft-more-plugins .udp-box p:last-child {\n\tmargin-bottom: 0;\n\tpadding-bottom: 0;\n}\n\n/*\n\tlinks list\n*/\n.updraft_premium_description_list {\n\ttext-align: left;\n\tmargin: 0;\n\tfont-size: 12px;\n}\n\nul.updraft_premium_description_list, ul#updraft_restore_warnings {\n\tlist-style: disc inside;\n}\n\nul.updraft_premium_description_list li {\n\tdisplay: inline;\n}\n\nul.updraft_premium_description_list li::after {\n\tcontent: \" | \";\n}\n\nul.updraft_premium_description_list li:last-child::after {\n\tcontent: \"\";\n}\n\n.updraft_feature_cell {\n\tbackground-color: #F7D9C9 !important;\n\tpadding: 5px 10px;\n}\n\n.updraftplus_com_login_status, .updraftplus_com_key_status {\n\tdisplay: none;\n\tbackground: #FFF;\n\tborder-left: 4px solid #FFF;\n\tborder-left-color: #DC3232;\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n\tmargin: 5px 0 15px 0;\n\tpadding: 5px 12px;\n}\n\n.updraftplus_com_login_status.success {\n\tborder-left-color: green;\n}\n\n#updraft-wrap strong.success {\n\tcolor: green;\n}\n\n.updraft_feat_table {\n\tborder: none;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n}\n\n.updraft_feat_th, .updraft_feat_table td {\n\tborder: 1px solid #F1F1F1;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n\tpadding: 15px;\n}\n\n.updraft_feat_table td {\n\tborder-bottom-width: 4px;\n}\n\n.updraft_feat_table td:first-child {\n\tborder-left: none;\n}\n\n.updraft_feat_table td:last-child {\n\tborder-right: none;\n}\n\n.updraft_feat_table tr:last-child td {\n\tborder-bottom: none;\n}\n\n.updraft_feat_table td:nth-child(2),\n.updraft_feat_table td:nth-child(3) {\n\tbackground-color: rgba(241, 241, 241, 0.38);\n\twidth: 190px;\n}\n\n.updraft_feat_table__header td img {\n\tdisplay: block;\n\tmargin: 0 auto;\n}\n\n.updraft_feat_table__header td {\n\ttext-align: center;\n}\n\n.updraft_feat_table .installed {\n\tfont-size: 14px;\n}\n\n.updraft_feat_table p {\n\tpadding: 0px 10px;\n\tmargin: 5px 0px;\n\tfont-size: 13px;\n}\n\n.updraft_feat_table h4 {\n\tmargin: 5px 0px;\n}\n\n.updraft_feat_table .dashicons {\n\twidth: 25px;\n\theight: 25px;\n\tfont-size: 25px;\n\tline-height: 1;\n}\n\n.updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes {\n\tcolor: green;\n}\n\n.updraft_feat_table .dashicons-no-alt, .updraft_feat_table .updraft-no {\n\tcolor: red;\n}\n\n.updraft_tick_cell {\n\ttext-align: center;\n}\n\n.updraft_tick_cell img {\n\tmargin: 4px 0;\n\theight: 24px;\n}\n\n.ud_downloadstatus__close {\n\tborder: none;\n\tbackground: transparent;\n\twidth: auto;\n\tfont-size: 20px;\n\tpadding: 0;\n\tcursor: pointer;\n}\n\n#filelist .fileprogress, #filelist2 .fileprogress, .ud_downloadstatus .dlfileprogress, #ud_downloadstatus2 .dlfileprogress, #ud_downloadstatus3 .dlfileprogress {\n\twidth: 0%;\n\tbackground: #0572AA;\n\theight: 8px;\n\ttransition: width .3s;\n}\n\n.ud_downloadstatus .raw, #ud_downloadstatus2 .raw, #ud_downloadstatus3 .raw {\n\tmargin-top: 8px;\n\tclear: left;\n}\n\n.ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tmargin-top: 8px;\n}\n\ndiv[class^=\"updraftplus_downloader_container_\"] {\n\tpadding: 10px;\n}\n\ntr.updraftplusmethod h3 {\n\tmargin: 0px;\n}\n\ntr.updraftplusmethod img {\n\tmax-width: 100%;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete {\n\tcursor: pointer;\n\tcolor: red;\n\tfont-size: 120%;\n\tfont-weight: bold;\n\tborder: 0px;\n\tborder-radius: 3px;\n\tpadding: 2px;\n\tmargin: 0 6px;\n\ttext-decoration: none;\n\tdisplay: inline-block;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover {\n\tcursor: pointer;\n\tcolor: white;\n\tbackground: red;\n}\n\n#updraft_backup_started {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n/* backup finished */\n.blockUI.blockOverlay.ui-widget-overlay {\n\tbackground: #000;\n}\n\n.updraft_success_popup {\n\ttext-align: center;\n\tpadding-bottom: 30px;\n}\n\n.updraft_success_popup > .dashicons {\n\tfont-size: 100px;\n\twidth: 100px;\n\theight: 100px;\n\tline-height: 100px;\n\tpadding: 0px;\n\tborder-radius: 50%;\n\tmargin-top: 30px;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tbackground: #E2E6E5;\n}\n\n.updraft_success_popup > .dashicons.dashicons-yes {\n\ttext-indent: -5px;\n}\n\n.updraft_success_popup.success > .dashicons {\n\tcolor: green;\n}\n\n.updraft_success_popup.warning > .dashicons {\n\tcolor: #888;\n}\n\n.updraft_success_popup--message {\n\tpadding: 20px;\n}\n\n.button.updraft-close-overlay .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n\tmargin-left: -5px;\n\tpadding: 0;\n\ttransform: translatey(3px);\n}\n\n.updraft_saving_popup img {\n\tanimation-name: udp_blink;\n\tanimation-duration: 610ms;\n\tanimation-iteration-count: infinite;\n\tanimation-direction: alternate;\n\tanimation-timing-function: ease-out;\n}\n\n.udp-premium-image {\n\tdisplay: none;\n}\n\n@media screen and (min-width: 720px) {\n\n\t.udp-premium-image {\n\t\tdisplay: block;\n\t\tfloat: left;\n\t\tpadding-right: 5px;\n\t}\n\n}\n\n/* End stuff already in admin.php */\n#plupload-upload-ui2 {\n\twidth: 80%;\n}\n\n.backup-restored {\n\tpadding: 8px;\n}\n\n.updated.backup-restored {\n\tpadding-top: 15px;\n\tpadding-bottom: 15px;\n}\n\n.backup-restored span {\n\tfont-size: 120%;\n}\n\n.memory-limit {\n\tpadding: 8px;\n}\n\n.updraft_list_errors {\n\tpadding: 8px;\n}\n\n/*.nav-tab {\n\tborder-radius: 20px 20px 0 0;\n\tborder-color: grey;\n\tborder-width: 2px;\n\tmargin-top: 34px;\n}\n\n.nav-tab:hover {\n\tborder-bottom: 0;\n}\n\n.nav-tab-active, .nav-tab-active:active {\n\tcolor: #df6926;\n\tborder-color: #D3D3D3;\n\tborder-width: 1px;\n\tborder-bottom: 0;\n}\n\n.nav-tab-active:focus {\n\tcolor: #df6926;\n}*/\n\n.nav-tab-wrapper {\n\tmargin: 14px 0px;\n}\n\n#updraft-poplog-content {\n\twhite-space: pre-wrap;\n}\n\n.next-backup {\n\tborder: 0px;\n\tpadding: 0px;\n\tmargin: 0 10px 0 0;\n}\n\n.not-scheduled {\n\tvertical-align: top !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n}\n\n.next-backup .updraft_scheduled {\n\t/* width: 124px;*/\n\tmargin: 0px;\n\tpadding: 2px 4px 2px 0px;\n}\n\n#next-backup-table-inner td {\n\tvertical-align: top;\n}\n\n.updraft_all-files {\n\tcolor: blue;\n}\n\n.multisite-advert-width {\n\twidth: 800px;\n}\n\n.updraft_settings_sectionheading {\n\tmargin-top: 6px;\n}\n\n.premium-upgrade-prompt {\n\t/* font-size: 115%; */\n}\n\nsection.premium-upgrade-purchase-success {\n\tpadding: 2em;\n\tbackground: #FAFAFA;\n\ttext-align: center;\n\tbox-shadow: 0px 14px 40px rgba(0, 0, 0, 0.1);\n}\n\nsection.premium-upgrade-purchase-success h3 {\n\tfont-size: 2em;\n\tcolor: green;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons {\n\tdisplay: block;\n\tmargin: 0 auto;\n\tfont-size: 60px;\n\twidth: 60px;\n\theight: 60px;\n\tborder-radius: 50%;\n\tbackground: green;\n\tcolor: #FFF;\n\tmargin-bottom: 20px;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons::before {\n\tdisplay: inline-block;\n\tmargin-left: -4px;\n\tmargin-top: 2px;\n}\n\nsection.premium-upgrade-purchase-success p {\n\tfont-size: 120%;\n}\n\n.show_admin_restore_in_progress_notice {\n\tpadding: 8px;\n}\n\n.show_admin_restore_in_progress_notice .unfinished-restoration {\n\tfont-size: 120%;\n}\n\n#backupnow_includefiles_moreoptions, #backupnow_database_moreoptions {\n\tmargin: 4px 16px 6px 16px;\n\tborder: 1px dotted;\n\tpadding: 6px 10px;\n}\n\n#backupnow_database_moreoptions {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n.form-table #updraft_activejobsrow .minimum-height {\n\tmin-height: 100px;\n}\n\n#updraft_activejobsrow th {\n\tmax-width: 112px;\n\tmargin: 0;\n\tpadding: 13px 0 0 0;\n}\n\n#updraft_lastlogmessagerow .last-message {\n\tpadding-top: 20px;\n\tdisplay: block;\n}\n\n.updraft_simplepie {\n\tvertical-align: top;\n}\n\n.download-backups {\n\tmargin-top: 8px;\n}\n\n.download-backups .updraft_download_button {\n\tmargin-right: 6px;\n}\n\n.download-backups .ud-whitespace-warning, .download-backups .ud-bom-warning {\n\tbackground-color: pink;\n\tpadding: 8px;\n\tmargin: 4px;\n\tborder: 1px dotted;\n}\n\n.download-backups .ul {\n\tlist-style: none inside;\n\tmax-width: 800px;\n\tmargin-top: 6px;\n\tmargin-bottom: 12px;\n}\n\n#updraft-plupload-modal {\n\tmargin: 16px 0;\n}\n\n.download-backups .upload {\n\tmax-width: 610px;\n}\n\n.download-backups #plupload-upload-ui {\n\twidth: 100%;\n}\n\n.ud_downloadstatus {\n\tpadding: 10px 0;\n}\n\n#ud_massactions, #updraft-delete-waitwarning {\n\tpadding: 14px;\n\tbackground: rgb(241, 241, 241);\n\tposition: absolute;\n\tleft: 0;\n\ttop: 100%;\n}\n\n#ud_massactions > *, #updraft-delete-waitwarning > * {\n\tvertical-align: middle;\n}\n\n#ud_massactions .updraftplus-remove {\n\tdisplay: inline-block;\n\tmargin-right: 0;\n}\n\n#ud_massactions .updraftplus-remove a {\n\ttext-decoration: none;\n}\n\n#ud_massactions .updraft-viewlogdiv a {\n\ttext-decoration: none;\n\tposition: relative;\n}\n\nsmall.ud_massactions-tip {\n\tdisplay: inline-block;\n\topacity: 0.5;\n\tfont-style: italic;\n\tmargin-left: 20px;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups {\n\tmargin-bottom: 35px;\n\tposition: relative;\n}\n\n#updraft-message-modal-innards {\n\tpadding: 4px;\n}\n\n#updraft-authenticate-modal {\n\ttext-align: center;\n\tfont-size: 16px !important;\n}\n\n#updraft-authenticate-modal p {\n\tfont-size: 16px;\n}\n\n#updraft_delete_form p {\n\tmargin-top: 3px;\n\tpadding-top: 0;\n}\n\n#updraft_restore_form .cannot-restore {\n\tmargin: 8px 0;\n}\n\n.notice.updraft-restore-option {\n\tpadding: 12px;\n\tmargin: 8px 0 4px 0;\n\tborder-left-color: #CCC;\n}\n\n/* updraft_restore_crypteddb */\n#updraft_restorer_dboptions h4 {\n\tmargin: 0px 0px 6px 0px;\n\tpadding: 0px;\n}\n\n.updraft_debugrow th {\n\tvertical-align: top;\n\tpadding-top: 6px;\n\tmax-width: 140px;\n}\n\n.expertmode p {\n\tfont-size: 125%;\n}\n\n.expertmode .call-wp-action {\n\twidth: 300px;\n\theight: 22px;\n}\n\n.updraftplus-lock-advert {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.uncompressed-data {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.delete-old-directories {\n\tpadding: 8px;\n\tpadding-bottom: 12px;\n}\n\n.active-jobs {\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 33px;\n}\n\n.job-id {\n\tmargin-top: 0;\n\tmargin-bottom: 8px;\n}\n\n.next-resumption {\n\tfont-weight: bold;\n}\n\n.updraft_percentage {\n\tz-index: -1;\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 0px;\n\ttext-align: center;\n\tbackground-color: #1D8EC2;\n\ttransition: width 0.3s;\n}\n\n.curstage {\n\tz-index: 1;\n\tborder-radius: 2px;\n\tmargin-top: 8px;\n\twidth: 100%;\n\theight: 26px;\n\tline-height: 26px;\n\tposition: relative;\n\ttext-align: center;\n\tfont-style: italic;\n\tcolor: #FFF;\n\tbackground-color: #B7B7B7;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n}\n\n.curstage-info {\n\tdisplay: inline-block;\n\tz-index: 2;\n}\n\n.retain-files {\n\twidth: 48px;\n}\n\n.backup-interval-description tr td div {\n\tmax-width: 670px;\n}\n\n#updraft-manualdecrypt-modal {\n\twidth: 85%;\n\tmargin: 6px;\n\tmargin-left: 100px;\n}\n\n.directory-permissions {\n\tfont-size: 110%;\n\tfont-weight: bold;\n}\n\n.double-warning {\n\tborder: 1px solid;\n\tpadding: 6px;\n}\n\n.raw-backup-info {\n\tfont-style: italic;\n\tfont-weight: bold;\n\tfont-size: 120%;\n}\n\n.updraft_existingbackup_date {\n\twidth: 22%;\n\tmax-width: 140px;\n}\n\n.updraft_existing_backups_wrapper {\n\tmargin-top: 20px;\n\tborder-top: 1px solid #DDD;\n}\n\n.updraft-no-backups-msg {\n\ttext-align: center;\n}\n\n.tr-bottom-4 {\n\tmargin-bottom: 4px;\n}\n\n.existing-backups-table th {\n\tpadding: 8px 10px;\n}\n\n.form-table .backup-date {\n\twidth: 172px;\n}\n\n.form-table .backup-data {\n\twidth: 426px;\n}\n\n.form-table .updraft_backup_actions {\n\twidth: 272px;\n}\n\n.existing-date {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tmax-width: 140px;\n\twidth: 25%;\n}\n\n.line-break-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.line-break-td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.td-line-color {\n\theight: 2px;\n\tbackground-color: #888;\n}\n\n.raw-backup {\n\tmax-width: 140px;\n}\n\n.existing-backups-actions {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border > td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.existing-backups-border > div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.updraft_existing_backup_date {\n\tmax-width: 140px;\n}\n\n.updraftplus-upload {\n\tmargin-right: 6px;\n\tfloat: left;\n\tclear: none;\n}\n\n.before-restore-button {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.before-restore-button div {\n\tfloat: none;\n\tdisplay: inline-block;\n}\n\n.table-separator-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.table-separator-td {\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n.end-of-table-div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.last-backup-job {\n\tpadding-top: 3% !important;\n}\n\n.line-height-03 {\n\tline-height: 0.3 !important;\n}\n\n.line-height-13 {\n\tline-height: 1.3 !important;\n}\n\n.line-height-23 {\n\tline-height: 2.3 !important;\n}\n\n#updraft_diskspaceused {\n\tcolor: #DF6926;\n}\n\n#updraft_delete_old_dirs_pagediv {\n\tpadding-bottom: 10px;\n}\n\n/*#updraft_lastlogmessagerow > td, #updraft_last_backup > td {\n\tpadding: 0;\n}*/\n\n/* Time + scheduling add-on*/\n.fix-time {\n\twidth: 70px;\n}\n\n.retain-files {\n\twidth: 70px;\n}\n\n.number-input {\n\tmin-width: 50px;\n\tmax-width: 70px;\n}\n\n.additional-rule-width {\n\tmin-width: 60px;\n\tmax-width: 70px;\n}\n\n/* Add-ons */\n/* Want to fix the WordPress icons so that they fit inline with the text, and don't push everything out of place. */\n\n#updraft-wrap .dashicons.dashicons-adapt-size {\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n\n#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size) {\n\tvertical-align: middle;\n\tmargin-top: -3px;\n}\n\n.addon-logo-150 {\n\tmargin-left: 30px;\n\tmargin-top: 33px;\n\theight: 125px;\n\twidth: 150px;\n}\n\n.margin-bottom-50 {\n\tmargin-bottom: 50px;\n}\n\n.premium-container {\n\twidth: 80%;\n}\n\n/* Main Header */\n\n.main-header {\n\tbackground-color: #DF6926;\n\theight: 200px;\n\twidth: 100%;\n}\n\n.button-add-to-cart {\n\tcolor: white;\n\tborder-color: white;\n\tfloat: none;\n\tmargin-right: 17px;\n}\n\n.button-add-to-cart:hover, .button-add-to-cart:focus, .button-add-to-cart:active {\n\tborder-color: #A0A5AA;\n\tcolor: #A0A5AA;\n}\n\n.addon-title {\n\tmargin-top: 25px;\n}\n\n.addon-text {\n\tmargin-top: 75px;\n}\n\n.image-main-div {\n\twidth: 25%;\n\tfloat: left;\n}\n\n.text-main-div {\n\twidth: 60%;\n\tfloat: left;\n\ttext-align: center;\n\tcolor: white;\n\tmargin-top: 16px;\n}\n\n.text-main-div-title {\n\tfont-weight: bold !important;\n\tcolor: white;\n\ttext-align: center;\n}\n\n.text-main-div-paragraph {\n\tcolor: white;\n}\n\n/* End main header */\n\n/* Vault icons */\n\n.updraftplus-vault-cta {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 50px;\n}\n\n.updraftplus-vault-cta h1 {\n\tfont-weight: bold;\n}\n\n.updraftvault-buy {\n\twidth: 225px;\n\theight: 225px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 50px;\n\tposition: relative;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault {\n\twidth: 275px;\n\theight: 275px;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > a {\n\tright: 21%;\n\tfont-size: 16px;\n\tborder-width: 4px !important;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > p {\n\tfont-size: 16px;\n}\n\n.updraftvault-buy .button-purchase {\n\tright: 24%;\n\tmargin-left: 0;\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.right {\n\tmargin-right: 0px;\n}\n\n.updraftvault-buy .addon-logo-100 {\n\theight: 100px;\n\twidth: 125px;\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .addon-logo-large {\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .button-buy-vault {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 29%;\n\tbottom: 2%;\n}\n\n.premium-addon-div .button-purchase {\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy .button-buy-vault:hover {\n\tborder-color: darkgrey;\n\tcolor: darkgrey;\n}\n\n/* End Vault icons */\n\n/* Premium addons */\n\n.premium-addons {\n\tmargin-top: 80px;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.addon-list {\n\t/* margin-left: 32px; */\n\tdisplay: table;\n\ttext-align: center;\n}\n\n.premium-addons h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-addons p {\n\ttext-align: center;\n}\n\n.premium-addons .premium-addon-div {\n\twidth: 200px;\n\theight: 250px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 25px;\n\tmargin-top: 25px;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.premium-addons .premium-addon-div p {\n\tmargin-left: 2px;\n\tmargin-right: 2px;\n}\n\n.premium-addons .premium-addon-div img {\n\twidth: auto;\n\theight: 50px;\n\tmargin-top: 7px;\n}\n\n.premium-addons .premium-addon-div .hr-alignment {\n\tmargin-top: 44px;\n}\n\n.premium-addons .premium-addon-div .dropbox-logo {\n\theight: 39px;\n\twidth: 150px;\n}\n\n.premium-addons .premium-addon-div .azure-logo, .premium-addons .premium-addon-div .onedrive-logo {\n\twidth: 75%;\n\theight: 24px;\n}\n\n.button-purchase {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 25%;\n\tbottom: 2%;\n}\n\n.button-purchase:hover {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n}\n\n.premium-addons .premium-addon-div hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.premium-addon-div p {\n\tfont-style: italic;\n}\n\n.addon-list > .premium-addon-div > .onedrive-fix,\n.addon-list > .premium-addon-div > .azure-logo {\n\tmargin-top: 33px;\n}\n\n.addon-list > .premium-addon-div > .dropbox-fix {\n\tmargin-top: 18px;\n}\n\n/* End premium addons */\n\n\n/* Forgotton something (that is the name of the div rather than a mental note!) */\n\n.premium-forgotton-something {\n\tmargin-top: 5%;\n}\n\n.premium-forgotton-something h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-forgotton-something p {\n\ttext-align: center;\n\tfont-weight: normal;\n}\n\n.premium-forgotton-something .button-faq {\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.premium-forgotton-something .button-faq:hover {\n\tcolor: #777;\n\tborder-color: #777;\n}\n\n/* End of forgotton something */\n\n.updraftplusmethod.updraftvault #vaultlogo {\n\tpadding-left: 40px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option {\n\tfloat: left;\n\twidth: 50%;\n\ttext-align: center;\n\tpadding-bottom: 20px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option div {\n\tclear: right;\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .clear-left {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .padding-top-20px {\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .padding-top-14px {\n\tpadding-top: 14px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {\n\tfont-size: 18px !important;\n\tpadding-bottom: 20px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {\n\tmargin-top: 8px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_connect input {\n\tmargin-right: 10px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_email {\n\twidth: 280px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_pass {\n\twidth: 200px;\n}\n\n.updraftplusmethod.updraftvault #vault-is-connected {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default p {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-container {\n\ttext-align: center;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option {\n\twidth: 40%;\n\ttext-align: center;\n\tpadding-top: 20px;\n\tdisplay: inline-block;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-size {\n\tfont-size: 200%;\n\tfont-weight: bold;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-link {\n\tclear: both;\n\tfont-size: 150%;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-or {\n\tclear: both;\n\tfont-size: 115%;\n\tfont-style: italic;\n}\n\n/* Automation Backup Advert by B */\n.autobackup-image {\n/* \tdisplay: inline-block; */\n/*\tmin-width: 10%;\n\tmax-width:25%;*/\n/*\tfloat: left;*/\n\tclear: left;\n\tfloat: left;\n\twidth: 110px;\n\theight: 110px;\n}\n\n.autobackup-description {\n\twidth: 100%;\n}\n\n.advert-description {\n\tfloat: left;\n\tclear: right;\n\tpadding: 4px 10px 8px 10px;\n\twidth: 70%;\n\tclear: right;\n\tvertical-align: top;\n}\n\n.advert-btn {\n\tdisplay: inline-block;\n\tmin-width: 10%;\n\tvertical-align: top;\n\tmargin-bottom: 8px;\n}\n\n.advert-btn:first-of-type {\n\tmargin-top: 25px;\n}\n\n.advert-btn a {\n\tdisplay: block;\n\tcursor: pointer;\n}\n\na.btn-get-started {\n\tbackground: #FFF;\n\tborder: 2px solid #DF6926;\n\tborder-radius: 4px;\n\tcolor: #DF6926;\n\tdisplay: inline-block;\n\tmargin-left: 10px !important;\n\tmargin-bottom: 7px !important;\n\tfont-size: 18px !important;\n\tline-height: 20px;\n\tmin-height: 28px;\n\tpadding: 11px 10px 5px 10px;\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n}\n\n.circle-dblarrow {\n\tborder: 1px solid #DF6926;\n\tborder-radius: 100%;\n\tdisplay: inline-block;\n\tfont-size: 17px;\n\tline-height: 17px;\n\tmargin-left: 5px;\n\twidth: 20px;\n\theight: 20px;\n\ttext-align: center;\n}\n\n/* End Automation Backup Advert by B */\n/* New Responsive Pretty Advanced Settings */\n.expertmode .advanced_settings_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu {\n\tfloat: none;\n\tborder-bottom: 1px solid rgb(204, 204, 204);\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content {\n\tpadding-top: 5px;\n\tfloat: none;\n\twidth: auto;\n\toverflow: auto;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content h3:first-child {\n\tmargin-top: 5px !important;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools {\n\tdisplay: none;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .site_info {\n\tdisplay: block;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tpadding: 5px;\n\tcolor: #000;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text {\n\tfont-size: 16px;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover {\n\tbackground-color: #EAEAEA;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active {\n\tbackground-color: #3498DB;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active:hover {\n\tbackground-color: #72C5FD;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content input#import_settings {\n\theight: auto !important;\n}\n\ndiv#updraft-wrap a {\n\tcursor: pointer !important;\n}\n\n.updraftcentral_wizard_option {\n\twidth: 45%;\n\tfloat: left;\n\ttext-align: center;\n}\n\n.updraftcentral_wizard_option label {\n\tmargin-bottom: 8px;\n}\n\n#updraftcentral_keys_table {\n\tdisplay: none;\n}\n\n.create_key_container {\n\tborder: 1px solid;\n\tborder-radius: 4px;\n\tpadding: 0 0 6px 6px;\n\tmargin-bottom: 8px;\n}\n\n.updraftcentral_cloud_connect {\n\tborder-radius: 4px;\n\tborder: 1px solid #000;\n\tpadding: 0 20px;\n\tmargin-top: 30px;\n\tbackground-color: #FFF;\n}\n\n.updraftcentral_cloud_error {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #F00;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_info {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #EF8F31;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftplus_spinner.spinner {\n\tpadding-left: 25px;\n\tfloat: none;\n}\n\n.updraftplus_spinner.spinner.visible {\n\tvisibility: visible;\n\twidth: auto;\n}\n\n.updraftcentral_cloud_notices .updraftplus_spinner {\n\tmargin-top: -5px;\n}\n\n.updraftcentral-subheading {\n\tfont-size: 14px;\n\tmargin-top: -10px;\n\tmargin-bottom: 20px;\n}\n\n#updraftcentral_cloud_form input#email,\n#updraftcentral_cloud_form input#password {\n\tmin-width: 250px;\n}\n\n.updraftcentral-data-consent {\n\tfont-size: 13px;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_wizard_image {\n\tfloat: left;\n\tmin-width: 100px;\n\tmargin-right: 25px;\n}\n\n.updraftcentral_cloud_wizard {\n\tfloat: left;\n}\n\n.updraftcentral_cloud_clear {\n\tclear: both;\n}\n\n.updraftplus-settings-footer {\n\tmargin-top: 30px;\n}\n\n.updraftplus-top-menu {\n\tpadding: 0.5em;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\tbackground: transparent;\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: none;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_row {\n\tflex-direction: column;\n\tpadding-left: 20px;\n\tpadding-right: 20px;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container {\n\twidth: 100%;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\toverflow: inherit;\n}\n\n#updraft_inpage_backup span#updraft_lastlogcontainer {\n\tpadding: 18px;\n\tbackground: #FAFAFA;\n\tdisplay: block;\n\tfont-size: 90%;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup div#updraft_activejobsrow {\n\tbackground: #FAFAFA;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow > div {\n\tbackground: transparent;\n\tpadding: 0;\n}\n\n#updraft_inpage_backup .last-message > strong {\n\tdisplay: block;\n\tmargin-top: 13px;\n}\n\n/* Restoration page */\n\n.updraft_restore_container {\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 99999;\n\tpadding-top: 30px;\n\tbackground: #F1F1F1;\n\toverflow: auto;\n}\n\n.updraft-modal-is-opened .select2-container {\n\tz-index: 99999;\n}\n\nbody.updraft-modal-is-opened {\n\toverflow: hidden;\n}\n\n.updraft_restore_container h2 {\n\tmargin: 0;\n}\n\n.updraft_restore_container .updraftmessage {\n\tbox-sizing: border-box;\n\tmax-width: 860px;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.updraft_restore_main {\n\tmax-width: 860px;\n\tmargin: 0 auto;\n\tmargin-top: 20px;\n\tbackground: #FFF;\n\tbox-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--header {\n\tfont-size: 20px;\n\tfont-weight: bold;\n\ttext-align: center;\n\tpadding-top: 16px;\n\tline-height: 20px;\n\twidth: 100%;\n\tmax-width: 100%;\n\tpadding-right: 30px;\n\tpadding-left: 30px;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity {\n\tposition: relative;\n\twidth: calc(100% - 350px);\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity-title {\n\tpadding: 20px;\n\tmargin: 0;\n}\n\n.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title {\n\tdisplay: none;\n}\n\n.updraft_restore_main--components {\n\twidth: 350px;\n\tpadding: 20px;\n\tbox-sizing: border-box;\n\tbackground: #F8F8F8;\n\tmin-height: 350px;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\tbackground: #23282D;\n\tcolor: #E3E3E3;\n\tfont-family: monospace;\n\tpadding: 19px;\n\toverflow: auto;\n\tposition: absolute;\n\ttop: 60px;\n\tbottom: 0;\n\tright: 0;\n\tleft: 0;\n}\n\n#updraftplus_ajax_restore_output form {\n\twhite-space: normal;\n\tfont-family: -apple-system, blinkmacsystemfont, \"Segoe UI\", roboto, oxygen-sans, ubuntu, cantarell, \"Helvetica Neue\", sans-serif;\n}\n\n#updraftplus_ajax_restore_output .updraft_restore_errors {\n\tborder: 1px solid #DC3232;\n\tpadding: 10px 20px;\n\twhite-space: normal;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2 {\n\tcolor: #00A0D2;\n\tpadding-top: 10px;\n\tpadding-bottom: 5px;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output {\n\tpadding: 20px;\n\tborder-left: 1px solid #EEE;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th {\n\tpadding-bottom: 0;\n}\n\n.updraft_restore_main.show-credentials-form .updraft_restore_main--components {\n\topacity: 0.2;\n}\n\n.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p {\n\tmargin: 0;\n\tlist-style-type: disc;\n\tdisplay: list-item;\n\tlist-style-position: inside;\n}\n\n.restore-credential-errors > :first-child {\n\tmargin-top: 0;\n}\n\n.restore-credential-errors > :last-child {\n\tmargin-bottom: 0;\n}\n\nul.updraft_restore_components_list li {\n\tcolor: #BABABA;\n\tfont-size: 1.2em;\n\tmargin-bottom: 1em;\n}\n\nul.updraft_restore_components_list li::before {\n\tcontent: '\\f469';\n\tfont-family: dashicons;\n\tfont-size: 20px;\n\tvertical-align: middle;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\nul.updraft_restore_components_list li span {\n\tvertical-align: middle;\n}\n\nul.updraft_restore_components_list li.done {\n\tcolor: green;\n}\n\nul.updraft_restore_components_list li.done::before {\n\tcontent: \"\\f147\";\n}\n\nul.updraft_restore_components_list li.active {\n\tcolor: inherit;\n}\n\nul.updraft_restore_components_list li.active::before {\n\tcontent: \"\\f463\";\n\tanimation: udp_rotate 1s linear infinite;\n}\n\nul.updraft_restore_components_list li.error {\n\tcolor: #DC3232;\n}\n\nul.updraft_restore_components_list li.error::before {\n\tcontent: \"\\f335\";\n}\n\n.updraft_restore_result {\n\tpadding: 10px 0;\n\tfont-size: 1.3em;\n\tmargin-bottom: 1em;\n\tvertical-align: middle;\n\tdisplay: none;\n}\n\n.updraft_restore_result.restore-error {\n\tcolor: #DC3232;\n}\n\n.updraft_restore_result.restore-success {\n\tcolor: green;\n}\n\n.updraft_restore_result .dashicons {\n\tfont-size: 35px;\n\theight: 35px;\n\tline-height: 33px;\n\twidth: 35px;\n}\n\n.updraft_restore_result span {\n\tvertical-align: middle;\n}\n\n/* Restore modal */\n\n#updraft-restore-modal {\n\twidth: 100%;\n}\n\ndiv#updraft-restore-modal .notice {\n\tbackground: #F8F8F8;\n}\n\n.updraft-restore-modal--stage .updraft--two-halves,\n.updraft-restore-modal--stage .updraft--one-half {\n\tpadding: 20px 30px;\n}\n\n.updraft-restore-modal--header {\n\tpadding: 20px;\n\tpadding-bottom: 0px;\n\ttext-align: center;\n\tborder-bottom: 1px solid #EEE;\n}\n\n.updraft-restore-modal--header h3 {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-restore-item {\n\tpadding-bottom: 4px;\n}\n\n.updraft-restore-buttons {\n\tpadding-top: 10px;\n}\n\nul.updraft-restore--stages {\n\tdisplay: inline-block;\n\tmargin: 0;\n\theight: 28px;\n}\n\nul.updraft-restore--stages li {\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: 12px;\n\theight: 12px;\n\tbackground: #D2D2D2;\n\tborder-radius: 20px;\n\tline-height: 1;\n\tmargin: 0 4px;\n\tvertical-align: middle;\n}\n\nul.updraft-restore--stages li.active {\n\tbackground: #444;\n}\n\n.updraft-restore--footer {\n\tborder-top: 1px solid #EEE;\n\tpadding: 20px;\n\ttext-align: center;\n\tposition: sticky;\n\tbottom: 0;\n\tbackground: #FFF;\n\twidth: 100%;\n\tbox-sizing: border-box;\n}\n\n.updraft-restore--footer .updraft-restore--cancel {\n\tposition: absolute;\n\tleft: 20px;\n\ttop: auto;\n}\n\n.updraft-restore--footer .updraft-restore--next-step {\n\tposition: absolute;\n\tright: 20px;\n\ttop: auto;\n}\n\nul.updraft-restore--stages li span {\n\tposition: absolute;\n\twidth: 120px;\n\tbottom: calc(100% + 14px);\n\tleft: -55px;\n\tbackground: #000000DB;\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\tborder-radius: 4px;\n\tcolor: #FFF;\n\ttext-align: center;\n\tdisplay: none;\n}\n\nul.updraft-restore--stages li:hover span {\n\tdisplay: inline-block;\n}\n\n.updraft-restore-item input[type=checkbox] {\n\tmargin-bottom: -5px;\n}\n\n.updraft-restore-item input[type=checkbox]:checked + label {\n\tfont-weight: bold;\n}\n\n/* Hide close button on download window */\ndiv#updraft-restore-modal .ud_downloadstatus__close {\n\tdisplay: none;\n}\n\n#ud_downloadstatus2:not(:empty) {\n\tmargin-top: 15px;\n}\n\n.dashicons.rotate {\n\tanimation: udp_rotate 1s linear infinite;\n}\n\n/* Activity stalled */\n\nspan#updraftplus_ajax_restore_last_activity {\n\tfont-size: .8rem;\n\tfont-weight: normal;\n\tfloat: right;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice {\n\tmargin: -20px -20px 20px;\n\tpadding: 19px;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button {\n\tmargin-right: 5px;\n}\n\n@media only screen and (min-width: 1024px) {\n\n\t#updraft_activejobsrow .updraft_row {\n\t\tdisplay: flex;\n\t\talign-items: baseline;\n\t}\n\n\t#updraft_activejobsrow .updraft_row .updraft_col {\n\t\tflex: auto;\n\t}\n\n\t#updraft_activejobsrow .updraft_progress_container {\n\t\twidth: calc(100% - 230px);\n\t}\n\n}\n\n@media only screen and (min-width: 782px) {\n\n\t.settings_page_updraftplus input[type=text],\n\t.settings_page_updraftplus input[type=password],\n\t.settings_page_updraftplus input[type=number] {\n\t\t/* border-radius: 4px; */\n\t\tline-height: 1.42;\n\t\t/* border: 1px solid #CCC; */\n\t\theight: 27px;\n\t\tpadding: 2px 6px;\n\t\tcolor: #555;\n\t}\n\n\t.settings_page_updraftplus input[type=\"number\"] {\n\t\theight: 31px;\n\t}\n\n\t#ud_massactions.active, #updraft-delete-waitwarning.active {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tleft: 160px;\n\t\tright: 0;\n\t\ttop: auto;\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t\tbox-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n\t}\n\n\tbody.folded #ud_massactions.active, body.folded #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n\t.updraft-after-form-table {\n\t\tmargin-left: 250px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label {\n\t\tcolor: #FFF;\n\t}\n\n}\n\n@media only screen and (min-width: 782px) and (max-width: 960px) {\n\n\tbody.auto-fold #ud_massactions.active, body.auto-fold #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n}\n\n@media only screen and (max-width: 782px) {\n\n\t#updraft-wrap {\n\t\tmargin-right: 0;\n\t}\n\n\t#updraft-wrap .form-table td {\n\t\tpadding-right: 0;\n\t}\n\n\tlabel.updraft_checkbox {\n\t\tmargin-bottom: 8px;\n\t\tmargin-top: 8px;\n\t\tmargin-left: 36px;\n\t}\n\n\t.updraft_retain_rules {\n\t\tposition: relative;\n\t\tmargin-right: 0;\n\t\tborder: 1px solid #CCC;\n\t\tpadding: 5px;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t.updraft_retain_rules_delete {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 5px;\n\t}\n\n\ta[id*=updraft_retain_] {\n\t\tdisplay: block;\n\t\tpadding: 15px 15px 15px 0;\n\t}\n\n\tlabel.updraft_checkbox > input[type=checkbox] {\n\t\tmargin-left: -33px;\n\t}\n\n\t#updraft-backupnow-button {\n\t\tmargin: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > .updraft_backup_btn_wrapper {\n\t\tpadding-top: 0;\n\t}\n\n\t#ud_massactions, #updraft-delete-waitwarning {\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t}\n\n\t#ud_massactions.active {\n\t\tposition: fixed;\n\t\ttop: auto;\n\t\tbottom: 0;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t\tbox-shadow: 0 -3px 15px rgba(0, 0, 0, 0.08);\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t}\n\n\t#ud_massactions strong {\n\t\tdisplay: block;\n\t\tmargin-bottom: 5px;\n\t}\n\n\tsmall.ud_massactions-tip {\n\t\tdisplay: block;\n\t}\n\n/*\t.advert-description {\n\t\tmin-width: 75%;\n\t\tmargin-bottom: 5px;\n\t}\n\n\t.advert-btn {\n\t\tmargin-top: 15px;\n\t\tmargin-left:86px;\n\t\tmin-width: 100%;\n\t}*/\n\n\t.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\t\tfont-weight: normal;\n\t}\n\n\t.existing-backups-table .backup_date_label .clear-right {\n\t\tdisplay: inline-block;\n\t}\n\n\ttable.widefat.existing-backups-table {\n\t\tborder: 0;\n\t\tbox-shadow: none;\n\t\tbackground: transparent;\n\t}\n\n\t.existing-backups-table thead {\n\t\tborder: none;\n\t\tclip: rect(0 0 0 0);\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\toverflow: hidden;\n\t\tpadding: 0;\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\t.existing-backups-table tr {\n\t\tdisplay: block;\n\t\tmargin-bottom: .625em;\n\t\tpadding-bottom: 16.625px;\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t\tbackground: #FFF;\n\t\tbox-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);\n\t}\n\n\t.existing-backups-table td {\n\t\tborder-bottom: 1px solid #DDD;\n\t\tdisplay: block;\n\t\tfont-size: .9em;\n\t\ttext-align: left;\n\t\twidth: 100%;\n\t\tpadding: 10px;\n\t\tmargin: 0;\n\t}\n\n\t.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before {\n\t\t/*\n\t\t* aria-label has no advantage, it won't be read inside a table\n\t\tcontent: attr(aria-label);\n\t\t*/\n\t\tcontent: attr(data-label);\n\t\tfont-weight: bold;\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tleft: auto;\n\t\tpadding-bottom: 10px;\n\t\twidth: auto;\n\t\ttext-align: left;\n\t}\n\n\t.existing-backups-table td:last-child {\n\t\tborder-bottom: 0;\n\t}\n\n\t.form-table td.updraft_existingbackup_date {\n\t\twidth: inherit;\n\t\tmax-width: 100%;\n\t}\n\n\t.existing-backups-table td.before-restore-button {\n\t\tmin-height: 36px;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t\twidth: 100%;\n\t}\n\n\t.updraft_progress_container {\n\t\t/* width: 77%; */\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row {\n\t\tposition: relative;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected {\n\t\tbackground-color: #FFF;\n\t\tborder-left: 4px solid #0572AA;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select) {\n\t\tmargin-left: 50px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select {\n\t\twidth: 50px !important;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\tbox-sizing: border-box;\n\t\theight: 100%;\n\t\tz-index: 1;\n\t\tborder: none;\n\t\tborder-right: 1px solid rgba(0, 0, 0, 0.05);\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups input[type=\"checkbox\"] {\n\t\theight: 25px;\n\t}\n\n\t.updraft_migrate_intro button.button.button-primary.button-hero {\n\t\tdisplay: block;\n\t\tmargin-right: 0;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t}\n\n\t.updraftclone-main-row {\n\t\tflex-direction: column;\n\t}\n\n\t.updraftclone-main-row > div {\n\t\twidth: auto;\n\t\tmax-width: none;\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n\t.form-table th {\n\t\tpadding-bottom: 10px;\n\t}\n\n\t.updraft--flex {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main {\n\t\tflex-wrap: wrap;\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main--components {\n\t\twidth: 100%;\n\t\tmin-height: 0;\n\t}\n\n\t.updraft_restore_main--activity {\n\t\twidth: 100%;\n\t}\n\n\tdiv#updraftplus_ajax_restore_output,\n\t.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\t\tposition: relative;\n\t\ttop: 0;\n\t\tbottom: auto;\n\t}\n\n\t.updraft--flex > .updraft--two-halves,\n\t.updraft--flex > .updraft--one-half {\n\t\twidth: 100%;\n\t}\n\n\t.updraft-restore-item {\n\t\tpadding-bottom: 10px;\n\t\tpadding-top: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 600px) {\n\t\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t}\n\n\t.updraft_next_scheduled_entity {\n\t\tfloat: none;\n\t\twidth: 100%;\n\t\tmargin-bottom: 2em;\n\t}\n\n\t.updraft_time_now_wrapper {\n\t\tmargin-top: 0;\n\t}\n\n\t#updraft_lastlogmessagerow h3 {\n\t\tmargin-bottom: 5px;\n\t}\n\n\t#updraft_lastlogmessagerow .updraft-log-link {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 520px) {\n}\n\n@media only screen and (min-width: 768px) {\n\n\t.addon-activation-notice {\n\t\tleft: 20em;\n\t}\n\n\t.existing-backups-table tbody tr.range-selection:hover, .existing-backups-table tbody tr.range-selection {\n\t\tbackground: #0572AA; /* #2b7fd9 */\n\t}\n\n\t.existing-backups-table tbody tr:hover {\n\t\tbackground: #F1F1F1;\n\t}\n\n\t.existing-backups-table tbody tr td.before-restore-button {\n\t\tposition: relative;\n\t}\n\n\t.form-table .existing-backups-table thead th.check-column {\n\t\tpadding-left: 6px;\n\t}\n\n\t.existing-backups-table tr td:first-child {\n\t\tborder-left: 4px solid transparent;\n\t}\n\n\t.existing-backups-table tr.backuprowselected td:first-child {\n\t\tborder-left-color: #0572AA;\n\t}\n\n}\n\n@media screen and (min-width: 670px) {\n\t\n\t.expertmode .advanced_settings_container .advanced_settings_menu {\n\t\tfloat: left;\n\t\twidth: 215px;\n\t\tborder-right: 1px solid rgb(204, 204, 204);\n\t\tborder-bottom: none;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_content {\n\t\tpadding-left: 10px;\n\t\tpadding-top: 0px;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\t\tdisplay: block;\n\t}\n\n}\n\n@media only screen and (max-width: 1068px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: calc(50% - 10px);\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: 100px;\n\t}\n\n}\n\n@media only screen and (max-width: 600px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: 100%;\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: auto;\n\t}\n\n\ttable.updraft_feat_table {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table tr {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\ttable.updraft_feat_table td {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table td:first-child {\n\t\twidth: 100%;\n\t\tborder-bottom: none;\n\t}\n\n\ttable.updraft_feat_table td:not(:first-child) {\n\t\twidth: 50%;\n\t\tbox-sizing: border-box;\n\t}\n\n\ttable.updraft_feat_table td:first-child:empty {\n\t\tdisplay: none;\n\t}\n\n\ttd[data-colname]::before {\n\t\tcontent: attr(data-colname);\n\t\tfont-size: 0.8rem;\n\t\tcolor: #CCC;\n\t\tline-height: 1;\n\t}\n\n}\n"]}
|
1 |
+
{"version":3,"sources":["css/updraftplus-admin.css"],"names":[],"mappings":"AAAA;;CAEC;EACC,WAAW;EACX,oBAAoB;EACpB;;CAED;EACC,aAAa;EACb,uBAAuB;EACvB;;CAED;;AAED;;CAEC;EACC,qBAAqB;EACrB;;CAED;EACC,0BAA0B;EAC1B;;CAED;;AAED,uBAAuB;AACvB;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,oBAAgB;KAAhB,gBAAgB;CAChB;;AAED;CACC,YAAQ;KAAR,QAAQ;CACR,uBAAuB;CACvB;;AAED;CACC,WAAW;CACX,eAAW;KAAX,WAAW;CACX;;AAED;CACC,YAAY;CACZ,eAAW;KAAX,WAAW;CACX;;AAED;CACC,oBAAoB;CACpB;;AAED,2BAA2B;;AAE3B,kBAAkB;AAClB;CACC,sBAAsB;CACtB;;AAED;CACC,kBAAkB;CAClB;;AAED,sBAAsB;AACtB,eAAe;AACf;CACC,mBAAmB;CACnB;;AAED,sBAAsB;AACtB,aAAa;AACb;CACC,sBAAsB;CACtB;;AAED,oBAAoB;;AAEpB;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,uCAAuC;CACvC;;AAED;CACC,sBAAsB;CACtB;;AAED;;CAEC,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED,iBAAiB;AACjB;CACC,eAAe;CACf,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED,iBAAiB;AACjB;CACC,aAAa;CACb;;AAED;CACC,qBAAqB;CACrB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,mBAAmB;CACnB,gBAAgB;CAChB;;AAED;;CAEC,iBAAiB;CACjB,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED,qBAAqB;;AAErB,kBAAkB;AAClB;CACC,kBAAkB;CAClB,oBAAoB;CACpB,oBAAoB;CACpB,gBAAgB;CAChB,kBAAkB;CAClB,oBAAoB;CACpB,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB,wBAAwB;CACxB,mBAAmB;CACnB,kBAAkB;CAClB,qBAAqB;CACrB,yBAAyB;CACzB,uBAAuB;CACvB,mBAAmB;CACnB,mBAAmB;CACnB,kBAAkB;CAClB,qBAAqB;CACrB,eAAe;CACf,sBAAsB;CACtB;;AAED;CACC,gCAAgC;CAChC,yBAAyB;CACzB;;AAED;CACC,kBAAkB;CAClB,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB;;AAED;CACC,sBAAsB;CACtB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf;;AAED;;EAEE;;AAEF;CACC,cAAc;CACd;;AAED,gBAAgB;;AAEhB;CACC,qBAAc;CAAd,cAAc;CACd;;AAED;CACC,oBAAoB;CACpB,cAAc;CACd,oBAAoB;CACpB,mBAAmB;CACnB,iBAAiB;CACjB;;AAED;CACC,UAAU;CACV;;AAED;CACC,oBAAoB;CACpB,cAAc;CACd,oBAAoB;CACpB,YAAQ;KAAR,QAAQ;CACR;;AAED;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf;;AAED,yBAAyB;AACzB;CACC,cAAc;CACd,mBAAmB;CACnB,SAAS;CACT,OAAO;CACP,aAAa;CACb,4BAA4B;CAC5B,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,2BAAuB;KAAvB,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ,8BAAiB;KAAjB,iBAAiB;CACjB;;AAED;;CAEC,YAAY;CACZ;;AAED;;CAEC;EACC,wBAAoB;MAApB,oBAAoB;EACpB,oBAAgB;MAAhB,gBAAgB;EAChB;;CAED;EACC,6BAAgB;MAAhB,gBAAgB;EAChB;;CAED;;EAEC,aAAa;EACb;;CAED;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,oBAAoB;CACpB,cAAc;CACd,mBAAmB;CACnB,oBAAoB;CACpB;;AAED,sBAAsB;AACtB;CACC,YAAY;CACZ,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,oBAAoB;CACpB,uBAAuB;CACvB;;AAED;CACC,oBAAoB;CACpB;;AAED;;CAEC,aAAa;CACb;;AAED,oBAAoB;AACpB;CACC,gBAAgB;CAChB,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED,qCAAqC;AACrC;CACC,oBAAoB;CACpB,aAAa;CACb,kBAAkB;CAClB,kBAAkB;CAClB,qBAAqB;CACrB;;AAED;CACC,aAAa;CACb;;AAED;CACC,WAAW;CACX;;AAED,aAAa;;AAEb;CACC,sBAAsB;CACtB;;AAED;;;CAGC,sBAAsB;CACtB,eAAe;CACf;;AAED;CACC,yBAAyB;CACzB,gCAAgC;CAChC;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB,iBAAiB;CACjB,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd;;AAED;;CAEC,cAAc;CACd;;AAED,6BAA6B;AAC7B;CACC,mBAAmB;CACnB,qBAAc;CAAd,cAAc;CACd,2BAAsB;KAAtB,sBAAsB;CACtB,8BAAsB;KAAtB,sBAAsB;CACtB,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB,oBAAoB;CACpB,8BAA8B;CAC9B;;AAED;;CAEC,cAAc;CACd,kBAAkB;CAClB,aAAa;CACb,UAAU;CACV;;AAED;CACC,sBAAsB;CACtB,kBAAkB;CAClB,6BAA6B;CAC7B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,UAAU;CACV;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB,oBAAoB;CACpB,eAAe;CACf,aAAa;CACb,kBAAkB;CAClB,qBAAqB;CACrB,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,mBAAmB;CACnB,WAAW;CACX,qBAAqB;CACrB;;AAED;;EAEE;AACF;CACC,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB,UAAU;CACV,iBAAiB;CACjB,oBAAoB;CACpB,qBAAqB;CACrB;;AAED;CACC,qBAAqB;CACrB;;AAED;CACC,+BAA+B;CAC/B;;AAED;CACC,6BAA6B;CAC7B;;AAED;CACC,WAAW;CACX,WAAW;CACX;;AAED;CACC,cAAc;CACd,oFAAoF;CACpF,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,WAAW;CACX;;AAED;CACC,oBAAoB;CACpB,iCAAiC;CACjC,iDAAiD;CACjD;;AAED;CACC,wGAAwG;CACxG;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,kEAAkE;CAClE,WAAW;CACX;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,iBAAiB;CACjB,8BAAsB;KAAtB,sBAAsB;CACtB,oBAAgB;KAAhB,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,iBAAiB;CACjB,aAAa;CACb,yBAAyB;CACzB,cAAc;CACd,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,+BAA+B;CAC/B,sBAAwB;KAAxB,wBAAwB;CACxB,uBAAoB;KAApB,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd;;AAED;CACC,cAAc;CACd;;AAED;CACC,aAAa;CACb,kCAAkC;CAClC,0BAA0B;CAC1B;;AAED;CACC,oBAAoB;CACpB,YAAY;CACZ,UAAU;CACV,mBAAmB;CACnB;;AAED;;CAEC,cAAc;CACd;;AAED;CACC,sBAAsB;CACtB,oBAAoB;CACpB,iBAAiB;CACjB,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B,mBAAmB;CACnB,0FAA0F;CAC1F,iBAAiB;CACjB;;AAED;CACC,sBAAsB;CACtB,oBAAoB;CACpB,gBAAgB;CAChB,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,sBAAsB;CACtB,YAAY;CACZ;;GAEE;CACF;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ;;AAED;CACC,sBAAsB;CACtB,aAAa;CACb;;AAED;CACC,oBAAoB;CACpB,4BAA4B;CAC5B,+BAA+B;CAC/B,YAAY;CACZ,gBAAgB;CAChB,0CAA0C;CAC1C;;AAED;CACC,oBAAoB;CACpB,6BAA6B;CAC7B,gCAAgC;CAChC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd;;AAED;CACC,YAAY;CACZ,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,oBAAoB;CACpB,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,oBAAoB;CACpB,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB;;AAED;CACC,YAAY;CACZ,qBAAqB;CACrB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB,YAAY;CACZ,kBAAkB;CAClB,oBAAoB;CACpB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,WAAW;CACX,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,eAAe;CACf,sBAAsB;CACtB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,uBAAuB;CACvB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,gBAAgB;CAChB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB,0BAA0B;CAC1B,yBAAyB;CACzB,YAAY;CACZ,eAAe;CACf;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB,WAAW;CACX;;AAED;CACC,uBAAuB;CACvB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB;;AAED,sBAAsB;;AAEtB,4BAA4B;;AAE5B;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ,oBAAoB;CACpB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,cAAc;CACd,YAAY;CACZ;;AAED;CACC,aAAa;CACb,mBAAmB;CACnB,WAAW;CACX;;AAED;;CAEC,kBAAkB;CAClB,gBAAgB;CAChB,oBAAoB;CACpB,cAAc;CACd,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB,mBAAmB;CACnB,eAAe;CACf;;AAED;;CAEC,sBAAsB;CACtB,iBAAiB;CACjB;;AAED;;;CAGC,yBAAyB;CACzB,iBAAiB;CACjB;;AAED;;CAEC;;EAEC,sBAAsB;EACtB;;CAED;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB,iBAAiB;CACjB,eAAe;CACf,aAAa;CACb,kBAAkB;CAClB;;AAED;;;CAGC,eAAe;CACf;;AAED;CACC,eAAe;CACf,kBAAkB;CAClB,gBAAgB;CAChB,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,cAAc;CACd;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,mBAAmB;CACnB;;AAED;;CAEC,cAAc;CACd,cAAc;CACd,uBAAuB;CACvB,mBAAmB;CACnB;;AAED;;;CAGC,aAAa;CACb,iBAAiB;CACjB,aAAa;CACb,wBAAwB;CACxB,mBAAmB;CACnB,SAAS;CACT,WAAW;CACX,gBAAgB;CAChB;;AAED;CACC,eAAe;CACf;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,eAAe;CACf,yBAAyB;CACzB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ;;AAED,mCAAmC;;AAEnC;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB;;AAED;;CAEC,0BAA0B;CAC1B;;AAED;CACC,0BAA0B;CAC1B;;AAED;CACC,cAAc;CACd;;AAED;CACC,8BAA8B;CAC9B,aAAa;CACb,eAAe;CACf,2BAA2B;CAC3B,gBAAgB;CAChB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,4BAA4B;CAC5B,8BAA8B;CAC9B,2BAA2B;CAC3B,iBAAiB;CACjB,iBAAiB;CACjB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,aAAa;CACb,aAAa;CACb,8BAA8B;CAC9B;;AAED;CACC,+BAA+B;CAC/B;;AAED;CACC,aAAa;CACb,kBAAkB;CAClB,kBAAkB;CAClB,mBAAmB;CACnB,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,uBAAuB;CACvB;;AAED;CACC,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,sBAAsB;CACtB,YAAY;CACZ,aAAa;CACb,iBAAiB;CACjB,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB,kBAAkB;CAClB,0CAA0C;CAC1C;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB,aAAa;CACb,yCAAyC;CACzC,aAAa;CACb,qBAAqB;CACrB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,cAAc;CACd,+BAA+B;CAC/B,uBAAuB;CACvB,uBAAuB;CACvB;;AAED;CACC,cAAc;CACd,iBAAiB;CACjB,mBAAmB;CACnB,0CAA0C;CAC1C,eAAe;CACf;;AAED;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf;;AAED,mBAAmB;;AAEnB,oEAAoE;AACpE;;CAEC,wBAAwB;CACxB;;AAED;;CAEC,gCAAgC;CAChC;;AAED;;CAEC,+BAA+B;CAC/B;;AAED;;CAEC,wBAAwB;CACxB;;AAED,+BAA+B;AAC/B;CACC,mBAAmB;CACnB,cAAc;CACd,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,gBAAgB;CAChB;;AAED;CACC,cAAc;CACd,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB,YAAY;CACZ,YAAY;CACZ,eAAe;CACf;;AAED,8BAA8B;AAC9B;CACC,mBAAmB;CACnB,cAAc;CACd,YAAY;CACZ,uBAAuB;CACvB,oBAAoB;CACpB,mBAAmB;CACnB,gBAAgB;CAChB,yCAAyC;CACzC;;AAED;CACC,aAAa;CACb,YAAY;CACZ,aAAa;CACb,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB,OAAO;CACP,WAAW;CACX,2BAA2B;CAC3B,4BAA4B;CAC5B,0CAA0C;CAC1C;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,cAAc;CACd;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,YAAY;CACZ,eAAe;CACf;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,2BAA2B;CAC3B,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd;;AAED;CACC,kBAAkB;CAClB;;AAED;;CAEC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,aAAa;CACb,8BAA8B;CAC9B,YAAY;CACZ,YAAY;CACZ,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb,0BAA0B;CAC1B,sBAAsB;CACtB,4BAA4B;CAC5B;;AAED;;CAEC,mBAAmB;CACnB,YAAY;CACZ,iBAAiB;CACjB;;AAED,mDAAmD;AACnD;CACC,eAAe;CACf,0BAA0B;CAC1B,mBAAmB;CACnB,yBAAyB;CACzB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,oBAAoB;CACpB,2CAA2C;CAC3C;;AAED;CACC,wBAAwB;CACxB,cAAc;CACd;;AAED;CACC,oBAAoB;CACpB,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,uBAAuB;CACvB,cAAc;CACd;;AAED;CACC,oBAAoB;CACpB;;AAED;;EAEE;AACF;CACC,iBAAiB;CACjB,iBAAiB;CACjB,WAAW;CACX,+BAA+B;CAC/B;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,wBAAwB;CACxB,0BAA0B;CAC1B,mBAAmB;CACnB;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB,mBAAmB;CACnB,eAAe;CACf;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,qBAAc;CAAd,cAAc;CACd,uBAAoB;KAApB,oBAAoB;CACpB,uBAA+B;KAA/B,+BAA+B;CAC/B,mBAAmB;CACnB;;AAED;CACC,oBAAoB;CACpB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,iBAAiB;CACjB,eAAe;CACf,UAAU;CACV,mBAAmB;CACnB,wBAAwB;CACxB,eAAe;CACf;;AAED;CACC,YAAY;CACZ;;AAED;;CAEC;EACC,2BAAuB;MAAvB,uBAAuB;EACvB,mBAAmB;EACnB,uBAAoB;MAApB,oBAAoB;EACpB;;CAED;EACC,gBAAgB;EAChB,oBAAoB;EACpB;;CAED;;AAED;;EAEE;AACF;CACC,iBAAiB;CACjB,cAAc;CACd,yCAAyC;CACzC,mBAAmB;CACnB;;AAED;CACC,UAAU;CACV;;AAED;CACC,4BAAmB;KAAnB,2BAAmB;KAAnB,mBAAmB;CACnB,iBAAiB;CACjB,iBAAiB;CACjB;;AAED;;EAEE;AACF;CACC,qBAAc;CAAd,cAAc;CACd,wBAAoB;KAApB,oBAAoB;CACpB,oBAAgB;KAAhB,gBAAgB;CAChB,uBAA+B;KAA/B,+BAA+B;CAC/B,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,uBAAuB;CACvB,WAAW;CACX;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB;;AAED;;EAEE;AACF;CACC,iBAAiB;CACjB,UAAU;CACV,gBAAgB;CAChB;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,eAAe;CACf;;AAED;CACC,YAAY;CACZ;;AAED;CACC,qCAAqC;CACrC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd,iBAAiB;CACjB,4BAA4B;CAC5B,2BAA2B;CAC3B,uCAAuC;CACvC,qBAAqB;CACrB,kBAAkB;CAClB;;AAED;CACC,yBAAyB;CACzB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb,0BAA0B;CAC1B,gBAAgB;CAChB,wBAAwB;CACxB,mBAAmB;CACnB;;AAED;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,gBAAgB;CAChB,wBAAwB;CACxB,mBAAmB;CACnB,cAAc;CACd;;AAED;CACC,yBAAyB;CACzB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,oBAAoB;CACpB;;AAED;;CAEC,4CAA4C;CAC5C,aAAa;CACb;;AAED;CACC,eAAe;CACf,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,kBAAkB;CAClB,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,gBAAgB;CAChB,eAAe;CACf;;AAED;CACC,aAAa;CACb;;AAED;CACC,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,aAAa;CACb;;AAED;CACC,aAAa;CACb,wBAAwB;CACxB,YAAY;CACZ,gBAAgB;CAChB,WAAW;CACX,gBAAgB;CAChB;;AAED;CACC,UAAU;CACV,oBAAoB;CACpB,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,gBAAgB;CAChB,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,cAAc;CACd;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,WAAW;CACX,gBAAgB;CAChB,kBAAkB;CAClB,YAAY;CACZ,mBAAmB;CACnB,aAAa;CACb,cAAc;CACd,sBAAsB;CACtB,sBAAsB;CACtB;;AAED;CACC,gBAAgB;CAChB,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,gBAAgB;CAChB,kBAAkB;CAClB,cAAc;CACd,YAAY;CACZ;;AAED,qBAAqB;AACrB;CACC,iBAAiB;CACjB;;AAED;CACC,mBAAmB;CACnB,qBAAqB;CACrB;;AAED;CACC,iBAAiB;CACjB,aAAa;CACb,cAAc;CACd,mBAAmB;CACnB,aAAa;CACb,mBAAmB;CACnB,iBAAiB;CACjB,eAAe;CACf,kBAAkB;CAClB,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,YAAY;CACZ;;AAED;CACC,cAAc;CACd;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB,kBAAkB;CAClB,WAAW;CACX,2BAA2B;CAC3B;;AAED;CACC,0BAA0B;CAC1B,0BAA0B;CAC1B,oCAAoC;CACpC,+BAA+B;CAC/B,oCAAoC;CACpC;;AAED;CACC,cAAc;CACd;;AAED;;CAEC;EACC,eAAe;EACf,YAAY;EACZ,mBAAmB;EACnB;;CAED;;AAED,oCAAoC;AACpC;CACC,WAAW;CACX;;AAED;CACC,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB,qBAAqB;CACrB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;;AAEH;CACC,iBAAiB;CACjB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,+BAA+B;CAC/B,uBAAuB;CACvB,wBAAwB;CACxB;;AAED;CACC,kBAAkB;CAClB,YAAY;CACZ,yBAAyB;CACzB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,mBAAmB;CACnB,6CAA6C;CAC7C;;AAED;CACC,eAAe;CACf,aAAa;CACb;;AAED;CACC,eAAe;CACf,eAAe;CACf,gBAAgB;CAChB,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB,YAAY;CACZ,oBAAoB;CACpB;;AAED;CACC,sBAAsB;CACtB,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,iBAAiB;CACjB,UAAU;CACV,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,uBAAuB;CACvB,aAAa;CACb,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,wBAAwB;CACxB,iBAAiB;CACjB,gBAAgB;CAChB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,cAAc;CACd,+BAA+B;CAC/B,mBAAmB;CACnB,QAAQ;CACR,UAAU;CACV;;AAED;CACC,uBAAuB;CACvB;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,sBAAsB;CACtB,mBAAmB;CACnB;;AAED;CACC,sBAAsB;CACtB,aAAa;CACb,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,oBAAoB;CACpB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED;CACC,mBAAmB;CACnB,2BAA2B;CAC3B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf;;AAED;CACC,cAAc;CACd;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB,wBAAwB;CACxB;;AAED,+BAA+B;AAC/B;CACC,wBAAwB;CACxB,aAAa;CACb;;AAED;CACC,kBAAkB;CAClB,eAAe;CACf;;AAED;CACC,oBAAoB;CACpB,iBAAiB;CACjB,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,aAAa;CACb,aAAa;CACb;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,qBAAqB;CACrB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,cAAc;CACd;;AAED;CACC,cAAc;CACd,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB,UAAU;CACV,SAAS;CACT,mBAAmB;CACnB,0BAA0B;CAC1B,uBAAuB;CACvB;;AAED;CACC,WAAW;CACX,mBAAmB;CACnB,gBAAgB;CAChB,YAAY;CACZ,aAAa;CACb,kBAAkB;CAClB,mBAAmB;CACnB,mBAAmB;CACnB,mBAAmB;CACnB,YAAY;CACZ,0BAA0B;CAC1B,0CAA0C;CAC1C;;AAED;CACC,sBAAsB;CACtB,WAAW;CACX;;AAED;CACC,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB,aAAa;CACb;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB,2BAA2B;CAC3B;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CAGC,uBAAuB;CACvB,iBAAiB;CACjB,WAAW;CACX;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB,YAAY;CACZ,YAAY;CACZ;;AAED;CACC,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,sBAAsB;CACtB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,4BAA4B;CAC5B;;AAED;CACC,eAAe;CACf;;AAED;CACC,qBAAqB;CACrB;;AAED;;GAEG;;AAEH,6BAA6B;AAC7B;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,gBAAgB;CAChB;;AAED,aAAa;AACb,oHAAoH;;AAEpH;CACC,qBAAqB;CACrB,mBAAmB;CACnB;;AAED;CACC,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB,iBAAiB;CACjB,cAAc;CACd,aAAa;CACb;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,WAAW;CACX;;AAED,iBAAiB;;AAEjB;CACC,0BAA0B;CAC1B,cAAc;CACd,YAAY;CACZ;;AAED;CACC,aAAa;CACb,oBAAoB;CACpB,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,sBAAsB;CACtB,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,WAAW;CACX,YAAY;CACZ;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB,aAAa;CACb,iBAAiB;CACjB;;AAED;CACC,6BAA6B;CAC7B,aAAa;CACb,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED,qBAAqB;;AAErB,iBAAiB;;AAEjB;CACC,YAAY;CACZ,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,sBAAsB;CACtB,eAAe;CACf,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,cAAc;CACd;;AAED;CACC,WAAW;CACX,gBAAgB;CAChB,6BAA6B;CAC7B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,WAAW;CACX,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,mBAAmB;CACnB,WAAW;CACX,WAAW;CACX;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,uBAAuB;CACvB,gBAAgB;CAChB;;AAED,qBAAqB;;AAErB,oBAAoB;;AAEpB;CACC,iBAAiB;CACjB,YAAY;CACZ,eAAe;CACf,eAAe;CACf;;AAED;CACC,wBAAwB;CACxB,eAAe;CACf,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,sBAAsB;CACtB,eAAe;CACf,mBAAmB;CACnB,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,aAAa;CACb,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,aAAa;CACb,aAAa;CACb;;AAED;CACC,WAAW;CACX,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,mBAAmB;CACnB,WAAW;CACX,WAAW;CACX;;AAED;CACC,gBAAgB;CAChB,uBAAuB;CACvB;;AAED;CACC,YAAY;CACZ,uBAAuB;CACvB,iBAAiB;CACjB;;AAED;CACC,mBAAmB;CACnB;;AAED;;CAEC,iBAAiB;CACjB;;AAED;CACC,iBAAiB;CACjB;;AAED,wBAAwB;;;AAGxB,mFAAmF;;AAEnF;CACC,eAAe;CACf;;AAED;CACC,mBAAmB;CACnB,kBAAkB;CAClB;;AAED;CACC,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf,sBAAsB;CACtB,eAAe;CACf,eAAe;CACf;;AAED;CACC,YAAY;CACZ,mBAAmB;CACnB;;AAED,gCAAgC;;AAEhC;CACC,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ,WAAW;CACX,mBAAmB;CACnB,qBAAqB;CACrB;;AAED;CACC,aAAa;CACb,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,aAAa;CACb;;AAED;CACC,aAAa;CACb;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,YAAY;CACZ;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,WAAW;CACX,mBAAmB;CACnB,kBAAkB;CAClB,sBAAsB;CACtB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB;;AAED;CACC,YAAY;CACZ,gBAAgB;CAChB,mBAAmB;CACnB;;AAED,mCAAmC;AACnC;AACA,6BAA6B;AAC7B;iBACiB;AACjB,iBAAiB;CAChB,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd;;AAED;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ,aAAa;CACb,2BAA2B;CAC3B,WAAW;CACX,aAAa;CACb,oBAAoB;CACpB;;AAED;CACC,sBAAsB;CACtB,eAAe;CACf,oBAAoB;CACpB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB;;AAED;CACC,iBAAiB;CACjB,0BAA0B;CAC1B,mBAAmB;CACnB,eAAe;CACf,sBAAsB;CACtB,6BAA6B;CAC7B,8BAA8B;CAC9B,2BAA2B;CAC3B,kBAAkB;CAClB,iBAAiB;CACjB,4BAA4B;CAC5B,0BAA0B;CAC1B,sBAAsB;CACtB;;AAED;CACC,0BAA0B;CAC1B,oBAAoB;CACpB,sBAAsB;CACtB,gBAAgB;CAChB,kBAAkB;CAClB,iBAAiB;CACjB,YAAY;CACZ,aAAa;CACb,mBAAmB;CACnB;;AAED,uCAAuC;AACvC,6CAA6C;AAC7C;CACC,aAAa;CACb,iBAAiB;CACjB;;AAED;CACC,YAAY;CACZ,4CAA4C;CAC5C;;AAED;CACC,iBAAiB;CACjB,YAAY;CACZ,YAAY;CACZ,eAAe;CACf;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,cAAc;CACd;;AAED;CACC,eAAe;CACf;;AAED;CACC,sBAAsB;CACtB,gBAAgB;CAChB,aAAa;CACb,YAAY;CACZ;;AAED;CACC,gBAAgB;CAChB;;AAED;CACC,0BAA0B;CAC1B;;AAED;CACC,0BAA0B;CAC1B,YAAY;CACZ;;AAED;CACC,0BAA0B;CAC1B,YAAY;CACZ;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,2BAA2B;CAC3B;;AAED;CACC,WAAW;CACX,YAAY;CACZ,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd;;AAED;CACC,kBAAkB;CAClB,mBAAmB;CACnB,qBAAqB;CACrB,mBAAmB;CACnB;;AAED;CACC,mBAAmB;CACnB,uBAAuB;CACvB,gBAAgB;CAChB,iBAAiB;CACjB,uBAAuB;CACvB;;AAED;CACC,uBAAuB;CACvB,kBAAkB;CAClB,4BAA4B;CAC5B,uBAAuB;CACvB,oBAAoB;CACpB;;AAED;CACC,uBAAuB;CACvB,kBAAkB;CAClB,+BAA+B;CAC/B,uBAAuB;CACvB,oBAAoB;CACpB;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ;;AAED;CACC,oBAAoB;CACpB,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB,oBAAoB;CACpB;;AAED;;CAEC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ,iBAAiB;CACjB,mBAAmB;CACnB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,YAAY;CACZ;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf;;AAED;CACC,wBAAwB;CACxB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,2BAAuB;KAAvB,uBAAuB;CACvB,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,YAAY;CACZ;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB,eAAe;CACf,eAAe;CACf,2CAA2C;CAC3C;;AAED;CACC,oBAAoB;CACpB,2CAA2C;CAC3C;;AAED;CACC,wBAAwB;CACxB,WAAW;CACX;;AAED;CACC,eAAe;CACf,iBAAiB;CACjB;;AAED,sBAAsB;;AAEtB;CACC,eAAe;CACf,gBAAgB;CAChB,OAAO;CACP,QAAQ;CACR,SAAS;CACT,UAAU;CACV,eAAe;CACf,kBAAkB;CAClB,oBAAoB;CACpB,eAAe;CACf;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,UAAU;CACV;;AAED;CACC,uBAAuB;CACvB,iBAAiB;CACjB,kBAAkB;CAClB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,eAAe;CACf,iBAAiB;CACjB,iBAAiB;CACjB,yCAAyC;CACzC,mBAAmB;CACnB,qBAAc;CAAd,cAAc;CACd,oBAAgB;KAAhB,gBAAgB;CAChB,uBAAuB;CACvB;;AAED;CACC,gBAAgB;CAChB,kBAAkB;CAClB,mBAAmB;CACnB,kBAAkB;CAClB,kBAAkB;CAClB,YAAY;CACZ,gBAAgB;CAChB,oBAAoB;CACpB,mBAAmB;CACnB,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,0BAA0B;CAC1B,uBAAuB;CACvB;;AAED;CACC,cAAc;CACd,UAAU;CACV;;AAED;CACC,cAAc;CACd;;AAED;CACC,aAAa;CACb,cAAc;CACd,uBAAuB;CACvB,oBAAoB;CACpB,kBAAkB;CAClB;;AAED;CACC,oBAAoB;CACpB,eAAe;CACf,uBAAuB;CACvB,cAAc;CACd,eAAe;CACf,mBAAmB;CACnB,UAAU;CACV,UAAU;CACV,SAAS;CACT,QAAQ;CACR;;AAED;CACC,oBAAoB;CACpB,iIAAiI;CACjI;;AAED;CACC,0BAA0B;CAC1B,mBAAmB;CACnB,oBAAoB;CACpB;;AAED;CACC,eAAe;CACf,kBAAkB;CAClB,oBAAoB;CACpB;;AAED;CACC,cAAc;CACd,4BAA4B;CAC5B;;AAED;CACC,eAAe;CACf,gBAAgB;CAChB;;AAED;;CAEC,kBAAkB;CAClB;;AAED;CACC,aAAa;CACb;;AAED;CACC,UAAU;CACV,sBAAsB;CACtB,mBAAmB;CACnB,4BAA4B;CAC5B;;AAED;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB;;AAED;CACC,iBAAiB;CACjB,uBAAuB;CACvB,gBAAgB;CAChB,uBAAuB;CACvB,sBAAsB;CACtB,kBAAkB;CAClB;;AAED;CACC,uBAAuB;CACvB;;AAED;CACC,aAAa;CACb;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB,yCAAyC;CACzC;;AAED;CACC,eAAe;CACf;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,gBAAgB;CAChB,iBAAiB;CACjB,mBAAmB;CACnB,uBAAuB;CACvB,cAAc;CACd;;AAED;CACC,eAAe;CACf;;AAED;CACC,aAAa;CACb;;AAED;CACC,gBAAgB;CAChB,aAAa;CACb,kBAAkB;CAClB,YAAY;CACZ;;AAED;CACC,uBAAuB;CACvB;;AAED,mBAAmB;;AAEnB;CACC,YAAY;CACZ;;AAED;CACC,oBAAoB;CACpB;;AAED;;CAEC,mBAAmB;CACnB;;AAED;CACC,cAAc;CACd,oBAAoB;CACpB,mBAAmB;CACnB,8BAA8B;CAC9B;;AAED;CACC,UAAU;CACV,WAAW;CACX;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED;CACC,sBAAsB;CACtB,UAAU;CACV,aAAa;CACb;;AAED;CACC,sBAAsB;CACtB,mBAAmB;CACnB,YAAY;CACZ,aAAa;CACb,oBAAoB;CACpB,oBAAoB;CACpB,eAAe;CACf,cAAc;CACd,uBAAuB;CACvB;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,2BAA2B;CAC3B,cAAc;CACd,mBAAmB;CACnB,yBAAiB;CAAjB,iBAAiB;CACjB,UAAU;CACV,iBAAiB;CACjB,YAAY;CACZ,uBAAuB;CACvB;;AAED;CACC,mBAAmB;CACnB,WAAW;CACX,UAAU;CACV;;AAED;CACC,mBAAmB;CACnB,YAAY;CACZ,UAAU;CACV;;AAED;CACC,mBAAmB;CACnB,aAAa;CACb,0BAA0B;CAC1B,YAAY;CACZ,mCAAsB;CACtB,aAAa;CACb,uBAAuB;CACvB,mBAAmB;CACnB,YAAY;CACZ,mBAAmB;CACnB,cAAc;CACd;;AAED;CACC,sBAAsB;CACtB;;AAED;CACC,oBAAoB;CACpB;;AAED;CACC,kBAAkB;CAClB;;AAED,0CAA0C;AAC1C;CACC,cAAc;CACd;;AAED;CACC,iBAAiB;CACjB;;AAED;CACC,yCAAyC;CACzC;;AAED,sBAAsB;;AAEtB;CACC,iBAAiB;CACjB,oBAAoB;CACpB,aAAa;CACb;;AAED;CACC,yBAAyB;CACzB,cAAc;CACd;;AAED;CACC,kBAAkB;CAClB;;AAED;;CAEC;EACC,qBAAc;EAAd,cAAc;EACd,yBAAsB;MAAtB,sBAAsB;EACtB;;CAED;EACC,eAAW;MAAX,WAAW;EACX;;CAED;EACC,0BAA0B;EAC1B;;CAED;;AAED;;CAEC;;;EAGC,yBAAyB;EACzB,kBAAkB;EAClB,6BAA6B;EAC7B,aAAa;EACb,iBAAiB;EACjB,YAAY;EACZ;;CAED;EACC,aAAa;EACb;;CAED;EACC,gBAAgB;EAChB,UAAU;EACV,YAAY;EACZ,SAAS;EACT,UAAU;EACV,iBAAiB;EACjB,WAAW;EACX,wCAAwC;EACxC;;CAED;EACC,WAAW;EACX;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,YAAY;EACZ;;CAED;;AAED;;CAEC;EACC,WAAW;EACX;;CAED;;AAED;;CAEC;EACC,gBAAgB;EAChB;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,mBAAmB;EACnB,gBAAgB;EAChB,kBAAkB;EAClB;;CAED;EACC,mBAAmB;EACnB,gBAAgB;EAChB,uBAAuB;EACvB,aAAa;EACb,oBAAoB;EACpB;;CAED;EACC,mBAAmB;EACnB,SAAS;EACT,SAAS;EACT;;CAED;EACC,eAAe;EACf,0BAA0B;EAC1B;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,UAAU;EACV,eAAe;EACf,YAAY;EACZ;;CAED;EACC,eAAe;EACf;;CAED;EACC,YAAY;EACZ,uBAAuB;EACvB,mBAAmB;EACnB;;CAED;EACC,gBAAgB;EAChB,UAAU;EACV,UAAU;EACV,YAAY;EACZ,uBAAuB;EACvB,mBAAmB;EACnB,4CAA4C;EAC5C,iBAAiB;EACjB,WAAW;EACX;;CAED;EACC,eAAe;EACf,mBAAmB;EACnB;;CAED;EACC,eAAe;EACf;;AAEF;;;;;;;;;IASI;;CAEH;EACC,oBAAoB;EACpB;;CAED;EACC,sBAAsB;EACtB;;CAED;EACC,UAAU;EACV,iBAAiB;EACjB,wBAAwB;EACxB;;CAED;EACC,aAAa;EACb,oBAAoB;EACpB,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,WAAW;EACX,mBAAmB;EACnB,WAAW;EACX,WAAW;EACX,UAAU;EACV;;CAED;EACC,eAAe;EACf,sBAAsB;EACtB,yBAAyB;EACzB,YAAY;EACZ,WAAW;EACX,UAAU;EACV,oBAAoB;EACpB,iBAAiB;EACjB,yCAAyC;EACzC;;CAED;EACC,8BAA8B;EAC9B,eAAe;EACf,gBAAgB;EAChB,iBAAiB;EACjB,YAAY;EACZ,cAAc;EACd,UAAU;EACV;;CAED;EACC;;;IAGE;EACF,0BAA0B;EAC1B,kBAAkB;EAClB,eAAe;EACf,mBAAmB;EACnB,WAAW;EACX,qBAAqB;EACrB,YAAY;EACZ,iBAAiB;EACjB;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,eAAe;EACf,gBAAgB;EAChB;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,YAAY;EACZ;;CAED;EACC,iBAAiB;EACjB;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,uBAAuB;EACvB,+BAA+B;EAC/B;;CAED;EACC,kBAAkB;EAClB;;CAED;EACC,uBAAuB;EACvB,mBAAmB;EACnB,QAAQ;EACR,OAAO;EACP,uBAAuB;EACvB,aAAa;EACb,WAAW;EACX,aAAa;EACb,4CAA4C;EAC5C;;CAED;EACC,aAAa;EACb;;CAED;EACC,eAAe;EACf,gBAAgB;EAChB,YAAY;EACZ,gBAAgB;EAChB;;CAED;EACC,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,YAAY;EACZ,gBAAgB;EAChB,gBAAgB;EAChB,oBAAoB;EACpB;;CAED;EACC,qBAAqB;EACrB;;CAED;EACC,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,oBAAgB;MAAhB,gBAAgB;EAChB,2BAAuB;MAAvB,uBAAuB;EACvB;;CAED;EACC,YAAY;EACZ,cAAc;EACd;;CAED;EACC,YAAY;EACZ;;CAED;;EAEC,mBAAmB;EACnB,OAAO;EACP,aAAa;EACb;;CAED;;EAEC,YAAY;EACZ;;CAED;EACC,qBAAqB;EACrB,kBAAkB;EAClB;;CAED;;AAED;;CAEC;EACC;;CAED;EACC,YAAY;EACZ,YAAY;EACZ,mBAAmB;EACnB;;CAED;EACC,cAAc;EACd;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,eAAe;EACf,YAAY;EACZ,UAAU;EACV,oBAAoB;EACpB;;CAED;;AAED;CACC;;AAED;;CAEC;EACC,WAAW;EACX;;CAED;EACC,oBAAoB,CAAC,aAAa;EAClC;;CAED;EACC,oBAAoB;EACpB;;CAED;EACC,mBAAmB;EACnB;;CAED;EACC,kBAAkB;EAClB;;CAED;EACC,mCAAmC;EACnC;;CAED;EACC,2BAA2B;EAC3B;;CAED;;AAED;;CAEC;EACC,YAAY;EACZ,aAAa;EACb,2CAA2C;EAC3C,oBAAoB;EACpB;;CAED;EACC,mBAAmB;EACnB,iBAAiB;EACjB;;CAED;EACC,eAAe;EACf;;CAED;;AAED;;CAEC;EACC,wBAAwB;EACxB,oBAAoB;EACpB;;CAED;EACC,aAAa;EACb;;CAED;;AAED;;CAEC;EACC,YAAY;EACZ,oBAAoB;EACpB;;CAED;EACC,YAAY;EACZ;;CAED;EACC,eAAe;EACf;;CAED;EACC,qBAAc;EAAd,cAAc;EACd,oBAAgB;MAAhB,gBAAgB;EAChB;;CAED;EACC,eAAe;EACf;;CAED;EACC,YAAY;EACZ,oBAAoB;EACpB;;CAED;EACC,WAAW;EACX,uBAAuB;EACvB;;CAED;EACC,cAAc;EACd;;CAED;EACC,4BAA4B;EAC5B,kBAAkB;EAClB,YAAY;EACZ,eAAe;EACf;;CAED","file":"updraftplus-admin.min.css","sourcesContent":["@keyframes udp_blink {\n\n\tfrom {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t}\n\n\tto {\n\t\topacity: 0.4;\n\t\ttransform: scale(0.85);\n\t}\n\n}\n\n@keyframes udp_rotate {\n\n\tfrom {\n\t\ttransform: rotate(0);\n\t}\n\n\tto {\n\t\ttransform: rotate(360deg);\n\t}\n\n}\n\n/* Widths and sizing */\n.max-width-600 {\n\tmax-width: 600px;\n}\n\n.max-width-700 {\n\tmax-width: 700px;\n}\n\n.width-900 {\n\tmax-width: 900px;\n}\n\n.width-80 {\n\twidth: 80%;\n}\n\n.updraft--flex {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n}\n\n.updraft--flex > * {\n\tflex: 1;\n\tbox-sizing: border-box;\n}\n\n.updraft--flex > .updraft--one-half {\n\twidth: 50%;\n\tflex: auto;\n}\n\n.updraft--flex > .updraft--two-halves {\n\twidth: 100%;\n\tflex: auto;\n}\n\n.updraft-color--very-light-grey {\n\tbackground: #F8F8F8;\n}\n\n/* End widths and sizing */\n\n/* Font styling */\n.no-decoration {\n\ttext-decoration: none;\n}\n\n.bold {\n\tfont-weight: bold;\n}\n\n/* End font styling */\n/* Alignment */\n.center-align-td {\n\ttext-align: center;\n}\n\n/* End of Alignment */\n/* Padding */\n.remove-padding {\n\tpadding: 0 !important;\n}\n\n/* End of padding */\n\n.updraft-text-center {\n\ttext-align: center;\n}\n\n.autobackup {\n\tpadding: 6px;\n\tmargin: 8px 0px;\n}\n\nul .disc {\n\tlist-style: disc inside;\n}\n\n.dashicons-log-fix {\n\tdisplay: inherit;\n}\n\n.udpdraft__lifted {\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n}\n\n#updraft-wrap a .dashicons {\n\ttext-decoration: none;\n}\n\n.updraft-field-description,\ntable.form-table td p.updraft-field-description {\n\tfont-size: 90%;\n\tline-height: 1.2;\n\tfont-style: italic;\n\tmargin-bottom: 5px;\n}\n\n/* Input boxes */\nlabel.updraft_checkbox {\n\tdisplay: block;\n\tmargin-bottom: 4px;\n\tmargin-left: 26px;\n}\n\nlabel.updraft_checkbox > input[type=checkbox] {\n\tmargin-left: -25px;\n}\n\ndiv[id*=\"updraft_include_\"] {\n\tmargin-bottom: 9px;\n}\n\n/* Input boxes */\n.settings_page_updraftplus input[type=\"file\"] {\n\tborder: none;\n}\n\n.settings_page_updraftplus .wipe_settings {\n\tpadding-bottom: 10px;\n}\n\n.settings_page_updraftplus input[type=\"text\"] {\n\tfont-size: 14px;\n}\n\n.settings_page_updraftplus select {\n\tborder-radius: 4px;\n\tmax-width: 100%;\n}\n\ninput.updraft_input--wide,\ntextarea.updraft_input--wide {\n\tmax-width: 442px;\n\twidth: 100%;\n}\n\n#updraft-wrap .button-large {\n\tfont-size: 1.3em;\n}\n\n/* End input boxes */\n\n/* Main Buttons */\n.main-dashboard-buttons {\n\tborder-width: 4px;\n\tborder-radius: 12px;\n\tletter-spacing: 0px;\n\tfont-size: 17px;\n\tfont-weight: bold;\n\tpadding-left: 0.7em;\n\tpadding-right: 2em;\n\tpadding: 0.3em 1em;\n\tline-height: 1.7em;\n\tbackground: transparent;\n\tposition: relative;\n\tborder: 2px solid;\n\ttransition: all 0.2s;\n\tvertical-align: baseline;\n\tbox-sizing: border-box;\n\ttext-align: center;\n\tline-height: 1.3em;\n\tmargin-left: .3em;\n\ttext-transform: none;\n\tline-height: 1;\n\ttext-decoration: none;\n}\n\n.button-restore {\n\tborder-color: rgb(98, 158, 192);\n\tcolor: rgb(98, 158, 192);\n}\n\n.dashboard-main-sizing {\n\tborder-width: 4px;\n\twidth: 190px;\n\tline-height: 1.7em;\n}\n\np.updraftplus-option {\n\tmargin-top: 0;\n\tmargin-bottom: 5px;\n}\n\np.updraftplus-option-inline {\n\tdisplay: inline-block;\n\tpadding-right: 20px;\n}\n\nspan.updraftplus-option-label {\n\tdisplay: block;\n}\n\n/*\n* MIGRATE - CLONE\n*/\n\n#updraft-navtab-migrate-content .postbox {\n\tpadding: 18px;\n}\n\n/* Clone Rows */\n\n.updraftclone-main-row {\n\tdisplay: flex;\n}\n\n.updraftclone-tokens {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tmargin-right: 20px;\n\tmax-width: 300px;\n}\n\n.updraftclone-tokens p {\n\tmargin: 0;\n}\n\n.updraftclone_action_box {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 10px;\n\tflex: 1;\n}\n\n.updraftclone_action_box p:first-child {\n\tmargin-top: 0;\n}\n\n.updraftclone_action_box p:last-child {\n\tmargin-bottom: 0;\n}\n\n.updraftclone_action_box #ud_downloadstatus3 {\n\tmargin-top: 10px;\n}\n\nspan.tokens-number {\n\tfont-size: 46px;\n\tdisplay: block;\n}\n\n/* Clone header button */\n.button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n\theight: 100%;\n\tborder-left: 1px solid #CCC;\n\tpadding-left: 10px;\n\tpadding-right: 10px;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_container {\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box {\n\tmargin-right: 20px;\n\twidth: 100%;\n\tflex-basis: 100%;\n}\n\n.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\tfloat: none;\n}\n\n@media (min-width: 1024px) {\n\n\t.updraft_migrate_widget_temporary_clone_stage0_container {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box {\n\t\tflex-basis: 45%;\n\t}\n\n\t.updraft_migrate_widget_temporary_clone_stage0_box iframe,\n\t.updraft_migrate_widget_temporary_clone_stage0_box a.udp-replace-with-iframe--js {\n\t\tfloat: right;\n\t}\n\n}\n\n.updraft_migrate_widget_temporary_clone_show_stage0 .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n}\n\n.opened .button.updraft_migrate_widget_temporary_clone_show_stage0 {\n\tdisplay: inline-block;\n}\n\n.opened .updraft_migrate_widget_temporary_clone_stage0 {\n\tbackground: #F5F5F5;\n\tpadding: 20px;\n\tborder-radius: 8px;\n\tmargin-bottom: 21px;\n}\n\n/* Clone list table */\n.clone-list {\n\tclear: both;\n\twidth: 100%;\n\tmargin-top: 40px;\n}\n\n.clone-list table {\n\twidth: 100%;\n\ttext-align: left;\n}\n\n.clone-list table tr th {\n\tbackground: #E4E4E4;\n}\n\n.clone-list table tr td {\n\tbackground: #F5F5F5;\n\tword-break: break-word;\n}\n\n.clone-list table tr:nth-child(odd) td {\n\tbackground: #FAFAFA;\n}\n\n.clone-list table td,\n.clone-list table th {\n\tpadding: 6px;\n}\n\n/* Clone Progress */\n.updraftplus-clone .updraft_row {\n\tpadding-left: 0;\n\tpadding-right: 0;\n}\n\nbutton#updraft_migrate_createclone + .updraftplus_spinner {\n\tmargin-top: 13px;\n}\n\n/* Clone - Show step 1 info button */\n.button.button-hero.updraftclone_show_step_1 {\n\twhite-space: normal;\n\theight: auto;\n\tline-height: 14px;\n\tpadding-top: 10px;\n\tpadding-bottom: 10px;\n}\n\n.button.button-hero.updraftclone_show_step_1 span.dashicons {\n\theight: auto;\n}\n\n.updraftplus_clone_status {\n\tcolor: red;\n}\n\n/* MIGRATE */\n\na.updraft_migrate_add_site--trigger span.dashicons {\n\ttext-decoration: none;\n}\n\n.button-restore:hover, .button-migrate:hover, .button-backup:hover,\n.button-view-log:hover, .button-mass-selectors:hover,\n.button-delete:hover, .button-entity-backup:hover, .udp-button-primary:hover {\n\tborder-color: #DF6926;\n\tcolor: #DF6926;\n}\n\n.button-migrate {\n\tcolor: rgb(238, 169, 32);\n\tborder-color: rgb(238, 169, 32);\n}\n\n#updraft_migrate_tab_main {\n\tpadding: 8px;\n}\n\n.updraft_migrate_widget_module_content {\n\tbackground: #FFF;\n\tborder-radius: 0;\n\tposition: relative;\n}\n\nbody.js #updraft_migrate .updraft_migrate_widget_module_content {\n\tdisplay: none;\n}\n\n.updraft_migrate_widget_module_content > h3,\ndiv[class*=\"updraft_migrate_widget_temporary_clone_stage\"] > h3 {\n\tmargin-top: 0;\n}\n\n/* Migrate / Clone headers */\n.updraft_migrate_widget_module_content header {\n\tposition: relative;\n\tdisplay: flex;\n\talign-content: center;\n\tjustify-items: center;\n\tmargin-top: -18px;\n\tmargin-left: -18px;\n\tmargin-right: -18px;\n\tmargin-bottom: 15px;\n\tborder-bottom: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content header h3,\n.updraft_migrate_widget_module_content header button.button.close {\n\tpadding: 10px;\n\tline-height: 20px;\n\theight: auto;\n\tmargin: 0;\n}\n\n.updraft_migrate_widget_module_content button.button.close {\n\ttext-decoration: none;\n\tpadding-left: 5px;\n\tborder-right: 1px solid #CCC;\n}\n\n.updraft_migrate_widget_module_content button.button.close .dashicons {\n\tmargin-top: 1px;\n}\n\n.updraft_migrate_widget_module_content header h3 {\n\tmargin: 0;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero {\n\tmax-width: 235px;\n\tword-wrap: normal;\n\twhite-space: normal;\n\tline-height: 1;\n\theight: auto;\n\tpadding-top: 13px;\n\tpadding-bottom: 13px;\n\ttext-align: left;\n\tposition: relative;\n\tmargin-right: 10px;\n\tmargin-bottom: 10px;\n}\n\n.updraft_migrate_intro button.button.button-primary.button-hero .dashicons {\n\tposition: absolute;\n\tleft: 10px;\n\ttop: calc(50% - 8px);\n}\n\n/*\njquery UI Accordion module\n*/\n#updraft_migrate .ui-widget-content a {\n\tcolor: #1C94C4;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header {\n\tbackground: #F6F6F6;\n\tmargin: 0;\n\tborder-radius: 0;\n\tpadding-left: 0.5em;\n\tpadding-right: 0.7em;\n}\n\n#updraft-wrap .ui-widget {\n\tfont-family: inherit;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-w {\n\tbackground-position: -96px 0px;\n}\n\n.ui-accordion-header .ui-accordion-header-icon.ui-icon-caret-1-s {\n\tbackground-position: -64px 0;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .ui-accordion-header-icon {\n\tleft: auto;\n\tright: 5px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px rgba(91, 157, 217, 0.22), 0 0 2px 1px rgba(30, 140, 190, 0.3);\n\tbackground: #FFF;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus .dashicons {\n\tcolor: #0572AA;\n\topacity: 1;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active {\n\tbackground: #F6F6F6;\n\tborder-bottom: 2px solid #0572AA;\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header.ui-state-active:focus {\n\tbox-shadow: 1px 6px 12px -5px rgba(0, 0, 0, 0.3), 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:not(:first-child) {\n\tborder-top: none;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header .dashicons {\n\topacity: 0.4;\n\tmargin-right: 10px;\n}\n\n#updraft-wrap .ui-accordion .ui-accordion-header:focus {\n\toutline: none;\n\tbox-shadow: 0 0 0 1px #5B9DD9, 0 0 2px 1px rgba(30, 140, 190, .8);\n\tz-index: 1;\n}\n\nbutton.ui-dialog-titlebar-close:before {\n\tcontent: none!important;\n}\n\n.updraft_next_scheduled_backups_wrapper {\n\tdisplay: flex;\n\tbackground: #FFF;\n\tjustify-items: center;\n\tflex-wrap: wrap;\n}\n\n.updraft_next_scheduled_backups_wrapper > div {\n\twidth: 50%;\n\tbackground: #FFF;\n\theight: auto;\n\t/* padding: 18px 33px; */\n\tpadding: 33px;\n\tbox-sizing: border-box;\n}\n\n.updraft_backup_btn_wrapper {\n\ttext-align: center;\n\tborder-left: 1px solid #F1F1F1;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.incremental-backups-only {\n\tdisplay: none;\n}\n\n.incremental-free-only {\n\tdisplay: none;\n}\n\n.incremental-free-only p {\n\tpadding: 5px;\n\tbackground: rgba(255, 0, 0, 0.06);\n\tborder: 1px solid #BFBFBF;\n}\n\n#updraft-delete-waitwarning span.spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tmargin: 0;\n\tmargin-right: 10px;\n}\n\nbutton#updraft-backupnow-button .spinner,\nbutton#updraft-backupnow-button .dashicons-yes {\n\tdisplay: none;\n}\n\nbutton#updraft-backupnow-button.loading .spinner {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tmargin-top: 13px;\n\tmargin-right: 0;\n}\n\nbutton#updraft-backupnow-button.loading {\n\tbackground-color: #EFEFEF;\n\tborder-color: #CCC;\n\ttext-shadow: 0 -1px 1px #BBC3C7, 1px 0 1px #BBC3C7, 0 1px 1px #BBC3C7, -1px 0 1px #BBC3C7;\n\tbox-shadow: none;\n}\n\nbutton#updraft-backupnow-button.finished .dashicons-yes {\n\tdisplay: inline-block;\n\tvisibility: visible;\n\tfont-size: 42px;\n\tmargin-right: 0;\n\tmargin-top: 2px;\n}\n\n.updraft_next_scheduled_entity {\n\twidth: 50%;\n\tdisplay: inline-block;\n\tfloat: left;\n\t/*\n\tpadding: 20px 20px 10px 20px;\n\t*/\n}\n\n.updraft_next_scheduled_entity .dashicons {\n\tcolor: #CCC;\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_entity strong {\n\tfont-size: 20px;\n}\n\n.updraft_next_scheduled_heading {\n\tmargin-bottom: 10px;\n}\n\n.updraft_next_scheduled_date_time {\n\tcolor: #46A84B;\n}\n\n.updraft_time_now_wrapper {\n\tmargin-top: 68px;\n\twidth: 100%;\n}\n\n.updraft_time_now_label, .updraft_time_now {\n\tdisplay: inline-block;\n\tpadding: 7px;\n}\n\n.updraft_time_now_label {\n\tbackground: #B7B7B7;\n\tborder-top-left-radius: 4px;\n\tborder-bottom-left-radius: 4px;\n\tcolor: #FFF;\n\tmargin-right: 0;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);\n}\n\n.updraft_time_now {\n\tbackground: #F1F1F1;\n\tborder-top-right-radius: 4px;\n\tborder-bottom-right-radius: 4px;\n\tmargin-left: -3px;\n}\n\n#updraft_lastlogmessagerow {\n\tmargin: 6px 0;\n}\n\n#updraft_lastlogmessagerow {\n\tclear: both;\n\tpadding: 0.25px 0;\n}\n\n#updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: right;\n\tmargin-top: -2.5em;\n\tmargin-right: 2px;\n}\n\n#updraft_lastlogmessagerow > div {\n\tclear: both;\n\tbackground: #FFF;\n\tpadding: 18px;\n}\n\n#updraft_activejobs_table {\n\toverflow: hidden;\n\twidth: 100%;\n\tbackground: #FAFAFA;\n\tpadding: 0;\n}\n\n.updraft_requeststart {\n\tpadding: 15px 33px;\n\ttext-align: center;\n}\n\n.updraft_requeststart .spinner {\n\tvisibility: visible;\n\tfloat: none;\n\tvertical-align: middle;\n\tmargin-top: -2px;\n}\n\na.updraft_jobinfo_delete.disabled {\n\topacity: 0.4;\n\tcolor: inherit;\n\ttext-decoration: none;\n}\n\n.updraft_row {\n\tclear: both;\n\ttransition: 0.3s all;\n\tpadding: 15px 33px;\n}\n\n.updraft_row.deleting {\n\topacity: 0.4;\n}\n\n.updraft_progress_container {\n\t/* width: 83%; */\n}\n\n.updraft_existing_backups_count {\n\tpadding: 2px 8px;\n\tfont-size: 12px;\n\tbackground: #CA4A1E;\n\tcolor: #FFF;\n\tfont-weight: bold;\n\tborder-radius: 10px;\n}\n\n.form-table .existing-backups-table input[type=\"checkbox\"] {\n\tborder-radius: 0;\n}\n\n.form-table .existing-backups-table .check-column {\n\twidth: 40px;\n\tpadding: 0;\n\tpadding-top: 8px;\n}\n\n.existing-backups-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.existing-backups-restore-buttons {\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 3px;\n}\n\n.button-delete {\n\tcolor: #E23900;\n\tborder-color: #E23900;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 10px;\n}\n\n.button-view-log, .button-mass-selectors {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-top: -1px;\n}\n\n.button-view-log {\n\twidth: 120px;\n}\n\n.button-existing-restore {\n\tfont-size: 14px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\twidth: 110px;\n}\n\n.main-restore {\n\tmargin-right: 3%;\n\tmargin-left: 3%;\n}\n\n.button-entity-backup {\n\tcolor: #555;\n\tborder-color: #555;\n\tfont-size: 11px;\n\tline-height: 1.4em;\n\tborder-width: 2px;\n\tmargin-right: 5px;\n}\n\n.button-select-all {\n\twidth: 122px;\n}\n\n.button-deselect {\n\twidth: 92px;\n}\n\n#ud_massactions > .display-flex > .mass-selectors-margins, #updraft-delete-waitwarning > .display-flex > .mass-selectors-margins {\n\tmargin-right: -4px;\n}\n\n.udp-button-primary {\n\tborder-width: 4px;\n\tcolor: #0073AA;\n\tborder-color: #0073AA;\n\tfont-size: 14px;\n\theight: 40px;\n}\n\n#ud_massactions .button-delete {\n\tmargin-right: 0px;\n}\n\n.stored_local {\n\tborder-radius: 5px;\n\tbackground-color: #007FE7;\n\tpadding: 3px 5px 5px 5px;\n\tcolor: #FFF;\n\tfont-size: 75%;\n}\n\nspan#updraft_lastlogcontainer {\n\tword-break: break-all;\n}\n\n.stored_icon {\n\theight: 1.3em;\n\tposition: relative;\n\ttop: 0.2em;\n}\n\n.backup_date_label > * {\n\tvertical-align: middle;\n}\n\n.backup_date_label .dashicons {\n\tfont-size: 18px;\n}\n\n.backup_date_label .clear-right {\n\tclear: right;\n}\n\n.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\tfont-weight: bold;\n}\n\n/* End Main Buttons */\n\n/* End of common elements */\n\n.udp-logo-70 {\n\twidth: 70px;\n\theight: 70px;\n\tfloat: left;\n\tpadding-right: 25px;\n}\n\nh3 .thank-you {\n\tmargin-top: 0px;\n}\n\n.ws_advert {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n.dismiss-dash-notice {\n\tfloat: right;\n\tposition: relative;\n\ttop: -20px;\n}\n\n.updraft_exclude_container,\n.updraft_include_container {\n\tmargin-left: 24px;\n\tmargin-top: 5px;\n\tmargin-bottom: 10px;\n\tpadding: 15px;\n\tborder: 1px solid #DDD;\n}\n\nlabel.updraft-exclude-label {\n\tfont-weight: 500;\n\tmargin-bottom: 5px;\n\tdisplay: block;\n}\n\n.updraft_add_exclude_item,\n#updraft_include_more_paths_another {\n\tdisplay: inline-block;\n\tmargin-top: 10px;\n}\n\ninput.updraft_exclude_entity_field,\n.form-table td input.updraft_exclude_entity_field,\n.updraftplus-morefiles-row input[type=text] {\n\twidth: calc(100% - 70px);\n\tmax-width: 400px;\n}\n\n@media screen and (max-width: 782px) {\n\n\t.form-table td input.updraft_exclude_entity_field,\n\t.form-table td .updraftplus-morefiles-row input[type=text] {\n\t\tdisplay: inline-block;\n\t}\n\n}\n\n.updraft_exclude_entity_delete.dashicons, .updraft_exclude_entity_edit.dashicons, .updraft_exclude_entity_update.dashicons, .updraftplus-morefiles-row a.dashicons {\n\tmargin-top: 2px;\n\tfont-size: 20px;\n\tbox-shadow: none;\n\tline-height: 1;\n\tpadding: 3px;\n\tmargin-right: 4px;\n}\n\n.updraft_exclude_entity_delete,\n.updraft_exclude_entity_delete:hover,\n.updraftplus-morefiles-row-delete {\n\tcolor: #FF6347;\n}\n\n.updraft_exclude_entity_update.dashicons, .updraft_exclude_entity_update.dashicons:hover {\n\tcolor: #008000;\n\tfont-weight: bold;\n\tfont-size: 22px;\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_edit {\n\tmargin-left: 4px;\n}\n\n.updraft_exclude_entity_update.is-active ~ .updraft_exclude_entity_delete {\n\tdisplay: none;\n}\n\n.updraft-exclude-panel-heading {\n\tmargin-bottom: 8px;\n}\n\n.updraft-exclude-panel-heading h3 {\n\tmargin: 0.5em 0 0.5em 0;\n}\n\n.updraft-exclude-submit.button-primary {\n\tmargin-top: 5px;\n}\n\n.updraft_exclude_actions_list {\n\tfont-weight: bold;\n}\n\n.updraft-exclude-link {\n\tcursor: pointer;\n}\n\n#updraft_include_more_options {\n\tpadding-left: 25px;\n}\n\n#updraft_report_cell .updraft_reportbox,\n.updraft_small_box {\n\tpadding: 12px;\n\tmargin: 8px 0;\n\tborder: 1px solid #CCC;\n\tposition: relative;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete,\n.updraft_box_delete_button,\n.updraft_small_box .updraft_box_delete_button {\n\tpadding: 4px;\n\tpadding-top: 6px;\n\tborder: none;\n\tbackground: transparent;\n\tposition: absolute;\n\ttop: 4px;\n\tright: 4px;\n\tcursor: pointer;\n}\n\n#updraft_report_cell button.updraft_reportbox_delete:hover {\n\tcolor: #DE3C3C;\n}\n\na.updraft_report_another .dashicons {\n\ttext-decoration: none;\n\tmargin-top: 2px;\n}\n\n.updraft_report_dbbackup.updraft_report_disabled {\n\tcolor: #CCC;\n}\n\n#updraft-navtab-settings-content .updraft-test-button {\n\tfont-size: 18px !important;\n}\n\n#updraft_report_cell .updraft_report_email {\n\tdisplay: block;\n\twidth: calc(100% - 50px);\n\tmargin-bottom: 9px;\n}\n\n#updraft_report_cell .updraft_report_another_p {\n\tclear: left;\n}\n\n/* Taken straight from admin.php */\n\n#updraft-navtab-settings-content table.form-table p {\n\tmax-width: 700px;\n}\n\n#updraft-navtab-settings-content table.form-table .notice p {\n\tmax-width: none;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected,\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected td {\n\tbackground-color: #EFEFEF;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected:nth-child(even) td {\n\tbackground-color: #E8E8E8;\n}\n\n.updraft_settings_sectionheading {\n\tdisplay: none;\n}\n\n.updraft-backupentitybutton-disabled {\n\tbackground-color: transparent;\n\tborder: none;\n\tcolor: #0074A2;\n\ttext-decoration: underline;\n\tcursor: pointer;\n\tclear: none;\n\tfloat: left;\n}\n\n.updraft-backupentitybutton {\n\tmargin-left: 8px;\n}\n\n.updraft-bigbutton {\n\tpadding: 2px 0px !important;\n\tmargin-right: 14px !important;\n\tfont-size: 22px !important;\n\tmin-height: 32px;\n\tmin-width: 180px;\n}\n\ntr[class*=\"_updraft_remote_storage_border\"] {\n\tborder-top: 1px solid #CCC;\n}\n\n.updraft_multi_storage_options {\n\tfloat: right;\n\tclear: right;\n\tmargin-bottom: 5px !important;\n}\n\n.updraft_toggle_instance_label {\n\tvertical-align: top !important;\n}\n\n.updraft_debugrow th {\n\tfloat: right;\n\ttext-align: right;\n\tfont-weight: bold;\n\tpadding-right: 8px;\n\tmin-width: 140px;\n}\n\n.updraft_debugrow td {\n\tmin-width: 300px;\n\tvertical-align: bottom;\n}\n\n#updraft_webdav_host_error, .onedrive_folder_error {\n\tcolor: red;\n}\n\nlabel[for=updraft_servicecheckbox_updraftvault] {\n\tposition: relative;\n}\n\n#updraft-wrap .udp-info {\n\tposition: absolute;\n\tright: 10px;\n\ttop: calc(50% - 10px);\n}\n\n#updraft-wrap span.info-trigger {\n\tdisplay: inline-block;\n\twidth: 20px;\n\theight: 20px;\n\tbackground: #FFF;\n\tcolor: #72777C;\n\tborder-radius: 30px;\n\ttext-align: center;\n\tline-height: 20px;\n\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n#updraft-wrap .info-content-wrapper {\n\tdisplay: none;\n\tposition: absolute;\n\tbottom: 20px;\n\ttransform: translatex(calc(-50% + 10px));\n\twidth: 330px;\n\tpadding-bottom: 10px;\n}\n\n#updraft-wrap .info-content-wrapper::before {\n\tcontent: '';\n\tposition: absolute;\n\tbottom: -10px;\n\tborder: 10px solid transparent;\n\tborder-top-color: #FFF;\n\tleft: calc(50% - 10px);\n}\n\n#updraft-wrap .info-content {\n\tpadding: 20px;\n\tbackground: #FFF;\n\tborder-radius: 4px;\n\tbox-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);\n\tcolor: #72777C;\n}\n\n#updraft-wrap .info-content h3 {\n\tmargin-top: 0;\n}\n\n#updraft-wrap .info-content p {\n\tmargin-top: 10px;\n}\n\n#updraft-wrap .udp-info:hover .info-content-wrapper {\n\tdisplay: block;\n}\n\n/* jstree styles */\n\n/* these styles hide the dots from the parent but keep the arrows */\n.updraft_jstree .jstree-container-ul > .jstree-node,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-node {\n\tbackground: transparent;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-open > .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-open > .jstree-ocl {\n\tbackground-position: -36px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-closed> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-closed> .jstree-ocl {\n\tbackground-position: -4px -4px;\n}\n\n.updraft_jstree .jstree-container-ul > .jstree-leaf> .jstree-ocl,\ndiv[id^=\"updraft_more_files_jstree_\"] .jstree-container-ul > .jstree-leaf> .jstree-ocl {\n\tbackground: transparent;\n}\n\n/* zip browser jstree styles */\n#updraft_zip_files_container {\n\tposition: relative;\n\theight: 450px;\n\toverflow: none;\n}\n\n.updraft_jstree_info_container {\n\tposition: relative;\n\theight: auto;\n\twidth: 100%;\n\tborder: 1px dotted;\n\tmargin-bottom: 5px;\n}\n\n.updraft_jstree_info_container p {\n\tmargin: 1px;\n\tpadding-left: 10px;\n\tfont-size: 14px;\n}\n\n#updraft_zip_download_item {\n\tdisplay: none;\n\tcolor: #0073AA;\n\tpadding-left: 10px;\n}\n\n#updraft_zip_download_notice {\n\tpadding-left: 10px;\n}\n\n#updraft_exclude_files_folders_jstree {\n\tmax-height: 200px;\n\toverflow-y: scroll;\n}\n\n.updraft_jstree {\n\tposition: relative;\n\tborder: 1px dotted;\n\theight: 80%;\n\twidth: 100%;\n\toverflow: auto;\n}\n\n/* More files jstree styles */\ndiv[id^=\"updraft_more_files_container_\"] {\n\tposition: relative;\n\tdisplay: none;\n\twidth: 100%;\n\tborder: 1px solid #CCC;\n\tbackground: #FAFAFA;\n\tmargin-bottom: 5px;\n\tmargin-top: 4px;\n\tbox-shadow: 0 5px 8px rgba(0, 0, 0, 0.1);\n}\n\ndiv[id^=\"updraft_more_files_container_\"]::before {\n\tcontent: ' ';\n\twidth: 11px;\n\theight: 11px;\n\tdisplay: block;\n\tbackground: #FAFAFA;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 20px;\n\tborder-top: 1px solid #CCC;\n\tborder-left: 1px solid #CCC;\n\ttransform: translatey(-7px) rotate(45deg);\n}\n\ninput.updraft_more_path_editing {\n\tborder-color: #0285BA;\n}\n\ninput.updraft_more_path_editing ~ a.dashicons {\n\tdisplay: none;\n}\n\ndiv[id^=\"updraft_jstree_buttons_\"] {\n\tpadding: 10px;\n\tbackground: #E6E6E6;\n}\n\ndiv[id^=\"updraft_jstree_container_\"] {\n\theight: 300px;\n\twidth: 100%;\n\toverflow: auto;\n}\n\ndiv[id^=\"updraft_more_files_container_\"] button {\n\tline-height: 20px;\n}\n\nbutton[id^=\"updraft_parent_directory_\"] {\n\tmargin: 10px 10px 4px 10px;\n\tpadding-left: 3px;\n}\n\nbutton[id^=\"updraft_jstree_confirm_\"], button[id^=\"updraft_jstree_cancel_\"] {\n\tdisplay: none;\n}\n\ninput[id^=\"updraft_include_more_path_restore_\"] {\n\ttext-align: right;\n}\n\n.updraftplus-morefiles-row-delete,\n.updraftplus-morefiles-row-edit {\n\tcursor: pointer;\n}\n\n#updraft-wrap .form-table th {\n\twidth: 230px;\n}\n\n#updraft-wrap .form-table .existing-backups-table th {\n\twidth: auto;\n}\n\n.updraft-viewlogdiv form {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-viewlogdiv {\n\tdisplay: inline-block;\n}\n\n.updraft-viewlogdiv input, .updraft-viewlogdiv a {\n\tborder: none;\n\tbackground-color: transparent;\n\tcolor: #000;\n\tmargin: 0px;\n\tpadding: 3px 4px;\n\tfont-size: 16px;\n\tline-height: 26px;\n}\n\n.updraft-viewlogdiv input:hover, .updraft-viewlogdiv a:hover {\n\tcolor: #FFF;\n\tcursor: pointer;\n}\n\n.button.button-remove {\n\tcolor: white;\n\tbackground-color: #DE3C3C;\n\tborder-color: #C00000;\n\tbox-shadow: 0 1px 0 #C10100;\n}\n\n.button.button-remove:hover,\n.button.button-remove:focus {\n\tborder-color: #C00;\n\tcolor: #FFF;\n\tbackground: #C00;\n}\n\n/* button-remove colors for midnight admin theme */\nbody.admin-color-midnight .button.button-remove {\n\tcolor: #DE3C3C;\n\tbackground-color: #F7F7F7;\n\tborder-color: #CCC;\n\tbox-shadow: 0 1px 0 #CCC;\n}\n\nbody.admin-color-midnight .button.button-remove:hover, body.admin-color-midnight .button.button-remove:focus {\n\tborder-color: #BA281F;\n}\n\nbody.admin-color-midnight .button.button-remove:focus {\n\tbox-shadow: inherit;\n\tbox-shadow: 0 0 3px rgba(0, 115, 170, 0.8);\n}\n\n.drag-drop #drag-drop-area2 {\n\tborder: 4px dashed #DDD;\n\theight: 200px;\n}\n\n#drag-drop-area2 .drag-drop-inside {\n\tmargin: 36px auto 0;\n\twidth: 350px;\n}\n\n#filelist, #filelist2 {\n\twidth: 100%;\n}\n\n#filelist .file, #filelist2 .file, .ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tpadding: 1px;\n\tbackground: #ECECEC;\n\tborder: solid 1px #CCC;\n\tmargin: 4px 0;\n}\n\n.updraft_premium section {\n\tmargin-bottom: 20px;\n}\n\n/*\n\tCall to action Premium\n*/\n.updraft_premium_cta {\n\tbackground: #FFF;\n\tmargin-top: 30px;\n\tpadding: 0;\n\tborder-left: 4px solid #DB6A03;\n}\n\n.updraft_premium_cta a {\n\tfont-weight: normal;\n}\n\n.updraft_premium_cta__action {\n\tposition: relative;\n\ttext-align: center;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero {\n\tfont-size: 1.3em;\n\tletter-spacing: 0.03rem;\n\ttext-transform: uppercase;\n\tmargin-bottom: 7px;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small {\n\tdisplay: block;\n\tmax-width: 100%;\n\ttext-align: center;\n\tcolor: #AFAFAF;\n}\n\n.updraft_premium_cta a.button.button-primary.button-hero + small .dashicons {\n\twidth: 12px;\n\theight: 12px;\n}\n\n.updraft_premium_cta__top {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: 18px 30px;\n}\n\n.updraft_premium_cta__bottom {\n\tbackground: #F9F9F9;\n\tpadding: 5px 30px;\n}\n\n.updraft_premium_cta__summary {\n\tmargin-right: 60px;\n}\n\n.updraft_premium_cta h2 {\n\tfont-size: 28px;\n\tfont-weight: 200;\n\tline-height: 1;\n\tmargin: 0;\n\tmargin-bottom: 5px;\n\tletter-spacing: 0.05rem;\n\tcolor: #DB6A03;\n}\n\n.updraft_premium_cta ul li::after {\n\tcolor: #CCC;\n}\n\n@media only screen and (max-width: 768px) {\n\n\t.updraft_premium_cta__top {\n\t\tflex-direction: column;\n\t\ttext-align: center;\n\t\talign-items: center;\n\t}\n\n\t.updraft_premium_cta__summary {\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 30px;\n\t}\n\n}\n\n/*\n\tBox\n*/\n.udp-box {\n\tbackground: #FFF;\n\tpadding: 20px;\n\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n\ttext-align: center;\n}\n\n.udp-box h3 {\n\tmargin: 0;\n}\n\n.udp-box__heading {\n\talign-self: center;\n\tbackground: none;\n\tbox-shadow: none;\n}\n\n/*\n\tOther Plugins\n*/\n.updraft-more-plugins {\n\tdisplay: flex;\n\tflex-direction: row;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\tflex-wrap: wrap;\n}\n\n.updraft-more-plugins img {\n\tmax-width: 200px;\n\twidth: 100%;\n\tdisplay: inline-block;\n}\n\n.updraft-more-plugins .udp-box {\n\tbox-sizing: border-box;\n\twidth: 24%;\n}\n\n.updraft-more-plugins .udp-box p:last-child {\n\tmargin-bottom: 0;\n\tpadding-bottom: 0;\n}\n\n/*\n\tlinks list\n*/\n.updraft_premium_description_list {\n\ttext-align: left;\n\tmargin: 0;\n\tfont-size: 12px;\n}\n\nul.updraft_premium_description_list, ul#updraft_restore_warnings {\n\tlist-style: disc inside;\n}\n\nul.updraft_premium_description_list li {\n\tdisplay: inline;\n}\n\nul.updraft_premium_description_list li::after {\n\tcontent: \" | \";\n}\n\nul.updraft_premium_description_list li:last-child::after {\n\tcontent: \"\";\n}\n\n.updraft_feature_cell {\n\tbackground-color: #F7D9C9 !important;\n\tpadding: 5px 10px;\n}\n\n.updraftplus_com_login_status, .updraftplus_com_key_status {\n\tdisplay: none;\n\tbackground: #FFF;\n\tborder-left: 4px solid #FFF;\n\tborder-left-color: #DC3232;\n\tbox-shadow: 0 1px 1px 0 rgba(0,0,0,.1);\n\tmargin: 5px 0 15px 0;\n\tpadding: 5px 12px;\n}\n\n.updraftplus_com_login_status.success {\n\tborder-left-color: green;\n}\n\n#updraft-wrap strong.success {\n\tcolor: green;\n}\n\n.updraft_feat_table {\n\tborder: none;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n}\n\n.updraft_feat_th, .updraft_feat_table td {\n\tborder: 1px solid #F1F1F1;\n\tborder-collapse: collapse;\n\tfont-size: 120%;\n\tbackground-color: white;\n\ttext-align: center;\n\tpadding: 15px;\n}\n\n.updraft_feat_table td {\n\tborder-bottom-width: 4px;\n}\n\n.updraft_feat_table td:first-child {\n\tborder-left: none;\n}\n\n.updraft_feat_table td:last-child {\n\tborder-right: none;\n}\n\n.updraft_feat_table tr:last-child td {\n\tborder-bottom: none;\n}\n\n.updraft_feat_table td:nth-child(2),\n.updraft_feat_table td:nth-child(3) {\n\tbackground-color: rgba(241, 241, 241, 0.38);\n\twidth: 190px;\n}\n\n.updraft_feat_table__header td img {\n\tdisplay: block;\n\tmargin: 0 auto;\n}\n\n.updraft_feat_table__header td {\n\ttext-align: center;\n}\n\n.updraft_feat_table .installed {\n\tfont-size: 14px;\n}\n\n.updraft_feat_table p {\n\tpadding: 0px 10px;\n\tmargin: 5px 0px;\n\tfont-size: 13px;\n}\n\n.updraft_feat_table h4 {\n\tmargin: 5px 0px;\n}\n\n.updraft_feat_table .dashicons {\n\twidth: 25px;\n\theight: 25px;\n\tfont-size: 25px;\n\tline-height: 1;\n}\n\n.updraft_feat_table .dashicons-yes, .updraft_feat_table .updraft-yes {\n\tcolor: green;\n}\n\n.updraft_feat_table .dashicons-no-alt, .updraft_feat_table .updraft-no {\n\tcolor: red;\n}\n\n.updraft_tick_cell {\n\ttext-align: center;\n}\n\n.updraft_tick_cell img {\n\tmargin: 4px 0;\n\theight: 24px;\n}\n\n.ud_downloadstatus__close {\n\tborder: none;\n\tbackground: transparent;\n\twidth: auto;\n\tfont-size: 20px;\n\tpadding: 0;\n\tcursor: pointer;\n}\n\n#filelist .fileprogress, #filelist2 .fileprogress, .ud_downloadstatus .dlfileprogress, #ud_downloadstatus2 .dlfileprogress, #ud_downloadstatus3 .dlfileprogress {\n\twidth: 0%;\n\tbackground: #0572AA;\n\theight: 8px;\n\ttransition: width .3s;\n}\n\n.ud_downloadstatus .raw, #ud_downloadstatus2 .raw, #ud_downloadstatus3 .raw {\n\tmargin-top: 8px;\n\tclear: left;\n}\n\n.ud_downloadstatus .file, #ud_downloadstatus2 .file, #ud_downloadstatus3 .file {\n\tmargin-top: 8px;\n}\n\ndiv[class^=\"updraftplus_downloader_container_\"] {\n\tpadding: 10px;\n}\n\ntr.updraftplusmethod h3 {\n\tmargin: 0px;\n}\n\ntr.updraftplusmethod img {\n\tmax-width: 100%;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete, #updraft_retain_files_rules .updraft_retain_rules_delete {\n\tcursor: pointer;\n\tcolor: red;\n\tfont-size: 120%;\n\tfont-weight: bold;\n\tborder: 0px;\n\tborder-radius: 3px;\n\tpadding: 2px;\n\tmargin: 0 6px;\n\ttext-decoration: none;\n\tdisplay: inline-block;\n}\n\n#updraft_retain_db_rules .updraft_retain_rules_delete:hover, #updraft_retain_files_rules .updraft_retain_rules_delete:hover {\n\tcursor: pointer;\n\tcolor: white;\n\tbackground: red;\n}\n\n#updraft_backup_started {\n\tmax-width: 800px;\n\tfont-size: 140%;\n\tline-height: 140%;\n\tpadding: 14px;\n\tclear: left;\n}\n\n/* backup finished */\n.blockUI.blockOverlay.ui-widget-overlay {\n\tbackground: #000;\n}\n\n.updraft_success_popup {\n\ttext-align: center;\n\tpadding-bottom: 30px;\n}\n\n.updraft_success_popup > .dashicons {\n\tfont-size: 100px;\n\twidth: 100px;\n\theight: 100px;\n\tline-height: 100px;\n\tpadding: 0px;\n\tborder-radius: 50%;\n\tmargin-top: 30px;\n\tdisplay: block;\n\tmargin-left: auto;\n\tmargin-right: auto;\n\tbackground: #E2E6E5;\n}\n\n.updraft_success_popup > .dashicons.dashicons-yes {\n\ttext-indent: -5px;\n}\n\n.updraft_success_popup.success > .dashicons {\n\tcolor: green;\n}\n\n.updraft_success_popup.warning > .dashicons {\n\tcolor: #888;\n}\n\n.updraft_success_popup--message {\n\tpadding: 20px;\n}\n\n.button.updraft-close-overlay .dashicons {\n\ttext-decoration: none;\n\tfont-size: 20px;\n\tmargin-left: -5px;\n\tpadding: 0;\n\ttransform: translatey(3px);\n}\n\n.updraft_saving_popup img {\n\tanimation-name: udp_blink;\n\tanimation-duration: 610ms;\n\tanimation-iteration-count: infinite;\n\tanimation-direction: alternate;\n\tanimation-timing-function: ease-out;\n}\n\n.udp-premium-image {\n\tdisplay: none;\n}\n\n@media screen and (min-width: 720px) {\n\n\t.udp-premium-image {\n\t\tdisplay: block;\n\t\tfloat: left;\n\t\tpadding-right: 5px;\n\t}\n\n}\n\n/* End stuff already in admin.php */\n#plupload-upload-ui2 {\n\twidth: 80%;\n}\n\n.backup-restored {\n\tpadding: 8px;\n}\n\n.updated.backup-restored {\n\tpadding-top: 15px;\n\tpadding-bottom: 15px;\n}\n\n.backup-restored span {\n\tfont-size: 120%;\n}\n\n.memory-limit {\n\tpadding: 8px;\n}\n\n.updraft_list_errors {\n\tpadding: 8px;\n}\n\n/*.nav-tab {\n\tborder-radius: 20px 20px 0 0;\n\tborder-color: grey;\n\tborder-width: 2px;\n\tmargin-top: 34px;\n}\n\n.nav-tab:hover {\n\tborder-bottom: 0;\n}\n\n.nav-tab-active, .nav-tab-active:active {\n\tcolor: #df6926;\n\tborder-color: #D3D3D3;\n\tborder-width: 1px;\n\tborder-bottom: 0;\n}\n\n.nav-tab-active:focus {\n\tcolor: #df6926;\n}*/\n\n.nav-tab-wrapper {\n\tmargin: 14px 0px;\n}\n\n#updraft-poplog-content {\n\twhite-space: pre-wrap;\n}\n\n.next-backup {\n\tborder: 0px;\n\tpadding: 0px;\n\tmargin: 0 10px 0 0;\n}\n\n.not-scheduled {\n\tvertical-align: top !important;\n\tmargin: 0px !important;\n\tpadding: 0px !important;\n}\n\n.next-backup .updraft_scheduled {\n\t/* width: 124px;*/\n\tmargin: 0px;\n\tpadding: 2px 4px 2px 0px;\n}\n\n#next-backup-table-inner td {\n\tvertical-align: top;\n}\n\n.updraft_all-files {\n\tcolor: blue;\n}\n\n.multisite-advert-width {\n\twidth: 800px;\n}\n\n.updraft_settings_sectionheading {\n\tmargin-top: 6px;\n}\n\n.premium-upgrade-prompt {\n\t/* font-size: 115%; */\n}\n\nsection.premium-upgrade-purchase-success {\n\tpadding: 2em;\n\tbackground: #FAFAFA;\n\ttext-align: center;\n\tbox-shadow: 0px 14px 40px rgba(0, 0, 0, 0.1);\n}\n\nsection.premium-upgrade-purchase-success h3 {\n\tfont-size: 2em;\n\tcolor: green;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons {\n\tdisplay: block;\n\tmargin: 0 auto;\n\tfont-size: 60px;\n\twidth: 60px;\n\theight: 60px;\n\tborder-radius: 50%;\n\tbackground: green;\n\tcolor: #FFF;\n\tmargin-bottom: 20px;\n}\n\nsection.premium-upgrade-purchase-success h3 .dashicons::before {\n\tdisplay: inline-block;\n\tmargin-left: -4px;\n\tmargin-top: 2px;\n}\n\nsection.premium-upgrade-purchase-success p {\n\tfont-size: 120%;\n}\n\n.show_admin_restore_in_progress_notice {\n\tpadding: 8px;\n}\n\n.show_admin_restore_in_progress_notice .unfinished-restoration {\n\tfont-size: 120%;\n}\n\n#backupnow_includefiles_moreoptions, #backupnow_database_moreoptions {\n\tmargin: 4px 16px 6px 16px;\n\tborder: 1px dotted;\n\tpadding: 6px 10px;\n}\n\n#backupnow_database_moreoptions {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n.form-table #updraft_activejobsrow .minimum-height {\n\tmin-height: 100px;\n}\n\n#updraft_activejobsrow th {\n\tmax-width: 112px;\n\tmargin: 0;\n\tpadding: 13px 0 0 0;\n}\n\n#updraft_lastlogmessagerow .last-message {\n\tpadding-top: 20px;\n\tdisplay: block;\n}\n\n.updraft_simplepie {\n\tvertical-align: top;\n}\n\n.download-backups {\n\tmargin-top: 8px;\n}\n\n.download-backups .updraft_download_button {\n\tmargin-right: 6px;\n}\n\n.download-backups .ud-whitespace-warning, .download-backups .ud-bom-warning {\n\tbackground-color: pink;\n\tpadding: 8px;\n\tmargin: 4px;\n\tborder: 1px dotted;\n}\n\n.download-backups .ul {\n\tlist-style: none inside;\n\tmax-width: 800px;\n\tmargin-top: 6px;\n\tmargin-bottom: 12px;\n}\n\n#updraft-plupload-modal {\n\tmargin: 16px 0;\n}\n\n.download-backups .upload {\n\tmax-width: 610px;\n}\n\n.download-backups #plupload-upload-ui {\n\twidth: 100%;\n}\n\n.ud_downloadstatus {\n\tpadding: 10px 0;\n}\n\n#ud_massactions, #updraft-delete-waitwarning {\n\tpadding: 14px;\n\tbackground: rgb(241, 241, 241);\n\tposition: absolute;\n\tleft: 0;\n\ttop: 100%;\n}\n\n#ud_massactions > *, #updraft-delete-waitwarning > * {\n\tvertical-align: middle;\n}\n\n#ud_massactions .updraftplus-remove {\n\tdisplay: inline-block;\n\tmargin-right: 0;\n}\n\n#ud_massactions .updraftplus-remove a {\n\ttext-decoration: none;\n}\n\n#ud_massactions .updraft-viewlogdiv a {\n\ttext-decoration: none;\n\tposition: relative;\n}\n\nsmall.ud_massactions-tip {\n\tdisplay: inline-block;\n\topacity: 0.5;\n\tfont-style: italic;\n\tmargin-left: 20px;\n}\n\n#updraft-navtab-backups-content .updraft_existing_backups {\n\tmargin-bottom: 35px;\n\tposition: relative;\n}\n\n#updraft-message-modal-innards {\n\tpadding: 4px;\n}\n\n#updraft-authenticate-modal {\n\ttext-align: center;\n\tfont-size: 16px !important;\n}\n\n#updraft-authenticate-modal p {\n\tfont-size: 16px;\n}\n\n#updraft_delete_form p {\n\tmargin-top: 3px;\n\tpadding-top: 0;\n}\n\n#updraft_restore_form .cannot-restore {\n\tmargin: 8px 0;\n}\n\n.notice.updraft-restore-option {\n\tpadding: 12px;\n\tmargin: 8px 0 4px 0;\n\tborder-left-color: #CCC;\n}\n\n/* updraft_restore_crypteddb */\n#updraft_restorer_dboptions h4 {\n\tmargin: 0px 0px 6px 0px;\n\tpadding: 0px;\n}\n\n.updraftplus_restore_tables_options_container {\n\tmax-height: 250px;\n\toverflow: auto;\n}\n\n.updraft_debugrow th {\n\tvertical-align: top;\n\tpadding-top: 6px;\n\tmax-width: 140px;\n}\n\n.expertmode p {\n\tfont-size: 125%;\n}\n\n.expertmode .call-wp-action {\n\twidth: 300px;\n\theight: 22px;\n}\n\n.updraftplus-lock-advert {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.uncompressed-data {\n\tclear: left;\n\tmax-width: 600px;\n}\n\n.delete-old-directories {\n\tpadding: 8px;\n\tpadding-bottom: 12px;\n}\n\n.active-jobs {\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 33px;\n}\n\n.job-id {\n\tmargin-top: 0;\n\tmargin-bottom: 8px;\n}\n\n.next-resumption {\n\tfont-weight: bold;\n}\n\n.updraft_percentage {\n\tz-index: -1;\n\tposition: absolute;\n\tleft: 0px;\n\ttop: 0px;\n\ttext-align: center;\n\tbackground-color: #1D8EC2;\n\ttransition: width 0.3s;\n}\n\n.curstage {\n\tz-index: 1;\n\tborder-radius: 2px;\n\tmargin-top: 8px;\n\twidth: 100%;\n\theight: 26px;\n\tline-height: 26px;\n\tposition: relative;\n\ttext-align: center;\n\tfont-style: italic;\n\tcolor: #FFF;\n\tbackground-color: #B7B7B7;\n\ttext-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\n}\n\n.curstage-info {\n\tdisplay: inline-block;\n\tz-index: 2;\n}\n\n.retain-files {\n\twidth: 48px;\n}\n\n.backup-interval-description tr td div {\n\tmax-width: 670px;\n}\n\n#updraft-manualdecrypt-modal {\n\twidth: 85%;\n\tmargin: 6px;\n\tmargin-left: 100px;\n}\n\n.directory-permissions {\n\tfont-size: 110%;\n\tfont-weight: bold;\n}\n\n.double-warning {\n\tborder: 1px solid;\n\tpadding: 6px;\n}\n\n.raw-backup-info {\n\tfont-style: italic;\n\tfont-weight: bold;\n\tfont-size: 120%;\n}\n\n.updraft_existingbackup_date {\n\twidth: 22%;\n\tmax-width: 140px;\n}\n\n.updraft_existing_backups_wrapper {\n\tmargin-top: 20px;\n\tborder-top: 1px solid #DDD;\n}\n\n.updraft-no-backups-msg {\n\ttext-align: center;\n}\n\n.tr-bottom-4 {\n\tmargin-bottom: 4px;\n}\n\n.existing-backups-table th {\n\tpadding: 8px 10px;\n}\n\n.form-table .backup-date {\n\twidth: 172px;\n}\n\n.form-table .backup-data {\n\twidth: 426px;\n}\n\n.form-table .updraft_backup_actions {\n\twidth: 272px;\n}\n\n.existing-date {\n\t-webkit-box-sizing: border-box;\n\t-moz-box-sizing: border-box;\n\tbox-sizing: border-box;\n\tmax-width: 140px;\n\twidth: 25%;\n}\n\n.line-break-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.line-break-td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.td-line-color {\n\theight: 2px;\n\tbackground-color: #888;\n}\n\n.raw-backup {\n\tmax-width: 140px;\n}\n\n.existing-backups-actions {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.existing-backups-border > td {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.existing-backups-border > div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.updraft_existing_backup_date {\n\tmax-width: 140px;\n}\n\n.updraftplus-upload {\n\tmargin-right: 6px;\n\tfloat: left;\n\tclear: none;\n}\n\n.before-restore-button {\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.before-restore-button div {\n\tfloat: none;\n\tdisplay: inline-block;\n}\n\n.table-separator-tr {\n\theight: 2px;\n\tpadding: 1px;\n\tmargin: 0px;\n}\n\n.table-separator-td {\n\tmargin: 0px;\n\tpadding: 0px;\n}\n\n.end-of-table-div {\n\theight: 2px;\n\tbackground-color: #AAA;\n}\n\n.last-backup-job {\n\tpadding-top: 3% !important;\n}\n\n.line-height-03 {\n\tline-height: 0.3 !important;\n}\n\n.line-height-13 {\n\tline-height: 1.3 !important;\n}\n\n.line-height-23 {\n\tline-height: 2.3 !important;\n}\n\n#updraft_diskspaceused {\n\tcolor: #DF6926;\n}\n\n#updraft_delete_old_dirs_pagediv {\n\tpadding-bottom: 10px;\n}\n\n/*#updraft_lastlogmessagerow > td, #updraft_last_backup > td {\n\tpadding: 0;\n}*/\n\n/* Time + scheduling add-on*/\n.fix-time {\n\twidth: 70px;\n}\n\n.retain-files {\n\twidth: 70px;\n}\n\n.number-input {\n\tmin-width: 50px;\n\tmax-width: 70px;\n}\n\n.additional-rule-width {\n\tmin-width: 60px;\n\tmax-width: 70px;\n}\n\n/* Add-ons */\n/* Want to fix the WordPress icons so that they fit inline with the text, and don't push everything out of place. */\n\n#updraft-wrap .dashicons.dashicons-adapt-size {\n\tline-height: inherit;\n\tfont-size: inherit;\n}\n\n#updraft-wrap .button span.dashicons:not(.dashicons-adapt-size) {\n\tvertical-align: middle;\n\tmargin-top: -3px;\n}\n\n.addon-logo-150 {\n\tmargin-left: 30px;\n\tmargin-top: 33px;\n\theight: 125px;\n\twidth: 150px;\n}\n\n.margin-bottom-50 {\n\tmargin-bottom: 50px;\n}\n\n.premium-container {\n\twidth: 80%;\n}\n\n/* Main Header */\n\n.main-header {\n\tbackground-color: #DF6926;\n\theight: 200px;\n\twidth: 100%;\n}\n\n.button-add-to-cart {\n\tcolor: white;\n\tborder-color: white;\n\tfloat: none;\n\tmargin-right: 17px;\n}\n\n.button-add-to-cart:hover, .button-add-to-cart:focus, .button-add-to-cart:active {\n\tborder-color: #A0A5AA;\n\tcolor: #A0A5AA;\n}\n\n.addon-title {\n\tmargin-top: 25px;\n}\n\n.addon-text {\n\tmargin-top: 75px;\n}\n\n.image-main-div {\n\twidth: 25%;\n\tfloat: left;\n}\n\n.text-main-div {\n\twidth: 60%;\n\tfloat: left;\n\ttext-align: center;\n\tcolor: white;\n\tmargin-top: 16px;\n}\n\n.text-main-div-title {\n\tfont-weight: bold !important;\n\tcolor: white;\n\ttext-align: center;\n}\n\n.text-main-div-paragraph {\n\tcolor: white;\n}\n\n/* End main header */\n\n/* Vault icons */\n\n.updraftplus-vault-cta {\n\twidth: 100%;\n\ttext-align: center;\n\tmargin-bottom: 50px;\n}\n\n.updraftplus-vault-cta h1 {\n\tfont-weight: bold;\n}\n\n.updraftvault-buy {\n\twidth: 225px;\n\theight: 225px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 50px;\n\tposition: relative;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault {\n\twidth: 275px;\n\theight: 275px;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > a {\n\tright: 21%;\n\tfont-size: 16px;\n\tborder-width: 4px !important;\n}\n\n.updraftplus-vault-cta > .vault-options > .center-vault > p {\n\tfont-size: 16px;\n}\n\n.updraftvault-buy .button-purchase {\n\tright: 24%;\n\tmargin-left: 0;\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.right {\n\tmargin-right: 0px;\n}\n\n.updraftvault-buy .addon-logo-100 {\n\theight: 100px;\n\twidth: 125px;\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .addon-logo-large {\n\tmargin-top: 7px;\n}\n\n.updraftvault-buy .button-buy-vault {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 29%;\n\tbottom: 2%;\n}\n\n.premium-addon-div .button-purchase {\n\tline-height: 1.7em;\n}\n\n.updraftvault-buy .button-buy-vault:hover {\n\tborder-color: darkgrey;\n\tcolor: darkgrey;\n}\n\n/* End Vault icons */\n\n/* Premium addons */\n\n.premium-addons {\n\tmargin-top: 80px;\n\twidth: 100%;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.addon-list {\n\t/* margin-left: 32px; */\n\tdisplay: table;\n\ttext-align: center;\n}\n\n.premium-addons h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-addons p {\n\ttext-align: center;\n}\n\n.premium-addons .premium-addon-div {\n\twidth: 200px;\n\theight: 250px;\n\tborder: 2px solid #777;\n\tdisplay: inline-table;\n\tmargin: 0 auto;\n\tmargin-right: 25px;\n\tmargin-top: 25px;\n\ttext-align: center;\n\tposition: relative;\n}\n\n.premium-addons .premium-addon-div p {\n\tmargin-left: 2px;\n\tmargin-right: 2px;\n}\n\n.premium-addons .premium-addon-div img {\n\twidth: auto;\n\theight: 50px;\n\tmargin-top: 7px;\n}\n\n.premium-addons .premium-addon-div .hr-alignment {\n\tmargin-top: 44px;\n}\n\n.premium-addons .premium-addon-div .dropbox-logo {\n\theight: 39px;\n\twidth: 150px;\n}\n\n.premium-addons .premium-addon-div .azure-logo, .premium-addons .premium-addon-div .onedrive-logo {\n\twidth: 75%;\n\theight: 24px;\n}\n\n.button-purchase {\n\tfont-size: 12px;\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tborder-width: 2px !important;\n\tposition: absolute;\n\tright: 25%;\n\tbottom: 2%;\n}\n\n.button-purchase:hover {\n\tcolor: darkgrey;\n\tborder-color: darkgrey;\n}\n\n.premium-addons .premium-addon-div hr {\n\theight: 2px;\n\tbackground-color: #777;\n\tmargin-top: 18px;\n}\n\n.premium-addon-div p {\n\tfont-style: italic;\n}\n\n.addon-list > .premium-addon-div > .onedrive-fix,\n.addon-list > .premium-addon-div > .azure-logo {\n\tmargin-top: 33px;\n}\n\n.addon-list > .premium-addon-div > .dropbox-fix {\n\tmargin-top: 18px;\n}\n\n/* End premium addons */\n\n\n/* Forgotton something (that is the name of the div rather than a mental note!) */\n\n.premium-forgotton-something {\n\tmargin-top: 5%;\n}\n\n.premium-forgotton-something h1 {\n\ttext-align: center;\n\tfont-weight: bold;\n}\n\n.premium-forgotton-something p {\n\ttext-align: center;\n\tfont-weight: normal;\n}\n\n.premium-forgotton-something .button-faq {\n\tcolor: #DF6926;\n\tborder-color: #DF6926;\n\tmargin: 0 auto;\n\tdisplay: table;\n}\n\n.premium-forgotton-something .button-faq:hover {\n\tcolor: #777;\n\tborder-color: #777;\n}\n\n/* End of forgotton something */\n\n.updraftplusmethod.updraftvault #vaultlogo {\n\tpadding-left: 40px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option {\n\tfloat: left;\n\twidth: 50%;\n\ttext-align: center;\n\tpadding-bottom: 20px;\n}\n\n.updraftplusmethod.updraftvault .vault_primary_option div {\n\tclear: right;\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .clear-left {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .padding-top-20px {\n\tpadding-top: 20px;\n}\n\n.updraftplusmethod.updraftvault .padding-top-14px {\n\tpadding-top: 14px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default .button-primary, .updraftplusmethod.updraftvault #updraftvault_settings_showoptions .button-primary {\n\tfont-size: 18px !important;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_showoptions, .updraftplusmethod.updraftvault #updraftvault_connect {\n\tmargin-top: 8px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_connect input {\n\tmargin-right: 10px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_email {\n\twidth: 280px;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_pass {\n\twidth: 200px;\n}\n\n.updraftplusmethod.updraftvault #vault-is-connected {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraftplusmethod.updraftvault #updraftvault_settings_default p {\n\tclear: left;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-container {\n\ttext-align: center;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option {\n\twidth: 40%;\n\ttext-align: center;\n\tpadding-top: 20px;\n\tdisplay: inline-block;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-size {\n\tfont-size: 200%;\n\tfont-weight: bold;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-link {\n\tclear: both;\n\tfont-size: 150%;\n}\n\n.updraftplusmethod.updraftvault .vault-purchase-option-or {\n\tclear: both;\n\tfont-size: 115%;\n\tfont-style: italic;\n}\n\n/* Automation Backup Advert by B */\n.autobackup-image {\n/* \tdisplay: inline-block; */\n/*\tmin-width: 10%;\n\tmax-width:25%;*/\n/*\tfloat: left;*/\n\tclear: left;\n\tfloat: left;\n\twidth: 110px;\n\theight: 110px;\n}\n\n.autobackup-description {\n\twidth: 100%;\n}\n\n.advert-description {\n\tfloat: left;\n\tclear: right;\n\tpadding: 4px 10px 8px 10px;\n\twidth: 70%;\n\tclear: right;\n\tvertical-align: top;\n}\n\n.advert-btn {\n\tdisplay: inline-block;\n\tmin-width: 10%;\n\tvertical-align: top;\n\tmargin-bottom: 8px;\n}\n\n.advert-btn:first-of-type {\n\tmargin-top: 25px;\n}\n\n.advert-btn a {\n\tdisplay: block;\n\tcursor: pointer;\n}\n\na.btn-get-started {\n\tbackground: #FFF;\n\tborder: 2px solid #DF6926;\n\tborder-radius: 4px;\n\tcolor: #DF6926;\n\tdisplay: inline-block;\n\tmargin-left: 10px !important;\n\tmargin-bottom: 7px !important;\n\tfont-size: 18px !important;\n\tline-height: 20px;\n\tmin-height: 28px;\n\tpadding: 11px 10px 5px 10px;\n\ttext-transform: uppercase;\n\ttext-decoration: none;\n}\n\n.circle-dblarrow {\n\tborder: 1px solid #DF6926;\n\tborder-radius: 100%;\n\tdisplay: inline-block;\n\tfont-size: 17px;\n\tline-height: 17px;\n\tmargin-left: 5px;\n\twidth: 20px;\n\theight: 20px;\n\ttext-align: center;\n}\n\n/* End Automation Backup Advert by B */\n/* New Responsive Pretty Advanced Settings */\n.expertmode .advanced_settings_container {\n\theight: auto;\n\toverflow: hidden;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu {\n\tfloat: none;\n\tborder-bottom: 1px solid rgb(204, 204, 204);\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content {\n\tpadding-top: 5px;\n\tfloat: none;\n\twidth: auto;\n\toverflow: auto;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content h3:first-child {\n\tmargin-top: 5px !important;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .advanced_tools {\n\tdisplay: none;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content .site_info {\n\tdisplay: block;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\tdisplay: inline-block;\n\tcursor: pointer;\n\tpadding: 5px;\n\tcolor: #000;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_text {\n\tfont-size: 16px;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button:hover {\n\tbackground-color: #EAEAEA;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active {\n\tbackground-color: #3498DB;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_menu .active:hover {\n\tbackground-color: #72C5FD;\n\tcolor: #FFF;\n}\n\n.expertmode .advanced_settings_container .advanced_settings_content input#import_settings {\n\theight: auto !important;\n}\n\ndiv#updraft-wrap a {\n\tcursor: pointer !important;\n}\n\n.updraftcentral_wizard_option {\n\twidth: 45%;\n\tfloat: left;\n\ttext-align: center;\n}\n\n.updraftcentral_wizard_option label {\n\tmargin-bottom: 8px;\n}\n\n#updraftcentral_keys_table {\n\tdisplay: none;\n}\n\n.create_key_container {\n\tborder: 1px solid;\n\tborder-radius: 4px;\n\tpadding: 0 0 6px 6px;\n\tmargin-bottom: 8px;\n}\n\n.updraftcentral_cloud_connect {\n\tborder-radius: 4px;\n\tborder: 1px solid #000;\n\tpadding: 0 20px;\n\tmargin-top: 30px;\n\tbackground-color: #FFF;\n}\n\n.updraftcentral_cloud_error {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #F00;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_info {\n\tborder: 1px solid #000;\n\tpadding: 3px 10px;\n\tborder-left: 3px solid #EF8F31;\n\tbackground-color: #FFF;\n\tmargin-bottom: 10px;\n}\n\n.updraftplus_spinner.spinner {\n\tpadding-left: 25px;\n\tfloat: none;\n}\n\n.updraftplus_spinner.spinner.visible {\n\tvisibility: visible;\n\twidth: auto;\n}\n\n.updraftcentral_cloud_notices .updraftplus_spinner {\n\tmargin-top: -5px;\n}\n\n.updraftcentral-subheading {\n\tfont-size: 14px;\n\tmargin-top: -10px;\n\tmargin-bottom: 20px;\n}\n\n#updraftcentral_cloud_form input#email,\n#updraftcentral_cloud_form input#password {\n\tmin-width: 250px;\n}\n\n.updraftcentral-data-consent {\n\tfont-size: 13px;\n\tmargin-bottom: 10px;\n}\n\n.updraftcentral_cloud_wizard_image {\n\tfloat: left;\n\tmin-width: 100px;\n\tmargin-right: 25px;\n}\n\n.updraftcentral_cloud_wizard {\n\tfloat: left;\n}\n\n.updraftcentral_cloud_clear {\n\tclear: both;\n}\n\n.updraftplus-settings-footer {\n\tmargin-top: 30px;\n}\n\n.updraftplus-top-menu {\n\tpadding: 0.5em;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\tbackground: transparent;\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow .updraft-log-link {\n\tfloat: none;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_row {\n\tflex-direction: column;\n\tpadding-left: 20px;\n\tpadding-right: 20px;\n}\n\n#updraft_inpage_backup #updraft_activejobsrow .updraft_progress_container {\n\twidth: 100%;\n}\n\n#updraft_inpage_backup #updraft_activejobs_table {\n\toverflow: inherit;\n}\n\n#updraft_inpage_backup span#updraft_lastlogcontainer {\n\tpadding: 18px;\n\tbackground: #FAFAFA;\n\tdisplay: block;\n\tfont-size: 90%;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup div#updraft_activejobsrow {\n\tbackground: #FAFAFA;\n\tbox-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n#updraft_inpage_backup #updraft_lastlogmessagerow > div {\n\tbackground: transparent;\n\tpadding: 0;\n}\n\n#updraft_inpage_backup .last-message > strong {\n\tdisplay: block;\n\tmargin-top: 13px;\n}\n\n/* Restoration page */\n\n.updraft_restore_container {\n\tdisplay: block;\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\tright: 0;\n\tbottom: 0;\n\tz-index: 99999;\n\tpadding-top: 30px;\n\tbackground: #F1F1F1;\n\toverflow: auto;\n}\n\n.updraft-modal-is-opened .select2-container {\n\tz-index: 99999;\n}\n\nbody.updraft-modal-is-opened {\n\toverflow: hidden;\n}\n\n.updraft_restore_container h2 {\n\tmargin: 0;\n}\n\n.updraft_restore_container .updraftmessage {\n\tbox-sizing: border-box;\n\tmax-width: 860px;\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.updraft_restore_main {\n\tmax-width: 860px;\n\tmargin: 0 auto;\n\tmargin-top: 20px;\n\tbackground: #FFF;\n\tbox-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);\n\tposition: relative;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--header {\n\tfont-size: 20px;\n\tfont-weight: bold;\n\ttext-align: center;\n\tpadding-top: 16px;\n\tline-height: 20px;\n\twidth: 100%;\n\tmax-width: 100%;\n\tpadding-right: 30px;\n\tpadding-left: 30px;\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity {\n\tposition: relative;\n\twidth: calc(100% - 350px);\n\tbox-sizing: border-box;\n}\n\n.updraft_restore_main--activity-title {\n\tpadding: 20px;\n\tmargin: 0;\n}\n\n.show-credentials-form.updraft_restore_main .updraft_restore_main--activity-title {\n\tdisplay: none;\n}\n\n.updraft_restore_main--components {\n\twidth: 350px;\n\tpadding: 20px;\n\tbox-sizing: border-box;\n\tbackground: #F8F8F8;\n\tmin-height: 350px;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\tbackground: #23282D;\n\tcolor: #E3E3E3;\n\tfont-family: monospace;\n\tpadding: 19px;\n\toverflow: auto;\n\tposition: absolute;\n\ttop: 60px;\n\tbottom: 0;\n\tright: 0;\n\tleft: 0;\n}\n\n#updraftplus_ajax_restore_output form {\n\twhite-space: normal;\n\tfont-family: -apple-system, blinkmacsystemfont, \"Segoe UI\", roboto, oxygen-sans, ubuntu, cantarell, \"Helvetica Neue\", sans-serif;\n}\n\n#updraftplus_ajax_restore_output .updraft_restore_errors {\n\tborder: 1px solid #DC3232;\n\tpadding: 10px 20px;\n\twhite-space: normal;\n}\n\n.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output h2 {\n\tcolor: #00A0D2;\n\tpadding-top: 10px;\n\tpadding-bottom: 5px;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output {\n\tpadding: 20px;\n\tborder-left: 1px solid #EEE;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output #message {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table td,\n.updraft_restore_main.show-credentials-form div#updraftplus_ajax_restore_output .form-table th {\n\tpadding-bottom: 0;\n}\n\n.updraft_restore_main.show-credentials-form .updraft_restore_main--components {\n\topacity: 0.2;\n}\n\n.updraft_restore_main.show-credentials-form div.error .restore-credential-errors--list p {\n\tmargin: 0;\n\tlist-style-type: disc;\n\tdisplay: list-item;\n\tlist-style-position: inside;\n}\n\n.restore-credential-errors > :first-child {\n\tmargin-top: 0;\n}\n\n.restore-credential-errors > :last-child {\n\tmargin-bottom: 0;\n}\n\nul.updraft_restore_components_list li {\n\tcolor: #BABABA;\n\tfont-size: 1.2em;\n\tmargin-bottom: 1em;\n}\n\nul.updraft_restore_components_list li::before {\n\tcontent: '\\f469';\n\tfont-family: dashicons;\n\tfont-size: 20px;\n\tvertical-align: middle;\n\tdisplay: inline-block;\n\tmargin-right: 7px;\n}\n\nul.updraft_restore_components_list li span {\n\tvertical-align: middle;\n}\n\nul.updraft_restore_components_list li.done {\n\tcolor: green;\n}\n\nul.updraft_restore_components_list li.done::before {\n\tcontent: \"\\f147\";\n}\n\nul.updraft_restore_components_list li.active {\n\tcolor: inherit;\n}\n\nul.updraft_restore_components_list li.active::before {\n\tcontent: \"\\f463\";\n\tanimation: udp_rotate 1s linear infinite;\n}\n\nul.updraft_restore_components_list li.error {\n\tcolor: #DC3232;\n}\n\nul.updraft_restore_components_list li.error::before {\n\tcontent: \"\\f335\";\n}\n\n.updraft_restore_result {\n\tpadding: 10px 0;\n\tfont-size: 1.3em;\n\tmargin-bottom: 1em;\n\tvertical-align: middle;\n\tdisplay: none;\n}\n\n.updraft_restore_result.restore-error {\n\tcolor: #DC3232;\n}\n\n.updraft_restore_result.restore-success {\n\tcolor: green;\n}\n\n.updraft_restore_result .dashicons {\n\tfont-size: 35px;\n\theight: 35px;\n\tline-height: 33px;\n\twidth: 35px;\n}\n\n.updraft_restore_result span {\n\tvertical-align: middle;\n}\n\n/* Restore modal */\n\n#updraft-restore-modal {\n\twidth: 100%;\n}\n\ndiv#updraft-restore-modal .notice {\n\tbackground: #F8F8F8;\n}\n\n.updraft-restore-modal--stage .updraft--two-halves,\n.updraft-restore-modal--stage .updraft--one-half {\n\tpadding: 20px 30px;\n}\n\n.updraft-restore-modal--header {\n\tpadding: 20px;\n\tpadding-bottom: 0px;\n\ttext-align: center;\n\tborder-bottom: 1px solid #EEE;\n}\n\n.updraft-restore-modal--header h3 {\n\tmargin: 0;\n\tpadding: 0;\n}\n\n.updraft-restore-item {\n\tpadding-bottom: 4px;\n}\n\n.updraft-restore-buttons {\n\tpadding-top: 10px;\n}\n\nul.updraft-restore--stages {\n\tdisplay: inline-block;\n\tmargin: 0;\n\theight: 28px;\n}\n\nul.updraft-restore--stages li {\n\tdisplay: inline-block;\n\tposition: relative;\n\twidth: 12px;\n\theight: 12px;\n\tbackground: #D2D2D2;\n\tborder-radius: 20px;\n\tline-height: 1;\n\tmargin: 0 4px;\n\tvertical-align: middle;\n}\n\nul.updraft-restore--stages li.active {\n\tbackground: #444;\n}\n\n.updraft-restore--footer {\n\tborder-top: 1px solid #EEE;\n\tpadding: 20px;\n\ttext-align: center;\n\tposition: sticky;\n\tbottom: 0;\n\tbackground: #FFF;\n\twidth: 100%;\n\tbox-sizing: border-box;\n}\n\n.updraft-restore--footer .updraft-restore--cancel {\n\tposition: absolute;\n\tleft: 20px;\n\ttop: auto;\n}\n\n.updraft-restore--footer .updraft-restore--next-step {\n\tposition: absolute;\n\tright: 20px;\n\ttop: auto;\n}\n\nul.updraft-restore--stages li span {\n\tposition: absolute;\n\twidth: 120px;\n\tbottom: calc(100% + 14px);\n\tleft: -55px;\n\tbackground: #000000DB;\n\tpadding: 5px;\n\tbox-sizing: border-box;\n\tborder-radius: 4px;\n\tcolor: #FFF;\n\ttext-align: center;\n\tdisplay: none;\n}\n\nul.updraft-restore--stages li:hover span {\n\tdisplay: inline-block;\n}\n\n.updraft-restore-item input[type=checkbox] {\n\tmargin-bottom: -5px;\n}\n\n.updraft-restore-item input[type=checkbox]:checked + label {\n\tfont-weight: bold;\n}\n\n/* Hide close button on download window */\ndiv#updraft-restore-modal .ud_downloadstatus__close {\n\tdisplay: none;\n}\n\n#ud_downloadstatus2:not(:empty) {\n\tmargin-top: 15px;\n}\n\n.dashicons.rotate {\n\tanimation: udp_rotate 1s linear infinite;\n}\n\n/* Activity stalled */\n\nspan#updraftplus_ajax_restore_last_activity {\n\tfont-size: .8rem;\n\tfont-weight: normal;\n\tfloat: right;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice {\n\tmargin: -20px -20px 20px;\n\tpadding: 19px;\n}\n\n.updraft_restore_main--components .updated.show_admin_restore_in_progress_notice button {\n\tmargin-right: 5px;\n}\n\n@media only screen and (min-width: 1024px) {\n\n\t#updraft_activejobsrow .updraft_row {\n\t\tdisplay: flex;\n\t\talign-items: baseline;\n\t}\n\n\t#updraft_activejobsrow .updraft_row .updraft_col {\n\t\tflex: auto;\n\t}\n\n\t#updraft_activejobsrow .updraft_progress_container {\n\t\twidth: calc(100% - 230px);\n\t}\n\n}\n\n@media only screen and (min-width: 782px) {\n\n\t.settings_page_updraftplus input[type=text],\n\t.settings_page_updraftplus input[type=password],\n\t.settings_page_updraftplus input[type=number] {\n\t\t/* border-radius: 4px; */\n\t\tline-height: 1.42;\n\t\t/* border: 1px solid #CCC; */\n\t\theight: 27px;\n\t\tpadding: 2px 6px;\n\t\tcolor: #555;\n\t}\n\n\t.settings_page_updraftplus input[type=\"number\"] {\n\t\theight: 31px;\n\t}\n\n\t#ud_massactions.active, #updraft-delete-waitwarning.active {\n\t\tposition: fixed;\n\t\tbottom: 0;\n\t\tleft: 160px;\n\t\tright: 0;\n\t\ttop: auto;\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t\tbox-shadow: 0 0 10px rgba(0, 0, 0, 0.2);\n\t}\n\n\tbody.folded #ud_massactions.active, body.folded #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n\t.updraft-after-form-table {\n\t\tmargin-left: 250px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.range-selection:not(.backuprowselected) .updraft_existingbackup_date .backup_date_label {\n\t\tcolor: #FFF;\n\t}\n\n}\n\n@media only screen and (min-width: 782px) and (max-width: 960px) {\n\n\tbody.auto-fold #ud_massactions.active, body.auto-fold #updraft-delete-waitwarning.active {\n\t\tleft: 36px;\n\t}\n\n}\n\n@media only screen and (max-width: 782px) {\n\n\t#updraft-wrap {\n\t\tmargin-right: 0;\n\t}\n\n\t#updraft-wrap .form-table td {\n\t\tpadding-right: 0;\n\t}\n\n\tlabel.updraft_checkbox {\n\t\tmargin-bottom: 8px;\n\t\tmargin-top: 8px;\n\t\tmargin-left: 36px;\n\t}\n\n\t.updraft_retain_rules {\n\t\tposition: relative;\n\t\tmargin-right: 0;\n\t\tborder: 1px solid #CCC;\n\t\tpadding: 5px;\n\t\tmargin-bottom: -1px;\n\t}\n\n\t.updraft_retain_rules_delete {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\ttop: 5px;\n\t}\n\n\ta[id*=updraft_retain_] {\n\t\tdisplay: block;\n\t\tpadding: 15px 15px 15px 0;\n\t}\n\n\tlabel.updraft_checkbox > input[type=checkbox] {\n\t\tmargin-left: -33px;\n\t}\n\n\t#updraft-backupnow-button {\n\t\tmargin: 0;\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > .updraft_backup_btn_wrapper {\n\t\tpadding-top: 0;\n\t}\n\n\t#ud_massactions, #updraft-delete-waitwarning {\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t}\n\n\t#ud_massactions.active {\n\t\tposition: fixed;\n\t\ttop: auto;\n\t\tbottom: 0;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\ttext-align: center;\n\t\tbox-shadow: 0 -3px 15px rgba(0, 0, 0, 0.08);\n\t\tbackground: #FFF;\n\t\tz-index: 3;\n\t}\n\n\t#ud_massactions strong {\n\t\tdisplay: block;\n\t\tmargin-bottom: 5px;\n\t}\n\n\tsmall.ud_massactions-tip {\n\t\tdisplay: block;\n\t}\n\n/*\t.advert-description {\n\t\tmin-width: 75%;\n\t\tmargin-bottom: 5px;\n\t}\n\n\t.advert-btn {\n\t\tmargin-top: 15px;\n\t\tmargin-left:86px;\n\t\tmin-width: 100%;\n\t}*/\n\n\t.existing-backups-table .backup_date_label > div, .existing-backups-table .backup_date_label span > div {\n\t\tfont-weight: normal;\n\t}\n\n\t.existing-backups-table .backup_date_label .clear-right {\n\t\tdisplay: inline-block;\n\t}\n\n\ttable.widefat.existing-backups-table {\n\t\tborder: 0;\n\t\tbox-shadow: none;\n\t\tbackground: transparent;\n\t}\n\n\t.existing-backups-table thead {\n\t\tborder: none;\n\t\tclip: rect(0 0 0 0);\n\t\theight: 1px;\n\t\tmargin: -1px;\n\t\toverflow: hidden;\n\t\tpadding: 0;\n\t\tposition: absolute;\n\t\twidth: 1px;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\t.existing-backups-table tr {\n\t\tdisplay: block;\n\t\tmargin-bottom: .625em;\n\t\tpadding-bottom: 16.625px;\n\t\twidth: 100%;\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t\tbackground: #FFF;\n\t\tbox-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);\n\t}\n\n\t.existing-backups-table td {\n\t\tborder-bottom: 1px solid #DDD;\n\t\tdisplay: block;\n\t\tfont-size: .9em;\n\t\ttext-align: left;\n\t\twidth: 100%;\n\t\tpadding: 10px;\n\t\tmargin: 0;\n\t}\n\n\t.wp-list-table.existing-backups-table tr:not(.inline-edit-row):not(.no-items) td:not(.column-primary)::before {\n\t\t/*\n\t\t* aria-label has no advantage, it won't be read inside a table\n\t\tcontent: attr(aria-label);\n\t\t*/\n\t\tcontent: attr(data-label);\n\t\tfont-weight: bold;\n\t\tdisplay: block;\n\t\tposition: relative;\n\t\tleft: auto;\n\t\tpadding-bottom: 10px;\n\t\twidth: auto;\n\t\ttext-align: left;\n\t}\n\n\t.existing-backups-table td:last-child {\n\t\tborder-bottom: 0;\n\t}\n\n\t.form-table td.updraft_existingbackup_date {\n\t\twidth: inherit;\n\t\tmax-width: 100%;\n\t}\n\n\t.existing-backups-table td.before-restore-button {\n\t\tmin-height: 36px;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t\twidth: 100%;\n\t}\n\n\t.updraft_progress_container {\n\t\t/* width: 77%; */\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row {\n\t\tposition: relative;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected {\n\t\tbackground-color: #FFF;\n\t\tborder-left: 4px solid #0572AA;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td:not(.backup-select) {\n\t\tmargin-left: 50px;\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row td.backup-select {\n\t\twidth: 50px !important;\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\ttop: 0;\n\t\tbox-sizing: border-box;\n\t\theight: 100%;\n\t\tz-index: 1;\n\t\tborder: none;\n\t\tborder-right: 1px solid rgba(0, 0, 0, 0.05);\n\t}\n\n\t#updraft-navtab-backups-content .updraft_existing_backups input[type=\"checkbox\"] {\n\t\theight: 25px;\n\t}\n\n\t.updraft_migrate_intro button.button.button-primary.button-hero {\n\t\tdisplay: block;\n\t\tmargin-right: 0;\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t}\n\n\t.updraftclone-main-row {\n\t\tflex-direction: column;\n\t}\n\n\t.updraftclone-main-row > div {\n\t\twidth: auto;\n\t\tmax-width: none;\n\t\tmargin-right: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n\t.form-table th {\n\t\tpadding-bottom: 10px;\n\t}\n\n\t.updraft--flex {\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main {\n\t\tflex-wrap: wrap;\n\t\tflex-direction: column;\n\t}\n\n\t.updraft_restore_main--components {\n\t\twidth: 100%;\n\t\tmin-height: 0;\n\t}\n\n\t.updraft_restore_main--activity {\n\t\twidth: 100%;\n\t}\n\n\tdiv#updraftplus_ajax_restore_output,\n\t.updraft_restore_main:not(.show-credentials-form) div#updraftplus_ajax_restore_output {\n\t\tposition: relative;\n\t\ttop: 0;\n\t\tbottom: auto;\n\t}\n\n\t.updraft--flex > .updraft--two-halves,\n\t.updraft--flex > .updraft--one-half {\n\t\twidth: 100%;\n\t}\n\n\t.updraft-restore-item {\n\t\tpadding-bottom: 10px;\n\t\tpadding-top: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 600px) {\n\t\n\t.updraft_next_scheduled_backups_wrapper > div {\n\t}\n\n\t.updraft_next_scheduled_entity {\n\t\tfloat: none;\n\t\twidth: 100%;\n\t\tmargin-bottom: 2em;\n\t}\n\n\t.updraft_time_now_wrapper {\n\t\tmargin-top: 0;\n\t}\n\n\t#updraft_lastlogmessagerow h3 {\n\t\tmargin-bottom: 5px;\n\t}\n\n\t#updraft_lastlogmessagerow .updraft-log-link {\n\t\tdisplay: block;\n\t\tfloat: none;\n\t\tmargin: 0;\n\t\tmargin-bottom: 10px;\n\t}\n\n}\n\n@media screen and (max-width: 520px) {\n}\n\n@media only screen and (min-width: 768px) {\n\n\t.addon-activation-notice {\n\t\tleft: 20em;\n\t}\n\n\t.existing-backups-table tbody tr.range-selection:hover, .existing-backups-table tbody tr.range-selection {\n\t\tbackground: #0572AA; /* #2b7fd9 */\n\t}\n\n\t.existing-backups-table tbody tr:hover {\n\t\tbackground: #F1F1F1;\n\t}\n\n\t.existing-backups-table tbody tr td.before-restore-button {\n\t\tposition: relative;\n\t}\n\n\t.form-table .existing-backups-table thead th.check-column {\n\t\tpadding-left: 6px;\n\t}\n\n\t.existing-backups-table tr td:first-child {\n\t\tborder-left: 4px solid transparent;\n\t}\n\n\t.existing-backups-table tr.backuprowselected td:first-child {\n\t\tborder-left-color: #0572AA;\n\t}\n\n}\n\n@media screen and (min-width: 670px) {\n\t\n\t.expertmode .advanced_settings_container .advanced_settings_menu {\n\t\tfloat: left;\n\t\twidth: 215px;\n\t\tborder-right: 1px solid rgb(204, 204, 204);\n\t\tborder-bottom: none;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_content {\n\t\tpadding-left: 10px;\n\t\tpadding-top: 0px;\n\t}\n\n\t.expertmode .advanced_settings_container .advanced_settings_menu .advanced_tools_button {\n\t\tdisplay: block;\n\t}\n\n}\n\n@media only screen and (max-width: 1068px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: calc(50% - 10px);\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: 100px;\n\t}\n\n}\n\n@media only screen and (max-width: 600px) {\n\n\t.updraft-more-plugins .udp-box {\n\t\twidth: 100%;\n\t\tmargin-bottom: 20px;\n\t}\n\n\t.updraft_feat_table td:nth-child(2), .updraft_feat_table td:nth-child(3) {\n\t\twidth: auto;\n\t}\n\n\ttable.updraft_feat_table {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table tr {\n\t\tdisplay: flex;\n\t\tflex-wrap: wrap;\n\t}\n\n\ttable.updraft_feat_table td {\n\t\tdisplay: block;\n\t}\n\n\ttable.updraft_feat_table td:first-child {\n\t\twidth: 100%;\n\t\tborder-bottom: none;\n\t}\n\n\ttable.updraft_feat_table td:not(:first-child) {\n\t\twidth: 50%;\n\t\tbox-sizing: border-box;\n\t}\n\n\ttable.updraft_feat_table td:first-child:empty {\n\t\tdisplay: none;\n\t}\n\n\ttd[data-colname]::before {\n\t\tcontent: attr(data-colname);\n\t\tfont-size: 0.8rem;\n\t\tcolor: #CCC;\n\t\tline-height: 1;\n\t}\n\n}\n"]}
|
@@ -1,392 +1,394 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Dropbox API base class
|
5 |
-
* @author Ben Tadiar <ben@handcraftedbyben.co.uk>
|
6 |
-
* @link https://github.com/benthedesigner/dropbox
|
7 |
-
* @link https://www.dropbox.com/developers
|
8 |
-
* @link https://status.dropbox.com Dropbox status
|
9 |
-
* @package Dropbox
|
10 |
-
*/
|
11 |
-
class UpdraftPlus_Dropbox_API {
|
12 |
-
// API Endpoints
|
13 |
-
const API_URL_V2 = 'https://api.dropboxapi.com/';
|
14 |
-
const CONTENT_URL_V2 = 'https://content.dropboxapi.com/2/';
|
15 |
-
|
16 |
-
/**
|
17 |
-
* OAuth consumer object
|
18 |
-
* @var null|OAuth\Consumer
|
19 |
-
*/
|
20 |
-
private $OAuth;
|
21 |
-
|
22 |
-
/**
|
23 |
-
* The root level for file paths
|
24 |
-
* Either `dropbox` or `sandbox` (preferred)
|
25 |
-
* @var null|string
|
26 |
-
*/
|
27 |
-
private $root;
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Format of the API response
|
31 |
-
* @var string
|
32 |
-
*/
|
33 |
-
private $responseFormat = 'php';
|
34 |
-
|
35 |
-
/**
|
36 |
-
* JSONP callback
|
37 |
-
* @var string
|
38 |
-
*/
|
39 |
-
private $callback = 'dropboxCallback';
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Chunk size used for chunked uploads
|
43 |
-
* @see \Dropbox\API::chunkedUpload()
|
44 |
-
*/
|
45 |
-
private $chunkSize = 4194304;
|
46 |
-
|
47 |
-
/**
|
48 |
-
* Set the OAuth consumer object
|
49 |
-
* See 'General Notes' at the link below for information on access type
|
50 |
-
* @link https://www.dropbox.com/developers/reference/api
|
51 |
-
* @param OAuth\Consumer\ConsumerAbstract $OAuth
|
52 |
-
* @param string $root Dropbox app access type
|
53 |
-
*/
|
54 |
-
public function __construct(Dropbox_ConsumerAbstract $OAuth, $root = 'sandbox') {
|
55 |
-
$this->OAuth = $OAuth;
|
56 |
-
$this->setRoot($root);
|
57 |
-
}
|
58 |
-
|
59 |
-
/**
|
60 |
-
* Set the root level
|
61 |
-
* @param mixed $root
|
62 |
-
* @throws Exception
|
63 |
-
* @return void
|
64 |
-
*/
|
65 |
-
public function setRoot($root) {
|
66 |
-
if ($root !== 'sandbox' && $root !== 'dropbox') {
|
67 |
-
throw new Exception("Expected a root of either 'dropbox' or 'sandbox', got '$root'");
|
68 |
-
} else {
|
69 |
-
$this->root = $root;
|
70 |
-
}
|
71 |
-
}
|
72 |
-
|
73 |
-
/**
|
74 |
-
* Retrieves information about the user's account
|
75 |
-
* @return object stdClass
|
76 |
-
*/
|
77 |
-
public function accountInfo() {
|
78 |
-
$call = '2/users/get_current_account';
|
79 |
-
$params = array('api_v2' => true);
|
80 |
-
$response = $this->fetch('POST', self::API_URL_V2, $call, $params);
|
81 |
-
return $response;
|
82 |
-
}
|
83 |
-
|
84 |
-
/**
|
85 |
-
* Retrieves information about the user's quota
|
86 |
-
* @param array $options - valid keys are 'timeout'
|
87 |
-
* @return object stdClass
|
88 |
-
*/
|
89 |
-
public function quotaInfo($options = array()) {
|
90 |
-
$call = '2/users/get_space_usage';
|
91 |
-
// Cases have been seen (Apr 2019) where a response came back (HTTP/2.0 response header - suspected outgoing web hosting proxy, as everyone else seems to get HTTP/1.0 and I'm not aware that current Curl versions would do HTTP/2.0 without specifically being told to) after 180 seconds; a valid response, but took a long time.
|
92 |
-
$params = array(
|
93 |
-
'api_v2' => true,
|
94 |
-
'timeout' => isset($options['timeout']) ? $options['timeout'] : 20
|
95 |
-
);
|
96 |
-
$response = $this->fetch('POST', self::API_URL_V2, $call, $params);
|
97 |
-
return $response;
|
98 |
-
}
|
99 |
-
|
100 |
-
/**
|
101 |
-
* Uploads large files to Dropbox in mulitple chunks
|
102 |
-
* @param string $file Absolute path to the file to be uploaded
|
103 |
-
* @param string|bool $filename The destination filename of the uploaded file
|
104 |
-
* @param string $path Path to upload the file to, relative to root
|
105 |
-
* @param boolean $overwrite Should the file be overwritten? (Default: true)
|
106 |
-
* @param integer $offset position to seek to when opening the file
|
107 |
-
* @param string $uploadID existing upload_id to resume an upload
|
108 |
-
* @param string|array function to call back to upon each chunk
|
109 |
-
* @return stdClass
|
110 |
-
*/
|
111 |
-
public function chunkedUpload($file, $filename = false, $path = '', $overwrite = true, $offset = 0, $uploadID = null, $callback = null) {
|
112 |
-
|
113 |
-
if (file_exists($file)) {
|
114 |
-
if ($handle = @fopen($file, 'r')) {
|
115 |
-
// Set initial upload ID and offset
|
116 |
-
if ($offset > 0) {
|
117 |
-
fseek($handle, $offset);
|
118 |
-
}
|
119 |
-
|
120 |
-
/*
|
121 |
-
Set firstCommit to true so that the upload session start endpoint is called.
|
122 |
-
*/
|
123 |
-
$firstCommit = (0 == $offset);
|
124 |
-
|
125 |
-
// Read from the file handle until EOF, uploading each chunk
|
126 |
-
while ($data = fread($handle, $this->chunkSize)) {
|
127 |
-
|
128 |
-
|
129 |
-
$this->OAuth->setInFile($data);
|
130 |
-
|
131 |
-
if ($firstCommit) {
|
132 |
-
$params = array(
|
133 |
-
'close' => false,
|
134 |
-
'api_v2' => true,
|
135 |
-
'content_upload' => true
|
136 |
-
);
|
137 |
-
$response = $this->fetch('POST', self::CONTENT_URL_V2, 'files/upload_session/start', $params);
|
138 |
-
$firstCommit = false;
|
139 |
-
} else {
|
140 |
-
$params = array(
|
141 |
-
'cursor' => array(
|
142 |
-
'session_id' => $uploadID,
|
143 |
-
// If you send it as a string, Dropbox will be unhappy
|
144 |
-
'offset' => (int)$offset
|
145 |
-
),
|
146 |
-
'api_v2' => true,
|
147 |
-
'content_upload' => true
|
148 |
-
);
|
149 |
-
$response = $this->append_upload($params, false);
|
150 |
-
}
|
151 |
-
|
152 |
-
// On subsequent chunks, use the upload ID returned by the previous request
|
153 |
-
if (isset($response['body']->session_id)) {
|
154 |
-
$uploadID = $response['body']->session_id;
|
155 |
-
}
|
156 |
-
|
157 |
-
/*
|
158 |
-
API v2 no longer returns the offset, we need to manually work this out. So check that there are no errors and update the offset as well as calling the callback method.
|
159 |
-
*/
|
160 |
-
if (!isset($response['body']->error)) {
|
161 |
-
$offset = ftell($handle);
|
162 |
-
if ($callback) {
|
163 |
-
call_user_func($callback, $offset, $uploadID, $file);
|
164 |
-
}
|
165 |
-
$this->OAuth->setInFile(null);
|
166 |
-
}
|
167 |
-
}
|
168 |
-
|
169 |
-
// Complete the chunked upload
|
170 |
-
$filename = (is_string($filename)) ? $filename : basename($file);
|
171 |
-
$params = array(
|
172 |
-
'cursor' => array(
|
173 |
-
'session_id' => $uploadID,
|
174 |
-
'offset' => $offset
|
175 |
-
),
|
176 |
-
'commit' => array(
|
177 |
-
'path' => '/' . $this->encodePath($path . $filename),
|
178 |
-
'mode' => 'add'
|
179 |
-
),
|
180 |
-
'api_v2' => true,
|
181 |
-
'content_upload' => true
|
182 |
-
);
|
183 |
-
$response = $this->append_upload($params, true);
|
184 |
-
return $response;
|
185 |
-
} else {
|
186 |
-
throw new Exception('Could not open ' . $file . ' for reading');
|
187 |
-
}
|
188 |
-
}
|
189 |
-
|
190 |
-
// Throw an Exception if the file does not exist
|
191 |
-
throw new Exception('Local file ' . $file . ' does not exist');
|
192 |
-
}
|
193 |
-
|
194 |
-
private function append_upload($params, $last_call) {
|
195 |
-
try {
|
196 |
-
if ($last_call){
|
197 |
-
$response = $this->fetch('POST', self::CONTENT_URL_V2, 'files/upload_session/finish', $params);
|
198 |
-
} else {
|
199 |
-
$response = $this->fetch('POST', self::CONTENT_URL_V2, 'files/upload_session/append_v2', $params);
|
200 |
-
}
|
201 |
-
} catch (Exception $e) {
|
202 |
-
$responseCheck = json_decode($e->getMessage());
|
203 |
-
if (isset($responseCheck) && strpos($responseCheck[0] , 'incorrect_offset') !== false) {
|
204 |
-
$expected_offset = $responseCheck[1];
|
205 |
-
throw new Exception('Submitted input out of alignment: got ['.$params['cursor']['offset'].'] expected ['.$expected_offset.']');
|
206 |
-
|
207 |
-
// $params['cursor']['offset'] = $responseCheck[1];
|
208 |
-
// $response = $this->append_upload($params, $last_call);
|
209 |
-
}
|
210 |
-
throw $
|
211 |
-
}
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
*
|
220 |
-
*
|
221 |
-
* @param
|
222 |
-
* @
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
$
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
$
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
return
|
252 |
-
}
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
*
|
259 |
-
* @param
|
260 |
-
* @param
|
261 |
-
* @return
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
'
|
272 |
-
'
|
273 |
-
'
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
*
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
$
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
*
|
295 |
-
* @param string $
|
296 |
-
* @param
|
297 |
-
* @
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
case '
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
return $response;
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
*
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
}
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
*
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
throw new Exception('
|
339 |
-
}
|
340 |
-
|
341 |
-
}
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
*
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
*
|
357 |
-
*
|
358 |
-
* @
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
*
|
375 |
-
*
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
*
|
386 |
-
*
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox API base class
|
5 |
+
* @author Ben Tadiar <ben@handcraftedbyben.co.uk>
|
6 |
+
* @link https://github.com/benthedesigner/dropbox
|
7 |
+
* @link https://www.dropbox.com/developers
|
8 |
+
* @link https://status.dropbox.com Dropbox status
|
9 |
+
* @package Dropbox
|
10 |
+
*/
|
11 |
+
class UpdraftPlus_Dropbox_API {
|
12 |
+
// API Endpoints
|
13 |
+
const API_URL_V2 = 'https://api.dropboxapi.com/';
|
14 |
+
const CONTENT_URL_V2 = 'https://content.dropboxapi.com/2/';
|
15 |
+
|
16 |
+
/**
|
17 |
+
* OAuth consumer object
|
18 |
+
* @var null|OAuth\Consumer
|
19 |
+
*/
|
20 |
+
private $OAuth;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* The root level for file paths
|
24 |
+
* Either `dropbox` or `sandbox` (preferred)
|
25 |
+
* @var null|string
|
26 |
+
*/
|
27 |
+
private $root;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Format of the API response
|
31 |
+
* @var string
|
32 |
+
*/
|
33 |
+
private $responseFormat = 'php';
|
34 |
+
|
35 |
+
/**
|
36 |
+
* JSONP callback
|
37 |
+
* @var string
|
38 |
+
*/
|
39 |
+
private $callback = 'dropboxCallback';
|
40 |
+
|
41 |
+
/**
|
42 |
+
* Chunk size used for chunked uploads
|
43 |
+
* @see \Dropbox\API::chunkedUpload()
|
44 |
+
*/
|
45 |
+
private $chunkSize = 4194304;
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Set the OAuth consumer object
|
49 |
+
* See 'General Notes' at the link below for information on access type
|
50 |
+
* @link https://www.dropbox.com/developers/reference/api
|
51 |
+
* @param OAuth\Consumer\ConsumerAbstract $OAuth
|
52 |
+
* @param string $root Dropbox app access type
|
53 |
+
*/
|
54 |
+
public function __construct(Dropbox_ConsumerAbstract $OAuth, $root = 'sandbox') {
|
55 |
+
$this->OAuth = $OAuth;
|
56 |
+
$this->setRoot($root);
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Set the root level
|
61 |
+
* @param mixed $root
|
62 |
+
* @throws Exception
|
63 |
+
* @return void
|
64 |
+
*/
|
65 |
+
public function setRoot($root) {
|
66 |
+
if ($root !== 'sandbox' && $root !== 'dropbox') {
|
67 |
+
throw new Exception("Expected a root of either 'dropbox' or 'sandbox', got '$root'");
|
68 |
+
} else {
|
69 |
+
$this->root = $root;
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Retrieves information about the user's account
|
75 |
+
* @return object stdClass
|
76 |
+
*/
|
77 |
+
public function accountInfo() {
|
78 |
+
$call = '2/users/get_current_account';
|
79 |
+
$params = array('api_v2' => true);
|
80 |
+
$response = $this->fetch('POST', self::API_URL_V2, $call, $params);
|
81 |
+
return $response;
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Retrieves information about the user's quota
|
86 |
+
* @param array $options - valid keys are 'timeout'
|
87 |
+
* @return object stdClass
|
88 |
+
*/
|
89 |
+
public function quotaInfo($options = array()) {
|
90 |
+
$call = '2/users/get_space_usage';
|
91 |
+
// Cases have been seen (Apr 2019) where a response came back (HTTP/2.0 response header - suspected outgoing web hosting proxy, as everyone else seems to get HTTP/1.0 and I'm not aware that current Curl versions would do HTTP/2.0 without specifically being told to) after 180 seconds; a valid response, but took a long time.
|
92 |
+
$params = array(
|
93 |
+
'api_v2' => true,
|
94 |
+
'timeout' => isset($options['timeout']) ? $options['timeout'] : 20
|
95 |
+
);
|
96 |
+
$response = $this->fetch('POST', self::API_URL_V2, $call, $params);
|
97 |
+
return $response;
|
98 |
+
}
|
99 |
+
|
100 |
+
/**
|
101 |
+
* Uploads large files to Dropbox in mulitple chunks
|
102 |
+
* @param string $file Absolute path to the file to be uploaded
|
103 |
+
* @param string|bool $filename The destination filename of the uploaded file
|
104 |
+
* @param string $path Path to upload the file to, relative to root
|
105 |
+
* @param boolean $overwrite Should the file be overwritten? (Default: true)
|
106 |
+
* @param integer $offset position to seek to when opening the file
|
107 |
+
* @param string $uploadID existing upload_id to resume an upload
|
108 |
+
* @param string|array function to call back to upon each chunk
|
109 |
+
* @return stdClass
|
110 |
+
*/
|
111 |
+
public function chunkedUpload($file, $filename = false, $path = '', $overwrite = true, $offset = 0, $uploadID = null, $callback = null) {
|
112 |
+
|
113 |
+
if (file_exists($file)) {
|
114 |
+
if ($handle = @fopen($file, 'r')) {
|
115 |
+
// Set initial upload ID and offset
|
116 |
+
if ($offset > 0) {
|
117 |
+
fseek($handle, $offset);
|
118 |
+
}
|
119 |
+
|
120 |
+
/*
|
121 |
+
Set firstCommit to true so that the upload session start endpoint is called.
|
122 |
+
*/
|
123 |
+
$firstCommit = (0 == $offset);
|
124 |
+
|
125 |
+
// Read from the file handle until EOF, uploading each chunk
|
126 |
+
while ($data = fread($handle, $this->chunkSize)) {
|
127 |
+
|
128 |
+
// Set the file, request parameters and send the request
|
129 |
+
$this->OAuth->setInFile($data);
|
130 |
+
|
131 |
+
if ($firstCommit) {
|
132 |
+
$params = array(
|
133 |
+
'close' => false,
|
134 |
+
'api_v2' => true,
|
135 |
+
'content_upload' => true
|
136 |
+
);
|
137 |
+
$response = $this->fetch('POST', self::CONTENT_URL_V2, 'files/upload_session/start', $params);
|
138 |
+
$firstCommit = false;
|
139 |
+
} else {
|
140 |
+
$params = array(
|
141 |
+
'cursor' => array(
|
142 |
+
'session_id' => $uploadID,
|
143 |
+
// If you send it as a string, Dropbox will be unhappy
|
144 |
+
'offset' => (int)$offset
|
145 |
+
),
|
146 |
+
'api_v2' => true,
|
147 |
+
'content_upload' => true
|
148 |
+
);
|
149 |
+
$response = $this->append_upload($params, false);
|
150 |
+
}
|
151 |
+
|
152 |
+
// On subsequent chunks, use the upload ID returned by the previous request
|
153 |
+
if (isset($response['body']->session_id)) {
|
154 |
+
$uploadID = $response['body']->session_id;
|
155 |
+
}
|
156 |
+
|
157 |
+
/*
|
158 |
+
API v2 no longer returns the offset, we need to manually work this out. So check that there are no errors and update the offset as well as calling the callback method.
|
159 |
+
*/
|
160 |
+
if (!isset($response['body']->error)) {
|
161 |
+
$offset = ftell($handle);
|
162 |
+
if ($callback) {
|
163 |
+
call_user_func($callback, $offset, $uploadID, $file);
|
164 |
+
}
|
165 |
+
$this->OAuth->setInFile(null);
|
166 |
+
}
|
167 |
+
}
|
168 |
+
|
169 |
+
// Complete the chunked upload
|
170 |
+
$filename = (is_string($filename)) ? $filename : basename($file);
|
171 |
+
$params = array(
|
172 |
+
'cursor' => array(
|
173 |
+
'session_id' => $uploadID,
|
174 |
+
'offset' => $offset
|
175 |
+
),
|
176 |
+
'commit' => array(
|
177 |
+
'path' => '/' . $this->encodePath($path . $filename),
|
178 |
+
'mode' => 'add'
|
179 |
+
),
|
180 |
+
'api_v2' => true,
|
181 |
+
'content_upload' => true
|
182 |
+
);
|
183 |
+
$response = $this->append_upload($params, true);
|
184 |
+
return $response;
|
185 |
+
} else {
|
186 |
+
throw new Exception('Could not open ' . $file . ' for reading');
|
187 |
+
}
|
188 |
+
}
|
189 |
+
|
190 |
+
// Throw an Exception if the file does not exist
|
191 |
+
throw new Exception('Local file ' . $file . ' does not exist');
|
192 |
+
}
|
193 |
+
|
194 |
+
private function append_upload($params, $last_call) {
|
195 |
+
try {
|
196 |
+
if ($last_call){
|
197 |
+
$response = $this->fetch('POST', self::CONTENT_URL_V2, 'files/upload_session/finish', $params);
|
198 |
+
} else {
|
199 |
+
$response = $this->fetch('POST', self::CONTENT_URL_V2, 'files/upload_session/append_v2', $params);
|
200 |
+
}
|
201 |
+
} catch (Exception $e) {
|
202 |
+
$responseCheck = json_decode($e->getMessage());
|
203 |
+
if (isset($responseCheck) && strpos($responseCheck[0] , 'incorrect_offset') !== false) {
|
204 |
+
$expected_offset = $responseCheck[1];
|
205 |
+
throw new Exception('Submitted input out of alignment: got ['.$params['cursor']['offset'].'] expected ['.$expected_offset.']');
|
206 |
+
|
207 |
+
// $params['cursor']['offset'] = $responseCheck[1];
|
208 |
+
// $response = $this->append_upload($params, $last_call);
|
209 |
+
} elseif (isset($responseCheck) && strpos($responseCheck[0], 'closed') !== false) {
|
210 |
+
throw new Exception("Upload with upload_id {$params['cursor']['session_id']} already completed");
|
211 |
+
} else {
|
212 |
+
throw $e;
|
213 |
+
}
|
214 |
+
}
|
215 |
+
return $response;
|
216 |
+
}
|
217 |
+
|
218 |
+
/**
|
219 |
+
* Chunked downloads a file from Dropbox, it will return false if a file handle is not passed and will return true if the call was successful.
|
220 |
+
*
|
221 |
+
* @param string $file Path - to file, relative to root, including path
|
222 |
+
* @param resource $outFile - the local file handle
|
223 |
+
* @param array $options - any extra options to be passed e.g headers
|
224 |
+
* @return boolean - a boolean to indicate success or failure
|
225 |
+
*/
|
226 |
+
public function download($file, $outFile = null, $options = array()) {
|
227 |
+
// Only allow php response format for this call
|
228 |
+
if ($this->responseFormat !== 'php') {
|
229 |
+
throw new Exception('This method only supports the `php` response format');
|
230 |
+
}
|
231 |
+
|
232 |
+
if ($outFile) {
|
233 |
+
$this->OAuth->setOutFile($outFile);
|
234 |
+
|
235 |
+
$params = array('path' => '/' . $file, 'api_v2' => true, 'content_download' => true);
|
236 |
+
|
237 |
+
if (isset($options['headers'])) {
|
238 |
+
foreach ($options['headers'] as $key => $header) {
|
239 |
+
$headers[] = $key . ': ' . $header;
|
240 |
+
}
|
241 |
+
$params['headers'] = $headers;
|
242 |
+
}
|
243 |
+
|
244 |
+
$file = $this->encodePath($file);
|
245 |
+
$call = 'files/download';
|
246 |
+
|
247 |
+
$response = $this->fetch('GET', self::CONTENT_URL_V2, $call, $params);
|
248 |
+
|
249 |
+
fclose($outFile);
|
250 |
+
|
251 |
+
return true;
|
252 |
+
} else {
|
253 |
+
return false;
|
254 |
+
}
|
255 |
+
}
|
256 |
+
|
257 |
+
/**
|
258 |
+
* Returns metadata for all files and folders that match the search query
|
259 |
+
* @param mixed $query The search string. Must be at least 3 characters long
|
260 |
+
* @param string [$path=''] The path to the folder you want to search in
|
261 |
+
* @param integer [$limit=1000] Maximum number of results to return (1-1000)
|
262 |
+
* @param integer [$start=0] Result number to start from
|
263 |
+
* @return array
|
264 |
+
*/
|
265 |
+
public function search($query, $path = '', $limit = 1000, $start = 0) {
|
266 |
+
$call = '2/files/search';
|
267 |
+
$path = $this->encodePath($path);
|
268 |
+
// APIv2 requires that the path match this regex: String(pattern="(/(.|[\r\n])*)?|(ns:[0-9]+(/.*)?)")
|
269 |
+
if ($path && '/' != substr($path, 0, 1)) $path = "/$path";
|
270 |
+
$params = array(
|
271 |
+
'path' => $path,
|
272 |
+
'query' => $query,
|
273 |
+
'start' => $start,
|
274 |
+
'max_results' => ($limit < 1) ? 1 : (($limit > 1000) ? 1000 : (int) $limit),
|
275 |
+
'api_v2' => true,
|
276 |
+
);
|
277 |
+
$response = $this->fetch('POST', self::API_URL_V2, $call, $params);
|
278 |
+
return $response;
|
279 |
+
}
|
280 |
+
|
281 |
+
/**
|
282 |
+
* Deletes a file or folder
|
283 |
+
* @param string $path The path to the file or folder to be deleted
|
284 |
+
* @return object stdClass
|
285 |
+
*/
|
286 |
+
public function delete($path) {
|
287 |
+
$call = '2/files/delete';
|
288 |
+
$params = array('path' => '/' . $this->normalisePath($path), 'api_v2' => true);
|
289 |
+
$response = $this->fetch('POST', self::API_URL_V2, $call, $params);
|
290 |
+
return $response;
|
291 |
+
}
|
292 |
+
|
293 |
+
/**
|
294 |
+
* Intermediate fetch function
|
295 |
+
* @param string $method The HTTP method
|
296 |
+
* @param string $url The API endpoint
|
297 |
+
* @param string $call The API method to call
|
298 |
+
* @param array $params Additional parameters
|
299 |
+
* @return mixed
|
300 |
+
*/
|
301 |
+
private function fetch($method, $url, $call, array $params = array()) {
|
302 |
+
// Make the API call via the consumer
|
303 |
+
$response = $this->OAuth->fetch($method, $url, $call, $params);
|
304 |
+
|
305 |
+
// Format the response and return
|
306 |
+
switch ($this->responseFormat) {
|
307 |
+
case 'json':
|
308 |
+
return json_encode($response);
|
309 |
+
case 'jsonp':
|
310 |
+
$response = json_encode($response);
|
311 |
+
return $this->callback . '(' . $response . ')';
|
312 |
+
default:
|
313 |
+
return $response;
|
314 |
+
}
|
315 |
+
}
|
316 |
+
|
317 |
+
/**
|
318 |
+
* Set the API response format
|
319 |
+
* @param string $format One of php, json or jsonp
|
320 |
+
* @return void
|
321 |
+
*/
|
322 |
+
public function setResponseFormat($format) {
|
323 |
+
$format = strtolower($format);
|
324 |
+
if (!in_array($format, array('php', 'json', 'jsonp'))) {
|
325 |
+
throw new Exception("Expected a format of php, json or jsonp, got '$format'");
|
326 |
+
} else {
|
327 |
+
$this->responseFormat = $format;
|
328 |
+
}
|
329 |
+
}
|
330 |
+
|
331 |
+
/**
|
332 |
+
* Set the chunk size for chunked uploads
|
333 |
+
* If $chunkSize is empty, set to 4194304 bytes (4 MB)
|
334 |
+
* @see \Dropbox\API\chunkedUpload()
|
335 |
+
*/
|
336 |
+
public function setChunkSize($chunkSize = 4194304) {
|
337 |
+
if (!is_int($chunkSize)) {
|
338 |
+
throw new Exception('Expecting chunk size to be an integer, got ' . gettype($chunkSize));
|
339 |
+
} elseif ($chunkSize > 157286400) {
|
340 |
+
throw new Exception('Chunk size must not exceed 157286400 bytes, got ' . $chunkSize);
|
341 |
+
} else {
|
342 |
+
$this->chunkSize = $chunkSize;
|
343 |
+
}
|
344 |
+
}
|
345 |
+
|
346 |
+
/**
|
347 |
+
* Set the JSONP callback function
|
348 |
+
* @param string $function
|
349 |
+
* @return void
|
350 |
+
*/
|
351 |
+
public function setCallback($function) {
|
352 |
+
$this->callback = $function;
|
353 |
+
}
|
354 |
+
|
355 |
+
/**
|
356 |
+
* Get the mime type of downloaded file
|
357 |
+
* If the Fileinfo extension is not loaded, return false
|
358 |
+
* @param string $data File contents as a string or filename
|
359 |
+
* @param string $isFilename Is $data a filename?
|
360 |
+
* @return boolean|string Mime type and encoding of the file
|
361 |
+
*/
|
362 |
+
private function getMimeType($data, $isFilename = false) {
|
363 |
+
if (extension_loaded('fileinfo')) {
|
364 |
+
$finfo = new finfo(FILEINFO_MIME);
|
365 |
+
if ($isFilename !== false) {
|
366 |
+
return $finfo->file($data);
|
367 |
+
}
|
368 |
+
return $finfo->buffer($data);
|
369 |
+
}
|
370 |
+
return false;
|
371 |
+
}
|
372 |
+
|
373 |
+
/**
|
374 |
+
* Trim the path of forward slashes and replace
|
375 |
+
* consecutive forward slashes with a single slash
|
376 |
+
* @param string $path The path to normalise
|
377 |
+
* @return string
|
378 |
+
*/
|
379 |
+
private function normalisePath($path) {
|
380 |
+
$path = preg_replace('#/+#', '/', trim($path, '/'));
|
381 |
+
return $path;
|
382 |
+
}
|
383 |
+
|
384 |
+
/**
|
385 |
+
* Encode the path, then replace encoded slashes
|
386 |
+
* with literal forward slash characters
|
387 |
+
* @param string $path The path to encode
|
388 |
+
* @return string
|
389 |
+
*/
|
390 |
+
private function encodePath($path) {
|
391 |
+
// in APIv1, encoding was needed because parameters were passed as part of the URL; this is no longer done in our APIv2 SDK; hence, all that we now do here is normalise.
|
392 |
+
return $this->normalisePath($path);
|
393 |
+
}
|
394 |
+
}
|
@@ -135,7 +135,15 @@ class Dropbox_Curl extends Dropbox_ConsumerAbstract
|
|
135 |
$options[CURLOPT_POSTFIELDS] = $this->inFile;
|
136 |
} elseif ($method == 'POST') { // POST
|
137 |
$options[CURLOPT_POST] = true;
|
138 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
} elseif ($method == 'PUT' && $this->inFile) { // PUT
|
140 |
$options[CURLOPT_PUT] = true;
|
141 |
$options[CURLOPT_INFILE] = $this->inFile;
|
@@ -188,12 +196,13 @@ class Dropbox_Curl extends Dropbox_ConsumerAbstract
|
|
188 |
if (strpos($array[0] , 'incorrect_offset') !== false) {
|
189 |
$message = json_encode($array);
|
190 |
} elseif (strpos($array[0] , 'lookup_failed') !== false ) {
|
191 |
-
//re-structure the array so it is correctly formatted for API
|
192 |
-
//Note: Dropbox v2 returns different errors at different stages hence this fix
|
193 |
$correctOffset = array(
|
194 |
'0' => $array[1]->{'.tag'},
|
195 |
-
'1' => $array[1]->correct_offset
|
196 |
);
|
|
|
|
|
197 |
|
198 |
$message = json_encode($correctOffset);
|
199 |
} else {
|
135 |
$options[CURLOPT_POSTFIELDS] = $this->inFile;
|
136 |
} elseif ($method == 'POST') { // POST
|
137 |
$options[CURLOPT_POST] = true;
|
138 |
+
if (!empty($request['postfields'])) {
|
139 |
+
$options[CURLOPT_POSTFIELDS] = $request['postfields'];
|
140 |
+
} elseif (empty($additional['content_upload'])) {
|
141 |
+
// JSON representation of nullity
|
142 |
+
$options[CURLOPT_POSTFIELDS] = 'null';
|
143 |
+
} else {
|
144 |
+
// It's a content upload, and there's no data. Versions of php-curl differ as to whether they add a Content-Length header automatically or not. Dropbox complains if it's not there.
|
145 |
+
$options[CURLOPT_HTTPHEADER] = array_merge($options[CURLOPT_HTTPHEADER], array('Content-Length: 0'));
|
146 |
+
}
|
147 |
} elseif ($method == 'PUT' && $this->inFile) { // PUT
|
148 |
$options[CURLOPT_PUT] = true;
|
149 |
$options[CURLOPT_INFILE] = $this->inFile;
|
196 |
if (strpos($array[0] , 'incorrect_offset') !== false) {
|
197 |
$message = json_encode($array);
|
198 |
} elseif (strpos($array[0] , 'lookup_failed') !== false ) {
|
199 |
+
// re-structure the array so it is correctly formatted for API
|
200 |
+
// Note: Dropbox v2 returns different errors at different stages hence this fix
|
201 |
$correctOffset = array(
|
202 |
'0' => $array[1]->{'.tag'},
|
|
|
203 |
);
|
204 |
+
// the lookup_failed response doesn't always return a correct_offset this happens when the lookup fails because the session has been closed e.g the file has already been uploaded but the response didn't make it back to the client so we try again
|
205 |
+
if (isset($array[1]->correct_offset)) $correctOffset['1'] = $array[1]->correct_offset;
|
206 |
|
207 |
$message = json_encode($correctOffset);
|
208 |
} else {
|
@@ -116,12 +116,13 @@ class UpdraftPlus_Backup_History {
|
|
116 |
* Get the HTML for the table of existing backups
|
117 |
*
|
118 |
* @param Array|Boolean $backup_history - a list of backups to use, or false to get the current list from the database
|
|
|
119 |
*
|
120 |
* @uses UpdraftPlus_Admin::include_template()
|
121 |
*
|
122 |
* @return String - HTML for the table
|
123 |
*/
|
124 |
-
public static function existing_backup_table($backup_history = false) {
|
125 |
|
126 |
global $updraftplus, $updraftplus_admin;
|
127 |
|
@@ -129,13 +130,19 @@ class UpdraftPlus_Backup_History {
|
|
129 |
|
130 |
if (!is_array($backup_history) || empty($backup_history)) return '<div class="postbox"><p class="updraft-no-backups-msg"><em>'.__('You have not yet made any backups.', 'updraftplus').'</em></p></div>';
|
131 |
|
|
|
|
|
|
|
|
|
132 |
// Reverse date sort - i.e. most recent first
|
133 |
krsort($backup_history);
|
134 |
|
135 |
$pass_values = array(
|
136 |
'backup_history' => self::add_jobdata($backup_history),
|
137 |
'updraft_dir' => $updraftplus->backups_dir_location(),
|
138 |
-
'backupable_entities' => $updraftplus->get_backupable_file_entities(true, true)
|
|
|
|
|
139 |
);
|
140 |
|
141 |
return $updraftplus_admin->include_template('wp-admin/settings/existing-backups-table.php', true, $pass_values);
|
116 |
* Get the HTML for the table of existing backups
|
117 |
*
|
118 |
* @param Array|Boolean $backup_history - a list of backups to use, or false to get the current list from the database
|
119 |
+
* @param Boolean $backup_count - the amount of backups currently displayed in the existing backups table
|
120 |
*
|
121 |
* @uses UpdraftPlus_Admin::include_template()
|
122 |
*
|
123 |
* @return String - HTML for the table
|
124 |
*/
|
125 |
+
public static function existing_backup_table($backup_history = false, $backup_count = 0) {
|
126 |
|
127 |
global $updraftplus, $updraftplus_admin;
|
128 |
|
130 |
|
131 |
if (!is_array($backup_history) || empty($backup_history)) return '<div class="postbox"><p class="updraft-no-backups-msg"><em>'.__('You have not yet made any backups.', 'updraftplus').'</em></p></div>';
|
132 |
|
133 |
+
if (empty($backup_count)) {
|
134 |
+
$backup_count = defined('UPDRAFTPLUS_EXISTING_BACKUPS_LIMIT') ? UPDRAFTPLUS_EXISTING_BACKUPS_LIMIT : 100;
|
135 |
+
}
|
136 |
+
|
137 |
// Reverse date sort - i.e. most recent first
|
138 |
krsort($backup_history);
|
139 |
|
140 |
$pass_values = array(
|
141 |
'backup_history' => self::add_jobdata($backup_history),
|
142 |
'updraft_dir' => $updraftplus->backups_dir_location(),
|
143 |
+
'backupable_entities' => $updraftplus->get_backupable_file_entities(true, true),
|
144 |
+
'backup_count' => $backup_count,
|
145 |
+
'show_paging_actions' => false,
|
146 |
);
|
147 |
|
148 |
return $updraftplus_admin->include_template('wp-admin/settings/existing-backups-table.php', true, $pass_values);
|
@@ -222,9 +222,12 @@ class UpdraftPlus_Commands {
|
|
222 |
|
223 |
if (!UpdraftPlus_Options::user_can_manage()) return new WP_Error('updraftplus_permission_denied');
|
224 |
|
|
|
|
|
225 |
if (is_array($data)) {
|
226 |
$operation = empty($data['operation']) ? '' : $data['operation'];
|
227 |
$debug = !empty($data['debug']);
|
|
|
228 |
} else {
|
229 |
$operation = $data;
|
230 |
$debug = false;
|
@@ -233,7 +236,7 @@ class UpdraftPlus_Commands {
|
|
233 |
$remotescan = ('remotescan' == $operation);
|
234 |
$rescan = ($remotescan || 'rescan' == $operation);
|
235 |
|
236 |
-
$history_status = $updraftplus_admin->get_history_status($rescan, $remotescan, $debug);
|
237 |
$history_status['backupnow_file_entities'] = apply_filters('updraftplus_backupnow_file_entities', array());
|
238 |
$history_status['modal_afterfileoptions'] = apply_filters('updraft_backupnow_modal_afterfileoptions', '', '');
|
239 |
|
@@ -900,8 +903,9 @@ class UpdraftPlus_Commands {
|
|
900 |
$is_admin_user = isset($response['is_admin_user']) ? $response['is_admin_user'] : false;
|
901 |
$supported_wp_versions = isset($response['supported_wp_versions']) ? $response['supported_wp_versions'] : array();
|
902 |
$supported_packages = isset($response['supported_packages']) ? $response['supported_packages'] : array();
|
|
|
903 |
$content .= '<div class="updraftclone_action_box">';
|
904 |
-
$content .= $updraftplus_admin->updraftplus_clone_ui_widget($is_admin_user, $supported_wp_versions, $supported_packages);
|
905 |
$content .= '<p class="updraftplus_clone_status"></p>';
|
906 |
$content .= '<button id="updraft_migrate_createclone" class="button button-primary button-hero" data-clone_id="'.$response['clone_info']['id'].'" data-secret_token="'.$response['clone_info']['secret_token'].'">'. __('Create clone', 'updraftplus') . '</button>';
|
907 |
$content .= '<span class="updraftplus_spinner spinner">' . __('Processing', 'updraftplus') . '...</span><br>';
|
222 |
|
223 |
if (!UpdraftPlus_Options::user_can_manage()) return new WP_Error('updraftplus_permission_denied');
|
224 |
|
225 |
+
$backup_count = 0;
|
226 |
+
|
227 |
if (is_array($data)) {
|
228 |
$operation = empty($data['operation']) ? '' : $data['operation'];
|
229 |
$debug = !empty($data['debug']);
|
230 |
+
$backup_count = empty($data['backup_count']) ? 0 : $data['backup_count'];
|
231 |
} else {
|
232 |
$operation = $data;
|
233 |
$debug = false;
|
236 |
$remotescan = ('remotescan' == $operation);
|
237 |
$rescan = ($remotescan || 'rescan' == $operation);
|
238 |
|
239 |
+
$history_status = $updraftplus_admin->get_history_status($rescan, $remotescan, $debug, $backup_count);
|
240 |
$history_status['backupnow_file_entities'] = apply_filters('updraftplus_backupnow_file_entities', array());
|
241 |
$history_status['modal_afterfileoptions'] = apply_filters('updraft_backupnow_modal_afterfileoptions', '', '');
|
242 |
|
903 |
$is_admin_user = isset($response['is_admin_user']) ? $response['is_admin_user'] : false;
|
904 |
$supported_wp_versions = isset($response['supported_wp_versions']) ? $response['supported_wp_versions'] : array();
|
905 |
$supported_packages = isset($response['supported_packages']) ? $response['supported_packages'] : array();
|
906 |
+
$supported_regions = isset($response['supported_regions']) ? $response['supported_regions'] : array();
|
907 |
$content .= '<div class="updraftclone_action_box">';
|
908 |
+
$content .= $updraftplus_admin->updraftplus_clone_ui_widget($is_admin_user, $supported_wp_versions, $supported_packages, $supported_regions);
|
909 |
$content .= '<p class="updraftplus_clone_status"></p>';
|
910 |
$content .= '<button id="updraft_migrate_createclone" class="button button-primary button-hero" data-clone_id="'.$response['clone_info']['id'].'" data-secret_token="'.$response['clone_info']['secret_token'].'">'. __('Create clone', 'updraftplus') . '</button>';
|
911 |
$content .= '<span class="updraftplus_spinner spinner">' . __('Processing', 'updraftplus') . '...</span><br>';
|
@@ -509,6 +509,147 @@ class UpdraftPlus_Database_Utility {
|
|
509 |
}
|
510 |
return $exist;
|
511 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
512 |
}
|
513 |
|
514 |
class UpdraftPlus_WPDB_OtherDB_Utility extends wpdb {
|
509 |
}
|
510 |
return $exist;
|
511 |
}
|
512 |
+
|
513 |
+
/**
|
514 |
+
* Check whether the currently running database server supports stored routines
|
515 |
+
*
|
516 |
+
* @return Array|WP_Error an array of booleans indicating whether or not some of syntax variations are supported, or WP_Error object if stored routine isn't supported
|
517 |
+
*
|
518 |
+
* Return format example:
|
519 |
+
*
|
520 |
+
* [
|
521 |
+
* "is_create_or_replace_supported" => true, // true on MariaDB, false on MySQL
|
522 |
+
* "is_if_not_exists_function_supported" => true, // true on MariaDB, false on MySQL
|
523 |
+
* "is_aggregate_function_supported" => true, // true on MariaDB, false on MySQL
|
524 |
+
* "is_binary_logging_enabled" => true, // true if --bin-log is specified for both MariaDB and MySQL
|
525 |
+
* "is_function_creators_trusted" => false // the default value is false (MariaDB/MySQL)
|
526 |
+
* ]
|
527 |
+
*
|
528 |
+
* OR a database error message, e.g. "Access denied for user 'root'@'localhost' to database 'wordpress'"
|
529 |
+
*/
|
530 |
+
public static function is_stored_routine_supported() {
|
531 |
+
|
532 |
+
global $wpdb;
|
533 |
+
|
534 |
+
$function_name = 'updraft_test_stored_routine';
|
535 |
+
$sql = array(
|
536 |
+
"DROP_FUNCTION" => "DROP FUNCTION IF EXISTS ".$function_name,
|
537 |
+
// sql to check whether stored routines is supported
|
538 |
+
"CREATE_FUNCTION" => "CREATE FUNCTION ".$function_name."() RETURNS tinyint(1) DETERMINISTIC READS SQL DATA RETURN true",
|
539 |
+
// sql to check whether create or replace syntax is supported
|
540 |
+
"CREATE_REPLACE_FUNCTION" => "CREATE OR REPLACE FUNCTION ".$function_name."() RETURNS tinyint(1) DETERMINISTIC READS SQL DATA RETURN true",
|
541 |
+
// sql to check whether if not exists syntax is supported (mariadb starting with 10.1.3)
|
542 |
+
"CREATE_FUNCTION_IF_NOT_EXISTS" => "CREATE FUNCTION IF NOT EXISTS ".$function_name."() RETURNS tinyint(1) DETERMINISTIC READS SQL DATA RETURN true",
|
543 |
+
// sql to check whether aggregate function is supported (mariadb starting with 10.3.3)
|
544 |
+
"CREATE_REPLACE_AGGREGATE" => "CREATE OR REPLACE AGGREGATE FUNCTION ".$function_name."() RETURNS tinyint(1) DETERMINISTIC READS SQL DATA BEGIN RETURN true; FETCH GROUP NEXT ROW; END;"
|
545 |
+
);
|
546 |
+
|
547 |
+
$old_val = $wpdb->suppress_errors();
|
548 |
+
$wpdb->query($sql['DROP_FUNCTION']);
|
549 |
+
$is_stored_routine_supported = $wpdb->query($sql['CREATE_FUNCTION']);
|
550 |
+
if ($is_stored_routine_supported) {
|
551 |
+
$is_binary_logging_enabled = 1 == $wpdb->get_var('SELECT @@GLOBAL.log_bin');
|
552 |
+
// not sure why the log_bin variable cant be retrieved on mysql 5.0, seems like there's a bug on that version, so we use another alternative to check whether or not binary logging is enabled
|
553 |
+
$is_binary_logging_enabled = false === $is_binary_logging_enabled ? $wpdb->get_results("SHOW GLOBAL VARIABLES LIKE 'log_bin'", ARRAY_A) : $is_binary_logging_enabled;
|
554 |
+
$is_binary_logging_enabled = is_array($is_binary_logging_enabled) && isset($is_binary_logging_enabled[0]['Value']) && '' != $is_binary_logging_enabled[0]['Value'] ? $is_binary_logging_enabled[0]['Value'] : $is_binary_logging_enabled;
|
555 |
+
$is_binary_logging_enabled = is_string($is_binary_logging_enabled) && ('ON' === strtoupper($is_binary_logging_enabled) || '1' === $is_binary_logging_enabled) ? true : $is_binary_logging_enabled;
|
556 |
+
$is_binary_logging_enabled = is_string($is_binary_logging_enabled) && ('OFF' === strtoupper($is_binary_logging_enabled) || '0' === $is_binary_logging_enabled) ? false : $is_binary_logging_enabled;
|
557 |
+
$is_stored_routine_supported = array(
|
558 |
+
'is_create_or_replace_supported' => $wpdb->query($sql['CREATE_REPLACE_FUNCTION']),
|
559 |
+
'is_if_not_exists_function_supported' => $wpdb->query($sql['CREATE_FUNCTION_IF_NOT_EXISTS']),
|
560 |
+
'is_aggregate_function_supported' => $wpdb->query($sql['CREATE_REPLACE_AGGREGATE']),
|
561 |
+
'is_binary_logging_enabled' => $is_binary_logging_enabled,
|
562 |
+
'is_function_creators_trusted' => 1 == $wpdb->get_var('SELECT @@GLOBAL.log_bin_trust_function_creators'),
|
563 |
+
);
|
564 |
+
$wpdb->query($sql['DROP_FUNCTION']);
|
565 |
+
} else {
|
566 |
+
$is_stored_routine_supported = new WP_Error('routine_creation_error', sprintf(__('An error occurred while attempting to check the support of stored routines creation (%s %s)', 'updraftplus'), $wpdb->last_error.' -', $sql['CREATE_FUNCTION']));
|
567 |
+
}
|
568 |
+
$wpdb->suppress_errors($old_val);
|
569 |
+
|
570 |
+
return $is_stored_routine_supported;
|
571 |
+
}
|
572 |
+
|
573 |
+
/**
|
574 |
+
* Retrieve all the stored routines (functions and procedures) in the currently running database
|
575 |
+
*
|
576 |
+
* @return Array|WP_Error an array of routine statuses, or an empty array if there is no stored routine in the database, or WP_Error object on failure
|
577 |
+
*
|
578 |
+
* Output example:
|
579 |
+
*
|
580 |
+
* [
|
581 |
+
* [
|
582 |
+
* "Db" => "wordpress",
|
583 |
+
* "Name" => "_NextVal",
|
584 |
+
* "Type" => "FUNCTION",
|
585 |
+
* "Definer" => "root@localhost",
|
586 |
+
* "Modified" => "2019-11-22 15:11:15",
|
587 |
+
* "Created" => "2019-11-22 14:20:29",
|
588 |
+
* "Security_type" => "DEFINER",
|
589 |
+
* "Comment" => "",
|
590 |
+
* "Function" => "_NextVal",
|
591 |
+
* "sql_mode" => "",
|
592 |
+
* "Create Function" => "
|
593 |
+
* CREATE DEFINER=`root`@`localhost` FUNCTION `_NextVal`(vname VARCHAR(30)) RETURNS int(11)
|
594 |
+
* BEGIN
|
595 |
+
* -- Retrieve and update in single statement
|
596 |
+
* UPDATE _sequences
|
597 |
+
* SET next = next + 1
|
598 |
+
* WHERE name = vname;
|
599 |
+
* RETURN (SELECT next FROM _sequences LIMIT 1);
|
600 |
+
* END"
|
601 |
+
* ],
|
602 |
+
* [
|
603 |
+
* "Db" => "wordpress",
|
604 |
+
* "Name" => "CreateSequence",
|
605 |
+
* "Type" => "Procedure",
|
606 |
+
* "Definer" => "root@localhost",
|
607 |
+
* "Modified" => "2019-11-22 15:11:15",
|
608 |
+
* "Created" => "2019-11-22 14:20:29",
|
609 |
+
* "Security_type" => "DEFINER",
|
610 |
+
* "Comment" => "",
|
611 |
+
* "Procedure" => "CreateSequence",
|
612 |
+
* "sql_mode" => "",
|
613 |
+
* "Create Procedure" => "
|
614 |
+
* CREATE DEFINER=`root`@`localhost` PROCEDURE `CreateSequence`(name VARCHAR(30), start INT, inc INT)
|
615 |
+
* BEGIN
|
616 |
+
* -- Create a table to store sequences
|
617 |
+
* CREATE TABLE _sequences (
|
618 |
+
* name VARCHAR(70) NOT NULL UNIQUE,
|
619 |
+
* next INT NOT NULL,
|
620 |
+
* inc INT NOT NULL,
|
621 |
+
* );
|
622 |
+
* -- Add the new sequence
|
623 |
+
* INSERT INTO _sequences VALUES (name, start, inc);
|
624 |
+
* END"
|
625 |
+
* ]
|
626 |
+
* ]
|
627 |
+
*/
|
628 |
+
public function get_stored_routines() {
|
629 |
+
|
630 |
+
global $wpdb;
|
631 |
+
|
632 |
+
$old_val = $wpdb->suppress_errors();
|
633 |
+
try {
|
634 |
+
$err_msg = __('An error occurred while attempting to retrieve routine status (%s %s)', 'updraftplus');
|
635 |
+
$function_status = $wpdb->get_results($wpdb->prepare('SHOW FUNCTION STATUS WHERE DB = %s', DB_NAME), ARRAY_A);
|
636 |
+
if (!empty($wpdb->last_error)) throw new Exception(sprintf($err_msg, $wpdb->last_error.' -', $wpdb->last_query), 0);
|
637 |
+
$procedure_status = $wpdb->get_results($wpdb->prepare('SHOW PROCEDURE STATUS WHERE DB = %s', DB_NAME), ARRAY_A);
|
638 |
+
if (!empty($wpdb->last_error)) throw new Exception(sprintf($err_msg, $wpdb->last_error.' -', $wpdb->last_query), 0);
|
639 |
+
$stored_routines = array_merge((array) $function_status, (array) $procedure_status);
|
640 |
+
foreach ((array) $stored_routines as $key => $routine) {
|
641 |
+
if (empty($routine['Name']) || empty($routine['Type'])) continue;
|
642 |
+
$routine = $wpdb->get_results("SHOW CREATE {$routine['Type']} `{$routine['Name']}`", ARRAY_A);
|
643 |
+
if (!empty($wpdb->last_error)) throw new Exception(sprintf(__('An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)', 'updraftplus'), $wpdb->last_error.' -', $wpdb->last_query), 1);
|
644 |
+
$stored_routines[$key] = array_merge($stored_routines[$key], $routine ? $routine[0] : array());
|
645 |
+
}
|
646 |
+
} catch (Exception $ex) {
|
647 |
+
$stored_routines = new WP_Error(1 === $ex->getCode() ? 'routine_sql_error' : 'routine_status_error', $ex->getMessage());
|
648 |
+
}
|
649 |
+
$wpdb->suppress_errors($old_val);
|
650 |
+
|
651 |
+
return $stored_routines;
|
652 |
+
}
|
653 |
}
|
654 |
|
655 |
class UpdraftPlus_WPDB_OtherDB_Utility extends wpdb {
|
@@ -503,7 +503,7 @@ function update_file_entities_checkboxes(incremental, entities) {
|
|
503 |
if (name.substring(0, 16) != 'updraft_include_') { return; }
|
504 |
var entity = name.substring(16);
|
505 |
jQuery('#backupnow_files_updraft_include_' + entity).prop('disabled', false);
|
506 |
-
if (jQuery(
|
507 |
jQuery('#backupnow_files_updraft_include_' + entity).prop('checked', true);
|
508 |
}
|
509 |
});
|
@@ -964,28 +964,34 @@ updraft_updatehistory(0, 0);}, 30000);
|
|
964 |
* Update the HTML for the 'existing backups' table; optionally, after local/remote re-scanning.
|
965 |
* Nothing is returned; any update necessary is performed directly on the DOM.
|
966 |
*
|
967 |
-
* @param {Integer} rescan
|
968 |
-
* @param {Integer} remotescan
|
969 |
-
* @param {Integer} debug
|
|
|
970 |
*/
|
971 |
-
function updraft_updatehistory(rescan, remotescan, debug) {
|
972 |
|
973 |
if ('undefined' != typeof updraft_restore_screen && updraft_restore_screen) return;
|
974 |
|
975 |
if ('undefined' === typeof debug) {
|
976 |
debug = jQuery('#updraft_debug_mode').is(':checked') ? 1 : 0;
|
977 |
}
|
978 |
-
|
979 |
var unixtime = Math.round(new Date().getTime() / 1000);
|
980 |
|
981 |
if (1 == rescan || 1 == remotescan) {
|
982 |
updraft_historytimer_notbefore = unixtime + 30;
|
983 |
} else {
|
984 |
-
if (unixtime < updraft_historytimer_notbefore) {
|
985 |
console.log("Update history skipped: "+unixtime.toString()+" < "+updraft_historytimer_notbefore.toString());
|
986 |
return;
|
987 |
}
|
988 |
}
|
|
|
|
|
|
|
|
|
|
|
989 |
|
990 |
if (rescan == 1) {
|
991 |
if (remotescan == 1) {
|
@@ -1001,7 +1007,8 @@ function updraft_updatehistory(rescan, remotescan, debug) {
|
|
1001 |
|
1002 |
var data = {
|
1003 |
operation: what_op,
|
1004 |
-
debug: debug
|
|
|
1005 |
}
|
1006 |
|
1007 |
updraft_send_command('rescan', data, function(resp) {
|
@@ -2159,6 +2166,34 @@ jQuery(document).ready(function($) {
|
|
2159 |
}
|
2160 |
});
|
2161 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2162 |
$('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_widget_module_content #updraft_migrate_createclone', function (e) {
|
2163 |
e.preventDefault();
|
2164 |
|
@@ -3133,6 +3168,7 @@ jQuery(document).ready(function($) {
|
|
3133 |
var remote_deleted = backup_remote;
|
3134 |
var sets_deleted = backup_sets;
|
3135 |
var timestamps = jQuery('#updraft_delete_timestamp').val().split(',');
|
|
|
3136 |
|
3137 |
var form_data = jQuery('#updraft_delete_form').serializeArray();
|
3138 |
var data = {};
|
@@ -3211,8 +3247,12 @@ jQuery(document).ready(function($) {
|
|
3211 |
local_deleted = local_deleted + resp.backup_local;
|
3212 |
remote_deleted = remote_deleted + resp.backup_remote;
|
3213 |
sets_deleted = sets_deleted + resp.backup_sets;
|
|
|
|
|
|
|
|
|
3214 |
setTimeout(function() {
|
3215 |
-
alert(resp.set_message + " " + sets_deleted + "\n" + resp.local_message + " " + local_deleted + "\n" + resp.remote_message + " " + remote_deleted);
|
3216 |
}, 900);
|
3217 |
}
|
3218 |
});
|
@@ -3265,6 +3305,7 @@ jQuery(document).ready(function($) {
|
|
3265 |
process_next_action: function() {
|
3266 |
var anyselected = 0;
|
3267 |
var moreselected = 0;
|
|
|
3268 |
var whichselected = [];
|
3269 |
// Make a list of what files we want
|
3270 |
var already_added_wpcore = 0;
|
@@ -3275,6 +3316,7 @@ jQuery(document).ready(function($) {
|
|
3275 |
var howmany = $(y).data('howmany');
|
3276 |
var type = $(y).val();
|
3277 |
if ('more' == type) moreselected = 1;
|
|
|
3278 |
if (1 == meta_foreign || (2 == meta_foreign && 'db' != type)) {
|
3279 |
if ('wpcore' != type) {
|
3280 |
howmany = $('#updraft_restore_form #updraft_restore_wpcore').data('howmany');
|
@@ -3378,6 +3420,21 @@ jQuery(document).ready(function($) {
|
|
3378 |
}
|
3379 |
});
|
3380 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3381 |
if (1 == moreselected) {
|
3382 |
|
3383 |
anyselected = 0;
|
@@ -4079,6 +4136,17 @@ jQuery(document).ready(function($) {
|
|
4079 |
}
|
4080 |
});
|
4081 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4082 |
/**
|
4083 |
* Opens the dialog box for confirmation of where to upload the backup
|
4084 |
*
|
@@ -4816,6 +4884,11 @@ jQuery(document).ready(function($) {
|
|
4816 |
}
|
4817 |
});
|
4818 |
|
|
|
|
|
|
|
|
|
|
|
4819 |
|
4820 |
/**
|
4821 |
* Sends request to generate a key to be used between UpdraftPlus
|
503 |
if (name.substring(0, 16) != 'updraft_include_') { return; }
|
504 |
var entity = name.substring(16);
|
505 |
jQuery('#backupnow_files_updraft_include_' + entity).prop('disabled', false);
|
506 |
+
if (jQuery('#updraft_include_' + entity).is(':checked')) {
|
507 |
jQuery('#backupnow_files_updraft_include_' + entity).prop('checked', true);
|
508 |
}
|
509 |
});
|
964 |
* Update the HTML for the 'existing backups' table; optionally, after local/remote re-scanning.
|
965 |
* Nothing is returned; any update necessary is performed directly on the DOM.
|
966 |
*
|
967 |
+
* @param {Integer} rescan - first, re-scan the local storage (0 or 1)
|
968 |
+
* @param {Integer} remotescan - first, re-scan the remote storage (you must also set rescan to 1 to use this)
|
969 |
+
* @param {Integer} debug - if 1, then also request debugging information and log it to the console
|
970 |
+
* @param {Integer} backup_count - the amount of backups we want to display
|
971 |
*/
|
972 |
+
function updraft_updatehistory(rescan, remotescan, debug, backup_count) {
|
973 |
|
974 |
if ('undefined' != typeof updraft_restore_screen && updraft_restore_screen) return;
|
975 |
|
976 |
if ('undefined' === typeof debug) {
|
977 |
debug = jQuery('#updraft_debug_mode').is(':checked') ? 1 : 0;
|
978 |
}
|
979 |
+
|
980 |
var unixtime = Math.round(new Date().getTime() / 1000);
|
981 |
|
982 |
if (1 == rescan || 1 == remotescan) {
|
983 |
updraft_historytimer_notbefore = unixtime + 30;
|
984 |
} else {
|
985 |
+
if (unixtime < updraft_historytimer_notbefore && 'undefined' === typeof backup_count) {
|
986 |
console.log("Update history skipped: "+unixtime.toString()+" < "+updraft_historytimer_notbefore.toString());
|
987 |
return;
|
988 |
}
|
989 |
}
|
990 |
+
|
991 |
+
if ('undefined' === typeof backup_count) {
|
992 |
+
backup_count = jQuery('#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row').length;
|
993 |
+
}
|
994 |
+
|
995 |
|
996 |
if (rescan == 1) {
|
997 |
if (remotescan == 1) {
|
1007 |
|
1008 |
var data = {
|
1009 |
operation: what_op,
|
1010 |
+
debug: debug,
|
1011 |
+
backup_count: backup_count,
|
1012 |
}
|
1013 |
|
1014 |
updraft_send_command('rescan', data, function(resp) {
|
2166 |
}
|
2167 |
});
|
2168 |
|
2169 |
+
$('#updraft-navtab-migrate-content').on('change', '.updraft_migrate_widget_module_content #updraftplus_clone_backup_options', function() {
|
2170 |
+
|
2171 |
+
// reset the package list
|
2172 |
+
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option').each(function() {
|
2173 |
+
var value = $(this).val();
|
2174 |
+
if ('starter' == value) $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop('selected', true);
|
2175 |
+
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop("disabled", false);
|
2176 |
+
});
|
2177 |
+
|
2178 |
+
var clone_backup_select = $(this).find('option:selected');
|
2179 |
+
|
2180 |
+
if ('current' == $(clone_backup_select).data('nonce') || 'wp_only' == $(clone_backup_select).data('nonce')) return;
|
2181 |
+
|
2182 |
+
var total_size = $(clone_backup_select).data('size');
|
2183 |
+
|
2184 |
+
// Disable packages that are to small for this backup set, then set the first available package as the selected option
|
2185 |
+
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option').each(function() {
|
2186 |
+
var size = $(this).data('size');
|
2187 |
+
var value = $(this).val();
|
2188 |
+
if (total_size >= size) {
|
2189 |
+
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop("disabled", true);
|
2190 |
+
} else {
|
2191 |
+
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+value+'"]').prop('selected', true);
|
2192 |
+
return false;
|
2193 |
+
}
|
2194 |
+
});
|
2195 |
+
});
|
2196 |
+
|
2197 |
$('#updraft-navtab-migrate-content').on('click', '.updraft_migrate_widget_module_content #updraft_migrate_createclone', function (e) {
|
2198 |
e.preventDefault();
|
2199 |
|
3168 |
var remote_deleted = backup_remote;
|
3169 |
var sets_deleted = backup_sets;
|
3170 |
var timestamps = jQuery('#updraft_delete_timestamp').val().split(',');
|
3171 |
+
var error_log_prompt = '';
|
3172 |
|
3173 |
var form_data = jQuery('#updraft_delete_form').serializeArray();
|
3174 |
var data = {};
|
3247 |
local_deleted = local_deleted + resp.backup_local;
|
3248 |
remote_deleted = remote_deleted + resp.backup_remote;
|
3249 |
sets_deleted = sets_deleted + resp.backup_sets;
|
3250 |
+
if ('' != resp.error_messages) {
|
3251 |
+
error_log_prompt = updraftlion.delete_error_log_prompt;
|
3252 |
+
}
|
3253 |
+
|
3254 |
setTimeout(function() {
|
3255 |
+
alert(resp.set_message + " " + sets_deleted + "\n" + resp.local_message + " " + local_deleted + "\n" + resp.remote_message + " " + remote_deleted + "\n\n" + resp.error_messages + "\n" + error_log_prompt);
|
3256 |
}, 900);
|
3257 |
}
|
3258 |
});
|
3305 |
process_next_action: function() {
|
3306 |
var anyselected = 0;
|
3307 |
var moreselected = 0;
|
3308 |
+
var dbselected = 0;
|
3309 |
var whichselected = [];
|
3310 |
// Make a list of what files we want
|
3311 |
var already_added_wpcore = 0;
|
3316 |
var howmany = $(y).data('howmany');
|
3317 |
var type = $(y).val();
|
3318 |
if ('more' == type) moreselected = 1;
|
3319 |
+
if ('db' == type) dbselected = 1;
|
3320 |
if (1 == meta_foreign || (2 == meta_foreign && 'db' != type)) {
|
3321 |
if ('wpcore' != type) {
|
3322 |
howmany = $('#updraft_restore_form #updraft_restore_wpcore').data('howmany');
|
3420 |
}
|
3421 |
});
|
3422 |
|
3423 |
+
if (1 == dbselected) {
|
3424 |
+
|
3425 |
+
anyselected = 0;
|
3426 |
+
|
3427 |
+
jQuery('input[name="updraft_restore_table_options[]"').each(function (x, y) {
|
3428 |
+
if (jQuery(y).is(':checked') && !jQuery(y).is(':disabled')) anyselected = 1;
|
3429 |
+
});
|
3430 |
+
|
3431 |
+
if (0 == anyselected) {
|
3432 |
+
alert(updraftlion.youdidnotselectany);
|
3433 |
+
jQuery('.updraft-restore--next-step, .updraft-restore--cancel').prop('disabled', false);
|
3434 |
+
return;
|
3435 |
+
}
|
3436 |
+
}
|
3437 |
+
|
3438 |
if (1 == moreselected) {
|
3439 |
|
3440 |
anyselected = 0;
|
4136 |
}
|
4137 |
});
|
4138 |
|
4139 |
+
jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', '.updraft-load-more-backups', function (e) {
|
4140 |
+
e.preventDefault();
|
4141 |
+
var backup_count = parseInt(jQuery('#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row').length) + parseInt(updraftlion.existing_backups_limit);
|
4142 |
+
updraft_updatehistory(0, 0, 0, backup_count);
|
4143 |
+
});
|
4144 |
+
|
4145 |
+
jQuery('#updraft-navtab-backups-content .updraft_existing_backups').on('click', '.updraft-load-all-backups', function (e) {
|
4146 |
+
e.preventDefault();
|
4147 |
+
updraft_updatehistory(0, 0, 0, 9999999);
|
4148 |
+
});
|
4149 |
+
|
4150 |
/**
|
4151 |
* Opens the dialog box for confirmation of where to upload the backup
|
4152 |
*
|
4884 |
}
|
4885 |
});
|
4886 |
|
4887 |
+
jQuery('#updraft-restore-modal').on('click', '#updraftplus_restore_tables_showmoreoptions', function(e) {
|
4888 |
+
e.preventDefault();
|
4889 |
+
jQuery('.updraftplus_restore_tables_options_container').toggle();
|
4890 |
+
});
|
4891 |
+
|
4892 |
|
4893 |
/**
|
4894 |
* Sends request to generate a key to be used between UpdraftPlus
|
@@ -1,5 +1,5 @@
|
|
1 |
-
function updraft_send_command(t,e,a,r){default_options={json_parse:!0,alert_on_error:!0,action:"updraft_ajax",nonce:updraft_credentialtest_nonce,nonce_key:"nonce",timeout:null,async:!0,type:"POST"},"undefined"==typeof r&&(r={});for(var n in default_options)r.hasOwnProperty(n)||(r[n]=default_options[n]);var o={action:r.action,subaction:t};if(o[r.nonce_key]=r.nonce,"object"==typeof e)for(var d in e)o[d]=e[d];else o.action_data=e;var u={type:r.type,url:ajaxurl,data:o,success:function(t,e){if(r.json_parse){try{var n=ud_parse_json(t)}catch(o){return"function"==typeof r.error_callback?r.error_callback(t,o,502,n):(console.log(o),console.log(t),void(r.alert_on_error&&alert(updraftlion.unexpectedresponse+" "+t)))}if(n.hasOwnProperty("fatal_error"))return"function"==typeof r.error_callback?r.error_callback(t,e,500,n):(console.error(n.fatal_error_message),r.alert_on_error&&alert(n.fatal_error_message),!1);"function"==typeof a&&a(n,e,t)}else"function"==typeof a&&a(t,e)},error:function(t,e,a){"function"==typeof r.error_callback?r.error_callback(t,e,a):(console.log("updraft_send_command: error: "+e+" ("+a+")"),console.log(t))},dataType:"text",async:r.async};null!=r.timeout&&(u.timeout=r.timeout),jQuery.ajax(u)}function updraft_delete(t,e,a){jQuery("#updraft_delete_timestamp").val(t),jQuery("#updraft_delete_nonce").val(e),a?jQuery("#updraft-delete-remote-section, #updraft_delete_remote").removeAttr("disabled").show():jQuery("#updraft-delete-remote-section, #updraft_delete_remote").hide().attr("disabled","disabled"),t.indexOf(",")>-1?(jQuery("#updraft_delete_question_singular").hide(),jQuery("#updraft_delete_question_plural").show()):(jQuery("#updraft_delete_question_plural").hide(),jQuery("#updraft_delete_question_singular").show()),jQuery("#updraft-delete-modal").dialog("open")}function updraft_remote_storage_tab_activation(t){jQuery(".updraftplusmethod").hide(),jQuery(".remote-tab").data("active",!1),jQuery(".remote-tab").removeClass("nav-tab-active"),jQuery(".updraftplusmethod."+t).show(),jQuery(".remote-tab-"+t).data("active",!0),jQuery(".remote-tab-"+t).addClass("nav-tab-active")}function updraft_check_overduecrons(){updraft_send_command("check_overdue_crons",null,function(t){if(t&&t.hasOwnProperty("m")&&Array.isArray(t.m))for(var e in t.m)jQuery("#updraft-insert-admin-warning").append(t.m[e])},{alert_on_error:!1})}function updraft_remote_storage_tabs_setup(){var t=0,e=jQuery(".updraft_servicecheckbox:checked");jQuery(e).each(function(a,r){var n=jQuery(r).val();"updraft_servicecheckbox_none"!=jQuery(r).attr("id")&&t++,jQuery(".remote-tab-"+n).show(),a==jQuery(e).length-1&&updraft_remote_storage_tab_activation(n)}),t>0?(jQuery(".updraftplusmethod.none").hide(),jQuery("#remote_storage_tabs").show()):jQuery("#remote_storage_tabs").hide(),jQuery(document).keyup(function(t){if((32===t.keyCode||13===t.keyCode)&&jQuery(document.activeElement).is("input.labelauty + label")){var e=jQuery(document.activeElement).attr("for");e&&jQuery("#"+e).change()}}),jQuery(".updraft_servicecheckbox").change(function(){var e=jQuery(this).attr("id");if("updraft_servicecheckbox_"==e.substring(0,24)){var a=e.substring(24);null!=a&&""!=a&&(jQuery(this).is(":checked")?(t++,jQuery(".remote-tab-"+a).fadeIn(),updraft_remote_storage_tab_activation(a)):(t--,jQuery(".remote-tab-"+a).hide(),1==jQuery(".remote-tab-"+a).data("active")&&updraft_remote_storage_tab_activation(jQuery(".remote-tab:visible").last().attr("name"))))}t<=0?(jQuery(".updraftplusmethod.none").fadeIn(),jQuery("#remote_storage_tabs").hide()):(jQuery(".updraftplusmethod.none").hide(),jQuery("#remote_storage_tabs").show())}),jQuery(".updraft_servicecheckbox:not(.multi)").change(function(){var t=jQuery(this).attr("value");jQuery(this).is(":not(:checked)")?(jQuery(".updraftplusmethod."+t).hide(),jQuery(".updraftplusmethod.none").fadeIn()):jQuery(".updraft_servicecheckbox").not(this).prop("checked",!1)});var a=jQuery(".updraft_servicecheckbox");if("function"==typeof a.labelauty){a.labelauty();var r=jQuery("label[for=updraft_servicecheckbox_updraftvault]"),n=jQuery('<div class="udp-info"><span class="info-trigger">?</span><div class="info-content-wrapper"><div class="info-content">'+updraftlion.updraftvault_info+"</div></div></div>");r.append(n)}}function updraft_remote_storage_test(t,e,a){var r,n;a?(r=jQuery("#updraft-"+t+"-test-"+a),n=".updraftplusmethod."+t+"-"+a):(r=jQuery("#updraft-"+t+"-test"),n=".updraftplusmethod."+t);var o=r.data("method_label");r.html(updraftlion.testing_settings.replace("%s",o));var d={method:t};jQuery("#updraft-navtab-settings-content "+n+" input[data-updraft_settings_test], #updraft-navtab-settings-content .expertmode input[data-updraft_settings_test]").each(function(t,e){var a=jQuery(e).data("updraft_settings_test"),r=jQuery(e).attr("type");if(a){r||(console.log("UpdraftPlus: settings test input item with no type found"),console.log(e),r="text");var n=null;"checkbox"==r?n=jQuery(e).is(":checked")?1:0:"text"==r||"password"==r||"hidden"==r?n=jQuery(e).val():(console.log("UpdraftPlus: settings test input item with unrecognised type ("+r+") found"),console.log(e)),d[a]=n}}),jQuery("#updraft-navtab-settings-content "+n+" textarea[data-updraft_settings_test], #updraft-navtab-settings-content "+n+" select[data-updraft_settings_test]").each(function(t,e){var a=jQuery(e).data("updraft_settings_test");d[a]=jQuery(e).val()}),updraft_send_command("test_storage_settings",d,function(t,a){r.html(updraftlion.test_settings.replace("%s",o)),"undefined"!=typeof e&&0!=e&&(e=e.call(this,t,a,d)),"undefined"!=typeof e&&!1===e&&(alert(updraftlion.settings_test_result.replace("%s",o)+" "+t.output),t.hasOwnProperty("data")&&console.log(t.data))},{error_callback:function(t,e,a,n){if(r.html(updraftlion.test_settings.replace("%s",o)),"undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),alert(n.fatal_error_message);else{var d="updraft_send_command: error: "+e+" ("+a+")";console.log(d),alert(d),console.log(t)}}})}function backupnow_whichfiles_checked(t){return jQuery('#backupnow_includefiles_moreoptions input[type="checkbox"]').each(function(e){if(jQuery(this).is(":checked")){var a=jQuery(this).attr("name");if("updraft_include_"==a.substring(0,16)){var r=a.substring(16);""!=t&&(t+=","),t+=r}}}),t}function backupnow_whichtables_checked(t){var e=!1;return jQuery('#backupnow_database_moreoptions input[type="checkbox"]').each(function(t){if(!jQuery(this).is(":checked"))return void(e=!0)}),t=jQuery("input[name^='updraft_include_tables_']").serializeArray(),!e||t}function updraft_deleteallselected(){var t=0,e="",a="",r=0;jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected").each(function(n){t++;var o=jQuery(this).data("nonce");a&&(a+=","),a+=o;var d=jQuery(this).data("key");e&&(e+=","),e+=d;var u=jQuery(this).find(".updraftplus-remove").data("hasremote");u&&r++}),updraft_delete(e,a,r)}function updraft_open_main_tab(t){updraftlion.main_tabs_keys.forEach(function(e){t==e?(jQuery("#updraft-navtab-"+e+"-content").show(),jQuery("#updraft-navtab-"+e).addClass("nav-tab-active")):(jQuery("#updraft-navtab-"+e+"-content").hide(),jQuery("#updraft-navtab-"+e).removeClass("nav-tab-active")),updraft_console_focussed_tab=t})}function updraft_openrestorepanel(t){updraft_historytimertoggle(t),updraft_open_main_tab("backups")}function updraft_delete_old_dirs(){return!0}function updraft_initiate_restore(t){jQuery('#updraft-navtab-backups-content .updraft_existing_backups button[data-backup_timestamp="'+t+'"]').click()}function updraft_restore_setoptions(t){var e=0;jQuery('input[name="updraft_restore[]"]').each(function(a,r){var n=jQuery(r).val(),o=n+"=([0-9,]+)",d=new RegExp(o),u=t.match(d);u?(jQuery(r).removeAttr("disabled").data("howmany",u[1]).parent().show(),e++,"db"==n&&(e+=4.5),jQuery(r).is(":checked")&&jQuery("#updraft_restorer_"+n+"options").show()):jQuery(r).attr("disabled","disabled").parent().hide()});var a=t.match(/dbcrypted=1/);a?(jQuery("#updraft_restore_db").data("encrypted",1),jQuery(".updraft_restore_crypteddb").show()):(jQuery("#updraft_restore_db").data("encrypted",0),jQuery(".updraft_restore_crypteddb").hide()),jQuery("#updraft_restore_db").trigger("change");var r=t.match(/meta_foreign=([12])/);r?jQuery("#updraft_restore_meta_foreign").val(r[1]):jQuery("#updraft_restore_meta_foreign").val("0")}function updraft_backup_dialog_open(t){t="undefined"==typeof t?"new":t,0==jQuery("#updraftplus_incremental_backup_link").data("incremental")&&"incremental"==t?(jQuery("#updraft-backupnow-modal .incremental-free-only").show(),t="new"):jQuery("#updraft-backupnow-modal .incremental-backups-only").hide(),jQuery("#backupnow_includefiles_moreoptions").hide(),updraft_settings_form_changed&&!window.confirm(updraftlion.unsavedsettingsbackup)||(jQuery("#backupnow_label").val(""),"incremental"==t?(update_file_entities_checkboxes(!0,impossible_increment_entities),jQuery("#backupnow_includedb").prop("checked",!1),jQuery("#backupnow_includefiles").prop("checked",!0),jQuery("#backupnow_includefiles_label").text(updraftlion.files_incremental_backup),jQuery("#updraft-backupnow-modal .new-backups-only").hide(),jQuery("#updraft-backupnow-modal .incremental-backups-only").show()):(update_file_entities_checkboxes(!1,impossible_increment_entities),jQuery("#backupnow_includedb").prop("checked",!0),jQuery("#backupnow_includefiles_label").text(updraftlion.files_new_backup),jQuery("#updraft-backupnow-modal .new-backups-only").show(),jQuery("#updraft-backupnow-modal .incremental-backups-only").hide()),jQuery("#updraft-backupnow-modal").data("backup-type",t),jQuery("#updraft-backupnow-modal").dialog("open"))}function update_file_entities_checkboxes(t,e){t?jQuery(e).each(function(t,e){jQuery("#backupnow_files_updraft_include_"+e).prop("checked",!1),jQuery("#backupnow_files_updraft_include_"+e).prop("disabled",!0)}):jQuery('#backupnow_includefiles_moreoptions input[type="checkbox"]').each(function(t){var e=jQuery(this).attr("name");if("updraft_include_"==e.substring(0,16)){var a=e.substring(16);jQuery("#backupnow_files_updraft_include_"+a).prop("disabled",!1),jQuery(this).is(":checked")&&jQuery("#backupnow_files_updraft_include_"+a).prop("checked",!0)}})}function updraft_check_page_visibility(t){"hidden"==document.visibilityState?updraft_page_is_visible=0:(updraft_page_is_visible=1,1!==t&&jQuery("#updraft-navtab-backups-content").length&&updraft_activejobs_update(!0))}function setup_migrate_tabs(){jQuery("#updraft_migrate .updraft_migrate_widget_module_content").each(function(t,e){var a=jQuery(e).find("h3").first().html(),r=jQuery(".updraft_migrate_intro"),n=jQuery('<button class="button button-primary button-hero" />').html(a).appendTo(r);n.on("click",function(t){t.preventDefault(),jQuery(e).show(),r.hide()})})}function updraft_backupnow_inpage_go(t,e,a,r,n,o,d){r="undefined"==typeof r?0:r,n="undefined"==typeof n?0:n,o="undefined"==typeof o?0:o,d="undefined"==typeof d?updraftlion.automaticbackupbeforeupdate:d,updraft_console_focussed_tab="backups",updraft_inpage_success_callback=t,updraft_activejobs_update_timer=setInterval(function(){updraft_activejobs_update(!1)},1250);var u={},s=jQuery("#updraft-backupnow-inpage-modal").length;s&&jQuery("#updraft-backupnow-inpage-modal").dialog("option","buttons",u),jQuery("#updraft_inpage_prebackup").hide(),s&&jQuery("#updraft-backupnow-inpage-modal").dialog("open"),jQuery("#updraft_inpage_backup").show(),updraft_activejobslist_backupnownonce_only=1,updraft_inpage_hasbegun=0,updraft_backupnow_go(r,n,o,e,a,d,"")}function updraft_get_downloaders(){var t="";return jQuery(".ud_downloadstatus .updraftplus_downloader, #ud_downloadstatus2 .updraftplus_downloader, #ud_downloadstatus3 .updraftplus_downloader").each(function(e,a){var r=jQuery(a).data("downloaderfor");"object"==typeof r&&(""!=t&&(t+=":"),t=t+r.base+","+r.nonce+","+r.what+","+r.index)}),t}function updraft_poll_get_parameters(){var t={downloaders:updraft_get_downloaders()};try{jQuery("#updraft-poplog").dialog("isOpen")&&(t.log_fetch=1,t.log_nonce=updraft_poplog_log_nonce,t.log_pointer=updraft_poplog_log_pointer)}catch(e){console.log(e)}return updraft_activejobslist_backupnownonce_only&&"undefined"!=typeof updraft_backupnow_nonce&&""!=updraft_backupnow_nonce&&(t.thisjobonly=updraft_backupnow_nonce),0!==jQuery("#updraftplus_ajax_restore_job_id").length&&(t.updraft_credentialtest_nonce=updraft_credentialtest_nonce),t}function updraft_activejobs_update(t){var e=(jQuery,(new Date).getTime());if(!(0==t&&e<updraft_activejobs_nextupdate)){updraft_activejobs_nextupdate=e+5500;var a=updraft_poll_get_parameters();updraft_send_command("activejobs_list",a,function(t,e,r){updraft_process_status_check(t,r,a)},{type:"GET",error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),!0===updraftplus_activejobs_list_fatal_error_alert&&(updraftplus_activejobs_list_fatal_error_alert=!1,alert(this.alert_done+" "+r.fatal_error_message));else{var n=e==a?a:a+" ("+e+")";console.error(n),console.log(t)}return!1}})}}function updraft_show_success_modal(t){"string"==typeof t&&(t={message:t});var e=jQuery.extend({icon:"yes",close:updraftlion.close,message:"",classes:"success"},t);jQuery.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)"},message:'<div class="updraft_success_popup '+e.classes+'"><span class="dashicons dashicons-'+e.icon+'"></span><div class="updraft_success_popup--message">'+e.message+'</div><button class="button updraft-close-overlay"><span class="dashicons dashicons-no-alt"></span>'+e.close+"</button></div>"}),setTimeout(jQuery.unblockUI,5e3),jQuery(".blockUI .updraft-close-overlay").on("click",function(){jQuery.unblockUI()})}function updraft_popuplog(t){var e=updraftlion.loading_log_file;t&&(e+=" (log."+t+".txt)"),jQuery("#updraft-poplog").dialog("option","title",e),jQuery("#updraft-poplog-content").html("<em>"+e+" ...</em> "),jQuery("#updraft-poplog").dialog("open"),updraft_send_command("get_log",t,function(t){updraft_poplog_log_pointer=t.pointer,updraft_poplog_log_nonce=t.nonce;var e="?page=updraftplus&action=downloadlog&force_download=1&updraftplus_backup_nonce="+t.nonce;jQuery("#updraft-poplog-content").html(t.log);var a={};a[updraftlion.downloadlogfile]=function(){window.location.href=e},a[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-poplog").dialog("option","buttons",a),jQuery("#updraft-poplog").dialog("option","title","log."+t.nonce+".txt"),updraft_poplog_lastscroll=-1},{type:"GET",timeout:6e4,error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft-poplog-content").append(r.fatal_error_message);else{var n=e==a?a:a+" ("+e+")";jQuery("#updraft-poplog-content").append(n),console.log(t)}}})}function updraft_showlastbackup(){updraft_send_command("get_fragment","last_backup_html",function(t){response=t.output,lastbackup_laststatus==response?setTimeout(function(){updraft_showlastbackup()},7e3):jQuery("#updraft_last_backup").html(response),lastbackup_laststatus=response},{type:"GET"})}function updraft_historytimertoggle(t){updraft_historytimer&&1!=t?(clearTimeout(updraft_historytimer),updraft_historytimer=0):(updraft_updatehistory(0,0),updraft_historytimer=setInterval(function(){updraft_updatehistory(0,0)},3e4),calculated_diskspace||(updraftplus_diskspace(),calculated_diskspace=1))}function updraft_updatehistory(t,e,a){if("undefined"==typeof updraft_restore_screen||!updraft_restore_screen){"undefined"==typeof a&&(a=jQuery("#updraft_debug_mode").is(":checked")?1:0);var r=Math.round((new Date).getTime()/1e3);if(1==t||1==e)updraft_historytimer_notbefore=r+30;else if(r<updraft_historytimer_notbefore)return void console.log("Update history skipped: "+r.toString()+" < "+updraft_historytimer_notbefore.toString());1==t&&(1==e?(updraft_history_lastchecksum=!1,jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html('<p style="text-align:center;"><em>'+updraftlion.rescanningremote+"</em></p>")):(updraft_history_lastchecksum=!1,jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html('<p style="text-align:center;"><em>'+updraftlion.rescanning+"</em></p>")));var n=e?"remotescan":!!t&&"rescan",o={operation:n,debug:a};updraft_send_command("rescan",o,function(t){if(t.hasOwnProperty("logs_exist")&&t.logs_exist&&jQuery("#updraft_lastlogmessagerow .updraft-log-link").show(),t.hasOwnProperty("migrate_tab")&&t.migrate_tab&&(jQuery("#updraft-navtab-migrate").hasClass("nav-tab-active")||(jQuery("#updraft_migrate_tab_alt").html(""),jQuery("#updraft_migrate").replaceWith(jQuery(t.migrate_tab).find("#updraft_migrate")),setup_migrate_tabs())),t.hasOwnProperty("web_server_disk_space")&&(""==t.web_server_disk_space?(console.log("UpdraftPlus: web_server_disk_space is empty"),jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").length&&jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").slideUp("slow",function(){jQuery(this).remove()})):jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").length?jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").replaceWith(t.web_server_disk_space):jQuery("#updraft-navtab-backups-content .updraft-disk-space-actions").prepend(t.web_server_disk_space)),update_backupnow_modal(t),t.hasOwnProperty("backupnow_file_entities")&&(impossible_increment_entities=t.backupnow_file_entities),null!=t.n&&jQuery("#updraft-existing-backups-heading").html(t.n),null!=t.t){if(null!=t.cksum){if(t.cksum==updraft_history_lastchecksum)return;updraft_history_lastchecksum=t.cksum}jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html(t.t),updraft_backups_selection.checkSelectionStatus(),t.data&&console.log(t.data)}})}}function update_backupnow_modal(t){t.hasOwnProperty("modal_afterfileoptions")&&jQuery(".backupnow_modal_afterfileoptions").html(t.modal_afterfileoptions)}function updraft_exclude_entity_update(t){var e=[];jQuery("#updraft_include_"+t+"_exclude_container .updraft_exclude_entity_wrapper .updraft_exclude_entity_field").each(function(){var t=jQuery.trim(jQuery(this).data("val"));""!=t&&e.push(t)}),jQuery("#updraft_include_"+t+"_exclude").val(e.join(","))}function updraft_is_unique_exclude_rule(t,e){return existing_exclude_rules_str=jQuery("#updraft_include_"+e+"_exclude").val(),existing_exclude_rules=existing_exclude_rules_str.split(","),!(jQuery.inArray(t,existing_exclude_rules)>-1)||(alert(updraftlion.duplicate_exclude_rule_error_msg),!1)}function updraft_intervals_monthly_or_not(t,e){var a="#updraft-navtab-settings-content #"+t,r=jQuery(a+" option").length,n="monthly"==e,o=!1;if(r>10&&(o=!0),n||o){if(n&&o)return void("monthly"==e&&(jQuery(".updraft_monthly_extra_words_"+t).remove(),jQuery(a).before('<span class="updraft_monthly_extra_words_'+t+'">'+updraftlion.day+" </span>").after('<span class="updraft_monthly_extra_words_'+t+'"> '+updraftlion.inthemonth+" </span>")));if(jQuery(".updraft_monthly_extra_words_"+t).remove(),n){updraft_interval_week_val=jQuery(a+" option:selected").val(),jQuery(a).html(updraftlion.mdayselector).before('<span class="updraft_monthly_extra_words_'+t+'">'+updraftlion.day+" </span>").after('<span class="updraft_monthly_extra_words_'+t+'"> '+updraftlion.inthemonth+" </span>");var d=updraft_interval_month_val===!1?1:updraft_interval_month_val;d-=1,jQuery(a+" option:eq("+d+")").prop("selected",!0)}else{updraft_interval_month_val=jQuery(a+" option:selected").val(),jQuery(a).html(updraftlion.dayselector);var u=updraft_interval_week_val===!1?1:updraft_interval_week_val;jQuery(a+" option:eq("+u+")").prop("selected",!0)}}}function updraft_check_same_times(){var t=0,e=jQuery("#updraft-navtab-settings-content .updraft_interval").val();"manual"==e?jQuery("#updraft-navtab-settings-content .updraft_files_timings").hide():jQuery("#updraft-navtab-settings-content .updraft_files_timings").show(),"weekly"==e||"fortnightly"==e||"monthly"==e?(updraft_intervals_monthly_or_not("updraft_startday_files",e),jQuery("#updraft-navtab-settings-content #updraft_startday_files").show()):(jQuery(".updraft_monthly_extra_words_updraft_startday_files").remove(),jQuery("#updraft-navtab-settings-content #updraft_startday_files").hide());var a=jQuery("#updraft-navtab-settings-content .updraft_interval_database").val();"manual"==a&&(t=1,jQuery("#updraft-navtab-settings-content .updraft_db_timings").hide()),"weekly"==a||"fortnightly"==a||"monthly"==a?(updraft_intervals_monthly_or_not("updraft_startday_db",a),jQuery("#updraft-navtab-settings-content #updraft_startday_db").show()):(jQuery(".updraft_monthly_extra_words_updraft_startday_db").remove(),jQuery("#updraft-navtab-settings-content #updraft_startday_db").hide()),a==e?(jQuery("#updraft-navtab-settings-content .updraft_db_timings").hide(),0==t?jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").show():jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").hide()):(jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").hide(),0==t&&jQuery("#updraft-navtab-settings-content .updraft_db_timings").show())}function updraft_activejobs_delete(t){updraft_aborted_jobs[t]=1,jQuery("#updraft-jobid-"+t).closest(".updraft_row").addClass("deleting"),updraft_send_command("activejobs_delete",t,function(e){var a=jQuery("#updraft-jobid-"+t).closest(".updraft_row");a.addClass("deleting"),"Y"==e.ok?(jQuery("#updraft-jobid-"+t).html(e.m),a.remove(),jQuery("#updraft-backupnow-inpage-modal").dialog("isOpen")&&jQuery("#updraft-backupnow-inpage-modal").dialog("close"),updraft_show_success_modal({message:updraft_active_job_is_clone(t)?updraftlion.clone_backup_aborted:updraftlion.backup_aborted,icon:"no-alt",classes:"warning"})):"N"==e.ok?(a.removeClass("deleting"),alert(e.m)):(a.removeClass("deleting"),alert(updraftlion.unexpectedresponse),console.log(e))})}function updraftplus_diskspace_entity(t){jQuery("#updraft_diskspaceused_"+t).html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:t},function(e){jQuery("#updraft_diskspaceused_"+t).html(e.output)},{type:"GET"})}function updraft_active_job_is_clone(t){return updraft_clone_jobs.filter(function(e){return e==t}).length}function updraft_iframe_modal(t,e){var a=780,r=500;jQuery("#updraft-iframe-modal-innards").html('<iframe width="100%" height="430px" src="'+ajaxurl+"?action=updraft_ajax&subaction="+t+"&nonce="+updraft_credentialtest_nonce+'"></iframe>'),jQuery("#updraft-iframe-modal").dialog("option","title",e).dialog("option","width",a).dialog("option","height",r).dialog("open")}function updraft_html_modal(t,e,a,r){jQuery("#updraft-iframe-modal-innards").html(t);var n={};a<450&&(n[updraftlion.close]=function(){jQuery(this).dialog("close")}),jQuery("#updraft-iframe-modal").dialog("option","title",e).dialog("option","width",a).dialog("option","height",r).dialog("option","buttons",n).dialog("open")}function updraftplus_diskspace(){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html(t.output)},{type:"GET"})}function updraftplus_deletefromserver(t,e,a){a||(a=0);var r={stage:"delete",timestamp:t,type:e,findex:a};updraft_send_command("updraft_download_backup",r,null,{action:"updraft_download_backup",nonce:updraft_download_nonce,nonce_key:"_wpnonce"})}function updraftplus_downloadstage2(t,e,a){location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+t+"&type="+e+"&stage=2&findex="+a+"&action=updraft_download_backup"}function updraftplus_show_contents(t,e,a){var r='<div id="updraft_zip_files_container" class="hidden-in-updraftcentral" style="clear:left;"><div id="updraft_zip_info_container" class="updraft_jstree_info_container"><p><span id="updraft_zip_path_text">'+updraftlion.zip_file_contents_info+'</span> - <span id="updraft_zip_size_text"></span></p>'+updraftlion.browse_download_link+'</div><div id="updraft_zip_files_jstree_container"><input type="search" id="zip_files_jstree_search" name="zip_files_jstree_search" placeholder="'+updraftlion.search+'"><div id="updraft_zip_files_jstree" class="updraft_jstree"></div></div></div>';updraft_html_modal(r,updraftlion.zip_file_contents,780,500),zip_files_jstree("zipbrowser",t,e,a)}function zip_files_jstree(t,e,a,r){jQuery("#updraft_zip_files_jstree").jstree({core:{multiple:!1,data:function(n,o){updraft_send_command("get_jstree_directory_nodes",{entity:t,node:n,timestamp:e,type:a,findex:r},function(t){t.hasOwnProperty("error")?alert(t.error):o.call(this,t.nodes)},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+r.fatal_error_message+"</p>"),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+n+"</p>"),console.log(n),alert(n),console.log(t)}}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["search","sort"]}),jQuery("#updraft_zip_files_jstree").on("ready.jstree",function(t,e){jQuery("#updraft-iframe-modal").dialog("option","title",updraftlion.zip_file_contents+": "+e.instance.get_node("#").children[0])});var n=!1;jQuery("#zip_files_jstree_search").keyup(function(){n&&clearTimeout(n),n=setTimeout(function(){var t=jQuery("#zip_files_jstree_search").val();jQuery("#updraft_zip_files_jstree").jstree(!0).search(t)},250)}),jQuery("#updraft_zip_files_jstree").on("changed.jstree",function(t,e){jQuery("#updraft_zip_path_text").text(e.node.li_attr.path),e.node.li_attr.size?(jQuery("#updraft_zip_size_text").text(e.node.li_attr.size),jQuery("#updraft_zip_download_item").show()):(jQuery("#updraft_zip_size_text").text(""),jQuery("#updraft_zip_download_item").hide())}),jQuery("#updraft_zip_download_item").click(function(t){t.preventDefault();var n=jQuery("#updraft_zip_path_text").text();updraft_send_command("get_zipfile_download",{path:n,timestamp:e,type:a,findex:r},function(t){t.hasOwnProperty("error")?alert(t.error):t.hasOwnProperty("path")?location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+e+"&type="+a+"&stage=2&findex="+r+"&filepath="+t.path+"&action=updraft_download_backup":alert(updraftlion.download_timeout)},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}})})}function remove_updraft_downloader(t,e){jQuery(t).closest(".updraftplus_downloader").fadeOut().remove(),0==jQuery(".updraftplus_downloader_container_"+e+" .updraftplus_downloader").length&&jQuery(".updraftplus_downloader_container_"+e).remove()}function updraft_downloader(t,e,a,r,n,o,d){"string"!=typeof n&&(n=n.toString()),jQuery(".ud_downloadstatus").show();var n=n.split(","),u=o?o:e,s=jQuery("#updraft-navtab-backups-content .uddownloadform_"+a+"_"+e+"_"+n[0]).data("wp_nonce").toString();jQuery(".updraftplus_downloader_container_"+a).length||(jQuery(r).append('<div class="updraftplus_downloader_container_'+a+' postbox"></div>'),jQuery(".updraftplus_downloader_container_"+a).append('<strong style="clear:left; padding: 8px; margin-top: 4px;">'+updraftlion.download+" "+a+" ("+u+"):</strong>"));for(var i=0;i<n.length;i++){var l=t+e+"_"+a+"_"+n[i],p="."+l,_=parseInt(n[i]);_++;var c=0==n[i]?"":" ("+_+")";jQuery(p).length||(jQuery(".updraftplus_downloader_container_"+a).append('<div style="clear:left; padding: 8px; margin-top: 4px;" class="'+l+' updraftplus_downloader"><button onclick="remove_updraft_downloader(this, \''+a+'\');" type="button" style="float:right; margin-bottom: 8px;" class="ud_downloadstatus__close" aria-label="Close"><span class="dashicons dashicons-no-alt"></span></button><strong>'+a+c+'</strong>:<div class="raw">'+updraftlion.begunlooking+'</div><div class="file '+l+'_st"><div class="dlfileprogress" style="width: 0;"></div></div></div>'),jQuery(p).data("downloaderfor",{base:t,nonce:e,what:a,index:n[i]}),setTimeout(function(){updraft_activejobs_update(!0)},1500)),jQuery(p).data("lasttimebegan",(new Date).getTime())}d=!!d;var f={type:a,timestamp:e,findex:n},m={action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:s,timeout:1e4,async:d};return updraft_send_command("updraft_download_backup",f,function(t){},m),!1}function ud_parse_json(t,e){if(e="undefined"!=typeof e,!e)try{var a=JSON.parse(t);return a}catch(r){console.log("UpdraftPlus: Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets"),console.log(t)}var n=t.indexOf("{"),o=t.lastIndexOf("}");if(n>-1&&o>-1){var d=t.slice(n,o+1);try{var u=JSON.parse(d);return e||console.log("UpdraftPlus: JSON re-parse successful"),e?{parsed:u,json_start_pos:n,json_last_pos:o+1}:u}catch(r){console.log("UpdraftPlus: Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting");for(var s=n,i=0,l="",p=!1;(i>0||s==n)&&s<=o;){var _=t.charAt(s);p||"{"!=_?p||"}"!=_?'"'==_&&"\\"!=l&&(p=!p):i--:i++,l=_,s++}console.log("Started at cursor="+n+", ended at cursor="+s+" with result following:"),console.log(t.substring(n,s));try{var u=JSON.parse(t.substring(n,s));return console.log("UpdraftPlus: JSON re-parse successful"),e?{parsed:u,json_start_pos:n,json_last_pos:s}:u}catch(r){throw r}}}throw"UpdraftPlus: could not parse the JSON"}function updraft_restorer_checkstage2(t){var e=jQuery("#ud_downloadstatus2 .file").length;return e>0?void(t&&alert(updraftlion.stilldownloading)):(jQuery(".updraft-restore--next-step").prop("disabled",!0),jQuery("#updraft-restore-modal-stage2a").html('<span class="dashicons dashicons-update rotate"></span> '+updraftlion.preparing_backup_files),void updraft_send_command("restore_alldownloaded",{timestamp:jQuery("#updraft_restore_timestamp").val(),restoreopts:jQuery("#updraft_restore_form").serialize()},function(t,e,a){var r=null;jQuery("#updraft_restorer_restore_options").val(""),jQuery(".updraft-restore--next-step").prop("disabled",!1);try{if(null==t)return void jQuery("#updraft-restore-modal-stage2a").html(updraftlion.emptyresponse);var n=t.m;if(""!=t.w&&(n=n+'<div class="notice notice-warning"><p><span class="dashicons dashicons-warning"></span> <strong>'+updraftlion.warnings+"</strong></p>"+t.w+"</div>"),""!=t.e?n=n+'<div class="notice notice-error"><p><span class="dashicons dashicons-dismiss"></span> <strong>'+updraftlion.errors+"</strong></p>"+t.e+"</div>":updraft_restore_stage=3,t.hasOwnProperty("i")){try{if(r=ud_parse_json(t.i),r.hasOwnProperty("addui")){console.log("Further UI options are being displayed");var o=r.addui;n+='<div id="updraft_restoreoptions_ui">'+o+"</div>","object"==typeof JSON&&"function"==typeof JSON.stringify&&(delete r.addui,t.i=JSON.stringify(r))}}catch(d){console.log(d),console.log(t)}jQuery("#updraft_restorer_backup_info").val(t.i)}else jQuery("#updraft_restorer_backup_info").val();jQuery("#updraft-restore-modal-stage2a").html(n),jQuery(".updraft-restore--next-step").text(updraftlion.restore),jQuery("#updraft-restore-modal-stage2a .updraft_select2").length>0&&jQuery("#updraft-restore-modal-stage2a .updraft_select2").select2()}catch(d){console.log(a),console.log(d),jQuery("#updraft-restore-modal-stage2a").text(updraftlion.jsonnotunderstood+" "+updraftlion.errordata+": "+a).html()}},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft-restore-modal-stage2a").html('<p style="color: red;">'+r.fatal_error_message+"</p>"),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft-restore-modal-stage2a").html('<p style="color: red;">'+n+"</p>"),
|
2 |
-
console.log(n),alert(n),console.log(t)}}}))}function updraft_downloader_status(t,e,a,r){}function updraft_downloader_status_update(t,e){var a=0;return jQuery(t).each(function(t,r){if(""!=r.base){var n=r.base+r.timestamp+"_"+r.what+"_"+r.findex,o="."+n;if(null!=r.e)jQuery(o+" .raw").html("<strong>"+updraftlion.error+"</strong> "+r.e),console.log(r);else if(null!=r.p){if(jQuery(o+"_st .dlfileprogress").width(r.p+"%"),null!=r.a&&r.a>0){var d=(new Date).getTime(),u=jQuery(o).data("lasttimebegan"),s=d-u;if(r.a>90&&s>6e4){console.log(r.timestamp+" "+r.what+" "+r.findex+": restarting download: file_age="+r.a+", sincelastrestart_ms="+s),jQuery(o).data("lasttimebegan",(new Date).getTime());var i=jQuery("#updraft-navtab-backups-content .uddownloadform_"+r.what+"_"+r.timestamp+"_"+r.findex),l={type:r.what,timestamp:r.timestamp,findex:r.findex},p={action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:i.data("wp_nonce").toString(),timeout:1e4};updraft_send_command("updraft_download_backup",l,function(t){},p),jQuery(o).data("lasttimebegan",(new Date).getTime())}}if(null!=r.m)if(r.p>=100&&"udrestoredlstatus_"==r.base)jQuery(o+" .raw").html(r.m),jQuery(o).fadeOut("slow",function(){remove_updraft_downloader(this,r.what),updraft_restorer_checkstage2(0)});else if(r.p>=100&&"udclonedlstatus_"==r.base)jQuery(o+" .raw").html(r.m),jQuery(o).fadeOut("slow",function(){remove_updraft_downloader(this,r.what)});else if(r.p<100||"uddlstatus_"!=r.base)jQuery(o+" .raw").html(r.m);else{var _=updraftlion.fileready+" "+updraftlion.actions+': \t\t\t\t<button class="button" type="button" onclick="updraftplus_downloadstage2(\''+r.timestamp+"', '"+r.what+"', '"+r.findex+"')\">"+updraftlion.downloadtocomputer+'</button> \t\t\t\t<button class="button" id="uddownloaddelete_'+r.timestamp+"_"+r.what+'" type="button" onclick="updraftplus_deletefromserver(\''+r.timestamp+"', '"+r.what+"', '"+r.findex+"')\">"+updraftlion.deletefromserver+"</button>";r.hasOwnProperty("can_show_contents")&&r.can_show_contents&&(_+=' <button class="button" type="button" onclick="updraftplus_show_contents(\''+r.timestamp+"', '"+r.what+"', '"+r.findex+"')\">"+updraftlion.browse_contents+"</button>"),jQuery(o+" .raw").html(_),jQuery(o+"_st").remove()}}else null!=r.m?jQuery(o+" .raw").html(r.m):(jQuery(o+" .raw").html(updraftlion.jsonnotunderstood+" ("+e+")"),a=1)}}),a}function updraft_backupnow_go(t,e,a,r,n,o,d){var u={backupnow_nodb:t,backupnow_nofiles:e,backupnow_nocloud:a,backupnow_label:o,extradata:n};if(""!=r&&(u.onlythisfileentity=r),""!=d&&(u.onlythesetableentities=d),u.always_keep="undefined"!=typeof n.always_keep?n.always_keep:0,delete n.always_keep,u.incremental="undefined"!=typeof n.incremental?n.incremental:0,delete n.incremental,!jQuery(".updraft_requeststart").length){var s=jQuery('<div class="updraft_requeststart" />').html('<span class="spinner"></span>'+updraftlion.requeststart);s.data("remove",!1),setTimeout(function(){s.data("remove",!0)},3e3),setTimeout(function(){s.remove()},75e3),jQuery("#updraft_activejobsrow").before(s)}updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",u,function(t){return t.hasOwnProperty("error")?(jQuery(".updraft_requeststart").remove(),void alert(t.error)):(jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),void setTimeout(function(){updraft_activejobs_update(!0)},500))})}function updraft_process_status_check(t,e,a){if(t.hasOwnProperty("fatal_error"))return console.error(t.fatal_error_message),void(!0===updraftplus_activejobs_list_fatal_error_alert&&(updraftplus_activejobs_list_fatal_error_alert=!1,alert(this.alert_done+" "+t.fatal_error_message)));try{t.hasOwnProperty("l")&&(t.l?(jQuery("#updraft_lastlogmessagerow").show(),jQuery("#updraft_lastlogcontainer").html(t.l)):(jQuery("#updraft_lastlogmessagerow").hide(),jQuery("#updraft_lastlogcontainer").html("("+updraftlion.nothing_yet_logged+")")));var r=-1,n=jQuery(".updraft_requeststart");t.j&&n.length&&n.data("remove")&&n.remove();var o=jQuery(t.j);o.find(".updraft_jobtimings").each(function(t,e){var a=jQuery(e);if(a.data("jobid")){var r=a.data("jobid"),n=a.closest(".updraft_row");updraft_aborted_jobs[r]&&n.hide()}}),jQuery("#updraft_activejobsrow").html(o);var d=o.find('.job-id[data-isclone="1"]');if(d.length>0){if(0==jQuery(".updraftclone_action_box .updraftclone_network_info").length&&jQuery("#updraft_activejobsrow .job-id .updraft_clone_url").length>0){var u=jQuery("#updraft_activejobsrow .job-id .updraft_clone_url").data("clone_url");updraft_send_command("get_clone_network_info",{clone_url:u},function(t){t.hasOwnProperty("html")&&jQuery(".updraftclone_action_box").html(t.html)})}jQuery("#updraft_clone_activejobsrow").empty(),d.each(function(t,e){var a=jQuery(e);a.closest(".updraft_row").appendTo(jQuery("#updraft_clone_activejobsrow"))})}if(jQuery("#updraft_activejobs .updraft_jobtimings").each(function(t,e){var a=jQuery(e);if(a.data("lastactivity")&&a.data("jobid")){var n=a.data("jobid"),o=a.data("lastactivity");(r==-1||o<r)&&(r=o);var d=a.data("nextresumptionafter"),u=a.data("nextresumption");timenow=(new Date).getTime(),o>50&&u>0&&d<-30&&timenow>updraft_last_forced_when+1e5&&(updraft_last_forced_jobid!=n||u!=updraft_last_forced_resumption)&&(updraft_last_forced_resumption=u,updraft_last_forced_jobid=n,updraft_last_forced_when=timenow,console.log("UpdraftPlus: force resumption: job_id="+n+", resumption="+u),updraft_send_command("forcescheduledresumption",{resumption:u,job_id:n},function(t){console.log(t)},{json_parse:!1,alert_on_error:!1}))}}),timenow=(new Date).getTime(),updraft_activejobs_nextupdate=timenow+18e4,1==updraft_page_is_visible&&"backups"==updraft_console_focussed_tab&&(updraft_activejobs_nextupdate=r>-1?r<5?timenow+1750:timenow+5e3:lastlog_lastdata==e?timenow+7500:timenow+1750),d.length>0&&(updraft_activejobs_nextupdate=timenow+6e3),lastlog_lastdata=e,null!=t.j&&""!=t.j){if(jQuery("#updraft_activejobsrow").show(),d.length>0&&jQuery("#updraft_clone_activejobsrow").show(),a.hasOwnProperty("thisjobonly")&&!updraft_inpage_hasbegun&&jQuery("#updraft-jobid-"+a.thisjobonly).length?(updraft_inpage_hasbegun=1,console.log("UpdraftPlus: the start of the requested backup job has been detected")):!updraft_inpage_hasbegun&&updraft_activejobslist_backupnownonce_only&&jQuery(".updraft_jobtimings.isautobackup").length&&(autobackup_nonce=jQuery(".updraft_jobtimings.isautobackup").first().data("jobid"),autobackup_nonce&&(updraft_inpage_hasbegun=1,updraft_backupnow_nonce=autobackup_nonce,a.thisjobonly=autobackup_nonce,console.log("UpdraftPlus: the start of the requested backup job has been detected; id: "+autobackup_nonce))),1==updraft_inpage_hasbegun&&jQuery("#updraft-jobid-"+a.thisjobonly+".updraft_finished").length&&(updraft_inpage_hasbegun=2,console.log("UpdraftPlus: the end of the requested backup job has been detected"),updraft_activejobs_update_timer&&clearInterval(updraft_activejobs_update_timer),"undefined"!=typeof updraft_inpage_success_callback&&""!=updraft_inpage_success_callback?updraft_inpage_success_callback.call(!1):jQuery("#updraft-backupnow-inpage-modal").dialog("close")),""==lastlog_jobs&&setTimeout(function(){jQuery("#updraft_backup_started").slideUp()},3500),a.hasOwnProperty("thisjobonly")&&updraft_backupnow_nonce&&a.thisjobonly===updraft_backupnow_nonce){jQuery(".updraft_requeststart").remove();var s=jQuery("#updraft-jobid-"+updraft_backupnow_nonce);s.is(".updraft_finished")&&(updraft_activejobslist_backupnownonce_only=0,updraft_aborted_jobs[updraft_backupnow_nonce]?updraft_aborted_jobs=updraft_aborted_jobs.filter(function(t,e){return t!=updraft_backupnow_nonce}):updraft_active_job_is_clone(updraft_backupnow_nonce)?(updraft_show_success_modal(updraftlion.clone_backup_complete),updraft_clone_jobs=updraft_clone_jobs.filter(function(t){return t!=updraft_backupnow_nonce})):updraft_show_success_modal(updraftlion.backup_complete),updraft_backupnow_nonce="",updraft_activejobs_update(!0))}}else jQuery("#updraft_activejobsrow").is(":hidden")||("undefined"!=typeof lastbackup_laststatus&&updraft_showlastbackup(),updraft_updatehistory(0,0),jQuery("#updraft_activejobsrow").hide());if(lastlog_jobs=t.j,null!=t.ds&&""!=t.ds&&updraft_downloader_status_update(t.ds,e),null!=t.u&&""!=t.u&&jQuery("#updraft-poplog").dialog("isOpen")){var i=t.u;if(i.nonce==updraft_poplog_log_nonce&&(updraft_poplog_log_pointer=i.pointer,null!=i.log&&""!=i.log)){var l=jQuery("#updraft-poplog").scrollTop();jQuery("#updraft-poplog-content").append(i.log),updraft_poplog_lastscroll!=l&&updraft_poplog_lastscroll!=-1||(jQuery("#updraft-poplog").scrollTop(jQuery("#updraft-poplog-content").prop("scrollHeight")),updraft_poplog_lastscroll=jQuery("#updraft-poplog").scrollTop())}}}catch(p){console.log(updraftlion.unexpectedresponse+" "+e),console.log(p)}}var onlythesefileentities=backupnow_whichfiles_checked("");""==onlythesefileentities?jQuery("#backupnow_includefiles_moreoptions").show():jQuery("#backupnow_includefiles_moreoptions").hide();var impossible_increment_entities,updraft_restore_stage=1,lastlog_lastmessage="",lastlog_lastdata="",lastlog_jobs="",updraft_activejobs_nextupdate=(new Date).getTime()+1e3,updraft_page_is_visible=1,updraft_console_focussed_tab=updraftlion.tab,updraft_settings_form_changed=!1;window.onbeforeunload=function(t){if(updraft_settings_form_changed)return updraftlion.unsavedsettings},"undefined"!=typeof document.hidden&&document.addEventListener("visibilitychange",function(){updraft_check_page_visibility(0)},!1),updraft_check_page_visibility(1);var updraft_poplog_log_nonce,updraft_poplog_log_pointer=0,updraft_poplog_lastscroll=-1,updraft_last_forced_jobid=-1,updraft_last_forced_resumption=-1,updraft_last_forced_when=-1,updraft_backupnow_nonce="",updraft_activejobslist_backupnownonce_only=0,updraft_inpage_hasbegun=0,updraft_activejobs_update_timer,updraft_aborted_jobs=[],updraft_clone_jobs=[],temporary_clone_timeout,updraft_backups_selection={};!function(t){updraft_backups_selection.toggle=function(e){var a=t(e);a.is(".backuprowselected")?this.deselect(e):this.select(e)},updraft_backups_selection.select=function(e){t(e).addClass("backuprowselected"),t(e).find(".backup-select input").prop("checked",!0),this.checkSelectionStatus()},updraft_backups_selection.deselect=function(e){t(e).removeClass("backuprowselected"),t(e).find(".backup-select input").prop("checked",!1),this.checkSelectionStatus()},updraft_backups_selection.selectAll=function(){t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").each(function(t,e){updraft_backups_selection.select(e)})},updraft_backups_selection.deselectAll=function(){t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").each(function(t,e){updraft_backups_selection.deselect(e)})},updraft_backups_selection.checkSelectionStatus=function(){var e=t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").length,a=t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected").length;a>0?(t("#ud_massactions").addClass("active"),t(".js--deselect-all-backups, .js--delete-selected-backups").prop("disabled",!1)):(t("#ud_massactions").removeClass("active"),t(".js--deselect-all-backups, .js--delete-selected-backups").prop("disabled",!0)),e===a?t("#cb-select-all").prop("checked",!0):t("#cb-select-all").prop("checked",!1),e?t("#ud_massactions").show():t("#ud_massactions").hide()},updraft_backups_selection.selectAllInBetween=function(e){var a=this.firstMultipleSelectionIndex,r=e.rowIndex-1;for(this.firstMultipleSelectionIndex>e.rowIndex-1&&(a=e.rowIndex-1,r=this.firstMultipleSelectionIndex),i=a;i<=r;i++)this.select(t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").eq(i))},updraft_backups_selection.hightlight_backup_rows=function(){"undefined"!=typeof updraft_backups_selection.firstMultipleSelectionIndex&&(t(this).hasClass("range-selection")||t(this).hasClass("backuprowselected")||t(this).addClass("range-selection"),t(this).siblings().removeClass("range-selection"),updraft_backups_selection.firstMultipleSelectionIndex+1>this.rowIndex?t(this).nextUntil(".updraft_existing_backups_row.range-selection-start").addClass("range-selection"):updraft_backups_selection.firstMultipleSelectionIndex+1<this.rowIndex&&t(this).prevUntil(".updraft_existing_backups_row.range-selection-start").addClass("range-selection"))},updraft_backups_selection.unregister_highlight_mode=function(){"undefined"!=typeof updraft_backups_selection.firstMultipleSelectionIndex&&(delete updraft_backups_selection.firstMultipleSelectionIndex,t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").removeClass("range-selection range-selection-start"),t("#updraft-navtab-backups-content").off("hover",".updraft_existing_backups .updraft_existing_backups_row",this.hightlight_backup_rows),t(document).off("mouseleave",this.unregister_highlight_mode))},updraft_backups_selection.register_highlight_mode=function(){t(document).on("mouseleave",updraft_backups_selection.unregister_highlight_mode),t("#updraft-navtab-backups-content").on("hover",".updraft_existing_backups .updraft_existing_backups_row",updraft_backups_selection.hightlight_backup_rows)}}(jQuery);var updraftplus_activejobs_list_fatal_error_alert=!0,updraft_historytimer=0,calculated_diskspace=0,updraft_historytimer_notbefore=0,updraft_history_lastchecksum=!1,updraft_interval_week_val=!1,updraft_interval_month_val=!1;"undefined"!=typeof updraft_siteurl&&setInterval(function(){jQuery.get(updraft_siteurl+"/wp-cron.php")},21e4);var lastlog_lastmessage="";jQuery(document).ajaxError(function(t,e,a,r){if(null!=r&&""!=r&&null!=e.responseText&&""!=e.responseText&&(console.log("Error caught by UpdraftPlus ajaxError handler (follows) for "+a.url),console.log(r),0==a.url.search(ajaxurl)))if(a.url.search("subaction=downloadstatus")>=0){var n=a.url.match(/timestamp=\d+/),o=a.url.match(/type=[a-z]+/),d=a.url.match(/findex=\d+/),u=a.url.match(/base=[a-z_]+/);if(d=d instanceof Array?parseInt(d[0].substr(7)):0,o=o instanceof Array?o[0].substr(5):"",u=u instanceof Array?u[0].substr(5):"",n=n instanceof Array?parseInt(n[0].substr(10)):0,""!=u&&""!=o&&n>0){var s=u+n+"_"+o+"_"+d;jQuery("."+s+" .raw").html("<strong>"+updraftlion.error+"</strong> "+updraftlion.servererrorcode)}}else a.url.search("subaction=restore_alldownloaded")>=0&&jQuery("#updraft-restore-modal-stage2a").append("<br><strong>"+updraftlion.error+"</strong> "+updraftlion.servererrorcode+": "+r)}),jQuery(document).ready(function(t){function e(e){t('.expertmode .advanced_settings_container .advanced_tools:not(".'+e+'")').hide(),t(".expertmode .advanced_settings_container .advanced_tools."+e).fadeIn("slow"),t(".expertmode .advanced_settings_container .advanced_tools_button:not(#"+e+")").removeClass("active"),t(".expertmode .advanced_settings_container .advanced_tools_button#"+e).addClass("active")}function a(e){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",e,function(e){try{if(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").removeClass("visible"),e.hasOwnProperty("status")&&"error"==e.status)return t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(e.message).show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val("");e.hasOwnProperty("tfa_enabled")&&1==e.tfa_enabled&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").focus()),"authenticated"===e.status&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").val(""),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(e.html),e.hasOwnProperty("clone_info")&&e.clone_info.hasOwnProperty("expires_after")&&n(e.clone_info.expires_after))}catch(a){console.log(a)}})}function r(e){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",e,function(e){try{if(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").removeClass("visible"),e.hasOwnProperty("status")&&"error"==e.status)return void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(e.message).show();"authenticated"===e.status&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(e.html),e.hasOwnProperty("clone_info")&&e.clone_info.hasOwnProperty("expires_after")&&n(e.clone_info.expires_after))}catch(a){console.log(a)}})}function n(e){var a=1e3*e;temporary_clone_timeout=setTimeout(function(){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(""),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").show()},a)}function o(e,a,r){var n="";"current"!=a&&updraft_send_command("whichdownloadsneeded",{updraftplus_clone:!0,timestamp:a},function(t){if(t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),n=t.downloads,console.log(n)),0!=n.length)for(var e=0;e<n.length;e++)updraft_downloader("udclonedlstatus_",a,n[e][0],"#ud_downloadstatus3",n[e][1],"",!1)},{alert_on_error:!1,error_callback:function(e,a,r,n){if("undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html('<p style="color:red;">'+n.fatal_error_message+"</p>");else{var o="updraft_send_command: error: "+a+" ("+r+")";t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html('<p style="color:red; margin: 5px;">'+o+"</p>"),console.log(o),console.log(e)}}}),setTimeout(function(){if(0!=n.length)return void o(e,a,r);var s=e.form_data.clone_id,i=e.form_data.secret_token;updraft_send_command("process_updraftplus_clone_create",e,function(e){try{if(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),e.hasOwnProperty("status")&&"error"==e.status)return void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+e.message).show();"success"===e.status&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").html(e.html),temporary_clone_timeout&&clearTimeout(temporary_clone_timeout),"wp_only"===r?(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),u(s,i)):(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),d(s,i,e.url,e.key,r,a)))}catch(n){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),console.log("Error when processing the response of process_updraftplus_clone_create (as follows)"),console.log(n)}})},5e3)}function d(t,e,a,r,n,o){var d={updraftplus_clone_backup:1,backupnow_nodb:0,backupnow_nofiles:0,backupnow_nocloud:0,backupnow_label:"UpdraftPlus Clone",extradata:"",onlythisfileentity:"plugins,themes,uploads,others",clone_id:t,secret_token:e,clone_url:a,key:r,backup_nonce:n,backup_timestamp:o};updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",d,function(t){jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").removeClass("visible"),jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,updraft_clone_jobs.push(updraft_backupnow_nonce),updraft_inpage_success_callback=function(){jQuery("#updraft_clone_activejobsrow").hide(),updraft_aborted_jobs[updraft_backupnow_nonce]?jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_aborted):jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_complete)},console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),updraft_activejobs_update(!0)})}function u(e,a){var r={clone_id:e,secret_token:a};setTimeout(function(){updraft_send_command("process_updraftplus_clone_poll",r,function(r){if(r.hasOwnProperty("status")){if("error"==r.status)return void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+r.message).show();if("success"===r.status&&r.hasOwnProperty("data")&&r.data.hasOwnProperty("wordpress_credentials"))return t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_clone_progress").append("<br>WordPress "+updraftlion.credentials+":<br>"+updraftlion.username+": "+r.data.wordpress_credentials.username+"<br>"+updraftlion.password+": "+r.data.wordpress_credentials.password)}else console.log(r);u(e,a)})},6e4)}function s(t){var e=Handlebars.compile(updraftlion.remote_storage_templates[t]),a=updraftlion.remote_storage_options[t]["default"];a.instance_id="s-"+i(32),a.instance_enabled=1;var r=e(a);jQuery(r).hide().insertAfter("."+t+"_add_instance_container:first").show("slow")}function i(t){for(var e="",a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r<t;r++)e+=a.charAt(Math.floor(Math.random()*a.length));return e}function l(t){var e=!!jQuery("#updraftcentral_mothership_other").is(":checked");e?(jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!1),t?jQuery("#updraftcentral_keycreate_mothership_firewalled_container").show():(jQuery(".updraftcentral_wizard_self_hosted_stage2").show(),jQuery("#updraftcentral_keycreate_mothership_firewalled_container").slideDown(),jQuery("#updraftcentral_keycreate_mothership").focus())):(jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!0),t||(jQuery(".updraftcentral_wizard_self_hosted_stage2").hide(),p()))}function p(){jQuery("#updraftcentral_wizard_stage1_error").text("");var t="";if(jQuery("#updraftcentral_mothership_updraftpluscom").is(":checked"))jQuery(".updraftcentral_keycreate_description").hide(),t="updraftplus.com";else if(jQuery("#updraftcentral_mothership_other").is(":checked")){jQuery(".updraftcentral_keycreate_description").show();var e=jQuery("#updraftcentral_keycreate_mothership").val();if(""==e)return void jQuery("#updraftcentral_wizard_stage1_error").text(updraftlion.updraftcentral_wizard_empty_url);try{var a=new URL(e);t=a.hostname}catch(r){if("undefined"==typeof URL&&(t=jQuery("<a>").prop("href",e).prop("hostname")),!t||"undefined"!=typeof URL)return void jQuery("#updraftcentral_wizard_stage1_error").text(updraftlion.updraftcentral_wizard_invalid_url)}}jQuery("#updraftcentral_keycreate_description").val(t),jQuery(".updraftcentral_wizard_stage1").hide(),jQuery(".updraftcentral_wizard_stage2").show()}function _(e,a,r,n){jQuery("#updraft-delete-modal").dialog("close");var o=e,d=a,u=r,s=n,i=jQuery("#updraft_delete_timestamp").val().split(","),l=jQuery("#updraft_delete_form").serializeArray(),p={};t.each(l,function(){void 0!==p[this.name]?(p[this.name].push||(p[this.name]=[p[this.name]]),p[this.name].push(this.value||"")):p[this.name]=this.value||""}),p.delete_remote?jQuery("#updraft-delete-waitwarning").find(".updraft-deleting-remote").show():jQuery("#updraft-delete-waitwarning").find(".updraft-deleting-remote").hide(),jQuery("#updraft-delete-waitwarning").slideDown().addClass("active"),p.remote_delete_limit=updraftlion.remote_delete_limit,delete p.action,delete p.subaction,delete p.nonce,updraft_send_command("deleteset",p,function(t){if(!t.hasOwnProperty("result")||null==t.result)return void jQuery("#updraft-delete-waitwarning").slideUp();if("error"==t.result)jQuery("#updraft-delete-waitwarning").slideUp(),alert(updraftlion.error+" "+t.message);else if("continue"==t.result){o=o+t.backup_local+t.backup_remote,d+=t.backup_local,u+=t.backup_remote,s+=t.backup_sets;for(var e=t.deleted_timestamps.split(","),a=0;a<e.length;a++){var r=e[a];jQuery("#updraft-navtab-backups-content .updraft_existing_backups_row_"+r).slideUp().remove()}jQuery("#updraft_delete_timestamp").val(t.timestamps),jQuery("#updraft-deleted-files-total").text(o+" "+updraftlion.remote_files_deleted),_(o,d,u,s)}else if("success"==t.result){setTimeout(function(){jQuery("#updraft-deleted-files-total").text(""),jQuery("#updraft-delete-waitwarning").slideUp()},500),update_backupnow_modal(t),t.hasOwnProperty("backupnow_file_entities")&&(impossible_increment_entities=t.backupnow_file_entities),t.hasOwnProperty("count_backups")&&jQuery("#updraft-existing-backups-heading").html(updraftlion.existing_backups+' <span class="updraft_existing_backups_count">'+t.count_backups+"</span>");for(var a=0;a<i.length;a++){var r=i[a];jQuery("#updraft-navtab-backups-content .updraft_existing_backups_row_"+r).slideUp().remove()}updraft_backups_selection.checkSelectionStatus(),updraft_history_lastchecksum=!1,d+=t.backup_local,u+=t.backup_remote,s+=t.backup_sets,setTimeout(function(){alert(t.set_message+" "+s+"\n"+t.local_message+" "+d+"\n"+t.remote_message+" "+u)},900)}})}function c(t,e){jQuery("#updraft-navtab-settings-content #updraft_include_"+t).is(":checked")?e?jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude_container").show():jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude_container").slideDown():e?jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude").hide():jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude_container").slideUp()}function f(){var t=new plupload.Uploader(updraft_plupload_config);t.bind("Init",function(t){var e=jQuery("#plupload-upload-ui");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area").bind("dragover.wp-uploader",function(){e.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area").unbind(".wp-uploader"))}),t.init(),t.bind("FilesAdded",function(e,a){plupload.each(a,function(e){if(!/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+([0-9]+?)?(\.(zip|gz|gz\.crypt))?$/i.test(e.name)&&!/^log\.([0-9a-f]{12})\.txt$/.test(e.name)){for(var a=!1,r=0;r<updraft_accept_archivename.length;r++)if(updraft_accept_archivename[r].test(e.name))var a=!0;if(!a)return/\.(zip|tar|tar\.gz|tar\.bz2)$/i.test(e.name)||/\.sql(\.gz)?$/i.test(e.name)?(jQuery("#updraft-message-modal-innards").html("<p><strong>"+e.name+"</strong></p> "+updraftlion.notarchive2),jQuery("#updraft-message-modal").dialog("open")):alert(e.name+": "+updraftlion.notarchive),void t.removeFile(e)}jQuery("#filelist").append('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(0)+"</span>/"+plupload.formatSize(e.size)+') <div class="fileprogress"></div></div>')}),e.refresh(),e.start()}),t.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100))),e.size==e.loaded&&(jQuery("#"+e.id).html('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(parseInt(e.size*e.percent/100))+"</span>/"+plupload.formatSize(e.size)+") - "+updraftlion.complete+"</div>"),jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"))}),t.bind("Error",function(t,e){console.log(e);var a;a="-200"==e.code?"\n"+updraftlion.makesure2:updraftlion.makesure;var r=updraftlion.uploaderr+" (code "+e.code+") : "+e.message;e.hasOwnProperty("status")&&e.status&&(r+=" ("+updraftlion.http_code+" "+e.status+")"),e.hasOwnProperty("response")&&(console.log("UpdraftPlus: plupload error: "+e.response),e.response.length<100&&(r+=" "+updraftlion.error+" "+e.response+"\n")),r+=" "+a,alert(r)}),t.bind("FileUploaded",function(t,e,a){if("200"==a.status)try{resp=ud_parse_json(a.response),resp.e?alert(updraftlion.uploaderror+" "+resp.e):resp.dm?(alert(resp.dm),updraft_updatehistory(1,0)):resp.m?updraft_updatehistory(1,0):alert("Unknown server response: "+a.response)}catch(r){console.log(a),alert(updraftlion.jsonnotunderstood)}else alert("Unknown server response status: "+a.code),console.log(a)})}function m(t){params={uri:jQuery("#updraftplus_httpget_uri").val()},params.curl=t,updraft_send_command("httpget",params,function(t){t.e&&alert(t.e),t.r?jQuery("#updraftplus_httpget_results").html("<pre>"+t.r+"</pre>"):console.log(t)},{type:"GET"})}function g(t,e,a){updraft_restore_setoptions(t),jQuery("#updraft_restore_timestamp").val(e),jQuery(".updraft_restore_date").html(a),updraft_restore_stage=1,Q.open(),updraft_activejobs_update(!0)}function h(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e="[\\?&]"+t+"=([^&#]*)",a=new RegExp(e),r=a.exec(window.location.href);return null==r?"":decodeURIComponent(r[1].replace(/\+/g," "))}function y(e,a,r){jQuery("#updraft_upload_timestamp").val(e),jQuery("#updraft_upload_nonce").val(a);var n=r.split(",");jQuery(".updraft_remote_storage_destination").each(function(e){var a=jQuery(this).val();
|
3 |
-
if(jQuery.inArray(a,n)==-1){jQuery(this).prop("checked",!1),jQuery(this).prop("disabled",!0);var r=t(this).prop("labels");jQuery(r).append(" "+updraftlion.already_uploaded)}}),jQuery("#updraft-upload-modal").dialog("open")}if(t(document).on("udp/checkout/done",function(e,a){a.hasOwnProperty("product")&&"updraftpremium"===a.product&&"complete"===a.status&&(t(".premium-upgrade-purchase-success").show(),t(".updraft_feat_table").closest("section").hide(),t(".updraft_premium_cta__action").hide())}),t(".expertmode .advanced_settings_container .advanced_tools_button").click(function(){e(t(this).attr("id"))}),jQuery.ui&&jQuery.ui.dialog&&jQuery.ui.dialog.prototype._allowInteraction){var b=jQuery.ui.dialog.prototype._allowInteraction;jQuery.ui.dialog.prototype._allowInteraction=function(t){return!!jQuery(t.target).closest(".select2-dropdown").length||b.apply(this,arguments)}}t("#updraftcentral_keys").on("click","a.updraftcentral_keys_show",function(e){e.preventDefault(),t(this).remove(),t("#updraftcentral_keys_table").slideDown()}),t("#updraftcentral_keycreate_altmethod_moreinfo_get").click(function(e){e.preventDefault(),t(this).remove(),t("#updraftcentral_keycreate_altmethod_moreinfo").slideDown()}),t("#updraft-navtab-settings-content #remote-storage-holder").on("change keyup paste",".updraft_webdav_settings",function(){var e=[];t(".updraft_webdav_settings").each(function(a,r){var n=t(r).attr("id");if(n&&"updraft_webdav_"==n.substring(0,15)){var o=n.substring(15);id_split=o.split("_"),o=id_split[0];var d=id_split[1];"undefined"==typeof e[d]&&(e[d]=[]),e[d][o]=this.value}});var a="",r="@",n="/",o=":",d=":";for(var u in e)(e[u].host.indexOf("@")>=0||""===e[u].host)&&(r=""),e[u].host.indexOf("/")>=0?t("#updraft_webdav_host_error").show():t("#updraft_webdav_host_error").hide(),0!=e[u].path.indexOf("/")&&""!==e[u].path||(n=""),""!==e[u].user&&""!==e[u].pass||(o=""),""!==e[u].host&&""!==e[u].port||(d=""),a=e[u].webdav+e[u].user+o+e[u].pass+r+encodeURIComponent(e[u].host)+d+e[u].port+n+e[u].path,masked_webdav_url=e[u].webdav+e[u].user+o+e[u].pass.replace(/./gi,"*")+r+encodeURIComponent(e[u].host)+d+e[u].port+n+e[u].path,t("#updraft_webdav_url_"+u).val(a),t("#updraft_webdav_masked_url_"+u).val(masked_webdav_url)}),t("#updraft-navtab-backups-content").on("click",".js--delete-selected-backups",function(t){t.preventDefault(),updraft_deleteallselected()}),t("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .backup-select input",function(e){updraft_backups_selection.toggle(t(this).closest(".updraft_existing_backups_row"))}),t("#updraft-navtab-backups-content").on("click","#cb-select-all",function(e){t(this).is(":checked")?updraft_backups_selection.selectAll():updraft_backups_selection.deselectAll()}),t("#updraft-navtab-backups-content").on("click",".js--select-all-backups",function(t){updraft_backups_selection.selectAll()}),t("#updraft-navtab-backups-content").on("click",".js--deselect-all-backups",function(t){updraft_backups_selection.deselectAll()}),t("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .updraft_existing_backups_row",function(e){(e.ctrlKey||e.metaKey)&&(e.shiftKey?("undefined"==typeof updraft_backups_selection.firstMultipleSelectionIndex?(t(document).on("keyup.MultipleSelection",function(e){updraft_backups_selection.unregister_highlight_mode(),t(document).off(".MultipleSelection")}),updraft_backups_selection.select(this),t(this).addClass("range-selection-start"),updraft_backups_selection.register_highlight_mode()):(updraft_backups_selection.selectAllInBetween(this),jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").removeClass("range-selection")),updraft_backups_selection.firstMultipleSelectionIndex=this.rowIndex-1):updraft_backups_selection.toggle(this))}),updraft_backups_selection.checkSelectionStatus(),t("#updraft-navtab-addons-content .wrap").on("click",".updraftplus_com_login .ud_connectsubmit",function(e){e.preventDefault();var a=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),r=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),n=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,o=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0,d={email:a,password:r,auto_update:n,auto_udc_connect:o};v.submit(d)}),t("#updraft-navtab-addons-content .wrap").on("keydown",".updraftplus_com_login input",function(e){if(13==e.which){e.preventDefault();var a=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),r=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),n=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,o=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0,d={email:a,password:r,auto_update:n,auto_udc_connect:o};v.submit(d)}}),t("#updraft-navtab-migrate-content").on("click",".updraftclone_show_step_1",function(e){t(".updraftplus-clone").addClass("opened"),t(".updraftclone_show_step_1").hide(),t(".updraft_migrate_widget_temporary_clone_stage1").show(),t(".updraft_migrate_widget_temporary_clone_stage0").hide()}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_temporary_clone_show_stage0",function(e){e.preventDefault(),t(".updraft_migrate_widget_temporary_clone_stage0").toggle()}),setup_migrate_tabs(),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .close",function(e){t(".updraft_migrate_intro").show(),t(this).closest(".updraft_migrate_widget_module_content").hide()}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_add_site--trigger",function(e){e.preventDefault(),t(".updraft_migrate_add_site").toggle()}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_login .ud_connectsubmit",function(e){e.preventDefault();var r=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),o=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),d=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0,u={form_data:{email:r,password:n,two_factor_code:o,consent:d}};r&&n?a(u):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.username_password_required).show()}),t("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_login input",function(e){if(13==e.which){e.preventDefault();var r=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),o=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),d=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0,u={form_data:{email:r,password:n,two_factor_code:o,consent:d}};r&&n?a(u):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.username_password_required).show()}}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_key .ud_key_connectsubmit",function(e){e.preventDefault();var a=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0,o={form_data:{clone_key:a,consent:n}};a?r(o):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.clone_key_required).show()}),t("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_key input",function(e){if(13==e.which){e.preventDefault();var a=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0,o={form_data:{clone_key:a,consent:n}};a?r(o):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.clone_key_required).show()}}),t("#updraft-navtab-migrate-content").on("change",".updraft_migrate_widget_module_content #updraftplus_clone_php_options",function(){var e=t(this).data("php_version"),a=t(this).val();a<e?t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.clone_version_warning):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html("")}),t("#updraft-navtab-migrate-content").on("change",".updraft_migrate_widget_module_content #updraftplus_clone_wp_options",function(){var e=t(this).data("wp_version"),a=t(this).val();a<e?t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.clone_version_warning):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html("")}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content #updraft_migrate_createclone",function(e){e.preventDefault(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!0),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(""),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").addClass("visible");var a=t(this).data("clone_id"),r=t(this).data("secret_token"),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_php_options").val(),d=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_wp_options").val(),u=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_region_options").val(),s=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options").val(),i=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftclone_branch").val(),l=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftplus_branch").val(),p=t(".updraftplus_clone_admin_login_options").is(":checked"),_="current",c="current",f=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").length,m=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").find("option:selected");0!==f&&"undefined"!=typeof m&&(_=m.data("nonce"),c=m.data("timestamp"));var g={form_data:{clone_id:a,secret_token:r,install_info:{php_version:n,wp_version:d,region:u,"package":s,admin_only:p,updraftclone_branch:"undefined"==typeof i?"":i,updraftplus_branch:"undefined"==typeof l?"":l}}};"wp_only"===_&&(g.form_data.install_info.wp_only=1),o(g,c,_)});var v={};v.set_status=function(e){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").text(e)},v.show_loader=function(){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").addClass("visible"),t("#updraft-navtab-addons-content .wrap").find(".ud_connectsubmit").prop("disabled","disabled")},v.hide_loader=function(){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").removeClass("visible").text(updraftlion.processing),t("#updraft-navtab-addons-content .wrap").find(".ud_connectsubmit").removeProp("disabled")},v.submit=function(e){if(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html("").hide(),this.stage)switch(this.stage){case"connect_udc":case"connect_udc_TFA":var a=t("#updraftplus-addons_options_email").val(),r=t("#updraftplus-addons_options_password").val();this.login_data.email=a,this.login_data.password=r,this.connect_udc();break;case"create_key":this.create_key();break;default:this.stage=null,v.submit()}else this.set_status(updraftlion.connecting),this.show_loader(),updraft_send_command("updraftplus_com_login_submit",{data:e},function(a){a.hasOwnProperty("success")?t("#updraftplus-addons_options_auto_udc_connect").is(":checked")?(this.login_data={email:e.email,password:e.password,i_consent:1,two_factor_code:""},v.create_key()):(v.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login").submit()):a.hasOwnProperty("error")&&(v.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(a.message).show())}.bind(this))},v.create_key=function(){this.stage="create_key",this.set_status(updraftlion.udc_cloud_connected),this.show_loader();var e={where_send:"__updraftpluscom",key_description:"",key_size:null,mothership_firewalled:0};updraft_send_command("updraftcentral_create_key",e,function(e){try{var a=ud_parse_json(e);if(a.hasOwnProperty("error"))return void console.log(a);a.hasOwnProperty("bundle")?(console.log("bundle",a.bundle),this.login_data.key=a.bundle,this.stage="connect_udc",v.connect_udc()):(a.hasOwnProperty("r")?(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.trouble_connecting).show(),alert(a.r)):(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.trouble_connecting).show(),console.log(a)),v.hide_loader())}catch(r){console.log(r),v.hide_loader()}}.bind(this),{json_parse:!1})},v.connect_udc=function(){var e=t("#updraft-navtab-addons-content .wrap");v.set_status(updraftlion.udc_cloud_key_created),v.show_loader(),"connect_udc_TFA"==this.stage&&(this.login_data.two_factor_code=e.find("input#updraftplus-addons_options_two_factor_code").val(),v.set_status(updraftlion.checking_tfa_code));var a={form_data:this.login_data};a.form_data.addons_options_connect=1,updraft_send_command("process_updraftcentral_login",a,function(a){try{var r=ud_parse_json(a);if(r.hasOwnProperty("error")){if("incorrect_password"===r.code&&(e.find(".tfa_fields").hide(),e.find(".non_tfa_fields").show(),e.find("input#updraftplus-addons_options_two_factor_code").val(""),e.find("input#updraftplus-addons_options_password").val("").focus()),"no_key_found"===r.code&&(this.stage="create_key"),"no_licences_available"!==r.code)return t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(r.message).show(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").find("a").attr("target","_blank"),console.log(r),void v.hide_loader();t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.login_udc_no_licences_short).show(),r.status="authenticated",e.find('input[name="_wp_http_referer"]').val(function(t,e){return e+"&udc_connect=0"})}r.hasOwnProperty("tfa_enabled")&&1==r.tfa_enabled&&(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html("").hide(),e.find(".non_tfa_fields").hide(),e.find(".tfa_fields").show(),e.find("input#updraftplus-addons_options_two_factor_code").focus(),this.stage="connect_udc_TFA"),"authenticated"===r.status&&(e.find(".non_tfa_fields").hide(),e.find(".tfa_fields").hide(),e.find(".updraft-after-form-table").hide(),this.stage=null,t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.login_successful_short).show().addClass("success"),setTimeout(function(){t("#updraft-navtab-addons-content .wrap form.updraftplus_com_login").submit()},1e3))}catch(n){console.log(n)}v.hide_loader()}.bind(this),{json_parse:!1})},t("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod a.updraft_add_instance",function(e){e.preventDefault(),updraft_settings_form_changed=!0;var a=t(this).data("method");s(a)}),t("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod a.updraft_delete_instance",function(e){e.preventDefault(),updraft_settings_form_changed=!0;var a=t(this).data("method"),r=t(this).data("instance_id");1===t("."+a+"_updraft_remote_storage_border").length&&s(a),t("."+a+"-"+r).hide("slow",function(){t(this).remove()})}),t("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod .updraft_edit_label_instance",function(e){t(this).find("span").hide(),t(this).attr("contentEditable",!0).focus()}),t("#updraft-navtab-settings-content #remote-storage-holder").on("keyup",".updraftplusmethod .updraft_edit_label_instance",function(e){var a=jQuery(this).data("method"),r=jQuery(this).data("instance_id"),n=jQuery(this).text();t("#updraft_"+a+"_instance_label_"+r).val(n)}),t("#updraft-navtab-settings-content #remote-storage-holder").on("blur",".updraftplusmethod .updraft_edit_label_instance",function(e){t(this).attr("contentEditable",!1),t(this).find("span").show()}),t("#updraft-navtab-settings-content #remote-storage-holder").on("keypress",".updraftplusmethod .updraft_edit_label_instance",function(e){13===e.which&&(t(this).attr("contentEditable",!1),t(this).find("span").show(),t(this).blur())}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("change","input[class='updraft_instance_toggle']",function(){updraft_settings_form_changed=!0,jQuery(this).is(":checked")?jQuery(this).siblings("label").html(updraftlion.instance_enabled):jQuery(this).siblings("label").html(updraftlion.instance_disabled)}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod button.updraft-test-button",function(){var e=jQuery(this).data("method"),a=jQuery(this).data("instance_id");updraft_remote_storage_test(e,function(r,n,o){return"sftp"==e&&(o.hasOwnProperty("scp")&&o.scp?alert(updraftlion.settings_test_result.replace("%s","SCP")+" "+r.output):alert(updraftlion.settings_test_result.replace("%s","SFTP")+" "+r.output),r.hasOwnProperty("data")&&r.data&&r.data.hasOwnProperty("valid_md5_fingerprint")&&r.data.valid_md5_fingerprint&&t("#updraft_sftp_fingerprint_"+a).val(r.data.valid_md5_fingerprint),!0)},a)}),t("#updraft-navtab-settings-content select.updraft_interval, #updraft-navtab-settings-content select.updraft_interval_database").change(function(){updraft_check_same_times()}),t("#backupnow_includefiles_showmoreoptions").click(function(e){e.preventDefault(),t("#backupnow_includefiles_moreoptions").toggle()}),t("#backupnow_database_showmoreoptions").click(function(e){e.preventDefault(),t("#backupnow_database_moreoptions").toggle()}),t("#updraft-navtab-backups-content").on("click","a.updraft_diskspaceused_update",function(t){t.preventDefault(),updraftplus_diskspace()}),t(".advanced_settings_content a.updraft_diskspaceused_update").click(function(t){t.preventDefault(),jQuery(".advanced_settings_content .updraft_diskspaceused").html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery(".advanced_settings_content .updraft_diskspaceused").html(t.output)},{type:"GET"})}),t("#updraft-navtab-backups-content a.updraft_uploader_toggle").click(function(e){e.preventDefault(),t("#updraft-plupload-modal").slideToggle()}),t("#updraft-navtab-backups-content a.updraft_rescan_local").click(function(t){t.preventDefault(),updraft_updatehistory(1,0)}),t("#updraft-navtab-backups-content a.updraft_rescan_remote").click(function(t){t.preventDefault(),updraft_updatehistory(1,1)}),t("#updraftplus-remote-rescan-debug").click(function(t){t.preventDefault(),updraft_updatehistory(1,1,1)}),jQuery("#updraftcentral_keys").on("click",'input[type="radio"]',function(){l(!1)}),l(!0),jQuery("#updraftcentral_keys").on("click","#updraftcentral_view_log",function(t){t.preventDefault(),jQuery("#updraftcentral_view_log_container").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.fetching+"</div>"});try{updraft_send_command("updraftcentral_get_log",null,function(t){jQuery("#updraftcentral_view_log_container").unblock(),t.hasOwnProperty("log_contents")?jQuery("#updraftcentral_view_log_contents").html('<div style="border:1px solid;padding: 2px;max-height: 400px; overflow-y:scroll;">'+t.log_contents+"</div>"):console.response(resp)},{error_callback:function(t,e,a,r){if(jQuery("#updraftcentral_view_log_container").unblock(),"undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}})}catch(e){jQuery("#updraft_central_key").html(),console.log(e)}}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_wizard_go",function(t){jQuery("#updraftcentral_wizard_go").hide(),jQuery(".updraftcentral_wizard_success").remove(),jQuery(".create_key_container").show()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_stage1_go",function(t){t.preventDefault(),jQuery(".updraftcentral_wizard_stage2").hide(),jQuery(".updraftcentral_wizard_stage1").show()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_stage2_go",function(t){t.preventDefault(),p()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_keycreate_go",function(t){t.preventDefault();var e=!!jQuery("#updraftcentral_mothership_other").is(":checked"),a=jQuery("#updraftcentral_keycreate_description").val(),r=jQuery("#updraftcentral_keycreate_keysize").val(),n="__updraftpluscom";if(data={key_description:a,key_size:r},e&&(n=jQuery("#updraftcentral_keycreate_mothership").val(),"http"!=n.substring(0,4)))return void alert(updraftlion.enter_mothership_url);data.mothership_firewalled=jQuery("#updraftcentral_keycreate_mothership_firewalled").is(":checked")?1:0,data.where_send=n,jQuery(".create_key_container").hide(),jQuery(".updraftcentral_wizard_stage1").show(),jQuery(".updraftcentral_wizard_stage2").hide(),jQuery("#updraftcentral_keys").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.creating_please_allow+"</div>"});try{updraft_send_command("updraftcentral_create_key",data,function(t){jQuery("#updraftcentral_keys").unblock();try{if(t.hasOwnProperty("error"))return alert(t.error),void console.log(t);alert(t.r),t.hasOwnProperty("bundle")&&t.hasOwnProperty("keys_guide")?(jQuery("#updraftcentral_keys_content").html(t.keys_guide),jQuery("#updraftcentral_keys_content").append('<div class="updraftcentral_wizard_success">'+t.r+'<br><textarea onclick="this.select();" style="width:620px; height:165px; word-wrap:break-word; border: 1px solid #aaa; border-radius: 3px; padding:4px;">'+t.bundle+"</textarea></div>")):console.log(t),t.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").append(t.keys_table),jQuery("#updraftcentral_wizard_go").show()}catch(e){alert(updraftlion.unexpectedresponse+" "+response),console.log(e)}},{error_callback:function(t,e,a,r){if(jQuery("#updraftcentral_keys").unblock(),"undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}})}catch(o){jQuery("#updraft_central_key").html(),console.log(o)}}),jQuery("#updraftcentral_keys").on("click",".updraftcentral_key_delete",function(t){t.preventDefault();var e=jQuery(this).data("key_id");return"undefined"==typeof e?void console.log("UpdraftPlus: .updraftcentral_key_delete clicked, but no key ID found"):(jQuery("#updraftcentral_keys").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.deleting+"</div>"}),void updraft_send_command("updraftcentral_delete_key",{key_id:e},function(t){jQuery("#updraftcentral_keys").unblock(),t.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").html(t.keys_table)},{error_callback:function(t,e,a,r){if(jQuery("#updraftcentral_keys").unblock(),"undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}}))}),jQuery("#updraft_reset_sid").click(function(t){t.preventDefault(),updraft_send_command("reset_site_id",null,function(t){jQuery("#updraft_show_sid").html(t)},{json_parse:!1})}),jQuery("#updraft-navtab-settings-content form input:not('.udignorechange'), #updraft-navtab-settings-content form select").change(function(t){updraft_settings_form_changed=!0}),jQuery("#updraft-navtab-settings-content form input[type='submit']").click(function(t){updraft_settings_form_changed=!1});var w=180;jQuery(".updraft-bigbutton").each(function(t,e){var a=jQuery(e).width();a>w&&(w=a)}),w>180&&jQuery(".updraft-bigbutton").width(w),jQuery("#updraft-navtab-backups-content").length&&setInterval(function(){updraft_activejobs_update(!1)},1250),setTimeout(function(){jQuery("#setting-error-settings_updated").slideUp()},5e3),jQuery("#updraft_restore_db").change(function(){jQuery("#updraft_restore_db").is(":checked")&&1==jQuery(this).data("encrypted")?jQuery("#updraft_restorer_dboptions").slideDown():jQuery("#updraft_restorer_dboptions").slideUp()}),updraft_check_same_times();var k={};k[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-message-modal").dialog({autoOpen:!1,height:350,width:520,modal:!0,buttons:k});var j={};j[updraftlion.deletebutton]=function(){_(0,0,0,0)},j[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-delete-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:j});var Q={initialized:!1,init:function(){this.initialized||(this.initialized=!0,t(".updraft-restore--cancel").on("click",function(t){t.preventDefault(),this.close()}.bind(this)),this.default_next_text=t(".updraft-restore--next-step").eq(0).text(),t(".updraft-restore--next-step").on("click",function(t){t.preventDefault(),this.process_next_action()}.bind(this)))},close:function(){t(".updraft_restore_container").hide(),t("body").removeClass("updraft-modal-is-opened")},open:function(){this.init(),t("#updraft-restore-modal-stage1").show(),t("#updraft-restore-modal-stage2").hide(),t("#updraft-restore-modal-stage2a").html(""),t(".updraft-restore--next-step").text(this.default_next_text),t(".updraft-restore--stages li").removeClass("active").first().addClass("active"),t(".updraft_restore_container").show(),t("body").addClass("updraft-modal-is-opened")},process_next_action:function(){var e=0,a=0,r=[],n=0,o=t("#updraft_restore_meta_foreign").val();if(t('input[name="updraft_restore[]"]').each(function(d,u){if(t(u).is(":checked")&&!t(u).is(":disabled")){e=1;var s=t(u).data("howmany"),i=t(u).val();if("more"==i&&(a=1),(1==o||2==o&&"db"!=i)&&("wpcore"!=i&&(s=t("#updraft_restore_form #updraft_restore_wpcore").data("howmany")),i="wpcore"),"wpcore"!=i||0==n){var l=[i,s];r.push(l),"wpcore"==i&&(n=1)}}}),1==e){if(1==updraft_restore_stage){t(".updraft-restore--stages li").removeClass("active").eq(1).addClass("active"),t("#updraft-restore-modal-stage1").slideUp("slow"),t("#updraft-restore-modal-stage2").show(),updraft_restore_stage=2;var d=t(".updraft_restore_date").first().text(),u=r,s=t("#updraft_restore_timestamp").val();try{t(".updraft-restore--next-step").prop("disabled",!0),t("#updraft-restore-modal-stage2a").html('<span class="dashicons dashicons-update rotate"></span> '+updraftlion.maybe_downloading_entities),updraft_send_command("whichdownloadsneeded",{downloads:r,timestamp:s},function(e){if(t(".updraft-restore--next-step").prop("disabled",!1),e.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),u=e.downloads,console.log(u)),0==u.length)updraft_restorer_checkstage2(0);else for(var a=0;a<u.length;a++)updraft_downloader("udrestoredlstatus_",s,u[a][0],"#ud_downloadstatus2",u[a][1],d,!1)},{alert_on_error:!1,error_callback:function(e,a,r,n){if("undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),t("#updraft-restore-modal-stage2a").html('<p style="color:red;">'+n.fatal_error_message+"</p>");else{var o="updraft_send_command: error: "+a+" ("+r+")";t("#updraft-restore-modal-stage2a").html('<p style="color:red; margin: 5px;">'+o+"</p>"),console.log(o),console.log(e)}}})}catch(i){console.log("UpdraftPlus: error (follows) when looking for items needing downloading"),console.log(i),alert(updraftlion.jsonnotunderstood)}}else if(2==updraft_restore_stage)updraft_restorer_checkstage2(1);else if(3==updraft_restore_stage){var l=1;if(jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!0),t("#updraft_restoreoptions_ui input.required").each(function(e){if(0!=l){var a=t(this).val();if(""==a)alert(updraftlion.pleasefillinrequired),l=0;else if(""!=t(this).attr("pattern")){var r=t(this).attr("pattern"),n=new RegExp(r,"g");n.test(a)||(alert(t(this).data("invalidpattern")),l=0)}}}),1==a&&(e=0,jQuery('input[name="updraft_include_more_index[]"').each(function(t,a){jQuery(a).is(":checked")&&!jQuery(a).is(":disabled")&&(e=1,""==jQuery("#updraft_include_more_path_restore"+t).val()&&alert(updraftlion.emptyrestorepath))}),0==e))return alert(updraftlion.youdidnotselectany),void jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);if(!l)return;var p=t("#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input").serialize();console.log("Restore options: "+p),t("#updraft_restorer_restore_options").val(p),t("#updraft-restore-modal-stage2a").html(updraftlion.restore_proceeding),t("#updraft_restore_form").submit(),updraft_restore_stage=4}}else alert(updraftlion.youdidnotselectany)}};jQuery("#updraft-iframe-modal").dialog({autoOpen:!1,height:500,width:780,modal:!0}),jQuery("#updraft-backupnow-inpage-modal").dialog({autoOpen:!1,height:380,width:580,modal:!0});var x={};x[updraftlion.backupnow]=function(){var t=jQuery("#backupnow_includedb").is(":checked")?0:1,e=jQuery("#backupnow_includefiles").is(":checked")?0:1,a=jQuery("#backupnow_includecloud").is(":checked")?0:1,r=backupnow_whichtables_checked(""),n=jQuery("#always_keep").is(":checked")?1:0,o="incremental"==jQuery("#updraft-backupnow-modal").data("backup-type")?1:0;if(""==r&&0==t)return alert(updraftlion.notableschosen),void jQuery("#backupnow_includefiles_moreoptions").show();"boolean"==typeof r&&(r=null);var d=backupnow_whichfiles_checked("");return""==d&&0==e?(alert(updraftlion.nofileschosen),void jQuery("#backupnow_includefiles_moreoptions").show()):t&&e?void alert(updraftlion.excludedeverything):(jQuery(this).dialog("close"),
|
4 |
-
setTimeout(function(){jQuery("#updraft_lastlogmessagerow").fadeOut("slow",function(){jQuery(this).fadeIn("slow")})},1700),void updraft_backupnow_go(t,e,a,d,{always_keep:n,incremental:o},jQuery("#backupnow_label").val(),r))},x[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-backupnow-modal").dialog({autoOpen:!1,height:472,width:610,modal:!0,buttons:x,create:function(){t(this).closest(".ui-dialog").find(".ui-dialog-buttonpane .ui-button:first").addClass("js-tour-backup-now-button")}}),jQuery("#updraft-poplog").dialog({autoOpen:!1,height:600,width:"75%",modal:!0}),jQuery("#updraft-navtab-settings-content .enableexpertmode").click(function(){return jQuery("#updraft-navtab-settings-content .expertmode").fadeIn(),jQuery("#updraft-navtab-settings-content .enableexpertmode").off("click"),!1}),jQuery("#updraft-navtab-settings-content .backupdirrow").on("click","a.updraft_backup_dir_reset",function(){return jQuery("#updraft_dir").val("updraft"),!1}),jQuery("#updraft-navtab-settings-content .updraft_include_entity").click(function(){var t=jQuery(this).data("toggle_exclude_field");t&&c(t,!1)}),jQuery(".updraft_exclude_entity_container").on("click",".updraft_exclude_entity_delete",function(t){if(t.preventDefault(),confirm(updraftlion.exclude_rule_remove_conformation_msg)){var e=jQuery(this).data("include-backup-file");jQuery.when(jQuery(this).closest(".updraft_exclude_entity_wrapper").remove()).then(updraft_exclude_entity_update(e))}}),jQuery(".updraft_exclude_entity_container").on("click",".updraft_exclude_entity_edit",function(t){t.preventDefault();var e=jQuery(this).hide().closest(".updraft_exclude_entity_wrapper"),a=e.find("input");a.removeProp("readonly").focus();var r=a.val();a.val(""),a.val(r),e.find(".updraft_exclude_entity_update").addClass("is-active").show()}),jQuery(".updraft_exclude_entity_container").on("click",".updraft_exclude_entity_update",function(t){t.preventDefault();var e=jQuery(this).closest(".updraft_exclude_entity_wrapper"),a=jQuery(this).data("include-backup-file"),r=jQuery.trim(e.find("input").val()),n=!1;r==e.find("input").data("val")?n=!0:updraft_is_unique_exclude_rule(r,a)&&(n=!0),n&&(jQuery(this).hide().removeClass("is-active"),jQuery.when(e.find("input").prop("readonly","readonly").data("val",r)).then(function(){e.find(".updraft_exclude_entity_edit").show(),updraft_exclude_entity_update(a)}))}),jQuery("#updraft_exclude_modal").dialog({autoOpen:!1,modal:!0,width:520,height:"auto",open:function(e,a){t(this).parent().focus()}}),jQuery(".updraft_exclude_container .updraft_add_exclude_item").click(function(t){t.preventDefault();var e=jQuery(this).data("include-backup-file");jQuery("#updraft_exclude_modal_for").val(e),jQuery("#updraft_exclude_modal_path").val(jQuery(this).data("path")),"uploads"==e&&jQuery("#updraft-exclude-file-dir-prefix").html(jQuery("#updraft-exclude-upload-base-dir").val()),jQuery(".updraft-exclude-modal-reset").trigger("click"),jQuery("#updraft_exclude_modal").dialog("open")}),jQuery(".updraft-exclude-link").click(function(t){t.preventDefault();var e=jQuery(this).data("panel");"file-dir"==e&&jQuery("#updraft_exclude_files_folders_jstree").jstree({core:{multiple:!1,data:function(t,e){updraft_send_command("get_jstree_directory_nodes",{entity:"filebrowser",node:t,path:jQuery("#updraft_exclude_modal_path").val(),findex:0,skip_root_node:!0},function(t){t.hasOwnProperty("error")?alert(t.error):e.call(this,t.nodes)},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+r.fatal_error_message+"</p>"),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+n+"</p>"),console.log(n),alert(n),console.log(t)}}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["sort"]}),jQuery("#updraft_exclude_modal_main").slideUp(),jQuery(".updraft-exclude-panel").hide(),jQuery(".updraft-exclude-panel[data-panel="+e+"]").slideDown()}),jQuery(".updraft-exclude-modal-reset").click(function(t){t.preventDefault(),jQuery("#updraft_exclude_files_folders_jstree").jstree("destroy"),jQuery("#updraft_exclude_extension_field").val(""),jQuery("#updraft_exclude_prefix_field").val(""),jQuery(".updraft-exclude-panel").slideUp(),jQuery("#updraft_exclude_modal_main").slideDown()}),jQuery(".updraft-exclude-submit").click(function(){var t=jQuery(this).data("panel"),e="";switch(t){case"file-dir":var a=jQuery("#updraft_exclude_files_folders_jstree").jstree("get_selected");if(0==a.length)return void alert(updraftlion.exclude_select_file_or_folder_msg);var r=a[0],n=jQuery("#updraft_exclude_modal_path").val();r.substr(0,n.length)==n&&(r=r.substr(n.length,r.length)),"/"==r.charAt(0)&&(r=r.substr(1)),"/"==r.charAt(r.length-1)&&(r=r.substr(0,r.length-1)),e=r;break;case"extension":var o=jQuery("#updraft_exclude_extension_field").val();if(""==o)return void alert(updraftlion.exclude_type_ext_msg);if(!o.match(/^[0-9a-zA-Z]+$/))return void alert(updraftlion.exclude_ext_error_msg);e="ext:"+o;break;case"begin-with":var d=jQuery("#updraft_exclude_prefix_field").val();if(""==d)return void alert(updraftlion.exclude_type_prefix_msg);if(!d.match(/^\s*[a-z-_\d,\s]+\s*$/i))return void alert(updraftlion.exclude_prefix_error_msg);e="prefix:"+d;break;default:return}var u=jQuery("#updraft_exclude_modal_for").val();if(updraft_is_unique_exclude_rule(e,u)){var s='<div class="updraft_exclude_entity_wrapper"><input type="text" class="updraft_exclude_entity_field updraft_include_'+u+'_exclude_entity" name="updraft_include_'+u+'_exclude_entity[]" value="'+e+'" data-val="'+e+'" data-include-backup-file="'+u+'" readonly="readonly"><a href="#" class="updraft_exclude_entity_edit dashicons dashicons-edit" data-include-backup-file="'+u+'"></a><a href="#" class="updraft_exclude_entity_update dashicons dashicons-yes" data-include-backup-file="'+u+'" style="display: none;"></a><a href="#" class="updraft_exclude_entity_delete dashicons dashicons-no" data-include-backup-file="'+u+'"></a></div>';jQuery('.updraft_exclude_entity_container[data-include-backup-file="'+u+'"]').append(s),updraft_exclude_entity_update(u),jQuery("#updraft_exclude_modal").dialog("close")}}),jQuery("#updraft-navtab-settings-content .updraft-service").change(function(){var t=jQuery(this).val();jQuery("#updraft-navtab-settings-content .updraftplusmethod").hide(),jQuery("#updraft-navtab-settings-content ."+t).show()}),jQuery("#updraft-navtab-settings-content a.updraft_show_decryption_widget").click(function(t){t.preventDefault(),jQuery("#updraftplus_db_decrypt").val(jQuery("#updraft_encryptionphrase").val()),jQuery("#updraft-manualdecrypt-modal").slideToggle()}),jQuery("#updraftplus-phpinfo").click(function(t){t.preventDefault(),updraft_iframe_modal("phpinfo",updraftlion.phpinfo)}),jQuery("#updraftplus-rawbackuphistory").click(function(t){t.preventDefault(),updraft_iframe_modal("rawbackuphistory",updraftlion.raw)}),jQuery("#updraft-navtab-status").click(function(t){t.preventDefault(),updraft_open_main_tab("status"),updraft_page_is_visible=1,updraft_console_focussed_tab="status",updraft_activejobs_update(!0)}),jQuery("#updraft-navtab-expert").click(function(t){t.preventDefault(),updraft_open_main_tab("expert"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-settings, #updraft-navtab-settings2, #updraft_backupnow_gotosettings").click(function(t){t.preventDefault(),jQuery(this).parents(".updraftmessage").remove(),jQuery("#updraft-backupnow-modal").dialog("close"),updraft_open_main_tab("settings"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-addons").click(function(t){t.preventDefault(),jQuery(this).addClass("b#nav-tab-active"),updraft_open_main_tab("addons"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-backups").click(function(t){t.preventDefault(),updraft_console_focussed_tab="backups",updraft_historytimertoggle(1),updraft_open_main_tab("backups")}),jQuery("#updraft-navtab-migrate").click(function(t){t.preventDefault(),jQuery("#updraft_migrate_tab_alt").html("").hide(),updraft_open_main_tab("migrate"),updraft_page_is_visible=1,jQuery("#updraft_migrate .updraft_migrate_widget_module_content").is(":visible")||jQuery(".updraft_migrate_intro").show()}),"migrate"==updraftlion.tab&&jQuery("#updraft-navtab-migrate").trigger("click"),updraft_send_command("ping",null,function(t,e){"success"==e&&"pong"!=t&&t.indexOf("pong")>=0&&(jQuery("#updraft-navtab-backups-content .ud-whitespace-warning").show(),console.log("UpdraftPlus: Extra output warning: response (which should be just (string)'pong') follows."),console.log(t))},{json_parse:!1,type:"GET"});try{"undefined"!=typeof updraft_plupload_config&&f()}catch(O){console.log(O)}if(jQuery("#updraftplus_httpget_go").click(function(t){t.preventDefault(),m(0)}),jQuery("#updraftplus_httpget_gocurl").click(function(t){t.preventDefault(),m(1)}),jQuery("#updraftplus_callwpaction_go").click(function(t){t.preventDefault(),params={wpaction:jQuery("#updraftplus_callwpaction").val()},updraft_send_command("call_wordpress_action",params,function(t){t.e?alert(t.e):t.s||(t.r?jQuery("#updraftplus_callwpaction_results").html(t.r):(console.log(t),alert(updraftlion.jsonnotunderstood)))})}),jQuery("#updraft_activejobs_table, #updraft-navtab-migrate-content").on("click",".updraft_jobinfo_delete",function(e){e.preventDefault();var a=jQuery(this).data("jobid");a?(t(this).addClass("disabled"),updraft_activejobs_delete(a)):console.log("UpdraftPlus: A stop job link was clicked, but the Job ID could not be found")}),jQuery("#updraft_activejobs_table, #updraft-navtab-backups-content .updraft_existing_backups, #updraft-backupnow-inpage-modal, #updraft-navtab-migrate-content").on("click",".updraft-log-link",function(t){t.preventDefault();var e=jQuery(this).data("fileid"),a=jQuery(this).data("jobid");e?updraft_popuplog(e):a?updraft_popuplog(a):console.log("UpdraftPlus: A log link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.choose-components-button",function(t){var e=jQuery(this).data("entities"),a=jQuery(this).data("backup_timestamp"),r=jQuery(this).data("showdata");g(e,a,r)}),"initiate_restore"==h("udaction")){var P=h("entities"),z=h("backup_timestamp"),D=h("showdata");g(P,z,D)}var U={};U[updraftlion.uploadbutton]=function(){var t=jQuery("#updraft_upload_timestamp").val(),e=jQuery("#updraft_upload_nonce").val(),a="",r=!1;return jQuery(".updraft_remote_storage_destination").each(function(t){jQuery(this).is(":checked")&&(r=!0)}),r?(a=jQuery("input[name^='updraft_remote_storage_destination_']").serializeArray(),jQuery(this).dialog("close"),alert(updraftlion.local_upload_started),void updraft_send_command("upload_local_backup",{use_nonce:e,use_timestamp:t,services:a},function(t){})):void jQuery("#updraft-upload-modal-error").html(updraftlion.local_upload_error)},U[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-upload-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:U}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.updraft-upload-link",function(t){t.preventDefault();var e=jQuery(this).data("nonce").toString(),a=jQuery(this).data("key").toString(),r=jQuery(this).data("services").toString();e?y(a,e,r):console.log("UpdraftPlus: A upload link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click",".updraft-delete-link",function(t){t.preventDefault();var e=jQuery(this).data("hasremote"),a=jQuery(this).data("nonce").toString(),r=jQuery(this).data("key").toString();a?updraft_delete(r,a,e):console.log("UpdraftPlus: A delete link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.updraft_download_button",function(t){t.preventDefault();var e="uddlstatus_",a=jQuery(this).data("backup_timestamp"),r=jQuery(this).data("what"),n=".ud_downloadstatus",o=jQuery(this).data("set_contents"),d=jQuery(this).data("prettydate"),u=!0;updraft_downloader(e,a,r,n,o,d,u)}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("dblclick",".updraft_existingbackup_date",function(t){t.preventDefault();var e=jQuery(this).data("rawbackup");null!=e&&""!=e&&updraft_html_modal(e,updraftlion.raw,780,500)})}),jQuery(document).ready(function(t){var e="#updraft-navtab-settings-content ";t(e+"#remote-storage-holder").on("click",".updraftvault_backtostart",function(a){a.preventDefault(),t(e+"#updraftvault_settings_showoptions").slideUp(),t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_connected").slideUp(),t(e+"#updraftvault_settings_default").slideDown()}),t(e).on("keypress","#updraftvault_settings_connect input",function(a){if(13==a.which)return t(e+"#updraftvault_connect_go").click(),!1}),t(e+"#remote-storage-holder").on("click","#updraftvault_recountquota",function(a){a.preventDefault(),t(e+"#updraftvault_recountquota").html(updraftlion.counting);try{updraft_send_command("vault_recountquota",{instance_id:t("#updraftvault_settings_connect").data("instance_id")},function(a){t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),a.hasOwnProperty("html")&&(t(e+"#updraftvault_settings_connected").html(a.html),a.hasOwnProperty("connected")&&(a.connected?(t(e+"#updraftvault_settings_default").hide(),t(e+"#updraftvault_settings_connected").show()):(t(e+"#updraftvault_settings_connected").hide(),t(e+"#updraftvault_settings_default").show())))},{error_callback:function(a,r,n,o){if(t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),"undefined"!=typeof o&&o.hasOwnProperty("fatal_error"))console.error(o.fatal_error_message),alert(o.fatal_error_message);else{var d="updraft_send_command: error: "+r+" ("+n+")";console.log(d),alert(d),console.log(a)}}})}catch(r){t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),console.log(r)}}),t(e+"#remote-storage-holder").on("click","#updraftvault_disconnect",function(a){a.preventDefault(),t(e+"#updraftvault_disconnect").html(updraftlion.disconnecting);try{updraft_send_command("vault_disconnect",{immediate_echo:!0,instance_id:t("#updraftvault_settings_connect").data("instance_id")},function(a){t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),a.hasOwnProperty("html")&&(t(e+"#updraftvault_settings_connected").html(a.html).slideUp(),t(e+"#updraftvault_settings_default").slideDown())},{error_callback:function(a,r,n,o){if(t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),"undefined"!=typeof o&&o.hasOwnProperty("fatal_error"))console.error(o.fatal_error_message),alert(o.fatal_error_message);else{var d="updraft_send_command: error: "+r+" ("+n+")";console.log(d),alert(d),console.log(a)}}})}catch(r){t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),console.log(r)}}),t(e+"#remote-storage-holder").on("click","#updraftvault_connect",function(a){a.preventDefault(),t(e+"#updraftvault_settings_default").slideUp(),t(e+"#updraftvault_settings_connect").slideDown()}),t(e+"#remote-storage-holder").on("click","#updraftvault_showoptions",function(a){a.preventDefault(),t(e+"#updraftvault_settings_default").slideUp(),t(e+"#updraftvault_settings_showoptions").slideDown()}),t("#remote-storage-holder").on("keyup",".updraftplus_onedrive_folder_input",function(e){var a=t(this).val(),r=t(this).closest("td");0==a.indexOf("https:")||0==a.indexOf("http:")?r.find(".onedrive_folder_error").length||r.append('<div class="onedrive_folder_error">'+updraftlion.onedrive_folder_url_warning+"</div>"):r.find(".onedrive_folder_error").slideUp("slow",function(){r.find(".onedrive_folder_error").remove()})}),t(e+"#remote-storage-holder").on("click","#updraftvault_connect_go",function(a){return t(e+"#updraftvault_connect_go").html(updraftlion.connecting),updraft_send_command("vault_connect",{email:t("#updraftvault_email").val(),pass:t("#updraftvault_pass").val(),instance_id:t("#updraftvault_settings_connect").data("instance_id")},function(a,r,n){t(e+"#updraftvault_connect_go").html(updraftlion.connect),a.hasOwnProperty("e")?(updraft_html_modal('<h4 style="margin-top:0px; padding-top:0px;">'+updraftlion.errornocolon+"</h4><p>"+a.e+"</p>",updraftlion.disconnect,400,250),a.hasOwnProperty("code")&&"no_quota"==a.code&&(t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_default").slideDown())):a.hasOwnProperty("connected")&&a.connected&&a.hasOwnProperty("html")?(t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_connected").html(a.html).slideDown()):(console.log(a),alert(updraftlion.unexpectedresponse+" "+n))},{error_callback:function(a,r,n,o){if(t(e+"#updraftvault_connect_go").html(updraftlion.connect),"undefined"!=typeof o&&o.hasOwnProperty("fatal_error"))console.error(o.fatal_error_message),alert(o.fatal_error_message);else{var d="updraft_send_command: error: "+r+" ("+n+")";console.log(d),alert(d),console.log(a)}}}),!1}),t("#updraft-iframe-modal").on("change","#always_keep_this_backup",function(){var e=t(this).data("backup_key"),a={backup_key:e,always_keep:t(this).is(":checked")?1:0};updraft_send_command("always_keep_this_backup",a,function(t){t.hasOwnProperty("rawbackup")&&(jQuery("#updraft-iframe-modal").dialog("close"),jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup",t.rawbackup),updraft_html_modal(jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup"),updraftlion.raw,780,500))})})}),jQuery(document).ready(function(t){function e(){var t=new plupload.Uploader(updraft_plupload_config2);t.bind("Init",function(t){var e=jQuery("#plupload-upload-ui2");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area2").bind("dragover.wp-uploader",function(){e.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area2").unbind(".wp-uploader"))}),t.init(),t.bind("FilesAdded",function(e,a){plupload.each(a,function(e){return/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-db([0-9]+)?\.(gz\.crypt)$/i.test(e.name)?void jQuery("#filelist2").append('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(0)+"</span>/"+plupload.formatSize(e.size)+') <div class="fileprogress"></div></div>'):(alert(e.name+": "+updraftlion.notdba),void t.removeFile(e))}),e.refresh(),e.start()}),t.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100)))}),t.bind("Error",function(t,e){"-200"==e.code?err_makesure="\n"+updraftlion.makesure2:err_makesure=updraftlion.makesure,alert(updraftlion.uploaderr+" (code "+e.code+") : "+e.message+" "+err_makesure)}),t.bind("FileUploaded",function(t,e,a){"200"==a.status?"ERROR:"==a.response.substring(0,6)?alert(updraftlion.uploaderror+" "+a.response.substring(6)):"OK:"==a.response.substring(0,3)?(bkey=a.response.substring(3),jQuery("#"+e.id+" .fileprogress").hide(),jQuery("#"+e.id).append(updraftlion.uploaded+' <a href="?page=updraftplus&action=downloadfile&updraftplus_file='+bkey+"&decrypt_key="+encodeURIComponent(jQuery("#updraftplus_db_decrypt").val())+'">'+updraftlion.followlink+"</a> "+updraftlion.thiskey+" "+jQuery("#updraftplus_db_decrypt").val().replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"))):alert(updraftlion.unknownresp+" "+a.response):alert(updraftlion.ukrespstatus+" "+a.code)})}try{"undefined"!=typeof updraft_plupload_config2&&e()}catch(a){console.log(a)}if(jQuery("#updraft-hidethis").remove(),Handlebars.registerHelper("ifeq",function(t,e,a){return"string"!=typeof t&&"undefined"!=typeof t&&null!==t&&(t=t.toString()),"string"!=typeof e&&"undefined"!=typeof e&&null!==e&&(e=e.toString()),t===e?a.fn(this):a.inverse(this)}),Handlebars.registerHelper("maskPassword",function(t){return t.replace(/./gi,"*")}),Handlebars.registerHelper("encodeURIComponent",function(t){return encodeURIComponent(t)}),t("#remote-storage-holder").length){var r="";for(var n in updraftlion.remote_storage_templates)if("undefined"!=typeof updraftlion.remote_storage_options[n]&&1<Object.keys(updraftlion.remote_storage_options[n]).length){var o=Handlebars.compile(updraftlion.remote_storage_templates[n]),d=!0;for(var u in updraftlion.remote_storage_options[n])if("default"!==u){var s=updraftlion.remote_storage_options[n][u];s.first_instance=d,"undefined"==typeof s.instance_enabled&&(s.instance_enabled=1),r+=o(s),d=!1}}else r+=updraftlion.remote_storage_templates[n];t("#remote-storage-holder").append(r).ready(function(){t(".updraftplusmethod").not(".none").hide(),updraft_remote_storage_tabs_setup(),t("#remote-storage-holder .updraftplus_onedrive_folder_input").trigger("keyup")})}}),jQuery(document).ready(function(t){function e(){var t=r("object"),e=new Date;t=JSON.stringify({version:"1.12.40",epoch_date:e.getTime(),local_date:e.toLocaleString(),network_site_url:updraftlion.network_site_url,data:t});var a=document.body.appendChild(document.createElement("a"));a.setAttribute("download",updraftlion.export_settings_file_name),a.setAttribute("style","display:none;"),a.setAttribute("href","data:text/json;charset=UTF-8,"+encodeURIComponent(t)),a.click()}function a(e){var a,r=decodeURIComponent(e);try{a=ud_parse_json(r)}catch(o){return t.unblockUI(),jQuery("#import_settings").val(""),console.log(r),console.log(o),void alert(updraftlion.import_invalid_json_file)}if(window.confirm(updraftlion.importing_data_from+" "+r.network_site_url+"\n"+updraftlion.exported_on+" "+r.local_date+"\n"+updraftlion.continue_import)){var d=JSON.stringify(a.data);updraft_send_command("importsettings",{settings:d,updraftplus_version:updraftlion.updraftplus_version},function(e,a,r){var o=n(e);!o.hasOwnProperty("saved")||o.saved?(updraft_settings_form_changed=!1,location.replace(updraftlion.updraft_settings_url)):(t.unblockUI(),o.hasOwnProperty("error_message")&&o.error_message&&alert(o.error_message))},{action:"updraft_importsettings",nonce:updraftplus_settings_nonce,error_callback:function(e,a,r,n){if(t.unblockUI(),"undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),alert(n.fatal_error_message);else{var o="updraft_send_command: error: "+a+" ("+r+")";console.log(o),console.log(e),alert(o)}}})}else t.unblockUI()}function r(e){var a="",e="undefined"==typeof e?"string":e;return"object"==e?a=t("#updraft-navtab-settings-content form input[name!='action'][name!='option_page'][name!='_wpnonce'][name!='_wp_http_referer'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select, #updraft-navtab-settings-content form input[type=checkbox]").serializeJSON({checkboxUncheckedValue:"0",useIntKeysAsArrayIndex:!0}):(a=t("#updraft-navtab-settings-content form input[name!='action'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select").serialize(),t.each(t("#updraft-navtab-settings-content form input[type=checkbox]").filter(function(e){return 0==t(this).prop("checked")}),function(e,r){var n="0";a+="&"+t(r).attr("name")+"="+n})),a}function n(e,a){try{var r=(e.messages,e.backup_dir.writable),n=e.backup_dir.message,o=e.backup_dir.button_title}catch(d){return console.log(d),console.log(a),alert(updraftlion.jsonnotunderstood),t.unblockUI(),{}}if(e.hasOwnProperty("changed")){console.log("UpdraftPlus: savesettings: some values were changed after being filtered"),console.log(e.changed);for(prop in e.changed)if("object"==typeof e.changed[prop])for(innerprop in e.changed[prop])t("[name='"+innerprop+"']").is(":checkbox")||t("[name='"+prop+"["+innerprop+"]']").val(e.changed[prop][innerprop]);else t("[name='"+prop+"']").is(":checkbox")||t("[name='"+prop+"']").val(e.changed[prop])}return t("#updraft_writable_mess").html(n),0==r?(t("#updraft-backupnow-button").attr("disabled","disabled"),t("#updraft-backupnow-button").attr("title",o),t(".backupdirrow").css("display","table-row")):(t("#updraft-backupnow-button").removeAttr("disabled"),t("#updraft-backupnow-button").removeAttr("title")),e.hasOwnProperty("updraft_include_more_path")&&t("#backupnow_includefiles_moreoptions").html(e.updraft_include_more_path),e.hasOwnProperty("backup_now_message")&&t("#backupnow_remote_container").html(e.backup_now_message),t(".updraftmessage").remove(),t("#updraft_backup_started").before(e.messages),console.log(e),t("#updraft-next-files-backup-inner").html(e.files_scheduled),t("#updraft-next-database-backup-inner").html(e.database_scheduled),e}function o(){var t=!1;if(jQuery("#updraft-authenticate-modal-innards").html(""),jQuery("div[class*=updraft_authenticate_] a.updraft_authlink").each(function(){jQuery("#updraft-authenticate-modal-innards").append('<p><a href="'+jQuery(this).attr("href")+'">'+jQuery(this).html()+"</a></p>"),t=!0}),t){var e={};e[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-authenticate-modal").dialog({autoOpen:!0,modal:!0,resizable:!1,draggable:!1,buttons:e,width:"auto"}).dialog("open")}}var d=new Image;d.src=updraftlion.ud_url+"/images/notices/updraft_logo.png",t("#updraft-navtab-settings-content input.updraft_include_entity").change(function(e){var a=t(this).attr("id"),r=t(this).is(":checked"),n="#backupnow_files_"+a;t(n).prop("checked",r)}),t("#updraftplus-settings-save").click(function(e){e.preventDefault(),t.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'<div style="margin: 8px; font-size:150%;" class="updraft_saving_popup"><img src="'+updraftlion.ud_url+'/images/notices/updraft_logo.png" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.saving+"</div>"});var a=r("string");updraft_send_command("savesettings",{settings:a,updraftplus_version:updraftlion.updraftplus_version},function(e,a,r){n(e,r),t("#updraft-wrap .fade").delay(6e3).fadeOut(2e3),window.updraft_main_tour&&!window.updraft_main_tour.canceled?(window.updraft_main_tour.show("settings_saved"),o()):t("html, body").animate({scrollTop:t("#updraft-wrap").offset().top},1e3,function(){o()}),t.unblockUI()},{action:"updraft_savesettings",error_callback:function(e,a,r,n){if(t.unblockUI(),"undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),alert(n.fatal_error_message);else{var o="updraft_send_command: error: "+a+" ("+r+")";console.log(o),alert(o),console.log(e)}},nonce:updraftplus_settings_nonce})}),t("#updraftplus-settings-export").click(function(){updraft_settings_form_changed&&alert(updraftlion.unsaved_settings_export),e()}),t("#updraftplus-settings-import").click(function(){t.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'<div style="margin: 8px; font-size:150%;" class="updraft_saving_popup"><img src="'+updraftlion.ud_url+'/images/notices/updraft_logo.png" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.importing+"</div>"});var e=document.getElementById("import_settings");if(0==e.files.length)return alert(updraftlion.import_select_file),void t.unblockUI();var r=e.files[0],n=new FileReader;n.onload=function(){a(this.result)},n.readAsText(r)}),t(".udp-replace-with-iframe--js").on("click",function(e){e.preventDefault();var a=t(this).prop("href"),r=t('<iframe width="356" height="200" allowfullscreen webkitallowfullscreen mozallowfullscreen>').attr("src",a);r.insertAfter(t(this)),t(this).remove()})}),jQuery(document).ready(function(t){function e(e,n,o,d){if("function"==typeof o){var u=t(d).find("#updraftcentral_cloud_form"),s=u.find('.form_hidden_fields input[name="key"]');if(s.length&&""!==s.val())return void o.apply(this,[s.val()]);var i={where_send:"__updraftpluscom",key_description:"",key_size:e,mothership_firewalled:n};a(d),updraft_send_command("updraftcentral_create_key",i,function(e){r(d);try{if(i=ud_parse_json(e),i.hasOwnProperty("error"))return void console.log(i);i.hasOwnProperty("bundle")?o.apply(this,[i.bundle]):i.hasOwnProperty("r")?(t(d).find(".updraftcentral_cloud_notices").html(updraftlion.trouble_connecting).addClass("updraftcentral_cloud_info"),alert(i.r)):console.log(i)}catch(a){console.log(a)}},{json_parse:!1})}}function a(e){t(e).find(".updraftplus_spinner.spinner").addClass("visible")}function r(e){t(e).find(".updraftplus_spinner.spinner").removeClass("visible")}function n(e,n){a(n),updraft_send_command("process_updraftcentral_registration",e,function(a){r(n);try{if(e=ud_parse_json(a),e.hasOwnProperty("error")){var o=e.message,u=["existing_user_email","email_exists"];return-1!==t.inArray(e.code,u)&&(o=e.message+" "+updraftlion.perhaps_login),t(n).find(".updraftcentral_cloud_notices").html(o).addClass("updraftcentral_cloud_error"),t(n).find(".updraftcentral_cloud_notices a").attr("target","_blank"),void console.log(e)}"registered"===e.status&&(t(n).find(".updraftcentral_cloud_form_container").hide(),t(n).find(".updraftcentral-subheading").hide(),t(n).find(".updraftcentral_cloud_notices").removeClass("updraftcentral_cloud_error"),d(n,e,updraftlion.registration_successful))}catch(s){console.log(s)}},{json_parse:!1})}function o(e,o){a(o),updraft_send_command("process_updraftcentral_login",e,function(a){r(o);try{if(data=ud_parse_json(a),data.hasOwnProperty("error")){if("incorrect_password"===data.code&&(t(o).find(".updraftcentral_cloud_form_container .tfa_fields").hide(),t(o).find(".updraftcentral_cloud_form_container .non_tfa_fields").show(),t(o).find("input#two_factor_code").val(""),t(o).find("input#password").val("").focus()),"email_not_registered"!==data.code)return t(o).find(".updraftcentral_cloud_notices").html(data.message).addClass("updraftcentral_cloud_error"),t(o).find(".updraftcentral_cloud_notices a").attr("target","_blank"),void console.log(data);n(e,o)}data.hasOwnProperty("tfa_enabled")&&1==data.tfa_enabled&&(t(o).find(".updraftcentral_cloud_notices").html("").removeClass("updraftcentral_cloud_error"),t(o).find(".updraftcentral_cloud_form_container .non_tfa_fields").hide(),t(o).find(".updraftcentral_cloud_form_container .tfa_fields").show(),t(o).find("input#two_factor_code").focus()),"authenticated"===data.status&&(t(o).find(".updraftcentral_cloud_form_container").hide(),t(o).find(".updraftcentral_cloud_notices").removeClass("updraftcentral_cloud_error"),d(o,data,updraftlion.login_successful))}catch(u){console.log(u)}},{json_parse:!1})}function d(e,a,r){var n=t(e).find("form#updraftcentral_cloud_redirect_form");n.attr("action",a.redirect_url),n.attr("target","_blank"),"undefined"!=typeof a.redirect_token&&n.append('<input type="hidden" name="redirect_token" value="'+a.redirect_token+'">'),a.hasOwnProperty("keys_table")&&a.keys_table&&t("#updraftcentral_keys_content").html(a.keys_table),t(".updraftplus-addons-connect-to-udc").remove(),$redirect_lnk='<a href="'+updraftlion.current_clean_url+'" class="updraftcentral_cloud_redirect_link">'+updraftlion.updraftcentral_cloud+"</a>",$close_lnk='<a href="'+updraftlion.current_clean_url+'" class="updraftcentral_cloud_close_link">'+updraftlion.close_wizard+"</a>",t(e).find(".updraftcentral_cloud_notices").html(r.replace("%s",$redirect_lnk)+" "+$close_lnk+"<br/><br/>"+updraftlion.control_udc_connections),t(e).find(".updraftcentral_cloud_notices .updraftcentral_cloud_redirect_link").off("click").on("click",function(a){a.preventDefault(),n.submit(),t(e).find(".updraftcentral_cloud_notices .updraftcentral_cloud_close_link").trigger("click")}),t(e).find(".updraftcentral_cloud_notices .updraftcentral_cloud_close_link").off("click").on("click",function(a){a.preventDefault(),t(e).dialog("close"),t("#updraftcentral_cloud_connect_container").hide()})}function u(e){var a=t(e).find("#updraftcentral_cloud_form"),r=a.find("input#email").val(),n=a.find("input#password").val(),o=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
|
5 |
-
t(e).find(".updraftcentral_cloud_notices").html("").removeClass("updraftcentral_cloud_error updraftcentral_cloud_info");var d=a.find('.updraftcentral-data-consent > input[name="i_consent"]').is(":checked");return d?0===r.length||0===n.length?(t(e).find(".updraftcentral_cloud_notices").html(updraftlion.username_password_required).addClass("updraftcentral_cloud_error"),!1):null!==r.match(o)||(t(e).find(".updraftcentral_cloud_notices").html(updraftlion.valid_email_required).addClass("updraftcentral_cloud_error"),!1):(t(e).find(".updraftcentral_cloud_notices").html(updraftlion.data_consent_required).addClass("updraftcentral_cloud_error"),!1)}function s(a,r){var d=t(a).find("#updraft_central_keysize").val(),u=t(a).find("#updraft_central_firewalled").is(":checked")?1:0;e(d,u,function(e){var d=t(a).find("#updraftcentral_cloud_form"),u=d.find('.form_hidden_fields input[name="key"]');0===u.length&&d.find(".form_hidden_fields").append('<input type="hidden" name="key" value="'+e+'">');var s=d.find("input").serialize(),i={form_data:s};"undefined"!=typeof r&&r?n(i,a):o(i,a)},a)}function i(){var e=t("#updraftcentral_cloud_login_form");if(e.length){t("#updraft-iframe-modal-innards").html(e.html());var a=t("#updraft-iframe-modal").dialog("option","title",updraftlion.updraftcentral_cloud).dialog("option","width",520).dialog("option","height",450).dialog("option","buttons",{});a.dialog("open");var r=a.find(".updraftcentral-data-consent"),n=r.find("input").attr("name");"undefined"!=typeof n&&n&&(r.find("input").attr("id",n),r.find("label").attr("for",n))}}jQuery("#updraft-restore-modal").on("change","#updraft_restorer_charset",function(e){if(t("#updraft_restorer_charset").length&&t("#updraft_restorer_collate").length&&t("#collate_change_on_charset_selection_data").length){var a=t("#updraft_restorer_charset").val();t("#updraft_restorer_collate option").show(),t("#updraft_restorer_collate option[data-charset!="+a+"]").hide(),updraft_send_command("collate_change_on_charset_selection",{collate_change_on_charset_selection_data:t("#collate_change_on_charset_selection_data").val(),updraft_restorer_charset:a,updraft_restorer_collate:t("#updraft_restorer_collate").val()},function(e){e.hasOwnProperty("is_action_required")&&1==e.is_action_required&&e.hasOwnProperty("similar_type_collate")&&t("#updraft_restorer_collate").val(e.similar_type_collate)})}}),t("#updraft-wrap #btn_cloud_connect").on("click",function(){i()}),t("#updraft-wrap a#self_hosted_connect").on("click",function(e){e.preventDefault(),t("h2.nav-tab-wrapper > a#updraft-navtab-expert").trigger("click"),t("div.advanced_settings_menu > #updraft_central").trigger("click")}),t("#updraft-iframe-modal").on("click","#updraftcentral_cloud_login",function(e){e.preventDefault();var a=t(this).closest("#updraft-iframe-modal");u(a)&&s(a)});var
|
1 |
+
function updraft_send_command(t,e,a,r){default_options={json_parse:!0,alert_on_error:!0,action:"updraft_ajax",nonce:updraft_credentialtest_nonce,nonce_key:"nonce",timeout:null,async:!0,type:"POST"},"undefined"==typeof r&&(r={});for(var n in default_options)r.hasOwnProperty(n)||(r[n]=default_options[n]);var o={action:r.action,subaction:t};if(o[r.nonce_key]=r.nonce,"object"==typeof e)for(var d in e)o[d]=e[d];else o.action_data=e;var u={type:r.type,url:ajaxurl,data:o,success:function(t,e){if(r.json_parse){try{var n=ud_parse_json(t)}catch(o){return"function"==typeof r.error_callback?r.error_callback(t,o,502,n):(console.log(o),console.log(t),void(r.alert_on_error&&alert(updraftlion.unexpectedresponse+" "+t)))}if(n.hasOwnProperty("fatal_error"))return"function"==typeof r.error_callback?r.error_callback(t,e,500,n):(console.error(n.fatal_error_message),r.alert_on_error&&alert(n.fatal_error_message),!1);"function"==typeof a&&a(n,e,t)}else"function"==typeof a&&a(t,e)},error:function(t,e,a){"function"==typeof r.error_callback?r.error_callback(t,e,a):(console.log("updraft_send_command: error: "+e+" ("+a+")"),console.log(t))},dataType:"text",async:r.async};null!=r.timeout&&(u.timeout=r.timeout),jQuery.ajax(u)}function updraft_delete(t,e,a){jQuery("#updraft_delete_timestamp").val(t),jQuery("#updraft_delete_nonce").val(e),a?jQuery("#updraft-delete-remote-section, #updraft_delete_remote").removeAttr("disabled").show():jQuery("#updraft-delete-remote-section, #updraft_delete_remote").hide().attr("disabled","disabled"),t.indexOf(",")>-1?(jQuery("#updraft_delete_question_singular").hide(),jQuery("#updraft_delete_question_plural").show()):(jQuery("#updraft_delete_question_plural").hide(),jQuery("#updraft_delete_question_singular").show()),jQuery("#updraft-delete-modal").dialog("open")}function updraft_remote_storage_tab_activation(t){jQuery(".updraftplusmethod").hide(),jQuery(".remote-tab").data("active",!1),jQuery(".remote-tab").removeClass("nav-tab-active"),jQuery(".updraftplusmethod."+t).show(),jQuery(".remote-tab-"+t).data("active",!0),jQuery(".remote-tab-"+t).addClass("nav-tab-active")}function updraft_check_overduecrons(){updraft_send_command("check_overdue_crons",null,function(t){if(t&&t.hasOwnProperty("m")&&Array.isArray(t.m))for(var e in t.m)jQuery("#updraft-insert-admin-warning").append(t.m[e])},{alert_on_error:!1})}function updraft_remote_storage_tabs_setup(){var t=0,e=jQuery(".updraft_servicecheckbox:checked");jQuery(e).each(function(a,r){var n=jQuery(r).val();"updraft_servicecheckbox_none"!=jQuery(r).attr("id")&&t++,jQuery(".remote-tab-"+n).show(),a==jQuery(e).length-1&&updraft_remote_storage_tab_activation(n)}),t>0?(jQuery(".updraftplusmethod.none").hide(),jQuery("#remote_storage_tabs").show()):jQuery("#remote_storage_tabs").hide(),jQuery(document).keyup(function(t){if((32===t.keyCode||13===t.keyCode)&&jQuery(document.activeElement).is("input.labelauty + label")){var e=jQuery(document.activeElement).attr("for");e&&jQuery("#"+e).change()}}),jQuery(".updraft_servicecheckbox").change(function(){var e=jQuery(this).attr("id");if("updraft_servicecheckbox_"==e.substring(0,24)){var a=e.substring(24);null!=a&&""!=a&&(jQuery(this).is(":checked")?(t++,jQuery(".remote-tab-"+a).fadeIn(),updraft_remote_storage_tab_activation(a)):(t--,jQuery(".remote-tab-"+a).hide(),1==jQuery(".remote-tab-"+a).data("active")&&updraft_remote_storage_tab_activation(jQuery(".remote-tab:visible").last().attr("name"))))}t<=0?(jQuery(".updraftplusmethod.none").fadeIn(),jQuery("#remote_storage_tabs").hide()):(jQuery(".updraftplusmethod.none").hide(),jQuery("#remote_storage_tabs").show())}),jQuery(".updraft_servicecheckbox:not(.multi)").change(function(){var t=jQuery(this).attr("value");jQuery(this).is(":not(:checked)")?(jQuery(".updraftplusmethod."+t).hide(),jQuery(".updraftplusmethod.none").fadeIn()):jQuery(".updraft_servicecheckbox").not(this).prop("checked",!1)});var a=jQuery(".updraft_servicecheckbox");if("function"==typeof a.labelauty){a.labelauty();var r=jQuery("label[for=updraft_servicecheckbox_updraftvault]"),n=jQuery('<div class="udp-info"><span class="info-trigger">?</span><div class="info-content-wrapper"><div class="info-content">'+updraftlion.updraftvault_info+"</div></div></div>");r.append(n)}}function updraft_remote_storage_test(t,e,a){var r,n;a?(r=jQuery("#updraft-"+t+"-test-"+a),n=".updraftplusmethod."+t+"-"+a):(r=jQuery("#updraft-"+t+"-test"),n=".updraftplusmethod."+t);var o=r.data("method_label");r.html(updraftlion.testing_settings.replace("%s",o));var d={method:t};jQuery("#updraft-navtab-settings-content "+n+" input[data-updraft_settings_test], #updraft-navtab-settings-content .expertmode input[data-updraft_settings_test]").each(function(t,e){var a=jQuery(e).data("updraft_settings_test"),r=jQuery(e).attr("type");if(a){r||(console.log("UpdraftPlus: settings test input item with no type found"),console.log(e),r="text");var n=null;"checkbox"==r?n=jQuery(e).is(":checked")?1:0:"text"==r||"password"==r||"hidden"==r?n=jQuery(e).val():(console.log("UpdraftPlus: settings test input item with unrecognised type ("+r+") found"),console.log(e)),d[a]=n}}),jQuery("#updraft-navtab-settings-content "+n+" textarea[data-updraft_settings_test], #updraft-navtab-settings-content "+n+" select[data-updraft_settings_test]").each(function(t,e){var a=jQuery(e).data("updraft_settings_test");d[a]=jQuery(e).val()}),updraft_send_command("test_storage_settings",d,function(t,a){r.html(updraftlion.test_settings.replace("%s",o)),"undefined"!=typeof e&&0!=e&&(e=e.call(this,t,a,d)),"undefined"!=typeof e&&!1===e&&(alert(updraftlion.settings_test_result.replace("%s",o)+" "+t.output),t.hasOwnProperty("data")&&console.log(t.data))},{error_callback:function(t,e,a,n){if(r.html(updraftlion.test_settings.replace("%s",o)),"undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),alert(n.fatal_error_message);else{var d="updraft_send_command: error: "+e+" ("+a+")";console.log(d),alert(d),console.log(t)}}})}function backupnow_whichfiles_checked(t){return jQuery('#backupnow_includefiles_moreoptions input[type="checkbox"]').each(function(e){if(jQuery(this).is(":checked")){var a=jQuery(this).attr("name");if("updraft_include_"==a.substring(0,16)){var r=a.substring(16);""!=t&&(t+=","),t+=r}}}),t}function backupnow_whichtables_checked(t){var e=!1;return jQuery('#backupnow_database_moreoptions input[type="checkbox"]').each(function(t){if(!jQuery(this).is(":checked"))return void(e=!0)}),t=jQuery("input[name^='updraft_include_tables_']").serializeArray(),!e||t}function updraft_deleteallselected(){var t=0,e="",a="",r=0;jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected").each(function(n){t++;var o=jQuery(this).data("nonce");a&&(a+=","),a+=o;var d=jQuery(this).data("key");e&&(e+=","),e+=d;var u=jQuery(this).find(".updraftplus-remove").data("hasremote");u&&r++}),updraft_delete(e,a,r)}function updraft_open_main_tab(t){updraftlion.main_tabs_keys.forEach(function(e){t==e?(jQuery("#updraft-navtab-"+e+"-content").show(),jQuery("#updraft-navtab-"+e).addClass("nav-tab-active")):(jQuery("#updraft-navtab-"+e+"-content").hide(),jQuery("#updraft-navtab-"+e).removeClass("nav-tab-active")),updraft_console_focussed_tab=t})}function updraft_openrestorepanel(t){updraft_historytimertoggle(t),updraft_open_main_tab("backups")}function updraft_delete_old_dirs(){return!0}function updraft_initiate_restore(t){jQuery('#updraft-navtab-backups-content .updraft_existing_backups button[data-backup_timestamp="'+t+'"]').click()}function updraft_restore_setoptions(t){var e=0;jQuery('input[name="updraft_restore[]"]').each(function(a,r){var n=jQuery(r).val(),o=n+"=([0-9,]+)",d=new RegExp(o),u=t.match(d);u?(jQuery(r).removeAttr("disabled").data("howmany",u[1]).parent().show(),e++,"db"==n&&(e+=4.5),jQuery(r).is(":checked")&&jQuery("#updraft_restorer_"+n+"options").show()):jQuery(r).attr("disabled","disabled").parent().hide()});var a=t.match(/dbcrypted=1/);a?(jQuery("#updraft_restore_db").data("encrypted",1),jQuery(".updraft_restore_crypteddb").show()):(jQuery("#updraft_restore_db").data("encrypted",0),jQuery(".updraft_restore_crypteddb").hide()),jQuery("#updraft_restore_db").trigger("change");var r=t.match(/meta_foreign=([12])/);r?jQuery("#updraft_restore_meta_foreign").val(r[1]):jQuery("#updraft_restore_meta_foreign").val("0")}function updraft_backup_dialog_open(t){t="undefined"==typeof t?"new":t,0==jQuery("#updraftplus_incremental_backup_link").data("incremental")&&"incremental"==t?(jQuery("#updraft-backupnow-modal .incremental-free-only").show(),t="new"):jQuery("#updraft-backupnow-modal .incremental-backups-only").hide(),jQuery("#backupnow_includefiles_moreoptions").hide(),updraft_settings_form_changed&&!window.confirm(updraftlion.unsavedsettingsbackup)||(jQuery("#backupnow_label").val(""),"incremental"==t?(update_file_entities_checkboxes(!0,impossible_increment_entities),jQuery("#backupnow_includedb").prop("checked",!1),jQuery("#backupnow_includefiles").prop("checked",!0),jQuery("#backupnow_includefiles_label").text(updraftlion.files_incremental_backup),jQuery("#updraft-backupnow-modal .new-backups-only").hide(),jQuery("#updraft-backupnow-modal .incremental-backups-only").show()):(update_file_entities_checkboxes(!1,impossible_increment_entities),jQuery("#backupnow_includedb").prop("checked",!0),jQuery("#backupnow_includefiles_label").text(updraftlion.files_new_backup),jQuery("#updraft-backupnow-modal .new-backups-only").show(),jQuery("#updraft-backupnow-modal .incremental-backups-only").hide()),jQuery("#updraft-backupnow-modal").data("backup-type",t),jQuery("#updraft-backupnow-modal").dialog("open"))}function update_file_entities_checkboxes(t,e){t?jQuery(e).each(function(t,e){jQuery("#backupnow_files_updraft_include_"+e).prop("checked",!1),jQuery("#backupnow_files_updraft_include_"+e).prop("disabled",!0)}):jQuery('#backupnow_includefiles_moreoptions input[type="checkbox"]').each(function(t){var e=jQuery(this).attr("name");if("updraft_include_"==e.substring(0,16)){var a=e.substring(16);jQuery("#backupnow_files_updraft_include_"+a).prop("disabled",!1),jQuery("#updraft_include_"+a).is(":checked")&&jQuery("#backupnow_files_updraft_include_"+a).prop("checked",!0)}})}function updraft_check_page_visibility(t){"hidden"==document.visibilityState?updraft_page_is_visible=0:(updraft_page_is_visible=1,1!==t&&jQuery("#updraft-navtab-backups-content").length&&updraft_activejobs_update(!0))}function setup_migrate_tabs(){jQuery("#updraft_migrate .updraft_migrate_widget_module_content").each(function(t,e){var a=jQuery(e).find("h3").first().html(),r=jQuery(".updraft_migrate_intro"),n=jQuery('<button class="button button-primary button-hero" />').html(a).appendTo(r);n.on("click",function(t){t.preventDefault(),jQuery(e).show(),r.hide()})})}function updraft_backupnow_inpage_go(t,e,a,r,n,o,d){r="undefined"==typeof r?0:r,n="undefined"==typeof n?0:n,o="undefined"==typeof o?0:o,d="undefined"==typeof d?updraftlion.automaticbackupbeforeupdate:d,updraft_console_focussed_tab="backups",updraft_inpage_success_callback=t,updraft_activejobs_update_timer=setInterval(function(){updraft_activejobs_update(!1)},1250);var u={},s=jQuery("#updraft-backupnow-inpage-modal").length;s&&jQuery("#updraft-backupnow-inpage-modal").dialog("option","buttons",u),jQuery("#updraft_inpage_prebackup").hide(),s&&jQuery("#updraft-backupnow-inpage-modal").dialog("open"),jQuery("#updraft_inpage_backup").show(),updraft_activejobslist_backupnownonce_only=1,updraft_inpage_hasbegun=0,updraft_backupnow_go(r,n,o,e,a,d,"")}function updraft_get_downloaders(){var t="";return jQuery(".ud_downloadstatus .updraftplus_downloader, #ud_downloadstatus2 .updraftplus_downloader, #ud_downloadstatus3 .updraftplus_downloader").each(function(e,a){var r=jQuery(a).data("downloaderfor");"object"==typeof r&&(""!=t&&(t+=":"),t=t+r.base+","+r.nonce+","+r.what+","+r.index)}),t}function updraft_poll_get_parameters(){var t={downloaders:updraft_get_downloaders()};try{jQuery("#updraft-poplog").dialog("isOpen")&&(t.log_fetch=1,t.log_nonce=updraft_poplog_log_nonce,t.log_pointer=updraft_poplog_log_pointer)}catch(e){console.log(e)}return updraft_activejobslist_backupnownonce_only&&"undefined"!=typeof updraft_backupnow_nonce&&""!=updraft_backupnow_nonce&&(t.thisjobonly=updraft_backupnow_nonce),0!==jQuery("#updraftplus_ajax_restore_job_id").length&&(t.updraft_credentialtest_nonce=updraft_credentialtest_nonce),t}function updraft_activejobs_update(t){var e=(jQuery,(new Date).getTime());if(!(0==t&&e<updraft_activejobs_nextupdate)){updraft_activejobs_nextupdate=e+5500;var a=updraft_poll_get_parameters();updraft_send_command("activejobs_list",a,function(t,e,r){updraft_process_status_check(t,r,a)},{type:"GET",error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),!0===updraftplus_activejobs_list_fatal_error_alert&&(updraftplus_activejobs_list_fatal_error_alert=!1,alert(this.alert_done+" "+r.fatal_error_message));else{var n=e==a?a:a+" ("+e+")";console.error(n),console.log(t)}return!1}})}}function updraft_show_success_modal(t){"string"==typeof t&&(t={message:t});var e=jQuery.extend({icon:"yes",close:updraftlion.close,message:"",classes:"success"},t);jQuery.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)"},message:'<div class="updraft_success_popup '+e.classes+'"><span class="dashicons dashicons-'+e.icon+'"></span><div class="updraft_success_popup--message">'+e.message+'</div><button class="button updraft-close-overlay"><span class="dashicons dashicons-no-alt"></span>'+e.close+"</button></div>"}),setTimeout(jQuery.unblockUI,5e3),jQuery(".blockUI .updraft-close-overlay").on("click",function(){jQuery.unblockUI()})}function updraft_popuplog(t){var e=updraftlion.loading_log_file;t&&(e+=" (log."+t+".txt)"),jQuery("#updraft-poplog").dialog("option","title",e),jQuery("#updraft-poplog-content").html("<em>"+e+" ...</em> "),jQuery("#updraft-poplog").dialog("open"),updraft_send_command("get_log",t,function(t){updraft_poplog_log_pointer=t.pointer,updraft_poplog_log_nonce=t.nonce;var e="?page=updraftplus&action=downloadlog&force_download=1&updraftplus_backup_nonce="+t.nonce;jQuery("#updraft-poplog-content").html(t.log);var a={};a[updraftlion.downloadlogfile]=function(){window.location.href=e},a[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-poplog").dialog("option","buttons",a),jQuery("#updraft-poplog").dialog("option","title","log."+t.nonce+".txt"),updraft_poplog_lastscroll=-1},{type:"GET",timeout:6e4,error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft-poplog-content").append(r.fatal_error_message);else{var n=e==a?a:a+" ("+e+")";jQuery("#updraft-poplog-content").append(n),console.log(t)}}})}function updraft_showlastbackup(){updraft_send_command("get_fragment","last_backup_html",function(t){response=t.output,lastbackup_laststatus==response?setTimeout(function(){updraft_showlastbackup()},7e3):jQuery("#updraft_last_backup").html(response),lastbackup_laststatus=response},{type:"GET"})}function updraft_historytimertoggle(t){updraft_historytimer&&1!=t?(clearTimeout(updraft_historytimer),updraft_historytimer=0):(updraft_updatehistory(0,0),updraft_historytimer=setInterval(function(){updraft_updatehistory(0,0)},3e4),calculated_diskspace||(updraftplus_diskspace(),calculated_diskspace=1))}function updraft_updatehistory(t,e,a,r){if("undefined"==typeof updraft_restore_screen||!updraft_restore_screen){"undefined"==typeof a&&(a=jQuery("#updraft_debug_mode").is(":checked")?1:0);var n=Math.round((new Date).getTime()/1e3);if(1==t||1==e)updraft_historytimer_notbefore=n+30;else if(n<updraft_historytimer_notbefore&&"undefined"==typeof r)return void console.log("Update history skipped: "+n.toString()+" < "+updraft_historytimer_notbefore.toString());"undefined"==typeof r&&(r=jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").length),1==t&&(1==e?(updraft_history_lastchecksum=!1,jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html('<p style="text-align:center;"><em>'+updraftlion.rescanningremote+"</em></p>")):(updraft_history_lastchecksum=!1,jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html('<p style="text-align:center;"><em>'+updraftlion.rescanning+"</em></p>")));var o=e?"remotescan":!!t&&"rescan",d={operation:o,debug:a,backup_count:r};updraft_send_command("rescan",d,function(t){if(t.hasOwnProperty("logs_exist")&&t.logs_exist&&jQuery("#updraft_lastlogmessagerow .updraft-log-link").show(),t.hasOwnProperty("migrate_tab")&&t.migrate_tab&&(jQuery("#updraft-navtab-migrate").hasClass("nav-tab-active")||(jQuery("#updraft_migrate_tab_alt").html(""),jQuery("#updraft_migrate").replaceWith(jQuery(t.migrate_tab).find("#updraft_migrate")),setup_migrate_tabs())),t.hasOwnProperty("web_server_disk_space")&&(""==t.web_server_disk_space?(console.log("UpdraftPlus: web_server_disk_space is empty"),jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").length&&jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").slideUp("slow",function(){jQuery(this).remove()})):jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").length?jQuery("#updraft-navtab-backups-content .updraft-server-disk-space").replaceWith(t.web_server_disk_space):jQuery("#updraft-navtab-backups-content .updraft-disk-space-actions").prepend(t.web_server_disk_space)),update_backupnow_modal(t),t.hasOwnProperty("backupnow_file_entities")&&(impossible_increment_entities=t.backupnow_file_entities),null!=t.n&&jQuery("#updraft-existing-backups-heading").html(t.n),null!=t.t){if(null!=t.cksum){if(t.cksum==updraft_history_lastchecksum)return;updraft_history_lastchecksum=t.cksum}jQuery("#updraft-navtab-backups-content .updraft_existing_backups").html(t.t),updraft_backups_selection.checkSelectionStatus(),t.data&&console.log(t.data)}})}}function update_backupnow_modal(t){t.hasOwnProperty("modal_afterfileoptions")&&jQuery(".backupnow_modal_afterfileoptions").html(t.modal_afterfileoptions)}function updraft_exclude_entity_update(t){var e=[];jQuery("#updraft_include_"+t+"_exclude_container .updraft_exclude_entity_wrapper .updraft_exclude_entity_field").each(function(){var t=jQuery.trim(jQuery(this).data("val"));""!=t&&e.push(t)}),jQuery("#updraft_include_"+t+"_exclude").val(e.join(","))}function updraft_is_unique_exclude_rule(t,e){return existing_exclude_rules_str=jQuery("#updraft_include_"+e+"_exclude").val(),existing_exclude_rules=existing_exclude_rules_str.split(","),!(jQuery.inArray(t,existing_exclude_rules)>-1)||(alert(updraftlion.duplicate_exclude_rule_error_msg),!1)}function updraft_intervals_monthly_or_not(t,e){var a="#updraft-navtab-settings-content #"+t,r=jQuery(a+" option").length,n="monthly"==e,o=!1;if(r>10&&(o=!0),n||o){if(n&&o)return void("monthly"==e&&(jQuery(".updraft_monthly_extra_words_"+t).remove(),jQuery(a).before('<span class="updraft_monthly_extra_words_'+t+'">'+updraftlion.day+" </span>").after('<span class="updraft_monthly_extra_words_'+t+'"> '+updraftlion.inthemonth+" </span>")));if(jQuery(".updraft_monthly_extra_words_"+t).remove(),n){updraft_interval_week_val=jQuery(a+" option:selected").val(),jQuery(a).html(updraftlion.mdayselector).before('<span class="updraft_monthly_extra_words_'+t+'">'+updraftlion.day+" </span>").after('<span class="updraft_monthly_extra_words_'+t+'"> '+updraftlion.inthemonth+" </span>");var d=updraft_interval_month_val===!1?1:updraft_interval_month_val;d-=1,jQuery(a+" option:eq("+d+")").prop("selected",!0)}else{updraft_interval_month_val=jQuery(a+" option:selected").val(),jQuery(a).html(updraftlion.dayselector);var u=updraft_interval_week_val===!1?1:updraft_interval_week_val;jQuery(a+" option:eq("+u+")").prop("selected",!0)}}}function updraft_check_same_times(){var t=0,e=jQuery("#updraft-navtab-settings-content .updraft_interval").val();"manual"==e?jQuery("#updraft-navtab-settings-content .updraft_files_timings").hide():jQuery("#updraft-navtab-settings-content .updraft_files_timings").show(),"weekly"==e||"fortnightly"==e||"monthly"==e?(updraft_intervals_monthly_or_not("updraft_startday_files",e),jQuery("#updraft-navtab-settings-content #updraft_startday_files").show()):(jQuery(".updraft_monthly_extra_words_updraft_startday_files").remove(),jQuery("#updraft-navtab-settings-content #updraft_startday_files").hide());var a=jQuery("#updraft-navtab-settings-content .updraft_interval_database").val();"manual"==a&&(t=1,jQuery("#updraft-navtab-settings-content .updraft_db_timings").hide()),"weekly"==a||"fortnightly"==a||"monthly"==a?(updraft_intervals_monthly_or_not("updraft_startday_db",a),jQuery("#updraft-navtab-settings-content #updraft_startday_db").show()):(jQuery(".updraft_monthly_extra_words_updraft_startday_db").remove(),jQuery("#updraft-navtab-settings-content #updraft_startday_db").hide()),a==e?(jQuery("#updraft-navtab-settings-content .updraft_db_timings").hide(),0==t?jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").show():jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").hide()):(jQuery("#updraft-navtab-settings-content .updraft_same_schedules_message").hide(),0==t&&jQuery("#updraft-navtab-settings-content .updraft_db_timings").show())}function updraft_activejobs_delete(t){updraft_aborted_jobs[t]=1,jQuery("#updraft-jobid-"+t).closest(".updraft_row").addClass("deleting"),updraft_send_command("activejobs_delete",t,function(e){var a=jQuery("#updraft-jobid-"+t).closest(".updraft_row");a.addClass("deleting"),"Y"==e.ok?(jQuery("#updraft-jobid-"+t).html(e.m),a.remove(),jQuery("#updraft-backupnow-inpage-modal").dialog("isOpen")&&jQuery("#updraft-backupnow-inpage-modal").dialog("close"),updraft_show_success_modal({message:updraft_active_job_is_clone(t)?updraftlion.clone_backup_aborted:updraftlion.backup_aborted,icon:"no-alt",classes:"warning"})):"N"==e.ok?(a.removeClass("deleting"),alert(e.m)):(a.removeClass("deleting"),alert(updraftlion.unexpectedresponse),console.log(e))})}function updraftplus_diskspace_entity(t){jQuery("#updraft_diskspaceused_"+t).html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:t},function(e){jQuery("#updraft_diskspaceused_"+t).html(e.output)},{type:"GET"})}function updraft_active_job_is_clone(t){return updraft_clone_jobs.filter(function(e){return e==t}).length}function updraft_iframe_modal(t,e){var a=780,r=500;jQuery("#updraft-iframe-modal-innards").html('<iframe width="100%" height="430px" src="'+ajaxurl+"?action=updraft_ajax&subaction="+t+"&nonce="+updraft_credentialtest_nonce+'"></iframe>'),jQuery("#updraft-iframe-modal").dialog("option","title",e).dialog("option","width",a).dialog("option","height",r).dialog("open")}function updraft_html_modal(t,e,a,r){jQuery("#updraft-iframe-modal-innards").html(t);var n={};a<450&&(n[updraftlion.close]=function(){jQuery(this).dialog("close")}),jQuery("#updraft-iframe-modal").dialog("option","title",e).dialog("option","width",a).dialog("option","height",r).dialog("option","buttons",n).dialog("open")}function updraftplus_diskspace(){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery("#updraft-navtab-backups-content .updraft_diskspaceused").html(t.output)},{type:"GET"})}function updraftplus_deletefromserver(t,e,a){a||(a=0);var r={stage:"delete",timestamp:t,type:e,findex:a};updraft_send_command("updraft_download_backup",r,null,{action:"updraft_download_backup",nonce:updraft_download_nonce,nonce_key:"_wpnonce"})}function updraftplus_downloadstage2(t,e,a){location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+t+"&type="+e+"&stage=2&findex="+a+"&action=updraft_download_backup"}function updraftplus_show_contents(t,e,a){var r='<div id="updraft_zip_files_container" class="hidden-in-updraftcentral" style="clear:left;"><div id="updraft_zip_info_container" class="updraft_jstree_info_container"><p><span id="updraft_zip_path_text">'+updraftlion.zip_file_contents_info+'</span> - <span id="updraft_zip_size_text"></span></p>'+updraftlion.browse_download_link+'</div><div id="updraft_zip_files_jstree_container"><input type="search" id="zip_files_jstree_search" name="zip_files_jstree_search" placeholder="'+updraftlion.search+'"><div id="updraft_zip_files_jstree" class="updraft_jstree"></div></div></div>';updraft_html_modal(r,updraftlion.zip_file_contents,780,500),zip_files_jstree("zipbrowser",t,e,a)}function zip_files_jstree(t,e,a,r){jQuery("#updraft_zip_files_jstree").jstree({core:{multiple:!1,data:function(n,o){updraft_send_command("get_jstree_directory_nodes",{entity:t,node:n,timestamp:e,type:a,findex:r},function(t){t.hasOwnProperty("error")?alert(t.error):o.call(this,t.nodes)},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+r.fatal_error_message+"</p>"),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+n+"</p>"),console.log(n),alert(n),console.log(t)}}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["search","sort"]}),jQuery("#updraft_zip_files_jstree").on("ready.jstree",function(t,e){jQuery("#updraft-iframe-modal").dialog("option","title",updraftlion.zip_file_contents+": "+e.instance.get_node("#").children[0])});var n=!1;jQuery("#zip_files_jstree_search").keyup(function(){n&&clearTimeout(n),n=setTimeout(function(){var t=jQuery("#zip_files_jstree_search").val();jQuery("#updraft_zip_files_jstree").jstree(!0).search(t)},250)}),jQuery("#updraft_zip_files_jstree").on("changed.jstree",function(t,e){jQuery("#updraft_zip_path_text").text(e.node.li_attr.path),e.node.li_attr.size?(jQuery("#updraft_zip_size_text").text(e.node.li_attr.size),jQuery("#updraft_zip_download_item").show()):(jQuery("#updraft_zip_size_text").text(""),jQuery("#updraft_zip_download_item").hide())}),jQuery("#updraft_zip_download_item").click(function(t){t.preventDefault();var n=jQuery("#updraft_zip_path_text").text();updraft_send_command("get_zipfile_download",{path:n,timestamp:e,type:a,findex:r},function(t){t.hasOwnProperty("error")?alert(t.error):t.hasOwnProperty("path")?location.href=ajaxurl+"?_wpnonce="+updraft_download_nonce+"×tamp="+e+"&type="+a+"&stage=2&findex="+r+"&filepath="+t.path+"&action=updraft_download_backup":alert(updraftlion.download_timeout)},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}})})}function remove_updraft_downloader(t,e){jQuery(t).closest(".updraftplus_downloader").fadeOut().remove(),0==jQuery(".updraftplus_downloader_container_"+e+" .updraftplus_downloader").length&&jQuery(".updraftplus_downloader_container_"+e).remove()}function updraft_downloader(t,e,a,r,n,o,d){"string"!=typeof n&&(n=n.toString()),jQuery(".ud_downloadstatus").show();var n=n.split(","),u=o?o:e,s=jQuery("#updraft-navtab-backups-content .uddownloadform_"+a+"_"+e+"_"+n[0]).data("wp_nonce").toString();jQuery(".updraftplus_downloader_container_"+a).length||(jQuery(r).append('<div class="updraftplus_downloader_container_'+a+' postbox"></div>'),jQuery(".updraftplus_downloader_container_"+a).append('<strong style="clear:left; padding: 8px; margin-top: 4px;">'+updraftlion.download+" "+a+" ("+u+"):</strong>"));for(var i=0;i<n.length;i++){var p=t+e+"_"+a+"_"+n[i],l="."+p,_=parseInt(n[i]);_++;var c=0==n[i]?"":" ("+_+")";jQuery(l).length||(jQuery(".updraftplus_downloader_container_"+a).append('<div style="clear:left; padding: 8px; margin-top: 4px;" class="'+p+' updraftplus_downloader"><button onclick="remove_updraft_downloader(this, \''+a+'\');" type="button" style="float:right; margin-bottom: 8px;" class="ud_downloadstatus__close" aria-label="Close"><span class="dashicons dashicons-no-alt"></span></button><strong>'+a+c+'</strong>:<div class="raw">'+updraftlion.begunlooking+'</div><div class="file '+p+'_st"><div class="dlfileprogress" style="width: 0;"></div></div></div>'),jQuery(l).data("downloaderfor",{base:t,nonce:e,what:a,index:n[i]}),setTimeout(function(){updraft_activejobs_update(!0)},1500)),jQuery(l).data("lasttimebegan",(new Date).getTime())}d=!!d;var f={type:a,timestamp:e,findex:n},m={action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:s,timeout:1e4,async:d};return updraft_send_command("updraft_download_backup",f,function(t){},m),!1}function ud_parse_json(t,e){if(e="undefined"!=typeof e,!e)try{var a=JSON.parse(t);return a}catch(r){console.log("UpdraftPlus: Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets"),console.log(t)}var n=t.indexOf("{"),o=t.lastIndexOf("}");if(n>-1&&o>-1){var d=t.slice(n,o+1);try{var u=JSON.parse(d);return e||console.log("UpdraftPlus: JSON re-parse successful"),e?{parsed:u,json_start_pos:n,json_last_pos:o+1}:u}catch(r){console.log("UpdraftPlus: Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting");for(var s=n,i=0,p="",l=!1;(i>0||s==n)&&s<=o;){var _=t.charAt(s);l||"{"!=_?l||"}"!=_?'"'==_&&"\\"!=p&&(l=!l):i--:i++,p=_,s++}console.log("Started at cursor="+n+", ended at cursor="+s+" with result following:"),console.log(t.substring(n,s));try{var u=JSON.parse(t.substring(n,s));return console.log("UpdraftPlus: JSON re-parse successful"),e?{parsed:u,json_start_pos:n,json_last_pos:s}:u}catch(r){throw r}}}throw"UpdraftPlus: could not parse the JSON"}function updraft_restorer_checkstage2(t){var e=jQuery("#ud_downloadstatus2 .file").length;return e>0?void(t&&alert(updraftlion.stilldownloading)):(jQuery(".updraft-restore--next-step").prop("disabled",!0),jQuery("#updraft-restore-modal-stage2a").html('<span class="dashicons dashicons-update rotate"></span> '+updraftlion.preparing_backup_files),void updraft_send_command("restore_alldownloaded",{timestamp:jQuery("#updraft_restore_timestamp").val(),restoreopts:jQuery("#updraft_restore_form").serialize()},function(t,e,a){var r=null;jQuery("#updraft_restorer_restore_options").val(""),jQuery(".updraft-restore--next-step").prop("disabled",!1);try{if(null==t)return void jQuery("#updraft-restore-modal-stage2a").html(updraftlion.emptyresponse);var n=t.m;if(""!=t.w&&(n=n+'<div class="notice notice-warning"><p><span class="dashicons dashicons-warning"></span> <strong>'+updraftlion.warnings+"</strong></p>"+t.w+"</div>"),""!=t.e?n=n+'<div class="notice notice-error"><p><span class="dashicons dashicons-dismiss"></span> <strong>'+updraftlion.errors+"</strong></p>"+t.e+"</div>":updraft_restore_stage=3,t.hasOwnProperty("i")){try{if(r=ud_parse_json(t.i),r.hasOwnProperty("addui")){console.log("Further UI options are being displayed");var o=r.addui;n+='<div id="updraft_restoreoptions_ui">'+o+"</div>","object"==typeof JSON&&"function"==typeof JSON.stringify&&(delete r.addui,t.i=JSON.stringify(r))}}catch(d){console.log(d),console.log(t)}jQuery("#updraft_restorer_backup_info").val(t.i)}else jQuery("#updraft_restorer_backup_info").val();jQuery("#updraft-restore-modal-stage2a").html(n),jQuery(".updraft-restore--next-step").text(updraftlion.restore),jQuery("#updraft-restore-modal-stage2a .updraft_select2").length>0&&jQuery("#updraft-restore-modal-stage2a .updraft_select2").select2()}catch(d){console.log(a),console.log(d),jQuery("#updraft-restore-modal-stage2a").text(updraftlion.jsonnotunderstood+" "+updraftlion.errordata+": "+a).html()}},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft-restore-modal-stage2a").html('<p style="color: red;">'+r.fatal_error_message+"</p>"),
|
2 |
+
alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft-restore-modal-stage2a").html('<p style="color: red;">'+n+"</p>"),console.log(n),alert(n),console.log(t)}}}))}function updraft_downloader_status(t,e,a,r){}function updraft_downloader_status_update(t,e){var a=0;return jQuery(t).each(function(t,r){if(""!=r.base){var n=r.base+r.timestamp+"_"+r.what+"_"+r.findex,o="."+n;if(null!=r.e)jQuery(o+" .raw").html("<strong>"+updraftlion.error+"</strong> "+r.e),console.log(r);else if(null!=r.p){if(jQuery(o+"_st .dlfileprogress").width(r.p+"%"),null!=r.a&&r.a>0){var d=(new Date).getTime(),u=jQuery(o).data("lasttimebegan"),s=d-u;if(r.a>90&&s>6e4){console.log(r.timestamp+" "+r.what+" "+r.findex+": restarting download: file_age="+r.a+", sincelastrestart_ms="+s),jQuery(o).data("lasttimebegan",(new Date).getTime());var i=jQuery("#updraft-navtab-backups-content .uddownloadform_"+r.what+"_"+r.timestamp+"_"+r.findex),p={type:r.what,timestamp:r.timestamp,findex:r.findex},l={action:"updraft_download_backup",nonce_key:"_wpnonce",nonce:i.data("wp_nonce").toString(),timeout:1e4};updraft_send_command("updraft_download_backup",p,function(t){},l),jQuery(o).data("lasttimebegan",(new Date).getTime())}}if(null!=r.m)if(r.p>=100&&"udrestoredlstatus_"==r.base)jQuery(o+" .raw").html(r.m),jQuery(o).fadeOut("slow",function(){remove_updraft_downloader(this,r.what),updraft_restorer_checkstage2(0)});else if(r.p>=100&&"udclonedlstatus_"==r.base)jQuery(o+" .raw").html(r.m),jQuery(o).fadeOut("slow",function(){remove_updraft_downloader(this,r.what)});else if(r.p<100||"uddlstatus_"!=r.base)jQuery(o+" .raw").html(r.m);else{var _=updraftlion.fileready+" "+updraftlion.actions+': \t\t\t\t<button class="button" type="button" onclick="updraftplus_downloadstage2(\''+r.timestamp+"', '"+r.what+"', '"+r.findex+"')\">"+updraftlion.downloadtocomputer+'</button> \t\t\t\t<button class="button" id="uddownloaddelete_'+r.timestamp+"_"+r.what+'" type="button" onclick="updraftplus_deletefromserver(\''+r.timestamp+"', '"+r.what+"', '"+r.findex+"')\">"+updraftlion.deletefromserver+"</button>";r.hasOwnProperty("can_show_contents")&&r.can_show_contents&&(_+=' <button class="button" type="button" onclick="updraftplus_show_contents(\''+r.timestamp+"', '"+r.what+"', '"+r.findex+"')\">"+updraftlion.browse_contents+"</button>"),jQuery(o+" .raw").html(_),jQuery(o+"_st").remove()}}else null!=r.m?jQuery(o+" .raw").html(r.m):(jQuery(o+" .raw").html(updraftlion.jsonnotunderstood+" ("+e+")"),a=1)}}),a}function updraft_backupnow_go(t,e,a,r,n,o,d){var u={backupnow_nodb:t,backupnow_nofiles:e,backupnow_nocloud:a,backupnow_label:o,extradata:n};if(""!=r&&(u.onlythisfileentity=r),""!=d&&(u.onlythesetableentities=d),u.always_keep="undefined"!=typeof n.always_keep?n.always_keep:0,delete n.always_keep,u.incremental="undefined"!=typeof n.incremental?n.incremental:0,delete n.incremental,!jQuery(".updraft_requeststart").length){var s=jQuery('<div class="updraft_requeststart" />').html('<span class="spinner"></span>'+updraftlion.requeststart);s.data("remove",!1),setTimeout(function(){s.data("remove",!0)},3e3),setTimeout(function(){s.remove()},75e3),jQuery("#updraft_activejobsrow").before(s)}updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",u,function(t){return t.hasOwnProperty("error")?(jQuery(".updraft_requeststart").remove(),void alert(t.error)):(jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),void setTimeout(function(){updraft_activejobs_update(!0)},500))})}function updraft_process_status_check(t,e,a){if(t.hasOwnProperty("fatal_error"))return console.error(t.fatal_error_message),void(!0===updraftplus_activejobs_list_fatal_error_alert&&(updraftplus_activejobs_list_fatal_error_alert=!1,alert(this.alert_done+" "+t.fatal_error_message)));try{t.hasOwnProperty("l")&&(t.l?(jQuery("#updraft_lastlogmessagerow").show(),jQuery("#updraft_lastlogcontainer").html(t.l)):(jQuery("#updraft_lastlogmessagerow").hide(),jQuery("#updraft_lastlogcontainer").html("("+updraftlion.nothing_yet_logged+")")));var r=-1,n=jQuery(".updraft_requeststart");t.j&&n.length&&n.data("remove")&&n.remove();var o=jQuery(t.j);o.find(".updraft_jobtimings").each(function(t,e){var a=jQuery(e);if(a.data("jobid")){var r=a.data("jobid"),n=a.closest(".updraft_row");updraft_aborted_jobs[r]&&n.hide()}}),jQuery("#updraft_activejobsrow").html(o);var d=o.find('.job-id[data-isclone="1"]');if(d.length>0){if(0==jQuery(".updraftclone_action_box .updraftclone_network_info").length&&jQuery("#updraft_activejobsrow .job-id .updraft_clone_url").length>0){var u=jQuery("#updraft_activejobsrow .job-id .updraft_clone_url").data("clone_url");updraft_send_command("get_clone_network_info",{clone_url:u},function(t){t.hasOwnProperty("html")&&jQuery(".updraftclone_action_box").html(t.html)})}jQuery("#updraft_clone_activejobsrow").empty(),d.each(function(t,e){var a=jQuery(e);a.closest(".updraft_row").appendTo(jQuery("#updraft_clone_activejobsrow"))})}if(jQuery("#updraft_activejobs .updraft_jobtimings").each(function(t,e){var a=jQuery(e);if(a.data("lastactivity")&&a.data("jobid")){var n=a.data("jobid"),o=a.data("lastactivity");(r==-1||o<r)&&(r=o);var d=a.data("nextresumptionafter"),u=a.data("nextresumption");timenow=(new Date).getTime(),o>50&&u>0&&d<-30&&timenow>updraft_last_forced_when+1e5&&(updraft_last_forced_jobid!=n||u!=updraft_last_forced_resumption)&&(updraft_last_forced_resumption=u,updraft_last_forced_jobid=n,updraft_last_forced_when=timenow,console.log("UpdraftPlus: force resumption: job_id="+n+", resumption="+u),updraft_send_command("forcescheduledresumption",{resumption:u,job_id:n},function(t){console.log(t)},{json_parse:!1,alert_on_error:!1}))}}),timenow=(new Date).getTime(),updraft_activejobs_nextupdate=timenow+18e4,1==updraft_page_is_visible&&"backups"==updraft_console_focussed_tab&&(updraft_activejobs_nextupdate=r>-1?r<5?timenow+1750:timenow+5e3:lastlog_lastdata==e?timenow+7500:timenow+1750),d.length>0&&(updraft_activejobs_nextupdate=timenow+6e3),lastlog_lastdata=e,null!=t.j&&""!=t.j){if(jQuery("#updraft_activejobsrow").show(),d.length>0&&jQuery("#updraft_clone_activejobsrow").show(),a.hasOwnProperty("thisjobonly")&&!updraft_inpage_hasbegun&&jQuery("#updraft-jobid-"+a.thisjobonly).length?(updraft_inpage_hasbegun=1,console.log("UpdraftPlus: the start of the requested backup job has been detected")):!updraft_inpage_hasbegun&&updraft_activejobslist_backupnownonce_only&&jQuery(".updraft_jobtimings.isautobackup").length&&(autobackup_nonce=jQuery(".updraft_jobtimings.isautobackup").first().data("jobid"),autobackup_nonce&&(updraft_inpage_hasbegun=1,updraft_backupnow_nonce=autobackup_nonce,a.thisjobonly=autobackup_nonce,console.log("UpdraftPlus: the start of the requested backup job has been detected; id: "+autobackup_nonce))),1==updraft_inpage_hasbegun&&jQuery("#updraft-jobid-"+a.thisjobonly+".updraft_finished").length&&(updraft_inpage_hasbegun=2,console.log("UpdraftPlus: the end of the requested backup job has been detected"),updraft_activejobs_update_timer&&clearInterval(updraft_activejobs_update_timer),"undefined"!=typeof updraft_inpage_success_callback&&""!=updraft_inpage_success_callback?updraft_inpage_success_callback.call(!1):jQuery("#updraft-backupnow-inpage-modal").dialog("close")),""==lastlog_jobs&&setTimeout(function(){jQuery("#updraft_backup_started").slideUp()},3500),a.hasOwnProperty("thisjobonly")&&updraft_backupnow_nonce&&a.thisjobonly===updraft_backupnow_nonce){jQuery(".updraft_requeststart").remove();var s=jQuery("#updraft-jobid-"+updraft_backupnow_nonce);s.is(".updraft_finished")&&(updraft_activejobslist_backupnownonce_only=0,updraft_aborted_jobs[updraft_backupnow_nonce]?updraft_aborted_jobs=updraft_aborted_jobs.filter(function(t,e){return t!=updraft_backupnow_nonce}):updraft_active_job_is_clone(updraft_backupnow_nonce)?(updraft_show_success_modal(updraftlion.clone_backup_complete),updraft_clone_jobs=updraft_clone_jobs.filter(function(t){return t!=updraft_backupnow_nonce})):updraft_show_success_modal(updraftlion.backup_complete),updraft_backupnow_nonce="",updraft_activejobs_update(!0))}}else jQuery("#updraft_activejobsrow").is(":hidden")||("undefined"!=typeof lastbackup_laststatus&&updraft_showlastbackup(),updraft_updatehistory(0,0),jQuery("#updraft_activejobsrow").hide());if(lastlog_jobs=t.j,null!=t.ds&&""!=t.ds&&updraft_downloader_status_update(t.ds,e),null!=t.u&&""!=t.u&&jQuery("#updraft-poplog").dialog("isOpen")){var i=t.u;if(i.nonce==updraft_poplog_log_nonce&&(updraft_poplog_log_pointer=i.pointer,null!=i.log&&""!=i.log)){var p=jQuery("#updraft-poplog").scrollTop();jQuery("#updraft-poplog-content").append(i.log),updraft_poplog_lastscroll!=p&&updraft_poplog_lastscroll!=-1||(jQuery("#updraft-poplog").scrollTop(jQuery("#updraft-poplog-content").prop("scrollHeight")),updraft_poplog_lastscroll=jQuery("#updraft-poplog").scrollTop())}}}catch(l){console.log(updraftlion.unexpectedresponse+" "+e),console.log(l)}}var onlythesefileentities=backupnow_whichfiles_checked("");""==onlythesefileentities?jQuery("#backupnow_includefiles_moreoptions").show():jQuery("#backupnow_includefiles_moreoptions").hide();var impossible_increment_entities,updraft_restore_stage=1,lastlog_lastmessage="",lastlog_lastdata="",lastlog_jobs="",updraft_activejobs_nextupdate=(new Date).getTime()+1e3,updraft_page_is_visible=1,updraft_console_focussed_tab=updraftlion.tab,updraft_settings_form_changed=!1;window.onbeforeunload=function(t){if(updraft_settings_form_changed)return updraftlion.unsavedsettings},"undefined"!=typeof document.hidden&&document.addEventListener("visibilitychange",function(){updraft_check_page_visibility(0)},!1),updraft_check_page_visibility(1);var updraft_poplog_log_nonce,updraft_poplog_log_pointer=0,updraft_poplog_lastscroll=-1,updraft_last_forced_jobid=-1,updraft_last_forced_resumption=-1,updraft_last_forced_when=-1,updraft_backupnow_nonce="",updraft_activejobslist_backupnownonce_only=0,updraft_inpage_hasbegun=0,updraft_activejobs_update_timer,updraft_aborted_jobs=[],updraft_clone_jobs=[],temporary_clone_timeout,updraft_backups_selection={};!function(t){updraft_backups_selection.toggle=function(e){var a=t(e);a.is(".backuprowselected")?this.deselect(e):this.select(e)},updraft_backups_selection.select=function(e){t(e).addClass("backuprowselected"),t(e).find(".backup-select input").prop("checked",!0),this.checkSelectionStatus()},updraft_backups_selection.deselect=function(e){t(e).removeClass("backuprowselected"),t(e).find(".backup-select input").prop("checked",!1),this.checkSelectionStatus()},updraft_backups_selection.selectAll=function(){t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").each(function(t,e){updraft_backups_selection.select(e)})},updraft_backups_selection.deselectAll=function(){t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").each(function(t,e){updraft_backups_selection.deselect(e)})},updraft_backups_selection.checkSelectionStatus=function(){var e=t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").length,a=t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row.backuprowselected").length;a>0?(t("#ud_massactions").addClass("active"),t(".js--deselect-all-backups, .js--delete-selected-backups").prop("disabled",!1)):(t("#ud_massactions").removeClass("active"),t(".js--deselect-all-backups, .js--delete-selected-backups").prop("disabled",!0)),e===a?t("#cb-select-all").prop("checked",!0):t("#cb-select-all").prop("checked",!1),e?t("#ud_massactions").show():t("#ud_massactions").hide()},updraft_backups_selection.selectAllInBetween=function(e){var a=this.firstMultipleSelectionIndex,r=e.rowIndex-1;for(this.firstMultipleSelectionIndex>e.rowIndex-1&&(a=e.rowIndex-1,r=this.firstMultipleSelectionIndex),i=a;i<=r;i++)this.select(t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").eq(i))},updraft_backups_selection.hightlight_backup_rows=function(){"undefined"!=typeof updraft_backups_selection.firstMultipleSelectionIndex&&(t(this).hasClass("range-selection")||t(this).hasClass("backuprowselected")||t(this).addClass("range-selection"),t(this).siblings().removeClass("range-selection"),updraft_backups_selection.firstMultipleSelectionIndex+1>this.rowIndex?t(this).nextUntil(".updraft_existing_backups_row.range-selection-start").addClass("range-selection"):updraft_backups_selection.firstMultipleSelectionIndex+1<this.rowIndex&&t(this).prevUntil(".updraft_existing_backups_row.range-selection-start").addClass("range-selection"))},updraft_backups_selection.unregister_highlight_mode=function(){"undefined"!=typeof updraft_backups_selection.firstMultipleSelectionIndex&&(delete updraft_backups_selection.firstMultipleSelectionIndex,t("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").removeClass("range-selection range-selection-start"),t("#updraft-navtab-backups-content").off("hover",".updraft_existing_backups .updraft_existing_backups_row",this.hightlight_backup_rows),t(document).off("mouseleave",this.unregister_highlight_mode))},updraft_backups_selection.register_highlight_mode=function(){t(document).on("mouseleave",updraft_backups_selection.unregister_highlight_mode),t("#updraft-navtab-backups-content").on("hover",".updraft_existing_backups .updraft_existing_backups_row",updraft_backups_selection.hightlight_backup_rows)}}(jQuery);var updraftplus_activejobs_list_fatal_error_alert=!0,updraft_historytimer=0,calculated_diskspace=0,updraft_historytimer_notbefore=0,updraft_history_lastchecksum=!1,updraft_interval_week_val=!1,updraft_interval_month_val=!1;"undefined"!=typeof updraft_siteurl&&setInterval(function(){jQuery.get(updraft_siteurl+"/wp-cron.php")},21e4);var lastlog_lastmessage="";jQuery(document).ajaxError(function(t,e,a,r){if(null!=r&&""!=r&&null!=e.responseText&&""!=e.responseText&&(console.log("Error caught by UpdraftPlus ajaxError handler (follows) for "+a.url),console.log(r),0==a.url.search(ajaxurl)))if(a.url.search("subaction=downloadstatus")>=0){var n=a.url.match(/timestamp=\d+/),o=a.url.match(/type=[a-z]+/),d=a.url.match(/findex=\d+/),u=a.url.match(/base=[a-z_]+/);if(d=d instanceof Array?parseInt(d[0].substr(7)):0,o=o instanceof Array?o[0].substr(5):"",u=u instanceof Array?u[0].substr(5):"",n=n instanceof Array?parseInt(n[0].substr(10)):0,""!=u&&""!=o&&n>0){var s=u+n+"_"+o+"_"+d;jQuery("."+s+" .raw").html("<strong>"+updraftlion.error+"</strong> "+updraftlion.servererrorcode)}}else a.url.search("subaction=restore_alldownloaded")>=0&&jQuery("#updraft-restore-modal-stage2a").append("<br><strong>"+updraftlion.error+"</strong> "+updraftlion.servererrorcode+": "+r)}),jQuery(document).ready(function(t){function e(e){t('.expertmode .advanced_settings_container .advanced_tools:not(".'+e+'")').hide(),t(".expertmode .advanced_settings_container .advanced_tools."+e).fadeIn("slow"),t(".expertmode .advanced_settings_container .advanced_tools_button:not(#"+e+")").removeClass("active"),t(".expertmode .advanced_settings_container .advanced_tools_button#"+e).addClass("active")}function a(e){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",e,function(e){try{if(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .updraftplus_spinner.spinner").removeClass("visible"),e.hasOwnProperty("status")&&"error"==e.status)return t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html(e.message).show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val("");e.hasOwnProperty("tfa_enabled")&&1==e.tfa_enabled&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").focus()),"authenticated"===e.status&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .non_tfa_fields").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 .tfa_fields").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1 input#temporary_clone_options_two_factor_code").val(""),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(e.html),e.hasOwnProperty("clone_info")&&e.clone_info.hasOwnProperty("expires_after")&&n(e.clone_info.expires_after))}catch(a){console.log(a)}})}function r(e){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").addClass("visible"),updraft_send_command("process_updraftplus_clone_login",e,function(e){try{if(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .updraftplus_spinner.spinner").removeClass("visible"),e.hasOwnProperty("status")&&"error"==e.status)return void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html(e.message).show();"authenticated"===e.status&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(e.html),e.hasOwnProperty("clone_info")&&e.clone_info.hasOwnProperty("expires_after")&&n(e.clone_info.expires_after))}catch(a){console.log(a)}})}function n(e){var a=1e3*e;temporary_clone_timeout=setTimeout(function(){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").html(""),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage1").show()},a)}function o(e,a,r){var n="";"current"!=a&&updraft_send_command("whichdownloadsneeded",{updraftplus_clone:!0,timestamp:a},function(t){if(t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),n=t.downloads,console.log(n)),0!=n.length)for(var e=0;e<n.length;e++)updraft_downloader("udclonedlstatus_",a,n[e][0],"#ud_downloadstatus3",n[e][1],"",!1)},{alert_on_error:!1,error_callback:function(e,a,r,n){if("undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html('<p style="color:red;">'+n.fatal_error_message+"</p>");else{var o="updraft_send_command: error: "+a+" ("+r+")";t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html('<p style="color:red; margin: 5px;">'+o+"</p>"),console.log(o),console.log(e)}}}),setTimeout(function(){if(0!=n.length)return void o(e,a,r);var s=e.form_data.clone_id,i=e.form_data.secret_token;updraft_send_command("process_updraftplus_clone_create",e,function(e){try{if(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),e.hasOwnProperty("status")&&"error"==e.status)return void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+e.message).show();"success"===e.status&&(t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage2").hide(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").show(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3").html(e.html),temporary_clone_timeout&&clearTimeout(temporary_clone_timeout),"wp_only"===r?(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),u(s,i)):(jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),d(s,i,e.url,e.key,r,a)))}catch(n){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!1),console.log("Error when processing the response of process_updraftplus_clone_create (as follows)"),console.log(n)}})},5e3)}function d(t,e,a,r,n,o){var d={updraftplus_clone_backup:1,backupnow_nodb:0,backupnow_nofiles:0,backupnow_nocloud:0,backupnow_label:"UpdraftPlus Clone",extradata:"",onlythisfileentity:"plugins,themes,uploads,others",clone_id:t,secret_token:e,clone_url:a,key:r,backup_nonce:n,backup_timestamp:o};updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",d,function(t){jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").removeClass("visible"),jQuery("#updraft_backup_started").html(t.m),t.hasOwnProperty("nonce")&&(updraft_backupnow_nonce=t.nonce,updraft_clone_jobs.push(updraft_backupnow_nonce),updraft_inpage_success_callback=function(){jQuery("#updraft_clone_activejobsrow").hide(),updraft_aborted_jobs[updraft_backupnow_nonce]?jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_aborted):jQuery("#updraft_clone_progress").html(updraftlion.clone_backup_complete)},console.log("UpdraftPlus: ID of started job: "+updraft_backupnow_nonce)),updraft_activejobs_update(!0)})}function u(e,a){var r={clone_id:e,secret_token:a};setTimeout(function(){updraft_send_command("process_updraftplus_clone_poll",r,function(r){if(r.hasOwnProperty("status")){if("error"==r.status)return void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.error+" "+r.message).show();if("success"===r.status&&r.hasOwnProperty("data")&&r.data.hasOwnProperty("wordpress_credentials"))return t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").removeClass("visible"),void t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_clone_progress").append("<br>WordPress "+updraftlion.credentials+":<br>"+updraftlion.username+": "+r.data.wordpress_credentials.username+"<br>"+updraftlion.password+": "+r.data.wordpress_credentials.password)}else console.log(r);u(e,a)})},6e4)}function s(t){var e=Handlebars.compile(updraftlion.remote_storage_templates[t]),a=updraftlion.remote_storage_options[t]["default"];a.instance_id="s-"+i(32),a.instance_enabled=1;var r=e(a);jQuery(r).hide().insertAfter("."+t+"_add_instance_container:first").show("slow")}function i(t){for(var e="",a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r<t;r++)e+=a.charAt(Math.floor(Math.random()*a.length));return e}function p(t){var e=!!jQuery("#updraftcentral_mothership_other").is(":checked");e?(jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!1),t?jQuery("#updraftcentral_keycreate_mothership_firewalled_container").show():(jQuery(".updraftcentral_wizard_self_hosted_stage2").show(),jQuery("#updraftcentral_keycreate_mothership_firewalled_container").slideDown(),jQuery("#updraftcentral_keycreate_mothership").focus())):(jQuery("#updraftcentral_keycreate_mothership").prop("disabled",!0),t||(jQuery(".updraftcentral_wizard_self_hosted_stage2").hide(),l()))}function l(){jQuery("#updraftcentral_wizard_stage1_error").text("");var t="";if(jQuery("#updraftcentral_mothership_updraftpluscom").is(":checked"))jQuery(".updraftcentral_keycreate_description").hide(),t="updraftplus.com";else if(jQuery("#updraftcentral_mothership_other").is(":checked")){jQuery(".updraftcentral_keycreate_description").show();var e=jQuery("#updraftcentral_keycreate_mothership").val();if(""==e)return void jQuery("#updraftcentral_wizard_stage1_error").text(updraftlion.updraftcentral_wizard_empty_url);try{var a=new URL(e);t=a.hostname}catch(r){if("undefined"==typeof URL&&(t=jQuery("<a>").prop("href",e).prop("hostname")),!t||"undefined"!=typeof URL)return void jQuery("#updraftcentral_wizard_stage1_error").text(updraftlion.updraftcentral_wizard_invalid_url)}}jQuery("#updraftcentral_keycreate_description").val(t),jQuery(".updraftcentral_wizard_stage1").hide(),jQuery(".updraftcentral_wizard_stage2").show()}function _(e,a,r,n){jQuery("#updraft-delete-modal").dialog("close");var o=e,d=a,u=r,s=n,i=jQuery("#updraft_delete_timestamp").val().split(","),p="",l=jQuery("#updraft_delete_form").serializeArray(),c={};t.each(l,function(){void 0!==c[this.name]?(c[this.name].push||(c[this.name]=[c[this.name]]),c[this.name].push(this.value||"")):c[this.name]=this.value||""}),c.delete_remote?jQuery("#updraft-delete-waitwarning").find(".updraft-deleting-remote").show():jQuery("#updraft-delete-waitwarning").find(".updraft-deleting-remote").hide(),jQuery("#updraft-delete-waitwarning").slideDown().addClass("active"),c.remote_delete_limit=updraftlion.remote_delete_limit,delete c.action,delete c.subaction,delete c.nonce,updraft_send_command("deleteset",c,function(t){if(!t.hasOwnProperty("result")||null==t.result)return void jQuery("#updraft-delete-waitwarning").slideUp();if("error"==t.result)jQuery("#updraft-delete-waitwarning").slideUp(),alert(updraftlion.error+" "+t.message);else if("continue"==t.result){o=o+t.backup_local+t.backup_remote,d+=t.backup_local,u+=t.backup_remote,s+=t.backup_sets;for(var e=t.deleted_timestamps.split(","),a=0;a<e.length;a++){var r=e[a];jQuery("#updraft-navtab-backups-content .updraft_existing_backups_row_"+r).slideUp().remove()}jQuery("#updraft_delete_timestamp").val(t.timestamps),jQuery("#updraft-deleted-files-total").text(o+" "+updraftlion.remote_files_deleted),_(o,d,u,s)}else if("success"==t.result){setTimeout(function(){jQuery("#updraft-deleted-files-total").text(""),jQuery("#updraft-delete-waitwarning").slideUp()},500),update_backupnow_modal(t),t.hasOwnProperty("backupnow_file_entities")&&(impossible_increment_entities=t.backupnow_file_entities),t.hasOwnProperty("count_backups")&&jQuery("#updraft-existing-backups-heading").html(updraftlion.existing_backups+' <span class="updraft_existing_backups_count">'+t.count_backups+"</span>");for(var a=0;a<i.length;a++){var r=i[a];jQuery("#updraft-navtab-backups-content .updraft_existing_backups_row_"+r).slideUp().remove()}updraft_backups_selection.checkSelectionStatus(),updraft_history_lastchecksum=!1,d+=t.backup_local,u+=t.backup_remote,s+=t.backup_sets,""!=t.error_messages&&(p=updraftlion.delete_error_log_prompt),setTimeout(function(){alert(t.set_message+" "+s+"\n"+t.local_message+" "+d+"\n"+t.remote_message+" "+u+"\n\n"+t.error_messages+"\n"+p)},900)}})}function c(t,e){jQuery("#updraft-navtab-settings-content #updraft_include_"+t).is(":checked")?e?jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude_container").show():jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude_container").slideDown():e?jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude").hide():jQuery("#updraft-navtab-settings-content #updraft_include_"+t+"_exclude_container").slideUp()}function f(){var t=new plupload.Uploader(updraft_plupload_config);t.bind("Init",function(t){var e=jQuery("#plupload-upload-ui");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area").bind("dragover.wp-uploader",function(){e.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area").unbind(".wp-uploader"))}),t.init(),t.bind("FilesAdded",function(e,a){plupload.each(a,function(e){if(!/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+([0-9]+?)?(\.(zip|gz|gz\.crypt))?$/i.test(e.name)&&!/^log\.([0-9a-f]{12})\.txt$/.test(e.name)){for(var a=!1,r=0;r<updraft_accept_archivename.length;r++)if(updraft_accept_archivename[r].test(e.name))var a=!0;if(!a)return/\.(zip|tar|tar\.gz|tar\.bz2)$/i.test(e.name)||/\.sql(\.gz)?$/i.test(e.name)?(jQuery("#updraft-message-modal-innards").html("<p><strong>"+e.name+"</strong></p> "+updraftlion.notarchive2),jQuery("#updraft-message-modal").dialog("open")):alert(e.name+": "+updraftlion.notarchive),void t.removeFile(e)}jQuery("#filelist").append('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(0)+"</span>/"+plupload.formatSize(e.size)+') <div class="fileprogress"></div></div>')}),e.refresh(),e.start()}),t.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100))),e.size==e.loaded&&(jQuery("#"+e.id).html('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(parseInt(e.size*e.percent/100))+"</span>/"+plupload.formatSize(e.size)+") - "+updraftlion.complete+"</div>"),jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"))}),t.bind("Error",function(t,e){console.log(e);var a;a="-200"==e.code?"\n"+updraftlion.makesure2:updraftlion.makesure;var r=updraftlion.uploaderr+" (code "+e.code+") : "+e.message;e.hasOwnProperty("status")&&e.status&&(r+=" ("+updraftlion.http_code+" "+e.status+")"),e.hasOwnProperty("response")&&(console.log("UpdraftPlus: plupload error: "+e.response),e.response.length<100&&(r+=" "+updraftlion.error+" "+e.response+"\n")),r+=" "+a,alert(r)}),t.bind("FileUploaded",function(t,e,a){if("200"==a.status)try{resp=ud_parse_json(a.response),resp.e?alert(updraftlion.uploaderror+" "+resp.e):resp.dm?(alert(resp.dm),updraft_updatehistory(1,0)):resp.m?updraft_updatehistory(1,0):alert("Unknown server response: "+a.response)}catch(r){console.log(a),alert(updraftlion.jsonnotunderstood)}else alert("Unknown server response status: "+a.code),console.log(a)})}function m(t){params={uri:jQuery("#updraftplus_httpget_uri").val()},params.curl=t,updraft_send_command("httpget",params,function(t){t.e&&alert(t.e),t.r?jQuery("#updraftplus_httpget_results").html("<pre>"+t.r+"</pre>"):console.log(t)},{type:"GET"})}function g(t,e,a){updraft_restore_setoptions(t),jQuery("#updraft_restore_timestamp").val(e),jQuery(".updraft_restore_date").html(a),updraft_restore_stage=1,Q.open(),updraft_activejobs_update(!0)}function h(t){t=t.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var e="[\\?&]"+t+"=([^&#]*)",a=new RegExp(e),r=a.exec(window.location.href);
|
3 |
+
return null==r?"":decodeURIComponent(r[1].replace(/\+/g," "))}function b(e,a,r){jQuery("#updraft_upload_timestamp").val(e),jQuery("#updraft_upload_nonce").val(a);var n=r.split(",");jQuery(".updraft_remote_storage_destination").each(function(e){var a=jQuery(this).val();if(jQuery.inArray(a,n)==-1){jQuery(this).prop("checked",!1),jQuery(this).prop("disabled",!0);var r=t(this).prop("labels");jQuery(r).append(" "+updraftlion.already_uploaded)}}),jQuery("#updraft-upload-modal").dialog("open")}if(t(document).on("udp/checkout/done",function(e,a){a.hasOwnProperty("product")&&"updraftpremium"===a.product&&"complete"===a.status&&(t(".premium-upgrade-purchase-success").show(),t(".updraft_feat_table").closest("section").hide(),t(".updraft_premium_cta__action").hide())}),t(".expertmode .advanced_settings_container .advanced_tools_button").click(function(){e(t(this).attr("id"))}),jQuery.ui&&jQuery.ui.dialog&&jQuery.ui.dialog.prototype._allowInteraction){var y=jQuery.ui.dialog.prototype._allowInteraction;jQuery.ui.dialog.prototype._allowInteraction=function(t){return!!jQuery(t.target).closest(".select2-dropdown").length||y.apply(this,arguments)}}t("#updraftcentral_keys").on("click","a.updraftcentral_keys_show",function(e){e.preventDefault(),t(this).remove(),t("#updraftcentral_keys_table").slideDown()}),t("#updraftcentral_keycreate_altmethod_moreinfo_get").click(function(e){e.preventDefault(),t(this).remove(),t("#updraftcentral_keycreate_altmethod_moreinfo").slideDown()}),t("#updraft-navtab-settings-content #remote-storage-holder").on("change keyup paste",".updraft_webdav_settings",function(){var e=[];t(".updraft_webdav_settings").each(function(a,r){var n=t(r).attr("id");if(n&&"updraft_webdav_"==n.substring(0,15)){var o=n.substring(15);id_split=o.split("_"),o=id_split[0];var d=id_split[1];"undefined"==typeof e[d]&&(e[d]=[]),e[d][o]=this.value}});var a="",r="@",n="/",o=":",d=":";for(var u in e)(e[u].host.indexOf("@")>=0||""===e[u].host)&&(r=""),e[u].host.indexOf("/")>=0?t("#updraft_webdav_host_error").show():t("#updraft_webdav_host_error").hide(),0!=e[u].path.indexOf("/")&&""!==e[u].path||(n=""),""!==e[u].user&&""!==e[u].pass||(o=""),""!==e[u].host&&""!==e[u].port||(d=""),a=e[u].webdav+e[u].user+o+e[u].pass+r+encodeURIComponent(e[u].host)+d+e[u].port+n+e[u].path,masked_webdav_url=e[u].webdav+e[u].user+o+e[u].pass.replace(/./gi,"*")+r+encodeURIComponent(e[u].host)+d+e[u].port+n+e[u].path,t("#updraft_webdav_url_"+u).val(a),t("#updraft_webdav_masked_url_"+u).val(masked_webdav_url)}),t("#updraft-navtab-backups-content").on("click",".js--delete-selected-backups",function(t){t.preventDefault(),updraft_deleteallselected()}),t("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .backup-select input",function(e){updraft_backups_selection.toggle(t(this).closest(".updraft_existing_backups_row"))}),t("#updraft-navtab-backups-content").on("click","#cb-select-all",function(e){t(this).is(":checked")?updraft_backups_selection.selectAll():updraft_backups_selection.deselectAll()}),t("#updraft-navtab-backups-content").on("click",".js--select-all-backups",function(t){updraft_backups_selection.selectAll()}),t("#updraft-navtab-backups-content").on("click",".js--deselect-all-backups",function(t){updraft_backups_selection.deselectAll()}),t("#updraft-navtab-backups-content").on("click",".updraft_existing_backups .updraft_existing_backups_row",function(e){(e.ctrlKey||e.metaKey)&&(e.shiftKey?("undefined"==typeof updraft_backups_selection.firstMultipleSelectionIndex?(t(document).on("keyup.MultipleSelection",function(e){updraft_backups_selection.unregister_highlight_mode(),t(document).off(".MultipleSelection")}),updraft_backups_selection.select(this),t(this).addClass("range-selection-start"),updraft_backups_selection.register_highlight_mode()):(updraft_backups_selection.selectAllInBetween(this),jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").removeClass("range-selection")),updraft_backups_selection.firstMultipleSelectionIndex=this.rowIndex-1):updraft_backups_selection.toggle(this))}),updraft_backups_selection.checkSelectionStatus(),t("#updraft-navtab-addons-content .wrap").on("click",".updraftplus_com_login .ud_connectsubmit",function(e){e.preventDefault();var a=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),r=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),n=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,o=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0,d={email:a,password:r,auto_update:n,auto_udc_connect:o};v.submit(d)}),t("#updraft-navtab-addons-content .wrap").on("keydown",".updraftplus_com_login input",function(e){if(13==e.which){e.preventDefault();var a=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_email").val(),r=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_password").val(),n=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_updates").is(":checked")?1:0,o=t("#updraft-navtab-addons-content .wrap .updraftplus_com_login #updraftplus-addons_options_auto_udc_connect").is(":checked")?1:0,d={email:a,password:r,auto_update:n,auto_udc_connect:o};v.submit(d)}}),t("#updraft-navtab-migrate-content").on("click",".updraftclone_show_step_1",function(e){t(".updraftplus-clone").addClass("opened"),t(".updraftclone_show_step_1").hide(),t(".updraft_migrate_widget_temporary_clone_stage1").show(),t(".updraft_migrate_widget_temporary_clone_stage0").hide()}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_temporary_clone_show_stage0",function(e){e.preventDefault(),t(".updraft_migrate_widget_temporary_clone_stage0").toggle()}),setup_migrate_tabs(),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .close",function(e){t(".updraft_migrate_intro").show(),t(this).closest(".updraft_migrate_widget_module_content").hide()}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_add_site--trigger",function(e){e.preventDefault(),t(".updraft_migrate_add_site").toggle()}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_login .ud_connectsubmit",function(e){e.preventDefault();var r=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),o=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),d=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0,u={form_data:{email:r,password:n,two_factor_code:o,consent:d}};r&&n?a(u):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.username_password_required).show()}),t("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_login input",function(e){if(13==e.which){e.preventDefault();var r=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_email").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_password").val(),o=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login #temporary_clone_options_two_factor_code").val(),d=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login .temporary_clone_terms_and_conditions").is(":checked")?1:0,u={form_data:{email:r,password:n,two_factor_code:o,consent:d}};r&&n?a(u):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_login_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.username_password_required).show()}}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content .updraftplus_com_key .ud_key_connectsubmit",function(e){e.preventDefault();var a=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0,o={form_data:{clone_key:a,consent:n}};a?r(o):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.clone_key_required).show()}),t("#updraft-navtab-migrate-content").on("keydown",".updraft_migrate_widget_module_content .updraftplus_com_key input",function(e){if(13==e.which){e.preventDefault();var a=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key #temporary_clone_options_key").val(),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key .temporary_clone_terms_and_conditions").is(":checked")?1:0,o={form_data:{clone_key:a,consent:n}};a?r(o):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_com_key_status").html("<b>"+updraftlion.error+"</b> "+updraftlion.clone_key_required).show()}}),t("#updraft-navtab-migrate-content").on("change",".updraft_migrate_widget_module_content #updraftplus_clone_php_options",function(){var e=t(this).data("php_version"),a=t(this).val();a<e?t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.clone_version_warning):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html("")}),t("#updraft-navtab-migrate-content").on("change",".updraft_migrate_widget_module_content #updraftplus_clone_wp_options",function(){var e=t(this).data("wp_version"),a=t(this).val();a<e?t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(updraftlion.clone_version_warning):t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html("")}),t("#updraft-navtab-migrate-content").on("change",".updraft_migrate_widget_module_content #updraftplus_clone_backup_options",function(){t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option").each(function(){var e=t(this).val();"starter"==e&&t('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+e+'"]').prop("selected",!0),t('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+e+'"]').prop("disabled",!1)});var e=t(this).find("option:selected");if("current"!=t(e).data("nonce")&&"wp_only"!=t(e).data("nonce")){var a=t(e).data("size");t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options > option").each(function(){var e=t(this).data("size"),r=t(this).val();return a>=e?void t('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+r+'"]').prop("disabled",!0):(t('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options option[value="'+r+'"]').prop("selected",!0),!1)})}}),t("#updraft-navtab-migrate-content").on("click",".updraft_migrate_widget_module_content #updraft_migrate_createclone",function(e){e.preventDefault(),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone").prop("disabled",!0),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_clone_status").html(""),t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraftplus_spinner.spinner").addClass("visible");var a=t(this).data("clone_id"),r=t(this).data("secret_token"),n=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_php_options").val(),d=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_wp_options").val(),u=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_region_options").val(),s=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_package_options").val(),i=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftclone_branch").val(),p=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftplus_branch").val(),l=t(".updraftplus_clone_admin_login_options").is(":checked"),_="current",c="current",f=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").length,m=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").find("option:selected");0!==f&&"undefined"!=typeof m&&(_=m.data("nonce"),c=m.data("timestamp"));var g={form_data:{clone_id:a,secret_token:r,install_info:{php_version:n,wp_version:d,region:u,"package":s,admin_only:l,updraftclone_branch:"undefined"==typeof i?"":i,updraftplus_branch:"undefined"==typeof p?"":p}}};"wp_only"===_&&(g.form_data.install_info.wp_only=1),o(g,c,_)});var v={};v.set_status=function(e){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").text(e)},v.show_loader=function(){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").addClass("visible"),t("#updraft-navtab-addons-content .wrap").find(".ud_connectsubmit").prop("disabled","disabled")},v.hide_loader=function(){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").removeClass("visible").text(updraftlion.processing),t("#updraft-navtab-addons-content .wrap").find(".ud_connectsubmit").removeProp("disabled")},v.submit=function(e){if(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html("").hide(),this.stage)switch(this.stage){case"connect_udc":case"connect_udc_TFA":var a=t("#updraftplus-addons_options_email").val(),r=t("#updraftplus-addons_options_password").val();this.login_data.email=a,this.login_data.password=r,this.connect_udc();break;case"create_key":this.create_key();break;default:this.stage=null,v.submit()}else this.set_status(updraftlion.connecting),this.show_loader(),updraft_send_command("updraftplus_com_login_submit",{data:e},function(a){a.hasOwnProperty("success")?t("#updraftplus-addons_options_auto_udc_connect").is(":checked")?(this.login_data={email:e.email,password:e.password,i_consent:1,two_factor_code:""},v.create_key()):(v.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login").submit()):a.hasOwnProperty("error")&&(v.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(a.message).show())}.bind(this))},v.create_key=function(){this.stage="create_key",this.set_status(updraftlion.udc_cloud_connected),this.show_loader();var e={where_send:"__updraftpluscom",key_description:"",key_size:null,mothership_firewalled:0};updraft_send_command("updraftcentral_create_key",e,function(e){try{var a=ud_parse_json(e);if(a.hasOwnProperty("error"))return void console.log(a);a.hasOwnProperty("bundle")?(console.log("bundle",a.bundle),this.login_data.key=a.bundle,this.stage="connect_udc",v.connect_udc()):(a.hasOwnProperty("r")?(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.trouble_connecting).show(),alert(a.r)):(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.trouble_connecting).show(),console.log(a)),v.hide_loader())}catch(r){console.log(r),v.hide_loader()}}.bind(this),{json_parse:!1})},v.connect_udc=function(){var e=t("#updraft-navtab-addons-content .wrap");v.set_status(updraftlion.udc_cloud_key_created),v.show_loader(),"connect_udc_TFA"==this.stage&&(this.login_data.two_factor_code=e.find("input#updraftplus-addons_options_two_factor_code").val(),v.set_status(updraftlion.checking_tfa_code));var a={form_data:this.login_data};a.form_data.addons_options_connect=1,updraft_send_command("process_updraftcentral_login",a,function(a){try{var r=ud_parse_json(a);if(r.hasOwnProperty("error")){if("incorrect_password"===r.code&&(e.find(".tfa_fields").hide(),e.find(".non_tfa_fields").show(),e.find("input#updraftplus-addons_options_two_factor_code").val(""),e.find("input#updraftplus-addons_options_password").val("").focus()),"no_key_found"===r.code&&(this.stage="create_key"),"no_licences_available"!==r.code)return t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(r.message).show(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").find("a").attr("target","_blank"),console.log(r),void v.hide_loader();t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.login_udc_no_licences_short).show(),r.status="authenticated",e.find('input[name="_wp_http_referer"]').val(function(t,e){return e+"&udc_connect=0"})}r.hasOwnProperty("tfa_enabled")&&1==r.tfa_enabled&&(t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html("").hide(),e.find(".non_tfa_fields").hide(),e.find(".tfa_fields").show(),e.find("input#updraftplus-addons_options_two_factor_code").focus(),this.stage="connect_udc_TFA"),"authenticated"===r.status&&(e.find(".non_tfa_fields").hide(),e.find(".tfa_fields").hide(),e.find(".updraft-after-form-table").hide(),this.stage=null,t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(updraftlion.login_successful_short).show().addClass("success"),setTimeout(function(){t("#updraft-navtab-addons-content .wrap form.updraftplus_com_login").submit()},1e3))}catch(n){console.log(n)}v.hide_loader()}.bind(this),{json_parse:!1})},t("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod a.updraft_add_instance",function(e){e.preventDefault(),updraft_settings_form_changed=!0;var a=t(this).data("method");s(a)}),t("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod a.updraft_delete_instance",function(e){e.preventDefault(),updraft_settings_form_changed=!0;var a=t(this).data("method"),r=t(this).data("instance_id");1===t("."+a+"_updraft_remote_storage_border").length&&s(a),t("."+a+"-"+r).hide("slow",function(){t(this).remove()})}),t("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod .updraft_edit_label_instance",function(e){t(this).find("span").hide(),t(this).attr("contentEditable",!0).focus()}),t("#updraft-navtab-settings-content #remote-storage-holder").on("keyup",".updraftplusmethod .updraft_edit_label_instance",function(e){var a=jQuery(this).data("method"),r=jQuery(this).data("instance_id"),n=jQuery(this).text();t("#updraft_"+a+"_instance_label_"+r).val(n)}),t("#updraft-navtab-settings-content #remote-storage-holder").on("blur",".updraftplusmethod .updraft_edit_label_instance",function(e){t(this).attr("contentEditable",!1),t(this).find("span").show()}),t("#updraft-navtab-settings-content #remote-storage-holder").on("keypress",".updraftplusmethod .updraft_edit_label_instance",function(e){13===e.which&&(t(this).attr("contentEditable",!1),t(this).find("span").show(),t(this).blur())}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("change","input[class='updraft_instance_toggle']",function(){updraft_settings_form_changed=!0,jQuery(this).is(":checked")?jQuery(this).siblings("label").html(updraftlion.instance_enabled):jQuery(this).siblings("label").html(updraftlion.instance_disabled)}),jQuery("#updraft-navtab-settings-content #remote-storage-holder").on("click",".updraftplusmethod button.updraft-test-button",function(){var e=jQuery(this).data("method"),a=jQuery(this).data("instance_id");updraft_remote_storage_test(e,function(r,n,o){return"sftp"==e&&(o.hasOwnProperty("scp")&&o.scp?alert(updraftlion.settings_test_result.replace("%s","SCP")+" "+r.output):alert(updraftlion.settings_test_result.replace("%s","SFTP")+" "+r.output),r.hasOwnProperty("data")&&r.data&&r.data.hasOwnProperty("valid_md5_fingerprint")&&r.data.valid_md5_fingerprint&&t("#updraft_sftp_fingerprint_"+a).val(r.data.valid_md5_fingerprint),!0)},a)}),t("#updraft-navtab-settings-content select.updraft_interval, #updraft-navtab-settings-content select.updraft_interval_database").change(function(){updraft_check_same_times()}),t("#backupnow_includefiles_showmoreoptions").click(function(e){e.preventDefault(),t("#backupnow_includefiles_moreoptions").toggle()}),t("#backupnow_database_showmoreoptions").click(function(e){e.preventDefault(),t("#backupnow_database_moreoptions").toggle()}),t("#updraft-navtab-backups-content").on("click","a.updraft_diskspaceused_update",function(t){t.preventDefault(),updraftplus_diskspace()}),t(".advanced_settings_content a.updraft_diskspaceused_update").click(function(t){t.preventDefault(),jQuery(".advanced_settings_content .updraft_diskspaceused").html("<em>"+updraftlion.calculating+"</em>"),updraft_send_command("get_fragment",{fragment:"disk_usage",data:"updraft"},function(t){jQuery(".advanced_settings_content .updraft_diskspaceused").html(t.output)},{type:"GET"})}),t("#updraft-navtab-backups-content a.updraft_uploader_toggle").click(function(e){e.preventDefault(),t("#updraft-plupload-modal").slideToggle()}),t("#updraft-navtab-backups-content a.updraft_rescan_local").click(function(t){t.preventDefault(),updraft_updatehistory(1,0)}),t("#updraft-navtab-backups-content a.updraft_rescan_remote").click(function(t){t.preventDefault(),updraft_updatehistory(1,1)}),t("#updraftplus-remote-rescan-debug").click(function(t){t.preventDefault(),updraft_updatehistory(1,1,1)}),jQuery("#updraftcentral_keys").on("click",'input[type="radio"]',function(){p(!1)}),p(!0),jQuery("#updraftcentral_keys").on("click","#updraftcentral_view_log",function(t){t.preventDefault(),jQuery("#updraftcentral_view_log_container").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.fetching+"</div>"});try{updraft_send_command("updraftcentral_get_log",null,function(t){jQuery("#updraftcentral_view_log_container").unblock(),t.hasOwnProperty("log_contents")?jQuery("#updraftcentral_view_log_contents").html('<div style="border:1px solid;padding: 2px;max-height: 400px; overflow-y:scroll;">'+t.log_contents+"</div>"):console.response(resp)},{error_callback:function(t,e,a,r){if(jQuery("#updraftcentral_view_log_container").unblock(),"undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}})}catch(e){jQuery("#updraft_central_key").html(),console.log(e)}}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_wizard_go",function(t){jQuery("#updraftcentral_wizard_go").hide(),jQuery(".updraftcentral_wizard_success").remove(),jQuery(".create_key_container").show()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_stage1_go",function(t){t.preventDefault(),jQuery(".updraftcentral_wizard_stage2").hide(),jQuery(".updraftcentral_wizard_stage1").show()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_stage2_go",function(t){t.preventDefault(),l()}),jQuery("#updraftcentral_keys").on("click","#updraftcentral_keycreate_go",function(t){t.preventDefault();var e=!!jQuery("#updraftcentral_mothership_other").is(":checked"),a=jQuery("#updraftcentral_keycreate_description").val(),r=jQuery("#updraftcentral_keycreate_keysize").val(),n="__updraftpluscom";if(data={key_description:a,key_size:r},e&&(n=jQuery("#updraftcentral_keycreate_mothership").val(),"http"!=n.substring(0,4)))return void alert(updraftlion.enter_mothership_url);data.mothership_firewalled=jQuery("#updraftcentral_keycreate_mothership_firewalled").is(":checked")?1:0,data.where_send=n,jQuery(".create_key_container").hide(),jQuery(".updraftcentral_wizard_stage1").show(),jQuery(".updraftcentral_wizard_stage2").hide(),jQuery("#updraftcentral_keys").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.creating_please_allow+"</div>"});try{updraft_send_command("updraftcentral_create_key",data,function(t){jQuery("#updraftcentral_keys").unblock();try{if(t.hasOwnProperty("error"))return alert(t.error),void console.log(t);alert(t.r),t.hasOwnProperty("bundle")&&t.hasOwnProperty("keys_guide")?(jQuery("#updraftcentral_keys_content").html(t.keys_guide),jQuery("#updraftcentral_keys_content").append('<div class="updraftcentral_wizard_success">'+t.r+'<br><textarea onclick="this.select();" style="width:620px; height:165px; word-wrap:break-word; border: 1px solid #aaa; border-radius: 3px; padding:4px;">'+t.bundle+"</textarea></div>")):console.log(t),t.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").append(t.keys_table),jQuery("#updraftcentral_wizard_go").show()}catch(e){alert(updraftlion.unexpectedresponse+" "+response),console.log(e)}},{error_callback:function(t,e,a,r){if(jQuery("#updraftcentral_keys").unblock(),"undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}})}catch(o){jQuery("#updraft_central_key").html(),console.log(o)}}),jQuery("#updraftcentral_keys").on("click",".updraftcentral_key_delete",function(t){t.preventDefault();var e=jQuery(this).data("key_id");return"undefined"==typeof e?void console.log("UpdraftPlus: .updraftcentral_key_delete clicked, but no key ID found"):(jQuery("#updraftcentral_keys").block({message:'<div style="margin: 8px; font-size:150%;"><img src="'+updraftlion.ud_url+'/images/udlogo-rotating.gif" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.deleting+"</div>"}),void updraft_send_command("updraftcentral_delete_key",{key_id:e},function(t){jQuery("#updraftcentral_keys").unblock(),t.hasOwnProperty("keys_table")&&jQuery("#updraftcentral_keys_content").html(t.keys_table)},{error_callback:function(t,e,a,r){if(jQuery("#updraftcentral_keys").unblock(),"undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";console.log(n),alert(n),console.log(t)}}}))}),jQuery("#updraft_reset_sid").click(function(t){t.preventDefault(),updraft_send_command("reset_site_id",null,function(t){jQuery("#updraft_show_sid").html(t)},{json_parse:!1})}),jQuery("#updraft-navtab-settings-content form input:not('.udignorechange'), #updraft-navtab-settings-content form select").change(function(t){updraft_settings_form_changed=!0}),jQuery("#updraft-navtab-settings-content form input[type='submit']").click(function(t){updraft_settings_form_changed=!1});var w=180;jQuery(".updraft-bigbutton").each(function(t,e){var a=jQuery(e).width();a>w&&(w=a)}),w>180&&jQuery(".updraft-bigbutton").width(w),jQuery("#updraft-navtab-backups-content").length&&setInterval(function(){updraft_activejobs_update(!1)},1250),setTimeout(function(){jQuery("#setting-error-settings_updated").slideUp()},5e3),jQuery("#updraft_restore_db").change(function(){jQuery("#updraft_restore_db").is(":checked")&&1==jQuery(this).data("encrypted")?jQuery("#updraft_restorer_dboptions").slideDown():jQuery("#updraft_restorer_dboptions").slideUp()}),updraft_check_same_times();var k={};k[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-message-modal").dialog({autoOpen:!1,height:350,width:520,modal:!0,buttons:k});var j={};j[updraftlion.deletebutton]=function(){_(0,0,0,0)},j[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-delete-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:j});var Q={initialized:!1,init:function(){this.initialized||(this.initialized=!0,t(".updraft-restore--cancel").on("click",function(t){t.preventDefault(),this.close()}.bind(this)),this.default_next_text=t(".updraft-restore--next-step").eq(0).text(),t(".updraft-restore--next-step").on("click",function(t){t.preventDefault(),this.process_next_action()}.bind(this)))},close:function(){t(".updraft_restore_container").hide(),t("body").removeClass("updraft-modal-is-opened")},open:function(){this.init(),t("#updraft-restore-modal-stage1").show(),t("#updraft-restore-modal-stage2").hide(),t("#updraft-restore-modal-stage2a").html(""),t(".updraft-restore--next-step").text(this.default_next_text),t(".updraft-restore--stages li").removeClass("active").first().addClass("active"),t(".updraft_restore_container").show(),t("body").addClass("updraft-modal-is-opened")},process_next_action:function(){var e=0,a=0,r=0,n=[],o=0,d=t("#updraft_restore_meta_foreign").val();if(t('input[name="updraft_restore[]"]').each(function(u,s){if(t(s).is(":checked")&&!t(s).is(":disabled")){e=1;var i=t(s).data("howmany"),p=t(s).val();if("more"==p&&(a=1),"db"==p&&(r=1),(1==d||2==d&&"db"!=p)&&("wpcore"!=p&&(i=t("#updraft_restore_form #updraft_restore_wpcore").data("howmany")),p="wpcore"),"wpcore"!=p||0==o){var l=[p,i];n.push(l),"wpcore"==p&&(o=1)}}}),1==e){if(1==updraft_restore_stage){t(".updraft-restore--stages li").removeClass("active").eq(1).addClass("active"),t("#updraft-restore-modal-stage1").slideUp("slow"),t("#updraft-restore-modal-stage2").show(),updraft_restore_stage=2;var u=t(".updraft_restore_date").first().text(),s=n,i=t("#updraft_restore_timestamp").val();try{t(".updraft-restore--next-step").prop("disabled",!0),t("#updraft-restore-modal-stage2a").html('<span class="dashicons dashicons-update rotate"></span> '+updraftlion.maybe_downloading_entities),updraft_send_command("whichdownloadsneeded",{downloads:n,timestamp:i},function(e){if(t(".updraft-restore--next-step").prop("disabled",!1),e.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),s=e.downloads,console.log(s)),0==s.length)updraft_restorer_checkstage2(0);else for(var a=0;a<s.length;a++)updraft_downloader("udrestoredlstatus_",i,s[a][0],"#ud_downloadstatus2",s[a][1],u,!1)},{alert_on_error:!1,error_callback:function(e,a,r,n){if("undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),t("#updraft-restore-modal-stage2a").html('<p style="color:red;">'+n.fatal_error_message+"</p>");else{var o="updraft_send_command: error: "+a+" ("+r+")";t("#updraft-restore-modal-stage2a").html('<p style="color:red; margin: 5px;">'+o+"</p>"),console.log(o),console.log(e)}}})}catch(p){console.log("UpdraftPlus: error (follows) when looking for items needing downloading"),console.log(p),alert(updraftlion.jsonnotunderstood)}}else if(2==updraft_restore_stage)updraft_restorer_checkstage2(1);else if(3==updraft_restore_stage){var l=1;if(jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!0),t("#updraft_restoreoptions_ui input.required").each(function(e){if(0!=l){var a=t(this).val();if(""==a)alert(updraftlion.pleasefillinrequired),l=0;else if(""!=t(this).attr("pattern")){var r=t(this).attr("pattern"),n=new RegExp(r,"g");n.test(a)||(alert(t(this).data("invalidpattern")),l=0)}}}),1==r&&(e=0,jQuery('input[name="updraft_restore_table_options[]"').each(function(t,a){
|
4 |
+
jQuery(a).is(":checked")&&!jQuery(a).is(":disabled")&&(e=1)}),0==e))return alert(updraftlion.youdidnotselectany),void jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);if(1==a&&(e=0,jQuery('input[name="updraft_include_more_index[]"').each(function(t,a){jQuery(a).is(":checked")&&!jQuery(a).is(":disabled")&&(e=1,""==jQuery("#updraft_include_more_path_restore"+t).val()&&alert(updraftlion.emptyrestorepath))}),0==e))return alert(updraftlion.youdidnotselectany),void jQuery(".updraft-restore--next-step, .updraft-restore--cancel").prop("disabled",!1);if(!l)return;var _=t("#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input").serialize();console.log("Restore options: "+_),t("#updraft_restorer_restore_options").val(_),t("#updraft-restore-modal-stage2a").html(updraftlion.restore_proceeding),t("#updraft_restore_form").submit(),updraft_restore_stage=4}}else alert(updraftlion.youdidnotselectany)}};jQuery("#updraft-iframe-modal").dialog({autoOpen:!1,height:500,width:780,modal:!0}),jQuery("#updraft-backupnow-inpage-modal").dialog({autoOpen:!1,height:380,width:580,modal:!0});var x={};x[updraftlion.backupnow]=function(){var t=jQuery("#backupnow_includedb").is(":checked")?0:1,e=jQuery("#backupnow_includefiles").is(":checked")?0:1,a=jQuery("#backupnow_includecloud").is(":checked")?0:1,r=backupnow_whichtables_checked(""),n=jQuery("#always_keep").is(":checked")?1:0,o="incremental"==jQuery("#updraft-backupnow-modal").data("backup-type")?1:0;if(""==r&&0==t)return alert(updraftlion.notableschosen),void jQuery("#backupnow_includefiles_moreoptions").show();"boolean"==typeof r&&(r=null);var d=backupnow_whichfiles_checked("");return""==d&&0==e?(alert(updraftlion.nofileschosen),void jQuery("#backupnow_includefiles_moreoptions").show()):t&&e?void alert(updraftlion.excludedeverything):(jQuery(this).dialog("close"),setTimeout(function(){jQuery("#updraft_lastlogmessagerow").fadeOut("slow",function(){jQuery(this).fadeIn("slow")})},1700),void updraft_backupnow_go(t,e,a,d,{always_keep:n,incremental:o},jQuery("#backupnow_label").val(),r))},x[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-backupnow-modal").dialog({autoOpen:!1,height:472,width:610,modal:!0,buttons:x,create:function(){t(this).closest(".ui-dialog").find(".ui-dialog-buttonpane .ui-button:first").addClass("js-tour-backup-now-button")}}),jQuery("#updraft-poplog").dialog({autoOpen:!1,height:600,width:"75%",modal:!0}),jQuery("#updraft-navtab-settings-content .enableexpertmode").click(function(){return jQuery("#updraft-navtab-settings-content .expertmode").fadeIn(),jQuery("#updraft-navtab-settings-content .enableexpertmode").off("click"),!1}),jQuery("#updraft-navtab-settings-content .backupdirrow").on("click","a.updraft_backup_dir_reset",function(){return jQuery("#updraft_dir").val("updraft"),!1}),jQuery("#updraft-navtab-settings-content .updraft_include_entity").click(function(){var t=jQuery(this).data("toggle_exclude_field");t&&c(t,!1)}),jQuery(".updraft_exclude_entity_container").on("click",".updraft_exclude_entity_delete",function(t){if(t.preventDefault(),confirm(updraftlion.exclude_rule_remove_conformation_msg)){var e=jQuery(this).data("include-backup-file");jQuery.when(jQuery(this).closest(".updraft_exclude_entity_wrapper").remove()).then(updraft_exclude_entity_update(e))}}),jQuery(".updraft_exclude_entity_container").on("click",".updraft_exclude_entity_edit",function(t){t.preventDefault();var e=jQuery(this).hide().closest(".updraft_exclude_entity_wrapper"),a=e.find("input");a.removeProp("readonly").focus();var r=a.val();a.val(""),a.val(r),e.find(".updraft_exclude_entity_update").addClass("is-active").show()}),jQuery(".updraft_exclude_entity_container").on("click",".updraft_exclude_entity_update",function(t){t.preventDefault();var e=jQuery(this).closest(".updraft_exclude_entity_wrapper"),a=jQuery(this).data("include-backup-file"),r=jQuery.trim(e.find("input").val()),n=!1;r==e.find("input").data("val")?n=!0:updraft_is_unique_exclude_rule(r,a)&&(n=!0),n&&(jQuery(this).hide().removeClass("is-active"),jQuery.when(e.find("input").prop("readonly","readonly").data("val",r)).then(function(){e.find(".updraft_exclude_entity_edit").show(),updraft_exclude_entity_update(a)}))}),jQuery("#updraft_exclude_modal").dialog({autoOpen:!1,modal:!0,width:520,height:"auto",open:function(e,a){t(this).parent().focus()}}),jQuery(".updraft_exclude_container .updraft_add_exclude_item").click(function(t){t.preventDefault();var e=jQuery(this).data("include-backup-file");jQuery("#updraft_exclude_modal_for").val(e),jQuery("#updraft_exclude_modal_path").val(jQuery(this).data("path")),"uploads"==e&&jQuery("#updraft-exclude-file-dir-prefix").html(jQuery("#updraft-exclude-upload-base-dir").val()),jQuery(".updraft-exclude-modal-reset").trigger("click"),jQuery("#updraft_exclude_modal").dialog("open")}),jQuery(".updraft-exclude-link").click(function(t){t.preventDefault();var e=jQuery(this).data("panel");"file-dir"==e&&jQuery("#updraft_exclude_files_folders_jstree").jstree({core:{multiple:!1,data:function(t,e){updraft_send_command("get_jstree_directory_nodes",{entity:"filebrowser",node:t,path:jQuery("#updraft_exclude_modal_path").val(),findex:0,skip_root_node:!0},function(t){t.hasOwnProperty("error")?alert(t.error):e.call(this,t.nodes)},{error_callback:function(t,e,a,r){if("undefined"!=typeof r&&r.hasOwnProperty("fatal_error"))console.error(r.fatal_error_message),jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+r.fatal_error_message+"</p>"),alert(r.fatal_error_message);else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft_zip_files_jstree").html('<p style="color:red; margin: 5px;">'+n+"</p>"),console.log(n),alert(n),console.log(t)}}})},error:function(t){alert(t),console.log(t)}},search:{show_only_matches:!0},plugins:["sort"]}),jQuery("#updraft_exclude_modal_main").slideUp(),jQuery(".updraft-exclude-panel").hide(),jQuery(".updraft-exclude-panel[data-panel="+e+"]").slideDown()}),jQuery(".updraft-exclude-modal-reset").click(function(t){t.preventDefault(),jQuery("#updraft_exclude_files_folders_jstree").jstree("destroy"),jQuery("#updraft_exclude_extension_field").val(""),jQuery("#updraft_exclude_prefix_field").val(""),jQuery(".updraft-exclude-panel").slideUp(),jQuery("#updraft_exclude_modal_main").slideDown()}),jQuery(".updraft-exclude-submit").click(function(){var t=jQuery(this).data("panel"),e="";switch(t){case"file-dir":var a=jQuery("#updraft_exclude_files_folders_jstree").jstree("get_selected");if(0==a.length)return void alert(updraftlion.exclude_select_file_or_folder_msg);var r=a[0],n=jQuery("#updraft_exclude_modal_path").val();r.substr(0,n.length)==n&&(r=r.substr(n.length,r.length)),"/"==r.charAt(0)&&(r=r.substr(1)),"/"==r.charAt(r.length-1)&&(r=r.substr(0,r.length-1)),e=r;break;case"extension":var o=jQuery("#updraft_exclude_extension_field").val();if(""==o)return void alert(updraftlion.exclude_type_ext_msg);if(!o.match(/^[0-9a-zA-Z]+$/))return void alert(updraftlion.exclude_ext_error_msg);e="ext:"+o;break;case"begin-with":var d=jQuery("#updraft_exclude_prefix_field").val();if(""==d)return void alert(updraftlion.exclude_type_prefix_msg);if(!d.match(/^\s*[a-z-_\d,\s]+\s*$/i))return void alert(updraftlion.exclude_prefix_error_msg);e="prefix:"+d;break;default:return}var u=jQuery("#updraft_exclude_modal_for").val();if(updraft_is_unique_exclude_rule(e,u)){var s='<div class="updraft_exclude_entity_wrapper"><input type="text" class="updraft_exclude_entity_field updraft_include_'+u+'_exclude_entity" name="updraft_include_'+u+'_exclude_entity[]" value="'+e+'" data-val="'+e+'" data-include-backup-file="'+u+'" readonly="readonly"><a href="#" class="updraft_exclude_entity_edit dashicons dashicons-edit" data-include-backup-file="'+u+'"></a><a href="#" class="updraft_exclude_entity_update dashicons dashicons-yes" data-include-backup-file="'+u+'" style="display: none;"></a><a href="#" class="updraft_exclude_entity_delete dashicons dashicons-no" data-include-backup-file="'+u+'"></a></div>';jQuery('.updraft_exclude_entity_container[data-include-backup-file="'+u+'"]').append(s),updraft_exclude_entity_update(u),jQuery("#updraft_exclude_modal").dialog("close")}}),jQuery("#updraft-navtab-settings-content .updraft-service").change(function(){var t=jQuery(this).val();jQuery("#updraft-navtab-settings-content .updraftplusmethod").hide(),jQuery("#updraft-navtab-settings-content ."+t).show()}),jQuery("#updraft-navtab-settings-content a.updraft_show_decryption_widget").click(function(t){t.preventDefault(),jQuery("#updraftplus_db_decrypt").val(jQuery("#updraft_encryptionphrase").val()),jQuery("#updraft-manualdecrypt-modal").slideToggle()}),jQuery("#updraftplus-phpinfo").click(function(t){t.preventDefault(),updraft_iframe_modal("phpinfo",updraftlion.phpinfo)}),jQuery("#updraftplus-rawbackuphistory").click(function(t){t.preventDefault(),updraft_iframe_modal("rawbackuphistory",updraftlion.raw)}),jQuery("#updraft-navtab-status").click(function(t){t.preventDefault(),updraft_open_main_tab("status"),updraft_page_is_visible=1,updraft_console_focussed_tab="status",updraft_activejobs_update(!0)}),jQuery("#updraft-navtab-expert").click(function(t){t.preventDefault(),updraft_open_main_tab("expert"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-settings, #updraft-navtab-settings2, #updraft_backupnow_gotosettings").click(function(t){t.preventDefault(),jQuery(this).parents(".updraftmessage").remove(),jQuery("#updraft-backupnow-modal").dialog("close"),updraft_open_main_tab("settings"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-addons").click(function(t){t.preventDefault(),jQuery(this).addClass("b#nav-tab-active"),updraft_open_main_tab("addons"),updraft_page_is_visible=1}),jQuery("#updraft-navtab-backups").click(function(t){t.preventDefault(),updraft_console_focussed_tab="backups",updraft_historytimertoggle(1),updraft_open_main_tab("backups")}),jQuery("#updraft-navtab-migrate").click(function(t){t.preventDefault(),jQuery("#updraft_migrate_tab_alt").html("").hide(),updraft_open_main_tab("migrate"),updraft_page_is_visible=1,jQuery("#updraft_migrate .updraft_migrate_widget_module_content").is(":visible")||jQuery(".updraft_migrate_intro").show()}),"migrate"==updraftlion.tab&&jQuery("#updraft-navtab-migrate").trigger("click"),updraft_send_command("ping",null,function(t,e){"success"==e&&"pong"!=t&&t.indexOf("pong")>=0&&(jQuery("#updraft-navtab-backups-content .ud-whitespace-warning").show(),console.log("UpdraftPlus: Extra output warning: response (which should be just (string)'pong') follows."),console.log(t))},{json_parse:!1,type:"GET"});try{"undefined"!=typeof updraft_plupload_config&&f()}catch(O){console.log(O)}if(jQuery("#updraftplus_httpget_go").click(function(t){t.preventDefault(),m(0)}),jQuery("#updraftplus_httpget_gocurl").click(function(t){t.preventDefault(),m(1)}),jQuery("#updraftplus_callwpaction_go").click(function(t){t.preventDefault(),params={wpaction:jQuery("#updraftplus_callwpaction").val()},updraft_send_command("call_wordpress_action",params,function(t){t.e?alert(t.e):t.s||(t.r?jQuery("#updraftplus_callwpaction_results").html(t.r):(console.log(t),alert(updraftlion.jsonnotunderstood)))})}),jQuery("#updraft_activejobs_table, #updraft-navtab-migrate-content").on("click",".updraft_jobinfo_delete",function(e){e.preventDefault();var a=jQuery(this).data("jobid");a?(t(this).addClass("disabled"),updraft_activejobs_delete(a)):console.log("UpdraftPlus: A stop job link was clicked, but the Job ID could not be found")}),jQuery("#updraft_activejobs_table, #updraft-navtab-backups-content .updraft_existing_backups, #updraft-backupnow-inpage-modal, #updraft-navtab-migrate-content").on("click",".updraft-log-link",function(t){t.preventDefault();var e=jQuery(this).data("fileid"),a=jQuery(this).data("jobid");e?updraft_popuplog(e):a?updraft_popuplog(a):console.log("UpdraftPlus: A log link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.choose-components-button",function(t){var e=jQuery(this).data("entities"),a=jQuery(this).data("backup_timestamp"),r=jQuery(this).data("showdata");g(e,a,r)}),"initiate_restore"==h("udaction")){var P=h("entities"),z=h("backup_timestamp"),D=h("showdata");g(P,z,D)}var U={};U[updraftlion.uploadbutton]=function(){var t=jQuery("#updraft_upload_timestamp").val(),e=jQuery("#updraft_upload_nonce").val(),a="",r=!1;return jQuery(".updraft_remote_storage_destination").each(function(t){jQuery(this).is(":checked")&&(r=!0)}),r?(a=jQuery("input[name^='updraft_remote_storage_destination_']").serializeArray(),jQuery(this).dialog("close"),alert(updraftlion.local_upload_started),void updraft_send_command("upload_local_backup",{use_nonce:e,use_timestamp:t,services:a},function(t){})):void jQuery("#updraft-upload-modal-error").html(updraftlion.local_upload_error)},U[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-upload-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:U}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.updraft-upload-link",function(t){t.preventDefault();var e=jQuery(this).data("nonce").toString(),a=jQuery(this).data("key").toString(),r=jQuery(this).data("services").toString();e?b(a,e,r):console.log("UpdraftPlus: A upload link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click",".updraft-load-more-backups",function(t){t.preventDefault();var e=parseInt(jQuery("#updraft-navtab-backups-content .updraft_existing_backups .updraft_existing_backups_row").length)+parseInt(updraftlion.existing_backups_limit);updraft_updatehistory(0,0,0,e)}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click",".updraft-load-all-backups",function(t){t.preventDefault(),updraft_updatehistory(0,0,0,9999999)}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click",".updraft-delete-link",function(t){t.preventDefault();var e=jQuery(this).data("hasremote"),a=jQuery(this).data("nonce").toString(),r=jQuery(this).data("key").toString();a?updraft_delete(r,a,e):console.log("UpdraftPlus: A delete link was clicked, but the Job ID could not be found")}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("click","button.updraft_download_button",function(t){t.preventDefault();var e="uddlstatus_",a=jQuery(this).data("backup_timestamp"),r=jQuery(this).data("what"),n=".ud_downloadstatus",o=jQuery(this).data("set_contents"),d=jQuery(this).data("prettydate"),u=!0;updraft_downloader(e,a,r,n,o,d,u)}),jQuery("#updraft-navtab-backups-content .updraft_existing_backups").on("dblclick",".updraft_existingbackup_date",function(t){t.preventDefault();var e=jQuery(this).data("rawbackup");null!=e&&""!=e&&updraft_html_modal(e,updraftlion.raw,780,500)})}),jQuery(document).ready(function(t){var e="#updraft-navtab-settings-content ";t(e+"#remote-storage-holder").on("click",".updraftvault_backtostart",function(a){a.preventDefault(),t(e+"#updraftvault_settings_showoptions").slideUp(),t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_connected").slideUp(),t(e+"#updraftvault_settings_default").slideDown()}),t(e).on("keypress","#updraftvault_settings_connect input",function(a){if(13==a.which)return t(e+"#updraftvault_connect_go").click(),!1}),t(e+"#remote-storage-holder").on("click","#updraftvault_recountquota",function(a){a.preventDefault(),t(e+"#updraftvault_recountquota").html(updraftlion.counting);try{updraft_send_command("vault_recountquota",{instance_id:t("#updraftvault_settings_connect").data("instance_id")},function(a){t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),a.hasOwnProperty("html")&&(t(e+"#updraftvault_settings_connected").html(a.html),a.hasOwnProperty("connected")&&(a.connected?(t(e+"#updraftvault_settings_default").hide(),t(e+"#updraftvault_settings_connected").show()):(t(e+"#updraftvault_settings_connected").hide(),t(e+"#updraftvault_settings_default").show())))},{error_callback:function(a,r,n,o){if(t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),"undefined"!=typeof o&&o.hasOwnProperty("fatal_error"))console.error(o.fatal_error_message),alert(o.fatal_error_message);else{var d="updraft_send_command: error: "+r+" ("+n+")";console.log(d),alert(d),console.log(a)}}})}catch(r){t(e+"#updraftvault_recountquota").html(updraftlion.updatequotacount),console.log(r)}}),t(e+"#remote-storage-holder").on("click","#updraftvault_disconnect",function(a){a.preventDefault(),t(e+"#updraftvault_disconnect").html(updraftlion.disconnecting);try{updraft_send_command("vault_disconnect",{immediate_echo:!0,instance_id:t("#updraftvault_settings_connect").data("instance_id")},function(a){t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),a.hasOwnProperty("html")&&(t(e+"#updraftvault_settings_connected").html(a.html).slideUp(),t(e+"#updraftvault_settings_default").slideDown())},{error_callback:function(a,r,n,o){if(t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),"undefined"!=typeof o&&o.hasOwnProperty("fatal_error"))console.error(o.fatal_error_message),alert(o.fatal_error_message);else{var d="updraft_send_command: error: "+r+" ("+n+")";console.log(d),alert(d),console.log(a)}}})}catch(r){t(e+"#updraftvault_disconnect").html(updraftlion.disconnect),console.log(r)}}),t(e+"#remote-storage-holder").on("click","#updraftvault_connect",function(a){a.preventDefault(),t(e+"#updraftvault_settings_default").slideUp(),t(e+"#updraftvault_settings_connect").slideDown()}),t(e+"#remote-storage-holder").on("click","#updraftvault_showoptions",function(a){a.preventDefault(),t(e+"#updraftvault_settings_default").slideUp(),t(e+"#updraftvault_settings_showoptions").slideDown()}),t("#remote-storage-holder").on("keyup",".updraftplus_onedrive_folder_input",function(e){var a=t(this).val(),r=t(this).closest("td");0==a.indexOf("https:")||0==a.indexOf("http:")?r.find(".onedrive_folder_error").length||r.append('<div class="onedrive_folder_error">'+updraftlion.onedrive_folder_url_warning+"</div>"):r.find(".onedrive_folder_error").slideUp("slow",function(){r.find(".onedrive_folder_error").remove()})}),t(e+"#remote-storage-holder").on("click","#updraftvault_connect_go",function(a){return t(e+"#updraftvault_connect_go").html(updraftlion.connecting),updraft_send_command("vault_connect",{email:t("#updraftvault_email").val(),pass:t("#updraftvault_pass").val(),instance_id:t("#updraftvault_settings_connect").data("instance_id")},function(a,r,n){t(e+"#updraftvault_connect_go").html(updraftlion.connect),a.hasOwnProperty("e")?(updraft_html_modal('<h4 style="margin-top:0px; padding-top:0px;">'+updraftlion.errornocolon+"</h4><p>"+a.e+"</p>",updraftlion.disconnect,400,250),a.hasOwnProperty("code")&&"no_quota"==a.code&&(t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_default").slideDown())):a.hasOwnProperty("connected")&&a.connected&&a.hasOwnProperty("html")?(t(e+"#updraftvault_settings_connect").slideUp(),t(e+"#updraftvault_settings_connected").html(a.html).slideDown()):(console.log(a),alert(updraftlion.unexpectedresponse+" "+n))},{error_callback:function(a,r,n,o){if(t(e+"#updraftvault_connect_go").html(updraftlion.connect),"undefined"!=typeof o&&o.hasOwnProperty("fatal_error"))console.error(o.fatal_error_message),alert(o.fatal_error_message);else{var d="updraft_send_command: error: "+r+" ("+n+")";console.log(d),alert(d),console.log(a)}}}),!1}),t("#updraft-iframe-modal").on("change","#always_keep_this_backup",function(){var e=t(this).data("backup_key"),a={backup_key:e,always_keep:t(this).is(":checked")?1:0};updraft_send_command("always_keep_this_backup",a,function(t){t.hasOwnProperty("rawbackup")&&(jQuery("#updraft-iframe-modal").dialog("close"),jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup",t.rawbackup),updraft_html_modal(jQuery(".updraft_existing_backups_row_"+e+" .updraft_existingbackup_date").data("rawbackup"),updraftlion.raw,780,500))})})}),jQuery(document).ready(function(t){function e(){var t=new plupload.Uploader(updraft_plupload_config2);t.bind("Init",function(t){var e=jQuery("#plupload-upload-ui2");t.features.dragdrop?(e.addClass("drag-drop"),jQuery("#drag-drop-area2").bind("dragover.wp-uploader",function(){e.addClass("drag-over")}).bind("dragleave.wp-uploader, drop.wp-uploader",function(){e.removeClass("drag-over")})):(e.removeClass("drag-drop"),jQuery("#drag-drop-area2").unbind(".wp-uploader"))}),t.init(),t.bind("FilesAdded",function(e,a){plupload.each(a,function(e){return/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-db([0-9]+)?\.(gz\.crypt)$/i.test(e.name)?void jQuery("#filelist2").append('<div class="file" id="'+e.id+'"><b>'+e.name+"</b> (<span>"+plupload.formatSize(0)+"</span>/"+plupload.formatSize(e.size)+') <div class="fileprogress"></div></div>'):(alert(e.name+": "+updraftlion.notdba),void t.removeFile(e))}),e.refresh(),e.start()}),t.bind("UploadProgress",function(t,e){jQuery("#"+e.id+" .fileprogress").width(e.percent+"%"),jQuery("#"+e.id+" span").html(plupload.formatSize(parseInt(e.size*e.percent/100)))}),t.bind("Error",function(t,e){"-200"==e.code?err_makesure="\n"+updraftlion.makesure2:err_makesure=updraftlion.makesure,alert(updraftlion.uploaderr+" (code "+e.code+") : "+e.message+" "+err_makesure)}),t.bind("FileUploaded",function(t,e,a){"200"==a.status?"ERROR:"==a.response.substring(0,6)?alert(updraftlion.uploaderror+" "+a.response.substring(6)):"OK:"==a.response.substring(0,3)?(bkey=a.response.substring(3),jQuery("#"+e.id+" .fileprogress").hide(),jQuery("#"+e.id).append(updraftlion.uploaded+' <a href="?page=updraftplus&action=downloadfile&updraftplus_file='+bkey+"&decrypt_key="+encodeURIComponent(jQuery("#updraftplus_db_decrypt").val())+'">'+updraftlion.followlink+"</a> "+updraftlion.thiskey+" "+jQuery("#updraftplus_db_decrypt").val().replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"))):alert(updraftlion.unknownresp+" "+a.response):alert(updraftlion.ukrespstatus+" "+a.code)})}try{"undefined"!=typeof updraft_plupload_config2&&e()}catch(a){console.log(a)}if(jQuery("#updraft-hidethis").remove(),Handlebars.registerHelper("ifeq",function(t,e,a){return"string"!=typeof t&&"undefined"!=typeof t&&null!==t&&(t=t.toString()),"string"!=typeof e&&"undefined"!=typeof e&&null!==e&&(e=e.toString()),t===e?a.fn(this):a.inverse(this)}),Handlebars.registerHelper("maskPassword",function(t){return t.replace(/./gi,"*")}),Handlebars.registerHelper("encodeURIComponent",function(t){return encodeURIComponent(t)}),t("#remote-storage-holder").length){var r="";for(var n in updraftlion.remote_storage_templates)if("undefined"!=typeof updraftlion.remote_storage_options[n]&&1<Object.keys(updraftlion.remote_storage_options[n]).length){var o=Handlebars.compile(updraftlion.remote_storage_templates[n]),d=!0;for(var u in updraftlion.remote_storage_options[n])if("default"!==u){var s=updraftlion.remote_storage_options[n][u];s.first_instance=d,"undefined"==typeof s.instance_enabled&&(s.instance_enabled=1),r+=o(s),d=!1}}else r+=updraftlion.remote_storage_templates[n];t("#remote-storage-holder").append(r).ready(function(){t(".updraftplusmethod").not(".none").hide(),updraft_remote_storage_tabs_setup(),t("#remote-storage-holder .updraftplus_onedrive_folder_input").trigger("keyup")})}}),jQuery(document).ready(function(t){function e(){var t=r("object"),e=new Date;t=JSON.stringify({version:"1.12.40",epoch_date:e.getTime(),local_date:e.toLocaleString(),network_site_url:updraftlion.network_site_url,data:t});var a=document.body.appendChild(document.createElement("a"));a.setAttribute("download",updraftlion.export_settings_file_name),a.setAttribute("style","display:none;"),a.setAttribute("href","data:text/json;charset=UTF-8,"+encodeURIComponent(t)),a.click()}function a(e){var a,r=decodeURIComponent(e);try{a=ud_parse_json(r)}catch(o){return t.unblockUI(),jQuery("#import_settings").val(""),console.log(r),console.log(o),void alert(updraftlion.import_invalid_json_file)}if(window.confirm(updraftlion.importing_data_from+" "+r.network_site_url+"\n"+updraftlion.exported_on+" "+r.local_date+"\n"+updraftlion.continue_import)){var d=JSON.stringify(a.data);updraft_send_command("importsettings",{settings:d,updraftplus_version:updraftlion.updraftplus_version},function(e,a,r){var o=n(e);!o.hasOwnProperty("saved")||o.saved?(updraft_settings_form_changed=!1,location.replace(updraftlion.updraft_settings_url)):(t.unblockUI(),o.hasOwnProperty("error_message")&&o.error_message&&alert(o.error_message))},{action:"updraft_importsettings",nonce:updraftplus_settings_nonce,error_callback:function(e,a,r,n){if(t.unblockUI(),"undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),alert(n.fatal_error_message);else{var o="updraft_send_command: error: "+a+" ("+r+")";console.log(o),console.log(e),alert(o)}}})}else t.unblockUI()}function r(e){var a="",e="undefined"==typeof e?"string":e;return"object"==e?a=t("#updraft-navtab-settings-content form input[name!='action'][name!='option_page'][name!='_wpnonce'][name!='_wp_http_referer'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select, #updraft-navtab-settings-content form input[type=checkbox]").serializeJSON({checkboxUncheckedValue:"0",useIntKeysAsArrayIndex:!0}):(a=t("#updraft-navtab-settings-content form input[name!='action'], #updraft-navtab-settings-content form textarea, #updraft-navtab-settings-content form select").serialize(),t.each(t("#updraft-navtab-settings-content form input[type=checkbox]").filter(function(e){return 0==t(this).prop("checked")}),function(e,r){var n="0";a+="&"+t(r).attr("name")+"="+n})),a}function n(e,a){try{var r=(e.messages,e.backup_dir.writable),n=e.backup_dir.message,o=e.backup_dir.button_title}catch(d){return console.log(d),console.log(a),alert(updraftlion.jsonnotunderstood),t.unblockUI(),{}}if(e.hasOwnProperty("changed")){console.log("UpdraftPlus: savesettings: some values were changed after being filtered"),console.log(e.changed);for(prop in e.changed)if("object"==typeof e.changed[prop])for(innerprop in e.changed[prop])t("[name='"+innerprop+"']").is(":checkbox")||t("[name='"+prop+"["+innerprop+"]']").val(e.changed[prop][innerprop]);else t("[name='"+prop+"']").is(":checkbox")||t("[name='"+prop+"']").val(e.changed[prop])}return t("#updraft_writable_mess").html(n),0==r?(t("#updraft-backupnow-button").attr("disabled","disabled"),t("#updraft-backupnow-button").attr("title",o),t(".backupdirrow").css("display","table-row")):(t("#updraft-backupnow-button").removeAttr("disabled"),t("#updraft-backupnow-button").removeAttr("title")),e.hasOwnProperty("updraft_include_more_path")&&t("#backupnow_includefiles_moreoptions").html(e.updraft_include_more_path),e.hasOwnProperty("backup_now_message")&&t("#backupnow_remote_container").html(e.backup_now_message),t(".updraftmessage").remove(),t("#updraft_backup_started").before(e.messages),console.log(e),t("#updraft-next-files-backup-inner").html(e.files_scheduled),t("#updraft-next-database-backup-inner").html(e.database_scheduled),e}function o(){var t=!1;if(jQuery("#updraft-authenticate-modal-innards").html(""),jQuery("div[class*=updraft_authenticate_] a.updraft_authlink").each(function(){jQuery("#updraft-authenticate-modal-innards").append('<p><a href="'+jQuery(this).attr("href")+'">'+jQuery(this).html()+"</a></p>"),t=!0}),t){var e={};e[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-authenticate-modal").dialog({autoOpen:!0,modal:!0,resizable:!1,draggable:!1,buttons:e,width:"auto"}).dialog("open")}}var d=new Image;d.src=updraftlion.ud_url+"/images/notices/updraft_logo.png",t("#updraft-navtab-settings-content input.updraft_include_entity").change(function(e){var a=t(this).attr("id"),r=t(this).is(":checked"),n="#backupnow_files_"+a;t(n).prop("checked",r)}),t("#updraftplus-settings-save").click(function(e){e.preventDefault(),t.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'<div style="margin: 8px; font-size:150%;" class="updraft_saving_popup"><img src="'+updraftlion.ud_url+'/images/notices/updraft_logo.png" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.saving+"</div>"});var a=r("string");updraft_send_command("savesettings",{settings:a,updraftplus_version:updraftlion.updraftplus_version},function(e,a,r){n(e,r),t("#updraft-wrap .fade").delay(6e3).fadeOut(2e3),window.updraft_main_tour&&!window.updraft_main_tour.canceled?(window.updraft_main_tour.show("settings_saved"),o()):t("html, body").animate({scrollTop:t("#updraft-wrap").offset().top},1e3,function(){o()}),t.unblockUI()},{action:"updraft_savesettings",error_callback:function(e,a,r,n){if(t.unblockUI(),"undefined"!=typeof n&&n.hasOwnProperty("fatal_error"))console.error(n.fatal_error_message),alert(n.fatal_error_message);else{var o="updraft_send_command: error: "+a+" ("+r+")";console.log(o),alert(o),console.log(e)}},nonce:updraftplus_settings_nonce})}),t("#updraftplus-settings-export").click(function(){updraft_settings_form_changed&&alert(updraftlion.unsaved_settings_export),e()}),t("#updraftplus-settings-import").click(function(){t.blockUI({css:{width:"300px",border:"none","border-radius":"10px",left:"calc(50% - 150px)",padding:"20px"},message:'<div style="margin: 8px; font-size:150%;" class="updraft_saving_popup"><img src="'+updraftlion.ud_url+'/images/notices/updraft_logo.png" height="80" width="80" style="padding-bottom:10px;"><br>'+updraftlion.importing+"</div>"});var e=document.getElementById("import_settings");if(0==e.files.length)return alert(updraftlion.import_select_file),void t.unblockUI();var r=e.files[0],n=new FileReader;n.onload=function(){a(this.result)},n.readAsText(r)}),t(".udp-replace-with-iframe--js").on("click",function(e){e.preventDefault();var a=t(this).prop("href"),r=t('<iframe width="356" height="200" allowfullscreen webkitallowfullscreen mozallowfullscreen>').attr("src",a);r.insertAfter(t(this)),t(this).remove()})}),jQuery(document).ready(function(t){function e(e,n,o,d){if("function"==typeof o){var u=t(d).find("#updraftcentral_cloud_form"),s=u.find('.form_hidden_fields input[name="key"]');if(s.length&&""!==s.val())return void o.apply(this,[s.val()]);var i={where_send:"__updraftpluscom",key_description:"",key_size:e,mothership_firewalled:n};a(d),updraft_send_command("updraftcentral_create_key",i,function(e){r(d);try{if(i=ud_parse_json(e),i.hasOwnProperty("error"))return void console.log(i);i.hasOwnProperty("bundle")?o.apply(this,[i.bundle]):i.hasOwnProperty("r")?(t(d).find(".updraftcentral_cloud_notices").html(updraftlion.trouble_connecting).addClass("updraftcentral_cloud_info"),alert(i.r)):console.log(i)}catch(a){console.log(a)}},{json_parse:!1})}}function a(e){t(e).find(".updraftplus_spinner.spinner").addClass("visible")}function r(e){t(e).find(".updraftplus_spinner.spinner").removeClass("visible")}function n(e,n){a(n),updraft_send_command("process_updraftcentral_registration",e,function(a){r(n);try{if(e=ud_parse_json(a),e.hasOwnProperty("error")){var o=e.message,u=["existing_user_email","email_exists"];return-1!==t.inArray(e.code,u)&&(o=e.message+" "+updraftlion.perhaps_login),t(n).find(".updraftcentral_cloud_notices").html(o).addClass("updraftcentral_cloud_error"),t(n).find(".updraftcentral_cloud_notices a").attr("target","_blank"),void console.log(e)}"registered"===e.status&&(t(n).find(".updraftcentral_cloud_form_container").hide(),t(n).find(".updraftcentral-subheading").hide(),t(n).find(".updraftcentral_cloud_notices").removeClass("updraftcentral_cloud_error"),d(n,e,updraftlion.registration_successful))}catch(s){console.log(s)}},{json_parse:!1})}function o(e,o){a(o),updraft_send_command("process_updraftcentral_login",e,function(a){r(o);try{if(data=ud_parse_json(a),data.hasOwnProperty("error")){if("incorrect_password"===data.code&&(t(o).find(".updraftcentral_cloud_form_container .tfa_fields").hide(),t(o).find(".updraftcentral_cloud_form_container .non_tfa_fields").show(),
|
5 |
+
t(o).find("input#two_factor_code").val(""),t(o).find("input#password").val("").focus()),"email_not_registered"!==data.code)return t(o).find(".updraftcentral_cloud_notices").html(data.message).addClass("updraftcentral_cloud_error"),t(o).find(".updraftcentral_cloud_notices a").attr("target","_blank"),void console.log(data);n(e,o)}data.hasOwnProperty("tfa_enabled")&&1==data.tfa_enabled&&(t(o).find(".updraftcentral_cloud_notices").html("").removeClass("updraftcentral_cloud_error"),t(o).find(".updraftcentral_cloud_form_container .non_tfa_fields").hide(),t(o).find(".updraftcentral_cloud_form_container .tfa_fields").show(),t(o).find("input#two_factor_code").focus()),"authenticated"===data.status&&(t(o).find(".updraftcentral_cloud_form_container").hide(),t(o).find(".updraftcentral_cloud_notices").removeClass("updraftcentral_cloud_error"),d(o,data,updraftlion.login_successful))}catch(u){console.log(u)}},{json_parse:!1})}function d(e,a,r){var n=t(e).find("form#updraftcentral_cloud_redirect_form");n.attr("action",a.redirect_url),n.attr("target","_blank"),"undefined"!=typeof a.redirect_token&&n.append('<input type="hidden" name="redirect_token" value="'+a.redirect_token+'">'),a.hasOwnProperty("keys_table")&&a.keys_table&&t("#updraftcentral_keys_content").html(a.keys_table),t(".updraftplus-addons-connect-to-udc").remove(),$redirect_lnk='<a href="'+updraftlion.current_clean_url+'" class="updraftcentral_cloud_redirect_link">'+updraftlion.updraftcentral_cloud+"</a>",$close_lnk='<a href="'+updraftlion.current_clean_url+'" class="updraftcentral_cloud_close_link">'+updraftlion.close_wizard+"</a>",t(e).find(".updraftcentral_cloud_notices").html(r.replace("%s",$redirect_lnk)+" "+$close_lnk+"<br/><br/>"+updraftlion.control_udc_connections),t(e).find(".updraftcentral_cloud_notices .updraftcentral_cloud_redirect_link").off("click").on("click",function(a){a.preventDefault(),n.submit(),t(e).find(".updraftcentral_cloud_notices .updraftcentral_cloud_close_link").trigger("click")}),t(e).find(".updraftcentral_cloud_notices .updraftcentral_cloud_close_link").off("click").on("click",function(a){a.preventDefault(),t(e).dialog("close"),t("#updraftcentral_cloud_connect_container").hide()})}function u(e){var a=t(e).find("#updraftcentral_cloud_form"),r=a.find("input#email").val(),n=a.find("input#password").val(),o=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;t(e).find(".updraftcentral_cloud_notices").html("").removeClass("updraftcentral_cloud_error updraftcentral_cloud_info");var d=a.find('.updraftcentral-data-consent > input[name="i_consent"]').is(":checked");return d?0===r.length||0===n.length?(t(e).find(".updraftcentral_cloud_notices").html(updraftlion.username_password_required).addClass("updraftcentral_cloud_error"),!1):null!==r.match(o)||(t(e).find(".updraftcentral_cloud_notices").html(updraftlion.valid_email_required).addClass("updraftcentral_cloud_error"),!1):(t(e).find(".updraftcentral_cloud_notices").html(updraftlion.data_consent_required).addClass("updraftcentral_cloud_error"),!1)}function s(a,r){var d=t(a).find("#updraft_central_keysize").val(),u=t(a).find("#updraft_central_firewalled").is(":checked")?1:0;e(d,u,function(e){var d=t(a).find("#updraftcentral_cloud_form"),u=d.find('.form_hidden_fields input[name="key"]');0===u.length&&d.find(".form_hidden_fields").append('<input type="hidden" name="key" value="'+e+'">');var s=d.find("input").serialize(),i={form_data:s};"undefined"!=typeof r&&r?n(i,a):o(i,a)},a)}function i(){var e=t("#updraftcentral_cloud_login_form");if(e.length){t("#updraft-iframe-modal-innards").html(e.html());var a=t("#updraft-iframe-modal").dialog("option","title",updraftlion.updraftcentral_cloud).dialog("option","width",520).dialog("option","height",450).dialog("option","buttons",{});a.dialog("open");var r=a.find(".updraftcentral-data-consent"),n=r.find("input").attr("name");"undefined"!=typeof n&&n&&(r.find("input").attr("id",n),r.find("label").attr("for",n))}}jQuery("#updraft-restore-modal").on("change","#updraft_restorer_charset",function(e){if(t("#updraft_restorer_charset").length&&t("#updraft_restorer_collate").length&&t("#collate_change_on_charset_selection_data").length){var a=t("#updraft_restorer_charset").val();t("#updraft_restorer_collate option").show(),t("#updraft_restorer_collate option[data-charset!="+a+"]").hide(),updraft_send_command("collate_change_on_charset_selection",{collate_change_on_charset_selection_data:t("#collate_change_on_charset_selection_data").val(),updraft_restorer_charset:a,updraft_restorer_collate:t("#updraft_restorer_collate").val()},function(e){e.hasOwnProperty("is_action_required")&&1==e.is_action_required&&e.hasOwnProperty("similar_type_collate")&&t("#updraft_restorer_collate").val(e.similar_type_collate)})}}),jQuery("#updraft-restore-modal").on("click","#updraftplus_restore_tables_showmoreoptions",function(t){t.preventDefault(),jQuery(".updraftplus_restore_tables_options_container").toggle()}),t("#updraft-wrap #btn_cloud_connect").on("click",function(){i()}),t("#updraft-wrap a#self_hosted_connect").on("click",function(e){e.preventDefault(),t("h2.nav-tab-wrapper > a#updraft-navtab-expert").trigger("click"),t("div.advanced_settings_menu > #updraft_central").trigger("click")}),t("#updraft-iframe-modal").on("click","#updraftcentral_cloud_login",function(e){e.preventDefault();var a=t(this).closest("#updraft-iframe-modal");u(a)&&s(a)});var p={};t(document).on("heartbeat-send",function(t,e){p=updraft_poll_get_parameters(),e.updraftplus=p}),t(document).on("heartbeat-tick",function(t,e){if(null!==e&&e.hasOwnProperty("updraftplus")){var a=e.updraftplus,r=JSON.stringify(a);updraft_process_status_check(a,r,p)}})});
|
@@ -185,6 +185,15 @@ jQuery(document).ready(function($) {
|
|
185 |
}
|
186 |
});
|
187 |
if (restore_data.data.hasOwnProperty('actions') && 'object' == typeof restore_data.data.actions) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
$.each(restore_data.data.actions, function(index, item) {
|
189 |
$steps_list.after('<a href="'+item+'" class="button button-primary">'+index+'</a>');
|
190 |
});
|
@@ -265,6 +274,27 @@ jQuery(document).ready(function($) {
|
|
265 |
});
|
266 |
}
|
267 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
268 |
$('#updraftplus_ajax_restore_progress').on('click', '#updraft_restore_resume', function(e) {
|
269 |
e.preventDefault();
|
270 |
$("#updraftplus_ajax_restore_progress").slideUp(1000, function () {
|
185 |
}
|
186 |
});
|
187 |
if (restore_data.data.hasOwnProperty('actions') && 'object' == typeof restore_data.data.actions) {
|
188 |
+
|
189 |
+
var pages_found = updraft_restore_get_pages(restore_data.data.urls);
|
190 |
+
if (!$.isEmptyObject(pages_found)) {
|
191 |
+
$('.updraft_restore_result').before(updraftlion.ajax_restore_404_detected);
|
192 |
+
$.each(pages_found, function(index, url) {
|
193 |
+
$('.updraft_missing_pages').append('<li>'+url+'</li>');
|
194 |
+
});
|
195 |
+
}
|
196 |
+
|
197 |
$.each(restore_data.data.actions, function(index, item) {
|
198 |
$steps_list.after('<a href="'+item+'" class="button button-primary">'+index+'</a>');
|
199 |
});
|
274 |
});
|
275 |
}
|
276 |
|
277 |
+
/**
|
278 |
+
* This function will make a call to the passed in urls and check if the response code is a 404 if it is then add it to the array of urls that are not found and return it
|
279 |
+
*
|
280 |
+
* @param {array} urls - the urls we want to test
|
281 |
+
*
|
282 |
+
* @return {array} an array of urls not found
|
283 |
+
*/
|
284 |
+
function updraft_restore_get_pages(urls) {
|
285 |
+
|
286 |
+
var urls_not_found = [];
|
287 |
+
|
288 |
+
$.each(urls, function(index, url) {
|
289 |
+
var xhttp = new XMLHttpRequest();
|
290 |
+
xhttp.open('GET', url, false);
|
291 |
+
xhttp.send(null);
|
292 |
+
if (xhttp.status == 404) urls_not_found.push(url);
|
293 |
+
});
|
294 |
+
|
295 |
+
return urls_not_found;
|
296 |
+
}
|
297 |
+
|
298 |
$('#updraftplus_ajax_restore_progress').on('click', '#updraft_restore_resume', function(e) {
|
299 |
e.preventDefault();
|
300 |
$("#updraftplus_ajax_restore_progress").slideUp(1000, function () {
|
@@ -1 +1 @@
|
|
1 |
-
var updraft_restore_screen=!0;jQuery(document).ready(function(e){function
|
1 |
+
var updraft_restore_screen=!0;jQuery(document).ready(function(e){function t(t,a){var o=new XMLHttpRequest,n="action="+a+"&updraftplus_ajax_restore=do_ajax_restore&job_id="+t,d=0,l=!0,u=e("#updraftplus_ajax_restore_debug").length;o.open("POST",ajaxurl,!0),o.onprogress=function(e){if(e.currentTarget.status>=200&&e.currentTarget.status<300){if(-1!==e.currentTarget.responseText.indexOf("<html"))return l&&(l=!1,alert("UpdraftPlus "+updraftlion.ajax_restore_error+" "+updraftlion.ajax_restore_invalid_response)),_.append("UpdraftPlus "+updraftlion.ajax_restore_error+" "+updraftlion.ajax_restore_invalid_response),console.log("UpdraftPlus restore error: HTML detected in response could be a copy of the WordPress front page caused by mod_security"),void console.log(e.currentTarget.responseText);if(d==e.currentTarget.responseText.length)return;c=Math.round(Date.now()/1e3);var t=e.currentTarget.responseText.substr(d);d=e.currentTarget.responseText.length;for(var a=0,o=0;a<t.length;){var n=t.substr(a,7);if("RINFO:{"==n){_.append(t.substring(o,a).trim()).scrollTop(_[0].scrollHeight);var p=ud_parse_json(t.substr(a),!0);1==u&&console.log(p),r(p.parsed),o=a+p.json_last_pos-p.json_start_pos+6,a=o}else a++}_.append(t.substr(o).trim()).scrollTop(_[0].scrollHeight),_.find("input[name=connection_type]").length&&_.find("#upgrade").length&&s()}else 0==e.currentTarget.status?_.append("UpdraftPlus "+updraftlion.ajax_restore_error+" "+updraftlion.ajax_restore_contact_failed):_.append("UpdraftPlus "+updraftlion.ajax_restore_error+" "+e.currentTarget.status+" "+e.currentTarget.statusText),console.log("UpdraftPlus restore error: "+e.currentTarget.status+" "+e.currentTarget.statusText),console.log(e.currentTarget)},o.onload=function(){var t=_.find(".updraft_restore_successful, .updraft_restore_error");if(t.length){var r=e(".updraft_restore_result");r.slideDown(),f.slideUp(),f.siblings("h2").slideUp(),t.is(".updraft_restore_successful")?(r.find(".dashicons").addClass("dashicons-yes"),r.find(".updraft_restore_result--text").text(t.text()),r.addClass("restore-success")):t.is(".updraft_restore_error")&&(r.find(".dashicons").addClass("dashicons-no-alt"),r.find(".updraft_restore_result--text").text(t.text()),r.addClass("restore-error")),setTimeout(function(){_.scrollTop(_[0].scrollHeight)},500)}},o.setRequestHeader("Content-type","application/x-www-form-urlencoded"),o.send(n)}function r(t){if("started"==t.stage&&(d=setInterval(function(){a()},5e3)),"finished"==t.stage&&d&&(clearInterval(d),e("#updraftplus_ajax_restore_last_activity").html("")),t&&("state"==t.type||"state_change"==t.type)){console.log(t.stage,t.data),u="files"==t.stage?t.data.entity:t.stage;var r=f.find("[data-component="+u+"]");if("files"==t.stage&&r.find(".updraft_component--progress").html(" — "+updraftlion.restore_files_progress.replace("%s1","<strong>"+t.data.fileindex+"</strong>").replace("%s2","<strong>"+t.data.total_files+"</strong>")),"db"==t.stage&&t.data.hasOwnProperty("stage")&&("table"==t.data.stage?r.find(".updraft_component--progress").html(" — "+updraftlion.restore_db_table_progress.replace("%s","<strong>"+t.data.table+"</strong>")):"finished"==t.data.stage?r.find(".updraft_component--progress").html(" — "+updraftlion.finished):"begun"==t.data.stage&&r.find(".updraft_component--progress").html(" — "+updraftlion.begun+"...")),l!==u){if(l){var s=f.find("[data-component="+l+"]");s.find(".updraft_component--progress").html(""),s.removeClass("active").addClass("done")}if("finished"==u){if(r.addClass("done"),f.find("[data-component]").each(function(t,r){$el=e(r),$el.is(".done")||$el.addClass("error")}),t.data.hasOwnProperty("actions")&&"object"==typeof t.data.actions){var o=n(t.data.urls);e.isEmptyObject(o)||(e(".updraft_restore_result").before(updraftlion.ajax_restore_404_detected),e.each(o,function(t,r){e(".updraft_missing_pages").append("<li>"+r+"</li>")})),e.each(t.data.actions,function(e,t){f.after('<a href="'+t+'" class="button button-primary">'+e+"</a>")})}}else r.addClass("active")}l=u}}function a(){var t=Math.round(Date.now()/1e3),r=t-c;if(60>r)e("#updraftplus_ajax_restore_last_activity").html(updraftlion.last_activity.replace("%d",r));else{var a=120-r;0<a?e("#updraftplus_ajax_restore_last_activity").html(updraftlion.no_recent_activity.replace("%d",a)):(e("#updraftplus_ajax_restore_last_activity").html(""),o())}}function s(){e(".updraft_restore_main").addClass("show-credentials-form"),e("#message").length&&(e(".restore-credential-errors .restore-credential-errors--list").appendTo(e("#message")),e(".restore-credential-errors .restore-credential-errors--link").appendTo(e("#message")))}function o(){updraft_send_command("get_restore_resume_notice",{job_id:p},function(r){r.hasOwnProperty("status")&&"success"==r.status&&r.hasOwnProperty("html")?(d&&clearInterval(d),"plugins"!=u&&"db"!=u&&5>h?(h++,t(p,"updraft_ajaxrestore_continue")):e(".updraft_restore_main--components").prepend(r.html)):r.hasOwnProperty("error_code")&&r.hasOwnProperty("error_message")&&(d&&clearInterval(d),alert(r.error_code+": "+r.error_message),console.log(r.error_code+": "+r.error_message))},{error_callback:function(e,a,s,o){if(500==e.status&&3>m)m++,t(p,"updraft_ajaxrestore_continue");else{r({stage:"finished",type:"state_change"});var n="updraft_send_command: error: "+a+" ("+s+")";alert(n),console.log(n),console.log(e)}}})}function n(t){var r=[];return e.each(t,function(e,t){var a=new XMLHttpRequest;a.open("GET",t,!1),a.send(null),404==a.status&&r.push(t)}),r}var d,l,u,p=e("#updraftplus_ajax_restore_job_id").val(),i=e("#updraftplus_ajax_restore_action").val(),c=0,_=e("#updraftplus_ajax_restore_output"),f=e(".updraft_restore_components_list"),g=!1,h=0,m=0;t(p,i),e("#updraftplus_ajax_restore_progress").on("click","#updraft_restore_resume",function(r){r.preventDefault(),e("#updraftplus_ajax_restore_progress").slideUp(1e3,function(){e(this).remove()}),t(p,"updraft_ajaxrestore_continue")}),e(document).on("heartbeat-tick",function(e,t){if(t.hasOwnProperty("wp-auth-check")){if(!t["wp-auth-check"])return void(g=!0);if(g&&t["wp-auth-check"]&&(c=Math.round(Date.now()/1e3),g=!1),t.hasOwnProperty("updraftplus")){var r=t.updraftplus;r.hasOwnProperty("updraft_credentialtest_nonce")&&(updraft_credentialtest_nonce=r.updraft_credentialtest_nonce,c=Math.round(Date.now()/1e3))}}})});
|
@@ -21,283 +21,283 @@ msgstr ""
|
|
21 |
msgid "WordPress core (only)"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: src/addons/autobackup.php:139, src/addons/autobackup.php:
|
25 |
msgid "UpdraftPlus Automatic Backups"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: src/addons/autobackup.php:157, src/addons/autobackup.php:
|
29 |
msgid "Automatic backup before update"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: src/addons/autobackup.php:
|
33 |
msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: src/addons/autobackup.php:
|
37 |
msgid "Remember this choice for next time (you will still have the chance to change it)"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: src/addons/autobackup.php:
|
41 |
msgid "Read more about how this works..."
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: src/addons/autobackup.php:
|
45 |
msgid "Creating %s and database backup with UpdraftPlus..."
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: src/addons/autobackup.php:
|
49 |
msgid "(logs can be found in the UpdraftPlus settings page as normal)..."
|
50 |
msgstr ""
|
51 |
|
52 |
-
#: src/addons/autobackup.php:
|
53 |
msgid "Last log message"
|
54 |
msgstr ""
|
55 |
|
56 |
-
#: src/addons/autobackup.php:
|
57 |
msgid "Starting automatic backup..."
|
58 |
msgstr ""
|
59 |
|
60 |
-
#: src/addons/autobackup.php:
|
61 |
msgid "Unexpected response:"
|
62 |
msgstr ""
|
63 |
|
64 |
-
#: src/addons/autobackup.php:
|
65 |
msgid "plugins"
|
66 |
msgstr ""
|
67 |
|
68 |
-
#: src/addons/autobackup.php:
|
69 |
msgid "themes"
|
70 |
msgstr ""
|
71 |
|
72 |
-
#: src/addons/autobackup.php:
|
73 |
msgid "Creating database backup with UpdraftPlus..."
|
74 |
msgstr ""
|
75 |
|
76 |
-
#: src/addons/autobackup.php:
|
77 |
msgid "Automatic Backup"
|
78 |
msgstr ""
|
79 |
|
80 |
-
#: src/addons/autobackup.php:
|
81 |
msgid "Creating backup with UpdraftPlus..."
|
82 |
msgstr ""
|
83 |
|
84 |
-
#: src/addons/autobackup.php:
|
85 |
msgid "Errors have occurred:"
|
86 |
msgstr ""
|
87 |
|
88 |
-
#: src/addons/autobackup.php:
|
89 |
msgid "Backup succeeded"
|
90 |
msgstr ""
|
91 |
|
92 |
-
#: src/addons/autobackup.php:
|
93 |
msgid "(view log...)"
|
94 |
msgstr ""
|
95 |
|
96 |
-
#: src/addons/autobackup.php:
|
97 |
msgid "now proceeding with the updates..."
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: src/addons/autobackup.php:
|
101 |
msgid "Be safe with an automatic backup"
|
102 |
msgstr ""
|
103 |
|
104 |
-
#: src/addons/autobackup.php:
|
105 |
msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
106 |
msgstr ""
|
107 |
|
108 |
-
#: src/addons/autobackup.php:
|
109 |
msgid "Do not abort after pressing Proceed below - wait for the backup to complete."
|
110 |
msgstr ""
|
111 |
|
112 |
-
#: src/addons/autobackup.php:
|
113 |
msgid "Proceed with update"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: src/addons/azure.php:
|
117 |
msgid "%s Error"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: src/addons/azure.php:
|
121 |
msgid "File not found"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: src/addons/azure.php:
|
125 |
msgid "Could not access container"
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: src/addons/azure.php:
|
129 |
msgid "Upload failed"
|
130 |
msgstr ""
|
131 |
|
132 |
-
#: src/addons/azure.php:
|
133 |
msgid "Delete failed:"
|
134 |
msgstr ""
|
135 |
|
136 |
-
#: src/addons/azure.php:
|
137 |
msgid "Could not create the container"
|
138 |
msgstr ""
|
139 |
|
140 |
-
#: src/addons/azure.php:
|
141 |
msgid "Microsoft Azure is not compatible with sites hosted on a localhost or 127.0.0.1 URL - their developer console forbids these (current URL is: %s)."
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: src/addons/azure.php:
|
145 |
msgid "You must add the following as the authorised redirect URI in your Azure console (under \"API Settings\") when asked"
|
146 |
msgstr ""
|
147 |
|
148 |
-
#: src/addons/azure.php:
|
149 |
msgid "Warning"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: src/addons/azure.php:
|
153 |
msgid "Your web server's PHP installation does not included a <strong>required</strong> (for %s) module (%s). Please contact your web hosting provider's support and ask for them to enable it."
|
154 |
msgstr ""
|
155 |
|
156 |
-
#: src/addons/azure.php:
|
157 |
msgid "Create Azure credentials in your Azure developer console."
|
158 |
msgstr ""
|
159 |
|
160 |
-
#: src/addons/azure.php:
|
161 |
msgid "For longer help, including screenshots, follow this link."
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: src/addons/azure.php:
|
165 |
msgid "%s Account Name"
|
166 |
msgstr ""
|
167 |
|
168 |
-
#: src/addons/azure.php:
|
169 |
msgid "Azure"
|
170 |
msgstr ""
|
171 |
|
172 |
-
#: src/addons/azure.php:
|
173 |
msgid "This is not your Azure login - see the instructions if needing more guidance."
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: src/addons/azure.php:
|
177 |
msgid "%s Key"
|
178 |
msgstr ""
|
179 |
|
180 |
-
#: src/addons/azure.php:
|
181 |
msgid "%s Container"
|
182 |
msgstr ""
|
183 |
|
184 |
-
#: src/addons/azure.php:
|
185 |
msgid "Enter the path of the %s you wish to use here."
|
186 |
msgstr ""
|
187 |
|
188 |
-
#: src/addons/azure.php:
|
189 |
msgid "See Microsoft's guidelines on container naming by following this link."
|
190 |
msgstr ""
|
191 |
|
192 |
-
#: src/addons/azure.php:
|
193 |
msgid "%s Prefix"
|
194 |
msgstr ""
|
195 |
|
196 |
-
#: src/addons/azure.php:
|
197 |
msgid "optional"
|
198 |
msgstr ""
|
199 |
|
200 |
-
#: src/addons/azure.php:
|
201 |
msgid "You can enter the path of any %s virtual folder you wish to use here."
|
202 |
msgstr ""
|
203 |
|
204 |
-
#: src/addons/azure.php:
|
205 |
msgid "If you leave it blank, then the backup will be placed in the root of your %s"
|
206 |
msgstr ""
|
207 |
|
208 |
-
#: src/addons/azure.php:
|
209 |
msgid "container"
|
210 |
msgstr ""
|
211 |
|
212 |
-
#: src/addons/azure.php:
|
213 |
msgid "Azure Account"
|
214 |
msgstr ""
|
215 |
|
216 |
-
#: src/addons/azure.php:
|
217 |
msgid "Azure Global"
|
218 |
msgstr ""
|
219 |
|
220 |
-
#: src/addons/azure.php:
|
221 |
msgid "Azure Germany"
|
222 |
msgstr ""
|
223 |
|
224 |
-
#: src/addons/azure.php:
|
225 |
msgid "Azure Government"
|
226 |
msgstr ""
|
227 |
|
228 |
-
#: src/addons/azure.php:
|
229 |
msgid "Azure China"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: src/addons/backblaze.php:
|
233 |
msgid "Error: unexpected file read fail"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: src/addons/backblaze.php:
|
237 |
msgid "Error:"
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: src/addons/backblaze.php:
|
241 |
msgid "Account ID"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: src/addons/backblaze.php:
|
245 |
msgid "Account Key"
|
246 |
msgstr ""
|
247 |
|
248 |
-
#: src/addons/backblaze.php:
|
249 |
msgid "Invalid bucket name"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#: src/addons/backblaze.php:
|
253 |
msgid "Failure: We could not successfully access or create such a bucket. Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)."
|
254 |
msgstr ""
|
255 |
|
256 |
-
#: src/addons/backblaze.php:
|
257 |
msgid "No settings were found"
|
258 |
msgstr ""
|
259 |
|
260 |
-
#: src/addons/backblaze.php:
|
261 |
msgid "For help configuring %s, including screenshots, follow this link."
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: src/addons/backblaze.php:
|
265 |
msgid "Master Application Key ID"
|
266 |
msgstr ""
|
267 |
|
268 |
-
#: src/addons/backblaze.php:
|
269 |
msgid "Get these settings from %s, or sign up %s."
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: src/addons/backblaze.php:
|
273 |
msgid "here"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: src/addons/backblaze.php:
|
277 |
msgid "Application key"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: src/addons/backblaze.php:
|
281 |
msgid "Bucket application key ID"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: src/addons/backblaze.php:
|
285 |
msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: src/addons/backblaze.php:
|
289 |
msgid "Backup path"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: src/addons/backblaze.php:
|
293 |
msgid "Bucket name"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: src/addons/backblaze.php:
|
297 |
msgid "some/path"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: src/addons/backblaze.php:
|
301 |
msgid "There are limits upon which path-names are valid. Spaces are not allowed."
|
302 |
msgstr ""
|
303 |
|
@@ -309,11 +309,11 @@ msgstr ""
|
|
309 |
msgid "Adds enhanced capabilities for Rackspace Cloud Files users"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:113, src/methods/cloudfiles.php:
|
313 |
msgid "US (default)"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:114, src/methods/cloudfiles.php:
|
317 |
msgid "UK"
|
318 |
msgstr ""
|
319 |
|
@@ -365,71 +365,71 @@ msgstr ""
|
|
365 |
msgid "You need to enter a valid new email address"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: src/addons/cloudfiles-enhanced.php:
|
369 |
msgid "Cloud Files authentication failed"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: src/addons/cloudfiles-enhanced.php:
|
373 |
msgid "Authorisation failed (check your credentials)"
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: src/addons/cloudfiles-enhanced.php:
|
377 |
msgid "Conflict: that user or email address already exists"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: src/addons/cloudfiles-enhanced.php:
|
381 |
msgid "Cloud Files operation failed (%s)"
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: src/addons/cloudfiles-enhanced.php:
|
385 |
msgid "Username: %s"
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: src/addons/cloudfiles-enhanced.php:
|
389 |
msgid "Password: %s"
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: src/addons/cloudfiles-enhanced.php:
|
393 |
msgid "API Key: %s"
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: src/addons/cloudfiles-enhanced.php:
|
397 |
msgid "Create new API user and container"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: src/addons/cloudfiles-enhanced.php:
|
401 |
msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name."
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: src/addons/cloudfiles-enhanced.php:
|
405 |
msgid "US or UK Rackspace Account"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: src/addons/cloudfiles-enhanced.php:
|
409 |
msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts."
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: src/addons/cloudfiles-enhanced.php:
|
413 |
msgid "Admin Username"
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: src/addons/cloudfiles-enhanced.php:
|
417 |
msgid "Admin API Key"
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: src/addons/cloudfiles-enhanced.php:
|
421 |
msgid "New User's Username"
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: src/addons/cloudfiles-enhanced.php:
|
425 |
msgid "New User's Email Address"
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: src/addons/cloudfiles-enhanced.php:
|
429 |
msgid "Cloud Files Storage Region"
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: src/addons/cloudfiles-enhanced.php:
|
433 |
msgid "Cloud Files Container"
|
434 |
msgstr ""
|
435 |
|
@@ -437,55 +437,55 @@ msgstr ""
|
|
437 |
msgid "Store at"
|
438 |
msgstr ""
|
439 |
|
440 |
-
#: src/addons/fixtime.php:
|
441 |
msgid "Add an additional database retention rule"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: src/addons/fixtime.php:
|
445 |
msgid "Add an additional retention rule..."
|
446 |
msgstr ""
|
447 |
|
448 |
-
#: src/addons/fixtime.php:
|
449 |
msgid "Add an additional file retention rule"
|
450 |
msgstr ""
|
451 |
|
452 |
-
#: src/addons/fixtime.php:
|
453 |
msgid "(at same time as files backup)"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: src/addons/fixtime.php:
|
457 |
msgid "Day to run backups"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: src/addons/fixtime.php:
|
461 |
msgid "starting from next time it is"
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: src/addons/fixtime.php:
|
465 |
msgid "Start time"
|
466 |
msgstr ""
|
467 |
|
468 |
-
#: src/addons/fixtime.php:
|
469 |
msgid "Enter in format HH:MM (e.g. 14:22)."
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: src/addons/fixtime.php:
|
473 |
msgid "The time zone used is that from your WordPress settings, in Settings -> General."
|
474 |
msgstr ""
|
475 |
|
476 |
-
#: src/addons/google-enhanced.php:75, src/methods/googledrive.php:285, src/methods/googledrive.php:287, src/methods/googledrive.php:558, src/methods/googledrive.php:600, src/methods/googledrive.php:643, src/methods/googledrive.php:650, src/methods/googledrive.php:662, src/methods/googledrive.php:678, src/methods/googledrive.php:680, src/methods/googledrive.php:
|
477 |
msgid "Google Drive"
|
478 |
msgstr ""
|
479 |
|
480 |
-
#: src/addons/google-enhanced.php:75, src/methods/googledrive.php:
|
481 |
msgid "Folder"
|
482 |
msgstr ""
|
483 |
|
484 |
-
#: src/addons/google-enhanced.php:77, src/addons/onedrive.php:
|
485 |
msgid "Enter the path of the %s folder you wish to use here."
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: src/addons/google-enhanced.php:77, src/addons/googlecloud.php:
|
489 |
msgid "e.g. %s"
|
490 |
msgstr ""
|
491 |
|
@@ -597,39 +597,39 @@ msgstr ""
|
|
597 |
msgid "Frankfurt"
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: src/addons/googlecloud.php:125, src/addons/googlecloud.php:
|
601 |
msgid "Failure: No bucket details were given."
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: src/addons/googlecloud.php:208, src/addons/googlecloud.php:213, src/methods/cloudfiles.php:128, src/methods/googledrive.php:
|
605 |
msgid "Error: Failed to open local file"
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: src/addons/googlecloud.php:264, src/addons/googlecloud.php:
|
609 |
msgid "%s Service Exception."
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: src/addons/googlecloud.php:264, src/addons/googlecloud.php:
|
613 |
msgid "Google Cloud"
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: src/addons/googlecloud.php:264, src/addons/googlecloud.php:
|
617 |
msgid "You do not have access to this bucket."
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: src/addons/googlecloud.php:
|
621 |
msgid "download: failed: file not found"
|
622 |
msgstr ""
|
623 |
|
624 |
-
#: src/addons/googlecloud.php:
|
625 |
msgid "You do not have access to this bucket"
|
626 |
msgstr ""
|
627 |
|
628 |
-
#: src/addons/googlecloud.php:
|
629 |
msgid "No %s settings were found"
|
630 |
msgstr ""
|
631 |
|
632 |
-
#: src/addons/googlecloud.php:
|
633 |
msgid "Authentication could not go ahead, because something else on your site is breaking it. Try disabling your other plugins and switching to a default theme. (Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins. Turning off any debugging settings may also help)."
|
634 |
msgstr ""
|
635 |
|
@@ -637,7 +637,7 @@ msgstr ""
|
|
637 |
msgid "No refresh token was received from Google. This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it. Re-check it, then follow the link to authenticate again. Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again."
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: src/addons/googlecloud.php:445, src/addons/migrator.php:
|
641 |
msgid "Error: %s"
|
642 |
msgstr ""
|
643 |
|
@@ -645,171 +645,171 @@ msgstr ""
|
|
645 |
msgid "Authorization failed"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: src/addons/googlecloud.php:
|
649 |
msgid "Account is not authorized."
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: src/addons/googlecloud.php:
|
653 |
msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud."
|
654 |
msgstr ""
|
655 |
|
656 |
-
#: src/addons/googlecloud.php:
|
657 |
msgid "But no bucket was defined, so backups may not complete. Please enter a bucket name in the %s settings and save settings."
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: src/addons/googlecloud.php:
|
661 |
msgid "But no %s settings were found. Please complete all fields in %s settings and save the settings."
|
662 |
msgstr ""
|
663 |
|
664 |
-
#: src/addons/googlecloud.php:
|
665 |
msgid "However, subsequent access attempts failed:"
|
666 |
msgstr ""
|
667 |
|
668 |
-
#: src/addons/googlecloud.php:
|
669 |
msgid "Success"
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: src/addons/googlecloud.php:
|
673 |
msgid "you have authenticated your %s account."
|
674 |
msgstr ""
|
675 |
|
676 |
-
#: src/addons/googlecloud.php:
|
677 |
msgid "Name: %s."
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: src/addons/googlecloud.php:
|
681 |
msgid "You must save and authenticate before you can test your settings."
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: src/addons/googlecloud.php:
|
685 |
msgid "Failed"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: src/addons/googlecloud.php:
|
689 |
msgid "Failure"
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: src/addons/googlecloud.php:
|
693 |
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: src/addons/googlecloud.php:
|
697 |
msgid "We accessed the bucket, and were able to create files within it."
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: src/addons/googlecloud.php:
|
701 |
msgid "You must enter a project ID in order to be able to create a new bucket."
|
702 |
msgstr ""
|
703 |
|
704 |
-
#: src/addons/googlecloud.php:
|
705 |
msgid "%s logo"
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: src/addons/googlecloud.php:
|
709 |
msgid "Do not confuse %s with %s - they are separate things."
|
710 |
msgstr ""
|
711 |
|
712 |
-
#: src/addons/googlecloud.php:
|
713 |
msgid "%s does not allow authorization of sites hosted on direct IP addresses. You will need to change your site's address (%s) before you can use %s for storage."
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: src/addons/googlecloud.php:
|
717 |
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
718 |
msgstr ""
|
719 |
|
720 |
-
#: src/addons/googlecloud.php:
|
721 |
msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section."
|
722 |
msgstr ""
|
723 |
|
724 |
-
#: src/addons/googlecloud.php:
|
725 |
msgid "Select 'Web Application' as the application type."
|
726 |
msgstr ""
|
727 |
|
728 |
-
#: src/addons/googlecloud.php:
|
729 |
msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked"
|
730 |
msgstr ""
|
731 |
|
732 |
-
#: src/addons/googlecloud.php:
|
733 |
msgid "Client ID"
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: src/addons/googlecloud.php:
|
737 |
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
738 |
msgstr ""
|
739 |
|
740 |
-
#: src/addons/googlecloud.php:
|
741 |
msgid "Client Secret"
|
742 |
msgstr ""
|
743 |
|
744 |
-
#: src/addons/googlecloud.php:
|
745 |
msgid "Project ID"
|
746 |
msgstr ""
|
747 |
|
748 |
-
#: src/addons/googlecloud.php:
|
749 |
msgid "Enter the ID of the %s project you wish to use here."
|
750 |
msgstr ""
|
751 |
|
752 |
-
#: src/addons/googlecloud.php:
|
753 |
msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you."
|
754 |
msgstr ""
|
755 |
|
756 |
-
#: src/addons/googlecloud.php:
|
757 |
msgid "Otherwise, you can leave it blank."
|
758 |
msgstr ""
|
759 |
|
760 |
-
#: src/addons/googlecloud.php:
|
761 |
msgid "Go here for more information."
|
762 |
msgstr ""
|
763 |
|
764 |
-
#: src/addons/googlecloud.php:
|
765 |
msgid "Bucket"
|
766 |
msgstr ""
|
767 |
|
768 |
-
#: src/addons/googlecloud.php:
|
769 |
msgid "Enter the name of the %s bucket you wish to use here."
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: src/addons/googlecloud.php:
|
773 |
msgid "See Google's guidelines on bucket naming by following this link."
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: src/addons/googlecloud.php:
|
777 |
msgid "You must use a bucket name that is unique, for all %s users."
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: src/addons/googlecloud.php:
|
781 |
msgid "Storage class"
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: src/addons/googlecloud.php:
|
785 |
msgid "Read more about storage classes"
|
786 |
msgstr ""
|
787 |
|
788 |
-
#: src/addons/googlecloud.php:
|
789 |
msgid "(Read more)"
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: src/addons/googlecloud.php:
|
793 |
msgid "This setting applies only when a new bucket is being created."
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: src/addons/googlecloud.php:
|
797 |
msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability."
|
798 |
msgstr ""
|
799 |
|
800 |
-
#: src/addons/googlecloud.php:
|
801 |
msgid "Bucket location"
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: src/addons/googlecloud.php:
|
805 |
msgid "Read more about bucket locations"
|
806 |
msgstr ""
|
807 |
|
808 |
-
#: src/addons/googlecloud.php:
|
809 |
msgid "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem)."
|
810 |
msgstr ""
|
811 |
|
812 |
-
#: src/addons/googlecloud.php:
|
813 |
msgid "Account holder's name: %s."
|
814 |
msgstr ""
|
815 |
|
@@ -821,7 +821,7 @@ msgstr ""
|
|
821 |
msgid "Supported backup plugins: %s"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: src/addons/importer.php:276, src/admin.php:
|
825 |
msgid "Backup created by: %s."
|
826 |
msgstr ""
|
827 |
|
@@ -845,43 +845,43 @@ msgstr ""
|
|
845 |
msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to."
|
846 |
msgstr ""
|
847 |
|
848 |
-
#: src/addons/incremental.php:
|
849 |
msgid "None"
|
850 |
msgstr ""
|
851 |
|
852 |
-
#: src/addons/incremental.php:
|
853 |
msgid "Every hour"
|
854 |
msgstr ""
|
855 |
|
856 |
-
#: src/addons/incremental.php:
|
857 |
msgid "Every %s hours"
|
858 |
msgstr ""
|
859 |
|
860 |
-
#: src/addons/incremental.php:
|
861 |
msgid "Daily"
|
862 |
msgstr ""
|
863 |
|
864 |
-
#: src/addons/incremental.php:
|
865 |
msgid "Weekly"
|
866 |
msgstr ""
|
867 |
|
868 |
-
#: src/addons/incremental.php:
|
869 |
msgid "Fortnightly"
|
870 |
msgstr ""
|
871 |
|
872 |
-
#: src/addons/incremental.php:
|
873 |
msgid "Monthly"
|
874 |
msgstr ""
|
875 |
|
876 |
-
#: src/addons/incremental.php:
|
877 |
msgid "And then add an incremental backup"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: src/addons/incremental.php:
|
881 |
msgid "Tell me more about incremental backups"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: src/addons/incremental.php:
|
885 |
msgid "Tell me more"
|
886 |
msgstr ""
|
887 |
|
@@ -905,7 +905,7 @@ msgstr ""
|
|
905 |
msgid "Please make sure that you have made a note of the password!"
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: src/addons/lockadmin.php:171, src/addons/moredatabase.php:241, src/addons/sftp.php:458, src/addons/webdav.php:194, src/admin.php:
|
909 |
msgid "Password"
|
910 |
msgstr ""
|
911 |
|
@@ -977,369 +977,369 @@ msgstr ""
|
|
977 |
msgid "Read this article to see step-by-step how it's done."
|
978 |
msgstr ""
|
979 |
|
980 |
-
#: src/addons/migrator.php:
|
981 |
msgid "back"
|
982 |
msgstr ""
|
983 |
|
984 |
-
#: src/addons/migrator.php:
|
985 |
msgid "Restore an existing backup set onto this site"
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: src/addons/migrator.php:
|
989 |
-
msgid "To import a backup set, go to the \"Existing
|
990 |
msgstr ""
|
991 |
|
992 |
-
#: src/addons/migrator.php:
|
993 |
msgid "This site has no backups to restore from yet."
|
994 |
msgstr ""
|
995 |
|
996 |
-
#: src/addons/migrator.php:
|
997 |
msgid "After pressing this button, you will be given the option to choose which components you wish to migrate"
|
998 |
msgstr ""
|
999 |
|
1000 |
-
#: src/addons/migrator.php:
|
1001 |
msgid "Restore"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
-
#: src/addons/migrator.php:
|
1005 |
msgid "For incremental backups, you will be able to choose which increments to restore at a later stage."
|
1006 |
msgstr ""
|
1007 |
|
1008 |
-
#: src/addons/migrator.php:
|
1009 |
msgid "Disabled this plugin: %s: re-activate it manually when you are ready."
|
1010 |
msgstr ""
|
1011 |
|
1012 |
-
#: src/addons/migrator.php:
|
1013 |
msgid "Search / replace database"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
-
#: src/addons/migrator.php:
|
1017 |
msgid "Search for"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
-
#: src/addons/migrator.php:
|
1021 |
msgid "Replace with"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
-
#: src/addons/migrator.php:
|
1025 |
msgid "Failure: No %s was given."
|
1026 |
msgstr ""
|
1027 |
|
1028 |
-
#: src/addons/migrator.php:
|
1029 |
msgid "search term"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
-
#: src/addons/migrator.php:
|
1033 |
msgid "Return to UpdraftPlus Configuration"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
-
#: src/addons/migrator.php:
|
1037 |
msgid "This can easily destroy your site; so, use it with care!"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
-
#: src/addons/migrator.php:
|
1041 |
msgid "A search/replace cannot be undone - are you sure you want to do this?"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
-
#: src/addons/migrator.php:
|
1045 |
msgid "Rows per batch"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
-
#: src/addons/migrator.php:
|
1049 |
msgid "These tables only"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
-
#: src/addons/migrator.php:
|
1053 |
msgid "Enter a comma-separated list; otherwise, leave blank for all tables."
|
1054 |
msgstr ""
|
1055 |
|
1056 |
-
#: src/addons/migrator.php:
|
1057 |
msgid "Go"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
-
#: src/addons/migrator.php:
|
1061 |
msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)."
|
1062 |
msgstr ""
|
1063 |
|
1064 |
-
#: src/addons/migrator.php:
|
1065 |
msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site. Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https."
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: src/addons/migrator.php:
|
1069 |
msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem. If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced."
|
1070 |
msgstr ""
|
1071 |
|
1072 |
-
#: src/addons/migrator.php:
|
1073 |
msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address."
|
1074 |
msgstr ""
|
1075 |
|
1076 |
-
#: src/addons/migrator.php:
|
1077 |
msgid "Processed plugin:"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
-
#: src/addons/migrator.php:
|
1081 |
msgid "Network activating theme:"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
-
#: src/addons/migrator.php:
|
1085 |
msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
-
#: src/addons/migrator.php:
|
1089 |
msgid "WordPress core"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
-
#: src/addons/migrator.php:
|
1093 |
msgid "other content from wp-content"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
-
#: src/addons/migrator.php:
|
1097 |
msgid "Must-use plugins"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
-
#: src/addons/migrator.php:
|
1101 |
msgid "Importing a single site into a multisite install"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
-
#: src/addons/migrator.php:
|
1105 |
msgid "This feature requires %s version %s or later"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
-
#: src/addons/migrator.php:
|
1109 |
msgid "This feature is not compatible with %s"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
-
#: src/addons/migrator.php:
|
1113 |
msgid "Information needed to continue:"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: src/addons/migrator.php:
|
1117 |
msgid "Enter details for where this new site is to live within your multisite install:"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: src/addons/migrator.php:
|
1121 |
msgid "You must use lower-case letters or numbers for the site path, only."
|
1122 |
msgstr ""
|
1123 |
|
1124 |
-
#: src/addons/migrator.php:
|
1125 |
msgid "Attribute imported content to user"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
-
#: src/addons/migrator.php:
|
1129 |
msgid "Database restoration options:"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: src/addons/migrator.php:
|
1133 |
msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
-
#: src/addons/migrator.php:
|
1137 |
msgid "Search and replace site location in the database (migrate)"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
-
#: src/addons/migrator.php:
|
1141 |
msgid "Migrated site (from UpdraftPlus)"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
-
#: src/addons/migrator.php:
|
1145 |
msgid "Required information for restoring this backup was not given (%s)"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
-
#: src/addons/migrator.php:
|
1149 |
msgid "New site:"
|
1150 |
msgstr ""
|
1151 |
|
1152 |
-
#: src/addons/migrator.php:
|
1153 |
msgid "Error when creating new site at your chosen address:"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
-
#: src/addons/migrator.php:
|
1157 |
msgid "Failed: the %s operation was not able to start."
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: src/addons/migrator.php:
|
1161 |
msgid "search and replace"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
-
#: src/addons/migrator.php:
|
1165 |
msgid "Failed: we did not understand the result returned by the %s operation."
|
1166 |
msgstr ""
|
1167 |
|
1168 |
-
#: src/addons/migrator.php:
|
1169 |
msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually."
|
1170 |
msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually."
|
1171 |
msgstr[0] ""
|
1172 |
msgstr[1] ""
|
1173 |
|
1174 |
-
#: src/addons/migrator.php:
|
1175 |
msgid "Database: search and replace site URL"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
-
#: src/addons/migrator.php:
|
1179 |
msgid "Error: unexpected empty parameter (%s, %s)"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
-
#: src/addons/migrator.php:
|
1183 |
msgid "Nothing to do: the site URL is already: %s"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
-
#: src/addons/migrator.php:
|
1187 |
msgid "Warning: the database's site URL (%s) is different to what we expected (%s)"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
-
#: src/addons/migrator.php:
|
1191 |
msgid "Warning: the database's home URL (%s) is different to what we expected (%s)"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
-
#: src/addons/migrator.php:
|
1195 |
msgid "Could not get list of tables"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: src/addons/migrator.php:
|
1199 |
msgid "Search and replacing table:"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#: src/addons/migrator.php:
|
1203 |
msgid "skipped (not in list)"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#: src/addons/migrator.php:
|
1207 |
msgid "already done"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#: src/addons/migrator.php:
|
1211 |
msgid "Tables examined:"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#: src/addons/migrator.php:
|
1215 |
msgid "Rows examined:"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#: src/addons/migrator.php:
|
1219 |
msgid "Changes made:"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#: src/addons/migrator.php:
|
1223 |
msgid "SQL update commands run:"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
-
#: src/addons/migrator.php:
|
1227 |
msgid "Errors:"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
-
#: src/addons/migrator.php:
|
1231 |
msgid "Time taken (seconds):"
|
1232 |
msgstr ""
|
1233 |
|
1234 |
-
#: src/addons/migrator.php:
|
1235 |
msgid "the database query being run was:"
|
1236 |
msgstr ""
|
1237 |
|
1238 |
-
#: src/addons/migrator.php:
|
1239 |
msgid "rows: %d"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#: src/addons/migrator.php:
|
1243 |
msgid "A PHP exception (%s) has occurred: %s"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#: src/addons/migrator.php:
|
1247 |
msgid "A PHP fatal error (%s) has occurred: %s"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
-
#: src/addons/migrator.php:
|
1251 |
msgid "\"%s\" has no primary key, manual change needed on row %s."
|
1252 |
msgstr ""
|
1253 |
|
1254 |
-
#: src/addons/migrator.php:
|
1255 |
msgid "Send a backup to another site"
|
1256 |
msgstr ""
|
1257 |
|
1258 |
-
#: src/addons/migrator.php:
|
1259 |
msgid "Add a site"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
-
#: src/addons/migrator.php:
|
1263 |
msgid "To add a site as a destination for sending to, enter that site's key below."
|
1264 |
msgstr ""
|
1265 |
|
1266 |
-
#: src/addons/migrator.php:
|
1267 |
msgid "Keys for a site are created in the section \"receive a backup from a remote site\"."
|
1268 |
msgstr ""
|
1269 |
|
1270 |
-
#: src/addons/migrator.php:
|
1271 |
msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section."
|
1272 |
msgstr ""
|
1273 |
|
1274 |
-
#: src/addons/migrator.php:
|
1275 |
msgid "How do I get a site's key?"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
-
#: src/addons/migrator.php:
|
1279 |
msgid "Site key"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
-
#: src/addons/migrator.php:
|
1283 |
msgid "Paste key here"
|
1284 |
msgstr ""
|
1285 |
|
1286 |
-
#: src/addons/migrator.php:
|
1287 |
msgid "Add site"
|
1288 |
msgstr ""
|
1289 |
|
1290 |
-
#: src/addons/migrator.php:
|
1291 |
msgid "Receive a backup from a remote site"
|
1292 |
msgstr ""
|
1293 |
|
1294 |
-
#: src/addons/migrator.php:
|
1295 |
msgid "To allow another site to send a backup to this site, create a key below. When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)."
|
1296 |
msgstr ""
|
1297 |
|
1298 |
-
#: src/addons/migrator.php:
|
1299 |
msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
-
#: src/addons/migrator.php:
|
1303 |
msgid "Enter your chosen name"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
-
#: src/addons/migrator.php:
|
1307 |
msgid "Key"
|
1308 |
msgstr ""
|
1309 |
|
1310 |
-
#: src/addons/migrator.php:
|
1311 |
msgid "Encryption key size:"
|
1312 |
msgstr ""
|
1313 |
|
1314 |
-
#: src/addons/migrator.php:
|
1315 |
msgid "%s bits"
|
1316 |
msgstr ""
|
1317 |
|
1318 |
-
#: src/addons/migrator.php:
|
1319 |
msgid "easy to break, fastest"
|
1320 |
msgstr ""
|
1321 |
|
1322 |
-
#: src/addons/migrator.php:
|
1323 |
msgid "faster (possibility for slow PHP installs)"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
-
#: src/addons/migrator.php:
|
1327 |
msgid "%s bytes"
|
1328 |
msgstr ""
|
1329 |
|
1330 |
-
#: src/addons/migrator.php:
|
1331 |
msgid "recommended"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
-
#: src/addons/migrator.php:
|
1335 |
msgid "slower, strongest"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
-
#: src/addons/migrator.php:
|
1339 |
msgid "Create key"
|
1340 |
msgstr ""
|
1341 |
|
1342 |
-
#: src/addons/migrator.php:
|
1343 |
msgid "Your new key:"
|
1344 |
msgstr ""
|
1345 |
|
@@ -1375,7 +1375,7 @@ msgstr ""
|
|
1375 |
msgid "%s total table(s) found; %s with the indicated prefix."
|
1376 |
msgstr ""
|
1377 |
|
1378 |
-
#: src/addons/moredatabase.php:144, src/admin.php:
|
1379 |
msgid "Messages:"
|
1380 |
msgstr ""
|
1381 |
|
@@ -1427,7 +1427,7 @@ msgstr ""
|
|
1427 |
msgid "Enter username."
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: src/addons/moredatabase.php:240, src/addons/sftp.php:451, src/addons/webdav.php:188, src/admin.php:
|
1431 |
msgid "Username"
|
1432 |
msgstr ""
|
1433 |
|
@@ -1447,7 +1447,7 @@ msgstr ""
|
|
1447 |
msgid "Enter database."
|
1448 |
msgstr ""
|
1449 |
|
1450 |
-
#: src/addons/moredatabase.php:242, src/addons/reporting.php:276, src/addons/wp-cli.php:432, src/admin.php:
|
1451 |
msgid "Database"
|
1452 |
msgstr ""
|
1453 |
|
@@ -1491,19 +1491,19 @@ msgstr ""
|
|
1491 |
msgid "If you enter text here, it is used to encrypt database backups (Rijndael). <strong>Do make a separate record of it and do not lose it, or all your backups <em>will</em> be useless.</strong> This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)."
|
1492 |
msgstr ""
|
1493 |
|
1494 |
-
#: src/addons/moredatabase.php:
|
1495 |
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
1496 |
msgstr ""
|
1497 |
|
1498 |
-
#: src/addons/moredatabase.php:
|
1499 |
msgid "You should backup all tables unless you are an expert in the internals of the WordPress database."
|
1500 |
msgstr ""
|
1501 |
|
1502 |
-
#: src/addons/moredatabase.php:
|
1503 |
msgid "WordPress database"
|
1504 |
msgstr ""
|
1505 |
|
1506 |
-
#: src/addons/moredatabase.php:
|
1507 |
msgid "tables"
|
1508 |
msgstr ""
|
1509 |
|
@@ -1511,7 +1511,7 @@ msgstr ""
|
|
1511 |
msgid "(None configured)"
|
1512 |
msgstr ""
|
1513 |
|
1514 |
-
#: src/addons/morefiles.php:85, src/admin.php:
|
1515 |
msgctxt "(verb)"
|
1516 |
msgid "Download"
|
1517 |
msgstr ""
|
@@ -1592,7 +1592,7 @@ msgstr ""
|
|
1592 |
msgid "Exclude these:"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
-
#: src/addons/morefiles.php:347, src/admin.php:
|
1596 |
msgid "If entering multiple files/directories, then separate them with commas. For entities at the top level, you can use a * at the start or end of the entry as a wildcard."
|
1597 |
msgstr ""
|
1598 |
|
@@ -1628,7 +1628,7 @@ msgstr ""
|
|
1628 |
msgid "Go up a directory"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
-
#: src/addons/morefiles.php:875, src/admin.php:
|
1632 |
msgid "Cancel"
|
1633 |
msgstr ""
|
1634 |
|
@@ -1644,11 +1644,11 @@ msgstr ""
|
|
1644 |
msgid "(as many as you like)"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
-
#: src/addons/morestorage.php:81, src/admin.php:
|
1648 |
msgid "Currently enabled"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
-
#: src/addons/morestorage.php:81, src/admin.php:
|
1652 |
msgid "Currently disabled"
|
1653 |
msgstr ""
|
1654 |
|
@@ -1668,7 +1668,7 @@ msgstr ""
|
|
1668 |
msgid "(Nothing has been logged yet)"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
-
#: src/addons/multisite.php:96, src/addons/multisite.php:
|
1672 |
msgid "UpdraftPlus Backups"
|
1673 |
msgstr ""
|
1674 |
|
@@ -1676,27 +1676,27 @@ msgstr ""
|
|
1676 |
msgid "Multisite Install"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
-
#: src/addons/multisite.php:
|
1680 |
msgid "Uploads"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
-
#: src/addons/multisite.php:
|
1684 |
msgid "Which site to restore"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
-
#: src/addons/multisite.php:
|
1688 |
msgid "All sites"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: src/addons/multisite.php:
|
1692 |
msgid "may include some site-wide data"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: src/addons/multisite.php:
|
1696 |
msgid "Read more..."
|
1697 |
msgstr ""
|
1698 |
|
1699 |
-
#: src/addons/multisite.php:
|
1700 |
msgid "Blog uploads"
|
1701 |
msgstr ""
|
1702 |
|
@@ -1708,123 +1708,123 @@ msgstr ""
|
|
1708 |
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
-
#: src/addons/onedrive.php:
|
1712 |
msgid "%s download: failed: file not found"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
-
#: src/addons/onedrive.php:
|
1716 |
msgid "An error response was received; HTTP code:"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
-
#: src/addons/onedrive.php:
|
1720 |
msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks."
|
1721 |
msgstr ""
|
1722 |
|
1723 |
-
#: src/addons/onedrive.php:
|
1724 |
msgid "To remove any block, please go here."
|
1725 |
msgstr ""
|
1726 |
|
1727 |
-
#: src/addons/onedrive.php:
|
1728 |
msgid "Your IP address:"
|
1729 |
msgstr ""
|
1730 |
|
1731 |
-
#: src/addons/onedrive.php:
|
1732 |
msgid "UpdraftPlus.com has responded with 'Access Denied'."
|
1733 |
msgstr ""
|
1734 |
|
1735 |
-
#: src/addons/onedrive.php:
|
1736 |
msgid "It appears that your web server's IP Address (%s) is blocked."
|
1737 |
msgstr ""
|
1738 |
|
1739 |
-
#: src/addons/onedrive.php:
|
1740 |
msgid "To remove the block, please go here."
|
1741 |
msgstr ""
|
1742 |
|
1743 |
-
#: src/addons/onedrive.php:
|
1744 |
msgid "Please re-authorize the connection to your %s account."
|
1745 |
msgstr ""
|
1746 |
|
1747 |
-
#: src/addons/onedrive.php:
|
1748 |
msgid "Account is not authorized (%s)."
|
1749 |
msgstr ""
|
1750 |
|
1751 |
-
#: src/addons/onedrive.php:
|
1752 |
msgid "%s error: %s"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
-
#: src/addons/onedrive.php:
|
1756 |
msgid "Authentication"
|
1757 |
msgstr ""
|
1758 |
|
1759 |
-
#: src/addons/onedrive.php:
|
1760 |
msgid "Your %s quota usage: %s %% used, %s available"
|
1761 |
msgstr ""
|
1762 |
|
1763 |
-
#: src/addons/onedrive.php:
|
1764 |
msgid "Your %s account name: %s"
|
1765 |
msgstr ""
|
1766 |
|
1767 |
-
#: src/addons/onedrive.php:
|
1768 |
msgid "OneDrive"
|
1769 |
msgstr ""
|
1770 |
|
1771 |
-
#: src/addons/onedrive.php:
|
1772 |
msgid "The %s authentication could not go ahead, because something else on your site is breaking it. Try disabling your other plugins and switching to a default theme. (Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins. Turning off any debugging settings may also help)."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
-
#: src/addons/onedrive.php:
|
1776 |
msgid "authorization failed:"
|
1777 |
msgstr ""
|
1778 |
|
1779 |
-
#: src/addons/onedrive.php:
|
1780 |
msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL. As such, you must use the main %s %s App to authenticate with your account."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
-
#: src/addons/onedrive.php:
|
1784 |
msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
-
#: src/addons/onedrive.php:
|
1788 |
msgid "Create OneDrive credentials in your OneDrive developer console."
|
1789 |
msgstr ""
|
1790 |
|
1791 |
-
#: src/addons/onedrive.php:
|
1792 |
msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
-
#: src/addons/onedrive.php:
|
1796 |
msgid "this privacy policy"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
-
#: src/addons/onedrive.php:
|
1800 |
msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here."
|
1801 |
msgstr ""
|
1802 |
|
1803 |
-
#: src/addons/onedrive.php:
|
1804 |
msgid "folder"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
-
#: src/addons/onedrive.php:
|
1808 |
msgid "N.B. %s is not case-sensitive."
|
1809 |
msgstr ""
|
1810 |
|
1811 |
-
#: src/addons/onedrive.php:
|
1812 |
msgid "Account type"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
-
#: src/addons/onedrive.php:
|
1816 |
msgid "OneDrive International"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
-
#: src/addons/onedrive.php:
|
1820 |
msgid "OneDrive Germany"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
-
#: src/addons/onedrive.php:
|
1824 |
msgid "Authenticate with %s"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
-
#: src/addons/onedrive.php:
|
1828 |
msgid "(You appear to be already authenticated)."
|
1829 |
msgstr ""
|
1830 |
|
@@ -1832,7 +1832,7 @@ msgstr ""
|
|
1832 |
msgid "Your label for this backup (optional)"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
-
#: src/addons/reporting.php:86, src/addons/reporting.php:197, src/class-updraftplus.php:
|
1836 |
msgid "Backup of:"
|
1837 |
msgstr ""
|
1838 |
|
@@ -1852,7 +1852,7 @@ msgstr ""
|
|
1852 |
msgid "Backup made by %s"
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#: src/addons/reporting.php:198, src/class-updraftplus.php:
|
1856 |
msgid "Latest status:"
|
1857 |
msgstr ""
|
1858 |
|
@@ -1880,11 +1880,11 @@ msgstr ""
|
|
1880 |
msgid "Time taken:"
|
1881 |
msgstr ""
|
1882 |
|
1883 |
-
#: src/addons/reporting.php:239, src/admin.php:
|
1884 |
msgid "Uploaded to:"
|
1885 |
msgstr ""
|
1886 |
|
1887 |
-
#: src/addons/reporting.php:281, src/class-updraftplus.php:
|
1888 |
msgid "The log file has been attached to this email."
|
1889 |
msgstr ""
|
1890 |
|
@@ -1916,11 +1916,11 @@ msgstr ""
|
|
1916 |
msgid "Log all messages to syslog (only server admins are likely to want this)"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
-
#: src/addons/reporting.php:539, src/admin.php:
|
1920 |
msgid "To send to more than one address, separate each address with a comma."
|
1921 |
msgstr ""
|
1922 |
|
1923 |
-
#: src/addons/reporting.php:541, src/admin.php:
|
1924 |
msgid "Send a report only when there are warnings/errors"
|
1925 |
msgstr ""
|
1926 |
|
@@ -1928,7 +1928,7 @@ msgstr ""
|
|
1928 |
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive."
|
1929 |
msgstr ""
|
1930 |
|
1931 |
-
#: src/addons/reporting.php:543, src/admin.php:
|
1932 |
msgid "When the Email storage method is enabled, also send the backup"
|
1933 |
msgstr ""
|
1934 |
|
@@ -1940,7 +1940,7 @@ msgstr ""
|
|
1940 |
msgid "Use this option to only send database backups when sending to email, and skip other components."
|
1941 |
msgstr ""
|
1942 |
|
1943 |
-
#: src/addons/reporting.php:545, src/admin.php:
|
1944 |
msgid "Only email the database backup"
|
1945 |
msgstr ""
|
1946 |
|
@@ -1992,7 +1992,7 @@ msgstr ""
|
|
1992 |
msgid "AWS authentication failed"
|
1993 |
msgstr ""
|
1994 |
|
1995 |
-
#: src/addons/s3-enhanced.php:185, src/methods/openstack2.php:150, src/methods/s3.php:
|
1996 |
msgid "Region"
|
1997 |
msgstr ""
|
1998 |
|
@@ -2000,7 +2000,7 @@ msgstr ""
|
|
2000 |
msgid "Failure: We could not successfully access or create such a bucket. Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)."
|
2001 |
msgstr ""
|
2002 |
|
2003 |
-
#: src/addons/s3-enhanced.php:212, src/methods/s3.php:
|
2004 |
msgid "The error reported by %s was:"
|
2005 |
msgstr ""
|
2006 |
|
@@ -2337,11 +2337,11 @@ msgstr ""
|
|
2337 |
msgid "No previous backup found to add an increment to."
|
2338 |
msgstr ""
|
2339 |
|
2340 |
-
#: src/addons/wp-cli.php:110, src/admin.php:
|
2341 |
msgid "You have chosen to backup a database, but no tables have been selected"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
-
#: src/addons/wp-cli.php:116, src/admin.php:
|
2345 |
msgid "If you exclude both the database and the files, then you have excluded everything!"
|
2346 |
msgstr ""
|
2347 |
|
@@ -2357,11 +2357,11 @@ msgstr ""
|
|
2357 |
msgid "Invalid Job Id"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
-
#: src/addons/wp-cli.php:372, src/templates/wp-admin/settings/existing-backups-table.php:
|
2361 |
msgid "Backup sent to remote site - not available for download."
|
2362 |
msgstr ""
|
2363 |
|
2364 |
-
#: src/addons/wp-cli.php:374, src/templates/wp-admin/settings/existing-backups-table.php:
|
2365 |
msgid "Site"
|
2366 |
msgstr ""
|
2367 |
|
@@ -2373,27 +2373,27 @@ msgstr ""
|
|
2373 |
msgid "Latest full backup found; identifier:"
|
2374 |
msgstr ""
|
2375 |
|
2376 |
-
#: src/addons/wp-cli.php:430, src/admin.php:
|
2377 |
msgid "unknown source"
|
2378 |
msgstr ""
|
2379 |
|
2380 |
-
#: src/addons/wp-cli.php:432, src/admin.php:
|
2381 |
msgid "Database (created by %s)"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
-
#: src/addons/wp-cli.php:438, src/admin.php:
|
2385 |
msgid "External database"
|
2386 |
msgstr ""
|
2387 |
|
2388 |
-
#: src/addons/wp-cli.php:450, src/admin.php:
|
2389 |
msgid "Files and database WordPress backup (created by %s)"
|
2390 |
msgstr ""
|
2391 |
|
2392 |
-
#: src/addons/wp-cli.php:450, src/admin.php:
|
2393 |
msgid "Files backup (created by %s)"
|
2394 |
msgstr ""
|
2395 |
|
2396 |
-
#: src/addons/wp-cli.php:519, src/admin.php:
|
2397 |
msgid "Error"
|
2398 |
msgstr ""
|
2399 |
|
@@ -2417,7 +2417,7 @@ msgstr ""
|
|
2417 |
msgid "UpdraftPlus Restoration: Progress"
|
2418 |
msgstr ""
|
2419 |
|
2420 |
-
#: src/addons/wp-cli.php:667, src/admin.php:
|
2421 |
msgid "Follow this link to download the log file for this restoration (needed for any support requests)."
|
2422 |
msgstr ""
|
2423 |
|
@@ -2445,1426 +2445,1474 @@ msgstr ""
|
|
2445 |
msgid "There are no incremental backup restore points available."
|
2446 |
msgstr ""
|
2447 |
|
2448 |
-
#: src/admin.php:
|
2449 |
msgid "template not found"
|
2450 |
msgstr ""
|
2451 |
|
2452 |
-
#: src/admin.php:
|
2453 |
msgid "Nothing currently scheduled"
|
2454 |
msgstr ""
|
2455 |
|
2456 |
-
#: src/admin.php:
|
2457 |
msgid "At the same time as the files backup"
|
2458 |
msgstr ""
|
2459 |
|
2460 |
-
#: src/admin.php:
|
2461 |
msgid "Files"
|
2462 |
msgstr ""
|
2463 |
|
2464 |
-
#: src/admin.php:
|
2465 |
msgid "Files and database"
|
2466 |
msgstr ""
|
2467 |
|
2468 |
-
#: src/admin.php:
|
2469 |
msgid "UpdraftPlus"
|
2470 |
msgstr ""
|
2471 |
|
2472 |
-
#: src/admin.php:
|
2473 |
msgid "UpdraftPlus News"
|
2474 |
msgstr ""
|
2475 |
|
2476 |
-
#: src/admin.php:
|
2477 |
msgid "Dismiss all UpdraftPlus news"
|
2478 |
msgstr ""
|
2479 |
|
2480 |
-
#: src/admin.php:
|
2481 |
msgid "Are you sure you want to dismiss all UpdraftPlus news forever?"
|
2482 |
msgstr ""
|
2483 |
|
2484 |
-
#: src/admin.php:
|
2485 |
msgid "You can test upgrading your site on an instant copy using UpdraftClone credits"
|
2486 |
msgstr ""
|
2487 |
|
2488 |
-
#: src/admin.php:
|
2489 |
msgid "go here to learn more"
|
2490 |
msgstr ""
|
2491 |
|
2492 |
-
#: src/admin.php:
|
2493 |
msgid "dismiss notice"
|
2494 |
msgstr ""
|
2495 |
|
2496 |
-
#: src/admin.php:
|
2497 |
msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits."
|
2498 |
msgstr ""
|
2499 |
|
2500 |
-
#: src/admin.php:
|
2501 |
msgid "Dismiss notice"
|
2502 |
msgstr ""
|
2503 |
|
2504 |
-
#: src/admin.php:
|
2505 |
msgid "Backup"
|
2506 |
msgstr ""
|
2507 |
|
2508 |
-
#: src/admin.php:
|
2509 |
msgid "Migrate / Clone"
|
2510 |
msgstr ""
|
2511 |
|
2512 |
-
#: src/admin.php:
|
2513 |
msgid "Settings"
|
2514 |
msgstr ""
|
2515 |
|
2516 |
-
#: src/admin.php:
|
2517 |
msgid "Advanced Tools"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
-
#: src/admin.php:
|
2521 |
msgid "Extensions"
|
2522 |
msgstr ""
|
2523 |
|
2524 |
-
#: src/admin.php:
|
2525 |
msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive."
|
2526 |
msgstr ""
|
2527 |
|
2528 |
-
#: src/admin.php:
|
2529 |
msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..."
|
2530 |
msgstr ""
|
2531 |
|
2532 |
-
#: src/admin.php:
|
2533 |
msgid "Rescanning remote and local storage for backup sets..."
|
2534 |
msgstr ""
|
2535 |
|
2536 |
-
#: src/admin.php:
|
2537 |
msgid "You have chosen to backup files, but no file entities have been selected"
|
2538 |
msgstr ""
|
2539 |
|
2540 |
-
#: src/admin.php:
|
2541 |
msgid "The restore operation has begun. Do not close your browser until it reports itself as having finished."
|
2542 |
msgstr ""
|
2543 |
|
2544 |
-
#: src/admin.php:
|
2545 |
msgid "The web server returned an error code (try again, or check your web server logs)"
|
2546 |
msgstr ""
|
2547 |
|
2548 |
-
#: src/admin.php:
|
2549 |
msgid "The new user's RackSpace console password is (this will not be shown again):"
|
2550 |
msgstr ""
|
2551 |
|
2552 |
-
#: src/admin.php:
|
2553 |
msgid "Trying..."
|
2554 |
msgstr ""
|
2555 |
|
2556 |
-
#: src/admin.php:
|
2557 |
msgid "Fetching..."
|
2558 |
msgstr ""
|
2559 |
|
2560 |
-
#: src/admin.php:
|
2561 |
msgid "calculating..."
|
2562 |
msgstr ""
|
2563 |
|
2564 |
-
#: src/admin.php:
|
2565 |
msgid "Begun looking for this entity"
|
2566 |
msgstr ""
|
2567 |
|
2568 |
-
#: src/admin.php:
|
2569 |
msgid "Some files are still downloading or being processed - please wait."
|
2570 |
msgstr ""
|
2571 |
|
2572 |
-
#: src/admin.php:
|
2573 |
msgid "Processing files - please wait..."
|
2574 |
msgstr ""
|
2575 |
|
2576 |
-
#: src/admin.php:
|
2577 |
msgid "Error: the server sent an empty response."
|
2578 |
msgstr ""
|
2579 |
|
2580 |
-
#: src/admin.php:
|
2581 |
msgid "Warnings:"
|
2582 |
msgstr ""
|
2583 |
|
2584 |
-
#: src/admin.php:
|
2585 |
msgid "Error: the server sent us a response which we did not understand."
|
2586 |
msgstr ""
|
2587 |
|
2588 |
-
#: src/admin.php:
|
2589 |
msgid "Error data:"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
-
#: src/admin.php:
|
2593 |
-
msgid "Existing
|
2594 |
msgstr ""
|
2595 |
|
2596 |
-
#: src/admin.php:
|
2597 |
msgid "File ready."
|
2598 |
msgstr ""
|
2599 |
|
2600 |
-
#: src/admin.php:
|
2601 |
msgid "Actions"
|
2602 |
msgstr ""
|
2603 |
|
2604 |
-
#: src/admin.php:
|
2605 |
msgid "Delete from your web server"
|
2606 |
msgstr ""
|
2607 |
|
2608 |
-
#: src/admin.php:
|
2609 |
msgid "Download to your computer"
|
2610 |
msgstr ""
|
2611 |
|
2612 |
-
#: src/admin.php:
|
2613 |
msgid "Browse contents"
|
2614 |
msgstr ""
|
2615 |
|
2616 |
-
#: src/admin.php:
|
2617 |
msgid "Download error: the server sent us a response which we did not understand."
|
2618 |
msgstr ""
|
2619 |
|
2620 |
-
#: src/admin.php:
|
2621 |
msgid "Requesting start of backup..."
|
2622 |
msgstr ""
|
2623 |
|
2624 |
-
#: src/admin.php:
|
2625 |
msgid "PHP information"
|
2626 |
msgstr ""
|
2627 |
|
2628 |
-
#: src/admin.php:
|
2629 |
msgid "Delete Old Directories"
|
2630 |
msgstr ""
|
2631 |
|
2632 |
-
#: src/admin.php:
|
2633 |
msgid "Raw backup history"
|
2634 |
msgstr ""
|
2635 |
|
2636 |
-
#: src/admin.php:
|
2637 |
msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))."
|
2638 |
msgstr ""
|
2639 |
|
2640 |
-
#: src/admin.php:
|
2641 |
msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern."
|
2642 |
msgstr ""
|
2643 |
|
2644 |
-
#: src/admin.php:
|
2645 |
msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you."
|
2646 |
msgstr ""
|
2647 |
|
2648 |
-
#: src/admin.php:
|
2649 |
msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
-
#: src/admin.php:
|
2653 |
msgid "Upload error:"
|
2654 |
msgstr ""
|
2655 |
|
2656 |
-
#: src/admin.php:
|
2657 |
msgid "This file does not appear to be an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)."
|
2658 |
msgstr ""
|
2659 |
|
2660 |
-
#: src/admin.php:
|
2661 |
msgid "Upload error"
|
2662 |
msgstr ""
|
2663 |
|
2664 |
-
#: src/admin.php:
|
2665 |
msgid "Follow this link to attempt decryption and download the database file to your computer."
|
2666 |
msgstr ""
|
2667 |
|
2668 |
-
#: src/admin.php:
|
2669 |
msgid "This decryption key will be attempted:"
|
2670 |
msgstr ""
|
2671 |
|
2672 |
-
#: src/admin.php:
|
2673 |
msgid "Unknown server response:"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
-
#: src/admin.php:
|
2677 |
msgid "Unknown server response status:"
|
2678 |
msgstr ""
|
2679 |
|
2680 |
-
#: src/admin.php:
|
2681 |
msgid "The file was uploaded."
|
2682 |
msgstr ""
|
2683 |
|
2684 |
-
#: src/admin.php:
|
2685 |
msgid "Backup Now"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
-
#: src/admin.php:
|
2689 |
msgid "Delete"
|
2690 |
msgstr ""
|
2691 |
|
2692 |
-
#: src/admin.php:
|
2693 |
msgid "Create"
|
2694 |
msgstr ""
|
2695 |
|
2696 |
-
#: src/admin.php:
|
2697 |
msgid "Upload"
|
2698 |
msgstr ""
|
2699 |
|
2700 |
-
#: src/admin.php:
|
2701 |
msgid "You did not select any components to restore. Please select at least one, and then try again."
|
2702 |
msgstr ""
|
2703 |
|
2704 |
-
#: src/admin.php:
|
2705 |
msgid "Close"
|
2706 |
msgstr ""
|
2707 |
|
2708 |
-
#: src/admin.php:
|
2709 |
msgid "Download log file"
|
2710 |
msgstr ""
|
2711 |
|
2712 |
-
#: src/admin.php:
|
2713 |
msgid "You have made changes to your settings, and not saved."
|
2714 |
msgstr ""
|
2715 |
|
2716 |
-
#: src/admin.php:
|
2717 |
msgid "Saving..."
|
2718 |
msgstr ""
|
2719 |
|
2720 |
-
#: src/admin.php:
|
2721 |
msgid "Connect"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
-
#: src/admin.php:
|
2725 |
msgid "Connecting..."
|
2726 |
msgstr ""
|
2727 |
|
2728 |
-
#: src/admin.php:
|
2729 |
msgid "Disconnect"
|
2730 |
msgstr ""
|
2731 |
|
2732 |
-
#: src/admin.php:
|
2733 |
msgid "Disconnecting..."
|
2734 |
msgstr ""
|
2735 |
|
2736 |
-
#: src/admin.php:
|
2737 |
msgid "Counting..."
|
2738 |
msgstr ""
|
2739 |
|
2740 |
-
#: src/admin.php:
|
2741 |
msgid "Update quota count"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
-
#: src/admin.php:
|
2745 |
msgid "Adding..."
|
2746 |
msgstr ""
|
2747 |
|
2748 |
-
#: src/admin.php:
|
2749 |
msgid "Resetting..."
|
2750 |
msgstr ""
|
2751 |
|
2752 |
-
#: src/admin.php:
|
2753 |
msgid "Creating..."
|
2754 |
msgstr ""
|
2755 |
|
2756 |
-
#: src/admin.php:
|
2757 |
msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup."
|
2758 |
msgstr ""
|
2759 |
|
2760 |
-
#: src/admin.php:
|
2761 |
msgid "Send to site:"
|
2762 |
msgstr ""
|
2763 |
|
2764 |
-
#: src/admin.php:
|
2765 |
msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly."
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: src/admin.php:
|
2769 |
msgid "Please give this key a name (e.g. indicate the site it is for):"
|
2770 |
msgstr ""
|
2771 |
|
2772 |
-
#: src/admin.php:
|
2773 |
msgid "key name"
|
2774 |
msgstr ""
|
2775 |
|
2776 |
-
#: src/admin.php:
|
2777 |
msgid "Deleting..."
|
2778 |
msgstr ""
|
2779 |
|
2780 |
-
#: src/admin.php:
|
2781 |
msgid "Please enter a valid URL"
|
2782 |
msgstr ""
|
2783 |
|
2784 |
-
#: src/admin.php:
|
2785 |
msgid "We requested to delete the file, but could not understand the server's response"
|
2786 |
msgstr ""
|
2787 |
|
2788 |
-
#: src/admin.php:
|
2789 |
msgid "Testing connection..."
|
2790 |
msgstr ""
|
2791 |
|
2792 |
-
#: src/admin.php:
|
2793 |
msgid "Send"
|
2794 |
msgstr ""
|
2795 |
|
2796 |
-
#: src/admin.php:
|
2797 |
msgid "With UpdraftPlus Premium, you can directly download individual files from here."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
-
#: src/admin.php:
|
2801 |
msgid "You should save your changes to ensure that they are used for making your backup."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
-
#: src/admin.php:
|
2805 |
msgid "Your export file will be of your displayed settings, not your saved ones."
|
2806 |
msgstr ""
|
2807 |
|
2808 |
-
#: src/admin.php:
|
2809 |
msgid "day"
|
2810 |
msgstr ""
|
2811 |
|
2812 |
-
#: src/admin.php:
|
2813 |
msgid "in the month"
|
2814 |
msgstr ""
|
2815 |
|
2816 |
-
#: src/admin.php:
|
2817 |
msgid "day(s)"
|
2818 |
msgstr ""
|
2819 |
|
2820 |
-
#: src/admin.php:
|
2821 |
msgid "hour(s)"
|
2822 |
msgstr ""
|
2823 |
|
2824 |
-
#: src/admin.php:
|
2825 |
msgid "week(s)"
|
2826 |
msgstr ""
|
2827 |
|
2828 |
-
#: src/admin.php:
|
2829 |
msgid "For backups older than"
|
2830 |
msgstr ""
|
2831 |
|
2832 |
-
#: src/admin.php:
|
2833 |
msgid "Processing..."
|
2834 |
msgstr ""
|
2835 |
|
2836 |
-
#: src/admin.php:
|
2837 |
msgid "Please fill in the required information."
|
2838 |
msgstr ""
|
2839 |
|
2840 |
-
#: src/admin.php:
|
2841 |
msgid "Test %s Settings"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
-
#: src/admin.php:
|
2845 |
msgid "Testing %s Settings..."
|
2846 |
msgstr ""
|
2847 |
|
2848 |
-
#: src/admin.php:
|
2849 |
msgid "%s settings test result:"
|
2850 |
msgstr ""
|
2851 |
|
2852 |
-
#: src/admin.php:
|
2853 |
msgid "Nothing yet logged"
|
2854 |
msgstr ""
|
2855 |
|
2856 |
-
#: src/admin.php:
|
2857 |
msgid "You have not yet selected a file to import."
|
2858 |
msgstr ""
|
2859 |
|
2860 |
-
#: src/admin.php:
|
2861 |
msgid "Error: The chosen file is corrupt. Please choose a valid UpdraftPlus export file."
|
2862 |
msgstr ""
|
2863 |
|
2864 |
-
#: src/admin.php:
|
2865 |
msgid "Importing..."
|
2866 |
msgstr ""
|
2867 |
|
2868 |
-
#: src/admin.php:
|
2869 |
msgid "This will import data from:"
|
2870 |
msgstr ""
|
2871 |
|
2872 |
-
#: src/admin.php:
|
2873 |
msgid "Which was exported on:"
|
2874 |
msgstr ""
|
2875 |
|
2876 |
-
#: src/admin.php:
|
2877 |
msgid "Do you want to carry out the import?"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
-
#: src/admin.php:
|
2881 |
msgid "Complete"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
-
#: src/admin.php:
|
2885 |
msgid "The backup has finished running"
|
2886 |
msgstr ""
|
2887 |
|
2888 |
-
#: src/admin.php:
|
2889 |
msgid "The backup was aborted"
|
2890 |
msgstr ""
|
2891 |
|
2892 |
-
#: src/admin.php:
|
2893 |
msgid "remote files deleted"
|
2894 |
msgstr ""
|
2895 |
|
2896 |
-
#: src/admin.php:
|
2897 |
msgid "HTTP code:"
|
2898 |
msgstr ""
|
2899 |
|
2900 |
-
#: src/admin.php:
|
2901 |
msgid "The file failed to upload. Please check the following:"
|
2902 |
msgstr ""
|
2903 |
|
2904 |
-
#: src/admin.php:
|
2905 |
msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size."
|
2906 |
msgstr ""
|
2907 |
|
2908 |
-
#: src/admin.php:
|
2909 |
msgid "The available memory on the server."
|
2910 |
msgstr ""
|
2911 |
|
2912 |
-
#: src/admin.php:
|
2913 |
msgid "That you are attempting to upload a zip file previously created by UpdraftPlus."
|
2914 |
msgstr ""
|
2915 |
|
2916 |
-
#: src/admin.php:
|
2917 |
msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs."
|
2918 |
msgstr ""
|
2919 |
|
2920 |
-
#: src/admin.php:
|
2921 |
msgid "Browsing zip file"
|
2922 |
msgstr ""
|
2923 |
|
2924 |
-
#: src/admin.php:
|
2925 |
msgid "Select a file to view information about it"
|
2926 |
msgstr ""
|
2927 |
|
2928 |
-
#: src/admin.php:
|
2929 |
msgid "Search"
|
2930 |
msgstr ""
|
2931 |
|
2932 |
-
#: src/admin.php:
|
2933 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
2934 |
msgstr ""
|
2935 |
|
2936 |
-
#: src/admin.php:
|
2937 |
msgid "Loading log file"
|
2938 |
msgstr ""
|
2939 |
|
2940 |
-
#: src/admin.php:
|
2941 |
msgid "Please enter a valid URL e.g http://example.com"
|
2942 |
msgstr ""
|
2943 |
|
2944 |
-
#: src/admin.php:
|
2945 |
msgid "Local backup upload has started; please check the log file to see the upload progress"
|
2946 |
msgstr ""
|
2947 |
|
2948 |
-
#: src/admin.php:
|
2949 |
msgid "You must select at least one remote storage destination to upload this backup set to."
|
2950 |
msgstr ""
|
2951 |
|
2952 |
-
#: src/admin.php:
|
2953 |
msgid "(already uploaded)"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
-
#: src/admin.php:
|
2957 |
msgid "Please specify the Microsoft OneDrive folder name, not the URL."
|
2958 |
msgstr ""
|
2959 |
|
2960 |
-
#: src/admin.php:
|
2961 |
msgid "UpdraftCentral Cloud"
|
2962 |
msgstr ""
|
2963 |
|
2964 |
-
#: src/admin.php:
|
2965 |
msgid "Connected. Requesting UpdraftCentral Key."
|
2966 |
msgstr ""
|
2967 |
|
2968 |
-
#: src/admin.php:
|
2969 |
msgid "Key created. Adding site to UpdraftCentral Cloud."
|
2970 |
msgstr ""
|
2971 |
|
2972 |
-
#: src/admin.php:
|
2973 |
msgid "Login successful."
|
2974 |
msgstr ""
|
2975 |
|
2976 |
-
#: src/admin.php:
|
2977 |
msgid "Please follow this link to open %s in a new window."
|
2978 |
msgstr ""
|
2979 |
|
2980 |
-
#: src/admin.php:
|
2981 |
msgid "Login successful; reloading information."
|
2982 |
msgstr ""
|
2983 |
|
2984 |
-
#: src/admin.php:
|
2985 |
msgid "Registration successful."
|
2986 |
msgstr ""
|
2987 |
|
2988 |
-
#: src/admin.php:
|
2989 |
msgid "Both email and password fields are required."
|
2990 |
msgstr ""
|
2991 |
|
2992 |
-
#: src/admin.php:
|
2993 |
msgid "An email is required and needs to be in a valid format."
|
2994 |
msgstr ""
|
2995 |
|
2996 |
-
#: src/admin.php:
|
2997 |
msgid "Trouble connecting? Try using an alternative method in the advanced security options."
|
2998 |
msgstr ""
|
2999 |
|
3000 |
-
#: src/admin.php:
|
3001 |
msgid "Verifying one-time password..."
|
3002 |
msgstr ""
|
3003 |
|
3004 |
-
#: src/admin.php:
|
3005 |
msgid "Perhaps you would want to login instead."
|
3006 |
msgstr ""
|
3007 |
|
3008 |
-
#: src/admin.php:
|
3009 |
msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud."
|
3010 |
msgstr ""
|
3011 |
|
3012 |
-
#: src/admin.php:
|
3013 |
msgid "Please wait while you are redirected to UpdraftCentral Cloud."
|
3014 |
msgstr ""
|
3015 |
|
3016 |
-
#: src/admin.php:
|
3017 |
msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed."
|
3018 |
msgstr ""
|
3019 |
|
3020 |
-
#: src/admin.php:
|
3021 |
msgid "You can also close this wizard."
|
3022 |
msgstr ""
|
3023 |
|
3024 |
-
#: src/admin.php:
|
3025 |
msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab."
|
3026 |
msgstr ""
|
3027 |
|
3028 |
-
#: src/admin.php:
|
3029 |
msgid "Warning: you have selected a lower version than your currently installed version. This may fail if you have components that are incompatible with earlier versions."
|
3030 |
msgstr ""
|
3031 |
|
3032 |
-
#: src/admin.php:
|
3033 |
msgid "The clone has been provisioned, and its data has been sent to it. Once the clone has finished deploying it, you will receive an email."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
-
#: src/admin.php:
|
3037 |
msgid "The preparation of the clone data has been aborted."
|
3038 |
msgstr ""
|
3039 |
|
3040 |
-
#: src/admin.php:
|
3041 |
msgid "Are you sure you want to remove this exclusion rule?"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
-
#: src/admin.php:
|
3045 |
msgid "Please select a file/folder which you would like to exclude"
|
3046 |
msgstr ""
|
3047 |
|
3048 |
-
#: src/admin.php:
|
3049 |
msgid "Please enter a file extension, like zip"
|
3050 |
msgstr ""
|
3051 |
|
3052 |
-
#: src/admin.php:
|
3053 |
msgid "Please enter a valid file extension"
|
3054 |
msgstr ""
|
3055 |
|
3056 |
-
#: src/admin.php:
|
3057 |
msgid "Please enter characters that begin the filename which you would like to exclude"
|
3058 |
msgstr ""
|
3059 |
|
3060 |
-
#: src/admin.php:
|
3061 |
msgid "Please enter a valid file name prefix"
|
3062 |
msgstr ""
|
3063 |
|
3064 |
-
#: src/admin.php:
|
3065 |
msgid "The exclusion rule which you are trying to add already exists"
|
3066 |
msgstr ""
|
3067 |
|
3068 |
-
#: src/admin.php:
|
3069 |
msgid "UpdraftClone key is required."
|
3070 |
msgstr ""
|
3071 |
|
3072 |
-
#: src/admin.php:
|
3073 |
msgid "Include your files in the backup"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
-
#: src/admin.php:
|
3077 |
msgid "File backup options"
|
3078 |
msgstr ""
|
3079 |
|
3080 |
-
#: src/admin.php:
|
3081 |
msgid "HTML was detected in the response. You may have a security module on your webserver blocking the restoration operation."
|
3082 |
msgstr ""
|
3083 |
|
3084 |
-
#: src/admin.php:
|
3085 |
msgid "You have not selected a restore path for your chosen backups"
|
3086 |
msgstr ""
|
3087 |
|
3088 |
-
#: src/admin.php:
|
3089 |
msgid "Try UpdraftVault!"
|
3090 |
msgstr ""
|
3091 |
|
3092 |
-
#: src/admin.php:
|
3093 |
msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus."
|
3094 |
msgstr ""
|
3095 |
|
3096 |
-
#: src/admin.php:
|
3097 |
msgid "Find out more here."
|
3098 |
msgstr ""
|
3099 |
|
3100 |
-
#: src/admin.php:
|
3101 |
msgid "Try it - 1 month for $1!"
|
3102 |
msgstr ""
|
3103 |
|
3104 |
-
#: src/admin.php:
|
3105 |
msgid "credentials"
|
3106 |
msgstr ""
|
3107 |
|
3108 |
-
#: src/admin.php:
|
3109 |
msgid "last activity: %d seconds ago"
|
3110 |
msgstr ""
|
3111 |
|
3112 |
-
#: src/admin.php:
|
3113 |
msgid "no recent activity; will offer resumption after: %d seconds"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
-
#: src/admin.php:
|
3117 |
msgid "Restoring %s1 files out of %s2"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
-
#: src/admin.php:
|
3121 |
msgid "Restoring table: %s"
|
3122 |
msgstr ""
|
3123 |
|
3124 |
-
#: src/admin.php:
|
3125 |
msgid "Finished"
|
3126 |
msgstr ""
|
3127 |
|
3128 |
-
#: src/admin.php:
|
3129 |
msgid "Begun"
|
3130 |
msgstr ""
|
3131 |
|
3132 |
-
#: src/admin.php:
|
3133 |
msgid "Downloading backup files if needed"
|
3134 |
msgstr ""
|
3135 |
|
3136 |
-
#: src/admin.php:
|
3137 |
msgid "Preparing backup files"
|
3138 |
msgstr ""
|
3139 |
|
3140 |
-
#: src/admin.php:
|
3141 |
msgid "Attempts by the browser to contact the website failed."
|
3142 |
msgstr ""
|
3143 |
|
3144 |
-
#: src/admin.php:
|
3145 |
msgid "Restore error:"
|
3146 |
msgstr ""
|
3147 |
|
3148 |
-
#: src/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3149 |
msgid "Add-Ons / Pro Support"
|
3150 |
msgstr ""
|
3151 |
|
3152 |
-
#: src/admin.php:
|
3153 |
msgid "An error occurred when fetching storage module options: "
|
3154 |
msgstr ""
|
3155 |
|
3156 |
-
#: src/admin.php:
|
3157 |
msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)."
|
3158 |
msgstr ""
|
3159 |
|
3160 |
-
#: src/admin.php:
|
3161 |
msgid "Welcome to UpdraftPlus!"
|
3162 |
msgstr ""
|
3163 |
|
3164 |
-
#: src/admin.php:
|
3165 |
msgid "To make a backup, just press the Backup Now button."
|
3166 |
msgstr ""
|
3167 |
|
3168 |
-
#: src/admin.php:
|
3169 |
msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab."
|
3170 |
msgstr ""
|
3171 |
|
3172 |
-
#: src/admin.php:
|
3173 |
msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)"
|
3174 |
msgstr ""
|
3175 |
|
3176 |
-
#: src/admin.php:
|
3177 |
msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting. No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled."
|
3178 |
msgstr ""
|
3179 |
|
3180 |
-
#: src/admin.php:
|
3181 |
msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups. UpdraftPlus could well run out of space. Contact your the operator of your server (e.g. your web hosting company) to resolve this issue."
|
3182 |
msgstr ""
|
3183 |
|
3184 |
-
#: src/admin.php:
|
3185 |
msgid "UpdraftPlus does not officially support versions of WordPress before %s. It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress."
|
3186 |
msgstr ""
|
3187 |
|
3188 |
-
#: src/admin.php:
|
3189 |
msgid "Your website is hosted using the %s web server."
|
3190 |
msgstr ""
|
3191 |
|
3192 |
-
#: src/admin.php:
|
3193 |
msgid "Please consult this FAQ if you have problems backing up."
|
3194 |
msgstr ""
|
3195 |
|
3196 |
-
#: src/admin.php:
|
3197 |
msgid "Notice"
|
3198 |
msgstr ""
|
3199 |
|
3200 |
-
#: src/admin.php:
|
3201 |
msgid "UpdraftPlus's debug mode is on. You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed. Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request."
|
3202 |
msgstr ""
|
3203 |
|
3204 |
-
#: src/admin.php:
|
3205 |
msgid "WordPress has a number (%d) of scheduled tasks which are overdue. Unless this is a development site, this probably means that the scheduler in your WordPress install is not working."
|
3206 |
msgstr ""
|
3207 |
|
3208 |
-
#: src/admin.php:
|
3209 |
msgid "Read this page for a guide to possible causes and how to fix it."
|
3210 |
msgstr ""
|
3211 |
|
3212 |
-
#: src/admin.php:
|
3213 |
msgid "UpdraftPlus notice:"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
-
#: src/admin.php:
|
3217 |
msgid "%s has been chosen for remote storage, but you are not currently connected."
|
3218 |
msgstr ""
|
3219 |
|
3220 |
-
#: src/admin.php:
|
3221 |
msgid "Go to the remote storage settings in order to connect."
|
3222 |
msgstr ""
|
3223 |
|
3224 |
-
#: src/admin.php:
|
3225 |
msgid "Connection to your %1$s account was successful. However, we were not able to register this site with %2$s, as there are no available %2$s licences on the account."
|
3226 |
msgstr ""
|
3227 |
|
3228 |
-
#: src/admin.php:
|
3229 |
msgid "Error: invalid path"
|
3230 |
msgstr ""
|
3231 |
|
3232 |
-
#: src/admin.php:
|
3233 |
msgid "Backup set not found"
|
3234 |
msgstr ""
|
3235 |
|
3236 |
-
#: src/admin.php:
|
3237 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3238 |
msgstr ""
|
3239 |
|
3240 |
-
#: src/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3241 |
msgid "Backup sets removed:"
|
3242 |
msgstr ""
|
3243 |
|
3244 |
-
#: src/admin.php:
|
3245 |
msgid "Local files deleted:"
|
3246 |
msgstr ""
|
3247 |
|
3248 |
-
#: src/admin.php:
|
3249 |
msgid "Remote files deleted:"
|
3250 |
msgstr ""
|
3251 |
|
3252 |
-
#: src/admin.php:
|
3253 |
msgid "Job deleted"
|
3254 |
msgstr ""
|
3255 |
|
3256 |
-
#: src/admin.php:
|
3257 |
msgid "Could not find that job - perhaps it has already finished?"
|
3258 |
msgstr ""
|
3259 |
|
3260 |
-
#: src/admin.php:
|
3261 |
msgid "Start backup"
|
3262 |
msgstr ""
|
3263 |
|
3264 |
-
#: src/admin.php:
|
3265 |
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
3266 |
msgstr ""
|
3267 |
|
3268 |
-
#: src/admin.php:
|
3269 |
msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to. Aborting this backup."
|
3270 |
msgstr ""
|
3271 |
|
3272 |
-
#: src/admin.php:
|
3273 |
msgid "The log file could not be read."
|
3274 |
msgstr ""
|
3275 |
|
3276 |
-
#: src/admin.php:
|
3277 |
msgid "Download failed"
|
3278 |
msgstr ""
|
3279 |
|
3280 |
-
#: src/admin.php:
|
3281 |
msgid "Download in progress"
|
3282 |
msgstr ""
|
3283 |
|
3284 |
-
#: src/admin.php:
|
3285 |
msgid "No local copy present."
|
3286 |
msgstr ""
|
3287 |
|
3288 |
-
#: src/admin.php:
|
3289 |
msgid "Backup directory (%s) is not writable, or does not exist."
|
3290 |
msgstr ""
|
3291 |
|
3292 |
-
#: src/admin.php:
|
3293 |
msgid "You will find more information about this in the Settings section."
|
3294 |
msgstr ""
|
3295 |
|
3296 |
-
#: src/admin.php:
|
3297 |
msgid "This file could not be uploaded"
|
3298 |
msgstr ""
|
3299 |
|
3300 |
-
#: src/admin.php:
|
3301 |
msgid "This backup was created by %s, and can be imported."
|
3302 |
msgstr ""
|
3303 |
|
3304 |
-
#: src/admin.php:
|
3305 |
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
3306 |
msgstr ""
|
3307 |
|
3308 |
-
#: src/admin.php:
|
3309 |
msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s. Perhaps you need to install an add-on?"
|
3310 |
msgstr ""
|
3311 |
|
3312 |
-
#: src/admin.php:
|
3313 |
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
3314 |
msgstr ""
|
3315 |
|
3316 |
-
#: src/admin.php:
|
3317 |
msgid "Backup directory could not be created"
|
3318 |
msgstr ""
|
3319 |
|
3320 |
-
#: src/admin.php:
|
3321 |
msgid "Backup directory successfully created."
|
3322 |
msgstr ""
|
3323 |
|
3324 |
-
#: src/admin.php:
|
3325 |
msgid "Return to UpdraftPlus configuration"
|
3326 |
msgstr ""
|
3327 |
|
3328 |
-
#: src/admin.php:
|
3329 |
-
msgid "Warning:"
|
3330 |
-
msgstr ""
|
3331 |
-
|
3332 |
-
#: src/admin.php:2628
|
3333 |
msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site."
|
3334 |
msgstr ""
|
3335 |
|
3336 |
-
#: src/admin.php:
|
3337 |
msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this. You should rename the directory to wp-content/plugins/updraftplus to fix this problem."
|
3338 |
msgstr ""
|
3339 |
|
3340 |
-
#: src/admin.php:
|
3341 |
msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work."
|
3342 |
msgstr ""
|
3343 |
|
3344 |
-
#: src/admin.php:
|
3345 |
msgid "To fix this problem go here."
|
3346 |
msgstr ""
|
3347 |
|
3348 |
-
#: src/admin.php:
|
3349 |
msgid "For even more features and personal support, check out "
|
3350 |
msgstr ""
|
3351 |
|
3352 |
-
#: src/admin.php:
|
3353 |
msgid "Your backup has been restored."
|
3354 |
msgstr ""
|
3355 |
|
3356 |
-
#: src/admin.php:
|
3357 |
msgid "Your PHP memory limit (set by your web hosting company) is very low. UpdraftPlus attempted to raise it but was unsuccessful. This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)."
|
3358 |
msgstr ""
|
3359 |
|
3360 |
-
#: src/admin.php:
|
3361 |
msgid "Current limit is:"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
-
#: src/admin.php:
|
3365 |
msgid "Backup Contents And Schedule"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
-
#: src/admin.php:
|
3369 |
msgid "Backup / Restore"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
-
#: src/admin.php:
|
3373 |
msgid "Premium / Extensions"
|
3374 |
msgstr ""
|
3375 |
|
3376 |
-
#: src/admin.php:
|
3377 |
msgid "%s minutes, %s seconds"
|
3378 |
msgstr ""
|
3379 |
|
3380 |
-
#: src/admin.php:
|
3381 |
msgid "Unfinished restoration"
|
3382 |
msgstr ""
|
3383 |
|
3384 |
-
#: src/admin.php:
|
3385 |
msgid "You have an unfinished restoration operation, begun %s ago."
|
3386 |
msgstr ""
|
3387 |
|
3388 |
-
#: src/admin.php:
|
3389 |
msgid "Continue restoration"
|
3390 |
msgstr ""
|
3391 |
|
3392 |
-
#: src/admin.php:
|
3393 |
msgid "Dismiss"
|
3394 |
msgstr ""
|
3395 |
|
3396 |
-
#: src/admin.php:
|
3397 |
msgid "Not yet got an account (it's free)? Go get one!"
|
3398 |
msgstr ""
|
3399 |
|
3400 |
-
#: src/admin.php:
|
3401 |
msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here."
|
3402 |
msgstr ""
|
3403 |
|
3404 |
-
#: src/admin.php:
|
3405 |
msgid "Processing"
|
3406 |
msgstr ""
|
3407 |
|
3408 |
-
#: src/admin.php:
|
3409 |
msgid "Connect with your UpdraftPlus.Com account"
|
3410 |
msgstr ""
|
3411 |
|
3412 |
-
#: src/admin.php:
|
3413 |
msgid "Email"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
-
#: src/admin.php:
|
3417 |
msgid "Forgotten your details?"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
-
#: src/admin.php:
|
3421 |
msgid "Ask WordPress to update UpdraftPlus automatically when an update is available"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
-
#: src/admin.php:
|
3425 |
msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites."
|
3426 |
msgstr ""
|
3427 |
|
3428 |
-
#: src/admin.php:
|
3429 |
msgid "Learn more about UpdraftCentral"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
-
#: src/admin.php:
|
3433 |
msgid "One Time Password (check your OTP app to get this password)"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
-
#: src/admin.php:
|
3437 |
msgid "Latest UpdraftPlus.com news:"
|
3438 |
msgstr ""
|
3439 |
|
3440 |
-
#: src/admin.php:
|
3441 |
msgid "Download most recently modified log file"
|
3442 |
msgstr ""
|
3443 |
|
3444 |
-
#: src/admin.php:
|
3445 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old). You should press this button to delete them as soon as you have verified that the restoration worked."
|
3446 |
msgstr ""
|
3447 |
|
3448 |
-
#: src/admin.php:
|
3449 |
msgid "View Log"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
-
#: src/admin.php:
|
3453 |
msgid "Backup begun"
|
3454 |
msgstr ""
|
3455 |
|
3456 |
-
#: src/admin.php:
|
3457 |
msgid "Creating file backup zips"
|
3458 |
msgstr ""
|
3459 |
|
3460 |
-
#: src/admin.php:
|
3461 |
msgid "Created file backup zips"
|
3462 |
msgstr ""
|
3463 |
|
3464 |
-
#: src/admin.php:
|
3465 |
msgid "Clone server being provisioned and booted (can take several minutes)"
|
3466 |
msgstr ""
|
3467 |
|
3468 |
-
#: src/admin.php:
|
3469 |
msgid "Uploading files to remote storage"
|
3470 |
msgstr ""
|
3471 |
|
3472 |
-
#: src/admin.php:
|
3473 |
msgid "Sending files to remote site"
|
3474 |
msgstr ""
|
3475 |
|
3476 |
-
#: src/admin.php:
|
3477 |
msgid "(%s%%, file %s of %s)"
|
3478 |
msgstr ""
|
3479 |
|
3480 |
-
#: src/admin.php:
|
3481 |
msgid "Pruning old backup sets"
|
3482 |
msgstr ""
|
3483 |
|
3484 |
-
#: src/admin.php:
|
3485 |
msgid "Waiting until scheduled time to retry because of errors"
|
3486 |
msgstr ""
|
3487 |
|
3488 |
-
#: src/admin.php:
|
3489 |
msgid "Backup finished"
|
3490 |
msgstr ""
|
3491 |
|
3492 |
-
#: src/admin.php:
|
3493 |
msgid "Created database backup"
|
3494 |
msgstr ""
|
3495 |
|
3496 |
-
#: src/admin.php:
|
3497 |
msgid "Creating database backup"
|
3498 |
msgstr ""
|
3499 |
|
3500 |
-
#: src/admin.php:
|
3501 |
msgid "table: %s"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
-
#: src/admin.php:
|
3505 |
msgid "Encrypting database"
|
3506 |
msgstr ""
|
3507 |
|
3508 |
-
#: src/admin.php:
|
3509 |
msgid "Encrypted database"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
-
#: src/admin.php:
|
3513 |
msgid "Unknown"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
-
#: src/admin.php:
|
3517 |
msgid "next resumption: %d (after %ss)"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
-
#: src/admin.php:
|
3521 |
msgid "last activity: %ss ago"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
-
#: src/admin.php:
|
3525 |
msgid "Job ID: %s"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
-
#: src/admin.php:
|
3529 |
msgid "Warning: %s"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
-
#: src/admin.php:
|
3533 |
msgid "show log"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
-
#: src/admin.php:
|
3537 |
msgid "Note: the progress bar below is based on stages, NOT time. Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal."
|
3538 |
msgstr ""
|
3539 |
|
3540 |
-
#: src/admin.php:
|
3541 |
msgid "stop"
|
3542 |
msgstr ""
|
3543 |
|
3544 |
-
#: src/admin.php:
|
3545 |
msgid "Remove old directories"
|
3546 |
msgstr ""
|
3547 |
|
3548 |
-
#: src/admin.php:
|
3549 |
msgid "Old directories successfully removed."
|
3550 |
msgstr ""
|
3551 |
|
3552 |
-
#: src/admin.php:
|
3553 |
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
3554 |
msgstr ""
|
3555 |
|
3556 |
-
#: src/admin.php:
|
3557 |
msgid "OK"
|
3558 |
msgstr ""
|
3559 |
|
3560 |
-
#: src/admin.php:
|
3561 |
msgid "The request to the filesystem to create the directory failed."
|
3562 |
msgstr ""
|
3563 |
|
3564 |
-
#: src/admin.php:
|
3565 |
msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it. You should check with your hosting provider that this will not cause any problems"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
-
#: src/admin.php:
|
3569 |
msgid "The folder exists, but your webserver does not have permission to write to it."
|
3570 |
msgstr ""
|
3571 |
|
3572 |
-
#: src/admin.php:
|
3573 |
msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory."
|
3574 |
msgstr ""
|
3575 |
|
3576 |
-
#: src/admin.php:
|
3577 |
msgid "incremental backup; base backup: %s"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
-
#: src/admin.php:
|
3581 |
msgid "No backup has been completed"
|
3582 |
msgstr ""
|
3583 |
|
3584 |
-
#: src/admin.php:
|
3585 |
msgctxt "i.e. Non-automatic"
|
3586 |
msgid "Manual"
|
3587 |
msgstr ""
|
3588 |
|
3589 |
-
#: src/admin.php:
|
3590 |
msgid "Backup directory specified is writable, which is good."
|
3591 |
msgstr ""
|
3592 |
|
3593 |
-
#: src/admin.php:
|
3594 |
msgid "Backup directory specified does <b>not</b> exist."
|
3595 |
msgstr ""
|
3596 |
|
3597 |
-
#: src/admin.php:
|
3598 |
msgid "Backup directory specified exists, but is <b>not</b> writable."
|
3599 |
msgstr ""
|
3600 |
|
3601 |
-
#: src/admin.php:
|
3602 |
msgid "Follow this link to attempt to create the directory and set the permissions"
|
3603 |
msgstr ""
|
3604 |
|
3605 |
-
#: src/admin.php:
|
3606 |
msgid "or, to reset this option"
|
3607 |
msgstr ""
|
3608 |
|
3609 |
-
#: src/admin.php:
|
3610 |
msgid "press here"
|
3611 |
msgstr ""
|
3612 |
|
3613 |
-
#: src/admin.php:
|
3614 |
msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process."
|
3615 |
msgstr ""
|
3616 |
|
3617 |
-
#: src/admin.php:
|
3618 |
msgid "Your wp-content directory server path: %s"
|
3619 |
msgstr ""
|
3620 |
|
3621 |
-
#: src/admin.php:
|
3622 |
msgid "Any other directories found inside wp-content"
|
3623 |
msgstr ""
|
3624 |
|
3625 |
-
#: src/admin.php:
|
3626 |
msgid "Exclude these from"
|
3627 |
msgstr ""
|
3628 |
|
3629 |
-
#: src/admin.php:
|
3630 |
msgid "Your web server's PHP/Curl installation does not support https access. Communications with %s will be unencrypted. Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)."
|
3631 |
msgstr ""
|
3632 |
|
3633 |
-
#: src/admin.php:
|
3634 |
msgid "Your web server's PHP/Curl installation does not support https access. We cannot access %s without this support. Please contact your web hosting provider's support. %s <strong>requires</strong> Curl+https. Please do not file any support requests; there is no alternative."
|
3635 |
msgstr ""
|
3636 |
|
3637 |
-
#: src/admin.php:
|
3638 |
msgid "Good news: Your site's communications with %s can be encrypted. If you see any errors to do with encryption, then look in the 'Expert Settings' for more help."
|
3639 |
msgstr ""
|
3640 |
|
3641 |
-
#: src/admin.php:
|
3642 |
msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)."
|
3643 |
msgstr ""
|
3644 |
|
3645 |
-
#: src/admin.php:
|
3646 |
msgid "Total backup size:"
|
3647 |
msgstr ""
|
3648 |
|
3649 |
-
#: src/admin.php:
|
3650 |
msgid "Backup created by unknown source (%s) - cannot be restored."
|
3651 |
msgstr ""
|
3652 |
|
3653 |
-
#: src/admin.php:
|
3654 |
msgid "Press here to download or browse"
|
3655 |
msgstr ""
|
3656 |
|
3657 |
-
#: src/admin.php:
|
3658 |
msgid "(%d archive(s) in set, total %s)."
|
3659 |
msgstr ""
|
3660 |
|
3661 |
-
#: src/admin.php:
|
3662 |
msgid "You appear to be missing one or more archives from this multi-archive set."
|
3663 |
msgstr ""
|
3664 |
|
3665 |
-
#: src/admin.php:
|
3666 |
msgid "(Not finished)"
|
3667 |
msgstr ""
|
3668 |
|
3669 |
-
#: src/admin.php:
|
3670 |
msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes."
|
3671 |
msgstr ""
|
3672 |
|
3673 |
-
#: src/admin.php:
|
3674 |
msgid "(backup set imported from remote location)"
|
3675 |
msgstr ""
|
3676 |
|
3677 |
-
#: src/admin.php:
|
3678 |
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
-
#: src/admin.php:
|
3682 |
msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations"
|
3683 |
msgstr ""
|
3684 |
|
3685 |
-
#: src/admin.php:
|
3686 |
msgid "Delete this backup set"
|
3687 |
msgstr ""
|
3688 |
|
3689 |
-
#: src/admin.php:
|
3690 |
msgid "Sufficient information about the in-progress restoration operation could not be found."
|
3691 |
msgstr ""
|
3692 |
|
3693 |
-
#: src/admin.php:
|
3694 |
msgid "UpdraftPlus Restoration"
|
3695 |
msgstr ""
|
3696 |
|
3697 |
-
#: src/admin.php:
|
3698 |
msgid "The restore operation has begun (%s). Do not close this page until it reports itself as having finished."
|
3699 |
msgstr ""
|
3700 |
|
3701 |
-
#: src/admin.php:
|
3702 |
msgid "Restoration progress:"
|
3703 |
msgstr ""
|
3704 |
|
3705 |
-
#: src/admin.php:
|
3706 |
msgid "Verifying"
|
3707 |
msgstr ""
|
3708 |
|
3709 |
-
#: src/admin.php:
|
3710 |
msgid "Cleaning"
|
3711 |
msgstr ""
|
3712 |
|
3713 |
-
#: src/admin.php:
|
3714 |
msgid "Activity log"
|
3715 |
msgstr ""
|
3716 |
|
3717 |
-
#: src/admin.php:
|
3718 |
msgid "1. Component selection"
|
3719 |
msgstr ""
|
3720 |
|
3721 |
-
#: src/admin.php:
|
3722 |
msgid "2. Verifications"
|
3723 |
msgstr ""
|
3724 |
|
3725 |
-
#: src/admin.php:
|
3726 |
msgid "3. Restoration"
|
3727 |
msgstr ""
|
3728 |
|
3729 |
-
#: src/admin.php:
|
3730 |
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
3731 |
msgstr ""
|
3732 |
|
3733 |
-
#: src/admin.php:
|
3734 |
msgid "Backup does not exist in the backup history"
|
3735 |
msgstr ""
|
3736 |
|
3737 |
-
#: src/admin.php:
|
3738 |
msgid "ABORT: Could not find the information on which entities to restore."
|
3739 |
msgstr ""
|
3740 |
|
3741 |
-
#: src/admin.php:
|
3742 |
msgid "If making a request for support, please include this information:"
|
3743 |
msgstr ""
|
3744 |
|
3745 |
-
#: src/admin.php:
|
3746 |
msgid "Backup won't be sent to any remote storage - none has been saved in the %s"
|
3747 |
msgstr ""
|
3748 |
|
3749 |
-
#: src/admin.php:
|
3750 |
msgid "settings"
|
3751 |
msgstr ""
|
3752 |
|
3753 |
-
#: src/admin.php:
|
3754 |
msgid "Not got any remote storage?"
|
3755 |
msgstr ""
|
3756 |
|
3757 |
-
#: src/admin.php:
|
3758 |
msgid "Check out UpdraftPlus Vault."
|
3759 |
msgstr ""
|
3760 |
|
3761 |
-
#: src/admin.php:
|
3762 |
msgid "Send this backup to remote storage"
|
3763 |
msgstr ""
|
3764 |
|
3765 |
-
#: src/admin.php:
|
3766 |
msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded. Please reload the settings page before trying to save settings."
|
3767 |
msgstr ""
|
3768 |
|
3769 |
-
#: src/admin.php:
|
3770 |
msgid "This button is disabled because your backup directory is not writable (see the settings)."
|
3771 |
msgstr ""
|
3772 |
|
3773 |
-
#: src/admin.php:
|
3774 |
msgid "Your settings have been saved."
|
3775 |
msgstr ""
|
3776 |
|
3777 |
-
#: src/admin.php:
|
3778 |
msgid "Your settings failed to save. Please refresh the settings page and try again"
|
3779 |
msgstr ""
|
3780 |
|
3781 |
-
#: src/admin.php:
|
3782 |
msgid "authentication error"
|
3783 |
msgstr ""
|
3784 |
|
3785 |
-
#: src/admin.php:
|
3786 |
msgid "Remote storage method and instance id are required for authentication."
|
3787 |
msgstr ""
|
3788 |
|
3789 |
-
#: src/admin.php:
|
3790 |
msgid "Your settings have been wiped."
|
3791 |
msgstr ""
|
3792 |
|
3793 |
-
#: src/admin.php:
|
3794 |
msgid "Known backups (raw)"
|
3795 |
msgstr ""
|
3796 |
|
3797 |
-
#: src/admin.php:
|
3798 |
msgid "Options (raw)"
|
3799 |
msgstr ""
|
3800 |
|
3801 |
-
#: src/admin.php:
|
3802 |
msgid "Value"
|
3803 |
msgstr ""
|
3804 |
|
3805 |
-
#: src/admin.php:
|
3806 |
msgid "The file %s has a \"byte order mark\" (BOM) at its beginning."
|
3807 |
msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning."
|
3808 |
msgstr[0] ""
|
3809 |
msgstr[1] ""
|
3810 |
|
3811 |
-
#: src/admin.php:
|
3812 |
-
msgid "Follow this link for more information"
|
3813 |
-
msgstr ""
|
3814 |
-
|
3815 |
-
#: src/admin.php:5610, src/admin.php:5614, src/templates/wp-admin/advanced/site-info.php:45, src/templates/wp-admin/advanced/site-info.php:51, src/templates/wp-admin/advanced/site-info.php:58, src/templates/wp-admin/advanced/site-info.php:59
|
3816 |
msgid "%s version:"
|
3817 |
msgstr ""
|
3818 |
|
3819 |
-
#: src/admin.php:
|
3820 |
msgid "Clone region:"
|
3821 |
msgstr ""
|
3822 |
|
3823 |
-
#: src/admin.php:
|
3824 |
msgid "Clone:"
|
3825 |
msgstr ""
|
3826 |
|
3827 |
-
#: src/admin.php:
|
3828 |
msgid "This current site"
|
3829 |
msgstr ""
|
3830 |
|
3831 |
-
#: src/admin.php:
|
3832 |
msgid "An empty WordPress install"
|
3833 |
msgstr ""
|
3834 |
|
3835 |
-
#: src/admin.php:
|
3836 |
msgid "Clone package:"
|
3837 |
msgstr ""
|
3838 |
|
3839 |
-
#: src/admin.php:
|
3840 |
-
msgid "
|
3841 |
msgstr ""
|
3842 |
|
3843 |
-
#: src/admin.php:
|
3844 |
-
msgid "
|
3845 |
msgstr ""
|
3846 |
|
3847 |
-
#: src/admin.php:
|
3848 |
msgid "Your clone has started and will be available at the following URLs once it is ready."
|
3849 |
msgstr ""
|
3850 |
|
3851 |
-
#: src/admin.php:
|
3852 |
msgid "Front page:"
|
3853 |
msgstr ""
|
3854 |
|
3855 |
-
#: src/admin.php:
|
3856 |
msgid "Dashboard:"
|
3857 |
msgstr ""
|
3858 |
|
3859 |
-
#: src/admin.php:
|
3860 |
msgid "You can find your temporary clone information in your updraftplus.com account here."
|
3861 |
msgstr ""
|
3862 |
|
3863 |
-
#: src/admin.php:
|
3864 |
msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready."
|
3865 |
msgstr ""
|
3866 |
|
3867 |
-
#: src/admin.php:
|
3868 |
msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage."
|
3869 |
msgstr ""
|
3870 |
|
@@ -3916,55 +3964,55 @@ msgstr ""
|
|
3916 |
msgid "Failed to open database file for reading:"
|
3917 |
msgstr ""
|
3918 |
|
3919 |
-
#: src/backup.php:
|
3920 |
msgid "An error occurred whilst closing the final database file"
|
3921 |
msgstr ""
|
3922 |
|
3923 |
-
#: src/backup.php:
|
3924 |
msgid "Could not open the backup file for writing"
|
3925 |
msgstr ""
|
3926 |
|
3927 |
-
#: src/backup.php:
|
3928 |
msgid "Infinite recursion: consult your log for more information"
|
3929 |
msgstr ""
|
3930 |
|
3931 |
-
#: src/backup.php:
|
3932 |
msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)"
|
3933 |
msgstr ""
|
3934 |
|
3935 |
-
#: src/backup.php:
|
3936 |
msgid "Failed to open directory (check the file permissions and ownership): %s"
|
3937 |
msgstr ""
|
3938 |
|
3939 |
-
#: src/backup.php:
|
3940 |
msgid "%s: unreadable file - could not be backed up"
|
3941 |
msgstr ""
|
3942 |
|
3943 |
-
#: src/backup.php:
|
3944 |
msgid "Failed to open the zip file (%s) - %s"
|
3945 |
msgstr ""
|
3946 |
|
3947 |
-
#: src/backup.php:
|
3948 |
msgid "A very large file was encountered: %s (size: %s Mb)"
|
3949 |
msgstr ""
|
3950 |
|
3951 |
-
#: src/backup.php:
|
3952 |
msgid "Your free space in your hosting account is very low - only %s Mb remain"
|
3953 |
msgstr ""
|
3954 |
|
3955 |
-
#: src/backup.php:
|
3956 |
msgid "The zip engine returned the message: %s."
|
3957 |
msgstr ""
|
3958 |
|
3959 |
-
#: src/backup.php:
|
3960 |
msgid "A zip error occurred"
|
3961 |
msgstr ""
|
3962 |
|
3963 |
-
#: src/backup.php:
|
3964 |
msgid "your web hosting account appears to be full; please see: %s"
|
3965 |
msgstr ""
|
3966 |
|
3967 |
-
#: src/backup.php:
|
3968 |
msgid "check your log for more details."
|
3969 |
msgstr ""
|
3970 |
|
@@ -4028,131 +4076,131 @@ msgstr ""
|
|
4028 |
msgid "You can now control this site via your UpdraftCentral dashboard at %s."
|
4029 |
msgstr ""
|
4030 |
|
4031 |
-
#: src/central/bootstrap.php:
|
4032 |
msgid "A key was created, but the attempt to register it with %s was unsuccessful - please try again later."
|
4033 |
msgstr ""
|
4034 |
|
4035 |
-
#: src/central/bootstrap.php:
|
4036 |
msgid "Key created successfully."
|
4037 |
msgstr ""
|
4038 |
|
4039 |
-
#: src/central/bootstrap.php:
|
4040 |
msgid "You must copy and paste this key now - it cannot be shown again."
|
4041 |
msgstr ""
|
4042 |
|
4043 |
-
#: src/central/bootstrap.php:
|
4044 |
msgid "There are no UpdraftCentral dashboards that can currently control this site."
|
4045 |
msgstr ""
|
4046 |
|
4047 |
-
#: src/central/bootstrap.php:
|
4048 |
msgid "Access this site as user:"
|
4049 |
msgstr ""
|
4050 |
|
4051 |
-
#: src/central/bootstrap.php:
|
4052 |
msgid "Public key was sent to:"
|
4053 |
msgstr ""
|
4054 |
|
4055 |
-
#: src/central/bootstrap.php:
|
4056 |
msgid "Created:"
|
4057 |
msgstr ""
|
4058 |
|
4059 |
-
#: src/central/bootstrap.php:
|
4060 |
msgid "Key size: %d bits"
|
4061 |
msgstr ""
|
4062 |
|
4063 |
-
#: src/central/bootstrap.php:
|
4064 |
msgid "Delete..."
|
4065 |
msgstr ""
|
4066 |
|
4067 |
-
#: src/central/bootstrap.php:
|
4068 |
msgid "Manage existing keys (%d)..."
|
4069 |
msgstr ""
|
4070 |
|
4071 |
-
#: src/central/bootstrap.php:
|
4072 |
msgid "Key description"
|
4073 |
msgstr ""
|
4074 |
|
4075 |
-
#: src/central/bootstrap.php:
|
4076 |
msgid "Details"
|
4077 |
msgstr ""
|
4078 |
|
4079 |
-
#: src/central/bootstrap.php:
|
4080 |
msgid "Connect this site to an UpdraftCentral dashboard found at..."
|
4081 |
msgstr ""
|
4082 |
|
4083 |
-
#: src/central/bootstrap.php:
|
4084 |
msgid "UpdraftPlus.Com"
|
4085 |
msgstr ""
|
4086 |
|
4087 |
-
#: src/central/bootstrap.php:
|
4088 |
msgid "i.e. if you have %s there"
|
4089 |
msgstr ""
|
4090 |
|
4091 |
-
#: src/central/bootstrap.php:
|
4092 |
msgid "an account"
|
4093 |
msgstr ""
|
4094 |
|
4095 |
-
#: src/central/bootstrap.php:
|
4096 |
msgid "Self-hosted dashboard"
|
4097 |
msgstr ""
|
4098 |
|
4099 |
-
#: src/central/bootstrap.php:
|
4100 |
msgid "A website where you have installed %s"
|
4101 |
msgstr ""
|
4102 |
|
4103 |
-
#: src/central/bootstrap.php:
|
4104 |
msgid "Enter the URL where your self-hosted install of UpdraftCentral is located:"
|
4105 |
msgstr ""
|
4106 |
|
4107 |
-
#: src/central/bootstrap.php:
|
4108 |
msgid "URL for the site of your UpdraftCentral dashboard"
|
4109 |
msgstr ""
|
4110 |
|
4111 |
-
#: src/central/bootstrap.php:
|
4112 |
msgid "Next"
|
4113 |
msgstr ""
|
4114 |
|
4115 |
-
#: src/central/bootstrap.php:
|
4116 |
msgid "UpdraftCentral dashboard connection details"
|
4117 |
msgstr ""
|
4118 |
|
4119 |
-
#: src/central/bootstrap.php:
|
4120 |
msgid "Description"
|
4121 |
msgstr ""
|
4122 |
|
4123 |
-
#: src/central/bootstrap.php:
|
4124 |
msgid "Enter any description"
|
4125 |
msgstr ""
|
4126 |
|
4127 |
-
#: src/central/bootstrap.php:
|
4128 |
msgid "Use the alternative method for making a connection with the dashboard."
|
4129 |
msgstr ""
|
4130 |
|
4131 |
-
#: src/central/bootstrap.php:
|
4132 |
msgid "More information..."
|
4133 |
msgstr ""
|
4134 |
|
4135 |
-
#: src/central/bootstrap.php:
|
4136 |
msgid "Back..."
|
4137 |
msgstr ""
|
4138 |
|
4139 |
-
#: src/central/bootstrap.php:
|
4140 |
msgid "View recent UpdraftCentral log events"
|
4141 |
msgstr ""
|
4142 |
|
4143 |
-
#: src/central/bootstrap.php:
|
4144 |
msgid "UpdraftCentral (Remote Control)"
|
4145 |
msgstr ""
|
4146 |
|
4147 |
-
#: src/central/bootstrap.php:
|
4148 |
msgid "UpdraftCentral enables control of your WordPress sites (including management of backups and updates) from a central dashboard."
|
4149 |
msgstr ""
|
4150 |
|
4151 |
-
#: src/central/bootstrap.php:
|
4152 |
msgid "Read more about it here."
|
4153 |
msgstr ""
|
4154 |
|
4155 |
-
#: src/central/bootstrap.php:
|
4156 |
msgid "Create another key"
|
4157 |
msgstr ""
|
4158 |
|
@@ -4168,426 +4216,470 @@ msgstr ""
|
|
4168 |
msgid "Unable to install %s. Make sure that the zip file is a valid %s file and a previous version of this %s does not exist. If you wish to overwrite an existing %s then you will have to manually delete it from the %s folder on the remote website and try uploading the file again."
|
4169 |
msgstr ""
|
4170 |
|
4171 |
-
#: src/central/modules/media.php:
|
4172 |
msgid "Failed to attach media."
|
4173 |
msgstr ""
|
4174 |
|
4175 |
-
#: src/central/modules/media.php:
|
4176 |
msgid "Media has been attached to post."
|
4177 |
msgstr ""
|
4178 |
|
4179 |
-
#: src/central/modules/media.php:
|
4180 |
msgid "Failed to detach media."
|
4181 |
msgstr ""
|
4182 |
|
4183 |
-
#: src/central/modules/media.php:
|
4184 |
msgid "Media has been detached from post."
|
4185 |
msgstr ""
|
4186 |
|
4187 |
-
#: src/central/modules/media.php:
|
4188 |
msgid "Failed to delete selected media."
|
4189 |
msgstr ""
|
4190 |
|
4191 |
-
#: src/central/modules/media.php:
|
4192 |
msgid "Selected media has been deleted successfully."
|
4193 |
msgstr ""
|
4194 |
|
4195 |
-
#: src/central/modules/media.php:
|
4196 |
msgid "Unattached"
|
4197 |
msgstr ""
|
4198 |
|
4199 |
-
#: src/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4200 |
msgid "A version of UpdraftPlus is already installed. WordPress will only allow you to install your new version after first de-installing the existing one. That is safe - all your settings and backups will be retained. So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again."
|
4201 |
msgstr ""
|
4202 |
|
4203 |
-
#: src/class-updraftplus.php:
|
4204 |
msgid "The given file was not found, or could not be read."
|
4205 |
msgstr ""
|
4206 |
|
4207 |
-
#: src/class-updraftplus.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4208 |
msgid "No log files were found."
|
4209 |
msgstr ""
|
4210 |
|
4211 |
-
#: src/class-updraftplus.php:
|
4212 |
msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)"
|
4213 |
msgstr ""
|
4214 |
|
4215 |
-
#: src/class-updraftplus.php:
|
4216 |
msgid "Your free disk space is very low - only %s Mb remain"
|
4217 |
msgstr ""
|
4218 |
|
4219 |
-
#: src/class-updraftplus.php:
|
4220 |
msgid "%s Error: Failed to open local file"
|
4221 |
msgstr ""
|
4222 |
|
4223 |
-
#: src/class-updraftplus.php:
|
4224 |
msgid "%s error - failed to re-assemble chunks"
|
4225 |
msgstr ""
|
4226 |
|
4227 |
-
#: src/class-updraftplus.php:
|
4228 |
msgid "Error opening local file: Failed to download"
|
4229 |
msgstr ""
|
4230 |
|
4231 |
-
#: src/class-updraftplus.php:
|
4232 |
msgid "Error - failed to download the file"
|
4233 |
msgstr ""
|
4234 |
|
4235 |
-
#: src/class-updraftplus.php:
|
4236 |
msgid "files: %s"
|
4237 |
msgstr ""
|
4238 |
|
4239 |
-
#: src/class-updraftplus.php:
|
4240 |
msgid "External database (%s)"
|
4241 |
msgstr ""
|
4242 |
|
4243 |
-
#: src/class-updraftplus.php:
|
4244 |
msgid "Size: %s MB"
|
4245 |
msgstr ""
|
4246 |
|
4247 |
-
#: src/class-updraftplus.php:
|
4248 |
msgid "%s checksum: %s"
|
4249 |
msgstr ""
|
4250 |
|
4251 |
-
#: src/class-updraftplus.php:
|
4252 |
msgid "Plugins"
|
4253 |
msgstr ""
|
4254 |
|
4255 |
-
#: src/class-updraftplus.php:
|
4256 |
msgid "Themes"
|
4257 |
msgstr ""
|
4258 |
|
4259 |
-
#: src/class-updraftplus.php:
|
4260 |
msgid "Others"
|
4261 |
msgstr ""
|
4262 |
|
4263 |
-
#: src/class-updraftplus.php:
|
4264 |
msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:"
|
4265 |
msgstr ""
|
4266 |
|
4267 |
-
#: src/class-updraftplus.php:
|
4268 |
msgid "The backup is being aborted for a repeated failure to progress."
|
4269 |
msgstr ""
|
4270 |
|
4271 |
-
#: src/class-updraftplus.php:
|
4272 |
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
4273 |
msgstr ""
|
4274 |
|
4275 |
-
#: src/class-updraftplus.php:
|
4276 |
msgid "The backup was aborted by the user"
|
4277 |
msgstr ""
|
4278 |
|
4279 |
-
#: src/class-updraftplus.php:
|
4280 |
msgid "The backup apparently succeeded and is now complete"
|
4281 |
msgstr ""
|
4282 |
|
4283 |
-
#: src/class-updraftplus.php:
|
4284 |
msgid "The backup apparently succeeded (with warnings) and is now complete"
|
4285 |
msgstr ""
|
4286 |
|
4287 |
-
#: src/class-updraftplus.php:
|
4288 |
msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set."
|
4289 |
msgstr ""
|
4290 |
|
4291 |
-
#: src/class-updraftplus.php:
|
4292 |
msgid "Your clone will now deploy this data to re-create your site."
|
4293 |
msgstr ""
|
4294 |
|
4295 |
-
#: src/class-updraftplus.php:
|
4296 |
msgid "The backup attempt has finished, apparently unsuccessfully"
|
4297 |
msgstr ""
|
4298 |
|
4299 |
-
#: src/class-updraftplus.php:
|
4300 |
msgid "The backup has not finished; a resumption is scheduled"
|
4301 |
msgstr ""
|
4302 |
|
4303 |
-
#: src/class-updraftplus.php:
|
4304 |
msgid "Full backup"
|
4305 |
msgstr ""
|
4306 |
|
4307 |
-
#: src/class-updraftplus.php:
|
4308 |
msgid "Incremental"
|
4309 |
msgstr ""
|
4310 |
|
4311 |
-
#: src/class-updraftplus.php:
|
4312 |
msgid "Files (database backup has not completed)"
|
4313 |
msgstr ""
|
4314 |
|
4315 |
-
#: src/class-updraftplus.php:
|
4316 |
msgid "Files only (database was not part of this particular schedule)"
|
4317 |
msgstr ""
|
4318 |
|
4319 |
-
#: src/class-updraftplus.php:
|
4320 |
msgid "Database (files backup has not completed)"
|
4321 |
msgstr ""
|
4322 |
|
4323 |
-
#: src/class-updraftplus.php:
|
4324 |
msgid "Database only (files were not part of this particular schedule)"
|
4325 |
msgstr ""
|
4326 |
|
4327 |
-
#: src/class-updraftplus.php:
|
4328 |
msgid "Incomplete"
|
4329 |
msgstr ""
|
4330 |
|
4331 |
-
#: src/class-updraftplus.php:
|
4332 |
msgid "Unknown/unexpected error - please raise a support request"
|
4333 |
msgstr ""
|
4334 |
|
4335 |
-
#: src/class-updraftplus.php:
|
4336 |
msgid "Errors encountered:"
|
4337 |
msgstr ""
|
4338 |
|
4339 |
-
#: src/class-updraftplus.php:
|
4340 |
msgid "Warnings encountered:"
|
4341 |
msgstr ""
|
4342 |
|
4343 |
-
#: src/class-updraftplus.php:
|
4344 |
msgid "Backed up: %s"
|
4345 |
msgstr ""
|
4346 |
|
4347 |
-
#: src/class-updraftplus.php:
|
4348 |
msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news"
|
4349 |
msgstr ""
|
4350 |
|
4351 |
-
#: src/class-updraftplus.php:
|
4352 |
msgid "read more at %s"
|
4353 |
msgstr ""
|
4354 |
|
4355 |
-
#: src/class-updraftplus.php:
|
4356 |
msgid "WordPress backup is complete"
|
4357 |
msgstr ""
|
4358 |
|
4359 |
-
#: src/class-updraftplus.php:
|
4360 |
msgid "Backup contains:"
|
4361 |
msgstr ""
|
4362 |
|
4363 |
-
#: src/class-updraftplus.php:
|
4364 |
msgid "Could not read the directory"
|
4365 |
msgstr ""
|
4366 |
|
4367 |
-
#: src/class-updraftplus.php:
|
4368 |
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
4369 |
msgstr ""
|
4370 |
|
4371 |
-
#: src/class-updraftplus.php:
|
4372 |
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
4373 |
msgstr ""
|
4374 |
|
4375 |
-
#: src/class-updraftplus.php:
|
4376 |
msgid "Decryption failed. The database file is encrypted."
|
4377 |
msgstr ""
|
4378 |
|
4379 |
-
#: src/class-updraftplus.php:
|
4380 |
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
4381 |
msgstr ""
|
4382 |
|
4383 |
-
#: src/class-updraftplus.php:
|
4384 |
msgid "The database is too small to be a valid WordPress database (size: %s Kb)."
|
4385 |
msgstr ""
|
4386 |
|
4387 |
-
#: src/class-updraftplus.php:
|
4388 |
msgid "Failed to open database file."
|
4389 |
msgstr ""
|
4390 |
|
4391 |
-
#: src/class-updraftplus.php:
|
4392 |
msgid "(version: %s)"
|
4393 |
msgstr ""
|
4394 |
|
4395 |
-
#: src/class-updraftplus.php:
|
4396 |
msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s). This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site."
|
4397 |
msgstr ""
|
4398 |
|
4399 |
-
#: src/class-updraftplus.php:
|
4400 |
msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s."
|
4401 |
msgstr ""
|
4402 |
|
4403 |
-
#: src/class-updraftplus.php:
|
4404 |
msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site. Otherwise, you will want to use %s to search/replace the site address so that the site can be visited without https."
|
4405 |
msgstr ""
|
4406 |
|
4407 |
-
#: src/class-updraftplus.php:
|
4408 |
msgid "the migrator add-on"
|
4409 |
msgstr ""
|
4410 |
|
4411 |
-
#: src/class-updraftplus.php:
|
4412 |
msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem. If that is not yet set up, then you should set it up, or use %s so that the non-https links are automatically replaced."
|
4413 |
msgstr ""
|
4414 |
|
4415 |
-
#: src/class-updraftplus.php:
|
4416 |
msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration. You need the Migrator add-on in order to make this work."
|
4417 |
msgstr ""
|
4418 |
|
4419 |
-
#: src/class-updraftplus.php:
|
4420 |
msgid "You can search and replace your database (for migrating a website to a new location/URL) with the Migrator add-on - follow this link for more information"
|
4421 |
msgstr ""
|
4422 |
|
4423 |
-
#: src/class-updraftplus.php:
|
4424 |
msgid "You are using the %s webserver, but do not seem to have the %s module loaded."
|
4425 |
msgstr ""
|
4426 |
|
4427 |
-
#: src/class-updraftplus.php:
|
4428 |
msgid "You should enable %s to make any pretty permalinks (e.g. %s) work"
|
4429 |
msgstr ""
|
4430 |
|
4431 |
-
#: src/class-updraftplus.php:
|
4432 |
msgid "%s version: %s"
|
4433 |
msgstr ""
|
4434 |
|
4435 |
-
#: src/class-updraftplus.php:
|
4436 |
msgid "You are importing from a newer version of WordPress (%s) into an older one (%s). There are no guarantees that WordPress can handle this."
|
4437 |
msgstr ""
|
4438 |
|
4439 |
-
#: src/class-updraftplus.php:
|
4440 |
msgid "The site in this backup was running on a webserver with version %s of %s. "
|
4441 |
msgstr ""
|
4442 |
|
4443 |
-
#: src/class-updraftplus.php:
|
4444 |
msgid "This is significantly newer than the server which you are now restoring onto (version %s)."
|
4445 |
msgstr ""
|
4446 |
|
4447 |
-
#: src/class-updraftplus.php:
|
4448 |
msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the older %s version."
|
4449 |
msgstr ""
|
4450 |
|
4451 |
-
#: src/class-updraftplus.php:
|
4452 |
msgid "Any support requests to do with %s should be raised with your web hosting company."
|
4453 |
msgstr ""
|
4454 |
|
4455 |
-
#: src/class-updraftplus.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4456 |
msgid "Old table prefix:"
|
4457 |
msgstr ""
|
4458 |
|
4459 |
-
#: src/class-updraftplus.php:
|
4460 |
msgid "Backup label:"
|
4461 |
msgstr ""
|
4462 |
|
4463 |
-
#: src/class-updraftplus.php:
|
4464 |
msgid "You are running on WordPress multisite - but your backup is not of a multisite site."
|
4465 |
msgstr ""
|
4466 |
|
4467 |
-
#: src/class-updraftplus.php:
|
4468 |
msgid "It will be imported as a new site."
|
4469 |
msgstr ""
|
4470 |
|
4471 |
-
#: src/class-updraftplus.php:
|
4472 |
msgid "Please read this link for important information on this process."
|
4473 |
msgstr ""
|
4474 |
|
4475 |
-
#: src/class-updraftplus.php:
|
4476 |
msgid "To import an ordinary WordPress site into a multisite installation requires %s."
|
4477 |
msgstr ""
|
4478 |
|
4479 |
-
#: src/class-updraftplus.php:
|
4480 |
msgid "Your backup is of a WordPress multisite install; but this site is not. Only the first site of the network will be accessible."
|
4481 |
msgstr ""
|
4482 |
|
4483 |
-
#: src/class-updraftplus.php:
|
4484 |
msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite."
|
4485 |
msgstr ""
|
4486 |
|
4487 |
-
#: src/class-updraftplus.php:
|
4488 |
msgid "Site information:"
|
4489 |
msgstr ""
|
4490 |
|
4491 |
-
#: src/class-updraftplus.php:
|
4492 |
msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on."
|
4493 |
msgstr ""
|
4494 |
|
4495 |
-
#: src/class-updraftplus.php:
|
4496 |
msgid "You must upgrade MySQL to be able to use this database."
|
4497 |
msgstr ""
|
4498 |
|
4499 |
-
#: src/class-updraftplus.php:
|
4500 |
msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import."
|
4501 |
msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import."
|
4502 |
msgstr[0] ""
|
4503 |
msgstr[1] ""
|
4504 |
|
4505 |
-
#: src/class-updraftplus.php:
|
4506 |
msgid "You can choose another suitable character set instead and continue with the restoration at your own risk."
|
4507 |
msgstr ""
|
4508 |
|
4509 |
-
#: src/class-updraftplus.php:
|
4510 |
msgid "Your chosen character set to use instead:"
|
4511 |
msgstr ""
|
4512 |
|
4513 |
-
#: src/class-updraftplus.php:
|
4514 |
msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import."
|
4515 |
msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import."
|
4516 |
msgstr[0] ""
|
4517 |
msgstr[1] ""
|
4518 |
|
4519 |
-
#: src/class-updraftplus.php:
|
4520 |
msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)."
|
4521 |
msgstr ""
|
4522 |
|
4523 |
-
#: src/class-updraftplus.php:
|
4524 |
msgid "Your chosen replacement collation"
|
4525 |
msgstr ""
|
4526 |
|
4527 |
-
#: src/class-updraftplus.php:
|
4528 |
msgid "Choose a default for each table"
|
4529 |
msgstr ""
|
4530 |
|
4531 |
-
#: src/class-updraftplus.php:
|
4532 |
msgid "This database backup is missing core WordPress tables: %s"
|
4533 |
msgstr ""
|
4534 |
|
4535 |
-
#: src/class-updraftplus.php:
|
4536 |
msgid "This database backup has the following WordPress tables excluded: %s"
|
4537 |
msgstr ""
|
4538 |
|
4539 |
-
#: src/class-updraftplus.php:
|
4540 |
msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup."
|
4541 |
msgstr ""
|
4542 |
|
4543 |
-
#: src/
|
|
|
|
|
|
|
|
|
4544 |
msgid "You have not yet made any backups."
|
4545 |
msgstr ""
|
4546 |
|
4547 |
-
#: src/includes/class-backup-history.php:
|
4548 |
msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually."
|
4549 |
msgstr ""
|
4550 |
|
4551 |
-
#: src/includes/class-commands.php:
|
4552 |
msgid "%s add-on not found"
|
4553 |
msgstr ""
|
4554 |
|
4555 |
-
#: src/includes/class-commands.php:
|
4556 |
msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com"
|
4557 |
msgstr ""
|
4558 |
|
4559 |
-
#: src/includes/class-commands.php:
|
4560 |
msgid "Available temporary clone tokens:"
|
4561 |
msgstr ""
|
4562 |
|
4563 |
-
#: src/includes/class-commands.php:
|
4564 |
msgid "You can buy more temporary clone tokens here."
|
4565 |
msgstr ""
|
4566 |
|
4567 |
-
#: src/includes/class-commands.php:
|
4568 |
msgid "Create clone"
|
4569 |
msgstr ""
|
4570 |
|
4571 |
-
#: src/includes/class-commands.php:
|
4572 |
msgid "Current clones"
|
4573 |
msgstr ""
|
4574 |
|
4575 |
-
#: src/includes/class-commands.php:
|
4576 |
msgid "manage"
|
4577 |
msgstr ""
|
4578 |
|
4579 |
-
#: src/includes/class-commands.php:
|
4580 |
msgid "No backup will be started. The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready."
|
4581 |
msgstr ""
|
4582 |
|
4583 |
-
#: src/includes/class-commands.php:
|
4584 |
msgid "N.B. You will be charged one token once the clone is ready. If the clone fails to boot, then no token will be taken."
|
4585 |
msgstr ""
|
4586 |
|
4587 |
-
#: src/includes/class-commands.php:
|
4588 |
msgid "The creation of your data for creating the clone should now begin."
|
4589 |
msgstr ""
|
4590 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4591 |
#: src/includes/class-filesystem-functions.php:105, src/templates/wp-admin/advanced/site-info.php:38
|
4592 |
msgid "refresh"
|
4593 |
msgstr ""
|
@@ -4604,15 +4696,15 @@ msgstr ""
|
|
4604 |
msgid "Web-server disk space in use by UpdraftPlus"
|
4605 |
msgstr ""
|
4606 |
|
4607 |
-
#: src/includes/class-filesystem-functions.php:285, src/methods/ftp.php:
|
4608 |
msgid "Your web server's PHP installation has these functions disabled: %s."
|
4609 |
msgstr ""
|
4610 |
|
4611 |
-
#: src/includes/class-filesystem-functions.php:285, src/methods/ftp.php:
|
4612 |
msgid "Your hosting company must enable these functions before %s can work."
|
4613 |
msgstr ""
|
4614 |
|
4615 |
-
#: src/includes/class-filesystem-functions.php:285, src/restorer.php:
|
4616 |
msgid "restoration"
|
4617 |
msgstr ""
|
4618 |
|
@@ -5245,19 +5337,19 @@ msgstr ""
|
|
5245 |
msgid "failed to list files"
|
5246 |
msgstr ""
|
5247 |
|
5248 |
-
#: src/methods/addon-base-v2.php:
|
5249 |
msgid "This storage method does not allow downloading"
|
5250 |
msgstr ""
|
5251 |
|
5252 |
-
#: src/methods/addon-base-v2.php:
|
5253 |
msgid "Failed to download %s"
|
5254 |
msgstr ""
|
5255 |
|
5256 |
-
#: src/methods/addon-base-v2.php:
|
5257 |
msgid "Failed to download"
|
5258 |
msgstr ""
|
5259 |
|
5260 |
-
#: src/methods/addon-base-v2.php:
|
5261 |
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
5262 |
msgstr ""
|
5263 |
|
@@ -5301,19 +5393,19 @@ msgstr ""
|
|
5301 |
msgid "Follow this link to remove these settings for %s."
|
5302 |
msgstr ""
|
5303 |
|
5304 |
-
#: src/methods/cloudfiles-new.php:96, src/methods/cloudfiles.php:
|
5305 |
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support."
|
5306 |
msgstr ""
|
5307 |
|
5308 |
-
#: src/methods/cloudfiles-new.php:96, src/methods/cloudfiles.php:
|
5309 |
msgid "UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative."
|
5310 |
msgstr ""
|
5311 |
|
5312 |
-
#: src/methods/cloudfiles-new.php:98, src/methods/cloudfiles.php:
|
5313 |
msgid "Get your API key <a href=\"https://mycloud.rackspace.com/\" target=\"_blank\">from your Rackspace Cloud console</a> (<a href=\"http://www.rackspace.com/knowledge_center/article/rackspace-cloud-essentials-1-generating-your-api-key\" target=\"_blank\">read instructions here</a>), then pick a container name to use for storage. This container will be created for you if it does not already exist."
|
5314 |
msgstr ""
|
5315 |
|
5316 |
-
#: src/methods/cloudfiles-new.php:98, src/methods/cloudfiles.php:
|
5317 |
msgid "Also, you should read this important FAQ."
|
5318 |
msgstr ""
|
5319 |
|
@@ -5333,19 +5425,19 @@ msgstr ""
|
|
5333 |
msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use this add-on."
|
5334 |
msgstr ""
|
5335 |
|
5336 |
-
#: src/methods/cloudfiles-new.php:137, src/methods/cloudfiles.php:
|
5337 |
msgid "Cloud Files API Key"
|
5338 |
msgstr ""
|
5339 |
|
5340 |
-
#: src/methods/cloudfiles-new.php:179, src/methods/cloudfiles.php:
|
5341 |
msgid "API key"
|
5342 |
msgstr ""
|
5343 |
|
5344 |
-
#: src/methods/cloudfiles.php:93, src/methods/cloudfiles.php:97, src/methods/cloudfiles.php:
|
5345 |
msgid "authentication failed"
|
5346 |
msgstr ""
|
5347 |
|
5348 |
-
#: src/methods/cloudfiles.php:101, src/methods/cloudfiles.php:
|
5349 |
msgid "error - failed to create and access the container"
|
5350 |
msgstr ""
|
5351 |
|
@@ -5357,43 +5449,43 @@ msgstr ""
|
|
5357 |
msgid "error - failed to upload file"
|
5358 |
msgstr ""
|
5359 |
|
5360 |
-
#: src/methods/cloudfiles.php:238, src/methods/openstack-base.php:44, src/methods/openstack-base.php:
|
5361 |
msgid "%s authentication failed"
|
5362 |
msgstr ""
|
5363 |
|
5364 |
-
#: src/methods/cloudfiles.php:
|
5365 |
msgid "Error downloading remote file: Failed to download"
|
5366 |
msgstr ""
|
5367 |
|
5368 |
-
#: src/methods/cloudfiles.php:
|
5369 |
msgid "Error - no such file exists."
|
5370 |
msgstr ""
|
5371 |
|
5372 |
-
#: src/methods/cloudfiles.php:
|
5373 |
msgid "US or UK Cloud"
|
5374 |
msgstr ""
|
5375 |
|
5376 |
-
#: src/methods/cloudfiles.php:
|
5377 |
msgid "Rackspace Storage Region"
|
5378 |
msgstr ""
|
5379 |
|
5380 |
-
#: src/methods/cloudfiles.php:
|
5381 |
msgid "Cloud Files username"
|
5382 |
msgstr ""
|
5383 |
|
5384 |
-
#: src/methods/cloudfiles.php:
|
5385 |
msgid "Cloud Files"
|
5386 |
msgstr ""
|
5387 |
|
5388 |
-
#: src/methods/cloudfiles.php:
|
5389 |
msgid "Failure: No container details were given."
|
5390 |
msgstr ""
|
5391 |
|
5392 |
-
#: src/methods/cloudfiles.php:
|
5393 |
msgid "Cloud Files error - we accessed the container, but failed to create a file within it"
|
5394 |
msgstr ""
|
5395 |
|
5396 |
-
#: src/methods/cloudfiles.php:
|
5397 |
msgid "We accessed the container, and were able to create files within it."
|
5398 |
msgstr ""
|
5399 |
|
@@ -5421,67 +5513,67 @@ msgstr ""
|
|
5421 |
msgid "did not return the expected response - check your log file for more details"
|
5422 |
msgstr ""
|
5423 |
|
5424 |
-
#: src/methods/dropbox.php:
|
5425 |
msgid "failed to upload file to %s (see log file for more)"
|
5426 |
msgstr ""
|
5427 |
|
5428 |
-
#: src/methods/dropbox.php:
|
5429 |
msgid "%s returned an unexpected HTTP response: %s"
|
5430 |
msgstr ""
|
5431 |
|
5432 |
-
#: src/methods/dropbox.php:
|
5433 |
msgid "You do not appear to be authenticated with %s (whilst deleting)"
|
5434 |
msgstr ""
|
5435 |
|
5436 |
-
#: src/methods/dropbox.php:
|
5437 |
msgid "Failed to access %s when deleting (see log file for more)"
|
5438 |
msgstr ""
|
5439 |
|
5440 |
-
#: src/methods/dropbox.php:
|
5441 |
msgid "You do not appear to be authenticated with %s"
|
5442 |
msgstr ""
|
5443 |
|
5444 |
-
#: src/methods/dropbox.php:
|
5445 |
msgid "Need to use sub-folders?"
|
5446 |
msgstr ""
|
5447 |
|
5448 |
-
#: src/methods/dropbox.php:
|
5449 |
msgid "Backups are saved in"
|
5450 |
msgstr ""
|
5451 |
|
5452 |
-
#: src/methods/dropbox.php:
|
5453 |
msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then "
|
5454 |
msgstr ""
|
5455 |
|
5456 |
-
#: src/methods/dropbox.php:
|
5457 |
msgid "there's an add-on for that."
|
5458 |
msgstr ""
|
5459 |
|
5460 |
-
#: src/methods/dropbox.php:
|
5461 |
msgid "Dropbox"
|
5462 |
msgstr ""
|
5463 |
|
5464 |
-
#: src/methods/dropbox.php:
|
5465 |
msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked"
|
5466 |
msgstr ""
|
5467 |
|
5468 |
-
#: src/methods/dropbox.php:
|
5469 |
msgid "%s authentication"
|
5470 |
msgstr ""
|
5471 |
|
5472 |
-
#: src/methods/dropbox.php:
|
5473 |
msgid "%s de-authentication"
|
5474 |
msgstr ""
|
5475 |
|
5476 |
-
#: src/methods/dropbox.php:
|
5477 |
msgid "Success:"
|
5478 |
msgstr ""
|
5479 |
|
5480 |
-
#: src/methods/dropbox.php:
|
5481 |
msgid "you have authenticated your %s account"
|
5482 |
msgstr ""
|
5483 |
|
5484 |
-
#: src/methods/dropbox.php:
|
5485 |
msgid "though part of the returned information was not as expected - your mileage may vary"
|
5486 |
msgstr ""
|
5487 |
|
@@ -5521,7 +5613,7 @@ msgstr ""
|
|
5521 |
msgid "Reporting"
|
5522 |
msgstr ""
|
5523 |
|
5524 |
-
#: src/methods/ftp.php:121, src/methods/ftp.php:
|
5525 |
msgid "login failure"
|
5526 |
msgstr ""
|
5527 |
|
@@ -5533,75 +5625,75 @@ msgstr ""
|
|
5533 |
msgid "%s login failure"
|
5534 |
msgstr ""
|
5535 |
|
5536 |
-
#: src/methods/ftp.php:
|
5537 |
msgid "regular non-encrypted FTP"
|
5538 |
msgstr ""
|
5539 |
|
5540 |
-
#: src/methods/ftp.php:
|
5541 |
msgid "encrypted FTP (implicit encryption)"
|
5542 |
msgstr ""
|
5543 |
|
5544 |
-
#: src/methods/ftp.php:
|
5545 |
msgid "encrypted FTP (explicit encryption)"
|
5546 |
msgstr ""
|
5547 |
|
5548 |
-
#: src/methods/ftp.php:
|
5549 |
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
5550 |
msgstr ""
|
5551 |
|
5552 |
-
#: src/methods/ftp.php:
|
5553 |
msgid "FTP server"
|
5554 |
msgstr ""
|
5555 |
|
5556 |
-
#: src/methods/ftp.php:
|
5557 |
msgid "FTP login"
|
5558 |
msgstr ""
|
5559 |
|
5560 |
-
#: src/methods/ftp.php:
|
5561 |
msgid "FTP password"
|
5562 |
msgstr ""
|
5563 |
|
5564 |
-
#: src/methods/ftp.php:
|
5565 |
msgid "Remote path"
|
5566 |
msgstr ""
|
5567 |
|
5568 |
-
#: src/methods/ftp.php:
|
5569 |
msgid "Needs to already exist"
|
5570 |
msgstr ""
|
5571 |
|
5572 |
-
#: src/methods/ftp.php:
|
5573 |
msgid "Passive mode"
|
5574 |
msgstr ""
|
5575 |
|
5576 |
-
#: src/methods/ftp.php:
|
5577 |
msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this."
|
5578 |
msgstr ""
|
5579 |
|
5580 |
-
#: src/methods/ftp.php:
|
5581 |
msgid "Failure: No server details were given."
|
5582 |
msgstr ""
|
5583 |
|
5584 |
-
#: src/methods/ftp.php:
|
5585 |
msgid "login"
|
5586 |
msgstr ""
|
5587 |
|
5588 |
-
#: src/methods/ftp.php:
|
5589 |
msgid "password"
|
5590 |
msgstr ""
|
5591 |
|
5592 |
-
#: src/methods/ftp.php:
|
5593 |
msgid "Failure: we did not successfully log in with those credentials."
|
5594 |
msgstr ""
|
5595 |
|
5596 |
-
#: src/methods/ftp.php:
|
5597 |
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
5598 |
msgstr ""
|
5599 |
|
5600 |
-
#: src/methods/ftp.php:
|
5601 |
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
5602 |
msgstr ""
|
5603 |
|
5604 |
-
#: src/methods/ftp.php:
|
5605 |
msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again."
|
5606 |
msgstr ""
|
5607 |
|
@@ -5613,7 +5705,7 @@ msgstr ""
|
|
5613 |
msgid "The client has been deleted from the Google Drive API console. Please create a new Google Drive project and reconnect with UpdraftPlus."
|
5614 |
msgstr ""
|
5615 |
|
5616 |
-
#: src/methods/googledrive.php:600, src/methods/googledrive.php:662, src/methods/googledrive.php:678, src/methods/googledrive.php:680, src/methods/stream-base.php:
|
5617 |
msgid "Failed to upload to %s"
|
5618 |
msgstr ""
|
5619 |
|
@@ -5633,47 +5725,47 @@ msgstr ""
|
|
5633 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
5634 |
msgstr ""
|
5635 |
|
5636 |
-
#: src/methods/googledrive.php:
|
5637 |
msgid "%s does not allow authorisation of sites hosted on direct IP addresses. You will need to change your site's address (%s) before you can use %s for storage."
|
5638 |
msgstr ""
|
5639 |
|
5640 |
-
#: src/methods/googledrive.php:
|
5641 |
msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section."
|
5642 |
msgstr ""
|
5643 |
|
5644 |
-
#: src/methods/googledrive.php:
|
5645 |
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
5646 |
msgstr ""
|
5647 |
|
5648 |
-
#: src/methods/googledrive.php:
|
5649 |
msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site."
|
5650 |
msgstr ""
|
5651 |
|
5652 |
-
#: src/methods/googledrive.php:
|
5653 |
msgid "<strong>This is NOT a folder name</strong>."
|
5654 |
msgstr ""
|
5655 |
|
5656 |
-
#: src/methods/googledrive.php:
|
5657 |
msgid "It is an ID number internal to Google Drive"
|
5658 |
msgstr ""
|
5659 |
|
5660 |
-
#: src/methods/googledrive.php:
|
5661 |
msgid "To be able to set a custom folder name, use UpdraftPlus Premium."
|
5662 |
msgstr ""
|
5663 |
|
5664 |
-
#: src/methods/googledrive.php:
|
5665 |
msgid "Authenticate with Google"
|
5666 |
msgstr ""
|
5667 |
|
5668 |
-
#: src/methods/googledrive.php:
|
5669 |
msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings."
|
5670 |
msgstr ""
|
5671 |
|
5672 |
-
#: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, src/methods/openstack-base.php:129, src/methods/openstack-base.php:
|
5673 |
msgid "%s error - failed to access the container"
|
5674 |
msgstr ""
|
5675 |
|
5676 |
-
#: src/methods/openstack-base.php:56, src/methods/openstack-base.php:
|
5677 |
msgid "Could not access %s container"
|
5678 |
msgstr ""
|
5679 |
|
@@ -5681,15 +5773,15 @@ msgstr ""
|
|
5681 |
msgid "%s error - failed to upload file"
|
5682 |
msgstr ""
|
5683 |
|
5684 |
-
#: src/methods/openstack-base.php:
|
5685 |
msgid "The %s object was not found"
|
5686 |
msgstr ""
|
5687 |
|
5688 |
-
#: src/methods/openstack-base.php:
|
5689 |
msgid "%s error - we accessed the container, but failed to create a file within it"
|
5690 |
msgstr ""
|
5691 |
|
5692 |
-
#: src/methods/openstack-base.php:
|
5693 |
msgid "Region: %s"
|
5694 |
msgstr ""
|
5695 |
|
@@ -5759,7 +5851,7 @@ msgstr ""
|
|
5759 |
msgid "%s re-assembly error (%s): (see log file for more)"
|
5760 |
msgstr ""
|
5761 |
|
5762 |
-
#: src/methods/s3.php:495, src/methods/s3.php:
|
5763 |
msgid "Error: Failed to access bucket %s. Check your permissions and credentials."
|
5764 |
msgstr ""
|
5765 |
|
@@ -5767,71 +5859,71 @@ msgstr ""
|
|
5767 |
msgid "%s Error: Failed to access bucket %s. Check your permissions and credentials."
|
5768 |
msgstr ""
|
5769 |
|
5770 |
-
#: src/methods/s3.php:
|
5771 |
msgid "Error: Failed to download %s. Check your permissions and credentials."
|
5772 |
msgstr ""
|
5773 |
|
5774 |
-
#: src/methods/s3.php:
|
5775 |
msgid "%s Error: Failed to download %s. Check your permissions and credentials."
|
5776 |
msgstr ""
|
5777 |
|
5778 |
-
#: src/methods/s3.php:
|
5779 |
msgid "... and many more!"
|
5780 |
msgstr ""
|
5781 |
|
5782 |
-
#: src/methods/s3.php:
|
5783 |
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support and ask for them to enable it."
|
5784 |
msgstr ""
|
5785 |
|
5786 |
-
#: src/methods/s3.php:
|
5787 |
msgid "Get your access key and secret key from your <a href=\"%s\">%s console</a>, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage. This bucket will be created for you if it does not already exist."
|
5788 |
msgstr ""
|
5789 |
|
5790 |
-
#: src/methods/s3.php:
|
5791 |
msgid "If you see errors about SSL certificates, then please go here for help."
|
5792 |
msgstr ""
|
5793 |
|
5794 |
-
#: src/methods/s3.php:
|
5795 |
msgid "Other %s FAQs."
|
5796 |
msgstr ""
|
5797 |
|
5798 |
-
#: src/methods/s3.php:
|
5799 |
msgid "To create a new IAM sub-user and access key that has access only to this bucket, use this add-on."
|
5800 |
msgstr ""
|
5801 |
|
5802 |
-
#: src/methods/s3.php:
|
5803 |
msgid "%s access key"
|
5804 |
msgstr ""
|
5805 |
|
5806 |
-
#: src/methods/s3.php:
|
5807 |
msgid "%s secret key"
|
5808 |
msgstr ""
|
5809 |
|
5810 |
-
#: src/methods/s3.php:
|
5811 |
msgid "%s location"
|
5812 |
msgstr ""
|
5813 |
|
5814 |
-
#: src/methods/s3.php:
|
5815 |
msgid "Enter only a bucket name or a bucket and path. Examples: mybucket, mybucket/mypath"
|
5816 |
msgstr ""
|
5817 |
|
5818 |
-
#: src/methods/s3.php:
|
5819 |
msgid "API secret"
|
5820 |
msgstr ""
|
5821 |
|
5822 |
-
#: src/methods/s3.php:
|
5823 |
msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")"
|
5824 |
msgstr ""
|
5825 |
|
5826 |
-
#: src/methods/s3.php:
|
5827 |
msgid "The communication with %s was encrypted."
|
5828 |
msgstr ""
|
5829 |
|
5830 |
-
#: src/methods/s3.php:
|
5831 |
msgid "The communication with %s was not encrypted."
|
5832 |
msgstr ""
|
5833 |
|
5834 |
-
#: src/methods/s3.php:
|
5835 |
msgid "Please check your access credentials."
|
5836 |
msgstr ""
|
5837 |
|
@@ -5839,23 +5931,23 @@ msgstr ""
|
|
5839 |
msgid "S3 (Compatible)"
|
5840 |
msgstr ""
|
5841 |
|
5842 |
-
#: src/methods/stream-base.php:
|
5843 |
msgid "Chunk %s: A %s error occurred"
|
5844 |
msgstr ""
|
5845 |
|
5846 |
-
#: src/methods/stream-base.php:
|
5847 |
msgid "Error opening remote file: Failed to download"
|
5848 |
msgstr ""
|
5849 |
|
5850 |
-
#: src/methods/stream-base.php:
|
5851 |
msgid "Download chunk size failed to change to %d"
|
5852 |
msgstr ""
|
5853 |
|
5854 |
-
#: src/methods/stream-base.php:
|
5855 |
msgid "Download chunk size successfully changed to %d"
|
5856 |
msgstr ""
|
5857 |
|
5858 |
-
#: src/methods/stream-base.php:
|
5859 |
msgid "Local write failed: Failed to download"
|
5860 |
msgstr ""
|
5861 |
|
@@ -6079,302 +6171,314 @@ msgstr ""
|
|
6079 |
msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)."
|
6080 |
msgstr ""
|
6081 |
|
6082 |
-
#: src/restorer.php:
|
6083 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)."
|
6084 |
msgstr ""
|
6085 |
|
6086 |
-
#: src/restorer.php:
|
6087 |
msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation. If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file."
|
6088 |
msgstr ""
|
6089 |
|
6090 |
-
#: src/restorer.php:
|
6091 |
msgid "Looking for %s archive: file name: %s"
|
6092 |
msgstr ""
|
6093 |
|
6094 |
-
#: src/restorer.php:
|
6095 |
msgid "Skipping: this archive was already restored."
|
6096 |
msgstr ""
|
6097 |
|
6098 |
-
#: src/restorer.php:
|
6099 |
msgid "Archive is expected to be size:"
|
6100 |
msgstr ""
|
6101 |
|
6102 |
-
#: src/restorer.php:
|
6103 |
msgid "file is size:"
|
6104 |
msgstr ""
|
6105 |
|
6106 |
-
#: src/restorer.php:
|
6107 |
msgid "The backup records do not contain information about the proper size of this file."
|
6108 |
msgstr ""
|
6109 |
|
6110 |
-
#: src/restorer.php:
|
6111 |
msgid "Could not find one of the files for restoration"
|
6112 |
msgstr ""
|
6113 |
|
6114 |
-
#: src/restorer.php:
|
6115 |
msgid "Final checks"
|
6116 |
msgstr ""
|
6117 |
|
6118 |
-
#: src/restorer.php:
|
6119 |
msgid "Error message"
|
6120 |
msgstr ""
|
6121 |
|
6122 |
-
#: src/restorer.php:
|
6123 |
msgid "UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually."
|
6124 |
msgstr ""
|
6125 |
|
6126 |
-
#: src/restorer.php:
|
6127 |
msgid "Backup file not available."
|
6128 |
msgstr ""
|
6129 |
|
6130 |
-
#: src/restorer.php:
|
6131 |
msgid "Copying this entity failed."
|
6132 |
msgstr ""
|
6133 |
|
6134 |
-
#: src/restorer.php:
|
6135 |
msgid "Unpacking backup..."
|
6136 |
msgstr ""
|
6137 |
|
6138 |
-
#: src/restorer.php:
|
6139 |
msgid "Decrypting database (can take a while)..."
|
6140 |
msgstr ""
|
6141 |
|
6142 |
-
#: src/restorer.php:
|
6143 |
msgid "Database successfully decrypted."
|
6144 |
msgstr ""
|
6145 |
|
6146 |
-
#: src/restorer.php:
|
6147 |
msgid "Moving old data out of the way..."
|
6148 |
msgstr ""
|
6149 |
|
6150 |
-
#: src/restorer.php:
|
6151 |
msgid "Moving unpacked backup into place..."
|
6152 |
msgstr ""
|
6153 |
|
6154 |
-
#: src/restorer.php:
|
6155 |
msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..."
|
6156 |
msgstr ""
|
6157 |
|
6158 |
-
#: src/restorer.php:
|
6159 |
msgid "Cleaning up rubbish..."
|
6160 |
msgstr ""
|
6161 |
|
6162 |
-
#: src/restorer.php:
|
6163 |
msgid "Could not move old files out of the way."
|
6164 |
msgstr ""
|
6165 |
|
6166 |
-
#: src/restorer.php:
|
6167 |
msgid "You should check the file ownerships and permissions in your WordPress installation"
|
6168 |
msgstr ""
|
6169 |
|
6170 |
-
#: src/restorer.php:
|
6171 |
msgid "Could not delete old path."
|
6172 |
msgstr ""
|
6173 |
|
6174 |
-
#: src/restorer.php:
|
6175 |
msgid "Could not move new files into place. Check your wp-content/upgrade folder."
|
6176 |
msgstr ""
|
6177 |
|
6178 |
-
#: src/restorer.php:
|
6179 |
msgid "Could not move the files into place. Check your file permissions."
|
6180 |
msgstr ""
|
6181 |
|
6182 |
-
#: src/restorer.php:
|
6183 |
msgid "Failed to delete working directory after restoring."
|
6184 |
msgstr ""
|
6185 |
|
6186 |
-
#: src/restorer.php:
|
6187 |
msgid "Failed to unpack the archive"
|
6188 |
msgstr ""
|
6189 |
|
6190 |
-
#: src/restorer.php:
|
6191 |
msgid "Failed to read the manifest file from backup."
|
6192 |
msgstr ""
|
6193 |
|
6194 |
-
#: src/restorer.php:
|
6195 |
msgid "Failed to find a manifest file in the backup."
|
6196 |
msgstr ""
|
6197 |
|
6198 |
-
#: src/restorer.php:
|
6199 |
msgid "Failed to read from the working directory."
|
6200 |
msgstr ""
|
6201 |
|
6202 |
-
#: src/restorer.php:
|
6203 |
msgid "Failed to create a temporary directory"
|
6204 |
msgstr ""
|
6205 |
|
6206 |
-
#: src/restorer.php:
|
6207 |
msgid "Failed to write out the decrypted database to the filesystem"
|
6208 |
msgstr ""
|
6209 |
|
6210 |
-
#: src/restorer.php:
|
6211 |
msgid "The directory does not exist, and the attempt to create it failed"
|
6212 |
msgstr ""
|
6213 |
|
6214 |
-
#: src/restorer.php:
|
6215 |
msgid "The directory does not exist"
|
6216 |
msgstr ""
|
6217 |
|
6218 |
-
#: src/restorer.php:
|
6219 |
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
6220 |
msgstr ""
|
6221 |
|
6222 |
-
#: src/restorer.php:
|
6223 |
msgid "wp-config.php from backup: restoring (as per user's request)"
|
6224 |
msgstr ""
|
6225 |
|
6226 |
-
#: src/restorer.php:
|
6227 |
msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)"
|
6228 |
msgstr ""
|
6229 |
|
6230 |
-
#: src/restorer.php:
|
6231 |
msgid "file"
|
6232 |
msgstr ""
|
6233 |
|
6234 |
-
#: src/restorer.php:
|
6235 |
msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete Old Directories\" button to delete them before trying again): %s"
|
6236 |
msgstr ""
|
6237 |
|
6238 |
-
#: src/restorer.php:
|
6239 |
msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup"
|
6240 |
msgstr ""
|
6241 |
|
6242 |
-
#: src/restorer.php:
|
6243 |
msgid "The WordPress content folder (wp-content) was not found in this zip file."
|
6244 |
msgstr ""
|
6245 |
|
6246 |
-
#: src/restorer.php:
|
6247 |
msgid "Files found:"
|
6248 |
msgstr ""
|
6249 |
|
6250 |
-
#: src/restorer.php:
|
6251 |
msgid "Please supply the requested information, and then continue."
|
6252 |
msgstr ""
|
6253 |
|
6254 |
-
#: src/restorer.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6255 |
msgid "Warning: PHP safe_mode is active on your server. Timeouts are much more likely. If these happen, then you will need to manually restore the file via phpMyAdmin or another method."
|
6256 |
msgstr ""
|
6257 |
|
6258 |
-
#: src/restorer.php:
|
6259 |
msgid "Failed to find database file"
|
6260 |
msgstr ""
|
6261 |
|
6262 |
-
#: src/restorer.php:
|
6263 |
msgid "Failed to open database file"
|
6264 |
msgstr ""
|
6265 |
|
6266 |
-
#: src/restorer.php:
|
6267 |
msgid "Your database user does not have permission to drop tables"
|
6268 |
msgstr ""
|
6269 |
|
6270 |
-
#: src/restorer.php:
|
6271 |
msgid "Your database user does not have permission to create tables. We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site."
|
6272 |
msgstr ""
|
6273 |
|
6274 |
-
#: src/restorer.php:
|
6275 |
msgid "Your database user does not have permission to drop tables. We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)"
|
6276 |
msgstr ""
|
6277 |
|
6278 |
-
#: src/restorer.php:
|
6279 |
msgid "Backup of: %s"
|
6280 |
msgstr ""
|
6281 |
|
6282 |
-
#: src/restorer.php:
|
6283 |
msgid "Backup created by:"
|
6284 |
msgstr ""
|
6285 |
|
6286 |
-
#: src/restorer.php:
|
6287 |
msgid "Site home:"
|
6288 |
msgstr ""
|
6289 |
|
6290 |
-
#: src/restorer.php:
|
6291 |
msgid "Content URL:"
|
6292 |
msgstr ""
|
6293 |
|
6294 |
-
#: src/restorer.php:
|
6295 |
msgid "Uploads URL:"
|
6296 |
msgstr ""
|
6297 |
|
6298 |
-
#: src/restorer.php:
|
6299 |
msgid "Skipped tables:"
|
6300 |
msgstr ""
|
6301 |
|
6302 |
-
#: src/restorer.php:
|
6303 |
msgid "Split line to avoid exceeding maximum packet size"
|
6304 |
msgstr ""
|
6305 |
|
6306 |
-
#: src/restorer.php:
|
6307 |
msgid "An error occurred on the first %s command - aborting run"
|
6308 |
msgstr ""
|
6309 |
|
6310 |
-
#: src/restorer.php:
|
6311 |
-
msgid "Requested table engine (%s) is not present - changing to MyISAM."
|
6312 |
-
msgstr ""
|
6313 |
-
|
6314 |
-
#: src/restorer.php:2609
|
6315 |
-
msgid "Requested table character set (%s) is not present - changing to %s."
|
6316 |
-
msgstr ""
|
6317 |
-
|
6318 |
-
#: src/restorer.php:2625
|
6319 |
-
msgid "Found and replaced existing table foreign key constraints as the table prefix has changed."
|
6320 |
-
msgstr ""
|
6321 |
-
|
6322 |
-
#: src/restorer.php:2668
|
6323 |
-
msgid "Requested table collation (%1$s) is not present - changing to %2$s."
|
6324 |
-
msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s."
|
6325 |
-
msgstr[0] ""
|
6326 |
-
msgstr[1] ""
|
6327 |
-
|
6328 |
-
#: src/restorer.php:2670
|
6329 |
-
msgid "Processing table (%s)"
|
6330 |
-
msgstr ""
|
6331 |
-
|
6332 |
-
#: src/restorer.php:2674
|
6333 |
-
msgid "will restore as:"
|
6334 |
-
msgstr ""
|
6335 |
-
|
6336 |
-
#: src/restorer.php:2720
|
6337 |
msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()."
|
6338 |
msgstr ""
|
6339 |
|
6340 |
-
#: src/restorer.php:
|
6341 |
msgid "Requested character set (%s) is not present - changing to %s."
|
6342 |
msgstr ""
|
6343 |
|
6344 |
-
#: src/restorer.php:
|
6345 |
-
msgid "Skipping table
|
6346 |
msgstr ""
|
6347 |
|
6348 |
-
#: src/restorer.php:
|
|
|
|
|
|
|
|
|
6349 |
msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s"
|
6350 |
msgstr ""
|
6351 |
|
6352 |
-
#: src/restorer.php:
|
6353 |
msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred"
|
6354 |
msgid "An error (%s) occurred:"
|
6355 |
msgstr ""
|
6356 |
|
6357 |
-
#: src/restorer.php:
|
6358 |
msgid "The Database connection has been closed and cannot be reopened."
|
6359 |
msgstr ""
|
6360 |
|
6361 |
-
#: src/restorer.php:
|
6362 |
msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database."
|
6363 |
msgstr ""
|
6364 |
|
6365 |
-
#: src/restorer.php:
|
6366 |
msgid "This database needs to be deployed on MySQL version %s or later."
|
6367 |
msgstr ""
|
6368 |
|
6369 |
-
#: src/restorer.php:
|
6370 |
msgid "To use this backup, your database server needs to support the %s character set."
|
6371 |
msgstr ""
|
6372 |
|
6373 |
-
#: src/restorer.php:
|
6374 |
msgid "Too many database errors have occurred - aborting"
|
6375 |
msgstr ""
|
6376 |
|
6377 |
-
#: src/restorer.php:
|
6378 |
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
6379 |
msgstr ""
|
6380 |
|
@@ -6742,6 +6846,10 @@ msgstr ""
|
|
6742 |
msgid "You will need to restore it manually."
|
6743 |
msgstr ""
|
6744 |
|
|
|
|
|
|
|
|
|
6745 |
#: src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27
|
6746 |
msgid "Your WordPress installation has a problem with outputting extra whitespace. This can corrupt backups that you download from here."
|
6747 |
msgstr ""
|
@@ -6834,51 +6942,59 @@ msgstr ""
|
|
6834 |
msgid "Add an exclusion rule"
|
6835 |
msgstr ""
|
6836 |
|
6837 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:17, src/templates/wp-admin/settings/existing-backups-table.php:
|
6838 |
msgid "Backup date"
|
6839 |
msgstr ""
|
6840 |
|
6841 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:18, src/templates/wp-admin/settings/existing-backups-table.php:
|
6842 |
msgid "Backup data (click to download)"
|
6843 |
msgstr ""
|
6844 |
|
6845 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6846 |
msgid "remote site"
|
6847 |
msgstr ""
|
6848 |
|
6849 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6850 |
msgid "Remote storage: %s"
|
6851 |
msgstr ""
|
6852 |
|
6853 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6854 |
msgid "Actions upon selected backups"
|
6855 |
msgstr ""
|
6856 |
|
6857 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6858 |
msgid "Delete selected backups"
|
6859 |
msgstr ""
|
6860 |
|
6861 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6862 |
msgid "Select all backups"
|
6863 |
msgstr ""
|
6864 |
|
6865 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6866 |
msgid "Select all"
|
6867 |
msgstr ""
|
6868 |
|
6869 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6870 |
msgid "Deselect all backups"
|
6871 |
msgstr ""
|
6872 |
|
6873 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6874 |
msgid "Deselect"
|
6875 |
msgstr ""
|
6876 |
|
6877 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6878 |
msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between"
|
6879 |
msgstr ""
|
6880 |
|
6881 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:
|
6882 |
msgid "Please allow time for the communications with the remote storage to complete."
|
6883 |
msgstr ""
|
6884 |
|
@@ -7052,7 +7168,7 @@ msgid "Show expert settings"
|
|
7052 |
msgstr ""
|
7053 |
|
7054 |
#: src/templates/wp-admin/settings/form-contents.php:294
|
7055 |
-
msgid "
|
7056 |
msgstr ""
|
7057 |
|
7058 |
#: src/templates/wp-admin/settings/form-contents.php:304
|
21 |
msgid "WordPress core (only)"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: src/addons/autobackup.php:139, src/addons/autobackup.php:1068
|
25 |
msgid "UpdraftPlus Automatic Backups"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: src/addons/autobackup.php:157, src/addons/autobackup.php:1048, src/admin.php:858
|
29 |
msgid "Automatic backup before update"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: src/addons/autobackup.php:322
|
33 |
msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: src/addons/autobackup.php:324, src/addons/autobackup.php:1107
|
37 |
msgid "Remember this choice for next time (you will still have the chance to change it)"
|
38 |
msgstr ""
|
39 |
|
40 |
+
#: src/addons/autobackup.php:325, src/addons/autobackup.php:1112, src/addons/lockadmin.php:160
|
41 |
msgid "Read more about how this works..."
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: src/addons/autobackup.php:364
|
45 |
msgid "Creating %s and database backup with UpdraftPlus..."
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: src/addons/autobackup.php:364, src/addons/autobackup.php:458
|
49 |
msgid "(logs can be found in the UpdraftPlus settings page as normal)..."
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: src/addons/autobackup.php:365, src/addons/autobackup.php:460, src/admin.php:3194, src/admin.php:3200, src/templates/wp-admin/settings/take-backup.php:71
|
53 |
msgid "Last log message"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: src/addons/autobackup.php:368, src/addons/autobackup.php:465
|
57 |
msgid "Starting automatic backup..."
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: src/addons/autobackup.php:370, src/addons/autobackup.php:462, src/admin.php:809, src/methods/remotesend.php:69, src/methods/remotesend.php:77, src/methods/remotesend.php:239, src/methods/remotesend.php:255
|
61 |
msgid "Unexpected response:"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: src/addons/autobackup.php:417
|
65 |
msgid "plugins"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: src/addons/autobackup.php:424
|
69 |
msgid "themes"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: src/addons/autobackup.php:458
|
73 |
msgid "Creating database backup with UpdraftPlus..."
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: src/addons/autobackup.php:467, src/addons/autobackup.php:598, src/addons/autobackup.php:649
|
77 |
msgid "Automatic Backup"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: src/addons/autobackup.php:522
|
81 |
msgid "Creating backup with UpdraftPlus..."
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: src/addons/autobackup.php:551
|
85 |
msgid "Errors have occurred:"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: src/addons/autobackup.php:570, src/addons/autobackup.php:572
|
89 |
msgid "Backup succeeded"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: src/addons/autobackup.php:570, src/addons/autobackup.php:572
|
93 |
msgid "(view log...)"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: src/addons/autobackup.php:570, src/addons/autobackup.php:572
|
97 |
msgid "now proceeding with the updates..."
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: src/addons/autobackup.php:1094, src/admin.php:1012
|
101 |
msgid "Be safe with an automatic backup"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: src/addons/autobackup.php:1102
|
105 |
msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: src/addons/autobackup.php:1119
|
109 |
msgid "Do not abort after pressing Proceed below - wait for the backup to complete."
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: src/addons/autobackup.php:1126, src/admin.php:854
|
113 |
msgid "Proceed with update"
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: src/addons/azure.php:260, src/methods/addon-base-v2.php:258, src/methods/openstack-base.php:460, src/methods/stream-base.php:304, src/methods/stream-base.php:311, src/methods/stream-base.php:342
|
117 |
msgid "%s Error"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: src/addons/azure.php:260, src/class-updraftplus.php:4282, src/methods/googledrive.php:1251, src/methods/s3.php:351
|
121 |
msgid "File not found"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: src/addons/azure.php:406
|
125 |
msgid "Could not access container"
|
126 |
msgstr ""
|
127 |
|
128 |
+
#: src/addons/azure.php:413, src/methods/stream-base.php:152, src/methods/stream-base.php:157
|
129 |
msgid "Upload failed"
|
130 |
msgstr ""
|
131 |
|
132 |
+
#: src/addons/azure.php:436, src/addons/backblaze.php:548, src/addons/googlecloud.php:846, src/methods/s3.php:1238
|
133 |
msgid "Delete failed:"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: src/addons/azure.php:552
|
137 |
msgid "Could not create the container"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: src/addons/azure.php:589
|
141 |
msgid "Microsoft Azure is not compatible with sites hosted on a localhost or 127.0.0.1 URL - their developer console forbids these (current URL is: %s)."
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: src/addons/azure.php:591
|
145 |
msgid "You must add the following as the authorised redirect URI in your Azure console (under \"API Settings\") when asked"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: src/addons/azure.php:597, src/addons/migrator.php:957, src/admin.php:1189, src/admin.php:1194, src/admin.php:1200, src/admin.php:1204, src/admin.php:1208, src/admin.php:1217, src/admin.php:4065, src/admin.php:4072, src/admin.php:4074, src/admin.php:5652, src/methods/cloudfiles-new.php:96, src/methods/cloudfiles.php:443, src/methods/ftp.php:343, src/methods/openstack-base.php:576, src/methods/s3.php:883, src/methods/s3.php:887, src/methods/updraftvault.php:321, src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27, src/udaddons/updraftplus-addons.php:301
|
149 |
msgid "Warning"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: src/addons/azure.php:597, src/admin.php:4065, src/methods/updraftvault.php:321
|
153 |
msgid "Your web server's PHP installation does not included a <strong>required</strong> (for %s) module (%s). Please contact your web hosting provider's support and ask for them to enable it."
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: src/addons/azure.php:600
|
157 |
msgid "Create Azure credentials in your Azure developer console."
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: src/addons/azure.php:601, src/addons/onedrive.php:1169, src/includes/class-remote-send.php:395
|
161 |
msgid "For longer help, including screenshots, follow this link."
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: src/addons/azure.php:619
|
165 |
msgid "%s Account Name"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: src/addons/azure.php:619, src/addons/azure.php:623, src/addons/azure.php:628, src/addons/azure.php:633
|
169 |
msgid "Azure"
|
170 |
msgstr ""
|
171 |
|
172 |
+
#: src/addons/azure.php:620, src/addons/azure.php:620
|
173 |
msgid "This is not your Azure login - see the instructions if needing more guidance."
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: src/addons/azure.php:623
|
177 |
msgid "%s Key"
|
178 |
msgstr ""
|
179 |
|
180 |
+
#: src/addons/azure.php:628
|
181 |
msgid "%s Container"
|
182 |
msgstr ""
|
183 |
|
184 |
+
#: src/addons/azure.php:629
|
185 |
msgid "Enter the path of the %s you wish to use here."
|
186 |
msgstr ""
|
187 |
|
188 |
+
#: src/addons/azure.php:629
|
189 |
msgid "See Microsoft's guidelines on container naming by following this link."
|
190 |
msgstr ""
|
191 |
|
192 |
+
#: src/addons/azure.php:633
|
193 |
msgid "%s Prefix"
|
194 |
msgstr ""
|
195 |
|
196 |
+
#: src/addons/azure.php:633
|
197 |
msgid "optional"
|
198 |
msgstr ""
|
199 |
|
200 |
+
#: src/addons/azure.php:634
|
201 |
msgid "You can enter the path of any %s virtual folder you wish to use here."
|
202 |
msgstr ""
|
203 |
|
204 |
+
#: src/addons/azure.php:634, src/addons/google-enhanced.php:77, src/addons/onedrive.php:1209
|
205 |
msgid "If you leave it blank, then the backup will be placed in the root of your %s"
|
206 |
msgstr ""
|
207 |
|
208 |
+
#: src/addons/azure.php:634
|
209 |
msgid "container"
|
210 |
msgstr ""
|
211 |
|
212 |
+
#: src/addons/azure.php:637
|
213 |
msgid "Azure Account"
|
214 |
msgstr ""
|
215 |
|
216 |
+
#: src/addons/azure.php:640
|
217 |
msgid "Azure Global"
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: src/addons/azure.php:641
|
221 |
msgid "Azure Germany"
|
222 |
msgstr ""
|
223 |
|
224 |
+
#: src/addons/azure.php:642
|
225 |
msgid "Azure Government"
|
226 |
msgstr ""
|
227 |
|
228 |
+
#: src/addons/azure.php:643
|
229 |
msgid "Azure China"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: src/addons/backblaze.php:198, src/admin.php:2269
|
233 |
msgid "Error: unexpected file read fail"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: src/addons/backblaze.php:205, src/addons/backblaze.php:230, src/addons/cloudfiles-enhanced.php:123, src/addons/migrator.php:903, src/addons/migrator.php:1199, src/addons/migrator.php:1277, src/addons/migrator.php:1326, src/addons/migrator.php:1580, src/addons/s3-enhanced.php:161, src/addons/s3-enhanced.php:166, src/addons/s3-enhanced.php:168, src/addons/sftp.php:922, src/addons/webdav.php:204, src/admin.php:89, src/admin.php:823, src/includes/class-remote-send.php:325, src/includes/class-remote-send.php:371, src/includes/class-remote-send.php:377, src/includes/class-remote-send.php:442, src/includes/class-remote-send.php:500, src/includes/class-remote-send.php:527, src/includes/class-remote-send.php:555, src/includes/class-remote-send.php:565, src/includes/class-remote-send.php:570, src/includes/class-remote-send.php:582, src/methods/remotesend.php:74, src/methods/remotesend.php:252, src/methods/updraftvault.php:564, src/restorer.php:412, src/restorer.php:440, src/restorer.php:2069
|
237 |
msgid "Error:"
|
238 |
msgstr ""
|
239 |
|
240 |
+
#: src/addons/backblaze.php:472
|
241 |
msgid "Account ID"
|
242 |
msgstr ""
|
243 |
|
244 |
+
#: src/addons/backblaze.php:473
|
245 |
msgid "Account Key"
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: src/addons/backblaze.php:495
|
249 |
msgid "Invalid bucket name"
|
250 |
msgstr ""
|
251 |
|
252 |
+
#: src/addons/backblaze.php:517, src/methods/s3.php:1207
|
253 |
msgid "Failure: We could not successfully access or create such a bucket. Please check your access credentials, and if those are correct then try another bucket name (as another %s user may already have taken your name)."
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: src/addons/backblaze.php:601, src/methods/cloudfiles.php:232, src/methods/dropbox.php:355, src/methods/openstack-base.php:117
|
257 |
msgid "No settings were found"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: src/addons/backblaze.php:649
|
261 |
msgid "For help configuring %s, including screenshots, follow this link."
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: src/addons/backblaze.php:670
|
265 |
msgid "Master Application Key ID"
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: src/addons/backblaze.php:672
|
269 |
msgid "Get these settings from %s, or sign up %s."
|
270 |
msgstr ""
|
271 |
|
272 |
+
#: src/addons/backblaze.php:672, src/addons/backblaze.php:672
|
273 |
msgid "here"
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: src/addons/backblaze.php:677
|
277 |
msgid "Application key"
|
278 |
msgstr ""
|
279 |
|
280 |
+
#: src/addons/backblaze.php:682
|
281 |
msgid "Bucket application key ID"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: src/addons/backblaze.php:683, src/addons/backblaze.php:684
|
285 |
msgid "This is needed if, and only if, your application key was a bucket-specific application key (not a master key)"
|
286 |
msgstr ""
|
287 |
|
288 |
+
#: src/addons/backblaze.php:689
|
289 |
msgid "Backup path"
|
290 |
msgstr ""
|
291 |
|
292 |
+
#: src/addons/backblaze.php:690
|
293 |
msgid "Bucket name"
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: src/addons/backblaze.php:690
|
297 |
msgid "some/path"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: src/addons/backblaze.php:691
|
301 |
msgid "There are limits upon which path-names are valid. Spaces are not allowed."
|
302 |
msgstr ""
|
303 |
|
309 |
msgid "Adds enhanced capabilities for Rackspace Cloud Files users"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:113, src/methods/cloudfiles.php:469
|
313 |
msgid "US (default)"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:114, src/methods/cloudfiles.php:470
|
317 |
msgid "UK"
|
318 |
msgstr ""
|
319 |
|
365 |
msgid "You need to enter a valid new email address"
|
366 |
msgstr ""
|
367 |
|
368 |
+
#: src/addons/cloudfiles-enhanced.php:120, src/addons/cloudfiles-enhanced.php:133, src/addons/cloudfiles-enhanced.php:137, src/methods/cloudfiles.php:557, src/methods/cloudfiles.php:560, src/methods/cloudfiles.php:563
|
369 |
msgid "Cloud Files authentication failed"
|
370 |
msgstr ""
|
371 |
|
372 |
+
#: src/addons/cloudfiles-enhanced.php:160, src/addons/s3-enhanced.php:237, src/methods/cloudfiles-new.php:37, src/methods/openstack-base.php:489, src/methods/openstack-base.php:491, src/methods/openstack-base.php:512, src/methods/openstack2.php:33
|
373 |
msgid "Authorisation failed (check your credentials)"
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: src/addons/cloudfiles-enhanced.php:162
|
377 |
msgid "Conflict: that user or email address already exists"
|
378 |
msgstr ""
|
379 |
|
380 |
+
#: src/addons/cloudfiles-enhanced.php:164, src/addons/cloudfiles-enhanced.php:167, src/addons/cloudfiles-enhanced.php:171, src/addons/cloudfiles-enhanced.php:183, src/addons/cloudfiles-enhanced.php:190, src/addons/cloudfiles-enhanced.php:194
|
381 |
msgid "Cloud Files operation failed (%s)"
|
382 |
msgstr ""
|
383 |
|
384 |
+
#: src/addons/cloudfiles-enhanced.php:205, src/addons/s3-enhanced.php:334
|
385 |
msgid "Username: %s"
|
386 |
msgstr ""
|
387 |
|
388 |
+
#: src/addons/cloudfiles-enhanced.php:205
|
389 |
msgid "Password: %s"
|
390 |
msgstr ""
|
391 |
|
392 |
+
#: src/addons/cloudfiles-enhanced.php:205
|
393 |
msgid "API Key: %s"
|
394 |
msgstr ""
|
395 |
|
396 |
+
#: src/addons/cloudfiles-enhanced.php:273
|
397 |
msgid "Create new API user and container"
|
398 |
msgstr ""
|
399 |
|
400 |
+
#: src/addons/cloudfiles-enhanced.php:276
|
401 |
msgid "Enter your Rackspace admin username/API key (so that Rackspace can authenticate your permission to create new users), and enter a new (unique) username and email address for the new user and a container name."
|
402 |
msgstr ""
|
403 |
|
404 |
+
#: src/addons/cloudfiles-enhanced.php:284
|
405 |
msgid "US or UK Rackspace Account"
|
406 |
msgstr ""
|
407 |
|
408 |
+
#: src/addons/cloudfiles-enhanced.php:285, src/methods/cloudfiles-new.php:110
|
409 |
msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts."
|
410 |
msgstr ""
|
411 |
|
412 |
+
#: src/addons/cloudfiles-enhanced.php:289
|
413 |
msgid "Admin Username"
|
414 |
msgstr ""
|
415 |
|
416 |
+
#: src/addons/cloudfiles-enhanced.php:292
|
417 |
msgid "Admin API Key"
|
418 |
msgstr ""
|
419 |
|
420 |
+
#: src/addons/cloudfiles-enhanced.php:295
|
421 |
msgid "New User's Username"
|
422 |
msgstr ""
|
423 |
|
424 |
+
#: src/addons/cloudfiles-enhanced.php:298
|
425 |
msgid "New User's Email Address"
|
426 |
msgstr ""
|
427 |
|
428 |
+
#: src/addons/cloudfiles-enhanced.php:301, src/methods/cloudfiles-new.php:119
|
429 |
msgid "Cloud Files Storage Region"
|
430 |
msgstr ""
|
431 |
|
432 |
+
#: src/addons/cloudfiles-enhanced.php:305, src/methods/cloudfiles-new.php:142, src/methods/cloudfiles.php:495
|
433 |
msgid "Cloud Files Container"
|
434 |
msgstr ""
|
435 |
|
437 |
msgid "Store at"
|
438 |
msgstr ""
|
439 |
|
440 |
+
#: src/addons/fixtime.php:305
|
441 |
msgid "Add an additional database retention rule"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: src/addons/fixtime.php:305, src/addons/fixtime.php:310
|
445 |
msgid "Add an additional retention rule..."
|
446 |
msgstr ""
|
447 |
|
448 |
+
#: src/addons/fixtime.php:310
|
449 |
msgid "Add an additional file retention rule"
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: src/addons/fixtime.php:447
|
453 |
msgid "(at same time as files backup)"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: src/addons/fixtime.php:552
|
457 |
msgid "Day to run backups"
|
458 |
msgstr ""
|
459 |
|
460 |
+
#: src/addons/fixtime.php:570
|
461 |
msgid "starting from next time it is"
|
462 |
msgstr ""
|
463 |
|
464 |
+
#: src/addons/fixtime.php:570
|
465 |
msgid "Start time"
|
466 |
msgstr ""
|
467 |
|
468 |
+
#: src/addons/fixtime.php:570
|
469 |
msgid "Enter in format HH:MM (e.g. 14:22)."
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: src/addons/fixtime.php:570
|
473 |
msgid "The time zone used is that from your WordPress settings, in Settings -> General."
|
474 |
msgstr ""
|
475 |
|
476 |
+
#: src/addons/google-enhanced.php:75, src/methods/googledrive.php:285, src/methods/googledrive.php:287, src/methods/googledrive.php:558, src/methods/googledrive.php:600, src/methods/googledrive.php:643, src/methods/googledrive.php:650, src/methods/googledrive.php:662, src/methods/googledrive.php:678, src/methods/googledrive.php:680, src/methods/googledrive.php:1322, src/methods/googledrive.php:1329, src/methods/googledrive.php:1329, src/methods/googledrive.php:1362, src/methods/googledrive.php:1366, src/methods/googledrive.php:1377, src/methods/googledrive.php:1388
|
477 |
msgid "Google Drive"
|
478 |
msgstr ""
|
479 |
|
480 |
+
#: src/addons/google-enhanced.php:75, src/methods/googledrive.php:1377, src/methods/googledrive.php:1388
|
481 |
msgid "Folder"
|
482 |
msgstr ""
|
483 |
|
484 |
+
#: src/addons/google-enhanced.php:77, src/addons/onedrive.php:1209
|
485 |
msgid "Enter the path of the %s folder you wish to use here."
|
486 |
msgstr ""
|
487 |
|
488 |
+
#: src/addons/google-enhanced.php:77, src/addons/googlecloud.php:1040, src/addons/onedrive.php:1209
|
489 |
msgid "e.g. %s"
|
490 |
msgstr ""
|
491 |
|
597 |
msgid "Frankfurt"
|
598 |
msgstr ""
|
599 |
|
600 |
+
#: src/addons/googlecloud.php:125, src/addons/googlecloud.php:796, src/methods/s3.php:1181
|
601 |
msgid "Failure: No bucket details were given."
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: src/addons/googlecloud.php:208, src/addons/googlecloud.php:213, src/methods/cloudfiles.php:128, src/methods/googledrive.php:1166, src/methods/googledrive.php:1171
|
605 |
msgid "Error: Failed to open local file"
|
606 |
msgstr ""
|
607 |
|
608 |
+
#: src/addons/googlecloud.php:264, src/addons/googlecloud.php:317, src/addons/googlecloud.php:335, src/addons/googlecloud.php:900, src/addons/googlecloud.php:950
|
609 |
msgid "%s Service Exception."
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: src/addons/googlecloud.php:264, src/addons/googlecloud.php:317, src/addons/googlecloud.php:325, src/addons/googlecloud.php:335, src/addons/googlecloud.php:721, src/addons/googlecloud.php:900, src/addons/googlecloud.php:950, src/addons/googlecloud.php:992, src/addons/googlecloud.php:992, src/addons/googlecloud.php:1020, src/addons/googlecloud.php:1028, src/addons/googlecloud.php:1040
|
613 |
msgid "Google Cloud"
|
614 |
msgstr ""
|
615 |
|
616 |
+
#: src/addons/googlecloud.php:264, src/addons/googlecloud.php:335, src/addons/googlecloud.php:900, src/addons/googlecloud.php:950
|
617 |
msgid "You do not have access to this bucket."
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: src/addons/googlecloud.php:301, src/methods/googledrive.php:1291
|
621 |
msgid "download: failed: file not found"
|
622 |
msgstr ""
|
623 |
|
624 |
+
#: src/addons/googlecloud.php:317
|
625 |
msgid "You do not have access to this bucket"
|
626 |
msgstr ""
|
627 |
|
628 |
+
#: src/addons/googlecloud.php:325, src/addons/sftp.php:50, src/methods/addon-base-v2.php:74, src/methods/addon-base-v2.php:115, src/methods/addon-base-v2.php:157, src/methods/addon-base-v2.php:234, src/methods/addon-base-v2.php:323, src/methods/ftp.php:42, src/methods/googledrive.php:285, src/methods/googledrive.php:287, src/methods/stream-base.php:33, src/methods/stream-base.php:172, src/methods/stream-base.php:178, src/methods/stream-base.php:212, src/methods/stream-base.php:285
|
629 |
msgid "No %s settings were found"
|
630 |
msgstr ""
|
631 |
|
632 |
+
#: src/addons/googlecloud.php:397
|
633 |
msgid "Authentication could not go ahead, because something else on your site is breaking it. Try disabling your other plugins and switching to a default theme. (Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins. Turning off any debugging settings may also help)."
|
634 |
msgstr ""
|
635 |
|
637 |
msgid "No refresh token was received from Google. This often means that you entered your client secret wrongly, or that you have not yet re-authenticated (below) since correcting it. Re-check it, then follow the link to authenticate again. Finally, if that does not work, then use expert mode to wipe all your settings, create a new Google client ID/secret, and start again."
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: src/addons/googlecloud.php:445, src/addons/migrator.php:585, src/admin.php:2452, src/admin.php:2473, src/admin.php:2481, src/class-updraftplus.php:1101, src/class-updraftplus.php:1107, src/class-updraftplus.php:4493, src/class-updraftplus.php:4495, src/class-updraftplus.php:4661, src/class-updraftplus.php:4668, src/class-updraftplus.php:4742, src/methods/googledrive.php:486, src/methods/s3.php:351
|
641 |
msgid "Error: %s"
|
642 |
msgstr ""
|
643 |
|
645 |
msgid "Authorization failed"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: src/addons/googlecloud.php:510, src/addons/googlecloud.php:511, src/addons/googlecloud.php:869, src/methods/googledrive.php:704, src/methods/googledrive.php:705, src/methods/googledrive.php:715, src/methods/googledrive.php:716
|
649 |
msgid "Account is not authorized."
|
650 |
msgstr ""
|
651 |
|
652 |
+
#: src/addons/googlecloud.php:544
|
653 |
msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud."
|
654 |
msgstr ""
|
655 |
|
656 |
+
#: src/addons/googlecloud.php:693
|
657 |
msgid "But no bucket was defined, so backups may not complete. Please enter a bucket name in the %s settings and save settings."
|
658 |
msgstr ""
|
659 |
|
660 |
+
#: src/addons/googlecloud.php:695
|
661 |
msgid "But no %s settings were found. Please complete all fields in %s settings and save the settings."
|
662 |
msgstr ""
|
663 |
|
664 |
+
#: src/addons/googlecloud.php:701, src/addons/onedrive.php:928, src/addons/onedrive.php:939, src/methods/googledrive.php:525, src/methods/googledrive.php:538
|
665 |
msgid "However, subsequent access attempts failed:"
|
666 |
msgstr ""
|
667 |
|
668 |
+
#: src/addons/googlecloud.php:721, src/addons/googlecloud.php:842, src/addons/onedrive.php:960, src/addons/sftp.php:590, src/addons/sftp.php:594, src/addons/wp-cli.php:516, src/methods/addon-base-v2.php:363, src/methods/cloudfiles.php:578, src/methods/googledrive.php:558, src/methods/openstack-base.php:535, src/methods/s3.php:1221, src/methods/stream-base.php:379
|
669 |
msgid "Success"
|
670 |
msgstr ""
|
671 |
|
672 |
+
#: src/addons/googlecloud.php:721, src/addons/onedrive.php:960, src/methods/googledrive.php:558
|
673 |
msgid "you have authenticated your %s account."
|
674 |
msgstr ""
|
675 |
|
676 |
+
#: src/addons/googlecloud.php:721, src/methods/googledrive.php:558
|
677 |
msgid "Name: %s."
|
678 |
msgstr ""
|
679 |
|
680 |
+
#: src/addons/googlecloud.php:762
|
681 |
msgid "You must save and authenticate before you can test your settings."
|
682 |
msgstr ""
|
683 |
|
684 |
+
#: src/addons/googlecloud.php:779, src/addons/googlecloud.php:813, src/addons/googlecloud.php:819, src/addons/sftp.php:552, src/admin.php:3611, src/admin.php:3647, src/admin.php:3657, src/methods/addon-base-v2.php:349, src/methods/stream-base.php:363
|
685 |
msgid "Failed"
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: src/addons/googlecloud.php:836, src/addons/googlecloud.php:850, src/methods/s3.php:1219, src/methods/s3.php:1231
|
689 |
msgid "Failure"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: src/addons/googlecloud.php:836, src/addons/googlecloud.php:850, src/methods/s3.php:1219, src/methods/s3.php:1231
|
693 |
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: src/addons/googlecloud.php:842, src/methods/s3.php:1221
|
697 |
msgid "We accessed the bucket, and were able to create files within it."
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: src/addons/googlecloud.php:911
|
701 |
msgid "You must enter a project ID in order to be able to create a new bucket."
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: src/addons/googlecloud.php:985, src/methods/dropbox.php:576
|
705 |
msgid "%s logo"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: src/addons/googlecloud.php:986
|
709 |
msgid "Do not confuse %s with %s - they are separate things."
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: src/addons/googlecloud.php:992
|
713 |
msgid "%s does not allow authorization of sites hosted on direct IP addresses. You will need to change your site's address (%s) before you can use %s for storage."
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: src/addons/googlecloud.php:996, src/methods/googledrive.php:1334
|
717 |
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
718 |
msgstr ""
|
719 |
|
720 |
+
#: src/addons/googlecloud.php:998
|
721 |
msgid "Follow this link to your Google API Console, and there activate the Storage API and create a Client ID in the API Access section."
|
722 |
msgstr ""
|
723 |
|
724 |
+
#: src/addons/googlecloud.php:998, src/methods/googledrive.php:1336
|
725 |
msgid "Select 'Web Application' as the application type."
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: src/addons/googlecloud.php:998
|
729 |
msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked"
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: src/addons/googlecloud.php:1020, src/addons/onedrive.php:1198, src/methods/googledrive.php:1362
|
733 |
msgid "Client ID"
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: src/addons/googlecloud.php:1022, src/addons/googlecloud.php:1023, src/methods/googledrive.php:1363
|
737 |
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: src/addons/googlecloud.php:1028, src/addons/onedrive.php:1202, src/methods/googledrive.php:1366
|
741 |
msgid "Client Secret"
|
742 |
msgstr ""
|
743 |
|
744 |
+
#: src/addons/googlecloud.php:1033
|
745 |
msgid "Project ID"
|
746 |
msgstr ""
|
747 |
|
748 |
+
#: src/addons/googlecloud.php:1035
|
749 |
msgid "Enter the ID of the %s project you wish to use here."
|
750 |
msgstr ""
|
751 |
|
752 |
+
#: src/addons/googlecloud.php:1035, src/addons/googlecloud.php:1035
|
753 |
msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you."
|
754 |
msgstr ""
|
755 |
|
756 |
+
#: src/addons/googlecloud.php:1035, src/addons/googlecloud.php:1035
|
757 |
msgid "Otherwise, you can leave it blank."
|
758 |
msgstr ""
|
759 |
|
760 |
+
#: src/addons/googlecloud.php:1035, src/addons/migrator.php:490, src/addons/migrator.php:493, src/addons/migrator.php:496, src/admin.php:1194, src/admin.php:2691, src/backup.php:3313, src/class-updraftplus.php:4765, src/class-updraftplus.php:4765, src/updraftplus.php:157
|
761 |
msgid "Go here for more information."
|
762 |
msgstr ""
|
763 |
|
764 |
+
#: src/addons/googlecloud.php:1039
|
765 |
msgid "Bucket"
|
766 |
msgstr ""
|
767 |
|
768 |
+
#: src/addons/googlecloud.php:1040
|
769 |
msgid "Enter the name of the %s bucket you wish to use here."
|
770 |
msgstr ""
|
771 |
|
772 |
+
#: src/addons/googlecloud.php:1040
|
773 |
msgid "See Google's guidelines on bucket naming by following this link."
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: src/addons/googlecloud.php:1040
|
777 |
msgid "You must use a bucket name that is unique, for all %s users."
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: src/addons/googlecloud.php:1043, src/addons/s3-enhanced.php:59
|
781 |
msgid "Storage class"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: src/addons/googlecloud.php:1043, src/addons/s3-enhanced.php:59
|
785 |
msgid "Read more about storage classes"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: src/addons/googlecloud.php:1043, src/addons/googlecloud.php:1056, src/addons/s3-enhanced.php:59, src/addons/s3-enhanced.php:69
|
789 |
msgid "(Read more)"
|
790 |
msgstr ""
|
791 |
|
792 |
+
#: src/addons/googlecloud.php:1045, src/addons/googlecloud.php:1051, src/addons/googlecloud.php:1058, src/addons/googlecloud.php:1064
|
793 |
msgid "This setting applies only when a new bucket is being created."
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: src/addons/googlecloud.php:1045, src/addons/googlecloud.php:1051
|
797 |
msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability."
|
798 |
msgstr ""
|
799 |
|
800 |
+
#: src/addons/googlecloud.php:1056
|
801 |
msgid "Bucket location"
|
802 |
msgstr ""
|
803 |
|
804 |
+
#: src/addons/googlecloud.php:1056
|
805 |
msgid "Read more about bucket locations"
|
806 |
msgstr ""
|
807 |
|
808 |
+
#: src/addons/googlecloud.php:1075, src/methods/googledrive.php:1407
|
809 |
msgid "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem)."
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: src/addons/googlecloud.php:1109, src/addons/onedrive.php:1269, src/methods/dropbox.php:667, src/methods/googledrive.php:1418
|
813 |
msgid "Account holder's name: %s."
|
814 |
msgstr ""
|
815 |
|
821 |
msgid "Supported backup plugins: %s"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: src/addons/importer.php:276, src/admin.php:4226, src/includes/class-backup-history.php:506
|
825 |
msgid "Backup created by: %s."
|
826 |
msgstr ""
|
827 |
|
845 |
msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to."
|
846 |
msgstr ""
|
847 |
|
848 |
+
#: src/addons/incremental.php:328, src/addons/reporting.php:261, src/admin.php:4158
|
849 |
msgid "None"
|
850 |
msgstr ""
|
851 |
|
852 |
+
#: src/addons/incremental.php:329, src/admin.php:3867, src/updraftplus.php:99
|
853 |
msgid "Every hour"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: src/addons/incremental.php:330, src/addons/incremental.php:331, src/addons/incremental.php:332, src/addons/incremental.php:333, src/admin.php:3868, src/admin.php:3869, src/admin.php:3870, src/admin.php:3871, src/updraftplus.php:100, src/updraftplus.php:101, src/updraftplus.php:102
|
857 |
msgid "Every %s hours"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: src/addons/incremental.php:334, src/admin.php:3872
|
861 |
msgid "Daily"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: src/addons/incremental.php:335, src/admin.php:3873
|
865 |
msgid "Weekly"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: src/addons/incremental.php:336, src/admin.php:3874
|
869 |
msgid "Fortnightly"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: src/addons/incremental.php:337, src/admin.php:3875
|
873 |
msgid "Monthly"
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: src/addons/incremental.php:351
|
877 |
msgid "And then add an incremental backup"
|
878 |
msgstr ""
|
879 |
|
880 |
+
#: src/addons/incremental.php:363
|
881 |
msgid "Tell me more about incremental backups"
|
882 |
msgstr ""
|
883 |
|
884 |
+
#: src/addons/incremental.php:363
|
885 |
msgid "Tell me more"
|
886 |
msgstr ""
|
887 |
|
905 |
msgid "Please make sure that you have made a note of the password!"
|
906 |
msgstr ""
|
907 |
|
908 |
+
#: src/addons/lockadmin.php:171, src/addons/moredatabase.php:241, src/addons/sftp.php:458, src/addons/webdav.php:194, src/admin.php:976, src/admin.php:3086, src/methods/openstack2.php:164, src/methods/updraftvault.php:388, src/templates/wp-admin/settings/updraftcentral-connect.php:50
|
909 |
msgid "Password"
|
910 |
msgstr ""
|
911 |
|
977 |
msgid "Read this article to see step-by-step how it's done."
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: src/addons/migrator.php:229, src/addons/migrator.php:1756, src/addons/migrator.php:1777
|
981 |
msgid "back"
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: src/addons/migrator.php:230
|
985 |
msgid "Restore an existing backup set onto this site"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: src/addons/migrator.php:233
|
989 |
+
msgid "To import a backup set, go to the \"Existing backups\" section in the \"Backup/Restore\" tab"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: src/addons/migrator.php:236
|
993 |
msgid "This site has no backups to restore from yet."
|
994 |
msgstr ""
|
995 |
|
996 |
+
#: src/addons/migrator.php:271
|
997 |
msgid "After pressing this button, you will be given the option to choose which components you wish to migrate"
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: src/addons/migrator.php:271, src/admin.php:662, src/admin.php:856, src/admin.php:4328
|
1001 |
msgid "Restore"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: src/addons/migrator.php:275
|
1005 |
msgid "For incremental backups, you will be able to choose which increments to restore at a later stage."
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: src/addons/migrator.php:304
|
1009 |
msgid "Disabled this plugin: %s: re-activate it manually when you are ready."
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: src/addons/migrator.php:331, src/addons/migrator.php:376, src/templates/wp-admin/advanced/search-replace.php:7, src/templates/wp-admin/advanced/tools-menu.php:18
|
1013 |
msgid "Search / replace database"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: src/addons/migrator.php:332, src/addons/migrator.php:384
|
1017 |
msgid "Search for"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: src/addons/migrator.php:333, src/addons/migrator.php:385
|
1021 |
msgid "Replace with"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: src/addons/migrator.php:337, src/addons/moredatabase.php:89, src/addons/moredatabase.php:91, src/addons/moredatabase.php:93, src/addons/sftp.php:521, src/addons/sftp.php:525, src/addons/sftp.php:529, src/addons/webdav.php:254, src/admin.php:875, src/includes/class-remote-send.php:542, src/methods/addon-base-v2.php:341, src/methods/cloudfiles-new.php:179, src/methods/cloudfiles-new.php:184, src/methods/cloudfiles.php:522, src/methods/cloudfiles.php:527, src/methods/ftp.php:425, src/methods/ftp.php:429, src/methods/openstack2.php:180, src/methods/openstack2.php:185, src/methods/openstack2.php:190, src/methods/openstack2.php:195, src/methods/s3.php:1155, src/methods/s3.php:1159
|
1025 |
msgid "Failure: No %s was given."
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: src/addons/migrator.php:337
|
1029 |
msgid "search term"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: src/addons/migrator.php:340, src/addons/migrator.php:355
|
1033 |
msgid "Return to UpdraftPlus Configuration"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: src/addons/migrator.php:377
|
1037 |
msgid "This can easily destroy your site; so, use it with care!"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: src/addons/migrator.php:378
|
1041 |
msgid "A search/replace cannot be undone - are you sure you want to do this?"
|
1042 |
msgstr ""
|
1043 |
|
1044 |
+
#: src/addons/migrator.php:386
|
1045 |
msgid "Rows per batch"
|
1046 |
msgstr ""
|
1047 |
|
1048 |
+
#: src/addons/migrator.php:387
|
1049 |
msgid "These tables only"
|
1050 |
msgstr ""
|
1051 |
|
1052 |
+
#: src/addons/migrator.php:387
|
1053 |
msgid "Enter a comma-separated list; otherwise, leave blank for all tables."
|
1054 |
msgstr ""
|
1055 |
|
1056 |
+
#: src/addons/migrator.php:389
|
1057 |
msgid "Go"
|
1058 |
msgstr ""
|
1059 |
|
1060 |
+
#: src/addons/migrator.php:406
|
1061 |
msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)."
|
1062 |
msgstr ""
|
1063 |
|
1064 |
+
#: src/addons/migrator.php:417
|
1065 |
msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site. Otherwise, you will want to use below search and replace to search/replace the site address so that the site can be visited without https."
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: src/addons/migrator.php:428
|
1069 |
msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem. If that is not yet set up, then you should set it up, or use below search and replace so that the non-https links are automatically replaced."
|
1070 |
msgstr ""
|
1071 |
|
1072 |
+
#: src/addons/migrator.php:439
|
1073 |
msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address."
|
1074 |
msgstr ""
|
1075 |
|
1076 |
+
#: src/addons/migrator.php:444
|
1077 |
msgid "Processed plugin:"
|
1078 |
msgstr ""
|
1079 |
|
1080 |
+
#: src/addons/migrator.php:454
|
1081 |
msgid "Network activating theme:"
|
1082 |
msgstr ""
|
1083 |
|
1084 |
+
#: src/addons/migrator.php:490, src/addons/migrator.php:493, src/addons/migrator.php:496
|
1085 |
msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network."
|
1086 |
msgstr ""
|
1087 |
|
1088 |
+
#: src/addons/migrator.php:490
|
1089 |
msgid "WordPress core"
|
1090 |
msgstr ""
|
1091 |
|
1092 |
+
#: src/addons/migrator.php:493
|
1093 |
msgid "other content from wp-content"
|
1094 |
msgstr ""
|
1095 |
|
1096 |
+
#: src/addons/migrator.php:496, src/addons/multisite.php:731
|
1097 |
msgid "Must-use plugins"
|
1098 |
msgstr ""
|
1099 |
|
1100 |
+
#: src/addons/migrator.php:501, src/addons/migrator.php:503
|
1101 |
msgid "Importing a single site into a multisite install"
|
1102 |
msgstr ""
|
1103 |
|
1104 |
+
#: src/addons/migrator.php:501, src/templates/wp-admin/settings/downloading-and-restoring.php:72, src/templates/wp-admin/settings/form-contents.php:183, src/templates/wp-admin/settings/tab-backups.php:74
|
1105 |
msgid "This feature requires %s version %s or later"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: src/addons/migrator.php:503
|
1109 |
msgid "This feature is not compatible with %s"
|
1110 |
msgstr ""
|
1111 |
|
1112 |
+
#: src/addons/migrator.php:509
|
1113 |
msgid "Information needed to continue:"
|
1114 |
msgstr ""
|
1115 |
|
1116 |
+
#: src/addons/migrator.php:510
|
1117 |
msgid "Enter details for where this new site is to live within your multisite install:"
|
1118 |
msgstr ""
|
1119 |
|
1120 |
+
#: src/addons/migrator.php:515, src/addons/migrator.php:517
|
1121 |
msgid "You must use lower-case letters or numbers for the site path, only."
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: src/addons/migrator.php:525
|
1125 |
msgid "Attribute imported content to user"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: src/addons/migrator.php:561
|
1129 |
msgid "Database restoration options:"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: src/addons/migrator.php:562
|
1133 |
msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: src/addons/migrator.php:562
|
1137 |
msgid "Search and replace site location in the database (migrate)"
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: src/addons/migrator.php:570
|
1141 |
msgid "Migrated site (from UpdraftPlus)"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: src/addons/migrator.php:573
|
1145 |
msgid "Required information for restoring this backup was not given (%s)"
|
1146 |
msgstr ""
|
1147 |
|
1148 |
+
#: src/addons/migrator.php:593
|
1149 |
msgid "New site:"
|
1150 |
msgstr ""
|
1151 |
|
1152 |
+
#: src/addons/migrator.php:629, src/addons/migrator.php:630
|
1153 |
msgid "Error when creating new site at your chosen address:"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
+
#: src/addons/migrator.php:916, src/addons/migrator.php:1291
|
1157 |
msgid "Failed: the %s operation was not able to start."
|
1158 |
msgstr ""
|
1159 |
|
1160 |
+
#: src/addons/migrator.php:916, src/addons/migrator.php:918
|
1161 |
msgid "search and replace"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
+
#: src/addons/migrator.php:918, src/addons/migrator.php:1293
|
1165 |
msgid "Failed: we did not understand the result returned by the %s operation."
|
1166 |
msgstr ""
|
1167 |
|
1168 |
+
#: src/addons/migrator.php:957
|
1169 |
msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually."
|
1170 |
msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually."
|
1171 |
msgstr[0] ""
|
1172 |
msgstr[1] ""
|
1173 |
|
1174 |
+
#: src/addons/migrator.php:1057
|
1175 |
msgid "Database: search and replace site URL"
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: src/addons/migrator.php:1097, src/addons/migrator.php:1101, src/addons/migrator.php:1105, src/addons/migrator.php:1110, src/addons/migrator.php:1114, src/addons/migrator.php:1119
|
1179 |
msgid "Error: unexpected empty parameter (%s, %s)"
|
1180 |
msgstr ""
|
1181 |
|
1182 |
+
#: src/addons/migrator.php:1133
|
1183 |
msgid "Nothing to do: the site URL is already: %s"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
+
#: src/addons/migrator.php:1144
|
1187 |
msgid "Warning: the database's site URL (%s) is different to what we expected (%s)"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: src/addons/migrator.php:1152
|
1191 |
msgid "Warning: the database's home URL (%s) is different to what we expected (%s)"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
+
#: src/addons/migrator.php:1199
|
1195 |
msgid "Could not get list of tables"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#: src/addons/migrator.php:1221, src/addons/migrator.php:1261, src/addons/migrator.php:1395
|
1199 |
msgid "Search and replacing table:"
|
1200 |
msgstr ""
|
1201 |
|
1202 |
+
#: src/addons/migrator.php:1221
|
1203 |
msgid "skipped (not in list)"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: src/addons/migrator.php:1261
|
1207 |
msgid "already done"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: src/addons/migrator.php:1307
|
1211 |
msgid "Tables examined:"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: src/addons/migrator.php:1308
|
1215 |
msgid "Rows examined:"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: src/addons/migrator.php:1309
|
1219 |
msgid "Changes made:"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: src/addons/migrator.php:1310
|
1223 |
msgid "SQL update commands run:"
|
1224 |
msgstr ""
|
1225 |
|
1226 |
+
#: src/addons/migrator.php:1311, src/admin.php:820
|
1227 |
msgid "Errors:"
|
1228 |
msgstr ""
|
1229 |
|
1230 |
+
#: src/addons/migrator.php:1312
|
1231 |
msgid "Time taken (seconds):"
|
1232 |
msgstr ""
|
1233 |
|
1234 |
+
#: src/addons/migrator.php:1326, src/restorer.php:3160
|
1235 |
msgid "the database query being run was:"
|
1236 |
msgstr ""
|
1237 |
|
1238 |
+
#: src/addons/migrator.php:1436
|
1239 |
msgid "rows: %d"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
+
#: src/addons/migrator.php:1538, src/backup.php:470, src/backup.php:2010, src/class-updraftplus.php:2301, src/class-updraftplus.php:2368, src/includes/class-storage-methods-interface.php:366, src/restorer.php:575
|
1243 |
msgid "A PHP exception (%s) has occurred: %s"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
+
#: src/addons/migrator.php:1545, src/backup.php:476, src/backup.php:2019, src/class-updraftplus.php:2310, src/class-updraftplus.php:2375, src/includes/class-storage-methods-interface.php:375, src/restorer.php:589
|
1247 |
msgid "A PHP fatal error (%s) has occurred: %s"
|
1248 |
msgstr ""
|
1249 |
|
1250 |
+
#: src/addons/migrator.php:1580
|
1251 |
msgid "\"%s\" has no primary key, manual change needed on row %s."
|
1252 |
msgstr ""
|
1253 |
|
1254 |
+
#: src/addons/migrator.php:1757
|
1255 |
msgid "Send a backup to another site"
|
1256 |
msgstr ""
|
1257 |
|
1258 |
+
#: src/addons/migrator.php:1761
|
1259 |
msgid "Add a site"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: src/addons/migrator.php:1766
|
1263 |
msgid "To add a site as a destination for sending to, enter that site's key below."
|
1264 |
msgstr ""
|
1265 |
|
1266 |
+
#: src/addons/migrator.php:1766
|
1267 |
msgid "Keys for a site are created in the section \"receive a backup from a remote site\"."
|
1268 |
msgstr ""
|
1269 |
|
1270 |
+
#: src/addons/migrator.php:1766
|
1271 |
msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section."
|
1272 |
msgstr ""
|
1273 |
|
1274 |
+
#: src/addons/migrator.php:1766
|
1275 |
msgid "How do I get a site's key?"
|
1276 |
msgstr ""
|
1277 |
|
1278 |
+
#: src/addons/migrator.php:1770
|
1279 |
msgid "Site key"
|
1280 |
msgstr ""
|
1281 |
|
1282 |
+
#: src/addons/migrator.php:1770
|
1283 |
msgid "Paste key here"
|
1284 |
msgstr ""
|
1285 |
|
1286 |
+
#: src/addons/migrator.php:1770, src/admin.php:868
|
1287 |
msgid "Add site"
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: src/addons/migrator.php:1778
|
1291 |
msgid "Receive a backup from a remote site"
|
1292 |
msgstr ""
|
1293 |
|
1294 |
+
#: src/addons/migrator.php:1780
|
1295 |
msgid "To allow another site to send a backup to this site, create a key below. When you are shown the key, then press the 'Migrate' button on the other (sending) site, and copy-and-paste the key over there (in the 'Send a backup to another site' section)."
|
1296 |
msgstr ""
|
1297 |
|
1298 |
+
#: src/addons/migrator.php:1782
|
1299 |
msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":"
|
1300 |
msgstr ""
|
1301 |
|
1302 |
+
#: src/addons/migrator.php:1783
|
1303 |
msgid "Enter your chosen name"
|
1304 |
msgstr ""
|
1305 |
|
1306 |
+
#: src/addons/migrator.php:1783, src/addons/sftp.php:466, src/admin.php:874, src/admin.php:5499, src/templates/wp-admin/settings/temporary-clone.php:63
|
1307 |
msgid "Key"
|
1308 |
msgstr ""
|
1309 |
|
1310 |
+
#: src/addons/migrator.php:1785, src/central/bootstrap.php:557
|
1311 |
msgid "Encryption key size:"
|
1312 |
msgstr ""
|
1313 |
|
1314 |
+
#: src/addons/migrator.php:1787, src/addons/migrator.php:1788, src/addons/migrator.php:1790, src/central/bootstrap.php:559, src/central/bootstrap.php:560, src/central/bootstrap.php:562
|
1315 |
msgid "%s bits"
|
1316 |
msgstr ""
|
1317 |
|
1318 |
+
#: src/addons/migrator.php:1787, src/central/bootstrap.php:559
|
1319 |
msgid "easy to break, fastest"
|
1320 |
msgstr ""
|
1321 |
|
1322 |
+
#: src/addons/migrator.php:1788, src/central/bootstrap.php:560
|
1323 |
msgid "faster (possibility for slow PHP installs)"
|
1324 |
msgstr ""
|
1325 |
|
1326 |
+
#: src/addons/migrator.php:1789, src/central/bootstrap.php:561
|
1327 |
msgid "%s bytes"
|
1328 |
msgstr ""
|
1329 |
|
1330 |
+
#: src/addons/migrator.php:1789, src/central/bootstrap.php:561
|
1331 |
msgid "recommended"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
+
#: src/addons/migrator.php:1790, src/central/bootstrap.php:562
|
1335 |
msgid "slower, strongest"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
+
#: src/addons/migrator.php:1793
|
1339 |
msgid "Create key"
|
1340 |
msgstr ""
|
1341 |
|
1342 |
+
#: src/addons/migrator.php:1798
|
1343 |
msgid "Your new key:"
|
1344 |
msgstr ""
|
1345 |
|
1375 |
msgid "%s total table(s) found; %s with the indicated prefix."
|
1376 |
msgstr ""
|
1377 |
|
1378 |
+
#: src/addons/moredatabase.php:144, src/admin.php:1691
|
1379 |
msgid "Messages:"
|
1380 |
msgstr ""
|
1381 |
|
1427 |
msgid "Enter username."
|
1428 |
msgstr ""
|
1429 |
|
1430 |
+
#: src/addons/moredatabase.php:240, src/addons/sftp.php:451, src/addons/webdav.php:188, src/admin.php:975, src/methods/cloudfiles-new.php:184, src/methods/cloudfiles.php:527, src/methods/openstack2.php:158
|
1431 |
msgid "Username"
|
1432 |
msgstr ""
|
1433 |
|
1447 |
msgid "Enter database."
|
1448 |
msgstr ""
|
1449 |
|
1450 |
+
#: src/addons/moredatabase.php:242, src/addons/reporting.php:276, src/addons/wp-cli.php:432, src/admin.php:355, src/admin.php:4133, src/admin.php:4186, src/admin.php:4764, src/includes/class-remote-send.php:411, src/includes/class-wpadmin-commands.php:156, src/includes/class-wpadmin-commands.php:596, src/restorer.php:552, src/templates/wp-admin/settings/delete-and-restore-modals.php:81, src/templates/wp-admin/settings/delete-and-restore-modals.php:82, src/templates/wp-admin/settings/take-backup.php:34
|
1451 |
msgid "Database"
|
1452 |
msgstr ""
|
1453 |
|
1491 |
msgid "If you enter text here, it is used to encrypt database backups (Rijndael). <strong>Do make a separate record of it and do not lose it, or all your backups <em>will</em> be useless.</strong> This is also the key used to decrypt backups from this admin interface (so if you change it, then automatic decryption will not work until you change it back)."
|
1492 |
msgstr ""
|
1493 |
|
1494 |
+
#: src/addons/moredatabase.php:387
|
1495 |
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
1496 |
msgstr ""
|
1497 |
|
1498 |
+
#: src/addons/moredatabase.php:405
|
1499 |
msgid "You should backup all tables unless you are an expert in the internals of the WordPress database."
|
1500 |
msgstr ""
|
1501 |
|
1502 |
+
#: src/addons/moredatabase.php:412
|
1503 |
msgid "WordPress database"
|
1504 |
msgstr ""
|
1505 |
|
1506 |
+
#: src/addons/moredatabase.php:413
|
1507 |
msgid "tables"
|
1508 |
msgstr ""
|
1509 |
|
1511 |
msgid "(None configured)"
|
1512 |
msgstr ""
|
1513 |
|
1514 |
+
#: src/addons/morefiles.php:85, src/admin.php:883
|
1515 |
msgctxt "(verb)"
|
1516 |
msgid "Download"
|
1517 |
msgstr ""
|
1592 |
msgid "Exclude these:"
|
1593 |
msgstr ""
|
1594 |
|
1595 |
+
#: src/addons/morefiles.php:347, src/admin.php:3987
|
1596 |
msgid "If entering multiple files/directories, then separate them with commas. For entities at the top level, you can use a * at the start or end of the entry as a wildcard."
|
1597 |
msgstr ""
|
1598 |
|
1628 |
msgid "Go up a directory"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
+
#: src/addons/morefiles.php:875, src/admin.php:849, src/templates/wp-admin/settings/delete-and-restore-modals.php:94
|
1632 |
msgid "Cancel"
|
1633 |
msgstr ""
|
1634 |
|
1644 |
msgid "(as many as you like)"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
+
#: src/addons/morestorage.php:81, src/admin.php:929
|
1648 |
msgid "Currently enabled"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
+
#: src/addons/morestorage.php:81, src/admin.php:930
|
1652 |
msgid "Currently disabled"
|
1653 |
msgstr ""
|
1654 |
|
1668 |
msgid "(Nothing has been logged yet)"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: src/addons/multisite.php:96, src/addons/multisite.php:775, src/options.php:74
|
1672 |
msgid "UpdraftPlus Backups"
|
1673 |
msgstr ""
|
1674 |
|
1676 |
msgid "Multisite Install"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
+
#: src/addons/multisite.php:503, src/class-updraftplus.php:1923
|
1680 |
msgid "Uploads"
|
1681 |
msgstr ""
|
1682 |
|
1683 |
+
#: src/addons/multisite.php:640
|
1684 |
msgid "Which site to restore"
|
1685 |
msgstr ""
|
1686 |
|
1687 |
+
#: src/addons/multisite.php:644
|
1688 |
msgid "All sites"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
+
#: src/addons/multisite.php:649
|
1692 |
msgid "may include some site-wide data"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
+
#: src/addons/multisite.php:658
|
1696 |
msgid "Read more..."
|
1697 |
msgstr ""
|
1698 |
|
1699 |
+
#: src/addons/multisite.php:738
|
1700 |
msgid "Blog uploads"
|
1701 |
msgstr ""
|
1702 |
|
1708 |
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded has %d bytes remaining (total size: %d bytes)"
|
1709 |
msgstr ""
|
1710 |
|
1711 |
+
#: src/addons/onedrive.php:468
|
1712 |
msgid "%s download: failed: file not found"
|
1713 |
msgstr ""
|
1714 |
|
1715 |
+
#: src/addons/onedrive.php:704, src/udaddons/updraftplus-addons.php:1000
|
1716 |
msgid "An error response was received; HTTP code:"
|
1717 |
msgstr ""
|
1718 |
|
1719 |
+
#: src/addons/onedrive.php:717, src/addons/onedrive.php:737, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:717, src/udaddons/updraftplus-addons.php:1013, src/udaddons/updraftplus-addons.php:1026
|
1720 |
msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks."
|
1721 |
msgstr ""
|
1722 |
|
1723 |
+
#: src/addons/onedrive.php:717, src/udaddons/updraftplus-addons.php:1013, src/udaddons/updraftplus-addons.php:1026
|
1724 |
msgid "To remove any block, please go here."
|
1725 |
msgstr ""
|
1726 |
|
1727 |
+
#: src/addons/onedrive.php:717, src/udaddons/updraftplus-addons.php:1013
|
1728 |
msgid "Your IP address:"
|
1729 |
msgstr ""
|
1730 |
|
1731 |
+
#: src/addons/onedrive.php:737, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:717, src/udaddons/updraftplus-addons.php:1026
|
1732 |
msgid "UpdraftPlus.com has responded with 'Access Denied'."
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: src/addons/onedrive.php:737, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:717, src/udaddons/updraftplus-addons.php:1026
|
1736 |
msgid "It appears that your web server's IP Address (%s) is blocked."
|
1737 |
msgstr ""
|
1738 |
|
1739 |
+
#: src/addons/onedrive.php:737, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:717
|
1740 |
msgid "To remove the block, please go here."
|
1741 |
msgstr ""
|
1742 |
|
1743 |
+
#: src/addons/onedrive.php:744
|
1744 |
msgid "Please re-authorize the connection to your %s account."
|
1745 |
msgstr ""
|
1746 |
|
1747 |
+
#: src/addons/onedrive.php:753
|
1748 |
msgid "Account is not authorized (%s)."
|
1749 |
msgstr ""
|
1750 |
|
1751 |
+
#: src/addons/onedrive.php:885, src/class-updraftplus.php:543, src/methods/dropbox.php:238, src/methods/dropbox.php:751, src/methods/dropbox.php:772, src/methods/dropbox.php:786, src/methods/dropbox.php:799, src/methods/dropbox.php:941
|
1752 |
msgid "%s error: %s"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
+
#: src/addons/onedrive.php:885
|
1756 |
msgid "Authentication"
|
1757 |
msgstr ""
|
1758 |
|
1759 |
+
#: src/addons/onedrive.php:914, src/methods/dropbox.php:840, src/methods/dropbox.php:849, src/methods/googledrive.php:522
|
1760 |
msgid "Your %s quota usage: %s %% used, %s available"
|
1761 |
msgstr ""
|
1762 |
|
1763 |
+
#: src/addons/onedrive.php:922, src/methods/dropbox.php:817
|
1764 |
msgid "Your %s account name: %s"
|
1765 |
msgstr ""
|
1766 |
|
1767 |
+
#: src/addons/onedrive.php:960, src/addons/onedrive.php:1198, src/addons/onedrive.php:1202
|
1768 |
msgid "OneDrive"
|
1769 |
msgstr ""
|
1770 |
|
1771 |
+
#: src/addons/onedrive.php:1058, src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:118
|
1772 |
msgid "The %s authentication could not go ahead, because something else on your site is breaking it. Try disabling your other plugins and switching to a default theme. (Specifically, you are looking for the component that sends output (most likely PHP warnings/errors) before the page begins. Turning off any debugging settings may also help)."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: src/addons/onedrive.php:1117, src/addons/onedrive.php:1119
|
1776 |
msgid "authorization failed:"
|
1777 |
msgstr ""
|
1778 |
|
1779 |
+
#: src/addons/onedrive.php:1146
|
1780 |
msgid "This site uses a URL which is either non-HTTPS, or is localhost or 127.0.0.1 URL. As such, you must use the main %s %s App to authenticate with your account."
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: src/addons/onedrive.php:1154
|
1784 |
msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: src/addons/onedrive.php:1162
|
1788 |
msgid "Create OneDrive credentials in your OneDrive developer console."
|
1789 |
msgstr ""
|
1790 |
|
1791 |
+
#: src/addons/onedrive.php:1178, src/methods/dropbox.php:585, src/methods/googledrive.php:1343
|
1792 |
msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)."
|
1793 |
msgstr ""
|
1794 |
|
1795 |
+
#: src/addons/onedrive.php:1178, src/methods/dropbox.php:585, src/methods/googledrive.php:1343
|
1796 |
msgid "this privacy policy"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
+
#: src/addons/onedrive.php:1199
|
1800 |
msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here."
|
1801 |
msgstr ""
|
1802 |
|
1803 |
+
#: src/addons/onedrive.php:1207, src/restorer.php:1363
|
1804 |
msgid "folder"
|
1805 |
msgstr ""
|
1806 |
|
1807 |
+
#: src/addons/onedrive.php:1209
|
1808 |
msgid "N.B. %s is not case-sensitive."
|
1809 |
msgstr ""
|
1810 |
|
1811 |
+
#: src/addons/onedrive.php:1214
|
1812 |
msgid "Account type"
|
1813 |
msgstr ""
|
1814 |
|
1815 |
+
#: src/addons/onedrive.php:1217
|
1816 |
msgid "OneDrive International"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
+
#: src/addons/onedrive.php:1218
|
1820 |
msgid "OneDrive Germany"
|
1821 |
msgstr ""
|
1822 |
|
1823 |
+
#: src/addons/onedrive.php:1226, src/methods/dropbox.php:610
|
1824 |
msgid "Authenticate with %s"
|
1825 |
msgstr ""
|
1826 |
|
1827 |
+
#: src/addons/onedrive.php:1233, src/methods/dropbox.php:614
|
1828 |
msgid "(You appear to be already authenticated)."
|
1829 |
msgstr ""
|
1830 |
|
1832 |
msgid "Your label for this backup (optional)"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
+
#: src/addons/reporting.php:86, src/addons/reporting.php:197, src/class-updraftplus.php:3475, src/class-updraftplus.php:4575
|
1836 |
msgid "Backup of:"
|
1837 |
msgstr ""
|
1838 |
|
1852 |
msgid "Backup made by %s"
|
1853 |
msgstr ""
|
1854 |
|
1855 |
+
#: src/addons/reporting.php:198, src/class-updraftplus.php:3478
|
1856 |
msgid "Latest status:"
|
1857 |
msgstr ""
|
1858 |
|
1880 |
msgid "Time taken:"
|
1881 |
msgstr ""
|
1882 |
|
1883 |
+
#: src/addons/reporting.php:239, src/admin.php:4146
|
1884 |
msgid "Uploaded to:"
|
1885 |
msgstr ""
|
1886 |
|
1887 |
+
#: src/addons/reporting.php:281, src/class-updraftplus.php:3428
|
1888 |
msgid "The log file has been attached to this email."
|
1889 |
msgstr ""
|
1890 |
|
1916 |
msgid "Log all messages to syslog (only server admins are likely to want this)"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
+
#: src/addons/reporting.php:539, src/admin.php:804
|
1920 |
msgid "To send to more than one address, separate each address with a comma."
|
1921 |
msgstr ""
|
1922 |
|
1923 |
+
#: src/addons/reporting.php:541, src/admin.php:798
|
1924 |
msgid "Send a report only when there are warnings/errors"
|
1925 |
msgstr ""
|
1926 |
|
1928 |
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive."
|
1929 |
msgstr ""
|
1930 |
|
1931 |
+
#: src/addons/reporting.php:543, src/admin.php:799
|
1932 |
msgid "When the Email storage method is enabled, also send the backup"
|
1933 |
msgstr ""
|
1934 |
|
1940 |
msgid "Use this option to only send database backups when sending to email, and skip other components."
|
1941 |
msgstr ""
|
1942 |
|
1943 |
+
#: src/addons/reporting.php:545, src/admin.php:802
|
1944 |
msgid "Only email the database backup"
|
1945 |
msgstr ""
|
1946 |
|
1992 |
msgid "AWS authentication failed"
|
1993 |
msgstr ""
|
1994 |
|
1995 |
+
#: src/addons/s3-enhanced.php:185, src/methods/openstack2.php:150, src/methods/s3.php:1201
|
1996 |
msgid "Region"
|
1997 |
msgstr ""
|
1998 |
|
2000 |
msgid "Failure: We could not successfully access or create such a bucket. Please check your access credentials, and if those are correct then try another bucket name (as another AWS user may already have taken your name)."
|
2001 |
msgstr ""
|
2002 |
|
2003 |
+
#: src/addons/s3-enhanced.php:212, src/methods/s3.php:1209
|
2004 |
msgid "The error reported by %s was:"
|
2005 |
msgstr ""
|
2006 |
|
2337 |
msgid "No previous backup found to add an increment to."
|
2338 |
msgstr ""
|
2339 |
|
2340 |
+
#: src/addons/wp-cli.php:110, src/admin.php:807
|
2341 |
msgid "You have chosen to backup a database, but no tables have been selected"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
+
#: src/addons/wp-cli.php:116, src/admin.php:805
|
2345 |
msgid "If you exclude both the database and the files, then you have excluded everything!"
|
2346 |
msgstr ""
|
2347 |
|
2357 |
msgid "Invalid Job Id"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
+
#: src/addons/wp-cli.php:372, src/templates/wp-admin/settings/existing-backups-table.php:105
|
2361 |
msgid "Backup sent to remote site - not available for download."
|
2362 |
msgstr ""
|
2363 |
|
2364 |
+
#: src/addons/wp-cli.php:374, src/templates/wp-admin/settings/existing-backups-table.php:106
|
2365 |
msgid "Site"
|
2366 |
msgstr ""
|
2367 |
|
2373 |
msgid "Latest full backup found; identifier:"
|
2374 |
msgstr ""
|
2375 |
|
2376 |
+
#: src/addons/wp-cli.php:430, src/admin.php:4180, src/admin.php:4228
|
2377 |
msgid "unknown source"
|
2378 |
msgstr ""
|
2379 |
|
2380 |
+
#: src/addons/wp-cli.php:432, src/admin.php:4186
|
2381 |
msgid "Database (created by %s)"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
+
#: src/addons/wp-cli.php:438, src/admin.php:4188
|
2385 |
msgid "External database"
|
2386 |
msgstr ""
|
2387 |
|
2388 |
+
#: src/addons/wp-cli.php:450, src/admin.php:4232
|
2389 |
msgid "Files and database WordPress backup (created by %s)"
|
2390 |
msgstr ""
|
2391 |
|
2392 |
+
#: src/addons/wp-cli.php:450, src/admin.php:4232
|
2393 |
msgid "Files backup (created by %s)"
|
2394 |
msgstr ""
|
2395 |
|
2396 |
+
#: src/addons/wp-cli.php:519, src/admin.php:824, src/class-updraftplus.php:1441, src/class-updraftplus.php:1485, src/includes/class-filesystem-functions.php:420, src/includes/class-storage-methods-interface.php:326, src/methods/addon-base-v2.php:93, src/methods/addon-base-v2.php:98, src/methods/addon-base-v2.php:244, src/methods/addon-base-v2.php:264, src/methods/googledrive.php:1251, src/methods/stream-base.php:228, src/restorer.php:3344, src/restorer.php:3369, src/restorer.php:3465, src/udaddons/options.php:225, src/updraftplus.php:157
|
2397 |
msgid "Error"
|
2398 |
msgstr ""
|
2399 |
|
2417 |
msgid "UpdraftPlus Restoration: Progress"
|
2418 |
msgstr ""
|
2419 |
|
2420 |
+
#: src/addons/wp-cli.php:667, src/admin.php:4771
|
2421 |
msgid "Follow this link to download the log file for this restoration (needed for any support requests)."
|
2422 |
msgstr ""
|
2423 |
|
2445 |
msgid "There are no incremental backup restore points available."
|
2446 |
msgstr ""
|
2447 |
|
2448 |
+
#: src/admin.php:89
|
2449 |
msgid "template not found"
|
2450 |
msgstr ""
|
2451 |
|
2452 |
+
#: src/admin.php:314, src/admin.php:335, src/admin.php:342, src/admin.php:387, src/admin.php:418
|
2453 |
msgid "Nothing currently scheduled"
|
2454 |
msgstr ""
|
2455 |
|
2456 |
+
#: src/admin.php:324
|
2457 |
msgid "At the same time as the files backup"
|
2458 |
msgstr ""
|
2459 |
|
2460 |
+
#: src/admin.php:345, src/admin.php:5468, src/templates/wp-admin/settings/take-backup.php:24
|
2461 |
msgid "Files"
|
2462 |
msgstr ""
|
2463 |
|
2464 |
+
#: src/admin.php:345, src/class-updraftplus.php:3382
|
2465 |
msgid "Files and database"
|
2466 |
msgstr ""
|
2467 |
|
2468 |
+
#: src/admin.php:501
|
2469 |
msgid "UpdraftPlus"
|
2470 |
msgstr ""
|
2471 |
|
2472 |
+
#: src/admin.php:502
|
2473 |
msgid "UpdraftPlus News"
|
2474 |
msgstr ""
|
2475 |
|
2476 |
+
#: src/admin.php:503
|
2477 |
msgid "Dismiss all UpdraftPlus news"
|
2478 |
msgstr ""
|
2479 |
|
2480 |
+
#: src/admin.php:504
|
2481 |
msgid "Are you sure you want to dismiss all UpdraftPlus news forever?"
|
2482 |
msgstr ""
|
2483 |
|
2484 |
+
#: src/admin.php:575
|
2485 |
msgid "You can test upgrading your site on an instant copy using UpdraftClone credits"
|
2486 |
msgstr ""
|
2487 |
|
2488 |
+
#: src/admin.php:575
|
2489 |
msgid "go here to learn more"
|
2490 |
msgstr ""
|
2491 |
|
2492 |
+
#: src/admin.php:575
|
2493 |
msgid "dismiss notice"
|
2494 |
msgstr ""
|
2495 |
|
2496 |
+
#: src/admin.php:587
|
2497 |
msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits."
|
2498 |
msgstr ""
|
2499 |
|
2500 |
+
#: src/admin.php:587
|
2501 |
msgid "Dismiss notice"
|
2502 |
msgstr ""
|
2503 |
|
2504 |
+
#: src/admin.php:662, src/admin.php:4748
|
2505 |
msgid "Backup"
|
2506 |
msgstr ""
|
2507 |
|
2508 |
+
#: src/admin.php:670, src/admin.php:2894
|
2509 |
msgid "Migrate / Clone"
|
2510 |
msgstr ""
|
2511 |
|
2512 |
+
#: src/admin.php:678, src/admin.php:1126, src/admin.php:2895
|
2513 |
msgid "Settings"
|
2514 |
msgstr ""
|
2515 |
|
2516 |
+
#: src/admin.php:686, src/admin.php:2896
|
2517 |
msgid "Advanced Tools"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
+
#: src/admin.php:694
|
2521 |
msgid "Extensions"
|
2522 |
msgstr ""
|
2523 |
|
2524 |
+
#: src/admin.php:800
|
2525 |
msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive."
|
2526 |
msgstr ""
|
2527 |
|
2528 |
+
#: src/admin.php:801
|
2529 |
msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..."
|
2530 |
msgstr ""
|
2531 |
|
2532 |
+
#: src/admin.php:803
|
2533 |
msgid "Rescanning remote and local storage for backup sets..."
|
2534 |
msgstr ""
|
2535 |
|
2536 |
+
#: src/admin.php:806
|
2537 |
msgid "You have chosen to backup files, but no file entities have been selected"
|
2538 |
msgstr ""
|
2539 |
|
2540 |
+
#: src/admin.php:808
|
2541 |
msgid "The restore operation has begun. Do not close your browser until it reports itself as having finished."
|
2542 |
msgstr ""
|
2543 |
|
2544 |
+
#: src/admin.php:810
|
2545 |
msgid "The web server returned an error code (try again, or check your web server logs)"
|
2546 |
msgstr ""
|
2547 |
|
2548 |
+
#: src/admin.php:811
|
2549 |
msgid "The new user's RackSpace console password is (this will not be shown again):"
|
2550 |
msgstr ""
|
2551 |
|
2552 |
+
#: src/admin.php:812
|
2553 |
msgid "Trying..."
|
2554 |
msgstr ""
|
2555 |
|
2556 |
+
#: src/admin.php:813
|
2557 |
msgid "Fetching..."
|
2558 |
msgstr ""
|
2559 |
|
2560 |
+
#: src/admin.php:814
|
2561 |
msgid "calculating..."
|
2562 |
msgstr ""
|
2563 |
|
2564 |
+
#: src/admin.php:815
|
2565 |
msgid "Begun looking for this entity"
|
2566 |
msgstr ""
|
2567 |
|
2568 |
+
#: src/admin.php:816
|
2569 |
msgid "Some files are still downloading or being processed - please wait."
|
2570 |
msgstr ""
|
2571 |
|
2572 |
+
#: src/admin.php:817
|
2573 |
msgid "Processing files - please wait..."
|
2574 |
msgstr ""
|
2575 |
|
2576 |
+
#: src/admin.php:818
|
2577 |
msgid "Error: the server sent an empty response."
|
2578 |
msgstr ""
|
2579 |
|
2580 |
+
#: src/admin.php:819
|
2581 |
msgid "Warnings:"
|
2582 |
msgstr ""
|
2583 |
|
2584 |
+
#: src/admin.php:821
|
2585 |
msgid "Error: the server sent us a response which we did not understand."
|
2586 |
msgstr ""
|
2587 |
|
2588 |
+
#: src/admin.php:822, src/restorer.php:259
|
2589 |
msgid "Error data:"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
+
#: src/admin.php:825, src/admin.php:2046
|
2593 |
+
msgid "Existing backups"
|
2594 |
msgstr ""
|
2595 |
|
2596 |
+
#: src/admin.php:826, src/admin.php:2347
|
2597 |
msgid "File ready."
|
2598 |
msgstr ""
|
2599 |
|
2600 |
+
#: src/admin.php:827, src/admin.php:2674, src/admin.php:3578, src/admin.php:4696, src/admin.php:4708, src/admin.php:4719, src/templates/wp-admin/settings/existing-backups-table.php:19, src/templates/wp-admin/settings/existing-backups-table.php:143
|
2601 |
msgid "Actions"
|
2602 |
msgstr ""
|
2603 |
|
2604 |
+
#: src/admin.php:828
|
2605 |
msgid "Delete from your web server"
|
2606 |
msgstr ""
|
2607 |
|
2608 |
+
#: src/admin.php:829
|
2609 |
msgid "Download to your computer"
|
2610 |
msgstr ""
|
2611 |
|
2612 |
+
#: src/admin.php:830
|
2613 |
msgid "Browse contents"
|
2614 |
msgstr ""
|
2615 |
|
2616 |
+
#: src/admin.php:831
|
2617 |
msgid "Download error: the server sent us a response which we did not understand."
|
2618 |
msgstr ""
|
2619 |
|
2620 |
+
#: src/admin.php:832
|
2621 |
msgid "Requesting start of backup..."
|
2622 |
msgstr ""
|
2623 |
|
2624 |
+
#: src/admin.php:833
|
2625 |
msgid "PHP information"
|
2626 |
msgstr ""
|
2627 |
|
2628 |
+
#: src/admin.php:834, src/admin.php:3287
|
2629 |
msgid "Delete Old Directories"
|
2630 |
msgstr ""
|
2631 |
|
2632 |
+
#: src/admin.php:835
|
2633 |
msgid "Raw backup history"
|
2634 |
msgstr ""
|
2635 |
|
2636 |
+
#: src/admin.php:836, src/admin.php:837, src/includes/class-backup-history.php:513
|
2637 |
msgid "This file does not appear to be an UpdraftPlus backup archive (such files are .zip or .gz files which have a name like: backup_(time)_(site name)_(code)_(type).(zip|gz))."
|
2638 |
msgstr ""
|
2639 |
|
2640 |
+
#: src/admin.php:836
|
2641 |
msgid "However, UpdraftPlus archives are standard zip/SQL files - so if you are sure that your file has the right format, then you can rename it to match that pattern."
|
2642 |
msgstr ""
|
2643 |
|
2644 |
+
#: src/admin.php:837, src/includes/class-backup-history.php:513
|
2645 |
msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you."
|
2646 |
msgstr ""
|
2647 |
|
2648 |
+
#: src/admin.php:838
|
2649 |
msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
+
#: src/admin.php:839
|
2653 |
msgid "Upload error:"
|
2654 |
msgstr ""
|
2655 |
|
2656 |
+
#: src/admin.php:840
|
2657 |
msgid "This file does not appear to be an UpdraftPlus encrypted database archive (such files are .gz.crypt files which have a name like: backup_(time)_(site name)_(code)_db.crypt.gz)."
|
2658 |
msgstr ""
|
2659 |
|
2660 |
+
#: src/admin.php:841
|
2661 |
msgid "Upload error"
|
2662 |
msgstr ""
|
2663 |
|
2664 |
+
#: src/admin.php:842
|
2665 |
msgid "Follow this link to attempt decryption and download the database file to your computer."
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: src/admin.php:843
|
2669 |
msgid "This decryption key will be attempted:"
|
2670 |
msgstr ""
|
2671 |
|
2672 |
+
#: src/admin.php:844
|
2673 |
msgid "Unknown server response:"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
+
#: src/admin.php:845
|
2677 |
msgid "Unknown server response status:"
|
2678 |
msgstr ""
|
2679 |
|
2680 |
+
#: src/admin.php:846
|
2681 |
msgid "The file was uploaded."
|
2682 |
msgstr ""
|
2683 |
|
2684 |
+
#: src/admin.php:848, src/templates/wp-admin/settings/take-backup.php:51
|
2685 |
msgid "Backup Now"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
+
#: src/admin.php:850, src/admin.php:3608, src/admin.php:3642, src/admin.php:4412, src/includes/class-remote-send.php:646, src/templates/wp-admin/settings/existing-backups-table.php:168, src/templates/wp-admin/settings/file-backup-exclude.php:11
|
2689 |
msgid "Delete"
|
2690 |
msgstr ""
|
2691 |
|
2692 |
+
#: src/admin.php:851, src/central/bootstrap.php:580
|
2693 |
msgid "Create"
|
2694 |
msgstr ""
|
2695 |
|
2696 |
+
#: src/admin.php:852, src/admin.php:4392
|
2697 |
msgid "Upload"
|
2698 |
msgstr ""
|
2699 |
|
2700 |
+
#: src/admin.php:853
|
2701 |
msgid "You did not select any components to restore. Please select at least one, and then try again."
|
2702 |
msgstr ""
|
2703 |
|
2704 |
+
#: src/admin.php:855, src/includes/updraftplus-tour.php:96
|
2705 |
msgid "Close"
|
2706 |
msgstr ""
|
2707 |
|
2708 |
+
#: src/admin.php:857, src/admin.php:3846
|
2709 |
msgid "Download log file"
|
2710 |
msgstr ""
|
2711 |
|
2712 |
+
#: src/admin.php:859, src/admin.php:885, src/admin.php:886
|
2713 |
msgid "You have made changes to your settings, and not saved."
|
2714 |
msgstr ""
|
2715 |
|
2716 |
+
#: src/admin.php:860
|
2717 |
msgid "Saving..."
|
2718 |
msgstr ""
|
2719 |
|
2720 |
+
#: src/admin.php:861, src/admin.php:3017, src/methods/updraftvault.php:334, src/methods/updraftvault.php:389, src/templates/wp-admin/settings/temporary-clone.php:82
|
2721 |
msgid "Connect"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
+
#: src/admin.php:862
|
2725 |
msgid "Connecting..."
|
2726 |
msgstr ""
|
2727 |
|
2728 |
+
#: src/admin.php:863, src/methods/updraftvault.php:419, src/methods/updraftvault.php:489
|
2729 |
msgid "Disconnect"
|
2730 |
msgstr ""
|
2731 |
|
2732 |
+
#: src/admin.php:864
|
2733 |
msgid "Disconnecting..."
|
2734 |
msgstr ""
|
2735 |
|
2736 |
+
#: src/admin.php:865
|
2737 |
msgid "Counting..."
|
2738 |
msgstr ""
|
2739 |
|
2740 |
+
#: src/admin.php:866
|
2741 |
msgid "Update quota count"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
+
#: src/admin.php:867
|
2745 |
msgid "Adding..."
|
2746 |
msgstr ""
|
2747 |
|
2748 |
+
#: src/admin.php:869
|
2749 |
msgid "Resetting..."
|
2750 |
msgstr ""
|
2751 |
|
2752 |
+
#: src/admin.php:870
|
2753 |
msgid "Creating..."
|
2754 |
msgstr ""
|
2755 |
|
2756 |
+
#: src/admin.php:870
|
2757 |
msgid "your PHP install lacks the openssl module; as a result, this can take minutes; if nothing has happened by then, then you should either try a smaller key size, or ask your web hosting company how to enable this PHP module on your setup."
|
2758 |
msgstr ""
|
2759 |
|
2760 |
+
#: src/admin.php:871, src/includes/class-remote-send.php:616
|
2761 |
msgid "Send to site:"
|
2762 |
msgstr ""
|
2763 |
|
2764 |
+
#: src/admin.php:872, src/includes/class-remote-send.php:377
|
2765 |
msgid "You should check that the remote site is online, not firewalled, does not have security modules that may be blocking access, has UpdraftPlus version %s or later active and that the keys have been entered correctly."
|
2766 |
msgstr ""
|
2767 |
|
2768 |
+
#: src/admin.php:873
|
2769 |
msgid "Please give this key a name (e.g. indicate the site it is for):"
|
2770 |
msgstr ""
|
2771 |
|
2772 |
+
#: src/admin.php:875
|
2773 |
msgid "key name"
|
2774 |
msgstr ""
|
2775 |
|
2776 |
+
#: src/admin.php:876, src/templates/wp-admin/settings/existing-backups-table.php:174
|
2777 |
msgid "Deleting..."
|
2778 |
msgstr ""
|
2779 |
|
2780 |
+
#: src/admin.php:877
|
2781 |
msgid "Please enter a valid URL"
|
2782 |
msgstr ""
|
2783 |
|
2784 |
+
#: src/admin.php:878
|
2785 |
msgid "We requested to delete the file, but could not understand the server's response"
|
2786 |
msgstr ""
|
2787 |
|
2788 |
+
#: src/admin.php:879, src/includes/class-remote-send.php:407
|
2789 |
msgid "Testing connection..."
|
2790 |
msgstr ""
|
2791 |
|
2792 |
+
#: src/admin.php:880, src/includes/class-remote-send.php:438, src/includes/class-remote-send.php:622
|
2793 |
msgid "Send"
|
2794 |
msgstr ""
|
2795 |
|
2796 |
+
#: src/admin.php:884
|
2797 |
msgid "With UpdraftPlus Premium, you can directly download individual files from here."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
+
#: src/admin.php:885
|
2801 |
msgid "You should save your changes to ensure that they are used for making your backup."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
+
#: src/admin.php:886
|
2805 |
msgid "Your export file will be of your displayed settings, not your saved ones."
|
2806 |
msgstr ""
|
2807 |
|
2808 |
+
#: src/admin.php:889
|
2809 |
msgid "day"
|
2810 |
msgstr ""
|
2811 |
|
2812 |
+
#: src/admin.php:890
|
2813 |
msgid "in the month"
|
2814 |
msgstr ""
|
2815 |
|
2816 |
+
#: src/admin.php:891
|
2817 |
msgid "day(s)"
|
2818 |
msgstr ""
|
2819 |
|
2820 |
+
#: src/admin.php:892
|
2821 |
msgid "hour(s)"
|
2822 |
msgstr ""
|
2823 |
|
2824 |
+
#: src/admin.php:893
|
2825 |
msgid "week(s)"
|
2826 |
msgstr ""
|
2827 |
|
2828 |
+
#: src/admin.php:894
|
2829 |
msgid "For backups older than"
|
2830 |
msgstr ""
|
2831 |
|
2832 |
+
#: src/admin.php:896
|
2833 |
msgid "Processing..."
|
2834 |
msgstr ""
|
2835 |
|
2836 |
+
#: src/admin.php:897
|
2837 |
msgid "Please fill in the required information."
|
2838 |
msgstr ""
|
2839 |
|
2840 |
+
#: src/admin.php:898, src/methods/backup-module.php:315
|
2841 |
msgid "Test %s Settings"
|
2842 |
msgstr ""
|
2843 |
|
2844 |
+
#: src/admin.php:899
|
2845 |
msgid "Testing %s Settings..."
|
2846 |
msgstr ""
|
2847 |
|
2848 |
+
#: src/admin.php:900
|
2849 |
msgid "%s settings test result:"
|
2850 |
msgstr ""
|
2851 |
|
2852 |
+
#: src/admin.php:901
|
2853 |
msgid "Nothing yet logged"
|
2854 |
msgstr ""
|
2855 |
|
2856 |
+
#: src/admin.php:902
|
2857 |
msgid "You have not yet selected a file to import."
|
2858 |
msgstr ""
|
2859 |
|
2860 |
+
#: src/admin.php:903
|
2861 |
msgid "Error: The chosen file is corrupt. Please choose a valid UpdraftPlus export file."
|
2862 |
msgstr ""
|
2863 |
|
2864 |
+
#: src/admin.php:906
|
2865 |
msgid "Importing..."
|
2866 |
msgstr ""
|
2867 |
|
2868 |
+
#: src/admin.php:907
|
2869 |
msgid "This will import data from:"
|
2870 |
msgstr ""
|
2871 |
|
2872 |
+
#: src/admin.php:908
|
2873 |
msgid "Which was exported on:"
|
2874 |
msgstr ""
|
2875 |
|
2876 |
+
#: src/admin.php:909
|
2877 |
msgid "Do you want to carry out the import?"
|
2878 |
msgstr ""
|
2879 |
|
2880 |
+
#: src/admin.php:910
|
2881 |
msgid "Complete"
|
2882 |
msgstr ""
|
2883 |
|
2884 |
+
#: src/admin.php:911, src/admin.php:3350
|
2885 |
msgid "The backup has finished running"
|
2886 |
msgstr ""
|
2887 |
|
2888 |
+
#: src/admin.php:912
|
2889 |
msgid "The backup was aborted"
|
2890 |
msgstr ""
|
2891 |
|
2892 |
+
#: src/admin.php:914
|
2893 |
msgid "remote files deleted"
|
2894 |
msgstr ""
|
2895 |
|
2896 |
+
#: src/admin.php:915
|
2897 |
msgid "HTTP code:"
|
2898 |
msgstr ""
|
2899 |
|
2900 |
+
#: src/admin.php:916
|
2901 |
msgid "The file failed to upload. Please check the following:"
|
2902 |
msgstr ""
|
2903 |
|
2904 |
+
#: src/admin.php:916
|
2905 |
msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size."
|
2906 |
msgstr ""
|
2907 |
|
2908 |
+
#: src/admin.php:916
|
2909 |
msgid "The available memory on the server."
|
2910 |
msgstr ""
|
2911 |
|
2912 |
+
#: src/admin.php:916
|
2913 |
msgid "That you are attempting to upload a zip file previously created by UpdraftPlus."
|
2914 |
msgstr ""
|
2915 |
|
2916 |
+
#: src/admin.php:916
|
2917 |
msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs."
|
2918 |
msgstr ""
|
2919 |
|
2920 |
+
#: src/admin.php:917
|
2921 |
msgid "Browsing zip file"
|
2922 |
msgstr ""
|
2923 |
|
2924 |
+
#: src/admin.php:918
|
2925 |
msgid "Select a file to view information about it"
|
2926 |
msgstr ""
|
2927 |
|
2928 |
+
#: src/admin.php:919
|
2929 |
msgid "Search"
|
2930 |
msgstr ""
|
2931 |
|
2932 |
+
#: src/admin.php:920
|
2933 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
2934 |
msgstr ""
|
2935 |
|
2936 |
+
#: src/admin.php:921
|
2937 |
msgid "Loading log file"
|
2938 |
msgstr ""
|
2939 |
|
2940 |
+
#: src/admin.php:924
|
2941 |
msgid "Please enter a valid URL e.g http://example.com"
|
2942 |
msgstr ""
|
2943 |
|
2944 |
+
#: src/admin.php:931
|
2945 |
msgid "Local backup upload has started; please check the log file to see the upload progress"
|
2946 |
msgstr ""
|
2947 |
|
2948 |
+
#: src/admin.php:932
|
2949 |
msgid "You must select at least one remote storage destination to upload this backup set to."
|
2950 |
msgstr ""
|
2951 |
|
2952 |
+
#: src/admin.php:933
|
2953 |
msgid "(already uploaded)"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
+
#: src/admin.php:934
|
2957 |
msgid "Please specify the Microsoft OneDrive folder name, not the URL."
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: src/admin.php:935, src/templates/wp-admin/settings/updraftcentral-connect.php:9
|
2961 |
msgid "UpdraftCentral Cloud"
|
2962 |
msgstr ""
|
2963 |
|
2964 |
+
#: src/admin.php:936
|
2965 |
msgid "Connected. Requesting UpdraftCentral Key."
|
2966 |
msgstr ""
|
2967 |
|
2968 |
+
#: src/admin.php:937
|
2969 |
msgid "Key created. Adding site to UpdraftCentral Cloud."
|
2970 |
msgstr ""
|
2971 |
|
2972 |
+
#: src/admin.php:938
|
2973 |
msgid "Login successful."
|
2974 |
msgstr ""
|
2975 |
|
2976 |
+
#: src/admin.php:938, src/admin.php:940
|
2977 |
msgid "Please follow this link to open %s in a new window."
|
2978 |
msgstr ""
|
2979 |
|
2980 |
+
#: src/admin.php:939
|
2981 |
msgid "Login successful; reloading information."
|
2982 |
msgstr ""
|
2983 |
|
2984 |
+
#: src/admin.php:940
|
2985 |
msgid "Registration successful."
|
2986 |
msgstr ""
|
2987 |
|
2988 |
+
#: src/admin.php:941
|
2989 |
msgid "Both email and password fields are required."
|
2990 |
msgstr ""
|
2991 |
|
2992 |
+
#: src/admin.php:942
|
2993 |
msgid "An email is required and needs to be in a valid format."
|
2994 |
msgstr ""
|
2995 |
|
2996 |
+
#: src/admin.php:943
|
2997 |
msgid "Trouble connecting? Try using an alternative method in the advanced security options."
|
2998 |
msgstr ""
|
2999 |
|
3000 |
+
#: src/admin.php:944
|
3001 |
msgid "Verifying one-time password..."
|
3002 |
msgstr ""
|
3003 |
|
3004 |
+
#: src/admin.php:945
|
3005 |
msgid "Perhaps you would want to login instead."
|
3006 |
msgstr ""
|
3007 |
|
3008 |
+
#: src/admin.php:946
|
3009 |
msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud."
|
3010 |
msgstr ""
|
3011 |
|
3012 |
+
#: src/admin.php:947
|
3013 |
msgid "Please wait while you are redirected to UpdraftCentral Cloud."
|
3014 |
msgstr ""
|
3015 |
|
3016 |
+
#: src/admin.php:948
|
3017 |
msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed."
|
3018 |
msgstr ""
|
3019 |
|
3020 |
+
#: src/admin.php:949
|
3021 |
msgid "You can also close this wizard."
|
3022 |
msgstr ""
|
3023 |
|
3024 |
+
#: src/admin.php:950
|
3025 |
msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab."
|
3026 |
msgstr ""
|
3027 |
|
3028 |
+
#: src/admin.php:952
|
3029 |
msgid "Warning: you have selected a lower version than your currently installed version. This may fail if you have components that are incompatible with earlier versions."
|
3030 |
msgstr ""
|
3031 |
|
3032 |
+
#: src/admin.php:953
|
3033 |
msgid "The clone has been provisioned, and its data has been sent to it. Once the clone has finished deploying it, you will receive an email."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
+
#: src/admin.php:954
|
3037 |
msgid "The preparation of the clone data has been aborted."
|
3038 |
msgstr ""
|
3039 |
|
3040 |
+
#: src/admin.php:956
|
3041 |
msgid "Are you sure you want to remove this exclusion rule?"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
+
#: src/admin.php:957
|
3045 |
msgid "Please select a file/folder which you would like to exclude"
|
3046 |
msgstr ""
|
3047 |
|
3048 |
+
#: src/admin.php:958
|
3049 |
msgid "Please enter a file extension, like zip"
|
3050 |
msgstr ""
|
3051 |
|
3052 |
+
#: src/admin.php:959
|
3053 |
msgid "Please enter a valid file extension"
|
3054 |
msgstr ""
|
3055 |
|
3056 |
+
#: src/admin.php:960
|
3057 |
msgid "Please enter characters that begin the filename which you would like to exclude"
|
3058 |
msgstr ""
|
3059 |
|
3060 |
+
#: src/admin.php:961
|
3061 |
msgid "Please enter a valid file name prefix"
|
3062 |
msgstr ""
|
3063 |
|
3064 |
+
#: src/admin.php:962
|
3065 |
msgid "The exclusion rule which you are trying to add already exists"
|
3066 |
msgstr ""
|
3067 |
|
3068 |
+
#: src/admin.php:963
|
3069 |
msgid "UpdraftClone key is required."
|
3070 |
msgstr ""
|
3071 |
|
3072 |
+
#: src/admin.php:964, src/templates/wp-admin/settings/backupnow-modal.php:40
|
3073 |
msgid "Include your files in the backup"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
+
#: src/admin.php:965
|
3077 |
msgid "File backup options"
|
3078 |
msgstr ""
|
3079 |
|
3080 |
+
#: src/admin.php:966
|
3081 |
msgid "HTML was detected in the response. You may have a security module on your webserver blocking the restoration operation."
|
3082 |
msgstr ""
|
3083 |
|
3084 |
+
#: src/admin.php:967
|
3085 |
msgid "You have not selected a restore path for your chosen backups"
|
3086 |
msgstr ""
|
3087 |
|
3088 |
+
#: src/admin.php:968
|
3089 |
msgid "Try UpdraftVault!"
|
3090 |
msgstr ""
|
3091 |
|
3092 |
+
#: src/admin.php:969, src/includes/updraftplus-tour.php:132, src/includes/updraftplus-tour.php:184
|
3093 |
msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus."
|
3094 |
msgstr ""
|
3095 |
|
3096 |
+
#: src/admin.php:970, src/includes/updraftplus-tour.php:133, src/includes/updraftplus-tour.php:161, src/includes/updraftplus-tour.php:185, src/templates/wp-admin/settings/temporary-clone.php:22
|
3097 |
msgid "Find out more here."
|
3098 |
msgstr ""
|
3099 |
|
3100 |
+
#: src/admin.php:972
|
3101 |
msgid "Try it - 1 month for $1!"
|
3102 |
msgstr ""
|
3103 |
|
3104 |
+
#: src/admin.php:974
|
3105 |
msgid "credentials"
|
3106 |
msgstr ""
|
3107 |
|
3108 |
+
#: src/admin.php:977
|
3109 |
msgid "last activity: %d seconds ago"
|
3110 |
msgstr ""
|
3111 |
|
3112 |
+
#: src/admin.php:978
|
3113 |
msgid "no recent activity; will offer resumption after: %d seconds"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
+
#: src/admin.php:979
|
3117 |
msgid "Restoring %s1 files out of %s2"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
+
#: src/admin.php:980
|
3121 |
msgid "Restoring table: %s"
|
3122 |
msgstr ""
|
3123 |
|
3124 |
+
#: src/admin.php:981, src/admin.php:4768
|
3125 |
msgid "Finished"
|
3126 |
msgstr ""
|
3127 |
|
3128 |
+
#: src/admin.php:982
|
3129 |
msgid "Begun"
|
3130 |
msgstr ""
|
3131 |
|
3132 |
+
#: src/admin.php:983
|
3133 |
msgid "Downloading backup files if needed"
|
3134 |
msgstr ""
|
3135 |
|
3136 |
+
#: src/admin.php:984
|
3137 |
msgid "Preparing backup files"
|
3138 |
msgstr ""
|
3139 |
|
3140 |
+
#: src/admin.php:985
|
3141 |
msgid "Attempts by the browser to contact the website failed."
|
3142 |
msgstr ""
|
3143 |
|
3144 |
+
#: src/admin.php:986
|
3145 |
msgid "Restore error:"
|
3146 |
msgstr ""
|
3147 |
|
3148 |
+
#: src/admin.php:987, src/admin.php:2686, src/class-updraftplus.php:4672, src/restorer.php:3018
|
3149 |
+
msgid "Warning:"
|
3150 |
+
msgstr ""
|
3151 |
+
|
3152 |
+
#: src/admin.php:987
|
3153 |
+
msgid "Attempts by the browser to access some pages have returned a \"not found (404)\" error. This could mean that your .htaccess file has incorrect contents, is missing, or that your webserver is missing an equivalent mechanism."
|
3154 |
+
msgstr ""
|
3155 |
+
|
3156 |
+
#: src/admin.php:987
|
3157 |
+
msgid "Missing pages:"
|
3158 |
+
msgstr ""
|
3159 |
+
|
3160 |
+
#: src/admin.php:987, src/admin.php:5652, src/methods/openstack2.php:144, src/restorer.php:263, src/restorer.php:265, src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27, src/templates/wp-admin/settings/updraftcentral-connect.php:14
|
3161 |
+
msgid "Follow this link for more information"
|
3162 |
+
msgstr ""
|
3163 |
+
|
3164 |
+
#: src/admin.php:988
|
3165 |
+
msgid "Please check the error log for more details"
|
3166 |
+
msgstr ""
|
3167 |
+
|
3168 |
+
#: src/admin.php:1128
|
3169 |
msgid "Add-Ons / Pro Support"
|
3170 |
msgstr ""
|
3171 |
|
3172 |
+
#: src/admin.php:1175
|
3173 |
msgid "An error occurred when fetching storage module options: "
|
3174 |
msgstr ""
|
3175 |
|
3176 |
+
#: src/admin.php:1180, src/includes/class-commands.php:469, src/templates/wp-admin/settings/take-backup.php:13
|
3177 |
msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)."
|
3178 |
msgstr ""
|
3179 |
|
3180 |
+
#: src/admin.php:1185
|
3181 |
msgid "Welcome to UpdraftPlus!"
|
3182 |
msgstr ""
|
3183 |
|
3184 |
+
#: src/admin.php:1185
|
3185 |
msgid "To make a backup, just press the Backup Now button."
|
3186 |
msgstr ""
|
3187 |
|
3188 |
+
#: src/admin.php:1185
|
3189 |
msgid "To change any of the default settings of what is backed up, to configure scheduled backups, to send your backups to remote storage (recommended), and more, go to the settings tab."
|
3190 |
msgstr ""
|
3191 |
|
3192 |
+
#: src/admin.php:1189, src/class-updraftplus.php:918
|
3193 |
msgid "The amount of time allowed for WordPress plugins to run is very low (%s seconds) - you should increase it to avoid backup failures due to time-outs (consult your web hosting company for more help - it is the max_execution_time PHP setting; the recommended value is %s seconds or more)"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
+
#: src/admin.php:1194
|
3197 |
msgid "The scheduler is disabled in your WordPress install, via the DISABLE_WP_CRON setting. No backups can run (even "Backup Now") unless either you have set up a facility to call the scheduler manually, or until it is enabled."
|
3198 |
msgstr ""
|
3199 |
|
3200 |
+
#: src/admin.php:1200
|
3201 |
msgid "You have less than %s of free disk space on the disk which UpdraftPlus is configured to use to create backups. UpdraftPlus could well run out of space. Contact your the operator of your server (e.g. your web hosting company) to resolve this issue."
|
3202 |
msgstr ""
|
3203 |
|
3204 |
+
#: src/admin.php:1204
|
3205 |
msgid "UpdraftPlus does not officially support versions of WordPress before %s. It may work for you, but if it does not, then please be aware that no support is available until you upgrade WordPress."
|
3206 |
msgstr ""
|
3207 |
|
3208 |
+
#: src/admin.php:1208
|
3209 |
msgid "Your website is hosted using the %s web server."
|
3210 |
msgstr ""
|
3211 |
|
3212 |
+
#: src/admin.php:1208
|
3213 |
msgid "Please consult this FAQ if you have problems backing up."
|
3214 |
msgstr ""
|
3215 |
|
3216 |
+
#: src/admin.php:1212, src/admin.php:1265
|
3217 |
msgid "Notice"
|
3218 |
msgstr ""
|
3219 |
|
3220 |
+
#: src/admin.php:1212
|
3221 |
msgid "UpdraftPlus's debug mode is on. You may see debugging notices on this page not just from UpdraftPlus, but from any other plugin installed. Please try to make sure that the notice you are seeing is from UpdraftPlus before you raise a support request."
|
3222 |
msgstr ""
|
3223 |
|
3224 |
+
#: src/admin.php:1217
|
3225 |
msgid "WordPress has a number (%d) of scheduled tasks which are overdue. Unless this is a development site, this probably means that the scheduler in your WordPress install is not working."
|
3226 |
msgstr ""
|
3227 |
|
3228 |
+
#: src/admin.php:1217
|
3229 |
msgid "Read this page for a guide to possible causes and how to fix it."
|
3230 |
msgstr ""
|
3231 |
|
3232 |
+
#: src/admin.php:1237, src/admin.php:1258, src/admin.php:1282, src/class-updraftplus.php:595, src/class-updraftplus.php:655, src/class-updraftplus.php:660, src/class-updraftplus.php:665
|
3233 |
msgid "UpdraftPlus notice:"
|
3234 |
msgstr ""
|
3235 |
|
3236 |
+
#: src/admin.php:1237
|
3237 |
msgid "%s has been chosen for remote storage, but you are not currently connected."
|
3238 |
msgstr ""
|
3239 |
|
3240 |
+
#: src/admin.php:1237
|
3241 |
msgid "Go to the remote storage settings in order to connect."
|
3242 |
msgstr ""
|
3243 |
|
3244 |
+
#: src/admin.php:1265
|
3245 |
msgid "Connection to your %1$s account was successful. However, we were not able to register this site with %2$s, as there are no available %2$s licences on the account."
|
3246 |
msgstr ""
|
3247 |
|
3248 |
+
#: src/admin.php:1384, src/admin.php:1394
|
3249 |
msgid "Error: invalid path"
|
3250 |
msgstr ""
|
3251 |
|
3252 |
+
#: src/admin.php:1746, src/includes/class-wpadmin-commands.php:581
|
3253 |
msgid "Backup set not found"
|
3254 |
msgstr ""
|
3255 |
|
3256 |
+
#: src/admin.php:1963
|
3257 |
+
msgid "The authentication failed for '%s'."
|
3258 |
+
msgstr ""
|
3259 |
+
|
3260 |
+
#: src/admin.php:1963
|
3261 |
+
msgid "Please check your credentials."
|
3262 |
+
msgstr ""
|
3263 |
+
|
3264 |
+
#: src/admin.php:1966
|
3265 |
+
msgid "We were unable to access '%s'."
|
3266 |
msgstr ""
|
3267 |
|
3268 |
+
#: src/admin.php:1966
|
3269 |
+
msgid "Service unavailable."
|
3270 |
+
msgstr ""
|
3271 |
+
|
3272 |
+
#: src/admin.php:1969
|
3273 |
+
msgid "We were unable to access the folder/container for '%s'."
|
3274 |
+
msgstr ""
|
3275 |
+
|
3276 |
+
#: src/admin.php:1969, src/admin.php:1972
|
3277 |
+
msgid "Please check your permissions."
|
3278 |
+
msgstr ""
|
3279 |
+
|
3280 |
+
#: src/admin.php:1972
|
3281 |
+
msgid "We were unable to access a file on '%s'."
|
3282 |
+
msgstr ""
|
3283 |
+
|
3284 |
+
#: src/admin.php:1975
|
3285 |
+
msgid "We were unable to delete a file on '%s'."
|
3286 |
+
msgstr ""
|
3287 |
+
|
3288 |
+
#: src/admin.php:1975
|
3289 |
+
msgid "The file may no longer exist or you may not have permission to delete."
|
3290 |
+
msgstr ""
|
3291 |
+
|
3292 |
+
#: src/admin.php:1978
|
3293 |
+
msgid "An error occurred while attempting to delete from '%s'."
|
3294 |
+
msgstr ""
|
3295 |
+
|
3296 |
+
#: src/admin.php:1988
|
3297 |
msgid "Backup sets removed:"
|
3298 |
msgstr ""
|
3299 |
|
3300 |
+
#: src/admin.php:1989
|
3301 |
msgid "Local files deleted:"
|
3302 |
msgstr ""
|
3303 |
|
3304 |
+
#: src/admin.php:1990
|
3305 |
msgid "Remote files deleted:"
|
3306 |
msgstr ""
|
3307 |
|
3308 |
+
#: src/admin.php:2087
|
3309 |
msgid "Job deleted"
|
3310 |
msgstr ""
|
3311 |
|
3312 |
+
#: src/admin.php:2095
|
3313 |
msgid "Could not find that job - perhaps it has already finished?"
|
3314 |
msgstr ""
|
3315 |
|
3316 |
+
#: src/admin.php:2190, src/admin.php:2213, src/includes/class-commands.php:839
|
3317 |
msgid "Start backup"
|
3318 |
msgstr ""
|
3319 |
|
3320 |
+
#: src/admin.php:2190, src/includes/class-commands.php:839
|
3321 |
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
3322 |
msgstr ""
|
3323 |
|
3324 |
+
#: src/admin.php:2197
|
3325 |
msgid "No suitable backup set (that already contains a full backup of all the requested file component types) was found, to add increments to. Aborting this backup."
|
3326 |
msgstr ""
|
3327 |
|
3328 |
+
#: src/admin.php:2277, src/admin.php:2281, src/class-updraftplus.php:655
|
3329 |
msgid "The log file could not be read."
|
3330 |
msgstr ""
|
3331 |
|
3332 |
+
#: src/admin.php:2328
|
3333 |
msgid "Download failed"
|
3334 |
msgstr ""
|
3335 |
|
3336 |
+
#: src/admin.php:2358
|
3337 |
msgid "Download in progress"
|
3338 |
msgstr ""
|
3339 |
|
3340 |
+
#: src/admin.php:2361
|
3341 |
msgid "No local copy present."
|
3342 |
msgstr ""
|
3343 |
|
3344 |
+
#: src/admin.php:2415, src/backup.php:1204
|
3345 |
msgid "Backup directory (%s) is not writable, or does not exist."
|
3346 |
msgstr ""
|
3347 |
|
3348 |
+
#: src/admin.php:2415
|
3349 |
msgid "You will find more information about this in the Settings section."
|
3350 |
msgstr ""
|
3351 |
|
3352 |
+
#: src/admin.php:2452
|
3353 |
msgid "This file could not be uploaded"
|
3354 |
msgstr ""
|
3355 |
|
3356 |
+
#: src/admin.php:2467
|
3357 |
msgid "This backup was created by %s, and can be imported."
|
3358 |
msgstr ""
|
3359 |
|
3360 |
+
#: src/admin.php:2473
|
3361 |
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
+
#: src/admin.php:2481
|
3365 |
msgid "This looks like a file created by UpdraftPlus, but this install does not know about this type of object: %s. Perhaps you need to install an add-on?"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
+
#: src/admin.php:2573
|
3369 |
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
+
#: src/admin.php:2665
|
3373 |
msgid "Backup directory could not be created"
|
3374 |
msgstr ""
|
3375 |
|
3376 |
+
#: src/admin.php:2672
|
3377 |
msgid "Backup directory successfully created."
|
3378 |
msgstr ""
|
3379 |
|
3380 |
+
#: src/admin.php:2674, src/admin.php:3578, src/admin.php:4696, src/admin.php:4708, src/admin.php:4719, src/admin.php:4948, src/admin.php:5851
|
3381 |
msgid "Return to UpdraftPlus configuration"
|
3382 |
msgstr ""
|
3383 |
|
3384 |
+
#: src/admin.php:2686
|
|
|
|
|
|
|
|
|
3385 |
msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site."
|
3386 |
msgstr ""
|
3387 |
|
3388 |
+
#: src/admin.php:2689
|
3389 |
msgid "The UpdraftPlus directory in wp-content/plugins has white-space in it; WordPress does not like this. You should rename the directory to wp-content/plugins/updraftplus to fix this problem."
|
3390 |
msgstr ""
|
3391 |
|
3392 |
+
#: src/admin.php:2704
|
3393 |
msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work."
|
3394 |
msgstr ""
|
3395 |
|
3396 |
+
#: src/admin.php:2704
|
3397 |
msgid "To fix this problem go here."
|
3398 |
msgstr ""
|
3399 |
|
3400 |
+
#: src/admin.php:2706
|
3401 |
msgid "For even more features and personal support, check out "
|
3402 |
msgstr ""
|
3403 |
|
3404 |
+
#: src/admin.php:2708
|
3405 |
msgid "Your backup has been restored."
|
3406 |
msgstr ""
|
3407 |
|
3408 |
+
#: src/admin.php:2733
|
3409 |
msgid "Your PHP memory limit (set by your web hosting company) is very low. UpdraftPlus attempted to raise it but was unsuccessful. This plugin may struggle with a memory limit of less than 64 Mb - especially if you have very large files uploaded (though on the other hand, many sites will be successful with a 32Mb limit - your experience may vary)."
|
3410 |
msgstr ""
|
3411 |
|
3412 |
+
#: src/admin.php:2733
|
3413 |
msgid "Current limit is:"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
+
#: src/admin.php:2794
|
3417 |
msgid "Backup Contents And Schedule"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
+
#: src/admin.php:2893
|
3421 |
msgid "Backup / Restore"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
+
#: src/admin.php:2897
|
3425 |
msgid "Premium / Extensions"
|
3426 |
msgstr ""
|
3427 |
|
3428 |
+
#: src/admin.php:2964
|
3429 |
msgid "%s minutes, %s seconds"
|
3430 |
msgstr ""
|
3431 |
|
3432 |
+
#: src/admin.php:2967
|
3433 |
msgid "Unfinished restoration"
|
3434 |
msgstr ""
|
3435 |
|
3436 |
+
#: src/admin.php:2968
|
3437 |
msgid "You have an unfinished restoration operation, begun %s ago."
|
3438 |
msgstr ""
|
3439 |
|
3440 |
+
#: src/admin.php:2976, src/admin.php:2978
|
3441 |
msgid "Continue restoration"
|
3442 |
msgstr ""
|
3443 |
|
3444 |
+
#: src/admin.php:2980, src/templates/wp-admin/notices/autobackup-notice.php:16, src/templates/wp-admin/notices/autobackup-notice.php:18, src/templates/wp-admin/notices/horizontal-notice.php:16, src/templates/wp-admin/notices/horizontal-notice.php:18
|
3445 |
msgid "Dismiss"
|
3446 |
msgstr ""
|
3447 |
|
3448 |
+
#: src/admin.php:3004
|
3449 |
msgid "Not yet got an account (it's free)? Go get one!"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
+
#: src/admin.php:3015
|
3453 |
msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here."
|
3454 |
msgstr ""
|
3455 |
|
3456 |
+
#: src/admin.php:3027, src/includes/class-commands.php:911, src/includes/class-commands.php:960, src/includes/class-commands.php:962, src/templates/wp-admin/settings/temporary-clone.php:83, src/templates/wp-admin/settings/updraftcentral-connect.php:71
|
3457 |
msgid "Processing"
|
3458 |
msgstr ""
|
3459 |
|
3460 |
+
#: src/admin.php:3070
|
3461 |
msgid "Connect with your UpdraftPlus.Com account"
|
3462 |
msgstr ""
|
3463 |
|
3464 |
+
#: src/admin.php:3076, src/methods/updraftvault.php:387, src/templates/wp-admin/settings/form-contents.php:256, src/templates/wp-admin/settings/updraftcentral-connect.php:44
|
3465 |
msgid "Email"
|
3466 |
msgstr ""
|
3467 |
|
3468 |
+
#: src/admin.php:3091
|
3469 |
msgid "Forgotten your details?"
|
3470 |
msgstr ""
|
3471 |
|
3472 |
+
#: src/admin.php:3103
|
3473 |
msgid "Ask WordPress to update UpdraftPlus automatically when an update is available"
|
3474 |
msgstr ""
|
3475 |
|
3476 |
+
#: src/admin.php:3114
|
3477 |
msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites."
|
3478 |
msgstr ""
|
3479 |
|
3480 |
+
#: src/admin.php:3114
|
3481 |
msgid "Learn more about UpdraftCentral"
|
3482 |
msgstr ""
|
3483 |
|
3484 |
+
#: src/admin.php:3140, src/templates/wp-admin/settings/updraftcentral-connect.php:56
|
3485 |
msgid "One Time Password (check your OTP app to get this password)"
|
3486 |
msgstr ""
|
3487 |
|
3488 |
+
#: src/admin.php:3211
|
3489 |
msgid "Latest UpdraftPlus.com news:"
|
3490 |
msgstr ""
|
3491 |
|
3492 |
+
#: src/admin.php:3238
|
3493 |
msgid "Download most recently modified log file"
|
3494 |
msgstr ""
|
3495 |
|
3496 |
+
#: src/admin.php:3281
|
3497 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old). You should press this button to delete them as soon as you have verified that the restoration worked."
|
3498 |
msgstr ""
|
3499 |
|
3500 |
+
#: src/admin.php:3350, src/admin.php:4422
|
3501 |
msgid "View Log"
|
3502 |
msgstr ""
|
3503 |
|
3504 |
+
#: src/admin.php:3390
|
3505 |
msgid "Backup begun"
|
3506 |
msgstr ""
|
3507 |
|
3508 |
+
#: src/admin.php:3395
|
3509 |
msgid "Creating file backup zips"
|
3510 |
msgstr ""
|
3511 |
|
3512 |
+
#: src/admin.php:3408
|
3513 |
msgid "Created file backup zips"
|
3514 |
msgstr ""
|
3515 |
|
3516 |
+
#: src/admin.php:3413
|
3517 |
msgid "Clone server being provisioned and booted (can take several minutes)"
|
3518 |
msgstr ""
|
3519 |
|
3520 |
+
#: src/admin.php:3417
|
3521 |
msgid "Uploading files to remote storage"
|
3522 |
msgstr ""
|
3523 |
|
3524 |
+
#: src/admin.php:3418
|
3525 |
msgid "Sending files to remote site"
|
3526 |
msgstr ""
|
3527 |
|
3528 |
+
#: src/admin.php:3425
|
3529 |
msgid "(%s%%, file %s of %s)"
|
3530 |
msgstr ""
|
3531 |
|
3532 |
+
#: src/admin.php:3430
|
3533 |
msgid "Pruning old backup sets"
|
3534 |
msgstr ""
|
3535 |
|
3536 |
+
#: src/admin.php:3434
|
3537 |
msgid "Waiting until scheduled time to retry because of errors"
|
3538 |
msgstr ""
|
3539 |
|
3540 |
+
#: src/admin.php:3439
|
3541 |
msgid "Backup finished"
|
3542 |
msgstr ""
|
3543 |
|
3544 |
+
#: src/admin.php:3452
|
3545 |
msgid "Created database backup"
|
3546 |
msgstr ""
|
3547 |
|
3548 |
+
#: src/admin.php:3463
|
3549 |
msgid "Creating database backup"
|
3550 |
msgstr ""
|
3551 |
|
3552 |
+
#: src/admin.php:3465
|
3553 |
msgid "table: %s"
|
3554 |
msgstr ""
|
3555 |
|
3556 |
+
#: src/admin.php:3478
|
3557 |
msgid "Encrypting database"
|
3558 |
msgstr ""
|
3559 |
|
3560 |
+
#: src/admin.php:3486
|
3561 |
msgid "Encrypted database"
|
3562 |
msgstr ""
|
3563 |
|
3564 |
+
#: src/admin.php:3488, src/central/bootstrap.php:459, src/central/bootstrap.php:466, src/methods/updraftvault.php:437, src/methods/updraftvault.php:483, src/methods/updraftvault.php:566
|
3565 |
msgid "Unknown"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
+
#: src/admin.php:3505
|
3569 |
msgid "next resumption: %d (after %ss)"
|
3570 |
msgstr ""
|
3571 |
|
3572 |
+
#: src/admin.php:3506
|
3573 |
msgid "last activity: %ss ago"
|
3574 |
msgstr ""
|
3575 |
|
3576 |
+
#: src/admin.php:3526
|
3577 |
msgid "Job ID: %s"
|
3578 |
msgstr ""
|
3579 |
|
3580 |
+
#: src/admin.php:3540, src/admin.php:3832
|
3581 |
msgid "Warning: %s"
|
3582 |
msgstr ""
|
3583 |
|
3584 |
+
#: src/admin.php:3560
|
3585 |
msgid "show log"
|
3586 |
msgstr ""
|
3587 |
|
3588 |
+
#: src/admin.php:3561
|
3589 |
msgid "Note: the progress bar below is based on stages, NOT time. Do not stop the backup simply because it seems to have remained in the same place for a while - that is normal."
|
3590 |
msgstr ""
|
3591 |
|
3592 |
+
#: src/admin.php:3561
|
3593 |
msgid "stop"
|
3594 |
msgstr ""
|
3595 |
|
3596 |
+
#: src/admin.php:3571, src/admin.php:3571
|
3597 |
msgid "Remove old directories"
|
3598 |
msgstr ""
|
3599 |
|
3600 |
+
#: src/admin.php:3574
|
3601 |
msgid "Old directories successfully removed."
|
3602 |
msgstr ""
|
3603 |
|
3604 |
+
#: src/admin.php:3576
|
3605 |
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
3606 |
msgstr ""
|
3607 |
|
3608 |
+
#: src/admin.php:3615, src/admin.php:3650, src/admin.php:3654, src/includes/class-remote-send.php:407, src/includes/class-storage-methods-interface.php:317, src/restorer.php:410, src/restorer.php:3348, src/restorer.php:3468
|
3609 |
msgid "OK"
|
3610 |
msgstr ""
|
3611 |
|
3612 |
+
#: src/admin.php:3699
|
3613 |
msgid "The request to the filesystem to create the directory failed."
|
3614 |
msgstr ""
|
3615 |
|
3616 |
+
#: src/admin.php:3713
|
3617 |
msgid "The folder was created, but we had to change its file permissions to 777 (world-writable) to be able to write to it. You should check with your hosting provider that this will not cause any problems"
|
3618 |
msgstr ""
|
3619 |
|
3620 |
+
#: src/admin.php:3718
|
3621 |
msgid "The folder exists, but your webserver does not have permission to write to it."
|
3622 |
msgstr ""
|
3623 |
|
3624 |
+
#: src/admin.php:3718
|
3625 |
msgid "You will need to consult with your web hosting provider to find out how to set permissions for a WordPress plugin to write to the directory."
|
3626 |
msgstr ""
|
3627 |
|
3628 |
+
#: src/admin.php:3820
|
3629 |
msgid "incremental backup; base backup: %s"
|
3630 |
msgstr ""
|
3631 |
|
3632 |
+
#: src/admin.php:3850
|
3633 |
msgid "No backup has been completed"
|
3634 |
msgstr ""
|
3635 |
|
3636 |
+
#: src/admin.php:3866
|
3637 |
msgctxt "i.e. Non-automatic"
|
3638 |
msgid "Manual"
|
3639 |
msgstr ""
|
3640 |
|
3641 |
+
#: src/admin.php:3885
|
3642 |
msgid "Backup directory specified is writable, which is good."
|
3643 |
msgstr ""
|
3644 |
|
3645 |
+
#: src/admin.php:3889
|
3646 |
msgid "Backup directory specified does <b>not</b> exist."
|
3647 |
msgstr ""
|
3648 |
|
3649 |
+
#: src/admin.php:3891
|
3650 |
msgid "Backup directory specified exists, but is <b>not</b> writable."
|
3651 |
msgstr ""
|
3652 |
|
3653 |
+
#: src/admin.php:3893
|
3654 |
msgid "Follow this link to attempt to create the directory and set the permissions"
|
3655 |
msgstr ""
|
3656 |
|
3657 |
+
#: src/admin.php:3893
|
3658 |
msgid "or, to reset this option"
|
3659 |
msgstr ""
|
3660 |
|
3661 |
+
#: src/admin.php:3893
|
3662 |
msgid "press here"
|
3663 |
msgstr ""
|
3664 |
|
3665 |
+
#: src/admin.php:3893
|
3666 |
msgid "If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process."
|
3667 |
msgstr ""
|
3668 |
|
3669 |
+
#: src/admin.php:3973
|
3670 |
msgid "Your wp-content directory server path: %s"
|
3671 |
msgstr ""
|
3672 |
|
3673 |
+
#: src/admin.php:3973
|
3674 |
msgid "Any other directories found inside wp-content"
|
3675 |
msgstr ""
|
3676 |
|
3677 |
+
#: src/admin.php:3984
|
3678 |
msgid "Exclude these from"
|
3679 |
msgstr ""
|
3680 |
|
3681 |
+
#: src/admin.php:4072
|
3682 |
msgid "Your web server's PHP/Curl installation does not support https access. Communications with %s will be unencrypted. Ask your web host to install Curl/SSL in order to gain the ability for encryption (via an add-on)."
|
3683 |
msgstr ""
|
3684 |
|
3685 |
+
#: src/admin.php:4074
|
3686 |
msgid "Your web server's PHP/Curl installation does not support https access. We cannot access %s without this support. Please contact your web hosting provider's support. %s <strong>requires</strong> Curl+https. Please do not file any support requests; there is no alternative."
|
3687 |
msgstr ""
|
3688 |
|
3689 |
+
#: src/admin.php:4077
|
3690 |
msgid "Good news: Your site's communications with %s can be encrypted. If you see any errors to do with encryption, then look in the 'Expert Settings' for more help."
|
3691 |
msgstr ""
|
3692 |
|
3693 |
+
#: src/admin.php:4115, src/templates/wp-admin/settings/backupnow-modal.php:60, src/templates/wp-admin/settings/existing-backups-table.php:77, src/templates/wp-admin/settings/existing-backups-table.php:80
|
3694 |
msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)."
|
3695 |
msgstr ""
|
3696 |
|
3697 |
+
#: src/admin.php:4163
|
3698 |
msgid "Total backup size:"
|
3699 |
msgstr ""
|
3700 |
|
3701 |
+
#: src/admin.php:4229, src/includes/class-wpadmin-commands.php:161, src/restorer.php:2352
|
3702 |
msgid "Backup created by unknown source (%s) - cannot be restored."
|
3703 |
msgstr ""
|
3704 |
|
3705 |
+
#: src/admin.php:4258
|
3706 |
msgid "Press here to download or browse"
|
3707 |
msgstr ""
|
3708 |
|
3709 |
+
#: src/admin.php:4265
|
3710 |
msgid "(%d archive(s) in set, total %s)."
|
3711 |
msgstr ""
|
3712 |
|
3713 |
+
#: src/admin.php:4269
|
3714 |
msgid "You appear to be missing one or more archives from this multi-archive set."
|
3715 |
msgstr ""
|
3716 |
|
3717 |
+
#: src/admin.php:4298, src/admin.php:4300
|
3718 |
msgid "(Not finished)"
|
3719 |
msgstr ""
|
3720 |
|
3721 |
+
#: src/admin.php:4300
|
3722 |
msgid "If you are seeing more backups than you expect, then it is probably because the deletion of old backup sets does not happen until a fresh backup completes."
|
3723 |
msgstr ""
|
3724 |
|
3725 |
+
#: src/admin.php:4325
|
3726 |
msgid "(backup set imported from remote location)"
|
3727 |
msgstr ""
|
3728 |
|
3729 |
+
#: src/admin.php:4328
|
3730 |
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
3731 |
msgstr ""
|
3732 |
|
3733 |
+
#: src/admin.php:4392
|
3734 |
msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations"
|
3735 |
msgstr ""
|
3736 |
|
3737 |
+
#: src/admin.php:4412
|
3738 |
msgid "Delete this backup set"
|
3739 |
msgstr ""
|
3740 |
|
3741 |
+
#: src/admin.php:4646, src/admin.php:4655
|
3742 |
msgid "Sufficient information about the in-progress restoration operation could not be found."
|
3743 |
msgstr ""
|
3744 |
|
3745 |
+
#: src/admin.php:4748, src/templates/wp-admin/settings/delete-and-restore-modals.php:30
|
3746 |
msgid "UpdraftPlus Restoration"
|
3747 |
msgstr ""
|
3748 |
|
3749 |
+
#: src/admin.php:4757
|
3750 |
msgid "The restore operation has begun (%s). Do not close this page until it reports itself as having finished."
|
3751 |
msgstr ""
|
3752 |
|
3753 |
+
#: src/admin.php:4758
|
3754 |
msgid "Restoration progress:"
|
3755 |
msgstr ""
|
3756 |
|
3757 |
+
#: src/admin.php:4761
|
3758 |
msgid "Verifying"
|
3759 |
msgstr ""
|
3760 |
|
3761 |
+
#: src/admin.php:4767
|
3762 |
msgid "Cleaning"
|
3763 |
msgstr ""
|
3764 |
|
3765 |
+
#: src/admin.php:4774
|
3766 |
msgid "Activity log"
|
3767 |
msgstr ""
|
3768 |
|
3769 |
+
#: src/admin.php:4780, src/templates/wp-admin/settings/delete-and-restore-modals.php:96
|
3770 |
msgid "1. Component selection"
|
3771 |
msgstr ""
|
3772 |
|
3773 |
+
#: src/admin.php:4781, src/templates/wp-admin/settings/delete-and-restore-modals.php:97
|
3774 |
msgid "2. Verifications"
|
3775 |
msgstr ""
|
3776 |
|
3777 |
+
#: src/admin.php:4782, src/templates/wp-admin/settings/delete-and-restore-modals.php:98
|
3778 |
msgid "3. Restoration"
|
3779 |
msgstr ""
|
3780 |
|
3781 |
+
#: src/admin.php:4863
|
3782 |
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
3783 |
msgstr ""
|
3784 |
|
3785 |
+
#: src/admin.php:4864
|
3786 |
msgid "Backup does not exist in the backup history"
|
3787 |
msgstr ""
|
3788 |
|
3789 |
+
#: src/admin.php:4900
|
3790 |
msgid "ABORT: Could not find the information on which entities to restore."
|
3791 |
msgstr ""
|
3792 |
|
3793 |
+
#: src/admin.php:4900
|
3794 |
msgid "If making a request for support, please include this information:"
|
3795 |
msgstr ""
|
3796 |
|
3797 |
+
#: src/admin.php:5112
|
3798 |
msgid "Backup won't be sent to any remote storage - none has been saved in the %s"
|
3799 |
msgstr ""
|
3800 |
|
3801 |
+
#: src/admin.php:5112
|
3802 |
msgid "settings"
|
3803 |
msgstr ""
|
3804 |
|
3805 |
+
#: src/admin.php:5112
|
3806 |
msgid "Not got any remote storage?"
|
3807 |
msgstr ""
|
3808 |
|
3809 |
+
#: src/admin.php:5112
|
3810 |
msgid "Check out UpdraftPlus Vault."
|
3811 |
msgstr ""
|
3812 |
|
3813 |
+
#: src/admin.php:5114
|
3814 |
msgid "Send this backup to remote storage"
|
3815 |
msgstr ""
|
3816 |
|
3817 |
+
#: src/admin.php:5204
|
3818 |
msgid "UpdraftPlus seems to have been updated to version (%s), which is different to the version running when this settings page was loaded. Please reload the settings page before trying to save settings."
|
3819 |
msgstr ""
|
3820 |
|
3821 |
+
#: src/admin.php:5211, src/templates/wp-admin/settings/take-backup.php:51
|
3822 |
msgid "This button is disabled because your backup directory is not writable (see the settings)."
|
3823 |
msgstr ""
|
3824 |
|
3825 |
+
#: src/admin.php:5240
|
3826 |
msgid "Your settings have been saved."
|
3827 |
msgstr ""
|
3828 |
|
3829 |
+
#: src/admin.php:5245
|
3830 |
msgid "Your settings failed to save. Please refresh the settings page and try again"
|
3831 |
msgstr ""
|
3832 |
|
3833 |
+
#: src/admin.php:5293
|
3834 |
msgid "authentication error"
|
3835 |
msgstr ""
|
3836 |
|
3837 |
+
#: src/admin.php:5297
|
3838 |
msgid "Remote storage method and instance id are required for authentication."
|
3839 |
msgstr ""
|
3840 |
|
3841 |
+
#: src/admin.php:5362
|
3842 |
msgid "Your settings have been wiped."
|
3843 |
msgstr ""
|
3844 |
|
3845 |
+
#: src/admin.php:5461
|
3846 |
msgid "Known backups (raw)"
|
3847 |
msgstr ""
|
3848 |
|
3849 |
+
#: src/admin.php:5496
|
3850 |
msgid "Options (raw)"
|
3851 |
msgstr ""
|
3852 |
|
3853 |
+
#: src/admin.php:5499
|
3854 |
msgid "Value"
|
3855 |
msgstr ""
|
3856 |
|
3857 |
+
#: src/admin.php:5652
|
3858 |
msgid "The file %s has a \"byte order mark\" (BOM) at its beginning."
|
3859 |
msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning."
|
3860 |
msgstr[0] ""
|
3861 |
msgstr[1] ""
|
3862 |
|
3863 |
+
#: src/admin.php:5681, src/admin.php:5685, src/templates/wp-admin/advanced/site-info.php:45, src/templates/wp-admin/advanced/site-info.php:51, src/templates/wp-admin/advanced/site-info.php:58, src/templates/wp-admin/advanced/site-info.php:59
|
|
|
|
|
|
|
|
|
3864 |
msgid "%s version:"
|
3865 |
msgstr ""
|
3866 |
|
3867 |
+
#: src/admin.php:5689
|
3868 |
msgid "Clone region:"
|
3869 |
msgstr ""
|
3870 |
|
3871 |
+
#: src/admin.php:5703
|
3872 |
msgid "Clone:"
|
3873 |
msgstr ""
|
3874 |
|
3875 |
+
#: src/admin.php:5705
|
3876 |
msgid "This current site"
|
3877 |
msgstr ""
|
3878 |
|
3879 |
+
#: src/admin.php:5706
|
3880 |
msgid "An empty WordPress install"
|
3881 |
msgstr ""
|
3882 |
|
3883 |
+
#: src/admin.php:5721
|
3884 |
msgid "Clone package:"
|
3885 |
msgstr ""
|
3886 |
|
3887 |
+
#: src/admin.php:5726, src/admin.php:5765
|
3888 |
+
msgid "(current version)"
|
3889 |
msgstr ""
|
3890 |
|
3891 |
+
#: src/admin.php:5741
|
3892 |
+
msgid "Forbid non-administrators to login to WordPress on your clone"
|
3893 |
msgstr ""
|
3894 |
|
3895 |
+
#: src/admin.php:5785
|
3896 |
msgid "Your clone has started and will be available at the following URLs once it is ready."
|
3897 |
msgstr ""
|
3898 |
|
3899 |
+
#: src/admin.php:5786
|
3900 |
msgid "Front page:"
|
3901 |
msgstr ""
|
3902 |
|
3903 |
+
#: src/admin.php:5787
|
3904 |
msgid "Dashboard:"
|
3905 |
msgstr ""
|
3906 |
|
3907 |
+
#: src/admin.php:5789, src/admin.php:5792
|
3908 |
msgid "You can find your temporary clone information in your updraftplus.com account here."
|
3909 |
msgstr ""
|
3910 |
|
3911 |
+
#: src/admin.php:5791
|
3912 |
msgid "Your clone has started, network information is not yet available but will be displayed here and at your updraftplus.com account once it is ready."
|
3913 |
msgstr ""
|
3914 |
|
3915 |
+
#: src/admin.php:5849, src/admin.php:5851
|
3916 |
msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage."
|
3917 |
msgstr ""
|
3918 |
|
3964 |
msgid "Failed to open database file for reading:"
|
3965 |
msgstr ""
|
3966 |
|
3967 |
+
#: src/backup.php:1738
|
3968 |
msgid "An error occurred whilst closing the final database file"
|
3969 |
msgstr ""
|
3970 |
|
3971 |
+
#: src/backup.php:2051
|
3972 |
msgid "Could not open the backup file for writing"
|
3973 |
msgstr ""
|
3974 |
|
3975 |
+
#: src/backup.php:2163
|
3976 |
msgid "Infinite recursion: consult your log for more information"
|
3977 |
msgstr ""
|
3978 |
|
3979 |
+
#: src/backup.php:2196
|
3980 |
msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)"
|
3981 |
msgstr ""
|
3982 |
|
3983 |
+
#: src/backup.php:2218
|
3984 |
msgid "Failed to open directory (check the file permissions and ownership): %s"
|
3985 |
msgstr ""
|
3986 |
|
3987 |
+
#: src/backup.php:2283
|
3988 |
msgid "%s: unreadable file - could not be backed up"
|
3989 |
msgstr ""
|
3990 |
|
3991 |
+
#: src/backup.php:2969, src/backup.php:3262
|
3992 |
msgid "Failed to open the zip file (%s) - %s"
|
3993 |
msgstr ""
|
3994 |
|
3995 |
+
#: src/backup.php:2995
|
3996 |
msgid "A very large file was encountered: %s (size: %s Mb)"
|
3997 |
msgstr ""
|
3998 |
|
3999 |
+
#: src/backup.php:3306, src/class-updraftplus.php:931
|
4000 |
msgid "Your free space in your hosting account is very low - only %s Mb remain"
|
4001 |
msgstr ""
|
4002 |
|
4003 |
+
#: src/backup.php:3313
|
4004 |
msgid "The zip engine returned the message: %s."
|
4005 |
msgstr ""
|
4006 |
|
4007 |
+
#: src/backup.php:3315
|
4008 |
msgid "A zip error occurred"
|
4009 |
msgstr ""
|
4010 |
|
4011 |
+
#: src/backup.php:3317
|
4012 |
msgid "your web hosting account appears to be full; please see: %s"
|
4013 |
msgstr ""
|
4014 |
|
4015 |
+
#: src/backup.php:3319
|
4016 |
msgid "check your log for more details."
|
4017 |
msgstr ""
|
4018 |
|
4076 |
msgid "You can now control this site via your UpdraftCentral dashboard at %s."
|
4077 |
msgstr ""
|
4078 |
|
4079 |
+
#: src/central/bootstrap.php:361, src/central/bootstrap.php:372
|
4080 |
msgid "A key was created, but the attempt to register it with %s was unsuccessful - please try again later."
|
4081 |
msgstr ""
|
4082 |
|
4083 |
+
#: src/central/bootstrap.php:415, src/includes/class-remote-send.php:517
|
4084 |
msgid "Key created successfully."
|
4085 |
msgstr ""
|
4086 |
|
4087 |
+
#: src/central/bootstrap.php:415
|
4088 |
msgid "You must copy and paste this key now - it cannot be shown again."
|
4089 |
msgstr ""
|
4090 |
|
4091 |
+
#: src/central/bootstrap.php:436
|
4092 |
msgid "There are no UpdraftCentral dashboards that can currently control this site."
|
4093 |
msgstr ""
|
4094 |
|
4095 |
+
#: src/central/bootstrap.php:468
|
4096 |
msgid "Access this site as user:"
|
4097 |
msgstr ""
|
4098 |
|
4099 |
+
#: src/central/bootstrap.php:468
|
4100 |
msgid "Public key was sent to:"
|
4101 |
msgstr ""
|
4102 |
|
4103 |
+
#: src/central/bootstrap.php:471
|
4104 |
msgid "Created:"
|
4105 |
msgstr ""
|
4106 |
|
4107 |
+
#: src/central/bootstrap.php:473
|
4108 |
msgid "Key size: %d bits"
|
4109 |
msgstr ""
|
4110 |
|
4111 |
+
#: src/central/bootstrap.php:478
|
4112 |
msgid "Delete..."
|
4113 |
msgstr ""
|
4114 |
|
4115 |
+
#: src/central/bootstrap.php:486
|
4116 |
msgid "Manage existing keys (%d)..."
|
4117 |
msgstr ""
|
4118 |
|
4119 |
+
#: src/central/bootstrap.php:491
|
4120 |
msgid "Key description"
|
4121 |
msgstr ""
|
4122 |
|
4123 |
+
#: src/central/bootstrap.php:492
|
4124 |
msgid "Details"
|
4125 |
msgstr ""
|
4126 |
|
4127 |
+
#: src/central/bootstrap.php:517
|
4128 |
msgid "Connect this site to an UpdraftCentral dashboard found at..."
|
4129 |
msgstr ""
|
4130 |
|
4131 |
+
#: src/central/bootstrap.php:526
|
4132 |
msgid "UpdraftPlus.Com"
|
4133 |
msgstr ""
|
4134 |
|
4135 |
+
#: src/central/bootstrap.php:528
|
4136 |
msgid "i.e. if you have %s there"
|
4137 |
msgstr ""
|
4138 |
|
4139 |
+
#: src/central/bootstrap.php:528
|
4140 |
msgid "an account"
|
4141 |
msgstr ""
|
4142 |
|
4143 |
+
#: src/central/bootstrap.php:534
|
4144 |
msgid "Self-hosted dashboard"
|
4145 |
msgstr ""
|
4146 |
|
4147 |
+
#: src/central/bootstrap.php:536
|
4148 |
msgid "A website where you have installed %s"
|
4149 |
msgstr ""
|
4150 |
|
4151 |
+
#: src/central/bootstrap.php:539
|
4152 |
msgid "Enter the URL where your self-hosted install of UpdraftCentral is located:"
|
4153 |
msgstr ""
|
4154 |
|
4155 |
+
#: src/central/bootstrap.php:541
|
4156 |
msgid "URL for the site of your UpdraftCentral dashboard"
|
4157 |
msgstr ""
|
4158 |
|
4159 |
+
#: src/central/bootstrap.php:542, src/includes/updraftplus-tour.php:92, src/templates/wp-admin/settings/delete-and-restore-modals.php:100
|
4160 |
msgid "Next"
|
4161 |
msgstr ""
|
4162 |
|
4163 |
+
#: src/central/bootstrap.php:548
|
4164 |
msgid "UpdraftCentral dashboard connection details"
|
4165 |
msgstr ""
|
4166 |
|
4167 |
+
#: src/central/bootstrap.php:550
|
4168 |
msgid "Description"
|
4169 |
msgstr ""
|
4170 |
|
4171 |
+
#: src/central/bootstrap.php:551
|
4172 |
msgid "Enter any description"
|
4173 |
msgstr ""
|
4174 |
|
4175 |
+
#: src/central/bootstrap.php:568
|
4176 |
msgid "Use the alternative method for making a connection with the dashboard."
|
4177 |
msgstr ""
|
4178 |
|
4179 |
+
#: src/central/bootstrap.php:569
|
4180 |
msgid "More information..."
|
4181 |
msgstr ""
|
4182 |
|
4183 |
+
#: src/central/bootstrap.php:585, src/methods/updraftvault.php:381, src/methods/updraftvault.php:395, src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4
|
4184 |
msgid "Back..."
|
4185 |
msgstr ""
|
4186 |
|
4187 |
+
#: src/central/bootstrap.php:604
|
4188 |
msgid "View recent UpdraftCentral log events"
|
4189 |
msgstr ""
|
4190 |
|
4191 |
+
#: src/central/bootstrap.php:618
|
4192 |
msgid "UpdraftCentral (Remote Control)"
|
4193 |
msgstr ""
|
4194 |
|
4195 |
+
#: src/central/bootstrap.php:620
|
4196 |
msgid "UpdraftCentral enables control of your WordPress sites (including management of backups and updates) from a central dashboard."
|
4197 |
msgstr ""
|
4198 |
|
4199 |
+
#: src/central/bootstrap.php:620
|
4200 |
msgid "Read more about it here."
|
4201 |
msgstr ""
|
4202 |
|
4203 |
+
#: src/central/bootstrap.php:625
|
4204 |
msgid "Create another key"
|
4205 |
msgstr ""
|
4206 |
|
4216 |
msgid "Unable to install %s. Make sure that the zip file is a valid %s file and a previous version of this %s does not exist. If you wish to overwrite an existing %s then you will have to manually delete it from the %s folder on the remote website and try uploading the file again."
|
4217 |
msgstr ""
|
4218 |
|
4219 |
+
#: src/central/modules/media.php:364
|
4220 |
msgid "Failed to attach media."
|
4221 |
msgstr ""
|
4222 |
|
4223 |
+
#: src/central/modules/media.php:366
|
4224 |
msgid "Media has been attached to post."
|
4225 |
msgstr ""
|
4226 |
|
4227 |
+
#: src/central/modules/media.php:374
|
4228 |
msgid "Failed to detach media."
|
4229 |
msgstr ""
|
4230 |
|
4231 |
+
#: src/central/modules/media.php:376
|
4232 |
msgid "Media has been detached from post."
|
4233 |
msgstr ""
|
4234 |
|
4235 |
+
#: src/central/modules/media.php:389
|
4236 |
msgid "Failed to delete selected media."
|
4237 |
msgstr ""
|
4238 |
|
4239 |
+
#: src/central/modules/media.php:392
|
4240 |
msgid "Selected media has been deleted successfully."
|
4241 |
msgstr ""
|
4242 |
|
4243 |
+
#: src/central/modules/media.php:454
|
4244 |
msgid "Unattached"
|
4245 |
msgstr ""
|
4246 |
|
4247 |
+
#: src/central/modules/posts.php:177
|
4248 |
+
msgid "Default template"
|
4249 |
+
msgstr ""
|
4250 |
+
|
4251 |
+
#: src/central/modules/posts.php:745, src/central/modules/posts.php:810
|
4252 |
+
msgid "$result->get_error_message"
|
4253 |
+
msgstr ""
|
4254 |
+
|
4255 |
+
#: src/central/modules/posts.php:1048
|
4256 |
+
msgid "Expected parameter(s) missing."
|
4257 |
+
msgstr ""
|
4258 |
+
|
4259 |
+
#: src/class-updraftplus.php:205
|
4260 |
msgid "A version of UpdraftPlus is already installed. WordPress will only allow you to install your new version after first de-installing the existing one. That is safe - all your settings and backups will be retained. So, go to the \"Plugins\" page, de-activate and de-install UpdraftPlus, and then try again."
|
4261 |
msgstr ""
|
4262 |
|
4263 |
+
#: src/class-updraftplus.php:595, src/class-updraftplus.php:665
|
4264 |
msgid "The given file was not found, or could not be read."
|
4265 |
msgstr ""
|
4266 |
|
4267 |
+
#: src/class-updraftplus.php:630
|
4268 |
+
msgid "Under Maintenance"
|
4269 |
+
msgstr ""
|
4270 |
+
|
4271 |
+
#: src/class-updraftplus.php:630
|
4272 |
+
msgid "Briefly unavailable for scheduled maintenance. Check back in a minute."
|
4273 |
+
msgstr ""
|
4274 |
+
|
4275 |
+
#: src/class-updraftplus.php:660
|
4276 |
msgid "No log files were found."
|
4277 |
msgstr ""
|
4278 |
|
4279 |
+
#: src/class-updraftplus.php:915
|
4280 |
msgid "The amount of memory (RAM) allowed for PHP is very low (%s Mb) - you should increase it to avoid failures due to insufficient memory (consult your web hosting company for more help)"
|
4281 |
msgstr ""
|
4282 |
|
4283 |
+
#: src/class-updraftplus.php:944
|
4284 |
msgid "Your free disk space is very low - only %s Mb remain"
|
4285 |
msgstr ""
|
4286 |
|
4287 |
+
#: src/class-updraftplus.php:1283
|
4288 |
msgid "%s Error: Failed to open local file"
|
4289 |
msgstr ""
|
4290 |
|
4291 |
+
#: src/class-updraftplus.php:1398
|
4292 |
msgid "%s error - failed to re-assemble chunks"
|
4293 |
msgstr ""
|
4294 |
|
4295 |
+
#: src/class-updraftplus.php:1441, src/class-updraftplus.php:1485, src/methods/cloudfiles.php:386, src/methods/stream-base.php:304
|
4296 |
msgid "Error opening local file: Failed to download"
|
4297 |
msgstr ""
|
4298 |
|
4299 |
+
#: src/class-updraftplus.php:1509, src/methods/cloudfiles.php:416
|
4300 |
msgid "Error - failed to download the file"
|
4301 |
msgstr ""
|
4302 |
|
4303 |
+
#: src/class-updraftplus.php:1822, src/class-updraftplus.php:1824
|
4304 |
msgid "files: %s"
|
4305 |
msgstr ""
|
4306 |
|
4307 |
+
#: src/class-updraftplus.php:1878
|
4308 |
msgid "External database (%s)"
|
4309 |
msgstr ""
|
4310 |
|
4311 |
+
#: src/class-updraftplus.php:1881
|
4312 |
msgid "Size: %s MB"
|
4313 |
msgstr ""
|
4314 |
|
4315 |
+
#: src/class-updraftplus.php:1886, src/class-updraftplus.php:1891
|
4316 |
msgid "%s checksum: %s"
|
4317 |
msgstr ""
|
4318 |
|
4319 |
+
#: src/class-updraftplus.php:1921
|
4320 |
msgid "Plugins"
|
4321 |
msgstr ""
|
4322 |
|
4323 |
+
#: src/class-updraftplus.php:1922
|
4324 |
msgid "Themes"
|
4325 |
msgstr ""
|
4326 |
|
4327 |
+
#: src/class-updraftplus.php:1938
|
4328 |
msgid "Others"
|
4329 |
msgstr ""
|
4330 |
|
4331 |
+
#: src/class-updraftplus.php:2172
|
4332 |
msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:"
|
4333 |
msgstr ""
|
4334 |
|
4335 |
+
#: src/class-updraftplus.php:2247
|
4336 |
msgid "The backup is being aborted for a repeated failure to progress."
|
4337 |
msgstr ""
|
4338 |
|
4339 |
+
#: src/class-updraftplus.php:2976
|
4340 |
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
4341 |
msgstr ""
|
4342 |
|
4343 |
+
#: src/class-updraftplus.php:3288, src/class-updraftplus.php:3380
|
4344 |
msgid "The backup was aborted by the user"
|
4345 |
msgstr ""
|
4346 |
|
4347 |
+
#: src/class-updraftplus.php:3295
|
4348 |
msgid "The backup apparently succeeded and is now complete"
|
4349 |
msgstr ""
|
4350 |
|
4351 |
+
#: src/class-updraftplus.php:3301
|
4352 |
msgid "The backup apparently succeeded (with warnings) and is now complete"
|
4353 |
msgstr ""
|
4354 |
|
4355 |
+
#: src/class-updraftplus.php:3307
|
4356 |
msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set."
|
4357 |
msgstr ""
|
4358 |
|
4359 |
+
#: src/class-updraftplus.php:3307
|
4360 |
msgid "Your clone will now deploy this data to re-create your site."
|
4361 |
msgstr ""
|
4362 |
|
4363 |
+
#: src/class-updraftplus.php:3318
|
4364 |
msgid "The backup attempt has finished, apparently unsuccessfully"
|
4365 |
msgstr ""
|
4366 |
|
4367 |
+
#: src/class-updraftplus.php:3322
|
4368 |
msgid "The backup has not finished; a resumption is scheduled"
|
4369 |
msgstr ""
|
4370 |
|
4371 |
+
#: src/class-updraftplus.php:3375
|
4372 |
msgid "Full backup"
|
4373 |
msgstr ""
|
4374 |
|
4375 |
+
#: src/class-updraftplus.php:3375
|
4376 |
msgid "Incremental"
|
4377 |
msgstr ""
|
4378 |
|
4379 |
+
#: src/class-updraftplus.php:3384
|
4380 |
msgid "Files (database backup has not completed)"
|
4381 |
msgstr ""
|
4382 |
|
4383 |
+
#: src/class-updraftplus.php:3384
|
4384 |
msgid "Files only (database was not part of this particular schedule)"
|
4385 |
msgstr ""
|
4386 |
|
4387 |
+
#: src/class-updraftplus.php:3387
|
4388 |
msgid "Database (files backup has not completed)"
|
4389 |
msgstr ""
|
4390 |
|
4391 |
+
#: src/class-updraftplus.php:3387
|
4392 |
msgid "Database only (files were not part of this particular schedule)"
|
4393 |
msgstr ""
|
4394 |
|
4395 |
+
#: src/class-updraftplus.php:3389
|
4396 |
msgid "Incomplete"
|
4397 |
msgstr ""
|
4398 |
|
4399 |
+
#: src/class-updraftplus.php:3392
|
4400 |
msgid "Unknown/unexpected error - please raise a support request"
|
4401 |
msgstr ""
|
4402 |
|
4403 |
+
#: src/class-updraftplus.php:3401
|
4404 |
msgid "Errors encountered:"
|
4405 |
msgstr ""
|
4406 |
|
4407 |
+
#: src/class-updraftplus.php:3419
|
4408 |
msgid "Warnings encountered:"
|
4409 |
msgstr ""
|
4410 |
|
4411 |
+
#: src/class-updraftplus.php:3434
|
4412 |
msgid "Backed up: %s"
|
4413 |
msgstr ""
|
4414 |
|
4415 |
+
#: src/class-updraftplus.php:3443
|
4416 |
msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news"
|
4417 |
msgstr ""
|
4418 |
|
4419 |
+
#: src/class-updraftplus.php:3443
|
4420 |
msgid "read more at %s"
|
4421 |
msgstr ""
|
4422 |
|
4423 |
+
#: src/class-updraftplus.php:3476
|
4424 |
msgid "WordPress backup is complete"
|
4425 |
msgstr ""
|
4426 |
|
4427 |
+
#: src/class-updraftplus.php:3477
|
4428 |
msgid "Backup contains:"
|
4429 |
msgstr ""
|
4430 |
|
4431 |
+
#: src/class-updraftplus.php:4008
|
4432 |
msgid "Could not read the directory"
|
4433 |
msgstr ""
|
4434 |
|
4435 |
+
#: src/class-updraftplus.php:4024
|
4436 |
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
4437 |
msgstr ""
|
4438 |
|
4439 |
+
#: src/class-updraftplus.php:4493, src/includes/class-updraftplus-encryption.php:336, src/restorer.php:1038
|
4440 |
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
4441 |
msgstr ""
|
4442 |
|
4443 |
+
#: src/class-updraftplus.php:4495
|
4444 |
msgid "Decryption failed. The database file is encrypted."
|
4445 |
msgstr ""
|
4446 |
|
4447 |
+
#: src/class-updraftplus.php:4505, src/includes/class-updraftplus-encryption.php:354, src/restorer.php:1051
|
4448 |
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
4449 |
msgstr ""
|
4450 |
|
4451 |
+
#: src/class-updraftplus.php:4512
|
4452 |
msgid "The database is too small to be a valid WordPress database (size: %s Kb)."
|
4453 |
msgstr ""
|
4454 |
|
4455 |
+
#: src/class-updraftplus.php:4520
|
4456 |
msgid "Failed to open database file."
|
4457 |
msgstr ""
|
4458 |
|
4459 |
+
#: src/class-updraftplus.php:4575
|
4460 |
msgid "(version: %s)"
|
4461 |
msgstr ""
|
4462 |
|
4463 |
+
#: src/class-updraftplus.php:4588
|
4464 |
msgid "The website address in the backup set (%s) is slightly different from that of the site now (%s). This is not expected to be a problem for restoring the site, as long as visits to the former address still reach the site."
|
4465 |
msgstr ""
|
4466 |
|
4467 |
+
#: src/class-updraftplus.php:4593
|
4468 |
msgid "This backup set is of this site, but at the time of the backup you were using %s, whereas the site now uses %s."
|
4469 |
msgstr ""
|
4470 |
|
4471 |
+
#: src/class-updraftplus.php:4595
|
4472 |
msgid "This restoration will work if you still have an SSL certificate (i.e. can use https) to access the site. Otherwise, you will want to use %s to search/replace the site address so that the site can be visited without https."
|
4473 |
msgstr ""
|
4474 |
|
4475 |
+
#: src/class-updraftplus.php:4595, src/class-updraftplus.php:4597
|
4476 |
msgid "the migrator add-on"
|
4477 |
msgstr ""
|
4478 |
|
4479 |
+
#: src/class-updraftplus.php:4597
|
4480 |
msgid "As long as your web hosting allows http (i.e. non-SSL access) or will forward requests to https (which is almost always the case), this is no problem. If that is not yet set up, then you should set it up, or use %s so that the non-https links are automatically replaced."
|
4481 |
msgstr ""
|
4482 |
|
4483 |
+
#: src/class-updraftplus.php:4606, src/class-updraftplus.php:4626
|
4484 |
msgid "This backup set is from a different site (%s) - this is not a restoration, but a migration. You need the Migrator add-on in order to make this work."
|
4485 |
msgstr ""
|
4486 |
|
4487 |
+
#: src/class-updraftplus.php:4609
|
4488 |
msgid "You can search and replace your database (for migrating a website to a new location/URL) with the Migrator add-on - follow this link for more information"
|
4489 |
msgstr ""
|
4490 |
|
4491 |
+
#: src/class-updraftplus.php:4614, src/restorer.php:1687
|
4492 |
msgid "You are using the %s webserver, but do not seem to have the %s module loaded."
|
4493 |
msgstr ""
|
4494 |
|
4495 |
+
#: src/class-updraftplus.php:4614, src/restorer.php:1687
|
4496 |
msgid "You should enable %s to make any pretty permalinks (e.g. %s) work"
|
4497 |
msgstr ""
|
4498 |
|
4499 |
+
#: src/class-updraftplus.php:4635, src/class-updraftplus.php:4642
|
4500 |
msgid "%s version: %s"
|
4501 |
msgstr ""
|
4502 |
|
4503 |
+
#: src/class-updraftplus.php:4636
|
4504 |
msgid "You are importing from a newer version of WordPress (%s) into an older one (%s). There are no guarantees that WordPress can handle this."
|
4505 |
msgstr ""
|
4506 |
|
4507 |
+
#: src/class-updraftplus.php:4643, src/class-updraftplus.php:4645
|
4508 |
msgid "The site in this backup was running on a webserver with version %s of %s. "
|
4509 |
msgstr ""
|
4510 |
|
4511 |
+
#: src/class-updraftplus.php:4643
|
4512 |
msgid "This is significantly newer than the server which you are now restoring onto (version %s)."
|
4513 |
msgstr ""
|
4514 |
|
4515 |
+
#: src/class-updraftplus.php:4643
|
4516 |
msgid "You should only proceed if you cannot update the current server and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the older %s version."
|
4517 |
msgstr ""
|
4518 |
|
4519 |
+
#: src/class-updraftplus.php:4643, src/class-updraftplus.php:4645
|
4520 |
msgid "Any support requests to do with %s should be raised with your web hosting company."
|
4521 |
msgstr ""
|
4522 |
|
4523 |
+
#: src/class-updraftplus.php:4645
|
4524 |
+
msgid "This is older than the server which you are now restoring onto (version %s)."
|
4525 |
+
msgstr ""
|
4526 |
+
|
4527 |
+
#: src/class-updraftplus.php:4645
|
4528 |
+
msgid "You should only proceed if you have checked and are confident (or willing to risk) that your plugins/themes/etc. are compatible with the new %s version."
|
4529 |
+
msgstr ""
|
4530 |
+
|
4531 |
+
#: src/class-updraftplus.php:4650, src/restorer.php:2175, src/restorer.php:2611, src/restorer.php:2730
|
4532 |
msgid "Old table prefix:"
|
4533 |
msgstr ""
|
4534 |
|
4535 |
+
#: src/class-updraftplus.php:4653
|
4536 |
msgid "Backup label:"
|
4537 |
msgstr ""
|
4538 |
|
4539 |
+
#: src/class-updraftplus.php:4661, src/class-updraftplus.php:4664, src/restorer.php:732
|
4540 |
msgid "You are running on WordPress multisite - but your backup is not of a multisite site."
|
4541 |
msgstr ""
|
4542 |
|
4543 |
+
#: src/class-updraftplus.php:4664
|
4544 |
msgid "It will be imported as a new site."
|
4545 |
msgstr ""
|
4546 |
|
4547 |
+
#: src/class-updraftplus.php:4664
|
4548 |
msgid "Please read this link for important information on this process."
|
4549 |
msgstr ""
|
4550 |
|
4551 |
+
#: src/class-updraftplus.php:4668, src/restorer.php:2622
|
4552 |
msgid "To import an ordinary WordPress site into a multisite installation requires %s."
|
4553 |
msgstr ""
|
4554 |
|
4555 |
+
#: src/class-updraftplus.php:4672
|
4556 |
msgid "Your backup is of a WordPress multisite install; but this site is not. Only the first site of the network will be accessible."
|
4557 |
msgstr ""
|
4558 |
|
4559 |
+
#: src/class-updraftplus.php:4672
|
4560 |
msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite."
|
4561 |
msgstr ""
|
4562 |
|
4563 |
+
#: src/class-updraftplus.php:4679, src/restorer.php:2628
|
4564 |
msgid "Site information:"
|
4565 |
msgstr ""
|
4566 |
|
4567 |
+
#: src/class-updraftplus.php:4742
|
4568 |
msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on."
|
4569 |
msgstr ""
|
4570 |
|
4571 |
+
#: src/class-updraftplus.php:4742
|
4572 |
msgid "You must upgrade MySQL to be able to use this database."
|
4573 |
msgstr ""
|
4574 |
|
4575 |
+
#: src/class-updraftplus.php:4765
|
4576 |
msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import."
|
4577 |
msgid_plural "The database server that this WordPress site is running on doesn't support the character sets (%s) which you are trying to import."
|
4578 |
msgstr[0] ""
|
4579 |
msgstr[1] ""
|
4580 |
|
4581 |
+
#: src/class-updraftplus.php:4765
|
4582 |
msgid "You can choose another suitable character set instead and continue with the restoration at your own risk."
|
4583 |
msgstr ""
|
4584 |
|
4585 |
+
#: src/class-updraftplus.php:4775
|
4586 |
msgid "Your chosen character set to use instead:"
|
4587 |
msgstr ""
|
4588 |
|
4589 |
+
#: src/class-updraftplus.php:4799
|
4590 |
msgid "The database server that this WordPress site is running on doesn't support the collation (%s) used in the database which you are trying to import."
|
4591 |
msgid_plural "The database server that this WordPress site is running on doesn't support multiple collations (%s) used in the database which you are trying to import."
|
4592 |
msgstr[0] ""
|
4593 |
msgstr[1] ""
|
4594 |
|
4595 |
+
#: src/class-updraftplus.php:4799
|
4596 |
msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)."
|
4597 |
msgstr ""
|
4598 |
|
4599 |
+
#: src/class-updraftplus.php:4822
|
4600 |
msgid "Your chosen replacement collation"
|
4601 |
msgstr ""
|
4602 |
|
4603 |
+
#: src/class-updraftplus.php:4845
|
4604 |
msgid "Choose a default for each table"
|
4605 |
msgstr ""
|
4606 |
|
4607 |
+
#: src/class-updraftplus.php:4898
|
4608 |
msgid "This database backup is missing core WordPress tables: %s"
|
4609 |
msgstr ""
|
4610 |
|
4611 |
+
#: src/class-updraftplus.php:4901
|
4612 |
msgid "This database backup has the following WordPress tables excluded: %s"
|
4613 |
msgstr ""
|
4614 |
|
4615 |
+
#: src/class-updraftplus.php:4906
|
4616 |
msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup."
|
4617 |
msgstr ""
|
4618 |
|
4619 |
+
#: src/class-updraftplus.php:4911
|
4620 |
+
msgid "If you do not want to restore all your tables, then choose some to exclude here."
|
4621 |
+
msgstr ""
|
4622 |
+
|
4623 |
+
#: src/includes/class-backup-history.php:131
|
4624 |
msgid "You have not yet made any backups."
|
4625 |
msgstr ""
|
4626 |
|
4627 |
+
#: src/includes/class-backup-history.php:682
|
4628 |
msgid "One or more backups has been added from scanning remote storage; note that these backups will not be automatically deleted through the \"retain\" settings; if/when you wish to delete them then you must do so manually."
|
4629 |
msgstr ""
|
4630 |
|
4631 |
+
#: src/includes/class-commands.php:408
|
4632 |
msgid "%s add-on not found"
|
4633 |
msgstr ""
|
4634 |
|
4635 |
+
#: src/includes/class-commands.php:796, src/methods/updraftvault.php:667, src/udaddons/options.php:219
|
4636 |
msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com"
|
4637 |
msgstr ""
|
4638 |
|
4639 |
+
#: src/includes/class-commands.php:898, src/includes/class-commands.php:948
|
4640 |
msgid "Available temporary clone tokens:"
|
4641 |
msgstr ""
|
4642 |
|
4643 |
+
#: src/includes/class-commands.php:899
|
4644 |
msgid "You can buy more temporary clone tokens here."
|
4645 |
msgstr ""
|
4646 |
|
4647 |
+
#: src/includes/class-commands.php:910
|
4648 |
msgid "Create clone"
|
4649 |
msgstr ""
|
4650 |
|
4651 |
+
#: src/includes/class-commands.php:917
|
4652 |
msgid "Current clones"
|
4653 |
msgstr ""
|
4654 |
|
4655 |
+
#: src/includes/class-commands.php:917
|
4656 |
msgid "manage"
|
4657 |
msgstr ""
|
4658 |
|
4659 |
+
#: src/includes/class-commands.php:960
|
4660 |
msgid "No backup will be started. The creation of your clone should now begin, and your WordPress username and password will be displayed below when ready."
|
4661 |
msgstr ""
|
4662 |
|
4663 |
+
#: src/includes/class-commands.php:960, src/includes/class-commands.php:962
|
4664 |
msgid "N.B. You will be charged one token once the clone is ready. If the clone fails to boot, then no token will be taken."
|
4665 |
msgstr ""
|
4666 |
|
4667 |
+
#: src/includes/class-commands.php:962
|
4668 |
msgid "The creation of your data for creating the clone should now begin."
|
4669 |
msgstr ""
|
4670 |
|
4671 |
+
#: src/includes/class-database-utility.php:566
|
4672 |
+
msgid "An error occurred while attempting to check the support of stored routines creation (%s %s)"
|
4673 |
+
msgstr ""
|
4674 |
+
|
4675 |
+
#: src/includes/class-database-utility.php:634
|
4676 |
+
msgid "An error occurred while attempting to retrieve routine status (%s %s)"
|
4677 |
+
msgstr ""
|
4678 |
+
|
4679 |
+
#: src/includes/class-database-utility.php:643
|
4680 |
+
msgid "An error occurred while attempting to retrieve the routine SQL/DDL statement (%s %s)"
|
4681 |
+
msgstr ""
|
4682 |
+
|
4683 |
#: src/includes/class-filesystem-functions.php:105, src/templates/wp-admin/advanced/site-info.php:38
|
4684 |
msgid "refresh"
|
4685 |
msgstr ""
|
4696 |
msgid "Web-server disk space in use by UpdraftPlus"
|
4697 |
msgstr ""
|
4698 |
|
4699 |
+
#: src/includes/class-filesystem-functions.php:285, src/methods/ftp.php:343
|
4700 |
msgid "Your web server's PHP installation has these functions disabled: %s."
|
4701 |
msgstr ""
|
4702 |
|
4703 |
+
#: src/includes/class-filesystem-functions.php:285, src/methods/ftp.php:343, src/restorer.php:2383
|
4704 |
msgid "Your hosting company must enable these functions before %s can work."
|
4705 |
msgstr ""
|
4706 |
|
4707 |
+
#: src/includes/class-filesystem-functions.php:285, src/restorer.php:2383
|
4708 |
msgid "restoration"
|
4709 |
msgstr ""
|
4710 |
|
5337 |
msgid "failed to list files"
|
5338 |
msgstr ""
|
5339 |
|
5340 |
+
#: src/methods/addon-base-v2.php:227
|
5341 |
msgid "This storage method does not allow downloading"
|
5342 |
msgstr ""
|
5343 |
|
5344 |
+
#: src/methods/addon-base-v2.php:244, src/methods/addon-base-v2.php:264
|
5345 |
msgid "Failed to download %s"
|
5346 |
msgstr ""
|
5347 |
|
5348 |
+
#: src/methods/addon-base-v2.php:258
|
5349 |
msgid "Failed to download"
|
5350 |
msgstr ""
|
5351 |
|
5352 |
+
#: src/methods/addon-base-v2.php:366, src/methods/stream-base.php:382
|
5353 |
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
5354 |
msgstr ""
|
5355 |
|
5393 |
msgid "Follow this link to remove these settings for %s."
|
5394 |
msgstr ""
|
5395 |
|
5396 |
+
#: src/methods/cloudfiles-new.php:96, src/methods/cloudfiles.php:443, src/methods/openstack-base.php:576, src/methods/s3.php:887
|
5397 |
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support."
|
5398 |
msgstr ""
|
5399 |
|
5400 |
+
#: src/methods/cloudfiles-new.php:96, src/methods/cloudfiles.php:443, src/methods/openstack-base.php:576, src/methods/s3.php:887
|
5401 |
msgid "UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative."
|
5402 |
msgstr ""
|
5403 |
|
5404 |
+
#: src/methods/cloudfiles-new.php:98, src/methods/cloudfiles.php:449
|
5405 |
msgid "Get your API key <a href=\"https://mycloud.rackspace.com/\" target=\"_blank\">from your Rackspace Cloud console</a> (<a href=\"http://www.rackspace.com/knowledge_center/article/rackspace-cloud-essentials-1-generating-your-api-key\" target=\"_blank\">read instructions here</a>), then pick a container name to use for storage. This container will be created for you if it does not already exist."
|
5406 |
msgstr ""
|
5407 |
|
5408 |
+
#: src/methods/cloudfiles-new.php:98, src/methods/cloudfiles.php:449, src/methods/openstack2.php:120
|
5409 |
msgid "Also, you should read this important FAQ."
|
5410 |
msgstr ""
|
5411 |
|
5425 |
msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use this add-on."
|
5426 |
msgstr ""
|
5427 |
|
5428 |
+
#: src/methods/cloudfiles-new.php:137, src/methods/cloudfiles.php:490
|
5429 |
msgid "Cloud Files API Key"
|
5430 |
msgstr ""
|
5431 |
|
5432 |
+
#: src/methods/cloudfiles-new.php:179, src/methods/cloudfiles.php:522, src/methods/s3.php:1155
|
5433 |
msgid "API key"
|
5434 |
msgstr ""
|
5435 |
|
5436 |
+
#: src/methods/cloudfiles.php:93, src/methods/cloudfiles.php:97, src/methods/cloudfiles.php:290, src/methods/cloudfiles.php:338, src/methods/cloudfiles.php:342
|
5437 |
msgid "authentication failed"
|
5438 |
msgstr ""
|
5439 |
|
5440 |
+
#: src/methods/cloudfiles.php:101, src/methods/cloudfiles.php:346, src/methods/cloudfiles.php:358
|
5441 |
msgid "error - failed to create and access the container"
|
5442 |
msgstr ""
|
5443 |
|
5449 |
msgid "error - failed to upload file"
|
5450 |
msgstr ""
|
5451 |
|
5452 |
+
#: src/methods/cloudfiles.php:238, src/methods/openstack-base.php:44, src/methods/openstack-base.php:357, src/methods/openstack-base.php:422, src/methods/openstack-base.php:495, src/methods/openstack-base.php:498, src/methods/openstack-base.php:516, src/methods/openstack-base.php:521
|
5453 |
msgid "%s authentication failed"
|
5454 |
msgstr ""
|
5455 |
|
5456 |
+
#: src/methods/cloudfiles.php:403, src/methods/openstack-base.php:460
|
5457 |
msgid "Error downloading remote file: Failed to download"
|
5458 |
msgstr ""
|
5459 |
|
5460 |
+
#: src/methods/cloudfiles.php:412
|
5461 |
msgid "Error - no such file exists."
|
5462 |
msgstr ""
|
5463 |
|
5464 |
+
#: src/methods/cloudfiles.php:466
|
5465 |
msgid "US or UK Cloud"
|
5466 |
msgstr ""
|
5467 |
|
5468 |
+
#: src/methods/cloudfiles.php:479
|
5469 |
msgid "Rackspace Storage Region"
|
5470 |
msgstr ""
|
5471 |
|
5472 |
+
#: src/methods/cloudfiles.php:486
|
5473 |
msgid "Cloud Files username"
|
5474 |
msgstr ""
|
5475 |
|
5476 |
+
#: src/methods/cloudfiles.php:498
|
5477 |
msgid "Cloud Files"
|
5478 |
msgstr ""
|
5479 |
|
5480 |
+
#: src/methods/cloudfiles.php:547, src/methods/openstack-base.php:477
|
5481 |
msgid "Failure: No container details were given."
|
5482 |
msgstr ""
|
5483 |
|
5484 |
+
#: src/methods/cloudfiles.php:574
|
5485 |
msgid "Cloud Files error - we accessed the container, but failed to create a file within it"
|
5486 |
msgstr ""
|
5487 |
|
5488 |
+
#: src/methods/cloudfiles.php:578, src/methods/openstack-base.php:535
|
5489 |
msgid "We accessed the container, and were able to create files within it."
|
5490 |
msgstr ""
|
5491 |
|
5513 |
msgid "did not return the expected response - check your log file for more details"
|
5514 |
msgstr ""
|
5515 |
|
5516 |
+
#: src/methods/dropbox.php:303, src/methods/dropbox.php:318
|
5517 |
msgid "failed to upload file to %s (see log file for more)"
|
5518 |
msgstr ""
|
5519 |
|
5520 |
+
#: src/methods/dropbox.php:373
|
5521 |
msgid "%s returned an unexpected HTTP response: %s"
|
5522 |
msgstr ""
|
5523 |
|
5524 |
+
#: src/methods/dropbox.php:443
|
5525 |
msgid "You do not appear to be authenticated with %s (whilst deleting)"
|
5526 |
msgstr ""
|
5527 |
|
5528 |
+
#: src/methods/dropbox.php:451
|
5529 |
msgid "Failed to access %s when deleting (see log file for more)"
|
5530 |
msgstr ""
|
5531 |
|
5532 |
+
#: src/methods/dropbox.php:485
|
5533 |
msgid "You do not appear to be authenticated with %s"
|
5534 |
msgstr ""
|
5535 |
|
5536 |
+
#: src/methods/dropbox.php:602, src/methods/dropbox.php:604
|
5537 |
msgid "Need to use sub-folders?"
|
5538 |
msgstr ""
|
5539 |
|
5540 |
+
#: src/methods/dropbox.php:602, src/methods/dropbox.php:604
|
5541 |
msgid "Backups are saved in"
|
5542 |
msgstr ""
|
5543 |
|
5544 |
+
#: src/methods/dropbox.php:602, src/methods/dropbox.php:604
|
5545 |
msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then "
|
5546 |
msgstr ""
|
5547 |
|
5548 |
+
#: src/methods/dropbox.php:602, src/methods/dropbox.php:604
|
5549 |
msgid "there's an add-on for that."
|
5550 |
msgstr ""
|
5551 |
|
5552 |
+
#: src/methods/dropbox.php:610
|
5553 |
msgid "Dropbox"
|
5554 |
msgstr ""
|
5555 |
|
5556 |
+
#: src/methods/dropbox.php:635
|
5557 |
msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked"
|
5558 |
msgstr ""
|
5559 |
|
5560 |
+
#: src/methods/dropbox.php:751, src/methods/dropbox.php:772
|
5561 |
msgid "%s authentication"
|
5562 |
msgstr ""
|
5563 |
|
5564 |
+
#: src/methods/dropbox.php:786
|
5565 |
msgid "%s de-authentication"
|
5566 |
msgstr ""
|
5567 |
|
5568 |
+
#: src/methods/dropbox.php:802, src/methods/dropbox.php:804
|
5569 |
msgid "Success:"
|
5570 |
msgstr ""
|
5571 |
|
5572 |
+
#: src/methods/dropbox.php:802, src/methods/dropbox.php:804
|
5573 |
msgid "you have authenticated your %s account"
|
5574 |
msgstr ""
|
5575 |
|
5576 |
+
#: src/methods/dropbox.php:807, src/methods/dropbox.php:829
|
5577 |
msgid "though part of the returned information was not as expected - your mileage may vary"
|
5578 |
msgstr ""
|
5579 |
|
5613 |
msgid "Reporting"
|
5614 |
msgstr ""
|
5615 |
|
5616 |
+
#: src/methods/ftp.php:121, src/methods/ftp.php:289
|
5617 |
msgid "login failure"
|
5618 |
msgstr ""
|
5619 |
|
5625 |
msgid "%s login failure"
|
5626 |
msgstr ""
|
5627 |
|
5628 |
+
#: src/methods/ftp.php:338
|
5629 |
msgid "regular non-encrypted FTP"
|
5630 |
msgstr ""
|
5631 |
|
5632 |
+
#: src/methods/ftp.php:339
|
5633 |
msgid "encrypted FTP (implicit encryption)"
|
5634 |
msgstr ""
|
5635 |
|
5636 |
+
#: src/methods/ftp.php:340
|
5637 |
msgid "encrypted FTP (explicit encryption)"
|
5638 |
msgstr ""
|
5639 |
|
5640 |
+
#: src/methods/ftp.php:349
|
5641 |
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
5642 |
msgstr ""
|
5643 |
|
5644 |
+
#: src/methods/ftp.php:370
|
5645 |
msgid "FTP server"
|
5646 |
msgstr ""
|
5647 |
|
5648 |
+
#: src/methods/ftp.php:375
|
5649 |
msgid "FTP login"
|
5650 |
msgstr ""
|
5651 |
|
5652 |
+
#: src/methods/ftp.php:380
|
5653 |
msgid "FTP password"
|
5654 |
msgstr ""
|
5655 |
|
5656 |
+
#: src/methods/ftp.php:385
|
5657 |
msgid "Remote path"
|
5658 |
msgstr ""
|
5659 |
|
5660 |
+
#: src/methods/ftp.php:386, src/methods/ftp.php:386
|
5661 |
msgid "Needs to already exist"
|
5662 |
msgstr ""
|
5663 |
|
5664 |
+
#: src/methods/ftp.php:390
|
5665 |
msgid "Passive mode"
|
5666 |
msgstr ""
|
5667 |
|
5668 |
+
#: src/methods/ftp.php:392, src/methods/ftp.php:392
|
5669 |
msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this."
|
5670 |
msgstr ""
|
5671 |
|
5672 |
+
#: src/methods/ftp.php:421
|
5673 |
msgid "Failure: No server details were given."
|
5674 |
msgstr ""
|
5675 |
|
5676 |
+
#: src/methods/ftp.php:425
|
5677 |
msgid "login"
|
5678 |
msgstr ""
|
5679 |
|
5680 |
+
#: src/methods/ftp.php:429, src/methods/openstack2.php:185
|
5681 |
msgid "password"
|
5682 |
msgstr ""
|
5683 |
|
5684 |
+
#: src/methods/ftp.php:439
|
5685 |
msgid "Failure: we did not successfully log in with those credentials."
|
5686 |
msgstr ""
|
5687 |
|
5688 |
+
#: src/methods/ftp.php:448
|
5689 |
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
5690 |
msgstr ""
|
5691 |
|
5692 |
+
#: src/methods/ftp.php:451
|
5693 |
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
5694 |
msgstr ""
|
5695 |
|
5696 |
+
#: src/methods/ftp.php:453
|
5697 |
msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again."
|
5698 |
msgstr ""
|
5699 |
|
5705 |
msgid "The client has been deleted from the Google Drive API console. Please create a new Google Drive project and reconnect with UpdraftPlus."
|
5706 |
msgstr ""
|
5707 |
|
5708 |
+
#: src/methods/googledrive.php:600, src/methods/googledrive.php:662, src/methods/googledrive.php:678, src/methods/googledrive.php:680, src/methods/stream-base.php:228
|
5709 |
msgid "Failed to upload to %s"
|
5710 |
msgstr ""
|
5711 |
|
5725 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
5726 |
msgstr ""
|
5727 |
|
5728 |
+
#: src/methods/googledrive.php:1329
|
5729 |
msgid "%s does not allow authorisation of sites hosted on direct IP addresses. You will need to change your site's address (%s) before you can use %s for storage."
|
5730 |
msgstr ""
|
5731 |
|
5732 |
+
#: src/methods/googledrive.php:1336
|
5733 |
msgid "Follow this link to your Google API Console, and there activate the Drive API and create a Client ID in the API Access section."
|
5734 |
msgstr ""
|
5735 |
|
5736 |
+
#: src/methods/googledrive.php:1336
|
5737 |
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
5738 |
msgstr ""
|
5739 |
|
5740 |
+
#: src/methods/googledrive.php:1336
|
5741 |
msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your project; you must create a new one from your Google API console for each site."
|
5742 |
msgstr ""
|
5743 |
|
5744 |
+
#: src/methods/googledrive.php:1382
|
5745 |
msgid "<strong>This is NOT a folder name</strong>."
|
5746 |
msgstr ""
|
5747 |
|
5748 |
+
#: src/methods/googledrive.php:1382
|
5749 |
msgid "It is an ID number internal to Google Drive"
|
5750 |
msgstr ""
|
5751 |
|
5752 |
+
#: src/methods/googledrive.php:1395
|
5753 |
msgid "To be able to set a custom folder name, use UpdraftPlus Premium."
|
5754 |
msgstr ""
|
5755 |
|
5756 |
+
#: src/methods/googledrive.php:1402
|
5757 |
msgid "Authenticate with Google"
|
5758 |
msgstr ""
|
5759 |
|
5760 |
+
#: src/methods/googledrive.php:1412
|
5761 |
msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings."
|
5762 |
msgstr ""
|
5763 |
|
5764 |
+
#: src/methods/openstack-base.php:48, src/methods/openstack-base.php:122, src/methods/openstack-base.php:129, src/methods/openstack-base.php:361, src/methods/openstack-base.php:426
|
5765 |
msgid "%s error - failed to access the container"
|
5766 |
msgstr ""
|
5767 |
|
5768 |
+
#: src/methods/openstack-base.php:56, src/methods/openstack-base.php:369, src/methods/openstack-base.php:438
|
5769 |
msgid "Could not access %s container"
|
5770 |
msgstr ""
|
5771 |
|
5773 |
msgid "%s error - failed to upload file"
|
5774 |
msgstr ""
|
5775 |
|
5776 |
+
#: src/methods/openstack-base.php:446
|
5777 |
msgid "The %s object was not found"
|
5778 |
msgstr ""
|
5779 |
|
5780 |
+
#: src/methods/openstack-base.php:530
|
5781 |
msgid "%s error - we accessed the container, but failed to create a file within it"
|
5782 |
msgstr ""
|
5783 |
|
5784 |
+
#: src/methods/openstack-base.php:531, src/methods/openstack-base.php:536
|
5785 |
msgid "Region: %s"
|
5786 |
msgstr ""
|
5787 |
|
5851 |
msgid "%s re-assembly error (%s): (see log file for more)"
|
5852 |
msgstr ""
|
5853 |
|
5854 |
+
#: src/methods/s3.php:495, src/methods/s3.php:699, src/methods/s3.php:803
|
5855 |
msgid "Error: Failed to access bucket %s. Check your permissions and credentials."
|
5856 |
msgstr ""
|
5857 |
|
5859 |
msgid "%s Error: Failed to access bucket %s. Check your permissions and credentials."
|
5860 |
msgstr ""
|
5861 |
|
5862 |
+
#: src/methods/s3.php:784, src/methods/s3.php:828
|
5863 |
msgid "Error: Failed to download %s. Check your permissions and credentials."
|
5864 |
msgstr ""
|
5865 |
|
5866 |
+
#: src/methods/s3.php:796
|
5867 |
msgid "%s Error: Failed to download %s. Check your permissions and credentials."
|
5868 |
msgstr ""
|
5869 |
|
5870 |
+
#: src/methods/s3.php:874
|
5871 |
msgid "... and many more!"
|
5872 |
msgstr ""
|
5873 |
|
5874 |
+
#: src/methods/s3.php:883
|
5875 |
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support and ask for them to enable it."
|
5876 |
msgstr ""
|
5877 |
|
5878 |
+
#: src/methods/s3.php:893
|
5879 |
msgid "Get your access key and secret key from your <a href=\"%s\">%s console</a>, then pick a (globally unique - all %s users) bucket name (letters and numbers) (and optionally a path) to use for storage. This bucket will be created for you if it does not already exist."
|
5880 |
msgstr ""
|
5881 |
|
5882 |
+
#: src/methods/s3.php:895
|
5883 |
msgid "If you see errors about SSL certificates, then please go here for help."
|
5884 |
msgstr ""
|
5885 |
|
5886 |
+
#: src/methods/s3.php:897
|
5887 |
msgid "Other %s FAQs."
|
5888 |
msgstr ""
|
5889 |
|
5890 |
+
#: src/methods/s3.php:947
|
5891 |
msgid "To create a new IAM sub-user and access key that has access only to this bucket, use this add-on."
|
5892 |
msgstr ""
|
5893 |
|
5894 |
+
#: src/methods/s3.php:956
|
5895 |
msgid "%s access key"
|
5896 |
msgstr ""
|
5897 |
|
5898 |
+
#: src/methods/s3.php:960
|
5899 |
msgid "%s secret key"
|
5900 |
msgstr ""
|
5901 |
|
5902 |
+
#: src/methods/s3.php:964
|
5903 |
msgid "%s location"
|
5904 |
msgstr ""
|
5905 |
|
5906 |
+
#: src/methods/s3.php:965
|
5907 |
msgid "Enter only a bucket name or a bucket and path. Examples: mybucket, mybucket/mypath"
|
5908 |
msgstr ""
|
5909 |
|
5910 |
+
#: src/methods/s3.php:1159
|
5911 |
msgid "API secret"
|
5912 |
msgstr ""
|
5913 |
|
5914 |
+
#: src/methods/s3.php:1210
|
5915 |
msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")"
|
5916 |
msgstr ""
|
5917 |
|
5918 |
+
#: src/methods/s3.php:1224
|
5919 |
msgid "The communication with %s was encrypted."
|
5920 |
msgstr ""
|
5921 |
|
5922 |
+
#: src/methods/s3.php:1226
|
5923 |
msgid "The communication with %s was not encrypted."
|
5924 |
msgstr ""
|
5925 |
|
5926 |
+
#: src/methods/s3.php:1231
|
5927 |
msgid "Please check your access credentials."
|
5928 |
msgstr ""
|
5929 |
|
5931 |
msgid "S3 (Compatible)"
|
5932 |
msgstr ""
|
5933 |
|
5934 |
+
#: src/methods/stream-base.php:134, src/methods/stream-base.php:138
|
5935 |
msgid "Chunk %s: A %s error occurred"
|
5936 |
msgstr ""
|
5937 |
|
5938 |
+
#: src/methods/stream-base.php:311
|
5939 |
msgid "Error opening remote file: Failed to download"
|
5940 |
msgstr ""
|
5941 |
|
5942 |
+
#: src/methods/stream-base.php:327
|
5943 |
msgid "Download chunk size failed to change to %d"
|
5944 |
msgstr ""
|
5945 |
|
5946 |
+
#: src/methods/stream-base.php:330
|
5947 |
msgid "Download chunk size successfully changed to %d"
|
5948 |
msgstr ""
|
5949 |
|
5950 |
+
#: src/methods/stream-base.php:342
|
5951 |
msgid "Local write failed: Failed to download"
|
5952 |
msgstr ""
|
5953 |
|
6171 |
msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)."
|
6172 |
msgstr ""
|
6173 |
|
6174 |
+
#: src/restorer.php:253
|
6175 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)."
|
6176 |
msgstr ""
|
6177 |
|
6178 |
+
#: src/restorer.php:381
|
6179 |
msgid "Skipping restoration of WordPress core when importing a single site into a multisite installation. If you had anything necessary in your WordPress directory then you will need to re-add it manually from the zip file."
|
6180 |
msgstr ""
|
6181 |
|
6182 |
+
#: src/restorer.php:392
|
6183 |
msgid "Looking for %s archive: file name: %s"
|
6184 |
msgstr ""
|
6185 |
|
6186 |
+
#: src/restorer.php:395
|
6187 |
msgid "Skipping: this archive was already restored."
|
6188 |
msgstr ""
|
6189 |
|
6190 |
+
#: src/restorer.php:407
|
6191 |
msgid "Archive is expected to be size:"
|
6192 |
msgstr ""
|
6193 |
|
6194 |
+
#: src/restorer.php:412
|
6195 |
msgid "file is size:"
|
6196 |
msgstr ""
|
6197 |
|
6198 |
+
#: src/restorer.php:415
|
6199 |
msgid "The backup records do not contain information about the proper size of this file."
|
6200 |
msgstr ""
|
6201 |
|
6202 |
+
#: src/restorer.php:418, src/restorer.php:419
|
6203 |
msgid "Could not find one of the files for restoration"
|
6204 |
msgstr ""
|
6205 |
|
6206 |
+
#: src/restorer.php:508
|
6207 |
msgid "Final checks"
|
6208 |
msgstr ""
|
6209 |
|
6210 |
+
#: src/restorer.php:601
|
6211 |
msgid "Error message"
|
6212 |
msgstr ""
|
6213 |
|
6214 |
+
#: src/restorer.php:717
|
6215 |
msgid "UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually."
|
6216 |
msgstr ""
|
6217 |
|
6218 |
+
#: src/restorer.php:718
|
6219 |
msgid "Backup file not available."
|
6220 |
msgstr ""
|
6221 |
|
6222 |
+
#: src/restorer.php:719
|
6223 |
msgid "Copying this entity failed."
|
6224 |
msgstr ""
|
6225 |
|
6226 |
+
#: src/restorer.php:720
|
6227 |
msgid "Unpacking backup..."
|
6228 |
msgstr ""
|
6229 |
|
6230 |
+
#: src/restorer.php:721
|
6231 |
msgid "Decrypting database (can take a while)..."
|
6232 |
msgstr ""
|
6233 |
|
6234 |
+
#: src/restorer.php:722
|
6235 |
msgid "Database successfully decrypted."
|
6236 |
msgstr ""
|
6237 |
|
6238 |
+
#: src/restorer.php:723
|
6239 |
msgid "Moving old data out of the way..."
|
6240 |
msgstr ""
|
6241 |
|
6242 |
+
#: src/restorer.php:724
|
6243 |
msgid "Moving unpacked backup into place..."
|
6244 |
msgstr ""
|
6245 |
|
6246 |
+
#: src/restorer.php:725
|
6247 |
msgid "Restoring the database (on a large site this can take a long time - if it times out (which can happen if your web hosting company has configured your hosting to limit resources) then you should use a different method, such as phpMyAdmin)..."
|
6248 |
msgstr ""
|
6249 |
|
6250 |
+
#: src/restorer.php:726
|
6251 |
msgid "Cleaning up rubbish..."
|
6252 |
msgstr ""
|
6253 |
|
6254 |
+
#: src/restorer.php:727
|
6255 |
msgid "Could not move old files out of the way."
|
6256 |
msgstr ""
|
6257 |
|
6258 |
+
#: src/restorer.php:727
|
6259 |
msgid "You should check the file ownerships and permissions in your WordPress installation"
|
6260 |
msgstr ""
|
6261 |
|
6262 |
+
#: src/restorer.php:728
|
6263 |
msgid "Could not delete old path."
|
6264 |
msgstr ""
|
6265 |
|
6266 |
+
#: src/restorer.php:729
|
6267 |
msgid "Could not move new files into place. Check your wp-content/upgrade folder."
|
6268 |
msgstr ""
|
6269 |
|
6270 |
+
#: src/restorer.php:730
|
6271 |
msgid "Could not move the files into place. Check your file permissions."
|
6272 |
msgstr ""
|
6273 |
|
6274 |
+
#: src/restorer.php:731
|
6275 |
msgid "Failed to delete working directory after restoring."
|
6276 |
msgstr ""
|
6277 |
|
6278 |
+
#: src/restorer.php:733
|
6279 |
msgid "Failed to unpack the archive"
|
6280 |
msgstr ""
|
6281 |
|
6282 |
+
#: src/restorer.php:734
|
6283 |
msgid "Failed to read the manifest file from backup."
|
6284 |
msgstr ""
|
6285 |
|
6286 |
+
#: src/restorer.php:735
|
6287 |
msgid "Failed to find a manifest file in the backup."
|
6288 |
msgstr ""
|
6289 |
|
6290 |
+
#: src/restorer.php:736
|
6291 |
msgid "Failed to read from the working directory."
|
6292 |
msgstr ""
|
6293 |
|
6294 |
+
#: src/restorer.php:1030
|
6295 |
msgid "Failed to create a temporary directory"
|
6296 |
msgstr ""
|
6297 |
|
6298 |
+
#: src/restorer.php:1046
|
6299 |
msgid "Failed to write out the decrypted database to the filesystem"
|
6300 |
msgstr ""
|
6301 |
|
6302 |
+
#: src/restorer.php:1127
|
6303 |
msgid "The directory does not exist, and the attempt to create it failed"
|
6304 |
msgstr ""
|
6305 |
|
6306 |
+
#: src/restorer.php:1130
|
6307 |
msgid "The directory does not exist"
|
6308 |
msgstr ""
|
6309 |
|
6310 |
+
#: src/restorer.php:1171
|
6311 |
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
6312 |
msgstr ""
|
6313 |
|
6314 |
+
#: src/restorer.php:1178
|
6315 |
msgid "wp-config.php from backup: restoring (as per user's request)"
|
6316 |
msgstr ""
|
6317 |
|
6318 |
+
#: src/restorer.php:1363, src/restorer.php:1371
|
6319 |
msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)"
|
6320 |
msgstr ""
|
6321 |
|
6322 |
+
#: src/restorer.php:1371
|
6323 |
msgid "file"
|
6324 |
msgstr ""
|
6325 |
|
6326 |
+
#: src/restorer.php:1387
|
6327 |
msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete Old Directories\" button to delete them before trying again): %s"
|
6328 |
msgstr ""
|
6329 |
|
6330 |
+
#: src/restorer.php:1395
|
6331 |
msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup"
|
6332 |
msgstr ""
|
6333 |
|
6334 |
+
#: src/restorer.php:1500, src/restorer.php:1548
|
6335 |
msgid "The WordPress content folder (wp-content) was not found in this zip file."
|
6336 |
msgstr ""
|
6337 |
|
6338 |
+
#: src/restorer.php:1641
|
6339 |
msgid "Files found:"
|
6340 |
msgstr ""
|
6341 |
|
6342 |
+
#: src/restorer.php:2064
|
6343 |
msgid "Please supply the requested information, and then continue."
|
6344 |
msgstr ""
|
6345 |
|
6346 |
+
#: src/restorer.php:2134
|
6347 |
+
msgid "An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s"
|
6348 |
+
msgstr ""
|
6349 |
+
|
6350 |
+
#: src/restorer.php:2141
|
6351 |
+
msgid "An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s"
|
6352 |
+
msgstr ""
|
6353 |
+
|
6354 |
+
#: src/restorer.php:2224
|
6355 |
+
msgid "Requested table engine (%s) is not present - changing to MyISAM."
|
6356 |
+
msgstr ""
|
6357 |
+
|
6358 |
+
#: src/restorer.php:2238
|
6359 |
+
msgid "Requested table character set (%s) is not present - changing to %s."
|
6360 |
+
msgstr ""
|
6361 |
+
|
6362 |
+
#: src/restorer.php:2254
|
6363 |
+
msgid "Found and replaced existing table foreign key constraints as the table prefix has changed."
|
6364 |
+
msgstr ""
|
6365 |
+
|
6366 |
+
#: src/restorer.php:2297
|
6367 |
+
msgid "Requested table collation (%1$s) is not present - changing to %2$s."
|
6368 |
+
msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s."
|
6369 |
+
msgstr[0] ""
|
6370 |
+
msgstr[1] ""
|
6371 |
+
|
6372 |
+
#: src/restorer.php:2299
|
6373 |
+
msgid "Processing table (%s)"
|
6374 |
+
msgstr ""
|
6375 |
+
|
6376 |
+
#: src/restorer.php:2303
|
6377 |
+
msgid "will restore as:"
|
6378 |
+
msgstr ""
|
6379 |
+
|
6380 |
+
#: src/restorer.php:2345
|
6381 |
msgid "Warning: PHP safe_mode is active on your server. Timeouts are much more likely. If these happen, then you will need to manually restore the file via phpMyAdmin or another method."
|
6382 |
msgstr ""
|
6383 |
|
6384 |
+
#: src/restorer.php:2368
|
6385 |
msgid "Failed to find database file"
|
6386 |
msgstr ""
|
6387 |
|
6388 |
+
#: src/restorer.php:2389
|
6389 |
msgid "Failed to open database file"
|
6390 |
msgstr ""
|
6391 |
|
6392 |
+
#: src/restorer.php:2485, src/restorer.php:2527
|
6393 |
msgid "Your database user does not have permission to drop tables"
|
6394 |
msgstr ""
|
6395 |
|
6396 |
+
#: src/restorer.php:2488
|
6397 |
msgid "Your database user does not have permission to create tables. We will attempt to restore by simply emptying the tables; this should work as long as a) you are restoring from a WordPress version with the same database structure, and b) Your imported database does not contain any tables which are not already present on the importing site."
|
6398 |
msgstr ""
|
6399 |
|
6400 |
+
#: src/restorer.php:2532
|
6401 |
msgid "Your database user does not have permission to drop tables. We will attempt to restore by simply emptying the tables; this should work as long as you are restoring from a WordPress version with the same database structure (%s)"
|
6402 |
msgstr ""
|
6403 |
|
6404 |
+
#: src/restorer.php:2581
|
6405 |
msgid "Backup of: %s"
|
6406 |
msgstr ""
|
6407 |
|
6408 |
+
#: src/restorer.php:2588
|
6409 |
msgid "Backup created by:"
|
6410 |
msgstr ""
|
6411 |
|
6412 |
+
#: src/restorer.php:2593
|
6413 |
msgid "Site home:"
|
6414 |
msgstr ""
|
6415 |
|
6416 |
+
#: src/restorer.php:2599
|
6417 |
msgid "Content URL:"
|
6418 |
msgstr ""
|
6419 |
|
6420 |
+
#: src/restorer.php:2604
|
6421 |
msgid "Uploads URL:"
|
6422 |
msgstr ""
|
6423 |
|
6424 |
+
#: src/restorer.php:2614
|
6425 |
msgid "Skipped tables:"
|
6426 |
msgstr ""
|
6427 |
|
6428 |
+
#: src/restorer.php:2673
|
6429 |
msgid "Split line to avoid exceeding maximum packet size"
|
6430 |
msgstr ""
|
6431 |
|
6432 |
+
#: src/restorer.php:2704, src/restorer.php:3123, src/restorer.php:3190, src/restorer.php:3207
|
6433 |
msgid "An error occurred on the first %s command - aborting run"
|
6434 |
msgstr ""
|
6435 |
|
6436 |
+
#: src/restorer.php:2796
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6437 |
msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()."
|
6438 |
msgstr ""
|
6439 |
|
6440 |
+
#: src/restorer.php:2802
|
6441 |
msgid "Requested character set (%s) is not present - changing to %s."
|
6442 |
msgstr ""
|
6443 |
|
6444 |
+
#: src/restorer.php:2910
|
6445 |
+
msgid "Skipping table %s: user has chosen not to restore this table"
|
6446 |
msgstr ""
|
6447 |
|
6448 |
+
#: src/restorer.php:2913
|
6449 |
+
msgid "Skipping table %s: already restored on a prior run; next table to restore: %s"
|
6450 |
+
msgstr ""
|
6451 |
+
|
6452 |
+
#: src/restorer.php:3018
|
6453 |
msgid "An SQL line that is larger than the maximum packet size and cannot be split was found; this line will not be processed, but will be dropped: %s"
|
6454 |
msgstr ""
|
6455 |
|
6456 |
+
#: src/restorer.php:3160
|
6457 |
msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred"
|
6458 |
msgid "An error (%s) occurred:"
|
6459 |
msgstr ""
|
6460 |
|
6461 |
+
#: src/restorer.php:3178
|
6462 |
msgid "The Database connection has been closed and cannot be reopened."
|
6463 |
msgstr ""
|
6464 |
|
6465 |
+
#: src/restorer.php:3205
|
6466 |
msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database."
|
6467 |
msgstr ""
|
6468 |
|
6469 |
+
#: src/restorer.php:3205
|
6470 |
msgid "This database needs to be deployed on MySQL version %s or later."
|
6471 |
msgstr ""
|
6472 |
|
6473 |
+
#: src/restorer.php:3207
|
6474 |
msgid "To use this backup, your database server needs to support the %s character set."
|
6475 |
msgstr ""
|
6476 |
|
6477 |
+
#: src/restorer.php:3212
|
6478 |
msgid "Too many database errors have occurred - aborting"
|
6479 |
msgstr ""
|
6480 |
|
6481 |
+
#: src/restorer.php:3342, src/restorer.php:3432
|
6482 |
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
6483 |
msgstr ""
|
6484 |
|
6846 |
msgid "You will need to restore it manually."
|
6847 |
msgstr ""
|
6848 |
|
6849 |
+
#: src/templates/wp-admin/settings/downloading-and-restoring.php:21, src/templates/wp-admin/settings/tab-backups.php:21, src/templates/wp-admin/settings/tab-backups.php:44
|
6850 |
+
msgid "Existing Backups"
|
6851 |
+
msgstr ""
|
6852 |
+
|
6853 |
#: src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27
|
6854 |
msgid "Your WordPress installation has a problem with outputting extra whitespace. This can corrupt backups that you download from here."
|
6855 |
msgstr ""
|
6942 |
msgid "Add an exclusion rule"
|
6943 |
msgstr ""
|
6944 |
|
6945 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:17, src/templates/wp-admin/settings/existing-backups-table.php:68
|
6946 |
msgid "Backup date"
|
6947 |
msgstr ""
|
6948 |
|
6949 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:18, src/templates/wp-admin/settings/existing-backups-table.php:101
|
6950 |
msgid "Backup data (click to download)"
|
6951 |
msgstr ""
|
6952 |
|
6953 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:91
|
6954 |
msgid "remote site"
|
6955 |
msgstr ""
|
6956 |
|
6957 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:93
|
6958 |
msgid "Remote storage: %s"
|
6959 |
msgstr ""
|
6960 |
|
6961 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:159
|
6962 |
+
msgid "Show more backups..."
|
6963 |
+
msgstr ""
|
6964 |
+
|
6965 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:159
|
6966 |
+
msgid "Show all backups..."
|
6967 |
+
msgstr ""
|
6968 |
+
|
6969 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:167
|
6970 |
msgid "Actions upon selected backups"
|
6971 |
msgstr ""
|
6972 |
|
6973 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:168
|
6974 |
msgid "Delete selected backups"
|
6975 |
msgstr ""
|
6976 |
|
6977 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:169
|
6978 |
msgid "Select all backups"
|
6979 |
msgstr ""
|
6980 |
|
6981 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:169
|
6982 |
msgid "Select all"
|
6983 |
msgstr ""
|
6984 |
|
6985 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:170
|
6986 |
msgid "Deselect all backups"
|
6987 |
msgstr ""
|
6988 |
|
6989 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:170
|
6990 |
msgid "Deselect"
|
6991 |
msgstr ""
|
6992 |
|
6993 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:171
|
6994 |
msgid "Use ctrl / cmd + press to select several items, or ctrl / cmd + shift + press to select all in between"
|
6995 |
msgstr ""
|
6996 |
|
6997 |
+
#: src/templates/wp-admin/settings/existing-backups-table.php:174
|
6998 |
msgid "Please allow time for the communications with the remote storage to complete."
|
6999 |
msgstr ""
|
7000 |
|
7168 |
msgstr ""
|
7169 |
|
7170 |
#: src/templates/wp-admin/settings/form-contents.php:294
|
7171 |
+
msgid "open this to show some further options; don't bother with this unless you have a problem or are curious."
|
7172 |
msgstr ""
|
7173 |
|
7174 |
#: src/templates/wp-admin/settings/form-contents.php:304
|
@@ -198,11 +198,12 @@ abstract class UpdraftPlus_RemoteStorage_Addons_Base_v2 extends UpdraftPlus_Back
|
|
198 |
foreach ($files as $file) {
|
199 |
$this->log("Delete remote: $file");
|
200 |
try {
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
} else {
|
205 |
$this->log("$file: Delete succeeded");
|
|
|
|
|
206 |
}
|
207 |
} catch (Exception $e) {
|
208 |
$this->log('ERROR: '.$file.': Failed to delete file: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')');
|
198 |
foreach ($files as $file) {
|
199 |
$this->log("Delete remote: $file");
|
200 |
try {
|
201 |
+
$ret = $this->do_delete($file);
|
202 |
+
|
203 |
+
if (true === $ret) {
|
|
|
204 |
$this->log("$file: Delete succeeded");
|
205 |
+
} else {
|
206 |
+
$this->log("Delete failed");
|
207 |
}
|
208 |
} catch (Exception $e) {
|
209 |
$this->log('ERROR: '.$file.': Failed to delete file: '.$e->getMessage().' (code: '.$e->getCode().', line: '.$e->getLine().', file: '.$e->getFile().')');
|
@@ -645,7 +645,7 @@ abstract class UpdraftPlus_BackupModule {
|
|
645 |
|
646 |
$prefix = $this->get_storage_label();
|
647 |
|
648 |
-
$updraftplus->log("$prefix: $line", $level, $uniq_id
|
649 |
}
|
650 |
|
651 |
/**
|
645 |
|
646 |
$prefix = $this->get_storage_label();
|
647 |
|
648 |
+
$updraftplus->log("$prefix: $line", $level, $uniq_id, $skip_dblog);
|
649 |
}
|
650 |
|
651 |
/**
|
@@ -263,7 +263,15 @@ class UpdraftPlus_BackupModule_cloudfiles_oldsdk extends UpdraftPlus_BackupModul
|
|
263 |
return $results;
|
264 |
|
265 |
}
|
266 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
public function delete($files, $cloudfilesarr = false, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
268 |
|
269 |
if (is_string($files)) $files =array($files);
|
@@ -280,7 +288,7 @@ class UpdraftPlus_BackupModule_cloudfiles_oldsdk extends UpdraftPlus_BackupModul
|
|
280 |
} catch (Exception $e) {
|
281 |
$this->log('authentication failed ('.$e->getMessage().')');
|
282 |
$this->log(__('authentication failed', 'updraftplus').' ('.$e->getMessage().')', 'error');
|
283 |
-
return
|
284 |
}
|
285 |
}
|
286 |
|
@@ -310,7 +318,7 @@ class UpdraftPlus_BackupModule_cloudfiles_oldsdk extends UpdraftPlus_BackupModul
|
|
310 |
$this->log('Deleted: '.$fpath);
|
311 |
} catch (Exception $e) {
|
312 |
$this->log('delete failed: '.$e->getMessage());
|
313 |
-
$ret =
|
314 |
}
|
315 |
}
|
316 |
return $ret;
|
263 |
return $results;
|
264 |
|
265 |
}
|
266 |
+
|
267 |
+
/**
|
268 |
+
* Delete a single file from the service using the CloudFiles API
|
269 |
+
*
|
270 |
+
* @param Array $files - array of file paths to delete
|
271 |
+
* @param Array $cloudfilesarr - CloudFiles container and object details
|
272 |
+
* @param Array $sizeinfo - unused here
|
273 |
+
* @return Boolean|String - either a boolean true or an error code string
|
274 |
+
*/
|
275 |
public function delete($files, $cloudfilesarr = false, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
276 |
|
277 |
if (is_string($files)) $files =array($files);
|
288 |
} catch (Exception $e) {
|
289 |
$this->log('authentication failed ('.$e->getMessage().')');
|
290 |
$this->log(__('authentication failed', 'updraftplus').' ('.$e->getMessage().')', 'error');
|
291 |
+
return 'authentication_fail';
|
292 |
}
|
293 |
}
|
294 |
|
318 |
$this->log('Deleted: '.$fpath);
|
319 |
} catch (Exception $e) {
|
320 |
$this->log('delete failed: '.$e->getMessage());
|
321 |
+
$ret = 'file_delete_error';
|
322 |
}
|
323 |
}
|
324 |
return $ret;
|
@@ -250,13 +250,13 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
250 |
$filesize = $filesize/1024;
|
251 |
$microtime = microtime(true);
|
252 |
|
253 |
-
if ($upload_id = $this->jobdata_get('upload_id_'.$hash,
|
254 |
// Resume
|
255 |
-
$offset = $this->jobdata_get('upload_offset_'.$hash,
|
256 |
-
$this->log("This is a resumption: $offset bytes had already been uploaded");
|
257 |
} else {
|
258 |
$offset = 0;
|
259 |
-
$upload_id =
|
260 |
}
|
261 |
|
262 |
// We don't actually abort now - there's no harm in letting it try and then fail
|
@@ -291,6 +291,7 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
291 |
$dropbox_wanted = (int) $matches[2];
|
292 |
$this->log("not yet aligned: tried=$we_tried, wanted=$dropbox_wanted; will attempt recovery");
|
293 |
$this->uploaded_offset = $dropbox_wanted;
|
|
|
294 |
try {
|
295 |
$dropbox->chunkedUpload($updraft_dir.'/'.$file, '', $ufile, true, $dropbox_wanted, $upload_id, array($this, 'chunked_callback'));
|
296 |
} catch (Exception $e) {
|
@@ -423,6 +424,14 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
423 |
return apply_filters('updraftplus_dropbox_defaults', array('Z3Q3ZmkwbnplNHA0Zzlx', 'bTY0bm9iNmY4eWhjODRt'));
|
424 |
}
|
425 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
426 |
public function delete($files, $data = null, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
427 |
|
428 |
if (is_string($files)) $files = array($files);
|
@@ -432,7 +441,7 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
432 |
if (empty($opts['tk_access_token'])) {
|
433 |
$this->log('You do not appear to be authenticated with Dropbox (3)');
|
434 |
$this->log(sprintf(__('You do not appear to be authenticated with %s (whilst deleting)', 'updraftplus'), 'Dropbox'), 'warning');
|
435 |
-
return
|
436 |
}
|
437 |
|
438 |
try {
|
@@ -440,7 +449,7 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
440 |
} catch (Exception $e) {
|
441 |
$this->log($e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
442 |
$this->log(sprintf(__('Failed to access %s when deleting (see log file for more)', 'updraftplus'), 'Dropbox'), 'warning');
|
443 |
-
return
|
444 |
}
|
445 |
if (false === $dropbox) return false;
|
446 |
|
@@ -457,8 +466,9 @@ class UpdraftPlus_BackupModule_dropbox extends UpdraftPlus_BackupModule {
|
|
457 |
|
458 |
if (isset($file_success)) {
|
459 |
$this->log('delete succeeded');
|
|
|
460 |
} else {
|
461 |
-
return
|
462 |
}
|
463 |
}
|
464 |
|
250 |
$filesize = $filesize/1024;
|
251 |
$microtime = microtime(true);
|
252 |
|
253 |
+
if ('None' != ($upload_id = $this->jobdata_get('upload_id_'.$hash, 'None', 'updraf_dbid_'.$hash))) {
|
254 |
// Resume
|
255 |
+
$offset = $this->jobdata_get('upload_offset_'.$hash, 0, 'updraf_dbof_'.$hash);
|
256 |
+
if ($offset) $this->log("This is a resumption: $offset bytes had already been uploaded");
|
257 |
} else {
|
258 |
$offset = 0;
|
259 |
+
$upload_id = 'None';
|
260 |
}
|
261 |
|
262 |
// We don't actually abort now - there's no harm in letting it try and then fail
|
291 |
$dropbox_wanted = (int) $matches[2];
|
292 |
$this->log("not yet aligned: tried=$we_tried, wanted=$dropbox_wanted; will attempt recovery");
|
293 |
$this->uploaded_offset = $dropbox_wanted;
|
294 |
+
$upload_id = $this->jobdata_get('upload_id_'.$hash, 'None', 'updraf_dbid_'.$hash);
|
295 |
try {
|
296 |
$dropbox->chunkedUpload($updraft_dir.'/'.$file, '', $ufile, true, $dropbox_wanted, $upload_id, array($this, 'chunked_callback'));
|
297 |
} catch (Exception $e) {
|
424 |
return apply_filters('updraftplus_dropbox_defaults', array('Z3Q3ZmkwbnplNHA0Zzlx', 'bTY0bm9iNmY4eWhjODRt'));
|
425 |
}
|
426 |
|
427 |
+
/**
|
428 |
+
* Delete a single file from the service using the Dropbox API
|
429 |
+
*
|
430 |
+
* @param Array $files - array of filenames to delete
|
431 |
+
* @param Array $data - unused here
|
432 |
+
* @param Array $sizeinfo - unused here
|
433 |
+
* @return Boolean|String - either a boolean true or an error code string
|
434 |
+
*/
|
435 |
public function delete($files, $data = null, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
436 |
|
437 |
if (is_string($files)) $files = array($files);
|
441 |
if (empty($opts['tk_access_token'])) {
|
442 |
$this->log('You do not appear to be authenticated with Dropbox (3)');
|
443 |
$this->log(sprintf(__('You do not appear to be authenticated with %s (whilst deleting)', 'updraftplus'), 'Dropbox'), 'warning');
|
444 |
+
return 'authentication_fail';
|
445 |
}
|
446 |
|
447 |
try {
|
449 |
} catch (Exception $e) {
|
450 |
$this->log($e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
451 |
$this->log(sprintf(__('Failed to access %s when deleting (see log file for more)', 'updraftplus'), 'Dropbox'), 'warning');
|
452 |
+
return 'service_unavailable';
|
453 |
}
|
454 |
if (false === $dropbox) return false;
|
455 |
|
466 |
|
467 |
if (isset($file_success)) {
|
468 |
$this->log('delete succeeded');
|
469 |
+
return true;
|
470 |
} else {
|
471 |
+
return 'file_delete_error';
|
472 |
}
|
473 |
}
|
474 |
|
@@ -211,6 +211,14 @@ class UpdraftPlus_BackupModule_ftp extends UpdraftPlus_BackupModule {
|
|
211 |
|
212 |
}
|
213 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
214 |
public function delete($files, $ftparr = array(), $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
215 |
|
216 |
global $updraftplus;
|
@@ -234,7 +242,7 @@ class UpdraftPlus_BackupModule_ftp extends UpdraftPlus_BackupModule {
|
|
234 |
if (is_wp_error($ftp) || !$ftp->connect()) {
|
235 |
if (is_wp_error($ftp)) $updraftplus->log_wp_error($ftp);
|
236 |
$this->log("Failure: we did not successfully log in with those credentials (host=".$opts['host'].").");
|
237 |
-
return
|
238 |
}
|
239 |
|
240 |
}
|
@@ -247,7 +255,7 @@ class UpdraftPlus_BackupModule_ftp extends UpdraftPlus_BackupModule {
|
|
247 |
$this->log("delete: succeeded (${ftp_remote_path}${file})");
|
248 |
} else {
|
249 |
$this->log("delete: failed (${ftp_remote_path}${file})");
|
250 |
-
$ret =
|
251 |
}
|
252 |
}
|
253 |
return $ret;
|
211 |
|
212 |
}
|
213 |
|
214 |
+
/**
|
215 |
+
* Delete a single file from the service using FTP protocols
|
216 |
+
*
|
217 |
+
* @param Array $files - array of file names to delete
|
218 |
+
* @param Array $ftparr - FTP details/credentials
|
219 |
+
* @param Array $sizeinfo - unused here
|
220 |
+
* @return Boolean|String - either a boolean true or an error code string
|
221 |
+
*/
|
222 |
public function delete($files, $ftparr = array(), $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
223 |
|
224 |
global $updraftplus;
|
242 |
if (is_wp_error($ftp) || !$ftp->connect()) {
|
243 |
if (is_wp_error($ftp)) $updraftplus->log_wp_error($ftp);
|
244 |
$this->log("Failure: we did not successfully log in with those credentials (host=".$opts['host'].").");
|
245 |
+
return 'authentication_fail';
|
246 |
}
|
247 |
|
248 |
}
|
255 |
$this->log("delete: succeeded (${ftp_remote_path}${file})");
|
256 |
} else {
|
257 |
$this->log("delete: failed (${ftp_remote_path}${file})");
|
258 |
+
$ret = 'file_delete_error';
|
259 |
}
|
260 |
}
|
261 |
return $ret;
|
@@ -640,7 +640,7 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
640 |
if ($filesize > $available_quota) {
|
641 |
$already_failed = true;
|
642 |
$this->log("File upload expected to fail: file ($file_name) size is $filesize b, whereas available quota is only $available_quota b");
|
643 |
-
$this->log(sprintf(__("Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes", 'updraftplus'), __('Google Drive', 'updraftplus'), $available_quota, $filesize),
|
644 |
}
|
645 |
}
|
646 |
|
@@ -1007,6 +1007,14 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
1007 |
return $result;
|
1008 |
}
|
1009 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1010 |
public function delete($files, $data = null, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
1011 |
|
1012 |
if (is_string($files)) $files = array($files);
|
@@ -1014,7 +1022,7 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
1014 |
$storage = $this->bootstrap();
|
1015 |
if (is_wp_error($storage)) {
|
1016 |
$this->log("delete: failed due to storage error: ".$storage->get_error_code()." (".$storage->get_error_message().")");
|
1017 |
-
return
|
1018 |
}
|
1019 |
|
1020 |
if (false == $storage) return $storage;
|
@@ -1026,7 +1034,7 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
1026 |
$sub_items = $this->get_subitems($parent_id, 'file');
|
1027 |
} catch (Exception $e) {
|
1028 |
$this->log("delete: failed to access parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
1029 |
-
return
|
1030 |
}
|
1031 |
|
1032 |
$ret = true;
|
@@ -1044,7 +1052,7 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
1044 |
}
|
1045 |
} catch (Exception $e) {
|
1046 |
$this->log("delete: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
1047 |
-
$ret =
|
1048 |
continue;
|
1049 |
}
|
1050 |
}
|
640 |
if ($filesize > $available_quota) {
|
641 |
$already_failed = true;
|
642 |
$this->log("File upload expected to fail: file ($file_name) size is $filesize b, whereas available quota is only $available_quota b");
|
643 |
+
$this->log(sprintf(__("Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes", 'updraftplus'), __('Google Drive', 'updraftplus'), $available_quota, $filesize), 'error');
|
644 |
}
|
645 |
}
|
646 |
|
1007 |
return $result;
|
1008 |
}
|
1009 |
|
1010 |
+
/**
|
1011 |
+
* Delete a single file from the service using GoogleDrive API
|
1012 |
+
*
|
1013 |
+
* @param Array|String $files - array of file names to delete
|
1014 |
+
* @param Array $data - unused here
|
1015 |
+
* @param Array $sizeinfo - unused here
|
1016 |
+
* @return Boolean|String - either a boolean true or an error code string
|
1017 |
+
*/
|
1018 |
public function delete($files, $data = null, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
1019 |
|
1020 |
if (is_string($files)) $files = array($files);
|
1022 |
$storage = $this->bootstrap();
|
1023 |
if (is_wp_error($storage)) {
|
1024 |
$this->log("delete: failed due to storage error: ".$storage->get_error_code()." (".$storage->get_error_message().")");
|
1025 |
+
return 'service_unavailable';
|
1026 |
}
|
1027 |
|
1028 |
if (false == $storage) return $storage;
|
1034 |
$sub_items = $this->get_subitems($parent_id, 'file');
|
1035 |
} catch (Exception $e) {
|
1036 |
$this->log("delete: failed to access parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
1037 |
+
return 'container_access_error';
|
1038 |
}
|
1039 |
|
1040 |
$ret = true;
|
1052 |
}
|
1053 |
} catch (Exception $e) {
|
1054 |
$this->log("delete: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
1055 |
+
$ret = 'file_delete_error';
|
1056 |
continue;
|
1057 |
}
|
1058 |
}
|
@@ -330,7 +330,15 @@ class UpdraftPlus_BackupModule_openstack_base extends UpdraftPlus_BackupModule {
|
|
330 |
|
331 |
return true;
|
332 |
}
|
333 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
public function delete($files, $data = false, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
335 |
|
336 |
global $updraftplus;
|
@@ -347,11 +355,11 @@ class UpdraftPlus_BackupModule_openstack_base extends UpdraftPlus_BackupModule {
|
|
347 |
} catch (AuthenticationError $e) {
|
348 |
$updraftplus->log($this->desc.' authentication failed ('.$e->getMessage().')');
|
349 |
$updraftplus->log(sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error');
|
350 |
-
return
|
351 |
} catch (Exception $e) {
|
352 |
$updraftplus->log($this->desc.' error - failed to access the container ('.$e->getMessage().')');
|
353 |
$updraftplus->log(sprintf(__('%s error - failed to access the container', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error');
|
354 |
-
return
|
355 |
}
|
356 |
// Get the container
|
357 |
try {
|
@@ -359,7 +367,7 @@ class UpdraftPlus_BackupModule_openstack_base extends UpdraftPlus_BackupModule {
|
|
359 |
} catch (Exception $e) {
|
360 |
$updraftplus->log('Could not access '.$this->desc.' container ('.get_class($e).', '.$e->getMessage().')');
|
361 |
$updraftplus->log(sprintf(__('Could not access %s container', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')', 'error');
|
362 |
-
return
|
363 |
}
|
364 |
|
365 |
}
|
@@ -395,7 +403,7 @@ class UpdraftPlus_BackupModule_openstack_base extends UpdraftPlus_BackupModule {
|
|
395 |
$updraftplus->log($this->desc.': Deleted: '.$file);
|
396 |
} catch (Exception $e) {
|
397 |
$updraftplus->log($this->desc.' delete failed: '.$e->getMessage());
|
398 |
-
$ret =
|
399 |
}
|
400 |
}
|
401 |
return $ret;
|
330 |
|
331 |
return true;
|
332 |
}
|
333 |
+
|
334 |
+
/**
|
335 |
+
* Delete a single file from the service using OpenStack API
|
336 |
+
*
|
337 |
+
* @param Array|String $files - array of file names to delete
|
338 |
+
* @param Array $data - service object and container details
|
339 |
+
* @param Array $sizeinfo - unused here
|
340 |
+
* @return Boolean|String - either a boolean true or an error code string
|
341 |
+
*/
|
342 |
public function delete($files, $data = false, $sizeinfo = array()) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
343 |
|
344 |
global $updraftplus;
|
355 |
} catch (AuthenticationError $e) {
|
356 |
$updraftplus->log($this->desc.' authentication failed ('.$e->getMessage().')');
|
357 |
$updraftplus->log(sprintf(__('%s authentication failed', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error');
|
358 |
+
return 'authentication_fail';
|
359 |
} catch (Exception $e) {
|
360 |
$updraftplus->log($this->desc.' error - failed to access the container ('.$e->getMessage().')');
|
361 |
$updraftplus->log(sprintf(__('%s error - failed to access the container', 'updraftplus'), $this->desc).' ('.$e->getMessage().')', 'error');
|
362 |
+
return 'service_unavailable';
|
363 |
}
|
364 |
// Get the container
|
365 |
try {
|
367 |
} catch (Exception $e) {
|
368 |
$updraftplus->log('Could not access '.$this->desc.' container ('.get_class($e).', '.$e->getMessage().')');
|
369 |
$updraftplus->log(sprintf(__('Could not access %s container', 'updraftplus'), $this->desc).' ('.get_class($e).', '.$e->getMessage().')', 'error');
|
370 |
+
return 'container_access_error';
|
371 |
}
|
372 |
|
373 |
}
|
403 |
$updraftplus->log($this->desc.': Deleted: '.$file);
|
404 |
} catch (Exception $e) {
|
405 |
$updraftplus->log($this->desc.' delete failed: '.$e->getMessage());
|
406 |
+
$ret = 'file_delete_error';
|
407 |
}
|
408 |
}
|
409 |
return $ret;
|
@@ -647,7 +647,15 @@ class UpdraftPlus_BackupModule_s3 extends UpdraftPlus_BackupModule {
|
|
647 |
return $results;
|
648 |
|
649 |
}
|
650 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
651 |
public function delete($files, $s3arr = false, $sizeinfo = array()) {
|
652 |
|
653 |
global $updraftplus;
|
@@ -689,7 +697,7 @@ class UpdraftPlus_BackupModule_s3 extends UpdraftPlus_BackupModule {
|
|
689 |
if (!$bucket_exists) {
|
690 |
$this->log("Error: Failed to access bucket $bucket_name. Check your permissions and credentials.");
|
691 |
$this->log(sprintf(__('Error: Failed to access bucket %s. Check your permissions and credentials.', 'updraftplus'), $bucket_name), 'error');
|
692 |
-
return
|
693 |
}
|
694 |
}
|
695 |
|
@@ -717,7 +725,7 @@ class UpdraftPlus_BackupModule_s3 extends UpdraftPlus_BackupModule {
|
|
717 |
} catch (Exception $e) {
|
718 |
$this->log("delete failed (".get_class($e)."): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
719 |
$storage->setExceptions(false);
|
720 |
-
$ret =
|
721 |
}
|
722 |
$storage->setExceptions(false);
|
723 |
|
647 |
return $results;
|
648 |
|
649 |
}
|
650 |
+
|
651 |
+
/**
|
652 |
+
* Delete a single file from the service using S3
|
653 |
+
*
|
654 |
+
* @param Array|String $files - array of file names to delete
|
655 |
+
* @param Array $s3arr - s3 service object and container details
|
656 |
+
* @param Array $sizeinfo - size of files to delete, used for quota calculation
|
657 |
+
* @return Boolean|String - either a boolean true or an error code string
|
658 |
+
*/
|
659 |
public function delete($files, $s3arr = false, $sizeinfo = array()) {
|
660 |
|
661 |
global $updraftplus;
|
697 |
if (!$bucket_exists) {
|
698 |
$this->log("Error: Failed to access bucket $bucket_name. Check your permissions and credentials.");
|
699 |
$this->log(sprintf(__('Error: Failed to access bucket %s. Check your permissions and credentials.', 'updraftplus'), $bucket_name), 'error');
|
700 |
+
return 'container_access_error';
|
701 |
}
|
702 |
}
|
703 |
|
725 |
} catch (Exception $e) {
|
726 |
$this->log("delete failed (".get_class($e)."): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
727 |
$storage->setExceptions(false);
|
728 |
+
$ret = 'file_delete_error';
|
729 |
}
|
730 |
$storage->setExceptions(false);
|
731 |
|
@@ -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: 5.4
|
6 |
-
Stable tag: 1.16.
|
7 |
Author URI: https://updraftplus.com
|
8 |
Donate link: https://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
@@ -166,7 +166,33 @@ Unfortunately not; since this is free software, there’s no warranty and no gua
|
|
166 |
|
167 |
The <a href="https://updraftplus.com/news/">UpdraftPlus backup blog</a> is the best place to learn in more detail about any important changes.
|
168 |
|
169 |
-
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.16.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
170 |
|
171 |
= 1.16.22 - 17/Feb/2020 =
|
172 |
|
@@ -992,4 +1018,4 @@ Furthermore, reliance upon any non-English translation is at your own risk. Updr
|
|
992 |
We recognise and thank the following for code and/or libraries used and/or modified under the terms of their open source licences; see: https://updraftplus.com/acknowledgements/
|
993 |
|
994 |
== Upgrade Notice ==
|
995 |
-
* 1.16.
|
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: 5.4
|
6 |
+
Stable tag: 1.16.23
|
7 |
Author URI: https://updraftplus.com
|
8 |
Donate link: https://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
166 |
|
167 |
The <a href="https://updraftplus.com/news/">UpdraftPlus backup blog</a> is the best place to learn in more detail about any important changes.
|
168 |
|
169 |
+
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.16.23.x of the free version correspond to changes made in 2.16.23.x of the paid version.
|
170 |
+
|
171 |
+
= 1.16.23 - 01/Apr/2020 =
|
172 |
+
|
173 |
+
* FEATURE: Post module handler for UpdraftCentral
|
174 |
+
* FEATURE: Added the ability to select which database tables you want to restore
|
175 |
+
* FIX: An apparent change in Dropbox API behaviour at a recent date was causing uploads to Dropbox to be corrupted in some circumstances in versions 1.16.21-22.
|
176 |
+
* TWEAK: The "Backup now" options were all unselected after trying to take a manual incremental backup with no possible entities for increments
|
177 |
+
* TWEAK: When importing a single site into a multisite remove UpdraftPlus options and cron to prevent unwanted backups
|
178 |
+
* TWEAK: Auto select clone package based on size of the selected backup
|
179 |
+
* TWEAK: Prevent PHP notice when logging a Google Drive account full condition
|
180 |
+
* TWEAK: Prevent a PHP notice when Azure is deleting files on PHP 7.4
|
181 |
+
* TWEAK: Prevent potential PHP notice if returned OneDrive quota is zero
|
182 |
+
* TWEAK: When restoring a single site that is part of a multisite only put that single site in maintenance mode not the entire network
|
183 |
+
* TWEAK: Remove filesize warning from the log if we successfully added the file to the zip to prevent user concern
|
184 |
+
* TWEAK: Add page_visit_history table to list of those with low-priority data and search/replace unnecessary
|
185 |
+
* TWEAK: Add a warning message when restoring/migrating from an older PHP version to a newer version
|
186 |
+
* TWEAK: Set 'NO_AUTO_VALUE_ON_ZERO' sql mode on restorations, for better compatibility with MySQL 8
|
187 |
+
* TWEAK: Add WordFence logging tables to list of optional tables
|
188 |
+
* TWEAK: If the Google Cloud revoke call fails try again once
|
189 |
+
* TWEAK: Catch file closed errors during uploads to Dropbox to prevent unwanted errors in the backup log and prevent user concern
|
190 |
+
* TWEAK: Get list of supported UpdraftClone regions from updraftplus.com
|
191 |
+
* TWEAK: Logging in backup modules will now correctly pass on arguments to main log function
|
192 |
+
* TWEAK: Change OneDrive 'account full, expected to fail' error message to a recoverable warning
|
193 |
+
* TWEAK: Detect non-homepage 404s and provide FAQ link after a restore
|
194 |
+
* TWEAK: Add paging to the existing backups table to prevent long loading times for sites with a large amount of backups
|
195 |
+
* TWEAK: Remove unwanted padding on some buttons
|
196 |
|
197 |
= 1.16.22 - 17/Feb/2020 =
|
198 |
|
1018 |
We recognise and thank the following for code and/or libraries used and/or modified under the terms of their open source licences; see: https://updraftplus.com/acknowledgements/
|
1019 |
|
1020 |
== Upgrade Notice ==
|
1021 |
+
* 1.16.23: Added the ability to select which database tables you want to restore. Various other small tweaks and improvements. A recommended update for all.
|
@@ -48,6 +48,8 @@ class Updraft_Restorer {
|
|
48 |
|
49 |
private $restore_this_table = array();
|
50 |
|
|
|
|
|
51 |
private $line = 0;
|
52 |
|
53 |
private $statements_run = 0;
|
@@ -56,6 +58,8 @@ class Updraft_Restorer {
|
|
56 |
|
57 |
private $import_table_prefix = null;
|
58 |
|
|
|
|
|
59 |
private $table_name = '';
|
60 |
|
61 |
private $continuation_data;
|
@@ -65,6 +69,8 @@ class Updraft_Restorer {
|
|
65 |
private $current_type = '';
|
66 |
|
67 |
private $previous_table_name = '';
|
|
|
|
|
68 |
|
69 |
// Constants for use with the move_backup_in method
|
70 |
// These can't be arbitrarily changed; there is legacy code doing bitwise operations and numerical comparisons, and possibly legacy code still using the values directly.
|
@@ -78,7 +84,9 @@ class Updraft_Restorer {
|
|
78 |
public $skin = null;
|
79 |
|
80 |
public $strings = array();
|
81 |
-
|
|
|
|
|
82 |
/**
|
83 |
* Constructor
|
84 |
*
|
@@ -133,6 +141,10 @@ class Updraft_Restorer {
|
|
133 |
}
|
134 |
}
|
135 |
|
|
|
|
|
|
|
|
|
136 |
// Restore in the most helpful order
|
137 |
uksort($backup_set, array('UpdraftPlus_Manipulation_Functions', 'sort_restoration_entities'));
|
138 |
|
@@ -2100,6 +2112,214 @@ class Updraft_Restorer {
|
|
2100 |
return $updraftplus->option_filter_get('rewrite_rules');
|
2101 |
}
|
2102 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2103 |
/**
|
2104 |
* Restore the database backup
|
2105 |
*
|
@@ -2182,16 +2402,14 @@ class Updraft_Restorer {
|
|
2182 |
}
|
2183 |
}
|
2184 |
|
2185 |
-
UpdraftPlus_Database_Utility::set_sql_mode(array(), $this->use_wpdb() ? null : $this->mysql_dbh);
|
2186 |
|
2187 |
// Find the supported engines - in case the dump had something else (case seen: saved from MariaDB with engine Aria; imported into plain MySQL without)
|
2188 |
-
$supported_engines = $wpdb->get_results("SHOW ENGINES", OBJECT_K);
|
2189 |
-
$supported_charsets = $wpdb->get_results("SHOW CHARACTER SET", OBJECT_K);
|
2190 |
-
$
|
2191 |
-
$supported_collations = (null !== $db_supported_collations_res) ? $db_supported_collations_res : array();
|
2192 |
-
$updraft_restorer_collate = isset($this->restore_options['updraft_restorer_collate']) ? $this->restore_options['updraft_restorer_collate'] : '';
|
2193 |
|
2194 |
-
$
|
2195 |
|
2196 |
$this->errors = 0;
|
2197 |
$this->statements_run = 0;
|
@@ -2316,7 +2534,7 @@ class Updraft_Restorer {
|
|
2316 |
}
|
2317 |
}
|
2318 |
|
2319 |
-
$restoring_table = '';
|
2320 |
|
2321 |
$this->max_allowed_packet = $updraftplus->max_packet_size();
|
2322 |
|
@@ -2431,6 +2649,10 @@ class Updraft_Restorer {
|
|
2431 |
$delimiter_regex = str_replace(array('$', '#', '/'), array('\$', '\#', '\/'), $delimiter);
|
2432 |
} elseif (preg_match('/^\s*create trigger /i', $sql_line.$buffer)) {
|
2433 |
$sql_type = 9;
|
|
|
|
|
|
|
|
|
2434 |
}
|
2435 |
|
2436 |
// Deal with case where adding this line will take us over the MySQL max_allowed_packet limit - must split, if we can (if it looks like consecutive rows)
|
@@ -2464,7 +2686,7 @@ class Updraft_Restorer {
|
|
2464 |
//
|
2465 |
// $wpdb->query("CREATE TRIGGER `civicrm_acl_after_insert` AFTER INSERT ON `civicrm_acl` FOR EACH ROW BEGIN IF (@civicrm_disable_logging IS NULL OR @civicrm_disable_logging = 0 ) THEN INSERT INTO log_civicrm_acl (`id`, `name`, `deny`, `entity_table`, `entity_id`, `operation`, `object_table`, `object_id`, `acl_table`, `acl_id`, `is_active`, log_conn_id, log_user_id, log_action) VALUES ( NEW.`id`, NEW.`name`, NEW.`deny`, NEW.`entity_table`, NEW.`entity_id`, NEW.`operation`, NEW.`object_table`, NEW.`object_id`, NEW.`acl_table`, NEW.`acl_id`, NEW.`is_active`, COALESCE(@uniqueID, LEFT(CONCAT('c_', unix_timestamp()/3600, CONNECTION_ID()), 17)), @civicrm_user_id, 'insert'); END IF; END"));
|
2466 |
|
2467 |
-
if ((3 == $sql_type && !preg_match('/\)\s*'.$delimiter_regex.'$/', substr($sql_line, -5, 5))) || (
|
2468 |
|
2469 |
$this->line++;
|
2470 |
|
@@ -2476,7 +2698,7 @@ class Updraft_Restorer {
|
|
2476 |
$sql_line = '';
|
2477 |
$sql_type = -1;
|
2478 |
// If this is the very first SQL line of the options table, we need to bail; it's essential
|
2479 |
-
if (0 == $this->insert_statements_run && $restoring_table && $restoring_table == $import_table_prefix.'options') {
|
2480 |
$updraftplus->log("Leaving maintenance mode");
|
2481 |
$this->maintenance_mode(false);
|
2482 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)'));
|
@@ -2488,10 +2710,10 @@ class Updraft_Restorer {
|
|
2488 |
if (preg_match('/^\s*drop table (if exists )?\`?([^\`]*)\`?\s*'.$delimiter_regex.'/i', $sql_line, $matches)) {
|
2489 |
$sql_type = 1;
|
2490 |
|
2491 |
-
if (
|
2492 |
$import_table_prefix = $this->pre_sql_actions($import_table_prefix);
|
2493 |
if (false === $import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix;
|
2494 |
-
$printed_new_table_prefix = true;
|
2495 |
}
|
2496 |
|
2497 |
$this->table_name = $matches[2];
|
@@ -2534,159 +2756,13 @@ class Updraft_Restorer {
|
|
2534 |
continue;
|
2535 |
}
|
2536 |
|
2537 |
-
|
2538 |
-
if ('' == $this->old_table_prefix && preg_match('/^([a-z0-9]+)_.*$/i', $this->table_name, $tmatches)) {
|
2539 |
-
$this->old_table_prefix = $tmatches[1].'_';
|
2540 |
-
$updraftplus->log(__('Old table prefix:', 'updraftplus').' '.$this->old_table_prefix, 'notice-restore', 'old-table-prefix');
|
2541 |
-
$updraftplus->log("Old table prefix (detected from creating first table): ".$this->old_table_prefix);
|
2542 |
-
}
|
2543 |
-
|
2544 |
-
// MySQL 4.1 outputs TYPE=, but accepts ENGINE=; 5.1 onwards accept *only* ENGINE=
|
2545 |
-
$sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace('TYPE=', 'ENGINE=', $sql_line);
|
2546 |
-
|
2547 |
-
if (empty($printed_new_table_prefix)) {
|
2548 |
$import_table_prefix = $this->pre_sql_actions($import_table_prefix);
|
2549 |
if (false === $import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix;
|
2550 |
-
$printed_new_table_prefix = true;
|
2551 |
-
}
|
2552 |
-
|
2553 |
-
$this->new_table_name = $this->old_table_prefix ? UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $this->table_name) : $this->table_name;
|
2554 |
-
|
2555 |
-
// This CREATE TABLE command may be the de-facto mark for the end of processing a previous table (which is so if this is not the first table in the SQL dump)
|
2556 |
-
if ($restoring_table) {
|
2557 |
-
|
2558 |
-
// Attempt to reconnect if the DB connection dropped (may not succeed, of course - but that will soon become evident)
|
2559 |
-
$updraftplus->check_db_connection($this->wpdb_obj);
|
2560 |
-
|
2561 |
-
// After restoring the options table, we can set old_siteurl if on legacy (i.e. not already set)
|
2562 |
-
if ($restoring_table == $import_table_prefix.'options') {
|
2563 |
-
if ('' == $this->old_siteurl || '' == $this->old_home || '' == $this->old_content) {
|
2564 |
-
global $updraftplus_addons_migrator;
|
2565 |
-
if (!empty($updraftplus_addons_migrator->new_blogid)) switch_to_blog($updraftplus_addons_migrator->new_blogid);
|
2566 |
-
|
2567 |
-
if ('' == $this->old_siteurl) {
|
2568 |
-
$this->old_siteurl = untrailingslashit($wpdb->get_row("SELECT option_value FROM $wpdb->options WHERE option_name='siteurl'")->option_value);
|
2569 |
-
do_action('updraftplus_restore_db_record_old_siteurl', $this->old_siteurl);
|
2570 |
-
}
|
2571 |
-
if ('' == $this->old_home) {
|
2572 |
-
$this->old_home = untrailingslashit($wpdb->get_row("SELECT option_value FROM $wpdb->options WHERE option_name='home'")->option_value);
|
2573 |
-
do_action('updraftplus_restore_db_record_old_home', $this->old_home);
|
2574 |
-
}
|
2575 |
-
if ('' == $this->old_content) {
|
2576 |
-
$this->old_content = $this->old_siteurl.'/wp-content';
|
2577 |
-
do_action('updraftplus_restore_db_record_old_content', $this->old_content);
|
2578 |
-
}
|
2579 |
-
if (!empty($updraftplus_addons_migrator->new_blogid)) restore_current_blog();
|
2580 |
-
}
|
2581 |
-
}
|
2582 |
-
|
2583 |
-
if ($restoring_table != $this->new_table_name) $this->restored_table($restoring_table, $import_table_prefix, $this->old_table_prefix, $engine);
|
2584 |
-
|
2585 |
-
}
|
2586 |
-
$engine = "(?)";
|
2587 |
-
$engine_change_message = '';
|
2588 |
-
if (preg_match('/ENGINE=([^\s;]+)/', $sql_line, $eng_match)) {
|
2589 |
-
$engine = $eng_match[1];
|
2590 |
-
if (isset($supported_engines[$engine])) {
|
2591 |
-
if ('myisam' == strtolower($engine)) {
|
2592 |
-
$sql_line = preg_replace('/PAGE_CHECKSUM=\d\s?/', '', $sql_line, 1);
|
2593 |
-
}
|
2594 |
-
} else {
|
2595 |
-
$engine_change_message = sprintf(__('Requested table engine (%s) is not present - changing to MyISAM.', 'updraftplus'), $engine)."<br>";
|
2596 |
-
$sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace("ENGINE=$engine", "ENGINE=MyISAM", $sql_line);
|
2597 |
-
$engine = "MyISAM";
|
2598 |
-
// Remove (M)aria options
|
2599 |
-
if ('maria' == strtolower($engine) || 'aria' == strtolower($engine)) {
|
2600 |
-
$sql_line = preg_replace('/PAGE_CHECKSUM=\d\s?/', '', $sql_line, 1);
|
2601 |
-
$sql_line = preg_replace('/TRANSACTIONAL=\d\s?/', '', $sql_line, 1);
|
2602 |
-
}
|
2603 |
-
}
|
2604 |
}
|
2605 |
-
$charset_change_message = '';
|
2606 |
-
if (preg_match('/ CHARSET=([^\s;]+)/i', $sql_line, $charset_match)) {
|
2607 |
-
$charset = $charset_match[1];
|
2608 |
-
if (!isset($supported_charsets[$charset])) {
|
2609 |
-
$charset_change_message = sprintf(__('Requested table character set (%s) is not present - changing to %s.', 'updraftplus'), esc_html($charset), esc_html($this->restore_options['updraft_restorer_charset']));
|
2610 |
-
$sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace("CHARSET=$charset", "CHARSET=".$this->restore_options['updraft_restorer_charset'], $sql_line);
|
2611 |
-
// Allow default COLLLATE to database
|
2612 |
-
if (preg_match('/ COLLATE=([^\s;]+)/i', $sql_line, $collate_match)) {
|
2613 |
-
$collate = $collate_match[1];
|
2614 |
-
$sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace(" COLLATE=$collate", "", $sql_line);
|
2615 |
-
}
|
2616 |
-
}
|
2617 |
-
}
|
2618 |
-
// If the table prefix has changed and key constraints are found, make sure they are updated
|
2619 |
-
$constraint_change_message = '';
|
2620 |
-
if ($this->old_table_prefix != $import_table_prefix && (preg_match_all('/ FOREIGN KEY \([a-zA-z0-9_\', ]+\) REFERENCES \'?([a-zA-z0-9_]+)\'? /i', $sql_line, $constraint_matches))) {
|
2621 |
-
foreach ($constraint_matches[0] as $constraint) {
|
2622 |
-
$updated_constraint = str_replace($this->old_table_prefix, $import_table_prefix, $constraint);
|
2623 |
-
$sql_line = str_replace($constraint, $updated_constraint, $sql_line);
|
2624 |
-
}
|
2625 |
-
$constraint_change_message = __('Found and replaced existing table foreign key constraints as the table prefix has changed.', 'updraftplus');
|
2626 |
-
}
|
2627 |
-
$collate_change_message = '';
|
2628 |
-
$unsupported_collates_in_sql_line = array();
|
2629 |
-
if (!empty($updraft_restorer_collate) && preg_match('/ COLLATE=([a-zA-Z0-9._-]+)/i', $sql_line, $collate_match)) {
|
2630 |
-
$collate = $collate_match[1];
|
2631 |
-
if (!isset($supported_collations[$collate])) {
|
2632 |
-
$unsupported_collates_in_sql_line[] = $collate;
|
2633 |
-
if ('choose_a_default_for_each_table' == $updraft_restorer_collate) {
|
2634 |
-
$sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace("COLLATE=$collate", "", $sql_line, false);
|
2635 |
-
} else {
|
2636 |
-
$sql_line = UpdraftPlus_Manipulation_Functions::str_lreplace("COLLATE=$collate", "COLLATE=".$updraft_restorer_collate, $sql_line, false);
|
2637 |
-
}
|
2638 |
-
}
|
2639 |
-
}
|
2640 |
-
if (!empty($updraft_restorer_collate) && preg_match_all('/ COLLATE ([a-zA-Z0-9._-]+) /i', $sql_line, $collate_matches)) {
|
2641 |
-
$collates = array_unique($collate_matches[1]);
|
2642 |
-
foreach ($collates as $collate) {
|
2643 |
-
if (!isset($supported_collations[$collate])) {
|
2644 |
-
$unsupported_collates_in_sql_line[] = $collate;
|
2645 |
-
if ('choose_a_default_for_each_table' == $updraft_restorer_collate) {
|
2646 |
-
$sql_line = str_ireplace("COLLATE $collate ", "", $sql_line);
|
2647 |
-
} else {
|
2648 |
-
$sql_line = str_ireplace("COLLATE $collate ", "COLLATE ".$updraft_restorer_collate." ", $sql_line);
|
2649 |
-
}
|
2650 |
-
}
|
2651 |
-
}
|
2652 |
-
}
|
2653 |
-
if (!empty($updraft_restorer_collate) && preg_match_all('/ COLLATE ([a-zA-Z0-9._-]+),/i', $sql_line, $collate_matches)) {
|
2654 |
-
$collates = array_unique($collate_matches[1]);
|
2655 |
-
foreach ($collates as $collate) {
|
2656 |
-
if (!isset($supported_collations[$collate])) {
|
2657 |
-
$unsupported_collates_in_sql_line[] = $collate;
|
2658 |
-
if ('choose_a_default_for_each_table' == $updraft_restorer_collate) {
|
2659 |
-
$sql_line = str_ireplace("COLLATE $collate,", ",", $sql_line);
|
2660 |
-
} else {
|
2661 |
-
$sql_line = str_ireplace("COLLATE $collate,", "COLLATE ".$updraft_restorer_collate.",", $sql_line);
|
2662 |
-
}
|
2663 |
-
}
|
2664 |
-
}
|
2665 |
-
}
|
2666 |
-
if (count($unsupported_collates_in_sql_line) > 0) {
|
2667 |
-
$unsupported_unique_collates_in_sql_line = array_unique($unsupported_collates_in_sql_line);
|
2668 |
-
$collate_change_message = sprintf(_n('Requested table collation (%1$s) is not present - changing to %2$s.', 'Requested table collations (%1$s) are not present - changing to %2$s.', count($unsupported_unique_collates_in_sql_line), 'updraftplus'), esc_html(implode(', ', $unsupported_unique_collates_in_sql_line)), esc_html($this->restore_options['updraft_restorer_collate']));
|
2669 |
-
}
|
2670 |
-
$print_line = sprintf(__('Processing table (%s)', 'updraftplus'), $engine).": ".$this->table_name;
|
2671 |
-
$logline = "Processing table ($engine): ".$this->table_name;
|
2672 |
-
if ('' != $this->old_table_prefix && $import_table_prefix != $this->old_table_prefix) {
|
2673 |
-
if ($this->restore_this_table($this->table_name)) {
|
2674 |
-
$print_line .= ' - '.__('will restore as:', 'updraftplus').' '.htmlspecialchars($this->new_table_name);
|
2675 |
-
$logline .= " - will restore as: ".$this->new_table_name;
|
2676 |
-
} else {
|
2677 |
-
$logline .= ' - skipping';
|
2678 |
-
}
|
2679 |
-
$sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $sql_line);
|
2680 |
|
2681 |
-
|
2682 |
-
}
|
2683 |
-
$updraftplus->log($logline);
|
2684 |
-
$updraftplus->log($print_line, 'notice-restore');
|
2685 |
-
$restoring_table = $this->new_table_name;
|
2686 |
-
if ($charset_change_message) $updraftplus->log($charset_change_message, 'notice-restore');
|
2687 |
-
if ($constraint_change_message) $updraftplus->log($constraint_change_message, 'notice-restore');
|
2688 |
-
if ($collate_change_message) $updraftplus->log($collate_change_message, 'notice-restore');
|
2689 |
-
if ($engine_change_message) $updraftplus->log($engine_change_message, 'notice-restore');
|
2690 |
|
2691 |
} elseif (preg_match('/^\s*(insert into \`?([^\`]*)\`?\s+(values|\())/i', $sql_line, $matches)) {
|
2692 |
$sql_type = 3;
|
@@ -2728,10 +2804,16 @@ class Updraft_Restorer {
|
|
2728 |
} elseif (preg_match('/^\s*create trigger /i', $sql_line)) {
|
2729 |
$sql_type = 9;
|
2730 |
// If the statement is not yet complete, then continue (to get the next line)
|
2731 |
-
if (!preg_match('/END
|
|
|
|
|
2732 |
$updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'db', 'data' => array('stage' => 'trigger', 'table' => '')));
|
2733 |
if ('' != $this->old_table_prefix && $import_table_prefix != $this->old_table_prefix) $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $sql_line);
|
2734 |
-
if (';' !== $delimiter)
|
|
|
|
|
|
|
|
|
2735 |
if ($this->triggers_forbidden) $updraftplus->log("Database user lacks permission to create triggers; statement will not be executed ($sql_line)");
|
2736 |
} elseif (preg_match('/^\s*drop trigger /i', $sql_line)) {
|
2737 |
// Avoid sending unrecognised delimiters to the SQL server (this only affects backups created outside UD; we use ";;" which is cunningly compatible)
|
@@ -2785,7 +2867,7 @@ class Updraft_Restorer {
|
|
2785 |
}
|
2786 |
$this->maintenance_mode(false);
|
2787 |
|
2788 |
-
if ($restoring_table) $this->restored_table($restoring_table, $import_table_prefix, $this->old_table_prefix, $
|
2789 |
|
2790 |
// drop the dummy restored tables
|
2791 |
if ($this->is_dummy_db_restore) $this->drop_tables($this->restored_table_names);
|
@@ -2824,8 +2906,11 @@ class Updraft_Restorer {
|
|
2824 |
$skip_table = false;
|
2825 |
$last_table = isset($this->continuation_data['last_processed_db_table']) ? $this->continuation_data['last_processed_db_table'] : '';
|
2826 |
|
2827 |
-
if (!empty($
|
2828 |
-
if (empty($this->previous_table_name) || $table_name != $this->previous_table_name) $updraftplus->log(sprintf(__('Skipping table
|
|
|
|
|
|
|
2829 |
$skip_table = true;
|
2830 |
} elseif (!empty($last_table) && !empty($table_name) && $table_name == $last_table) {
|
2831 |
unset($this->continuation_data['last_processed_db_table']);
|
@@ -3321,6 +3406,21 @@ class Updraft_Restorer {
|
|
3321 |
$wpdb->query("DELETE FROM $new_table_name WHERE option_name = 'jetpack_options'");
|
3322 |
}
|
3323 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3324 |
}
|
3325 |
|
3326 |
} elseif ($import_table_prefix != $old_table_prefix && preg_match('/^([\d+]_)?usermeta$/', substr($table, strlen($import_table_prefix)), $matches)) {
|
48 |
|
49 |
private $restore_this_table = array();
|
50 |
|
51 |
+
private $restoring_table = '';
|
52 |
+
|
53 |
private $line = 0;
|
54 |
|
55 |
private $statements_run = 0;
|
58 |
|
59 |
private $import_table_prefix = null;
|
60 |
|
61 |
+
private $table_engine = '';
|
62 |
+
|
63 |
private $table_name = '';
|
64 |
|
65 |
private $continuation_data;
|
69 |
private $current_type = '';
|
70 |
|
71 |
private $previous_table_name = '';
|
72 |
+
|
73 |
+
private $tables_to_restore = array();
|
74 |
|
75 |
// Constants for use with the move_backup_in method
|
76 |
// These can't be arbitrarily changed; there is legacy code doing bitwise operations and numerical comparisons, and possibly legacy code still using the values directly.
|
84 |
public $skin = null;
|
85 |
|
86 |
public $strings = array();
|
87 |
+
|
88 |
+
private $printed_new_table_prefix = false;
|
89 |
+
|
90 |
/**
|
91 |
* Constructor
|
92 |
*
|
141 |
}
|
142 |
}
|
143 |
|
144 |
+
if (isset($restore_options['updraft_restore_table_options']) && !empty($restore_options['updraft_restore_table_options'])) {
|
145 |
+
$this->tables_to_restore = $restore_options['updraft_restore_table_options'];
|
146 |
+
}
|
147 |
+
|
148 |
// Restore in the most helpful order
|
149 |
uksort($backup_set, array('UpdraftPlus_Manipulation_Functions', 'sort_restoration_entities'));
|
150 |
|
2112 |
return $updraftplus->option_filter_get('rewrite_rules');
|
2113 |
}
|
2114 |
|
2115 |
+
/**
|
2116 |
+
* Assign a value to log_bin_trust_function_creators system variable and return its previous value
|
2117 |
+
*
|
2118 |
+
* @see https://mariadb.com/kb/en/library/binary-logging-of-stored-routines/
|
2119 |
+
* @see https://dev.mysql.com/doc/refman/8.0/en/stored-programs-logging.html
|
2120 |
+
*
|
2121 |
+
* @param String $value It can only be set to ON or OFF
|
2122 |
+
* @return String|WP_Error the variable value before it got assigned a new value, or WP_Error object on failure
|
2123 |
+
*/
|
2124 |
+
private function set_log_bin_trust_function_creators($value) {
|
2125 |
+
|
2126 |
+
global $wpdb;
|
2127 |
+
static $saved_value = null;
|
2128 |
+
static $initial_value = null;
|
2129 |
+
|
2130 |
+
$old_val = $wpdb->suppress_errors();
|
2131 |
+
try {
|
2132 |
+
if (is_null($initial_value) || is_wp_error($initial_value)) {
|
2133 |
+
$creators_val = $wpdb->get_var("SELECT @@GLOBAL.log_bin_trust_function_creators");
|
2134 |
+
if (is_null($creators_val)) throw new Exception(sprintf(__('An error occurred while attempting to retrieve the MySQL global log_bin_trust_function_creators variable %s', 'updraftplus'), '('. $wpdb->last_error.' - '.$wpdb->last_query.')'), 0);
|
2135 |
+
$initial_value = '1' === $creators_val || 'on' === strtolower($creators_val) ? 'ON' : 'OFF';
|
2136 |
+
}
|
2137 |
+
if ((is_null($saved_value) || ($saved_value != $value))) {
|
2138 |
+
$res = $wpdb->query("SET GLOBAL log_bin_trust_function_creators = ".$value);
|
2139 |
+
if (false === $res) {
|
2140 |
+
$saved_value = null;
|
2141 |
+
throw new Exception(sprintf(__('An error occurred while attempting to set a new value to the MySQL global log_bin_trust_function_creators variable %s', 'updraftplus'), '('. $wpdb->last_error.' - '.$wpdb->last_query.')'), 0);
|
2142 |
+
}
|
2143 |
+
if (!is_null($saved_value)) {
|
2144 |
+
$initial_value = $saved_value;
|
2145 |
+
}
|
2146 |
+
$saved_value = $value;
|
2147 |
+
}
|
2148 |
+
} catch (Exception $ex) {
|
2149 |
+
$initial_value = new WP_Error('log_bin_trust_function_creators', $ex->getMessage());
|
2150 |
+
}
|
2151 |
+
$wpdb->suppress_errors($old_val);
|
2152 |
+
|
2153 |
+
return $initial_value;
|
2154 |
+
}
|
2155 |
+
|
2156 |
+
/**
|
2157 |
+
* Prepare the create table statement before sending it to the query execution
|
2158 |
+
*
|
2159 |
+
* @param String $create_table_statement an SQL create table statement in which some part of the SQL is going to be parsed and/or replaced
|
2160 |
+
* @param String $import_table_prefix table prefix to use
|
2161 |
+
* @param Array $supported_engines the list of supported DB engines
|
2162 |
+
* @param Array $supported_charsets the list of supported DB charsets
|
2163 |
+
* @param Array $supported_collations the list of supported DB collations
|
2164 |
+
* @return String the processed create table statement that may have been transformed, sanitised or cleaned
|
2165 |
+
*/
|
2166 |
+
private function prepare_create_table($create_table_statement, $import_table_prefix, $supported_engines, $supported_charsets, $supported_collations) {
|
2167 |
+
|
2168 |
+
global $updraftplus, $wpdb;
|
2169 |
+
|
2170 |
+
$updraft_restorer_collate = isset($this->restore_options['updraft_restorer_collate']) ? $this->restore_options['updraft_restorer_collate'] : '';
|
2171 |
+
|
2172 |
+
// Legacy, less reliable - in case it was not caught before. We added it in here (CREATE) as well as in DROP because of SQL dumps which lack DROP statements.
|
2173 |
+
if ('' == $this->old_table_prefix && preg_match('/^([a-z0-9]+)_.*$/i', $this->table_name, $tmatches)) {
|
2174 |
+
$this->old_table_prefix = $tmatches[1].'_';
|
2175 |
+
$updraftplus->log(__('Old table prefix:', 'updraftplus').' '.$this->old_table_prefix, 'notice-restore', 'old-table-prefix');
|
2176 |
+
$updraftplus->log("Old table prefix (detected from creating first table): ".$this->old_table_prefix);
|
2177 |
+
}
|
2178 |
+
|
2179 |
+
// MySQL 4.1 outputs TYPE=, but accepts ENGINE=; 5.1 onwards accept *only* ENGINE=
|
2180 |
+
$create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace('TYPE=', 'ENGINE=', $create_table_statement);
|
2181 |
+
|
2182 |
+
$this->new_table_name = $this->old_table_prefix ? UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $this->table_name) : $this->table_name;
|
2183 |
+
|
2184 |
+
// This CREATE TABLE command may be the de-facto mark for the end of processing a previous table (which is so if this is not the first table in the SQL dump)
|
2185 |
+
if ($this->restoring_table) {
|
2186 |
+
|
2187 |
+
// Attempt to reconnect if the DB connection dropped (may not succeed, of course - but that will soon become evident)
|
2188 |
+
$updraftplus->check_db_connection($this->wpdb_obj);
|
2189 |
+
|
2190 |
+
// After restoring the options table, we can set old_siteurl if on legacy (i.e. not already set)
|
2191 |
+
if ($this->restoring_table == $import_table_prefix.'options') {
|
2192 |
+
if ('' == $this->old_siteurl || '' == $this->old_home || '' == $this->old_content) {
|
2193 |
+
global $updraftplus_addons_migrator;
|
2194 |
+
if (!empty($updraftplus_addons_migrator->new_blogid)) switch_to_blog($updraftplus_addons_migrator->new_blogid);
|
2195 |
+
|
2196 |
+
if ('' == $this->old_siteurl) {
|
2197 |
+
$this->old_siteurl = untrailingslashit($wpdb->get_row("SELECT option_value FROM $wpdb->options WHERE option_name='siteurl'")->option_value);
|
2198 |
+
do_action('updraftplus_restore_db_record_old_siteurl', $this->old_siteurl);
|
2199 |
+
}
|
2200 |
+
if ('' == $this->old_home) {
|
2201 |
+
$this->old_home = untrailingslashit($wpdb->get_row("SELECT option_value FROM $wpdb->options WHERE option_name='home'")->option_value);
|
2202 |
+
do_action('updraftplus_restore_db_record_old_home', $this->old_home);
|
2203 |
+
}
|
2204 |
+
if ('' == $this->old_content) {
|
2205 |
+
$this->old_content = $this->old_siteurl.'/wp-content';
|
2206 |
+
do_action('updraftplus_restore_db_record_old_content', $this->old_content);
|
2207 |
+
}
|
2208 |
+
if (!empty($updraftplus_addons_migrator->new_blogid)) restore_current_blog();
|
2209 |
+
}
|
2210 |
+
}
|
2211 |
+
|
2212 |
+
if ($this->restoring_table != $this->new_table_name) $this->restored_table($this->restoring_table, $import_table_prefix, $this->old_table_prefix, $this->table_engine);
|
2213 |
+
|
2214 |
+
}
|
2215 |
+
$this->table_engine = "(?)";
|
2216 |
+
$engine_change_message = '';
|
2217 |
+
if (preg_match('/ENGINE=([^\s;]+)/', $create_table_statement, $eng_match)) {
|
2218 |
+
$this->table_engine = $eng_match[1];
|
2219 |
+
if (isset($supported_engines[strtolower($this->table_engine)])) {
|
2220 |
+
if ('myisam' == strtolower($this->table_engine)) {
|
2221 |
+
$create_table_statement = preg_replace('/PAGE_CHECKSUM=\d\s?/', '', $create_table_statement, 1);
|
2222 |
+
}
|
2223 |
+
} else {
|
2224 |
+
$engine_change_message = sprintf(__('Requested table engine (%s) is not present - changing to MyISAM.', 'updraftplus'), $this->table_engine)."<br>";
|
2225 |
+
$create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("ENGINE=$this->table_engine", "ENGINE=MyISAM", $create_table_statement);
|
2226 |
+
$this->table_engine = "MyISAM";
|
2227 |
+
// Remove (M)aria options
|
2228 |
+
if ('maria' == strtolower($this->table_engine) || 'aria' == strtolower($this->table_engine) || 'myisam' == strtolower($this->table_engine)) {
|
2229 |
+
$create_table_statement = preg_replace('/PAGE_CHECKSUM=\d\s?/', '', $create_table_statement, 1);
|
2230 |
+
$create_table_statement = preg_replace('/TRANSACTIONAL=\d\s?/', '', $create_table_statement, 1);
|
2231 |
+
}
|
2232 |
+
}
|
2233 |
+
}
|
2234 |
+
$charset_change_message = '';
|
2235 |
+
if (preg_match('/ CHARSET=([^\s;]+)/i', $create_table_statement, $charset_match)) {
|
2236 |
+
$charset = $charset_match[1];
|
2237 |
+
if (!isset($supported_charsets[strtolower($charset)])) {
|
2238 |
+
$charset_change_message = sprintf(__('Requested table character set (%s) is not present - changing to %s.', 'updraftplus'), esc_html($charset), esc_html($this->restore_options['updraft_restorer_charset']));
|
2239 |
+
$create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("CHARSET=$charset", "CHARSET=".$this->restore_options['updraft_restorer_charset'], $create_table_statement);
|
2240 |
+
// Allow default COLLLATE to database
|
2241 |
+
if (preg_match('/ COLLATE=([^\s;]+)/i', $create_table_statement, $collate_match)) {
|
2242 |
+
$collate = $collate_match[1];
|
2243 |
+
$create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace(" COLLATE=$collate", "", $create_table_statement);
|
2244 |
+
}
|
2245 |
+
}
|
2246 |
+
}
|
2247 |
+
// If the table prefix has changed and key constraints are found, make sure they are updated
|
2248 |
+
$constraint_change_message = '';
|
2249 |
+
if ($this->old_table_prefix != $import_table_prefix && (preg_match_all('/ FOREIGN KEY \([a-zA-z0-9_\', ]+\) REFERENCES \'?([a-zA-z0-9_]+)\'? /i', $create_table_statement, $constraint_matches))) {
|
2250 |
+
foreach ($constraint_matches[0] as $constraint) {
|
2251 |
+
$updated_constraint = str_replace($this->old_table_prefix, $import_table_prefix, $constraint);
|
2252 |
+
$create_table_statement = str_replace($constraint, $updated_constraint, $create_table_statement);
|
2253 |
+
}
|
2254 |
+
$constraint_change_message = __('Found and replaced existing table foreign key constraints as the table prefix has changed.', 'updraftplus');
|
2255 |
+
}
|
2256 |
+
$collate_change_message = '';
|
2257 |
+
$unsupported_collates_in_sql_line = array();
|
2258 |
+
if (!empty($updraft_restorer_collate) && preg_match('/ COLLATE=([a-zA-Z0-9._-]+)/i', $create_table_statement, $collate_match)) {
|
2259 |
+
$collate = $collate_match[1];
|
2260 |
+
if (!isset($supported_collations[strtolower($collate)])) {
|
2261 |
+
$unsupported_collates_in_sql_line[] = $collate;
|
2262 |
+
if ('choose_a_default_for_each_table' == $updraft_restorer_collate) {
|
2263 |
+
$create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("COLLATE=$collate", "", $create_table_statement, false);
|
2264 |
+
} else {
|
2265 |
+
$create_table_statement = UpdraftPlus_Manipulation_Functions::str_lreplace("COLLATE=$collate", "COLLATE=".$updraft_restorer_collate, $create_table_statement, false);
|
2266 |
+
}
|
2267 |
+
}
|
2268 |
+
}
|
2269 |
+
if (!empty($updraft_restorer_collate) && preg_match_all('/ COLLATE ([a-zA-Z0-9._-]+) /i', $create_table_statement, $collate_matches)) {
|
2270 |
+
$collates = array_unique($collate_matches[1]);
|
2271 |
+
foreach ($collates as $collate) {
|
2272 |
+
if (!isset($supported_collations[strtolower($collate)])) {
|
2273 |
+
$unsupported_collates_in_sql_line[] = $collate;
|
2274 |
+
if ('choose_a_default_for_each_table' == $updraft_restorer_collate) {
|
2275 |
+
$create_table_statement = str_ireplace("COLLATE $collate ", "", $create_table_statement);
|
2276 |
+
} else {
|
2277 |
+
$create_table_statement = str_ireplace("COLLATE $collate ", "COLLATE ".$updraft_restorer_collate." ", $create_table_statement);
|
2278 |
+
}
|
2279 |
+
}
|
2280 |
+
}
|
2281 |
+
}
|
2282 |
+
if (!empty($updraft_restorer_collate) && preg_match_all('/ COLLATE ([a-zA-Z0-9._-]+),/i', $create_table_statement, $collate_matches)) {
|
2283 |
+
$collates = array_unique($collate_matches[1]);
|
2284 |
+
foreach ($collates as $collate) {
|
2285 |
+
if (!isset($supported_collations[strtolower($collate)])) {
|
2286 |
+
$unsupported_collates_in_sql_line[] = $collate;
|
2287 |
+
if ('choose_a_default_for_each_table' == $updraft_restorer_collate) {
|
2288 |
+
$create_table_statement = str_ireplace("COLLATE $collate,", ",", $create_table_statement);
|
2289 |
+
} else {
|
2290 |
+
$create_table_statement = str_ireplace("COLLATE $collate,", "COLLATE ".$updraft_restorer_collate.",", $create_table_statement);
|
2291 |
+
}
|
2292 |
+
}
|
2293 |
+
}
|
2294 |
+
}
|
2295 |
+
if (count($unsupported_collates_in_sql_line) > 0) {
|
2296 |
+
$unsupported_unique_collates_in_sql_line = array_unique($unsupported_collates_in_sql_line);
|
2297 |
+
$collate_change_message = sprintf(_n('Requested table collation (%1$s) is not present - changing to %2$s.', 'Requested table collations (%1$s) are not present - changing to %2$s.', count($unsupported_unique_collates_in_sql_line), 'updraftplus'), esc_html(implode(', ', $unsupported_unique_collates_in_sql_line)), esc_html($this->restore_options['updraft_restorer_collate']));
|
2298 |
+
}
|
2299 |
+
$print_line = sprintf(__('Processing table (%s)', 'updraftplus'), $this->table_engine).": ".$this->table_name;
|
2300 |
+
$logline = "Processing table ($this->table_engine): ".$this->table_name;
|
2301 |
+
if ('' != $this->old_table_prefix && $import_table_prefix != $this->old_table_prefix) {
|
2302 |
+
if ($this->restore_this_table($this->table_name)) {
|
2303 |
+
$print_line .= ' - '.__('will restore as:', 'updraftplus').' '.htmlspecialchars($this->new_table_name);
|
2304 |
+
$logline .= " - will restore as: ".$this->new_table_name;
|
2305 |
+
} else {
|
2306 |
+
$logline .= ' - skipping';
|
2307 |
+
}
|
2308 |
+
$create_table_statement = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $create_table_statement);
|
2309 |
+
|
2310 |
+
$this->restored_table_names[] = $this->new_table_name;
|
2311 |
+
}
|
2312 |
+
|
2313 |
+
$updraftplus->log($logline);
|
2314 |
+
$updraftplus->log($print_line, 'notice-restore');
|
2315 |
+
$this->restoring_table = $this->new_table_name;
|
2316 |
+
if ($charset_change_message) $updraftplus->log($charset_change_message, 'notice-restore');
|
2317 |
+
if ($constraint_change_message) $updraftplus->log($constraint_change_message, 'notice-restore');
|
2318 |
+
if ($collate_change_message) $updraftplus->log($collate_change_message, 'notice-restore');
|
2319 |
+
if ($engine_change_message) $updraftplus->log($engine_change_message, 'notice-restore');
|
2320 |
+
return $create_table_statement;
|
2321 |
+
}
|
2322 |
+
|
2323 |
/**
|
2324 |
* Restore the database backup
|
2325 |
*
|
2402 |
}
|
2403 |
}
|
2404 |
|
2405 |
+
UpdraftPlus_Database_Utility::set_sql_mode(array('NO_AUTO_VALUE_ON_ZERO'), $this->use_wpdb() ? null : $this->mysql_dbh);
|
2406 |
|
2407 |
// Find the supported engines - in case the dump had something else (case seen: saved from MariaDB with engine Aria; imported into plain MySQL without)
|
2408 |
+
$supported_engines = array_change_key_case((array) $wpdb->get_results("SHOW ENGINES", OBJECT_K));
|
2409 |
+
$supported_charsets = array_change_key_case((array) $wpdb->get_results("SHOW CHARACTER SET", OBJECT_K));
|
2410 |
+
$supported_collations = array_change_key_case((array) $wpdb->get_results('SHOW COLLATION', OBJECT_K));
|
|
|
|
|
2411 |
|
2412 |
+
$this->table_engine = '';
|
2413 |
|
2414 |
$this->errors = 0;
|
2415 |
$this->statements_run = 0;
|
2534 |
}
|
2535 |
}
|
2536 |
|
2537 |
+
$this->restoring_table = '';
|
2538 |
|
2539 |
$this->max_allowed_packet = $updraftplus->max_packet_size();
|
2540 |
|
2649 |
$delimiter_regex = str_replace(array('$', '#', '/'), array('\$', '\#', '\/'), $delimiter);
|
2650 |
} elseif (preg_match('/^\s*create trigger /i', $sql_line.$buffer)) {
|
2651 |
$sql_type = 9;
|
2652 |
+
$buffer = $buffer."\n";
|
2653 |
+
} elseif (preg_match("/^[^'\"]*create[^'\"]*(?:definer\s*=\s*(?:`.{1,17}`@`[^\s]+`|'.{1,17}'@'[^\s]+').+?)?(?:function(?:\s\s*if\s\s*not\s\s*exists)?|procedure)\s*`([^\r\n]+)`/is", $sql_line.$buffer)) {
|
2654 |
+
$sql_type = 12;
|
2655 |
+
$buffer = $buffer."\n"; // need to do this so that the functions/procedures which have double dash and/or shell comment style (i.e -- comment, # comment) doesn't block the rest of the code in the routines body and also because we want to keep the routines as it is or in multiline (in a form that people prefer) so they who will edit it later don't get surprised by the look of it in a single line/one line
|
2656 |
}
|
2657 |
|
2658 |
// Deal with case where adding this line will take us over the MySQL max_allowed_packet limit - must split, if we can (if it looks like consecutive rows)
|
2686 |
//
|
2687 |
// $wpdb->query("CREATE TRIGGER `civicrm_acl_after_insert` AFTER INSERT ON `civicrm_acl` FOR EACH ROW BEGIN IF (@civicrm_disable_logging IS NULL OR @civicrm_disable_logging = 0 ) THEN INSERT INTO log_civicrm_acl (`id`, `name`, `deny`, `entity_table`, `entity_id`, `operation`, `object_table`, `object_id`, `acl_table`, `acl_id`, `is_active`, log_conn_id, log_user_id, log_action) VALUES ( NEW.`id`, NEW.`name`, NEW.`deny`, NEW.`entity_table`, NEW.`entity_id`, NEW.`operation`, NEW.`object_table`, NEW.`object_id`, NEW.`acl_table`, NEW.`acl_id`, NEW.`is_active`, COALESCE(@uniqueID, LEFT(CONCAT('c_', unix_timestamp()/3600, CONNECTION_ID()), 17)), @civicrm_user_id, 'insert'); END IF; END"));
|
2688 |
|
2689 |
+
if ((3 == $sql_type && !preg_match('/\)\s*'.$delimiter_regex.'$/', substr($sql_line, -5, 5))) || (!in_array($sql_type, array(3, 9, 10, 12)) && substr($sql_line, -strlen($delimiter), strlen($delimiter)) != $delimiter) || (9 == $sql_type && !preg_match('/(?:END)?\s*'.$delimiter_regex.'\s*$/', $sql_line))) continue;
|
2690 |
|
2691 |
$this->line++;
|
2692 |
|
2698 |
$sql_line = '';
|
2699 |
$sql_type = -1;
|
2700 |
// If this is the very first SQL line of the options table, we need to bail; it's essential
|
2701 |
+
if (0 == $this->insert_statements_run && $this->restoring_table && $this->restoring_table == $import_table_prefix.'options') {
|
2702 |
$updraftplus->log("Leaving maintenance mode");
|
2703 |
$this->maintenance_mode(false);
|
2704 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)'));
|
2710 |
if (preg_match('/^\s*drop table (if exists )?\`?([^\`]*)\`?\s*'.$delimiter_regex.'/i', $sql_line, $matches)) {
|
2711 |
$sql_type = 1;
|
2712 |
|
2713 |
+
if (!$this->printed_new_table_prefix) {
|
2714 |
$import_table_prefix = $this->pre_sql_actions($import_table_prefix);
|
2715 |
if (false === $import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix;
|
2716 |
+
$this->printed_new_table_prefix = true;
|
2717 |
}
|
2718 |
|
2719 |
$this->table_name = $matches[2];
|
2756 |
continue;
|
2757 |
}
|
2758 |
|
2759 |
+
if (!$this->printed_new_table_prefix) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2760 |
$import_table_prefix = $this->pre_sql_actions($import_table_prefix);
|
2761 |
if (false === $import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix;
|
2762 |
+
$this->printed_new_table_prefix = true;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2763 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2764 |
|
2765 |
+
$sql_line = $this->prepare_create_table($sql_line, $import_table_prefix, $supported_engines, $supported_charsets, $supported_collations);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2766 |
|
2767 |
} elseif (preg_match('/^\s*(insert into \`?([^\`]*)\`?\s+(values|\())/i', $sql_line, $matches)) {
|
2768 |
$sql_type = 3;
|
2804 |
} elseif (preg_match('/^\s*create trigger /i', $sql_line)) {
|
2805 |
$sql_type = 9;
|
2806 |
// If the statement is not yet complete, then continue (to get the next line)
|
2807 |
+
if (!preg_match('/(?:END)?\s*'.$delimiter_regex.'\s*$/', $sql_line)) continue;
|
2808 |
+
// If it's a comment then continue;
|
2809 |
+
if (preg_match('/(?:--|#).+?'.$delimiter_regex.'\s*$/i', $buffer)) continue;
|
2810 |
$updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'db', 'data' => array('stage' => 'trigger', 'table' => '')));
|
2811 |
if ('' != $this->old_table_prefix && $import_table_prefix != $this->old_table_prefix) $sql_line = UpdraftPlus_Manipulation_Functions::str_replace_once($this->old_table_prefix, $import_table_prefix, $sql_line);
|
2812 |
+
if (';' !== $delimiter) {
|
2813 |
+
$sql_line = preg_replace('/END\s*'.$delimiter_regex.'\s*$/', 'END', $sql_line);
|
2814 |
+
// handle trigger statement which doesn't include begin and end in the trigger body, and remove the delimiter
|
2815 |
+
$sql_line = preg_replace('/\s*'.$delimiter_regex.'\s*$/', '', $sql_line);
|
2816 |
+
}
|
2817 |
if ($this->triggers_forbidden) $updraftplus->log("Database user lacks permission to create triggers; statement will not be executed ($sql_line)");
|
2818 |
} elseif (preg_match('/^\s*drop trigger /i', $sql_line)) {
|
2819 |
// Avoid sending unrecognised delimiters to the SQL server (this only affects backups created outside UD; we use ";;" which is cunningly compatible)
|
2867 |
}
|
2868 |
$this->maintenance_mode(false);
|
2869 |
|
2870 |
+
if ($this->restoring_table) $this->restored_table($this->restoring_table, $import_table_prefix, $this->old_table_prefix, $this->table_engine);
|
2871 |
|
2872 |
// drop the dummy restored tables
|
2873 |
if ($this->is_dummy_db_restore) $this->drop_tables($this->restored_table_names);
|
2906 |
$skip_table = false;
|
2907 |
$last_table = isset($this->continuation_data['last_processed_db_table']) ? $this->continuation_data['last_processed_db_table'] : '';
|
2908 |
|
2909 |
+
if (!empty($this->tables_to_restore) && !in_array($table_name, $this->tables_to_restore)) {
|
2910 |
+
if (empty($this->previous_table_name) || $table_name != $this->previous_table_name) $updraftplus->log(sprintf(__('Skipping table %s: user has chosen not to restore this table', 'updraftplus'), $table_name), 'notice-restore');
|
2911 |
+
$skip_table = true;
|
2912 |
+
} elseif (!empty($last_table) && !empty($table_name) && $table_name != $last_table) {
|
2913 |
+
if (empty($this->previous_table_name) || $table_name != $this->previous_table_name) $updraftplus->log(sprintf(__('Skipping table %s: already restored on a prior run; next table to restore: %s', 'updraftplus'), $table_name, $last_table), 'notice-restore');
|
2914 |
$skip_table = true;
|
2915 |
} elseif (!empty($last_table) && !empty($table_name) && $table_name == $last_table) {
|
2916 |
unset($this->continuation_data['last_processed_db_table']);
|
3406 |
$wpdb->query("DELETE FROM $new_table_name WHERE option_name = 'jetpack_options'");
|
3407 |
}
|
3408 |
|
3409 |
+
// if we are importing a single site into a multisite (which means we have the multisite add-on) we need to clear our saved options and crons to prevent unwanted backups
|
3410 |
+
if (isset($this->restore_options['updraftplus_migrate_blogname'])) {
|
3411 |
+
$wpdb->query("DELETE FROM {$import_table_prefix}{$mprefix}options WHERE option_name LIKE 'updraft_%'");
|
3412 |
+
$crons = maybe_unserialize($wpdb->get_var("SELECT option_value FROM {$import_table_prefix}{$mprefix}options WHERE option_name = 'cron'"));
|
3413 |
+
foreach ($crons as $timestamp => $cron) {
|
3414 |
+
if (!is_array($cron)) continue;
|
3415 |
+
foreach (array_keys($cron) as $key) {
|
3416 |
+
if (false !== strpos($key, 'updraft_')) unset($crons[$timestamp][$key]);
|
3417 |
+
if (empty($crons[$timestamp])) unset($crons[$timestamp]);
|
3418 |
+
}
|
3419 |
+
}
|
3420 |
+
$crons = serialize($crons);
|
3421 |
+
$wpdb->query($wpdb->prepare("UPDATE {$import_table_prefix}{$mprefix}options SET option_value='%s' WHERE option_name='cron'", $crons));
|
3422 |
+
}
|
3423 |
+
|
3424 |
}
|
3425 |
|
3426 |
} elseif ($import_table_prefix != $old_table_prefix && preg_match('/^([\d+]_)?usermeta$/', substr($table, strlen($import_table_prefix)), $matches)) {
|
@@ -21,7 +21,13 @@ $image_folder_url = UPDRAFTPLUS_URL.'/images/icons/';
|
|
21 |
</thead>
|
22 |
<tbody>
|
23 |
<?php
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
foreach ($backup_history as $key => $backup) {
|
26 |
|
27 |
$remote_sent = !empty($backup['service']) && ((is_array($backup['service']) && in_array('remotesend', $backup['service'])) || 'remotesend' === $backup['service']);
|
@@ -146,6 +152,15 @@ $image_folder_url = UPDRAFTPLUS_URL.'/images/icons/';
|
|
146 |
<?php } ?>
|
147 |
|
148 |
</tbody>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
149 |
</table>
|
150 |
<?php if (!defined('UPDRAFTCENTRAL_COMMAND')) : ?>
|
151 |
<div id="ud_massactions">
|
21 |
</thead>
|
22 |
<tbody>
|
23 |
<?php
|
24 |
+
|
25 |
+
if (!defined('UPDRAFTCENTRAL_COMMAND') && $backup_count <= count($backup_history) - 1) {
|
26 |
+
$backup_history = array_slice($backup_history, 0, $backup_count, true);
|
27 |
+
} else {
|
28 |
+
$show_paging_actions = true;
|
29 |
+
}
|
30 |
+
|
31 |
foreach ($backup_history as $key => $backup) {
|
32 |
|
33 |
$remote_sent = !empty($backup['service']) && ((is_array($backup['service']) && in_array('remotesend', $backup['service'])) || 'remotesend' === $backup['service']);
|
152 |
<?php } ?>
|
153 |
|
154 |
</tbody>
|
155 |
+
<?php if (!$show_paging_actions) : ?>
|
156 |
+
<tfoot>
|
157 |
+
<tr class="updraft_existing_backups_page_actions">
|
158 |
+
<td colspan="4" style="text-align: center;">
|
159 |
+
<a class="updraft-load-more-backups"><?php _e('Show more backups...', 'updraftplus');?></a> | <a class="updraft-load-all-backups"><?php _e('Show all backups...', 'updraftplus');?></a>
|
160 |
+
</td>
|
161 |
+
</tr>
|
162 |
+
</tfoot>
|
163 |
+
<?php endif; ?>
|
164 |
</table>
|
165 |
<?php if (!defined('UPDRAFTCENTRAL_COMMAND')) : ?>
|
166 |
<div id="ud_massactions">
|
@@ -291,7 +291,7 @@ foreach ($default_options as $k => $v) {
|
|
291 |
|
292 |
<tr>
|
293 |
<th><?php _e('Expert settings', 'updraftplus');?>:</th>
|
294 |
-
<td><a class="enableexpertmode" href="<?php echo UpdraftPlus::get_current_clean_url();?>#enableexpertmode"><?php _e('Show expert settings', 'updraftplus');?></a> - <?php _e("
|
295 |
</tr>
|
296 |
<?php
|
297 |
$delete_local = UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1);
|
291 |
|
292 |
<tr>
|
293 |
<th><?php _e('Expert settings', 'updraftplus');?>:</th>
|
294 |
+
<td><a class="enableexpertmode" href="<?php echo UpdraftPlus::get_current_clean_url();?>#enableexpertmode"><?php _e('Show expert settings', 'updraftplus');?></a> - <?php _e("open this to show some further options; don't bother with this unless you have a problem or are curious.", 'updraftplus');?> <?php do_action('updraftplus_expertsettingsdescription'); ?></td>
|
295 |
</tr>
|
296 |
<?php
|
297 |
$delete_local = UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1);
|
@@ -5,7 +5,7 @@ Plugin Name: UpdraftPlus - Backup/Restore
|
|
5 |
Plugin URI: https://updraftplus.com
|
6 |
Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
|
7 |
Author: UpdraftPlus.Com, DavidAnderson
|
8 |
-
Version: 1.16.
|
9 |
Donate link: https://david.dw-perspective.org.uk/donate
|
10 |
License: GPLv3 or later
|
11 |
Text Domain: updraftplus
|
@@ -45,7 +45,7 @@ define('UPDRAFT_DEFAULT_UPLOADS_EXCLUDE', 'backup*,*backups,backwpup*,wp-clone,s
|
|
45 |
|
46 |
// The following can go in your wp-config.php
|
47 |
// Tables whose data can be skipped without significant loss, if (and only if) the attempt to back them up fails (e.g. bwps_log, from WordPress Better Security, is log data; but individual entries can be huge and cause out-of-memory fatal errors on low-resource environments). Comma-separate the table names (without the WordPress table prefix).
|
48 |
-
if (!defined('UPDRAFTPLUS_DATA_OPTIONAL_TABLES')) define('UPDRAFTPLUS_DATA_OPTIONAL_TABLES', 'bwps_log,statpress,slim_stats,redirection_logs,Counterize,Counterize_Referers,Counterize_UserAgents,wbz404_logs,wbz404_redirects,tts_trafficstats,tts_referrer_stats,wponlinebackup_generations,svisitor_stat,simple_feed_stats,itsec_log,relevanssi_log,blc_instances,wysija_email_user_stat,woocommerce_sessions,et_bloom_stats,redirection_404,lbakut_activity_log,stream_meta');
|
49 |
if (!defined('UPDRAFTPLUS_ZIP_EXECUTABLE')) define('UPDRAFTPLUS_ZIP_EXECUTABLE', "/usr/bin/zip,/bin/zip,/usr/local/bin/zip,/usr/sfw/bin/zip,/usr/xdg4/bin/zip,/opt/bin/zip");
|
50 |
if (!defined('UPDRAFTPLUS_MYSQLDUMP_EXECUTABLE')) define('UPDRAFTPLUS_MYSQLDUMP_EXECUTABLE', updraftplus_build_mysqldump_list());
|
51 |
// If any individual file size is greater than this, then a warning is given
|
5 |
Plugin URI: https://updraftplus.com
|
6 |
Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
|
7 |
Author: UpdraftPlus.Com, DavidAnderson
|
8 |
+
Version: 1.16.23
|
9 |
Donate link: https://david.dw-perspective.org.uk/donate
|
10 |
License: GPLv3 or later
|
11 |
Text Domain: updraftplus
|
45 |
|
46 |
// The following can go in your wp-config.php
|
47 |
// Tables whose data can be skipped without significant loss, if (and only if) the attempt to back them up fails (e.g. bwps_log, from WordPress Better Security, is log data; but individual entries can be huge and cause out-of-memory fatal errors on low-resource environments). Comma-separate the table names (without the WordPress table prefix).
|
48 |
+
if (!defined('UPDRAFTPLUS_DATA_OPTIONAL_TABLES')) define('UPDRAFTPLUS_DATA_OPTIONAL_TABLES', 'bwps_log,statpress,slim_stats,redirection_logs,Counterize,Counterize_Referers,Counterize_UserAgents,wbz404_logs,wbz404_redirects,tts_trafficstats,tts_referrer_stats,wponlinebackup_generations,svisitor_stat,simple_feed_stats,itsec_log,relevanssi_log,blc_instances,wysija_email_user_stat,woocommerce_sessions,et_bloom_stats,redirection_404,lbakut_activity_log,stream_meta,wfFileMods,wffilemods,wfBlockedIPLog,wfblockediplog,page_visit_history');
|
49 |
if (!defined('UPDRAFTPLUS_ZIP_EXECUTABLE')) define('UPDRAFTPLUS_ZIP_EXECUTABLE', "/usr/bin/zip,/bin/zip,/usr/local/bin/zip,/usr/sfw/bin/zip,/usr/xdg4/bin/zip,/opt/bin/zip");
|
50 |
if (!defined('UPDRAFTPLUS_MYSQLDUMP_EXECUTABLE')) define('UPDRAFTPLUS_MYSQLDUMP_EXECUTABLE', updraftplus_build_mysqldump_list());
|
51 |
// If any individual file size is greater than this, then a warning is given
|
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit74ddf1058990793d8e8d129bae6818ef::getLoader();
|
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitd56ba48c31cd16567b66dd0f477c61cc
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$includePaths = require __DIR__ . '/include_paths.php';
|
27 |
$includePaths[] = get_include_path();
|
@@ -31,7 +31,7 @@ class ComposerAutoloaderInitd56ba48c31cd16567b66dd0f477c61cc
|
|
31 |
if ($useStaticLoader) {
|
32 |
require_once __DIR__ . '/autoload_static.php';
|
33 |
|
34 |
-
call_user_func(\Composer\Autoload\
|
35 |
} else {
|
36 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
37 |
foreach ($map as $namespace => $path) {
|
@@ -52,19 +52,19 @@ class ComposerAutoloaderInitd56ba48c31cd16567b66dd0f477c61cc
|
|
52 |
$loader->register(true);
|
53 |
|
54 |
if ($useStaticLoader) {
|
55 |
-
$includeFiles = Composer\Autoload\
|
56 |
} else {
|
57 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
58 |
}
|
59 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
60 |
-
|
61 |
}
|
62 |
|
63 |
return $loader;
|
64 |
}
|
65 |
}
|
66 |
|
67 |
-
function
|
68 |
{
|
69 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
70 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit74ddf1058990793d8e8d129bae6818ef
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit74ddf1058990793d8e8d129bae6818ef', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit74ddf1058990793d8e8d129bae6818ef', 'loadClassLoader'));
|
25 |
|
26 |
$includePaths = require __DIR__ . '/include_paths.php';
|
27 |
$includePaths[] = get_include_path();
|
31 |
if ($useStaticLoader) {
|
32 |
require_once __DIR__ . '/autoload_static.php';
|
33 |
|
34 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit74ddf1058990793d8e8d129bae6818ef::getInitializer($loader));
|
35 |
} else {
|
36 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
37 |
foreach ($map as $namespace => $path) {
|
52 |
$loader->register(true);
|
53 |
|
54 |
if ($useStaticLoader) {
|
55 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit74ddf1058990793d8e8d129bae6818ef::$files;
|
56 |
} else {
|
57 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
58 |
}
|
59 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
60 |
+
composerRequire74ddf1058990793d8e8d129bae6818ef($fileIdentifier, $file);
|
61 |
}
|
62 |
|
63 |
return $loader;
|
64 |
}
|
65 |
}
|
66 |
|
67 |
+
function composerRequire74ddf1058990793d8e8d129bae6818ef($fileIdentifier, $file)
|
68 |
{
|
69 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
70 |
require $file;
|
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'ce89ac35a6c330c55f4710717db9ff78' => __DIR__ . '/..' . '/kriswallsmith/assetic/src/functions.php',
|
@@ -146,10 +146,10 @@ class ComposerStaticInitd56ba48c31cd16567b66dd0f477c61cc
|
|
146 |
public static function getInitializer(ClassLoader $loader)
|
147 |
{
|
148 |
return \Closure::bind(function () use ($loader) {
|
149 |
-
$loader->prefixLengthsPsr4 =
|
150 |
-
$loader->prefixDirsPsr4 =
|
151 |
-
$loader->prefixesPsr0 =
|
152 |
-
$loader->classMap =
|
153 |
|
154 |
}, null, ClassLoader::class);
|
155 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit74ddf1058990793d8e8d129bae6818ef
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'ce89ac35a6c330c55f4710717db9ff78' => __DIR__ . '/..' . '/kriswallsmith/assetic/src/functions.php',
|
146 |
public static function getInitializer(ClassLoader $loader)
|
147 |
{
|
148 |
return \Closure::bind(function () use ($loader) {
|
149 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit74ddf1058990793d8e8d129bae6818ef::$prefixLengthsPsr4;
|
150 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit74ddf1058990793d8e8d129bae6818ef::$prefixDirsPsr4;
|
151 |
+
$loader->prefixesPsr0 = ComposerStaticInit74ddf1058990793d8e8d129bae6818ef::$prefixesPsr0;
|
152 |
+
$loader->classMap = ComposerStaticInit74ddf1058990793d8e8d129bae6818ef::$classMap;
|
153 |
|
154 |
}, null, ClassLoader::class);
|
155 |
}
|
@@ -709,23 +709,23 @@
|
|
709 |
},
|
710 |
{
|
711 |
"name": "symfony/process",
|
712 |
-
"version": "v3.4.
|
713 |
-
"version_normalized": "3.4.
|
714 |
"source": {
|
715 |
"type": "git",
|
716 |
"url": "https://github.com/symfony/process.git",
|
717 |
-
"reference": "
|
718 |
},
|
719 |
"dist": {
|
720 |
"type": "zip",
|
721 |
-
"url": "https://api.github.com/repos/symfony/process/zipball/
|
722 |
-
"reference": "
|
723 |
"shasum": ""
|
724 |
},
|
725 |
"require": {
|
726 |
"php": "^5.5.9|>=7.0.8"
|
727 |
},
|
728 |
-
"time": "2020-
|
729 |
"type": "library",
|
730 |
"extra": {
|
731 |
"branch-alias": {
|
709 |
},
|
710 |
{
|
711 |
"name": "symfony/process",
|
712 |
+
"version": "v3.4.38",
|
713 |
+
"version_normalized": "3.4.38.0",
|
714 |
"source": {
|
715 |
"type": "git",
|
716 |
"url": "https://github.com/symfony/process.git",
|
717 |
+
"reference": "b03b02dcea26ba4c65c16a73bab4f00c186b13da"
|
718 |
},
|
719 |
"dist": {
|
720 |
"type": "zip",
|
721 |
+
"url": "https://api.github.com/repos/symfony/process/zipball/b03b02dcea26ba4c65c16a73bab4f00c186b13da",
|
722 |
+
"reference": "b03b02dcea26ba4c65c16a73bab4f00c186b13da",
|
723 |
"shasum": ""
|
724 |
},
|
725 |
"require": {
|
726 |
"php": "^5.5.9|>=7.0.8"
|
727 |
},
|
728 |
+
"time": "2020-02-04T08:04:52+00:00",
|
729 |
"type": "library",
|
730 |
"extra": {
|
731 |
"branch-alias": {
|