Version Description
31/May/2019 =
FEATURE: Added the ability to use already existing local backups with UpdraftClone
FIX: Prevent PHP fatal error (regression) when WP_Filesystem credentials were needed and wrong ones were supplied
FIX: Issue where you could not delete old directories from the restore progress page
FIX: Issue where restore would not run over AJAX if wrong credentials were entered when WordPress requested filesystem credentials
FIX: Fix incorrect refusal to accept valid email addresses in the UpdraftCentral wizard
TRANSLATION: The Italian translation is now complete and supplied from wordpress.org, so can be removed from the free plugin zip (saves 424KB disk space - if your mother tongue is not English and you want to improve UpdraftPlus, take a look at: https://translate.wordpress.org/projects/wp-plugins/updraftplus).
TWEAK: Update UpdraftCentral theme module handler to support themes without a name header
TWEAK: Prevent PHP log notice when fetching available theme updates via UpdraftCentral
TWEAK: Add more scheduling options to the built-in list (you can still further add whatever other arbitrary options you like: https://updraftplus.com/faqs/how-can-i-add-any-new-scheduling-interval-to-updraftplus/)
TWEAK: Abstract the code for handling maintenance mode to allow future improvements
TWEAK: Fix a potential wrong file path in an error message
TWEAK: If there is more than one Google Drive folder of the same name, now the selection is deterministic: the oldest one is always used
TWEAK: Infer phpseclib class path from the class name, instead of hard-coding it
TWEAK: Some lines that were meant to include HTML bold in the browser output had lost that effect
TWEAK: Add what entity caused the automatic backup to the logfile
TWEAK: Upon restoration, a couple of known plugin cache directories will be emptied to prevent serving up an intermediate page
TWEAK: Fix a bug in the "fail on resume" error-trapping logic which could cause it too resume too many times
TWEAK: Prevent a bogus error message being logged at the end of a successful direct site-to-site transfer
TWEAK: Add backup size information when hovering at the backup data buttons (excluding database button)
TWEAK: Allow the plugin to connect to account and activate Premium licence if no more UpdraftCentral Cloud licences remain and the user enables the 'Add this website to UpdraftCentral' option in the Premium/Extensions tab
TWEAK: During a restore send structured data to the front end. This is preparing the way for future UX improvements.
Release Info
Developer | DavidAnderson |
Plugin | UpdraftPlus WordPress Backup Plugin |
Version | 1.16.15 |
Comparing to | |
See all releases |
Code changes from version 1.16.14 to 1.16.15
- admin.php +166 -50
- central/modules/theme.php +24 -11
- central/modules/updates.php +6 -5
- class-updraftplus.php +125 -42
- includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php +1 -1
- includes/Dropbox2/OAuth/Storage/Encrypter.php +3 -3
- includes/checkout-embed/products.json +1 -1
- includes/class-backup-history.php +0 -5
- includes/class-filesystem-functions.php +4 -2
- includes/class-udrpc.php +2 -1
- includes/class-updraftplus-encryption.php +2 -2
- includes/updraft-admin-common.js +52 -29
- includes/updraft-admin-common.min.js +4 -4
- index.html +3 -13
- js/updraft-admin-restore.js +24 -2
- js/updraft-admin-restore.min.js +1 -1
- languages/updraftplus-da_DK.mo +0 -0
- languages/updraftplus-da_DK.po +149 -149
- languages/updraftplus-it_IT.mo +0 -0
- languages/updraftplus-it_IT.po +0 -7693
- languages/updraftplus.pot +719 -707
- methods/googledrive.php +59 -32
- methods/remotesend.php +19 -18
- readme.txt +27 -4
- restorer.php +32 -22
- templates/wp-admin/settings/form-contents.php +2 -1
- updraftplus.php +1 -1
- 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
- vendor/symfony/event-dispatcher/Tests/AbstractEventDispatcherTest.php +0 -398
- vendor/symfony/event-dispatcher/Tests/ContainerAwareEventDispatcherTest.php +0 -277
- vendor/symfony/event-dispatcher/Tests/Debug/TraceableEventDispatcherTest.php +0 -254
- vendor/symfony/event-dispatcher/Tests/DependencyInjection/RegisterListenersPassTest.php +0 -154
- vendor/symfony/event-dispatcher/Tests/EventDispatcherTest.php +0 -22
- vendor/symfony/event-dispatcher/Tests/EventTest.php +0 -97
- vendor/symfony/event-dispatcher/Tests/GenericEventTest.php +0 -136
- vendor/symfony/event-dispatcher/Tests/ImmutableEventDispatcherTest.php +0 -106
- vendor/symfony/process/Process.php +1 -0
- vendor/symfony/process/Tests/ExecutableFinderTest.php +0 -178
- vendor/symfony/process/Tests/NonStopableProcess.php +0 -47
- vendor/symfony/process/Tests/PhpExecutableFinderTest.php +0 -72
- vendor/symfony/process/Tests/PhpProcessTest.php +0 -48
- vendor/symfony/process/Tests/PipeStdinInStdoutStdErrStreamSelect.php +0 -72
- vendor/symfony/process/Tests/ProcessBuilderTest.php +0 -226
- vendor/symfony/process/Tests/ProcessFailedExceptionTest.php +0 -137
- vendor/symfony/process/Tests/ProcessTest.php +0 -1618
- vendor/symfony/process/Tests/ProcessUtilsTest.php +0 -53
- vendor/symfony/process/Tests/SignalListener.php +0 -21
@@ -300,6 +300,11 @@ class UpdraftPlus_Admin {
|
|
300 |
}
|
301 |
}
|
302 |
}
|
|
|
|
|
|
|
|
|
|
|
303 |
}
|
304 |
|
305 |
/**
|
@@ -587,7 +592,7 @@ class UpdraftPlus_Admin {
|
|
587 |
<script>
|
588 |
jQuery(document).ready(function($) {
|
589 |
if ($('#dashboard-widgets #dashboard_php_nag').length < 1) return;
|
590 |
-
$('#dashboard-widgets #dashboard_php_nag .button-container').before('<div class="updraft-ad-container"><a href="<?php echo UpdraftPlus_Options::admin_page_url(); ?>?page=updraftplus&tab=migrate#updraft-navtab-migrate-content"><?php echo esc_js(__('You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits.', 'updraftplus')); ?></a> (<a href="#" onclick="jQuery(\'.updraft-ad-container\').slideUp(); jQuery.post(ajaxurl, {action: \'updraft_ajax\', subaction: \'dismiss_clone_php_notice\', nonce: \'<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>\' });return false;"
|
591 |
});
|
592 |
</script>
|
593 |
<?php
|
@@ -971,7 +976,8 @@ class UpdraftPlus_Admin {
|
|
971 |
.'<p>'.__('UpdraftVault is our remote storage which works seamlessly with UpdraftPlus.', 'updraftplus')
|
972 |
.' <a href="'.apply_filters('updraftplus_com_link', 'https://updraftplus.com/updraftvault/').'" target="_blank">'.__('Find out more here.', 'updraftplus').'</a>'
|
973 |
.'</p>'
|
974 |
-
.'<p><a href="'.apply_filters('updraftplus_com_link', $updraftplus->get_url('shop_vault_5')).'" target="_blank" '.$checkout_embed_5gb_trial_attribute.' class="button button-primary">'.__('Try it - 1 month for $1!', 'updraftplus').'</a></p>'
|
|
|
975 |
|
976 |
));
|
977 |
}
|
@@ -1240,7 +1246,14 @@ class UpdraftPlus_Admin {
|
|
1240 |
public function show_admin_warning_dreamobjects() {
|
1241 |
$this->show_admin_warning('<strong>'.__('UpdraftPlus notice:', 'updraftplus').'</strong> '.sprintf(__('The %s endpoint is scheduled to shut down on the 1st October 2018. You will need to switch to a different end-point and migrate your data before that date. %sPlease see this article for more information%s'), 'objects-us-west-1.dream.io', '<a href="https://help.dreamhost.com/hc/en-us/articles/360002135871-Cluster-migration-procedure" target="_blank">', '</a>'), 'updated');
|
1242 |
}
|
1243 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1244 |
/**
|
1245 |
* This method will setup the storage object and get the authentication link ready to be output with the notice
|
1246 |
*
|
@@ -2085,6 +2098,8 @@ class UpdraftPlus_Admin {
|
|
2085 |
'm' => apply_filters('updraftplus_backupnow_start_message', '<strong>'.__('Start backup', 'updraftplus').':</strong> '.htmlspecialchars(__('OK. You should soon see activity in the "Last log message" field below.', 'updraftplus')), $nonce)
|
2086 |
);
|
2087 |
|
|
|
|
|
2088 |
if (!empty($request['incremental']) && !$incremental) {
|
2089 |
$msg = array(
|
2090 |
'error' => __('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.', 'updaftplus')
|
@@ -3132,7 +3147,7 @@ class UpdraftPlus_Admin {
|
|
3132 |
echo '<p>'.__('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.', 'updraftplus').'</p>';
|
3133 |
}
|
3134 |
?>
|
3135 |
-
<form method="post" action="<?php echo esc_url(add_query_arg(array('error' => false, 'updraft_restore_success' => false, 'action' => false, 'page' => 'updraftplus'))); ?>">
|
3136 |
<?php wp_nonce_field('updraftplus-credentialtest-nonce', 'updraft_delete_old_dirs_nonce'); ?>
|
3137 |
<input type="hidden" name="action" value="updraft_delete_old_dirs">
|
3138 |
<input type="submit" class="button-primary" value="<?php echo esc_attr(__('Delete Old Directories', 'updraftplus'));?>">
|
@@ -3701,19 +3716,27 @@ class UpdraftPlus_Admin {
|
|
3701 |
/**
|
3702 |
* Get a list of backup intervals
|
3703 |
*
|
|
|
|
|
3704 |
* @return Array - keys are used as identifiers in the UI drop-down; values are user-displayed text describing the interval
|
3705 |
*/
|
3706 |
-
public function get_intervals() {
|
3707 |
-
|
3708 |
-
'manual' => _x(
|
3709 |
-
'
|
3710 |
-
'
|
3711 |
-
'
|
3712 |
-
'
|
3713 |
-
'
|
3714 |
-
'
|
3715 |
-
'
|
3716 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
3717 |
}
|
3718 |
|
3719 |
public function really_writable_message($really_is_writable, $updraft_dir) {
|
@@ -4087,6 +4110,7 @@ class UpdraftPlus_Admin {
|
|
4087 |
$entities .= '/plugins=0//themes=0//uploads=0//others=0/';
|
4088 |
}
|
4089 |
$printing_first = true;
|
|
|
4090 |
foreach ($whatfiles as $findex => $bfile) {
|
4091 |
|
4092 |
$pdescrip = ($findex > 0) ? $sdescrip.' ('.($findex+1).')' : $sdescrip;
|
@@ -4095,8 +4119,11 @@ class UpdraftPlus_Admin {
|
|
4095 |
} else {
|
4096 |
$ret .= '<div class="updraft-hidden" style="display:none;">';
|
4097 |
}
|
4098 |
-
if (
|
4099 |
-
if ($
|
|
|
|
|
|
|
4100 |
}
|
4101 |
if ($index_missing) {
|
4102 |
if ($printing_first) $ide .= ' '.__('You appear to be missing one or more archives from this multi-archive set.', 'updraftplus');
|
@@ -4115,6 +4142,7 @@ class UpdraftPlus_Admin {
|
|
4115 |
$printing_first = false;
|
4116 |
}
|
4117 |
}
|
|
|
4118 |
}
|
4119 |
}
|
4120 |
return $ret;
|
@@ -4203,23 +4231,9 @@ class UpdraftPlus_Admin {
|
|
4203 |
|
4204 |
if ($show_upload) {
|
4205 |
|
4206 |
-
$
|
4207 |
-
$entities = $updraftplus->get_backupable_file_entities(true);
|
4208 |
-
// Add the database to the entities array ready to loop over
|
4209 |
-
$entities['db'] = '';
|
4210 |
-
$updraft_dir = trailingslashit($updraftplus->backups_dir_location());
|
4211 |
-
|
4212 |
-
foreach ($entities as $type => $info) {
|
4213 |
-
|
4214 |
-
if (!isset($backup[$type])) continue;
|
4215 |
-
|
4216 |
-
// Cast this to an array so that a warning is not thrown when we encounter a Database.
|
4217 |
-
foreach ((array) $backup[$type] as $value) {
|
4218 |
-
if (!file_exists($updraft_dir . DIRECTORY_SEPARATOR . $value)) $missing_file = true;
|
4219 |
-
}
|
4220 |
-
}
|
4221 |
|
4222 |
-
if (
|
4223 |
$service_list = '';
|
4224 |
$service_list_display = '';
|
4225 |
$is_first_service = true;
|
@@ -4287,6 +4301,55 @@ ENDHERE;
|
|
4287 |
}
|
4288 |
}
|
4289 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4290 |
/**
|
4291 |
* This function will set up the backup job data for when we are uploading a local backup to remote storage. It changes the initial jobdata so that UpdraftPlus knows about what files it's uploading and so that it skips directly to the upload stage.
|
4292 |
*
|
@@ -4303,7 +4366,6 @@ ENDHERE;
|
|
4303 |
$backup_history = UpdraftPlus_Backup_History::get_history();
|
4304 |
$services = !empty($options['services']) ? $options['services'] : array();
|
4305 |
$backup = $backup_history[$options['use_timestamp']];
|
4306 |
-
$backupable_entities = $updraftplus->get_backupable_file_entities(true);
|
4307 |
|
4308 |
/*
|
4309 |
The initial job data is not set up in a key value array instead it is set up so key "x" is the name of the key and then key "y" is the value.
|
@@ -4316,15 +4378,8 @@ ENDHERE;
|
|
4316 |
$service_key = array_search('service', $jobdata) + 1;
|
4317 |
|
4318 |
$db_backups = $jobdata[$backup_database_key];
|
4319 |
-
$file_backups = array();
|
4320 |
-
|
4321 |
-
// We need to construct the expected files array here, this gets added to the jobdata much later in the backup process but we need this before we start
|
4322 |
-
foreach ($backupable_entities as $entity => $path) {
|
4323 |
-
if (isset($backup[$entity])) $file_backups[$entity] = $backup[$entity];
|
4324 |
-
if (isset($backup[$entity.'-size'])) $file_backups[$entity.'-size'] = $backup[$entity.'-size'];
|
4325 |
-
}
|
4326 |
-
|
4327 |
$db_backup_info = $updraftplus->update_database_jobdata($db_backups, $backup);
|
|
|
4328 |
|
4329 |
// Next we need to build the services array using the remote storage destinations the user has selected to upload this backup set to
|
4330 |
$selected_services = array();
|
@@ -4341,6 +4396,8 @@ ENDHERE;
|
|
4341 |
$jobdata[] = 'blog_name';
|
4342 |
$jobdata[] = $db_backup_info['blog_name'];
|
4343 |
$jobdata[$backup_database_key] = $db_backup_info['db_backups'];
|
|
|
|
|
4344 |
if (!empty($selected_services)) $jobdata[$service_key] = $selected_services;
|
4345 |
|
4346 |
|
@@ -4432,6 +4489,8 @@ ENDHERE;
|
|
4432 |
// return to prevent any more code from running
|
4433 |
return $this->prepare_ajax_restore();
|
4434 |
}
|
|
|
|
|
4435 |
|
4436 |
$is_continuation = ('updraft_restore_continue' == $_REQUEST['action']) ? true : false;
|
4437 |
|
@@ -4453,11 +4512,9 @@ ENDHERE;
|
|
4453 |
} elseif (isset($_REQUEST['updraftplus_ajax_restore']) && 'do_ajax_restore' == $_REQUEST['updraftplus_ajax_restore']) {
|
4454 |
$backup_timestamp = $updraftplus->jobdata_get('backup_timestamp');
|
4455 |
$filesystem_credentials = $updraftplus->jobdata_get('filesystem_credentials', array());
|
|
|
4456 |
|
4457 |
-
if (empty($filesystem_credentials)) {
|
4458 |
-
$continuation_data = array('updraftplus_ajax_restore' => 'continue_ajax_restore');
|
4459 |
-
} else {
|
4460 |
-
$continuation_data = null;
|
4461 |
// If the filesystem credentials are not empty then we now need to load these back into $_POST so that WP_Filesystem can access them
|
4462 |
foreach ($filesystem_credentials as $key => $value) {
|
4463 |
$_POST[$key] = $value;
|
@@ -4521,17 +4578,20 @@ ENDHERE;
|
|
4521 |
private function prepare_ajax_restore() {
|
4522 |
global $updraftplus;
|
4523 |
|
4524 |
-
$
|
4525 |
-
$
|
|
|
4526 |
|
4527 |
wp_enqueue_script('updraft-admin-restore', UPDRAFTPLUS_URL . '/js/updraft-admin-restore' . $min_or_not . '.js', array(), $enqueue_version);
|
4528 |
|
4529 |
-
$this->show_admin_warning('<p>'.
|
4530 |
|
4531 |
// Provide download link for the log file
|
4532 |
$this->show_admin_warning('<a target="_blank" href="?action=downloadlog&page=updraftplus&updraftplus_backup_nonce='.htmlspecialchars($updraftplus->nonce).'">'.__('Follow this link to download the log file for this restoration (needed for any support requests).', 'updraftplus').'</a>');
|
4533 |
|
|
|
4534 |
echo '<input type="hidden" id="updraftplus_ajax_restore_job_id" name="updraftplus_restore_job_id" value="' . $updraftplus->nonce . '">';
|
|
|
4535 |
echo '<div id="updraftplus_ajax_restore_output"></div>';
|
4536 |
}
|
4537 |
|
@@ -4615,7 +4675,14 @@ ENDHERE;
|
|
4615 |
'job_id' => $updraftplus->nonce
|
4616 |
);
|
4617 |
|
4618 |
-
if (!empty($continuation_data['updraftplus_ajax_restore']))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4619 |
|
4620 |
$updraftplus->log("Ensuring WP_Filesystem is setup for a restore");
|
4621 |
|
@@ -4624,6 +4691,8 @@ ENDHERE;
|
|
4624 |
|
4625 |
$updraftplus->log("WP_Filesystem is setup and ready for a restore");
|
4626 |
|
|
|
|
|
4627 |
// The <div> is closed by Updraft_Restorer::post_restore_clean_up()
|
4628 |
echo '<h1>'.__('UpdraftPlus Restoration: Progress', 'updraftplus').'</h1><div id="updraft-restore-progress">';
|
4629 |
|
@@ -4670,6 +4739,29 @@ ENDHERE;
|
|
4670 |
public function restoration_title($title) {
|
4671 |
echo '<h2>'.$title.'</h2>';
|
4672 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4673 |
|
4674 |
/**
|
4675 |
* Ensure that what is returned is an array. Used as a WP options filter.
|
@@ -5374,6 +5466,30 @@ ENDHERE;
|
|
5374 |
$output .= ' <span class="updraftplus-option-label">'.__('Clone region:', 'updraftplus').'</span> ';
|
5375 |
$output .= $this->output_select_data($this->regions, 'region');
|
5376 |
$output .= '</p>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5377 |
if ((defined('UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT') && UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT) || $is_admin_user) {
|
5378 |
$output .= '<p class="updraftplus-option updraftplus-option-inline updraftclone-branch">';
|
5379 |
$output .= ' <span class="updraftplus-option-label">UpdraftClone Branch:</span> ';
|
300 |
}
|
301 |
}
|
302 |
}
|
303 |
+
|
304 |
+
// If the plugin was not able to connect to a UDC account due to lack of licences
|
305 |
+
if (isset($_GET['udc_connect']) && 0 == $_GET['udc_connect']) {
|
306 |
+
add_action('all_admin_notices', array($this, 'show_admin_warning_udc_couldnt_connect'));
|
307 |
+
}
|
308 |
}
|
309 |
|
310 |
/**
|
592 |
<script>
|
593 |
jQuery(document).ready(function($) {
|
594 |
if ($('#dashboard-widgets #dashboard_php_nag').length < 1) return;
|
595 |
+
$('#dashboard-widgets #dashboard_php_nag .button-container').before('<div class="updraft-ad-container"><a href="<?php echo UpdraftPlus_Options::admin_page_url(); ?>?page=updraftplus&tab=migrate#updraft-navtab-migrate-content"><?php echo esc_js(__('You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits.', 'updraftplus')); ?></a> (<a href="#" onclick="jQuery(\'.updraft-ad-container\').slideUp(); jQuery.post(ajaxurl, {action: \'updraft_ajax\', subaction: \'dismiss_clone_php_notice\', nonce: \'<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>\' });return false;"><?php _e('Dismiss notice', 'updraftplus'); ?></a>)</div>');
|
596 |
});
|
597 |
</script>
|
598 |
<?php
|
976 |
.'<p>'.__('UpdraftVault is our remote storage which works seamlessly with UpdraftPlus.', 'updraftplus')
|
977 |
.' <a href="'.apply_filters('updraftplus_com_link', 'https://updraftplus.com/updraftvault/').'" target="_blank">'.__('Find out more here.', 'updraftplus').'</a>'
|
978 |
.'</p>'
|
979 |
+
.'<p><a href="'.apply_filters('updraftplus_com_link', $updraftplus->get_url('shop_vault_5')).'" target="_blank" '.$checkout_embed_5gb_trial_attribute.' class="button button-primary">'.__('Try it - 1 month for $1!', 'updraftplus').'</a></p>',
|
980 |
+
'login_udc_no_licences_short' => __('No UpdraftCentral licences were available. Continuing to connect to account.')
|
981 |
|
982 |
));
|
983 |
}
|
1246 |
public function show_admin_warning_dreamobjects() {
|
1247 |
$this->show_admin_warning('<strong>'.__('UpdraftPlus notice:', 'updraftplus').'</strong> '.sprintf(__('The %s endpoint is scheduled to shut down on the 1st October 2018. You will need to switch to a different end-point and migrate your data before that date. %sPlease see this article for more information%s'), 'objects-us-west-1.dream.io', '<a href="https://help.dreamhost.com/hc/en-us/articles/360002135871-Cluster-migration-procedure" target="_blank">', '</a>'), 'updated');
|
1248 |
}
|
1249 |
+
|
1250 |
+
/**
|
1251 |
+
* Show notice if the account connection attempted to register with UDC Cloud but could not due to lack of licences
|
1252 |
+
*/
|
1253 |
+
public function show_admin_warning_udc_couldnt_connect() {
|
1254 |
+
$this->show_admin_warning('<strong>'.__('Notice', 'updraftplus').':</strong> '.sprintf(__('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.', 'updraftplus'), 'UpdraftPlus.com', 'UpdraftCentral Cloud'), 'updated');
|
1255 |
+
}
|
1256 |
+
|
1257 |
/**
|
1258 |
* This method will setup the storage object and get the authentication link ready to be output with the notice
|
1259 |
*
|
2098 |
'm' => apply_filters('updraftplus_backupnow_start_message', '<strong>'.__('Start backup', 'updraftplus').':</strong> '.htmlspecialchars(__('OK. You should soon see activity in the "Last log message" field below.', 'updraftplus')), $nonce)
|
2099 |
);
|
2100 |
|
2101 |
+
if (!empty($request['backup_nonce']) && 'current' != $request['backup_nonce']) $msg['nonce'] = $request['backup_nonce'];
|
2102 |
+
|
2103 |
if (!empty($request['incremental']) && !$incremental) {
|
2104 |
$msg = array(
|
2105 |
'error' => __('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.', 'updaftplus')
|
3147 |
echo '<p>'.__('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.', 'updraftplus').'</p>';
|
3148 |
}
|
3149 |
?>
|
3150 |
+
<form method="post" action="<?php echo esc_url(add_query_arg(array('error' => false, 'updraft_restore_success' => false, 'action' => false, 'page' => 'updraftplus'), UpdraftPlus_Options::admin_page_url())); ?>">
|
3151 |
<?php wp_nonce_field('updraftplus-credentialtest-nonce', 'updraft_delete_old_dirs_nonce'); ?>
|
3152 |
<input type="hidden" name="action" value="updraft_delete_old_dirs">
|
3153 |
<input type="submit" class="button-primary" value="<?php echo esc_attr(__('Delete Old Directories', 'updraftplus'));?>">
|
3716 |
/**
|
3717 |
* Get a list of backup intervals
|
3718 |
*
|
3719 |
+
* @param String $what_for - 'files' or 'db'
|
3720 |
+
*
|
3721 |
* @return Array - keys are used as identifiers in the UI drop-down; values are user-displayed text describing the interval
|
3722 |
*/
|
3723 |
+
public function get_intervals($what_for = 'db') {
|
3724 |
+
$intervals = array(
|
3725 |
+
'manual' => _x('Manual', 'i.e. Non-automatic', 'updraftplus'),
|
3726 |
+
'everyhour' => __('Every hour', 'updraftplus'),
|
3727 |
+
'every2hours' => sprintf(__('Every %s hours', 'updraftplus'), '2'),
|
3728 |
+
'every4hours' => sprintf(__('Every %s hours', 'updraftplus'), '4'),
|
3729 |
+
'every8hours' => sprintf(__('Every %s hours', 'updraftplus'), '8'),
|
3730 |
+
'twicedaily' => sprintf(__('Every %s hours', 'updraftplus'), '12'),
|
3731 |
+
'daily' => __('Daily', 'updraftplus'),
|
3732 |
+
'weekly' => __('Weekly', 'updraftplus'),
|
3733 |
+
'fortnightly' => __('Fortnightly', 'updraftplus'),
|
3734 |
+
'monthly' => __('Monthly', 'updraftplus'),
|
3735 |
+
);
|
3736 |
+
|
3737 |
+
if ('files' == $what_for) unset($intervals['everyhour']);
|
3738 |
+
|
3739 |
+
return apply_filters('updraftplus_backup_intervals', $intervals, $what_for);
|
3740 |
}
|
3741 |
|
3742 |
public function really_writable_message($really_is_writable, $updraft_dir) {
|
4110 |
$entities .= '/plugins=0//themes=0//uploads=0//others=0/';
|
4111 |
}
|
4112 |
$printing_first = true;
|
4113 |
+
$total_file_size = 0;
|
4114 |
foreach ($whatfiles as $findex => $bfile) {
|
4115 |
|
4116 |
$pdescrip = ($findex > 0) ? $sdescrip.' ('.($findex+1).')' : $sdescrip;
|
4119 |
} else {
|
4120 |
$ret .= '<div class="updraft-hidden" style="display:none;">';
|
4121 |
}
|
4122 |
+
if ($howmanyinset >0) {
|
4123 |
+
if (!empty($backup[$type.(($findex > 0) ? $findex : '')."-size"]) && $findex < $howmanyinset) $total_file_size += $backup[$type.(($findex > 0) ? $findex : '')."-size"];
|
4124 |
+
if ($printing_first) {
|
4125 |
+
$ide .= ' '.sprintf(__('(%d archive(s) in set, total %s).', 'updraftplus'), $howmanyinset, '%UP_backups_total_file_size%');
|
4126 |
+
}
|
4127 |
}
|
4128 |
if ($index_missing) {
|
4129 |
if ($printing_first) $ide .= ' '.__('You appear to be missing one or more archives from this multi-archive set.', 'updraftplus');
|
4142 |
$printing_first = false;
|
4143 |
}
|
4144 |
}
|
4145 |
+
$ret = str_replace('%UP_backups_total_file_size%', UpdraftPlus_Manipulation_Functions::convert_numeric_size_to_text($total_file_size), $ret);
|
4146 |
}
|
4147 |
}
|
4148 |
return $ret;
|
4231 |
|
4232 |
if ($show_upload) {
|
4233 |
|
4234 |
+
$backup_local = $this->check_backup_is_present_on_fs($backup, false, false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4235 |
|
4236 |
+
if ($backup_local) {
|
4237 |
$service_list = '';
|
4238 |
$service_list_display = '';
|
4239 |
$is_first_service = true;
|
4301 |
}
|
4302 |
}
|
4303 |
|
4304 |
+
/**
|
4305 |
+
* This function will check that the files that belong to the passed in backup array are all present on the local filesystem and return true if they are all found otherwise false
|
4306 |
+
*
|
4307 |
+
* @param array $backup - the backup array we want to check
|
4308 |
+
* @param boolean $full_backup - a boolean to indicate if the backup should also be a full backup
|
4309 |
+
* @param boolean $clone - a boolean to indicate if the backup is for a clone, if so it does not need to be a full backup it only needs to include everything a clone can restore
|
4310 |
+
*
|
4311 |
+
* @return boolean - returns true if the complete backup is found on the local system otherwise false
|
4312 |
+
*/
|
4313 |
+
private function check_backup_is_present_on_fs($backup, $full_backup, $clone) {
|
4314 |
+
|
4315 |
+
global $updraftplus;
|
4316 |
+
|
4317 |
+
if (empty($backup)) return false;
|
4318 |
+
|
4319 |
+
if ($clone) {
|
4320 |
+
$entities = array('db' => '', 'plugins' => '', 'themes' => '', 'uploads' => '', 'others' => '');
|
4321 |
+
} else {
|
4322 |
+
$entities = $updraftplus->get_backupable_file_entities(true, true);
|
4323 |
+
|
4324 |
+
// Add the database to the entities array ready to loop over
|
4325 |
+
$entities['db'] = '';
|
4326 |
+
|
4327 |
+
foreach ($entities as $key => $info) {
|
4328 |
+
if (!UpdraftPlus_Options::get_updraft_option("updraft_include_$key", false)) {
|
4329 |
+
unset($entities[$key]);
|
4330 |
+
}
|
4331 |
+
}
|
4332 |
+
}
|
4333 |
+
|
4334 |
+
$updraft_dir = trailingslashit($updraftplus->backups_dir_location());
|
4335 |
+
|
4336 |
+
foreach ($entities as $type => $info) {
|
4337 |
+
|
4338 |
+
if ($full_backup) {
|
4339 |
+
if (UpdraftPlus_Options::get_updraft_option("updraft_include_$type", false) && !isset($backup[$type])) return false;
|
4340 |
+
}
|
4341 |
+
|
4342 |
+
if (!isset($backup[$type])) return false;
|
4343 |
+
|
4344 |
+
// Cast this to an array so that a warning is not thrown when we encounter a Database.
|
4345 |
+
foreach ((array) $backup[$type] as $value) {
|
4346 |
+
if (!file_exists($updraft_dir . DIRECTORY_SEPARATOR . $value)) return false;
|
4347 |
+
}
|
4348 |
+
}
|
4349 |
+
|
4350 |
+
return true;
|
4351 |
+
}
|
4352 |
+
|
4353 |
/**
|
4354 |
* This function will set up the backup job data for when we are uploading a local backup to remote storage. It changes the initial jobdata so that UpdraftPlus knows about what files it's uploading and so that it skips directly to the upload stage.
|
4355 |
*
|
4366 |
$backup_history = UpdraftPlus_Backup_History::get_history();
|
4367 |
$services = !empty($options['services']) ? $options['services'] : array();
|
4368 |
$backup = $backup_history[$options['use_timestamp']];
|
|
|
4369 |
|
4370 |
/*
|
4371 |
The initial job data is not set up in a key value array instead it is set up so key "x" is the name of the key and then key "y" is the value.
|
4378 |
$service_key = array_search('service', $jobdata) + 1;
|
4379 |
|
4380 |
$db_backups = $jobdata[$backup_database_key];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4381 |
$db_backup_info = $updraftplus->update_database_jobdata($db_backups, $backup);
|
4382 |
+
$file_backups = $updraftplus->update_files_jobdata($backup);
|
4383 |
|
4384 |
// Next we need to build the services array using the remote storage destinations the user has selected to upload this backup set to
|
4385 |
$selected_services = array();
|
4396 |
$jobdata[] = 'blog_name';
|
4397 |
$jobdata[] = $db_backup_info['blog_name'];
|
4398 |
$jobdata[$backup_database_key] = $db_backup_info['db_backups'];
|
4399 |
+
$jobdata[] = 'local_upload';
|
4400 |
+
$jobdata[] = true;
|
4401 |
if (!empty($selected_services)) $jobdata[$service_key] = $selected_services;
|
4402 |
|
4403 |
|
4489 |
// return to prevent any more code from running
|
4490 |
return $this->prepare_ajax_restore();
|
4491 |
}
|
4492 |
+
|
4493 |
+
if (!empty($_REQUEST['updraftplus_ajax_restore'])) add_filter('updraftplus_logline', array($this, 'updraftplus_logline'), 10, 5);
|
4494 |
|
4495 |
$is_continuation = ('updraft_restore_continue' == $_REQUEST['action']) ? true : false;
|
4496 |
|
4512 |
} elseif (isset($_REQUEST['updraftplus_ajax_restore']) && 'do_ajax_restore' == $_REQUEST['updraftplus_ajax_restore']) {
|
4513 |
$backup_timestamp = $updraftplus->jobdata_get('backup_timestamp');
|
4514 |
$filesystem_credentials = $updraftplus->jobdata_get('filesystem_credentials', array());
|
4515 |
+
$continuation_data = array('updraftplus_ajax_restore' => 'continue_ajax_restore');
|
4516 |
|
4517 |
+
if (!empty($filesystem_credentials)) {
|
|
|
|
|
|
|
4518 |
// If the filesystem credentials are not empty then we now need to load these back into $_POST so that WP_Filesystem can access them
|
4519 |
foreach ($filesystem_credentials as $key => $value) {
|
4520 |
$_POST[$key] = $value;
|
4578 |
private function prepare_ajax_restore() {
|
4579 |
global $updraftplus;
|
4580 |
|
4581 |
+
$debug = $updraftplus->use_unminified_scripts();
|
4582 |
+
$enqueue_version = $debug ? $updraftplus->version . '.' . time() : $updraftplus->version;
|
4583 |
+
$min_or_not = $debug ? '' : '.min';
|
4584 |
|
4585 |
wp_enqueue_script('updraft-admin-restore', UPDRAFTPLUS_URL . '/js/updraft-admin-restore' . $min_or_not . '.js', array(), $enqueue_version);
|
4586 |
|
4587 |
+
$this->show_admin_warning('<p>'.sprintf(__('The restore operation has begun (%s). Do not press stop or close your browser until it reports itself as having finished.', 'updraftplus'), $updraftplus->nonce).'</p>');
|
4588 |
|
4589 |
// Provide download link for the log file
|
4590 |
$this->show_admin_warning('<a target="_blank" href="?action=downloadlog&page=updraftplus&updraftplus_backup_nonce='.htmlspecialchars($updraftplus->nonce).'">'.__('Follow this link to download the log file for this restoration (needed for any support requests).', 'updraftplus').'</a>');
|
4591 |
|
4592 |
+
if ($debug) echo '<input type="hidden" id="updraftplus_ajax_restore_debug" name="updraftplus_ajax_restore_debug" value="1">';
|
4593 |
echo '<input type="hidden" id="updraftplus_ajax_restore_job_id" name="updraftplus_restore_job_id" value="' . $updraftplus->nonce . '">';
|
4594 |
+
echo '<div id="updraftplus_ajax_restore_progress" style="display: none;"></div>';
|
4595 |
echo '<div id="updraftplus_ajax_restore_output"></div>';
|
4596 |
}
|
4597 |
|
4675 |
'job_id' => $updraftplus->nonce
|
4676 |
);
|
4677 |
|
4678 |
+
if (!empty($continuation_data['updraftplus_ajax_restore'])) {
|
4679 |
+
$url_parameters['updraftplus_ajax_restore'] = $continuation_data['updraftplus_ajax_restore'];
|
4680 |
+
// Force output buffering off so that we get log lines sent to the browser as they come not all at once at the end of the ajax restore
|
4681 |
+
while (ob_get_level()) {
|
4682 |
+
ob_end_flush();
|
4683 |
+
}
|
4684 |
+
ob_implicit_flush(1);
|
4685 |
+
}
|
4686 |
|
4687 |
$updraftplus->log("Ensuring WP_Filesystem is setup for a restore");
|
4688 |
|
4691 |
|
4692 |
$updraftplus->log("WP_Filesystem is setup and ready for a restore");
|
4693 |
|
4694 |
+
if (!empty($continuation_data['updraftplus_ajax_restore'])) $continuation_data['updraftplus_ajax_restore'] = 'do_ajax_restore';
|
4695 |
+
|
4696 |
// The <div> is closed by Updraft_Restorer::post_restore_clean_up()
|
4697 |
echo '<h1>'.__('UpdraftPlus Restoration: Progress', 'updraftplus').'</h1><div id="updraft-restore-progress">';
|
4698 |
|
4739 |
public function restoration_title($title) {
|
4740 |
echo '<h2>'.$title.'</h2>';
|
4741 |
}
|
4742 |
+
|
4743 |
+
/**
|
4744 |
+
* Logs a line from the restore process, being called from UpdraftPlus::log().
|
4745 |
+
* Hooks the WordPress filter updraftplus_logline
|
4746 |
+
* In future, this can get more sophisticated. For now, things are funnelled through here, giving the future possibility.
|
4747 |
+
*
|
4748 |
+
* @param String $line - the line to be logged
|
4749 |
+
* @param String $nonce - the job ID of the restore job
|
4750 |
+
* @param String $level - the level of the log notice
|
4751 |
+
* @param String|Boolean $uniq_id - a unique ID for the log if it should only be logged once; or false otherwise
|
4752 |
+
* @param String $destination - the type of job ongoing. If it is not 'restore', then we will skip the logging.
|
4753 |
+
*
|
4754 |
+
* @return String|Boolean - the filtered value. If set to false, then UpdraftPlus::log() will stop processing the log line.
|
4755 |
+
*/
|
4756 |
+
public function updraftplus_logline($line, $nonce, $level, $uniq_id, $destination) {// phpcs:ignore Generic.CodeAnalysis.UnusedFunctionParameter.Found
|
4757 |
+
|
4758 |
+
if ('progress' != $destination || (defined('WP_CLI') && WP_CLI) || false === $line || false === strpos($line, 'RINFO:')) return $line;
|
4759 |
+
|
4760 |
+
echo $line;
|
4761 |
+
|
4762 |
+
// Indicate that we have completely handled all logging needed
|
4763 |
+
return false;
|
4764 |
+
}
|
4765 |
|
4766 |
/**
|
4767 |
* Ensure that what is returned is an array. Used as a WP options filter.
|
5466 |
$output .= ' <span class="updraftplus-option-label">'.__('Clone region:', 'updraftplus').'</span> ';
|
5467 |
$output .= $this->output_select_data($this->regions, 'region');
|
5468 |
$output .= '</p>';
|
5469 |
+
|
5470 |
+
$backup_history = UpdraftPlus_Backup_History::get_history();
|
5471 |
+
|
5472 |
+
foreach ($backup_history as $key => $backup) {
|
5473 |
+
$backup_local = $this->check_backup_is_present_on_fs($backup, false, true);
|
5474 |
+
if (!$backup_local) unset($backup_history[$key]);
|
5475 |
+
}
|
5476 |
+
|
5477 |
+
if (!empty($backup_history)) {
|
5478 |
+
$output .= '<p class="updraftplus-option updraftplus-option-inline updraftclone-backup">';
|
5479 |
+
$output .= ' <span class="updraftplus-option-label">'.__('Clone:', 'updraftplus').'</span> ';
|
5480 |
+
$output .= '<select id="updraftplus_clone_backup_options" name="updraftplus_clone_backup_options">';
|
5481 |
+
$output .= '<option value="current" data-nonce="current" data-timestamp="current" selected="selected">'. __('This current site', 'updraftplus') .'</option>';
|
5482 |
+
|
5483 |
+
foreach ($backup_history as $key => $backup) {
|
5484 |
+
$pretty_date = get_date_from_gmt(gmdate('Y-m-d H:i:s', (int) $key), 'M d, Y G:i');
|
5485 |
+
$label = isset($backup['label']) ? ' ' . $backup['label'] : '';
|
5486 |
+
$output .= '<option value="'.$key. '" data-nonce="'.$backup['nonce'].'" data-timestamp="'.$key.'">' . $pretty_date . $label . '</option>';
|
5487 |
+
}
|
5488 |
+
|
5489 |
+
$output .= '</select>';
|
5490 |
+
$output .= '</p>';
|
5491 |
+
}
|
5492 |
+
|
5493 |
if ((defined('UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT') && UPDRAFTPLUS_UPDRAFTCLONE_DEVELOPMENT) || $is_admin_user) {
|
5494 |
$output .= '<p class="updraftplus-option updraftplus-option-inline updraftclone-branch">';
|
5495 |
$output .= ' <span class="updraftplus-option-label">UpdraftClone Branch:</span> ';
|
@@ -442,14 +442,18 @@ class UpdraftCentral_Theme_Commands extends UpdraftCentral_Commands {
|
|
442 |
|
443 |
// Gets all themes available.
|
444 |
$themes = wp_get_themes();
|
|
|
445 |
|
446 |
// Loops around each theme available.
|
447 |
-
foreach ($themes as $
|
|
|
|
|
|
|
448 |
// If the theme name matches that of the specified name, it will gather details.
|
449 |
-
if ($
|
450 |
$info['installed'] = true;
|
451 |
-
$info['active'] = (
|
452 |
-
$info['slug'] = $
|
453 |
$info['data'] = $value;
|
454 |
break;
|
455 |
}
|
@@ -483,21 +487,30 @@ class UpdraftCentral_Theme_Commands extends UpdraftCentral_Commands {
|
|
483 |
|
484 |
// Get all themes
|
485 |
$themes = wp_get_themes();
|
|
|
486 |
|
487 |
foreach ($themes as $slug => $value) {
|
|
|
|
|
|
|
488 |
$theme = new stdClass();
|
489 |
-
$theme->name = $
|
490 |
-
$theme->description = $value->Description;
|
491 |
$theme->slug = $slug;
|
492 |
-
$theme->version = $value->Version;
|
493 |
-
$theme->author = $value->Author;
|
494 |
-
$theme->status = (
|
495 |
-
|
|
|
|
|
496 |
$theme->website = $website;
|
497 |
$theme->multisite = is_multisite();
|
498 |
|
499 |
if ($theme->child_theme) {
|
500 |
-
$
|
|
|
|
|
|
|
501 |
}
|
502 |
|
503 |
if (!empty($theme_updates[$slug])) {
|
442 |
|
443 |
// Gets all themes available.
|
444 |
$themes = wp_get_themes();
|
445 |
+
$current_theme_slug = basename(get_stylesheet_directory());
|
446 |
|
447 |
// Loops around each theme available.
|
448 |
+
foreach ($themes as $slug => $value) {
|
449 |
+
$name = $value->get('Name');
|
450 |
+
$theme_name = !empty($name) ? $name : $slug;
|
451 |
+
|
452 |
// If the theme name matches that of the specified name, it will gather details.
|
453 |
+
if ($theme_name === $theme) {
|
454 |
$info['installed'] = true;
|
455 |
+
$info['active'] = ($slug === $current_theme_slug) ? true : false;
|
456 |
+
$info['slug'] = $slug;
|
457 |
$info['data'] = $value;
|
458 |
break;
|
459 |
}
|
487 |
|
488 |
// Get all themes
|
489 |
$themes = wp_get_themes();
|
490 |
+
$current_theme_slug = basename(get_stylesheet_directory());
|
491 |
|
492 |
foreach ($themes as $slug => $value) {
|
493 |
+
$name = $value->get('Name');
|
494 |
+
$theme_name = !empty($name) ? $name : $slug;
|
495 |
+
|
496 |
$theme = new stdClass();
|
497 |
+
$theme->name = $theme_name;
|
498 |
+
$theme->description = $value->get('Description');
|
499 |
$theme->slug = $slug;
|
500 |
+
$theme->version = $value->get('Version');
|
501 |
+
$theme->author = $value->get('Author');
|
502 |
+
$theme->status = ($slug === $current_theme_slug) ? 'active' : 'inactive';
|
503 |
+
|
504 |
+
$template = $value->get('Template');
|
505 |
+
$theme->child_theme = !empty($template) ? true : false;
|
506 |
$theme->website = $website;
|
507 |
$theme->multisite = is_multisite();
|
508 |
|
509 |
if ($theme->child_theme) {
|
510 |
+
$parent_theme = wp_get_theme($template);
|
511 |
+
$parent_name = $parent_theme->get('Name');
|
512 |
+
|
513 |
+
$theme->parent = !empty($parent_name) ? $parent_name : $parent_theme->get_stylesheet();
|
514 |
}
|
515 |
|
516 |
if (!empty($theme_updates[$slug])) {
|
@@ -505,6 +505,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
505 |
$all_items = get_plugins();
|
506 |
break;
|
507 |
case 'theme':
|
|
|
508 |
if (function_exists('wp_get_themes')) {
|
509 |
$themes = wp_get_themes();
|
510 |
if (!empty($themes)) {
|
@@ -656,10 +657,7 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
656 |
public function get_updates($options) {
|
657 |
|
658 |
// Forcing Elegant Themes (Divi) updates component to load if it exist.
|
659 |
-
if (function_exists('et_register_updates_component'))
|
660 |
-
et_register_updates_component();
|
661 |
-
}
|
662 |
-
|
663 |
|
664 |
if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied');
|
665 |
|
@@ -729,8 +727,11 @@ class UpdraftCentral_Updates_Commands extends UpdraftCentral_Commands {
|
|
729 |
// versions greater than the currently installed version.
|
730 |
if (version_compare($update->Version, $update->update['new_version'], '>=')) continue;
|
731 |
|
|
|
|
|
|
|
732 |
$theme_updates[] = array(
|
733 |
-
'name' => $
|
734 |
'theme_uri' => $update->ThemeURI,
|
735 |
'version' => $update->Version,
|
736 |
'description' => $update->Description,
|
505 |
$all_items = get_plugins();
|
506 |
break;
|
507 |
case 'theme':
|
508 |
+
$this->_frontend_include('theme.php');
|
509 |
if (function_exists('wp_get_themes')) {
|
510 |
$themes = wp_get_themes();
|
511 |
if (!empty($themes)) {
|
657 |
public function get_updates($options) {
|
658 |
|
659 |
// Forcing Elegant Themes (Divi) updates component to load if it exist.
|
660 |
+
if (function_exists('et_register_updates_component')) et_register_updates_component();
|
|
|
|
|
|
|
661 |
|
662 |
if (!current_user_can('update_plugins') && !current_user_can('update_themes') && !current_user_can('update_core')) return $this->_generic_error_response('updates_permission_denied');
|
663 |
|
727 |
// versions greater than the currently installed version.
|
728 |
if (version_compare($update->Version, $update->update['new_version'], '>=')) continue;
|
729 |
|
730 |
+
$name = $update->Name;
|
731 |
+
$theme_name = !empty($name) ? $name : $update->update['theme'];
|
732 |
+
|
733 |
$theme_updates[] = array(
|
734 |
+
'name' => $theme_name,
|
735 |
'theme_uri' => $update->ThemeURI,
|
736 |
'version' => $update->Version,
|
737 |
'description' => $update->Description,
|
@@ -284,24 +284,24 @@ class UpdraftPlus {
|
|
284 |
/**
|
285 |
* Ensure that the indicated phpseclib classes are available
|
286 |
*
|
287 |
-
* @param String|Array $classes
|
288 |
-
* @param String|Array $class_paths - paths to include
|
289 |
*
|
290 |
* @return Boolean|WP_Error
|
291 |
*/
|
292 |
-
public function ensure_phpseclib($classes = array()
|
293 |
|
|
|
|
|
294 |
$this->no_deprecation_warnings_on_php7();
|
295 |
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
if (!class_exists($cl)) $any_missing = true;
|
301 |
-
}
|
302 |
-
if (!$any_missing) return true;
|
303 |
}
|
304 |
|
|
|
|
|
305 |
$ret = true;
|
306 |
|
307 |
// From phpseclib/phpseclib/phpseclib/bootstrap.php - we nullify it there, but log here instead
|
@@ -315,13 +315,11 @@ class UpdraftPlus {
|
|
315 |
}
|
316 |
}
|
317 |
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
include_once($phpseclib_dir.'/'.$cp.'.php');
|
324 |
-
}
|
325 |
}
|
326 |
|
327 |
return $ret;
|
@@ -922,7 +920,7 @@ class UpdraftPlus {
|
|
922 |
* The uniq_id field is also used with PHP event detection - it is set then to 'php_event' - which is useful for anything hooking the action to detect
|
923 |
*
|
924 |
* @param string $line the log line
|
925 |
-
* @param string $level the log level: notice, warning, error. If suffixed with a
|
926 |
* @param boolean $uniq_id each of these will only be logged once
|
927 |
* @param boolean $skip_dblog if true, then do not write to the database
|
928 |
* @return null
|
@@ -1035,6 +1033,17 @@ class UpdraftPlus {
|
|
1035 |
return false;
|
1036 |
}
|
1037 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1038 |
/**
|
1039 |
* Get the maximum packet size on the WPDB MySQL connection, in bytes, after (optionally) attempting to raise it to 32MB if it appeared to be lower.
|
1040 |
* A default value equal to 1MB is returned if the true value could not be found - it has been found reasonable to assume that at least this is available.
|
@@ -1927,7 +1936,7 @@ class UpdraftPlus {
|
|
1927 |
|
1928 |
if (0 == $resumption_no) {
|
1929 |
$label = $this->jobdata_get('label');
|
1930 |
-
if ($label) $resumption_extralog = ", label=$label";
|
1931 |
} else {
|
1932 |
$this->nonce = $bnonce;
|
1933 |
$file_nonce = $this->jobdata_get('file_nonce');
|
@@ -1969,21 +1978,11 @@ class UpdraftPlus {
|
|
1969 |
if (isset($time_passed[$i])) $last_successful_resumption = $i;
|
1970 |
}
|
1971 |
|
1972 |
-
$fail_on_resume = $this->jobdata_get('fail_on_resume');
|
1973 |
-
|
1974 |
if (isset($time_passed[$prev_resumption])) {
|
|
|
1975 |
$resumption_extralog = ", previous check-in=".round($time_passed[$prev_resumption], 1)."s";
|
1976 |
-
if ($fail_on_resume) $this->jobdata_delete('fail_on_resume');
|
1977 |
-
} else {
|
1978 |
-
$this->no_checkin_last_time = true;
|
1979 |
-
if ($fail_on_resume == $this->current_resumption) {
|
1980 |
-
$this->log('The backup is being aborted for a repeated failure to progress.', 'updraftplus');
|
1981 |
-
$this->log(__('The backup is being aborted for a repeated failure to progress.', 'updraftplus'), 'error');
|
1982 |
-
$this->backup_finish(true, true);
|
1983 |
-
die;
|
1984 |
-
}
|
1985 |
}
|
1986 |
-
|
1987 |
// This is just a simple test to catch restorations of old backup sets where the backup includes a resumption of the backup job
|
1988 |
if ($time_now - $this->backup_time > 172800 && true == apply_filters('updraftplus_check_obsolete_backup', true, $time_now, $this)) {
|
1989 |
|
@@ -2000,9 +1999,12 @@ class UpdraftPlus {
|
|
2000 |
}
|
2001 |
}
|
2002 |
}
|
2003 |
-
|
2004 |
-
|
2005 |
-
|
|
|
|
|
|
|
2006 |
}
|
2007 |
|
2008 |
}
|
@@ -2025,7 +2027,7 @@ class UpdraftPlus {
|
|
2025 |
$updraft_dir = $this->backups_dir_location();
|
2026 |
|
2027 |
$time_ago = time()-$btime;
|
2028 |
-
|
2029 |
$this->log("Backup run: resumption=$resumption_no, nonce=$bnonce, file_nonce=".$this->file_nonce." begun at=$btime (${time_ago}s ago), job type=$job_type".$resumption_extralog);
|
2030 |
|
2031 |
// This works round a bizarre bug seen in one WP install, where delete_transient and wp_clear_scheduled_hook both took no effect, and upon 'resumption' the entire backup would repeat.
|
@@ -2094,18 +2096,38 @@ class UpdraftPlus {
|
|
2094 |
$schedule_resumption = true;
|
2095 |
}
|
2096 |
} else {
|
|
|
2097 |
// We're in over-time - we only reschedule if something useful happened last time (used to be that we waited for it to happen this time - but that meant that temporary errors, e.g. Google 400s on uploads, scuppered it all - we'd do better to have another chance
|
2098 |
$useful_checkin = $this->jobdata_get('useful_checkin');
|
2099 |
$last_resumption = $resumption_no-1;
|
2100 |
-
|
|
|
2101 |
if (empty($useful_checkin) || $useful_checkin < $last_resumption) {
|
2102 |
-
|
2103 |
-
|
2104 |
-
|
2105 |
-
|
|
|
|
|
2106 |
} else {
|
|
|
|
|
|
|
|
|
|
|
2107 |
$schedule_resumption = true;
|
2108 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2109 |
}
|
2110 |
|
2111 |
// Sanity check
|
@@ -2485,9 +2507,17 @@ class UpdraftPlus {
|
|
2485 |
$options['clone_id'] = $request['clone_id'];
|
2486 |
$options['secret_token'] = $request['secret_token'];
|
2487 |
}
|
2488 |
-
|
2489 |
if (isset($request['clone_url'])) $options['clone_url'] = $request['clone_url'];
|
2490 |
if (isset($request['key'])) $options['key'] = $request['key'];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2491 |
|
2492 |
return $options;
|
2493 |
}
|
@@ -2502,7 +2532,6 @@ class UpdraftPlus {
|
|
2502 |
* @return array - the modified jobdata
|
2503 |
*/
|
2504 |
public function updraftplus_clone_backup_jobdata($jobdata, $options, $split_every) {
|
2505 |
-
global $updraftplus;
|
2506 |
|
2507 |
if (!is_array($jobdata)) return $jobdata;
|
2508 |
|
@@ -2533,6 +2562,37 @@ class UpdraftPlus {
|
|
2533 |
$jobdata[] = 'remotesend_info';
|
2534 |
$jobdata[] = array('url' => $options['clone_url']);
|
2535 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2536 |
return $jobdata;
|
2537 |
}
|
2538 |
|
@@ -2585,6 +2645,29 @@ class UpdraftPlus {
|
|
2585 |
return $backup_database_info;
|
2586 |
}
|
2587 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2588 |
public function backup_files() {
|
2589 |
// Note that the "false" for database gets over-ridden automatically if they turn out to have the same schedules
|
2590 |
$this->boot_backup(true, false);
|
284 |
/**
|
285 |
* Ensure that the indicated phpseclib classes are available
|
286 |
*
|
287 |
+
* @param String|Array $classes - a class, or list of classes. There used to be a second parameter with paths to include; but this is now inferred from $classes; and there's no backwards compatibility problem because sending more parameters than are used is acceptable in PHP.
|
|
|
288 |
*
|
289 |
* @return Boolean|WP_Error
|
290 |
*/
|
291 |
+
public function ensure_phpseclib($classes = array()) {
|
292 |
|
293 |
+
$classes = (array) $classes;
|
294 |
+
|
295 |
$this->no_deprecation_warnings_on_php7();
|
296 |
|
297 |
+
$any_missing = false;
|
298 |
+
|
299 |
+
foreach ($classes as $cl) {
|
300 |
+
if (!class_exists($cl)) $any_missing = true;
|
|
|
|
|
|
|
301 |
}
|
302 |
|
303 |
+
if (!$any_missing) return true;
|
304 |
+
|
305 |
$ret = true;
|
306 |
|
307 |
// From phpseclib/phpseclib/phpseclib/bootstrap.php - we nullify it there, but log here instead
|
315 |
}
|
316 |
}
|
317 |
|
318 |
+
$phpseclib_dir = UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib';
|
319 |
+
if (false === strpos(get_include_path(), $phpseclib_dir)) set_include_path(get_include_path().PATH_SEPARATOR.$phpseclib_dir);
|
320 |
+
foreach ($classes as $cl) {
|
321 |
+
$path = str_replace('_', '/', $cl);
|
322 |
+
if (!class_exists($cl)) include_once($phpseclib_dir.'/'.$path.'.php');
|
|
|
|
|
323 |
}
|
324 |
|
325 |
return $ret;
|
920 |
* The uniq_id field is also used with PHP event detection - it is set then to 'php_event' - which is useful for anything hooking the action to detect
|
921 |
*
|
922 |
* @param string $line the log line
|
923 |
+
* @param string $level the log level: notice, warning, error. If suffixed with a hyphen and a destination, then the default destination is changed too.
|
924 |
* @param boolean $uniq_id each of these will only be logged once
|
925 |
* @param boolean $skip_dblog if true, then do not write to the database
|
926 |
* @return null
|
1033 |
return false;
|
1034 |
}
|
1035 |
|
1036 |
+
/**
|
1037 |
+
* This function will construct the restore information log line using the passed in parameters and then log the line using $this->log();
|
1038 |
+
*
|
1039 |
+
* @param array $restore_information - an array of restore information
|
1040 |
+
*
|
1041 |
+
* @return void
|
1042 |
+
*/
|
1043 |
+
public function log_restore_update($restore_information) {
|
1044 |
+
$this->log("RINFO:".json_encode($restore_information), 'notice-progress');
|
1045 |
+
}
|
1046 |
+
|
1047 |
/**
|
1048 |
* Get the maximum packet size on the WPDB MySQL connection, in bytes, after (optionally) attempting to raise it to 32MB if it appeared to be lower.
|
1049 |
* A default value equal to 1MB is returned if the true value could not be found - it has been found reasonable to assume that at least this is available.
|
1936 |
|
1937 |
if (0 == $resumption_no) {
|
1938 |
$label = $this->jobdata_get('label');
|
1939 |
+
if ($label) $resumption_extralog = apply_filters('updraftplus_autobackup_extralog', ", label=$label");
|
1940 |
} else {
|
1941 |
$this->nonce = $bnonce;
|
1942 |
$file_nonce = $this->jobdata_get('file_nonce');
|
1978 |
if (isset($time_passed[$i])) $last_successful_resumption = $i;
|
1979 |
}
|
1980 |
|
|
|
|
|
1981 |
if (isset($time_passed[$prev_resumption])) {
|
1982 |
+
// N.B. A check-in occurred; we haven't yet tested if it was useful
|
1983 |
$resumption_extralog = ", previous check-in=".round($time_passed[$prev_resumption], 1)."s";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1984 |
}
|
1985 |
+
|
1986 |
// This is just a simple test to catch restorations of old backup sets where the backup includes a resumption of the backup job
|
1987 |
if ($time_now - $this->backup_time > 172800 && true == apply_filters('updraftplus_check_obsolete_backup', true, $time_now, $this)) {
|
1988 |
|
1999 |
}
|
2000 |
}
|
2001 |
}
|
2002 |
+
|
2003 |
+
// If we are doing a local upload then we do not want to abort the backup as it's possible they are uploading a backup that is older than two days
|
2004 |
+
if (empty($this->jobdata['local_upload'])) {
|
2005 |
+
$this->log("This backup task (" . $this->nonce . ") is either complete or began over 2 days ago: ending ($time_now, " . $this->backup_time . ") (existing jobdata keys: " . implode(', ', array_keys($this->jobdata)) . ")");
|
2006 |
+
die;
|
2007 |
+
}
|
2008 |
}
|
2009 |
|
2010 |
}
|
2027 |
$updraft_dir = $this->backups_dir_location();
|
2028 |
|
2029 |
$time_ago = time()-$btime;
|
2030 |
+
|
2031 |
$this->log("Backup run: resumption=$resumption_no, nonce=$bnonce, file_nonce=".$this->file_nonce." begun at=$btime (${time_ago}s ago), job type=$job_type".$resumption_extralog);
|
2032 |
|
2033 |
// This works round a bizarre bug seen in one WP install, where delete_transient and wp_clear_scheduled_hook both took no effect, and upon 'resumption' the entire backup would repeat.
|
2096 |
$schedule_resumption = true;
|
2097 |
}
|
2098 |
} else {
|
2099 |
+
|
2100 |
// We're in over-time - we only reschedule if something useful happened last time (used to be that we waited for it to happen this time - but that meant that temporary errors, e.g. Google 400s on uploads, scuppered it all - we'd do better to have another chance
|
2101 |
$useful_checkin = $this->jobdata_get('useful_checkin');
|
2102 |
$last_resumption = $resumption_no-1;
|
2103 |
+
$fail_on_resume = $this->jobdata_get('fail_on_resume');
|
2104 |
+
|
2105 |
if (empty($useful_checkin) || $useful_checkin < $last_resumption) {
|
2106 |
+
if (empty($fail_on_resume)) {
|
2107 |
+
$this->log(sprintf('The current run is resumption number %d, and there was nothing useful done on the last run (last useful run: %s) - will not schedule a further attempt until we see something useful happening this time', $resumption_no, $useful_checkin));
|
2108 |
+
// Internally, we do actually schedule a resumption; but only in order to be able to nicely handle and log the failure, which otherwise may not be logged
|
2109 |
+
$this->jobdata_set('fail_on_resume', $next_resumption);
|
2110 |
+
$schedule_resumption = 1;
|
2111 |
+
}
|
2112 |
} else {
|
2113 |
+
// Something useful happened last time
|
2114 |
+
if (!empty($fail_on_resume)) {
|
2115 |
+
$this->jobdata_delete('fail_on_resume');
|
2116 |
+
$fail_on_resume = false;
|
2117 |
+
}
|
2118 |
$schedule_resumption = true;
|
2119 |
}
|
2120 |
+
|
2121 |
+
if (!isset($time_passed[$prev_resumption])) {
|
2122 |
+
$this->no_checkin_last_time = true;
|
2123 |
+
}
|
2124 |
+
|
2125 |
+
if (!empty($fail_on_resume) && $fail_on_resume == $this->current_resumption) {
|
2126 |
+
$this->log('The backup is being aborted for a repeated failure to progress.', 'updraftplus');
|
2127 |
+
$this->log(__('The backup is being aborted for a repeated failure to progress.', 'updraftplus'), 'error');
|
2128 |
+
$this->backup_finish(true, true);
|
2129 |
+
die;
|
2130 |
+
}
|
2131 |
}
|
2132 |
|
2133 |
// Sanity check
|
2507 |
$options['clone_id'] = $request['clone_id'];
|
2508 |
$options['secret_token'] = $request['secret_token'];
|
2509 |
}
|
2510 |
+
|
2511 |
if (isset($request['clone_url'])) $options['clone_url'] = $request['clone_url'];
|
2512 |
if (isset($request['key'])) $options['key'] = $request['key'];
|
2513 |
+
if (isset($request['backup_nonce']) && isset($request['backup_timestamp'])) {
|
2514 |
+
if ('current' != $request['backup_nonce'] && 'current' != $request['backup_timestamp']) {
|
2515 |
+
$options['use_nonce'] = $request['backup_nonce'];
|
2516 |
+
$options['use_timestamp'] = $request['backup_timestamp'];
|
2517 |
+
} else {
|
2518 |
+
$options['clone_backup'] = 'current';
|
2519 |
+
}
|
2520 |
+
}
|
2521 |
|
2522 |
return $options;
|
2523 |
}
|
2532 |
* @return array - the modified jobdata
|
2533 |
*/
|
2534 |
public function updraftplus_clone_backup_jobdata($jobdata, $options, $split_every) {
|
|
|
2535 |
|
2536 |
if (!is_array($jobdata)) return $jobdata;
|
2537 |
|
2562 |
$jobdata[] = 'remotesend_info';
|
2563 |
$jobdata[] = array('url' => $options['clone_url']);
|
2564 |
|
2565 |
+
// if clone_backup is set and is 'current' then theres nothing more that needs to be done, otherwise we need to tweak some more jobdata to skip to the upload stage and use the specified clone backup
|
2566 |
+
if (isset($options['clone_backup']) && 'current' == $options['clone_backup']) return $jobdata;
|
2567 |
+
|
2568 |
+
global $updraftplus_admin;
|
2569 |
+
|
2570 |
+
add_filter('updraftplus_get_backup_file_basename_from_time', array($updraftplus_admin, 'upload_local_backup_name'), 10, 3);
|
2571 |
+
|
2572 |
+
$backup_history = UpdraftPlus_Backup_History::get_history();
|
2573 |
+
$backup = $backup_history[$options['use_timestamp']];
|
2574 |
+
|
2575 |
+
$jobstatus_key = array_search('jobstatus', $jobdata) + 1;
|
2576 |
+
$backup_time_key = array_search('backup_time', $jobdata) + 1;
|
2577 |
+
$backup_database_key = array_search('backup_database', $jobdata) + 1;
|
2578 |
+
$backup_files_key = array_search('backup_files', $jobdata) + 1;
|
2579 |
+
|
2580 |
+
$db_backups = $jobdata[$backup_database_key];
|
2581 |
+
$db_backup_info = $this->update_database_jobdata($db_backups, $backup);
|
2582 |
+
$skip_entities = array('more', 'wpcore');
|
2583 |
+
$file_backups = $this->update_files_jobdata($backup, $skip_entities);
|
2584 |
+
|
2585 |
+
$jobdata[$jobstatus_key] = 'clouduploading';
|
2586 |
+
$jobdata[$backup_time_key] = $options['use_timestamp'];
|
2587 |
+
$jobdata[$backup_files_key] = 'finished';
|
2588 |
+
$jobdata[] = 'backup_files_array';
|
2589 |
+
$jobdata[] = $file_backups;
|
2590 |
+
$jobdata[] = 'blog_name';
|
2591 |
+
$jobdata[] = $db_backup_info['blog_name'];
|
2592 |
+
$jobdata[$backup_database_key] = $db_backup_info['db_backups'];
|
2593 |
+
$jobdata[] = 'local_upload';
|
2594 |
+
$jobdata[] = true;
|
2595 |
+
|
2596 |
return $jobdata;
|
2597 |
}
|
2598 |
|
2645 |
return $backup_database_info;
|
2646 |
}
|
2647 |
|
2648 |
+
/**
|
2649 |
+
* This function will update the files backup jobdata by constructing the backup entities and their sizes from the backup
|
2650 |
+
*
|
2651 |
+
* @param array $backup - the backup array
|
2652 |
+
* @param array $skip_entities - an array of entities to skip
|
2653 |
+
*
|
2654 |
+
* @return array - the files backup array
|
2655 |
+
*/
|
2656 |
+
public function update_files_jobdata($backup, $skip_entities = array()) {
|
2657 |
+
|
2658 |
+
$file_backups = array();
|
2659 |
+
$backupable_entities = $this->get_backupable_file_entities(true);
|
2660 |
+
|
2661 |
+
// We need to construct the expected files array here, this gets added to the jobdata much later in the backup process but we need this before we start
|
2662 |
+
foreach ($backupable_entities as $entity => $path) {
|
2663 |
+
if (in_array($entity, $skip_entities)) continue;
|
2664 |
+
if (isset($backup[$entity])) $file_backups[$entity] = $backup[$entity];
|
2665 |
+
if (isset($backup[$entity . '-size'])) $file_backups[$entity . '-size'] = $backup[$entity . '-size'];
|
2666 |
+
}
|
2667 |
+
|
2668 |
+
return $file_backups;
|
2669 |
+
}
|
2670 |
+
|
2671 |
public function backup_files() {
|
2672 |
// Note that the "false" for database gets over-ridden automatically if they turn out to have the same schedules
|
2673 |
$this->boot_backup(true, false);
|
@@ -140,7 +140,7 @@ abstract class Dropbox_ConsumerAbstract
|
|
140 |
*/
|
141 |
|
142 |
global $updraftplus;
|
143 |
-
if (!function_exists('crypt_random_string')) $updraftplus->ensure_phpseclib('Crypt_Random'
|
144 |
|
145 |
$CSRF = base64_encode(crypt_random_string(16));
|
146 |
$this->storage->set($CSRF,'CSRF');
|
140 |
*/
|
141 |
|
142 |
global $updraftplus;
|
143 |
+
if (!function_exists('crypt_random_string')) $updraftplus->ensure_phpseclib('Crypt_Random');
|
144 |
|
145 |
$CSRF = base64_encode(crypt_random_string(16));
|
146 |
$this->storage->set($CSRF,'CSRF');
|
@@ -58,7 +58,7 @@ class Dropbox_Encrypter
|
|
58 |
|
59 |
// Encryption: we always use phpseclib for this
|
60 |
global $updraftplus;
|
61 |
-
$ensure_phpseclib = $updraftplus->ensure_phpseclib('Crypt_AES'
|
62 |
|
63 |
if (is_wp_error($ensure_phpseclib)) {
|
64 |
$updraftplus->log("Failed to load phpseclib classes (".$ensure_phpseclib->get_error_code()."): ".$ensure_phpseclib->get_error_message());
|
@@ -66,7 +66,7 @@ class Dropbox_Encrypter
|
|
66 |
return false;
|
67 |
}
|
68 |
|
69 |
-
$updraftplus->ensure_phpseclib('Crypt_Rijndael'
|
70 |
|
71 |
if (!function_exists('crypt_random_string')) require_once(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php');
|
72 |
|
@@ -103,7 +103,7 @@ class Dropbox_Encrypter
|
|
103 |
$token = @mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $this->key, $cipherText, MCRYPT_MODE_CBC, $iv);
|
104 |
} else {
|
105 |
global $updraftplus;
|
106 |
-
$updraftplus->ensure_phpseclib('Crypt_Rijndael'
|
107 |
|
108 |
$rijndael = new Crypt_Rijndael();
|
109 |
$rijndael->setKey($this->key);
|
58 |
|
59 |
// Encryption: we always use phpseclib for this
|
60 |
global $updraftplus;
|
61 |
+
$ensure_phpseclib = $updraftplus->ensure_phpseclib('Crypt_AES');
|
62 |
|
63 |
if (is_wp_error($ensure_phpseclib)) {
|
64 |
$updraftplus->log("Failed to load phpseclib classes (".$ensure_phpseclib->get_error_code()."): ".$ensure_phpseclib->get_error_message());
|
66 |
return false;
|
67 |
}
|
68 |
|
69 |
+
$updraftplus->ensure_phpseclib('Crypt_Rijndael');
|
70 |
|
71 |
if (!function_exists('crypt_random_string')) require_once(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib/Crypt/Random.php');
|
72 |
|
103 |
$token = @mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $this->key, $cipherText, MCRYPT_MODE_CBC, $iv);
|
104 |
} else {
|
105 |
global $updraftplus;
|
106 |
+
$updraftplus->ensure_phpseclib('Crypt_Rijndael');
|
107 |
|
108 |
$rijndael = new Crypt_Rijndael();
|
109 |
$rijndael->setKey($this->key);
|
@@ -1 +1 @@
|
|
1 |
-
{"updraftpremium":"https:\/\/updraftplus.com\/shop\/updraftplus-premium\/?udp_checkout_embed=1&product_id=230","updraftplus-vault-storage-5-gb":"https:\/\/updraftplus.com\/shop\/updraftplus-vault-storage-5-gb\/?udp_checkout_embed=1&product_id=123680","updraftplus-vault-storage-15-gb":"https:\/\/updraftplus.com\/shop\/updraftplus-vault-storage-15-gb\/?udp_checkout_embed=1&product_id=123688","updraftplus-vault-storage-50-gb":"https:\/\/updraftplus.com\/shop\/updraftplus-vault-storage-50-gb\/?udp_checkout_embed=1&product_id=123692"}
|
1 |
+
{"updraftpremium":"https:\/\/updraftplus.com\/shop\/updraftplus-premium\/?udp_checkout_embed=1&product_id=230&utm_source=updraftplus.com&utm_medium=in-plugin-purchase&utm_campaign=startup&utm_content=updraftpremium","updraftplus-vault-storage-5-gb":"https:\/\/updraftplus.com\/shop\/updraftplus-vault-storage-5-gb\/?udp_checkout_embed=1&product_id=123680&utm_source=updraftplus.com&utm_medium=in-plugin-purchase&utm_campaign=startup&utm_content=updraftplus-vault-storage-5-gb","updraftplus-vault-storage-15-gb":"https:\/\/updraftplus.com\/shop\/updraftplus-vault-storage-15-gb\/?udp_checkout_embed=1&product_id=123688&utm_source=updraftplus.com&utm_medium=in-plugin-purchase&utm_campaign=startup&utm_content=updraftplus-vault-storage-15-gb","updraftplus-vault-storage-50-gb":"https:\/\/updraftplus.com\/shop\/updraftplus-vault-storage-50-gb\/?udp_checkout_embed=1&product_id=123692&utm_source=updraftplus.com&utm_medium=in-plugin-purchase&utm_campaign=startup&utm_content=updraftplus-vault-storage-50-gb","updraftplus-vault-storage-250-gb":"https:\/\/updraftplus.com\/shop\/updraftplus-vault-storage-250-gb\/?udp_checkout_embed=1&product_id=383555&utm_source=updraftplus.com&utm_medium=in-plugin-purchase&utm_campaign=startup&utm_content=updraftplus-vault-storage-250-gb"}
|
@@ -741,11 +741,6 @@ class UpdraftPlus_Backup_History {
|
|
741 |
return '';
|
742 |
}
|
743 |
|
744 |
-
/**
|
745 |
-
* This function will look through the backup history and return the nonce of the latest backup that can be used for an incremental backup (this will exclude full backups sent to another site, e.g. for a migration or clone)
|
746 |
-
*
|
747 |
-
* @return String - the backup nonce of a full backup or an empty string if none are found
|
748 |
-
*/
|
749 |
/**
|
750 |
* This function will look through the backup history and return the nonce of the latest backup that can be used for an incremental backup (this will exclude full backups sent to another site, e.g. for a migration or clone)
|
751 |
*
|
741 |
return '';
|
742 |
}
|
743 |
|
|
|
|
|
|
|
|
|
|
|
744 |
/**
|
745 |
* This function will look through the backup history and return the nonce of the latest backup that can be used for an incremental backup (this will exclude full backups sent to another site, e.g. for a migration or clone)
|
746 |
*
|
@@ -59,7 +59,7 @@ class UpdraftPlus_Filesystem_Functions {
|
|
59 |
*/
|
60 |
public static function ensure_wp_filesystem_set_up_for_restore($url_parameters = array()) {
|
61 |
|
62 |
-
global $wp_filesystem;
|
63 |
|
64 |
$build_url = UpdraftPlus_Options::admin_page().'?page=updraftplus&action=updraft_restore';
|
65 |
|
@@ -67,13 +67,15 @@ class UpdraftPlus_Filesystem_Functions {
|
|
67 |
$build_url .= '&'.$k.'='.$v;
|
68 |
}
|
69 |
|
70 |
-
|
71 |
if (false === ($credentials = request_filesystem_credentials($build_url, '', false, false))) exit;
|
72 |
|
73 |
if (!WP_Filesystem($credentials)) {
|
74 |
|
75 |
$updraftplus->log("Filesystem credentials are required for WP_Filesystem");
|
76 |
|
|
|
|
|
|
|
77 |
request_filesystem_credentials($build_url, '', true, false);
|
78 |
|
79 |
if ($wp_filesystem->errors->get_error_code()) {
|
59 |
*/
|
60 |
public static function ensure_wp_filesystem_set_up_for_restore($url_parameters = array()) {
|
61 |
|
62 |
+
global $wp_filesystem, $updraftplus;
|
63 |
|
64 |
$build_url = UpdraftPlus_Options::admin_page().'?page=updraftplus&action=updraft_restore';
|
65 |
|
67 |
$build_url .= '&'.$k.'='.$v;
|
68 |
}
|
69 |
|
|
|
70 |
if (false === ($credentials = request_filesystem_credentials($build_url, '', false, false))) exit;
|
71 |
|
72 |
if (!WP_Filesystem($credentials)) {
|
73 |
|
74 |
$updraftplus->log("Filesystem credentials are required for WP_Filesystem");
|
75 |
|
76 |
+
// If the filesystem credentials provided are wrong then we need to change our ajax_restore action so that we ask for them again
|
77 |
+
if (false !== strpos($build_url, 'updraftplus_ajax_restore=do_ajax_restore')) $build_url = str_replace('updraftplus_ajax_restore=do_ajax_restore', 'updraftplus_ajax_restore=continue_ajax_restore', $build_url);
|
78 |
+
|
79 |
request_filesystem_credentials($build_url, '', true, false);
|
80 |
|
81 |
if ($wp_filesystem->errors->get_error_code()) {
|
@@ -59,7 +59,7 @@ if (!class_exists('UpdraftPlus_Remote_Communications')) :
|
|
59 |
class UpdraftPlus_Remote_Communications {
|
60 |
|
61 |
// Version numbers relate to versions of this PHP library only (i.e. it's not a protocol support number, and version numbers of other compatible libraries (e.g. JavaScript) are not comparable)
|
62 |
-
public $version = '1.4.
|
63 |
|
64 |
private $key_name_indicator;
|
65 |
|
@@ -172,6 +172,7 @@ class UpdraftPlus_Remote_Communications {
|
|
172 |
// phpseclib 1.x uses deprecated PHP4-style constructors
|
173 |
$this->no_deprecation_warnings_on_php7();
|
174 |
if (is_a($updraftplus, 'UpdraftPlus')) {
|
|
|
175 |
$ensure_phpseclib = $updraftplus->ensure_phpseclib(array('Crypt_Rijndael', 'Crypt_RSA', 'Crypt_Hash'), array('Crypt/Rijndael', 'Crypt/RSA', 'Crypt/Hash'));
|
176 |
if (is_wp_error($ensure_phpseclib)) return $ensure_phpseclib;
|
177 |
} elseif (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib')) {
|
59 |
class UpdraftPlus_Remote_Communications {
|
60 |
|
61 |
// Version numbers relate to versions of this PHP library only (i.e. it's not a protocol support number, and version numbers of other compatible libraries (e.g. JavaScript) are not comparable)
|
62 |
+
public $version = '1.4.19';
|
63 |
|
64 |
private $key_name_indicator;
|
65 |
|
172 |
// phpseclib 1.x uses deprecated PHP4-style constructors
|
173 |
$this->no_deprecation_warnings_on_php7();
|
174 |
if (is_a($updraftplus, 'UpdraftPlus')) {
|
175 |
+
// Since May 2019, the second parameter is unused; but, since we don't know the version, we send it.
|
176 |
$ensure_phpseclib = $updraftplus->ensure_phpseclib(array('Crypt_Rijndael', 'Crypt_RSA', 'Crypt_Hash'), array('Crypt/Rijndael', 'Crypt/RSA', 'Crypt/Hash'));
|
177 |
if (is_wp_error($ensure_phpseclib)) return $ensure_phpseclib;
|
178 |
} elseif (defined('UPDRAFTPLUS_DIR') && file_exists(UPDRAFTPLUS_DIR.'/vendor/phpseclib/phpseclib/phpseclib')) {
|
@@ -17,7 +17,7 @@ class UpdraftPlus_Encryption {
|
|
17 |
|
18 |
global $updraftplus;
|
19 |
|
20 |
-
$ensure_phpseclib = $updraftplus->ensure_phpseclib('Crypt_Rijndael'
|
21 |
|
22 |
if (is_wp_error($ensure_phpseclib)) {
|
23 |
$updraftplus->log("Failed to load phpseclib classes (".$ensure_phpseclib->get_error_code()."): ".$ensure_phpseclib->get_error_message());
|
@@ -149,7 +149,7 @@ class UpdraftPlus_Encryption {
|
|
149 |
}
|
150 |
|
151 |
// include Rijndael library from phpseclib
|
152 |
-
$ensure_phpseclib = $updraftplus->ensure_phpseclib('Crypt_Rijndael'
|
153 |
|
154 |
if (is_wp_error($ensure_phpseclib)) {
|
155 |
$updraftplus->log("Failed to load phpseclib classes (".$ensure_phpseclib->get_error_code()."): ".$ensure_phpseclib->get_error_message());
|
17 |
|
18 |
global $updraftplus;
|
19 |
|
20 |
+
$ensure_phpseclib = $updraftplus->ensure_phpseclib('Crypt_Rijndael');
|
21 |
|
22 |
if (is_wp_error($ensure_phpseclib)) {
|
23 |
$updraftplus->log("Failed to load phpseclib classes (".$ensure_phpseclib->get_error_code()."): ".$ensure_phpseclib->get_error_message());
|
149 |
}
|
150 |
|
151 |
// include Rijndael library from phpseclib
|
152 |
+
$ensure_phpseclib = $updraftplus->ensure_phpseclib('Crypt_Rijndael');
|
153 |
|
154 |
if (is_wp_error($ensure_phpseclib)) {
|
155 |
$updraftplus->log("Failed to load phpseclib classes (".$ensure_phpseclib->get_error_code()."): ".$ensure_phpseclib->get_error_message());
|
@@ -1439,25 +1439,26 @@ function updraft_downloader(base, backup_timestamp, what, whicharea, set_content
|
|
1439 |
/**
|
1440 |
* Parse JSON string, including automatically detecting unwanted extra input and skipping it
|
1441 |
*
|
1442 |
-
* @param {string}
|
|
|
1443 |
*
|
1444 |
* @throws SyntaxError|String (including passing on what JSON.parse may throw) if a parsing error occurs.
|
1445 |
*
|
1446 |
-
* @returns Mixed parsed JSON object. Will only return if parsing is successful (otherwise, will throw)
|
1447 |
*/
|
1448 |
-
function ud_parse_json(json_mix_str) {
|
1449 |
|
1450 |
-
|
1451 |
-
var first_char = json_mix_str.charAt(0);
|
1452 |
-
var last_char = json_mix_str.charAt(json_mix_str.length - 1);
|
1453 |
|
1454 |
// Just try it - i.e. the 'default' case where things work (which can include extra whitespace/line-feeds, and simple strings, etc.).
|
1455 |
-
|
1456 |
-
|
1457 |
-
|
1458 |
-
|
1459 |
-
|
1460 |
-
|
|
|
|
|
1461 |
}
|
1462 |
|
1463 |
var json_start_pos = json_mix_str.indexOf('{');
|
@@ -1468,8 +1469,8 @@ function ud_parse_json(json_mix_str) {
|
|
1468 |
var json_str = json_mix_str.slice(json_start_pos, json_last_pos + 1);
|
1469 |
try {
|
1470 |
var parsed = JSON.parse(json_str);
|
1471 |
-
console.log('UpdraftPlus: JSON re-parse successful');
|
1472 |
-
return parsed;
|
1473 |
} catch (e) {
|
1474 |
console.log('UpdraftPlus: Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting');
|
1475 |
|
@@ -1500,7 +1501,7 @@ function ud_parse_json(json_mix_str) {
|
|
1500 |
try {
|
1501 |
var parsed = JSON.parse(json_mix_str.substring(json_start_pos, cursor));
|
1502 |
console.log('UpdraftPlus: JSON re-parse successful');
|
1503 |
-
return parsed;
|
1504 |
} catch (e) {
|
1505 |
// Throw it again, so that our function works just like JSON.parse() in its behaviour.
|
1506 |
throw e;
|
@@ -2120,7 +2121,16 @@ jQuery(document).ready(function($) {
|
|
2120 |
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3').show();
|
2121 |
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3').html(response.html);
|
2122 |
jQuery('#updraft_clone_progress .updraftplus_spinner.spinner').addClass('visible');
|
2123 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2124 |
}
|
2125 |
} catch (err) {
|
2126 |
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone').prop('disabled', false);
|
@@ -2294,12 +2304,21 @@ jQuery(document).ready(function($) {
|
|
2294 |
if ('no_key_found' === data.code) {
|
2295 |
this.stage = 'create_key';
|
2296 |
}
|
2297 |
-
|
2298 |
-
|
2299 |
-
|
2300 |
-
|
2301 |
-
|
2302 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2303 |
}
|
2304 |
|
2305 |
if (data.hasOwnProperty('tfa_enabled') && true == data.tfa_enabled) {
|
@@ -2405,12 +2424,14 @@ jQuery(document).ready(function($) {
|
|
2405 |
/**
|
2406 |
* This function will send an AJAX request to the backend to start a clone backup job
|
2407 |
*
|
2408 |
-
* @param {string} clone_id
|
2409 |
-
* @param {string} secret_token
|
2410 |
-
* @param {string} clone_url
|
2411 |
-
* @param {string} key
|
|
|
|
|
2412 |
*/
|
2413 |
-
function temporary_clone_boot_backup(clone_id, secret_token, clone_url, key) {
|
2414 |
|
2415 |
var params = {
|
2416 |
updraftplus_clone_backup: 1,
|
@@ -2423,7 +2444,9 @@ jQuery(document).ready(function($) {
|
|
2423 |
clone_id: clone_id,
|
2424 |
secret_token: secret_token,
|
2425 |
clone_url: clone_url,
|
2426 |
-
key: key
|
|
|
|
|
2427 |
};
|
2428 |
|
2429 |
updraft_activejobslist_backupnownonce_only = 1;
|
@@ -4743,7 +4766,7 @@ jQuery(document).ready(function($) {
|
|
4743 |
var form = $(modal).find('#updraftcentral_cloud_form');
|
4744 |
var email = form.find('input#email').val();
|
4745 |
var password = form.find('input#password').val();
|
4746 |
-
var email_format = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,
|
4747 |
|
4748 |
$(modal).find('.updraftcentral_cloud_notices').html('').removeClass('updraftcentral_cloud_error updraftcentral_cloud_info');
|
4749 |
|
1439 |
/**
|
1440 |
* Parse JSON string, including automatically detecting unwanted extra input and skipping it
|
1441 |
*
|
1442 |
+
* @param {string} json_mix_str - JSON string which need to parse and convert to object
|
1443 |
+
* @param {boolean} analyse - if true, then the return format will contain information on the parsing, and parsing will skip attempting to JSON.parse() the entire string (will begin with trying to locate the actual JSON)
|
1444 |
*
|
1445 |
* @throws SyntaxError|String (including passing on what JSON.parse may throw) if a parsing error occurs.
|
1446 |
*
|
1447 |
+
* @returns Mixed parsed JSON object. Will only return if parsing is successful (otherwise, will throw). If analyse is true, then will rather return an object with properties (mixed)parsed, (integer)json_start_pos and (integer)json_end_pos
|
1448 |
*/
|
1449 |
+
function ud_parse_json(json_mix_str, analyse) {
|
1450 |
|
1451 |
+
analyse = ('undefined' === typeof analyse) ? false : true;
|
|
|
|
|
1452 |
|
1453 |
// Just try it - i.e. the 'default' case where things work (which can include extra whitespace/line-feeds, and simple strings, etc.).
|
1454 |
+
if (!analyse) {
|
1455 |
+
try {
|
1456 |
+
var result = JSON.parse(json_mix_str);
|
1457 |
+
return result;
|
1458 |
+
} catch (e) {
|
1459 |
+
console.log('UpdraftPlus: Exception when trying to parse JSON (1) - will attempt to fix/re-parse based upon first/last curly brackets');
|
1460 |
+
console.log(json_mix_str);
|
1461 |
+
}
|
1462 |
}
|
1463 |
|
1464 |
var json_start_pos = json_mix_str.indexOf('{');
|
1469 |
var json_str = json_mix_str.slice(json_start_pos, json_last_pos + 1);
|
1470 |
try {
|
1471 |
var parsed = JSON.parse(json_str);
|
1472 |
+
if (!analyse) { console.log('UpdraftPlus: JSON re-parse successful'); }
|
1473 |
+
return analyse ? { parsed: parsed, json_start_pos: json_start_pos, json_last_pos: json_last_pos } : parsed;
|
1474 |
} catch (e) {
|
1475 |
console.log('UpdraftPlus: Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting');
|
1476 |
|
1501 |
try {
|
1502 |
var parsed = JSON.parse(json_mix_str.substring(json_start_pos, cursor));
|
1503 |
console.log('UpdraftPlus: JSON re-parse successful');
|
1504 |
+
return analyse ? { parsed: parsed, json_start_pos: json_start_pos, json_last_pos: cursor } : parsed;
|
1505 |
} catch (e) {
|
1506 |
// Throw it again, so that our function works just like JSON.parse() in its behaviour.
|
1507 |
throw e;
|
2121 |
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3').show();
|
2122 |
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content .updraft_migrate_widget_temporary_clone_stage3').html(response.html);
|
2123 |
jQuery('#updraft_clone_progress .updraftplus_spinner.spinner').addClass('visible');
|
2124 |
+
|
2125 |
+
var backup_nonce = 'current';
|
2126 |
+
var backup_timestamp = 'current';
|
2127 |
+
var clone_backup_select_length = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options').length;
|
2128 |
+
var clone_backup_select = $('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options').find('option:selected');
|
2129 |
+
if (0 !== clone_backup_select_length && 'undefined' !== typeof clone_backup_select) {
|
2130 |
+
backup_nonce = clone_backup_select.data('nonce');
|
2131 |
+
backup_timestamp = clone_backup_select.data('timestamp');
|
2132 |
+
}
|
2133 |
+
temporary_clone_boot_backup(clone_id, secret_token, response.url, response.key, backup_nonce, backup_timestamp);
|
2134 |
}
|
2135 |
} catch (err) {
|
2136 |
$('#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraft_migrate_createclone').prop('disabled', false);
|
2304 |
if ('no_key_found' === data.code) {
|
2305 |
this.stage = 'create_key';
|
2306 |
}
|
2307 |
+
|
2308 |
+
// Continue with UpdraftPlus account even if the user has used all UpdraftCentral licences
|
2309 |
+
if ('no_licences_available' === data.code) {
|
2310 |
+
$('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(updraftlion.login_udc_no_licences_short).show();
|
2311 |
+
data.status = 'authenticated';
|
2312 |
+
container.find('input[name="_wp_http_referer"]').val(function(index, val) {
|
2313 |
+
return val + '&udc_connect=0';
|
2314 |
+
});
|
2315 |
+
} else {
|
2316 |
+
$('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').html(data.message).show();
|
2317 |
+
$('#updraft-navtab-addons-content .wrap .updraftplus_com_login_status').find('a').attr('target', '_blank');
|
2318 |
+
console.log(data);
|
2319 |
+
updraftplus_com_login.hide_loader();
|
2320 |
+
return;
|
2321 |
+
}
|
2322 |
}
|
2323 |
|
2324 |
if (data.hasOwnProperty('tfa_enabled') && true == data.tfa_enabled) {
|
2424 |
/**
|
2425 |
* This function will send an AJAX request to the backend to start a clone backup job
|
2426 |
*
|
2427 |
+
* @param {string} clone_id - the clone id
|
2428 |
+
* @param {string} secret_token - the clone secret
|
2429 |
+
* @param {string} clone_url - the clone url
|
2430 |
+
* @param {string} key - the migration key
|
2431 |
+
* @param {string} backup_nonce - the nonce for the backup we want to use or 'current' for a fresh backup
|
2432 |
+
* @param {string} backup_timestamp - the timestamp for the backup we want to use or 'current' for a fresh backup
|
2433 |
*/
|
2434 |
+
function temporary_clone_boot_backup(clone_id, secret_token, clone_url, key, backup_nonce, backup_timestamp) {
|
2435 |
|
2436 |
var params = {
|
2437 |
updraftplus_clone_backup: 1,
|
2444 |
clone_id: clone_id,
|
2445 |
secret_token: secret_token,
|
2446 |
clone_url: clone_url,
|
2447 |
+
key: key,
|
2448 |
+
backup_nonce: backup_nonce,
|
2449 |
+
backup_timestamp: backup_timestamp,
|
2450 |
};
|
2451 |
|
2452 |
updraft_activejobslist_backupnownonce_only = 1;
|
4766 |
var form = $(modal).find('#updraftcentral_cloud_form');
|
4767 |
var email = form.find('input#email').val();
|
4768 |
var password = form.find('input#password').val();
|
4769 |
+
var email_format = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/;
|
4770 |
|
4771 |
$(modal).find('.updraftcentral_cloud_notices').html('').removeClass('updraftcentral_cloud_error updraftcentral_cloud_info');
|
4772 |
|
@@ -1,4 +1,4 @@
|
|
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){t&&t.hasOwnProperty("m")&&jQuery("#updraft-insert-admin-warning").html(t.m)},{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?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");var n=336+20*e;jQuery("#updraft-restore-modal").dialog("option","height",n)}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").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),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){"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){t.charAt(0),t.charAt(t.length-1);try{var e=JSON.parse(t);return e}catch(a){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 r=t.indexOf("{"),n=t.lastIndexOf("}");if(r>-1&&n>-1){var o=t.slice(r,n+1);try{var d=JSON.parse(o);return console.log("UpdraftPlus: JSON re-parse successful"),d}catch(a){console.log("UpdraftPlus: Exception when trying to parse JSON (2) - will attempt to fix/re-parse based upon bracket counting");for(var u=r,s=0,i="",l=!1;(s>0||u==r)&&u<=n;){var p=t.charAt(u);l||"{"!=p?l||"}"!=p?'"'==p&&"\\"!=i&&(l=!l):s--:s++,i=p,u++}console.log("Started at cursor="+r+", ended at cursor="+u+" with result following:"),console.log(t.substring(r,u));try{var d=JSON.parse(t.substring(r,u));return console.log("UpdraftPlus: JSON re-parse successful"),d}catch(a){throw a}}}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-modal-stage2a").html(updraftlion.processing),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("");try{if(null==t)return void jQuery("#updraft-restore-modal-stage2a").html(updraftlion.emptyresponse);var n=t.m;if(""!=t.w&&(n=n+"<p><strong>"+updraftlion.warnings+"</strong><br>"+t.w+"</p>"),""!=t.e?n=n+"<p><strong>"+updraftlion.errors+"</strong><br>"+t.e+"</p>":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" style="clear:left; padding-top:10px;">'+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-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>"),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),
|
2 |
-
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||"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=[],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()}}(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))}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))}catch(a){console.log(a)}})}function n(t,e,a,r){var n={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};updraft_activejobslist_backupnownonce_only=1,updraft_send_command("backupnow",n,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 o(t){var e=Handlebars.compile(updraftlion.remote_storage_templates[t]),a=updraftlion.remote_storage_options[t]["default"];a.instance_id="s-"+d(32),a.instance_enabled=1;var r=e(a);jQuery(r).hide().insertAfter("."+t+"_add_instance_container:first").show("slow")}function d(t){for(var e="",a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r<t;r++)e+=a.charAt(Math.floor(Math.random()*a.length));return e}function u(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(),s()))}function s(){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 i(e,a,r,n){jQuery("#updraft-delete-modal").dialog("close");var o=e,d=a,u=r,s=n,l=jQuery("#updraft_delete_timestamp").val().split(","),p=jQuery("#updraft_delete_form").serializeArray(),_={};t.each(p,function(){void 0!==_[this.name]?(_[this.name].push||(_[this.name]=[_[this.name]]),_[this.name].push(this.value||"")):_[this.name]=this.value||""}),_.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"),_.remote_delete_limit=updraftlion.remote_delete_limit,delete _.action,delete _.subaction,delete _.nonce,updraft_send_command("deleteset",_,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),i(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<l.length;a++){var r=l[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 l(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 p(){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 _(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 c(t,e,a){updraft_restore_setoptions(t),jQuery("#updraft_restore_timestamp").val(e),jQuery(".updraft_restore_date").html(a),updraft_restore_stage=1,jQuery("#updraft-restore-modal").dialog("open"),jQuery("#updraft-restore-modal-stage1").show(),jQuery("#updraft-restore-modal-stage2").hide(),jQuery("#updraft-restore-modal-stage2a").html(""),updraft_activejobs_update(!0)}function f(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 m(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 g=jQuery.ui.dialog.prototype._allowInteraction;jQuery.ui.dialog.prototype._allowInteraction=function(t){return!!jQuery(t.target).closest(".select2-dropdown").length||g.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,t("#updraft_webdav_url_"+u).val(a)}),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(t){(t.ctrlKey||t.metaKey)&&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};h.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};h.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={
|
3 |
-
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"),o=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_updraftclone_branch").val(),i=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftplus_branch").val(),l=t(".updraftplus_clone_admin_login_options").is(":checked"),p={form_data:{clone_id:a,secret_token:r,install_info:{php_version:o,wp_version:d,region:u,admin_only:l,updraftclone_branch:"undefined"==typeof s?"":s,updraftplus_branch:"undefined"==typeof i?"":i}}};updraft_send_command("process_updraftplus_clone_create",p,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),jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible"),n(a,r,e.url,e.key))}catch(o){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(o)}})});var h={};h.set_status=function(e){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").text(e)},h.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")},h.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")},h.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,h.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:""},h.create_key()):(h.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login").submit()):a.hasOwnProperty("error")&&(h.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(a.message).show())}.bind(this))},h.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",h.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)),h.hide_loader())}catch(r){console.log(r),h.hide_loader()}}.bind(this),{json_parse:!1})},h.connect_udc=function(){var e=t("#updraft-navtab-addons-content .wrap");h.set_status(updraftlion.udc_cloud_key_created),h.show_loader(),"connect_udc_TFA"==this.stage&&(this.login_data.two_factor_code=e.find("input#updraftplus-addons_options_two_factor_code").val(),h.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"))return"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"),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 h.hide_loader();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)}h.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");o(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&&o(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(){u(!1)}),u(!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(),s()}),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 y=180;jQuery(".updraft-bigbutton").each(function(t,e){var a=jQuery(e).width();a>y&&(y=a)}),y>180&&jQuery(".updraft-bigbutton").width(y),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 b={};b[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-message-modal").dialog({autoOpen:!1,height:350,width:520,modal:!0,buttons:b});var v={};v[updraftlion.deletebutton]=function(){i(0,0,0,0)},v[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-delete-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:v});var w={};w[updraftlion.restore]=function(){var t=0,e=[],a=0,r=jQuery("#updraft_restore_meta_foreign").val();if(jQuery('input[name="updraft_restore[]"]').each(function(n,o){if(jQuery(o).is(":checked")&&!jQuery(o).is(":disabled")){t=1;var d=jQuery(o).data("howmany"),u=jQuery(o).val();if((1==r||2==r&&"db"!=u)&&("wpcore"!=u&&(d=jQuery("#updraft_restore_form #updraft_restore_wpcore").data("howmany")),u="wpcore"),"wpcore"!=u||0==a){var s=[u,d];e.push(s),"wpcore"==u&&(a=1)}}}),1==t){if(1==updraft_restore_stage){jQuery("#updraft-restore-modal-stage1").slideUp("slow"),jQuery("#updraft-restore-modal-stage2").show(),updraft_restore_stage=2;var n=jQuery(".updraft_restore_date").first().text(),o=e,d=jQuery("#updraft_restore_timestamp").val();try{updraft_send_command("whichdownloadsneeded",{downloads:e,timestamp:d},function(t){if(t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),o=t.downloads,console.log(o)),0==o.length)updraft_restorer_checkstage2(0);else for(var e=0;e<o.length;e++)updraft_downloader("udrestoredlstatus_",d,o[e][0],"#ud_downloadstatus2",o[e][1],n,!1)},{alert_on_error:!1,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>");else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft-restore-modal-stage2a").html('<p style="color:red; margin: 5px;">'+n+"</p>"),console.log(n),console.log(t)}}})}catch(u){console.log("UpdraftPlus: error (follows) when looking for items needing downloading"),console.log(u),alert(updraftlion.jsonnotunderstood)}}else if(2==updraft_restore_stage)updraft_restorer_checkstage2(1);else if(3==updraft_restore_stage){var s=1;if(jQuery("#updraft_restoreoptions_ui input.required").each(function(t){if(0!=s){var e=jQuery(this).val();if(""==e)alert(updraftlion.pleasefillinrequired),s=0;else if(""!=jQuery(this).attr("pattern")){var a=jQuery(this).attr("pattern"),r=new RegExp(a,"g");r.test(e)||(alert(jQuery(this).data("invalidpattern")),s=0)}}}),!s)return;var i=jQuery("#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input").serialize();console.log("Restore options: "+i),jQuery("#updraft_restorer_restore_options").val(i),jQuery("#updraft-restore-modal-stage2a").html(updraftlion.restore_proceeding),jQuery("#updraft_restore_form").submit(),updraft_restore_stage=4}}else alert(updraftlion.youdidnotselectany)},w[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-restore-modal").dialog({autoOpen:!1,height:505,width:590,modal:!0,buttons:w}),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 j={};j[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))},j[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-backupnow-modal").dialog({autoOpen:!1,height:472,width:610,modal:!0,buttons:j,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&&l(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."),
|
4 |
-
console.log(t))},{json_parse:!1,type:"GET"});try{"undefined"!=typeof updraft_plupload_config&&p()}catch(k){console.log(k)}if(jQuery("#updraftplus_httpget_go").click(function(t){t.preventDefault(),_(0)}),jQuery("#updraftplus_httpget_gocurl").click(function(t){t.preventDefault(),_(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");c(e,a,r)}),"initiate_restore"==f("udaction")){var Q=f("entities"),x=f("backup_timestamp"),O=f("showdata");c(Q,x,O)}var P={};P[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)},P[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-upload-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:P}),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?m(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)}),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,3})+$/;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 l={};t(document).on("heartbeat-send",function(t,e){l=updraft_poll_get_parameters(),e.updraftplus=l}),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,l)}})});
|
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){t&&t.hasOwnProperty("m")&&jQuery("#updraft-insert-admin-warning").html(t.m)},{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?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");var n=336+20*e;jQuery("#updraft-restore-modal").dialog("option","height",n)}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").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),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){"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}: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-modal-stage2a").html(updraftlion.processing),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("");try{if(null==t)return void jQuery("#updraft-restore-modal-stage2a").html(updraftlion.emptyresponse);var n=t.m;if(""!=t.w&&(n=n+"<p><strong>"+updraftlion.warnings+"</strong><br>"+t.w+"</p>"),""!=t.e?n=n+"<p><strong>"+updraftlion.errors+"</strong><br>"+t.e+"</p>":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" style="clear:left; padding-top:10px;">'+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-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>"),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),
|
2 |
+
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||"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=[],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()}}(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))}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))}catch(a){console.log(a)}})}function n(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 o(t){var e=Handlebars.compile(updraftlion.remote_storage_templates[t]),a=updraftlion.remote_storage_options[t]["default"];a.instance_id="s-"+d(32),a.instance_enabled=1;var r=e(a);jQuery(r).hide().insertAfter("."+t+"_add_instance_container:first").show("slow")}function d(t){for(var e="",a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=0;r<t;r++)e+=a.charAt(Math.floor(Math.random()*a.length));return e}function u(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(),s()))}function s(){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 i(e,a,r,n){jQuery("#updraft-delete-modal").dialog("close");var o=e,d=a,u=r,s=n,l=jQuery("#updraft_delete_timestamp").val().split(","),p=jQuery("#updraft_delete_form").serializeArray(),_={};t.each(p,function(){void 0!==_[this.name]?(_[this.name].push||(_[this.name]=[_[this.name]]),_[this.name].push(this.value||"")):_[this.name]=this.value||""}),_.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"),_.remote_delete_limit=updraftlion.remote_delete_limit,delete _.action,delete _.subaction,delete _.nonce,updraft_send_command("deleteset",_,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),i(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<l.length;a++){var r=l[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 l(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 p(){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 _(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 c(t,e,a){updraft_restore_setoptions(t),jQuery("#updraft_restore_timestamp").val(e),jQuery(".updraft_restore_date").html(a),updraft_restore_stage=1,jQuery("#updraft-restore-modal").dialog("open"),jQuery("#updraft-restore-modal-stage1").show(),jQuery("#updraft-restore-modal-stage2").hide(),jQuery("#updraft-restore-modal-stage2a").html(""),updraft_activejobs_update(!0)}function f(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 m(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 g=jQuery.ui.dialog.prototype._allowInteraction;jQuery.ui.dialog.prototype._allowInteraction=function(t){return!!jQuery(t.target).closest(".select2-dropdown").length||g.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,t("#updraft_webdav_url_"+u).val(a)}),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(t){(t.ctrlKey||t.metaKey)&&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};h.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};h.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={
|
3 |
+
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"),o=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_updraftclone_branch").val(),i=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_updraftplus_branch").val(),l=t(".updraftplus_clone_admin_login_options").is(":checked"),p={form_data:{clone_id:a,secret_token:r,install_info:{php_version:o,wp_version:d,region:u,admin_only:l,updraftclone_branch:"undefined"==typeof s?"":s,updraftplus_branch:"undefined"==typeof i?"":i}}};updraft_send_command("process_updraftplus_clone_create",p,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();if("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),jQuery("#updraft_clone_progress .updraftplus_spinner.spinner").addClass("visible");var o="current",d="current",u=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").length,s=t("#updraft-navtab-migrate-content .updraft_migrate_widget_module_content #updraftplus_clone_backup_options").find("option:selected");0!==u&&"undefined"!=typeof s&&(o=s.data("nonce"),d=s.data("timestamp")),n(a,r,e.url,e.key,o,d)}}catch(i){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(i)}})});var h={};h.set_status=function(e){t("#updraft-navtab-addons-content .wrap").find(".updraftplus_spinner.spinner").text(e)},h.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")},h.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")},h.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,h.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:""},h.create_key()):(h.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login").submit()):a.hasOwnProperty("error")&&(h.hide_loader(),t("#updraft-navtab-addons-content .wrap .updraftplus_com_login_status").html(a.message).show())}.bind(this))},h.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",h.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)),h.hide_loader())}catch(r){console.log(r),h.hide_loader()}}.bind(this),{json_parse:!1})},h.connect_udc=function(){var e=t("#updraft-navtab-addons-content .wrap");h.set_status(updraftlion.udc_cloud_key_created),h.show_loader(),"connect_udc_TFA"==this.stage&&(this.login_data.two_factor_code=e.find("input#updraftplus-addons_options_two_factor_code").val(),h.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 h.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)}h.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");o(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&&o(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(){u(!1)}),u(!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(),s()}),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 y=180;jQuery(".updraft-bigbutton").each(function(t,e){var a=jQuery(e).width();a>y&&(y=a)}),y>180&&jQuery(".updraft-bigbutton").width(y),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 b={};b[updraftlion.close]=function(){jQuery(this).dialog("close")},jQuery("#updraft-message-modal").dialog({autoOpen:!1,height:350,width:520,modal:!0,buttons:b});var v={};v[updraftlion.deletebutton]=function(){i(0,0,0,0)},v[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-delete-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:v});var w={};w[updraftlion.restore]=function(){var t=0,e=[],a=0,r=jQuery("#updraft_restore_meta_foreign").val();if(jQuery('input[name="updraft_restore[]"]').each(function(n,o){if(jQuery(o).is(":checked")&&!jQuery(o).is(":disabled")){t=1;var d=jQuery(o).data("howmany"),u=jQuery(o).val();if((1==r||2==r&&"db"!=u)&&("wpcore"!=u&&(d=jQuery("#updraft_restore_form #updraft_restore_wpcore").data("howmany")),u="wpcore"),"wpcore"!=u||0==a){var s=[u,d];e.push(s),"wpcore"==u&&(a=1)}}}),1==t){if(1==updraft_restore_stage){jQuery("#updraft-restore-modal-stage1").slideUp("slow"),jQuery("#updraft-restore-modal-stage2").show(),updraft_restore_stage=2;var n=jQuery(".updraft_restore_date").first().text(),o=e,d=jQuery("#updraft_restore_timestamp").val();try{updraft_send_command("whichdownloadsneeded",{downloads:e,timestamp:d},function(t){if(t.hasOwnProperty("downloads")&&(console.log("UpdraftPlus: items which still require downloading follow"),o=t.downloads,console.log(o)),0==o.length)updraft_restorer_checkstage2(0);else for(var e=0;e<o.length;e++)updraft_downloader("udrestoredlstatus_",d,o[e][0],"#ud_downloadstatus2",o[e][1],n,!1)},{alert_on_error:!1,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>");else{var n="updraft_send_command: error: "+e+" ("+a+")";jQuery("#updraft-restore-modal-stage2a").html('<p style="color:red; margin: 5px;">'+n+"</p>"),console.log(n),console.log(t)}}})}catch(u){console.log("UpdraftPlus: error (follows) when looking for items needing downloading"),console.log(u),alert(updraftlion.jsonnotunderstood)}}else if(2==updraft_restore_stage)updraft_restorer_checkstage2(1);else if(3==updraft_restore_stage){var s=1;if(jQuery("#updraft_restoreoptions_ui input.required").each(function(t){if(0!=s){var e=jQuery(this).val();if(""==e)alert(updraftlion.pleasefillinrequired),s=0;else if(""!=jQuery(this).attr("pattern")){var a=jQuery(this).attr("pattern"),r=new RegExp(a,"g");r.test(e)||(alert(jQuery(this).data("invalidpattern")),s=0)}}}),!s)return;var i=jQuery("#updraft_restoreoptions_ui select, #updraft_restoreoptions_ui input").serialize();console.log("Restore options: "+i),jQuery("#updraft_restorer_restore_options").val(i),jQuery("#updraft-restore-modal-stage2a").html(updraftlion.restore_proceeding),jQuery("#updraft_restore_form").submit(),updraft_restore_stage=4}}else alert(updraftlion.youdidnotselectany)},w[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-restore-modal").dialog({autoOpen:!1,height:505,width:590,modal:!0,buttons:w}),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 j={};j[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))},j[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-backupnow-modal").dialog({autoOpen:!1,height:472,width:610,modal:!0,buttons:j,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&&l(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){
|
4 |
+
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&&p()}catch(k){console.log(k)}if(jQuery("#updraftplus_httpget_go").click(function(t){t.preventDefault(),_(0)}),jQuery("#updraftplus_httpget_gocurl").click(function(t){t.preventDefault(),_(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");c(e,a,r)}),"initiate_restore"==f("udaction")){var Q=f("entities"),x=f("backup_timestamp"),O=f("showdata");c(Q,x,O)}var P={};P[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)},P[updraftlion.cancel]=function(){jQuery(this).dialog("close")},jQuery("#updraft-upload-modal").dialog({autoOpen:!1,height:322,width:430,modal:!0,buttons:P}),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?m(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)}),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,})+$/;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 l={};t(document).on("heartbeat-send",function(t,e){l=updraft_poll_get_parameters(),e.updraftplus=l}),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,l)}})});
|
@@ -26,7 +26,7 @@
|
|
26 |
<li>Debug mode that gives full logging of the backup</li>
|
27 |
<li>Internationalised (translations very welcome - see below)</li>
|
28 |
<li>Premium version and support available - <a href="https://updraftplus.com" rel="nofollow">https://updraftplus.com</a></li>
|
29 |
-
<li>Tested and supported on all current PHP versions
|
30 |
</ul>
|
31 |
|
32 |
<h4>Don't Risk Anything Less</h4>
|
@@ -45,17 +45,7 @@
|
|
45 |
|
46 |
<h4>Are you multi-lingual? Can you translate?</h4>
|
47 |
|
48 |
-
<p>Are you able to translate UpdraftPlus into another language? Are you ready to help speakers of your language? UpdraftPlus itself is ready and waiting - the only work needed is the translating. The translation process is easy, and web-based - go here for instructions: <a href="https://updraftplus.com/translate/" rel="nofollow>https://updraftplus.com/translate/</a
|
49 |
-
|
50 |
-
<p>Many thanks to the existing translators:</p>
|
51 |
-
|
52 |
-
<ul>
|
53 |
-
<li>Deutsch / German (de_DE): Marcel Herrguth - <a href="mailto:mherrguth@mrgeneration.de" rel="nofollow">mherrguth@mrgeneration.de</a></li>
|
54 |
-
<li>Español / Spanish (es_ES): Fernando Villasmil - <a href="mailto:villasmil.fernando@gmail.com" rel="nofollow">villasmil.fernando@gmail.com</a></li>
|
55 |
-
<li>Magyar / Hungarian (hu_HU): Szépe Viktor - <a href="http://www.szepe.net" rel="nofollow">http://www.szepe.net</a></li>
|
56 |
-
<li>Nederlands / Dutch (nl_NL): Hans van der Vlist - <a href="mailto:hansvandervlist@gmail.com" rel="nofollow">hansvandervlist@gmail.com</a></li>
|
57 |
-
<li>Polski / Polish (pl_PL): Bartosz Kaczmarek - <a href="mailto:barth.kaczmarek@gmail.com" rel="nofollow">barth.kaczmarek@gmail.com</a></li>
|
58 |
-
</ul>
|
59 |
|
60 |
<h4>Other support</h4>
|
61 |
|
@@ -64,4 +54,4 @@
|
|
64 |
</div>
|
65 |
|
66 |
</body>
|
67 |
-
</html>
|
26 |
<li>Debug mode that gives full logging of the backup</li>
|
27 |
<li>Internationalised (translations very welcome - see below)</li>
|
28 |
<li>Premium version and support available - <a href="https://updraftplus.com" rel="nofollow">https://updraftplus.com</a></li>
|
29 |
+
<li>Tested and supported on all current PHP versions</li>
|
30 |
</ul>
|
31 |
|
32 |
<h4>Don't Risk Anything Less</h4>
|
45 |
|
46 |
<h4>Are you multi-lingual? Can you translate?</h4>
|
47 |
|
48 |
+
<p>Are you able to translate UpdraftPlus into another language? Are you ready to help speakers of your language? UpdraftPlus itself is ready and waiting - the only work needed is the translating. The translation process is easy, and web-based - go here for instructions: <a href="https://updraftplus.com/translate/" rel="nofollow">https://updraftplus.com/translate/</a>.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
|
50 |
<h4>Other support</h4>
|
51 |
|
54 |
</div>
|
55 |
|
56 |
</body>
|
57 |
+
</html>
|
@@ -11,6 +11,7 @@ jQuery(document).ready(function($) {
|
|
11 |
var xhttp_data = 'action=updraft_ajaxrestore&updraftplus_ajax_restore=do_ajax_restore&job_id=' + job_id;
|
12 |
var previous_data_length = 0;
|
13 |
var show_alert = true;
|
|
|
14 |
|
15 |
xhttp.open("POST", ajaxurl, true);
|
16 |
xhttp.onprogress = function(response) {
|
@@ -25,10 +26,31 @@ jQuery(document).ready(function($) {
|
|
25 |
console.log(response.currentTarget.responseText);
|
26 |
return;
|
27 |
}
|
|
|
28 |
if (previous_data_length == response.currentTarget.responseText.length) return;
|
|
|
29 |
var responseText = response.currentTarget.responseText.substr(previous_data_length);
|
30 |
-
|
31 |
previous_data_length = response.currentTarget.responseText.length;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
} else {
|
33 |
$('#updraftplus_ajax_restore_output').append("UpdraftPlus restore error: " + response.currentTarget.status + ' ' + response.currentTarget.statusText);
|
34 |
console.log("UpdraftPlus restore error: " + response.currentTarget.status + ' ' + response.currentTarget.statusText);
|
@@ -41,4 +63,4 @@ jQuery(document).ready(function($) {
|
|
41 |
|
42 |
var job_id = $('#updraftplus_ajax_restore_job_id').val();
|
43 |
updraft_restore_command(job_id);
|
44 |
-
});
|
11 |
var xhttp_data = 'action=updraft_ajaxrestore&updraftplus_ajax_restore=do_ajax_restore&job_id=' + job_id;
|
12 |
var previous_data_length = 0;
|
13 |
var show_alert = true;
|
14 |
+
var debug = $('#updraftplus_ajax_restore_debug').length;
|
15 |
|
16 |
xhttp.open("POST", ajaxurl, true);
|
17 |
xhttp.onprogress = function(response) {
|
26 |
console.log(response.currentTarget.responseText);
|
27 |
return;
|
28 |
}
|
29 |
+
|
30 |
if (previous_data_length == response.currentTarget.responseText.length) return;
|
31 |
+
|
32 |
var responseText = response.currentTarget.responseText.substr(previous_data_length);
|
33 |
+
|
34 |
previous_data_length = response.currentTarget.responseText.length;
|
35 |
+
|
36 |
+
var end_of_json = 0;
|
37 |
+
// Check if there is restore information json in the response if so process it and remove it from the response so that it does not make it to page
|
38 |
+
for (var i = 0; i < responseText.length; i++) {
|
39 |
+
var buffer = responseText.substr(i, 7);
|
40 |
+
if ('RINFO:{' == buffer) {
|
41 |
+
// Output what precedes the RINFO:
|
42 |
+
$('#updraftplus_ajax_restore_output').append(responseText.substr(0, i));
|
43 |
+
// Grab what follows RINFO:
|
44 |
+
var analyse_it = ud_parse_json(responseText.substr(i), true);
|
45 |
+
// In future, this is the point at which to do something with the parsed data. For now, we'll just log it. The returned object is in analyse_it.parsed.
|
46 |
+
if (1 == debug) { console.log(analyse_it); }
|
47 |
+
// move the for loop counter to the end of the json
|
48 |
+
end_of_json = i + analyse_it.json_last_pos - analyse_it.json_start_pos + 7;
|
49 |
+
// When the for loop goes round again, it will start with the end of the JSON
|
50 |
+
i = end_of_json;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
$('#updraftplus_ajax_restore_output').append(responseText.substr(end_of_json));
|
54 |
} else {
|
55 |
$('#updraftplus_ajax_restore_output').append("UpdraftPlus restore error: " + response.currentTarget.status + ' ' + response.currentTarget.statusText);
|
56 |
console.log("UpdraftPlus restore error: " + response.currentTarget.status + ' ' + response.currentTarget.statusText);
|
63 |
|
64 |
var job_id = $('#updraftplus_ajax_restore_job_id').val();
|
65 |
updraft_restore_command(job_id);
|
66 |
+
});
|
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function(
|
1 |
+
jQuery(document).ready(function(r){function e(e){var t=new XMLHttpRequest,s="action=updraft_ajaxrestore&updraftplus_ajax_restore=do_ajax_restore&job_id="+e,a=0,o=!0,u=r("#updraftplus_ajax_restore_debug").length;t.open("POST",ajaxurl,!0),t.onprogress=function(e){if(e.currentTarget.status>=200&&e.currentTarget.status<300){if(-1!==e.currentTarget.responseText.indexOf("<html"))return o&&(o=!1,alert("UpdraftPlus "+updraftlion.ajax_restore_invalid_response)),r("#updraftplus_ajax_restore_output").append("UpdraftPlus "+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(a==e.currentTarget.responseText.length)return;var t=e.currentTarget.responseText.substr(a);a=e.currentTarget.responseText.length;for(var s=0,n=0;n<t.length;n++){var p=t.substr(n,7);if("RINFO:{"==p){r("#updraftplus_ajax_restore_output").append(t.substr(0,n));var d=ud_parse_json(t.substr(n),!0);1==u&&console.log(d),s=n+d.json_last_pos-d.json_start_pos+7,n=s}}r("#updraftplus_ajax_restore_output").append(t.substr(s))}else r("#updraftplus_ajax_restore_output").append("UpdraftPlus restore error: "+e.currentTarget.status+" "+e.currentTarget.statusText),console.log("UpdraftPlus restore error: "+e.currentTarget.status+" "+e.currentTarget.statusText),console.log(e.currentTarget)},t.setRequestHeader("Content-type","application/x-www-form-urlencoded"),t.send(s)}var t=r("#updraftplus_ajax_restore_job_id").val();e(t)});
|
Binary file
|
@@ -2,7 +2,7 @@
|
|
2 |
# This file is distributed under the same license as the UpdraftPlus package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"PO-Revision-Date: 2019-
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -83,281 +83,281 @@ msgstr "Du skal tilføje følgende som autoriseret omdirigerings-URI (under \"Fl
|
|
83 |
|
84 |
#: src/addons/googlecloud.php:991
|
85 |
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."
|
86 |
-
msgstr ""
|
87 |
|
88 |
#: src/addons/googlecloud.php:57
|
89 |
msgid "Frankfurt"
|
90 |
-
msgstr ""
|
91 |
|
92 |
#: src/addons/googlecloud.php:56
|
93 |
msgid "London"
|
94 |
-
msgstr ""
|
95 |
|
96 |
#: src/addons/googlecloud.php:55
|
97 |
msgid "Belgium"
|
98 |
-
msgstr ""
|
99 |
|
100 |
#: src/addons/googlecloud.php:54
|
101 |
msgid "Sydney"
|
102 |
-
msgstr ""
|
103 |
|
104 |
#: src/addons/googlecloud.php:53
|
105 |
msgid "Singapore"
|
106 |
-
msgstr ""
|
107 |
|
108 |
#: src/addons/googlecloud.php:52
|
109 |
msgid "Tokyo"
|
110 |
-
msgstr ""
|
111 |
|
112 |
#: src/addons/googlecloud.php:51
|
113 |
msgid "Taiwan"
|
114 |
-
msgstr ""
|
115 |
|
116 |
#: src/addons/googlecloud.php:50
|
117 |
msgid "Oregon"
|
118 |
-
msgstr ""
|
119 |
|
120 |
#: src/addons/googlecloud.php:49
|
121 |
msgid "North Virginia"
|
122 |
-
msgstr ""
|
123 |
|
124 |
#: src/addons/googlecloud.php:48
|
125 |
msgid "South Carolina"
|
126 |
-
msgstr ""
|
127 |
|
128 |
#: src/addons/googlecloud.php:47
|
129 |
msgid "Iowa"
|
130 |
-
msgstr ""
|
131 |
|
132 |
#: src/includes/class-commands.php:949
|
133 |
msgid "The creation of your data for creating the clone should now begin. 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."
|
134 |
-
msgstr ""
|
135 |
|
136 |
#: src/templates/wp-admin/settings/file-backup-exclude.php:11
|
137 |
msgid "Confirm change"
|
138 |
-
msgstr ""
|
139 |
|
140 |
#: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3,
|
141 |
#: src/templates/wp-admin/settings/file-backup-exclude.php:18
|
142 |
msgid "Add an exclusion rule"
|
143 |
-
msgstr ""
|
144 |
|
145 |
#: src/templates/wp-admin/settings/exclude-modal.php:59
|
146 |
msgid "Type a file prefix"
|
147 |
-
msgstr ""
|
148 |
|
149 |
#: src/templates/wp-admin/settings/exclude-modal.php:56,
|
150 |
#: src/templates/wp-admin/settings/exclude-modal.php:58
|
151 |
msgid "All files beginning with these characters"
|
152 |
-
msgstr ""
|
153 |
|
154 |
#: src/templates/wp-admin/settings/exclude-modal.php:47
|
155 |
msgid "Type an extension like zip"
|
156 |
-
msgstr ""
|
157 |
|
158 |
#: src/templates/wp-admin/settings/exclude-modal.php:28
|
159 |
msgid "Select a file/folder which you would like to exclude"
|
160 |
-
msgstr ""
|
161 |
|
162 |
#: src/templates/wp-admin/settings/exclude-modal.php:15
|
163 |
msgid "All files beginning with given characters"
|
164 |
-
msgstr ""
|
165 |
|
166 |
#: src/templates/wp-admin/settings/exclude-modal.php:12,
|
167 |
#: src/templates/wp-admin/settings/exclude-modal.php:44,
|
168 |
#: src/templates/wp-admin/settings/exclude-modal.php:46
|
169 |
msgid "All files with this extension"
|
170 |
-
msgstr ""
|
171 |
|
172 |
#: src/templates/wp-admin/settings/exclude-modal.php:9,
|
173 |
#: src/templates/wp-admin/settings/exclude-modal.php:22
|
174 |
msgid "File/directory"
|
175 |
-
msgstr ""
|
176 |
|
177 |
#: src/templates/wp-admin/settings/exclude-modal.php:6
|
178 |
msgid "Select a way to exclude files or directories from the backup"
|
179 |
-
msgstr ""
|
180 |
|
181 |
#: src/templates/wp-admin/settings/exclude-modal.php:2
|
182 |
msgid "Exclude files/directories"
|
183 |
-
msgstr ""
|
184 |
|
185 |
#: src/includes/updraftclone/temporary-clone-status.php:422
|
186 |
msgid "To read FAQs/documentation about UpdraftClone, go here."
|
187 |
-
msgstr ""
|
188 |
|
189 |
#: src/includes/updraftclone/temporary-clone-status.php:421
|
190 |
msgid "your UpdraftPlus.com account"
|
191 |
-
msgstr ""
|
192 |
|
193 |
#: src/includes/updraftclone/temporary-clone-status.php:421
|
194 |
msgid "You can check the progress here or in %s"
|
195 |
-
msgstr ""
|
196 |
|
197 |
#: src/includes/updraftclone/temporary-clone-status.php:421
|
198 |
msgid "Your UpdraftClone is still setting up."
|
199 |
-
msgstr ""
|
200 |
|
201 |
#: src/includes/updraftclone/temporary-clone-status.php:378
|
202 |
msgid "%s archives remain"
|
203 |
-
msgstr ""
|
204 |
|
205 |
#: src/includes/updraftclone/temporary-clone-status.php:378
|
206 |
msgid "The site data has all been received, and its import has begun."
|
207 |
-
msgstr ""
|
208 |
|
209 |
#: src/includes/updraftclone/temporary-clone-status.php:373
|
210 |
msgid "The sending of the site data has begun. So far %s data archives totalling %s have been received"
|
211 |
-
msgstr ""
|
212 |
|
213 |
#: src/includes/updraftclone/temporary-clone-status.php:369
|
214 |
msgid "WordPress installed; now awaiting the site data to be sent."
|
215 |
-
msgstr ""
|
216 |
|
217 |
#: src/includes/updraftclone/temporary-clone-status.php:94
|
218 |
msgid "Clone ready"
|
219 |
-
msgstr ""
|
220 |
|
221 |
#: src/includes/updraftclone/temporary-clone-status.php:86
|
222 |
msgid "Site data has been deployed"
|
223 |
-
msgstr ""
|
224 |
|
225 |
#: src/includes/updraftclone/temporary-clone-status.php:84,
|
226 |
#: src/includes/updraftclone/temporary-clone-status.php:347
|
227 |
msgid "Deploying site data"
|
228 |
-
msgstr ""
|
229 |
|
230 |
#: src/includes/updraftclone/temporary-clone-status.php:75
|
231 |
msgid "Site data received"
|
232 |
-
msgstr ""
|
233 |
|
234 |
#: src/includes/updraftclone/temporary-clone-status.php:73,
|
235 |
#: src/includes/updraftclone/temporary-clone-status.php:344
|
236 |
msgid "Receiving site data"
|
237 |
-
msgstr ""
|
238 |
|
239 |
#: src/includes/updraftclone/temporary-clone-status.php:66,
|
240 |
#: src/includes/updraftclone/temporary-clone-status.php:341
|
241 |
msgid "WordPress installed"
|
242 |
-
msgstr ""
|
243 |
|
244 |
#: src/admin.php:5428
|
245 |
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."
|
246 |
-
msgstr ""
|
247 |
|
248 |
#: src/admin.php:3828
|
249 |
msgid "Exclude these from"
|
250 |
-
msgstr ""
|
251 |
|
252 |
#: src/admin.php:952
|
253 |
msgid "The exclusion rule which you are trying to add already exists"
|
254 |
-
msgstr ""
|
255 |
|
256 |
#: src/admin.php:951
|
257 |
msgid "Please enter a valid file name prefix"
|
258 |
-
msgstr ""
|
259 |
|
260 |
#: src/admin.php:950
|
261 |
msgid "Please enter characters that begin the filename which you would like to exclude"
|
262 |
-
msgstr ""
|
263 |
|
264 |
#: src/admin.php:949
|
265 |
msgid "Please enter a valid file extension"
|
266 |
-
msgstr ""
|
267 |
|
268 |
#: src/admin.php:948
|
269 |
msgid "Please enter a file extension, like zip"
|
270 |
-
msgstr ""
|
271 |
|
272 |
#: src/admin.php:947
|
273 |
msgid "Please select a file/folder which you would like to exclude"
|
274 |
-
msgstr ""
|
275 |
|
276 |
#: src/admin.php:946
|
277 |
msgid "Are you sure you want to remove this exclusion rule?"
|
278 |
-
msgstr ""
|
279 |
|
280 |
#: src/templates/wp-admin/advanced/site-info.php:104
|
281 |
msgid "log results to console"
|
282 |
-
msgstr ""
|
283 |
|
284 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:42
|
285 |
msgid "Each time your clone renews it costs 1 token, which lasts for 1 week. You can shut this clone down at the following link:"
|
286 |
-
msgstr ""
|
287 |
|
288 |
#: src/templates/wp-admin/settings/temporary-clone.php:41
|
289 |
msgid "To create a temporary clone you need credit in your account."
|
290 |
-
msgstr ""
|
291 |
|
292 |
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
293 |
msgid "Read FAQs here."
|
294 |
-
msgstr ""
|
295 |
|
296 |
#: src/methods/dropbox.php:305, src/methods/dropbox.php:321
|
297 |
msgid "failed to upload file to %s (see log file for more)"
|
298 |
-
msgstr ""
|
299 |
|
300 |
#: src/admin.php:5424
|
301 |
msgid "Dashboard:"
|
302 |
-
msgstr ""
|
303 |
|
304 |
#: src/admin.php:5423
|
305 |
msgid "Front page:"
|
306 |
-
msgstr ""
|
307 |
|
308 |
#: src/admin.php:5422
|
309 |
msgid "Your clone has started and will be available at the following URLs once it is ready."
|
310 |
-
msgstr ""
|
311 |
|
312 |
#: src/includes/class-commands.php:906
|
313 |
msgid "manage"
|
314 |
-
msgstr ""
|
315 |
|
316 |
#: src/includes/class-commands.php:906
|
317 |
msgid "Current clones"
|
318 |
-
msgstr ""
|
319 |
|
320 |
#: src/class-updraftplus.php:2992
|
321 |
msgid "Your clone will now deploy this data to re-create your site."
|
322 |
-
msgstr ""
|
323 |
|
324 |
#: src/admin.php:943
|
325 |
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."
|
326 |
-
msgstr ""
|
327 |
|
328 |
#: src/addons/migrator.php:1745
|
329 |
msgid "Site key"
|
330 |
-
msgstr ""
|
331 |
|
332 |
#: src/addons/migrator.php:1736
|
333 |
msgid "Add a site"
|
334 |
-
msgstr ""
|
335 |
|
336 |
#: src/addons/migrator.php:229, src/addons/migrator.php:1731,
|
337 |
#: src/addons/migrator.php:1752
|
338 |
msgid "back"
|
339 |
-
msgstr ""
|
340 |
|
341 |
#: src/addons/migrator.php:195
|
342 |
msgid "Read this article to see step-by-step how it's done."
|
343 |
-
msgstr ""
|
344 |
|
345 |
#: src/addons/migrator.php:189,
|
346 |
#: src/templates/wp-admin/settings/migrator-no-migrator.php:6
|
347 |
msgid "Migrate (create a copy of a site on hosting you control)"
|
348 |
-
msgstr ""
|
349 |
|
350 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:42
|
351 |
msgid "Manage your clones"
|
352 |
-
msgstr ""
|
353 |
|
354 |
#: src/templates/wp-admin/settings/existing-backups-table.php:158
|
355 |
msgid "Use ctrl / cmd + press to select several items"
|
356 |
-
msgstr ""
|
357 |
|
358 |
#: src/methods/dreamobjects.php:20
|
359 |
msgid "Closing 1st October 2018"
|
360 |
-
msgstr ""
|
361 |
|
362 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:41
|
363 |
msgid "Your clone will renew on:"
|
@@ -404,262 +404,262 @@ msgstr "For at oprette en midlertidig klon har du brug for: 1) Kredit på din ko
|
|
404 |
|
405 |
#: src/templates/wp-admin/settings/temporary-clone.php:32
|
406 |
msgid "If you want, test upgrading to a different PHP or WP version."
|
407 |
-
msgstr ""
|
408 |
|
409 |
#: src/templates/wp-admin/settings/temporary-clone.php:32
|
410 |
msgid "Flexible"
|
411 |
-
msgstr ""
|
412 |
|
413 |
#: src/templates/wp-admin/settings/temporary-clone.php:31
|
414 |
msgid "Takes just the time needed to create a backup and send it."
|
415 |
-
msgstr ""
|
416 |
|
417 |
#: src/templates/wp-admin/settings/temporary-clone.php:31
|
418 |
msgid "Fast"
|
419 |
-
msgstr ""
|
420 |
|
421 |
#: src/templates/wp-admin/settings/temporary-clone.php:30
|
422 |
msgid "One VPS (Virtual Private Server) per clone, shared with nobody."
|
423 |
-
msgstr ""
|
424 |
|
425 |
#: src/templates/wp-admin/settings/temporary-clone.php:30
|
426 |
msgid "Secure"
|
427 |
-
msgstr ""
|
428 |
|
429 |
#: src/templates/wp-admin/settings/temporary-clone.php:29
|
430 |
msgid "Runs on capacity from a leading cloud computing provider."
|
431 |
-
msgstr ""
|
432 |
|
433 |
#: src/templates/wp-admin/settings/temporary-clone.php:29
|
434 |
msgid "Reliable"
|
435 |
-
msgstr ""
|
436 |
|
437 |
#: src/templates/wp-admin/settings/temporary-clone.php:28
|
438 |
msgid "Press the buttons... UpdraftClone does the work."
|
439 |
-
msgstr ""
|
440 |
|
441 |
#: src/templates/wp-admin/settings/temporary-clone.php:28
|
442 |
msgid "Easy"
|
443 |
-
msgstr ""
|
444 |
|
445 |
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
446 |
msgid "A temporary clone is an instant copy of this website, running on our servers. Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done."
|
447 |
-
msgstr ""
|
448 |
|
449 |
#: src/templates/wp-admin/settings/temporary-clone.php:10,
|
450 |
#: src/templates/wp-admin/settings/temporary-clone.php:39
|
451 |
msgid "Create a temporary clone on our servers (UpdraftClone)"
|
452 |
-
msgstr ""
|
453 |
|
454 |
#: src/templates/wp-admin/settings/tab-addons.php:23
|
455 |
msgid "WooCommerce plugins"
|
456 |
-
msgstr ""
|
457 |
|
458 |
#: src/templates/wp-admin/advanced/wipe-settings.php:13
|
459 |
msgid "Reset tour"
|
460 |
-
msgstr ""
|
461 |
|
462 |
#: src/templates/wp-admin/advanced/wipe-settings.php:12
|
463 |
msgid "Press this button to take a tour of the plugin."
|
464 |
-
msgstr ""
|
465 |
|
466 |
#: src/includes/updraftplus-tour.php:232
|
467 |
msgid "Take Tour"
|
468 |
-
msgstr ""
|
469 |
|
470 |
#: src/includes/updraftplus-tour.php:182
|
471 |
msgid "Log in here to enable all the features you have access to."
|
472 |
-
msgstr ""
|
473 |
|
474 |
#: src/includes/updraftplus-tour.php:181
|
475 |
msgid "Connect to updraftplus.com"
|
476 |
-
msgstr ""
|
477 |
|
478 |
#: src/includes/updraftplus-tour.php:172
|
479 |
msgid "Thank you for taking the tour. You are now all set to use UpdraftPlus!"
|
480 |
-
msgstr ""
|
481 |
|
482 |
#: src/includes/updraftplus-tour.php:160
|
483 |
msgctxt "Translators: UpdraftVault is a product name and should not be translated."
|
484 |
msgid "To get started with UpdraftVault, select one of the options below:"
|
485 |
-
msgstr ""
|
486 |
|
487 |
#: src/includes/updraftplus-tour.php:156,
|
488 |
#: src/includes/updraftplus-tour.php:174, src/includes/updraftplus-tour.php:185
|
489 |
msgid "Finish"
|
490 |
-
msgstr ""
|
491 |
|
492 |
#: src/includes/updraftplus-tour.php:153
|
493 |
msgid "UpdraftPlus Premium has many more exciting features!"
|
494 |
-
msgstr ""
|
495 |
|
496 |
#: src/includes/updraftplus-tour.php:152
|
497 |
msgid "UpdraftPlus Premium and addons"
|
498 |
-
msgstr ""
|
499 |
|
500 |
#: src/includes/updraftplus-tour.php:150, src/includes/updraftplus-tour.php:179
|
501 |
msgid "Thank you for taking the tour."
|
502 |
-
msgstr ""
|
503 |
|
504 |
#: src/includes/updraftplus-tour.php:145
|
505 |
msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral."
|
506 |
-
msgstr ""
|
507 |
|
508 |
#: src/includes/updraftplus-tour.php:144
|
509 |
msgid "Control all your backups in one place"
|
510 |
-
msgstr ""
|
511 |
|
512 |
#: src/includes/updraftplus-tour.php:139
|
513 |
msgid "Congratulations, your settings have successfully been saved."
|
514 |
-
msgstr ""
|
515 |
|
516 |
#: src/includes/updraftplus-tour.php:135
|
517 |
msgid "Press here to save your settings."
|
518 |
-
msgstr ""
|
519 |
|
520 |
#: src/includes/updraftplus-tour.php:134, src/includes/updraftplus-tour.php:138
|
521 |
msgid "Save"
|
522 |
-
msgstr ""
|
523 |
|
524 |
#: src/includes/updraftplus-tour.php:131
|
525 |
msgid "Look through the other settings here, making any changes you’d like."
|
526 |
-
msgstr ""
|
527 |
|
528 |
#: src/includes/updraftplus-tour.php:130
|
529 |
msgid "More settings"
|
530 |
-
msgstr ""
|
531 |
|
532 |
#: src/includes/updraftplus-tour.php:126,
|
533 |
#: src/includes/updraftplus-tour.php:153,
|
534 |
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
535 |
msgid "Find out more here."
|
536 |
-
msgstr ""
|
537 |
|
538 |
#: src/includes/updraftplus-tour.php:125
|
539 |
msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus."
|
540 |
-
msgstr ""
|
541 |
|
542 |
#: src/includes/updraftplus-tour.php:122
|
543 |
msgid "Now select a remote storage destination to protect against server-wide threats. If not, your backups remain on the same server as your site."
|
544 |
-
msgstr ""
|
545 |
|
546 |
#: src/includes/updraftplus-tour.php:118
|
547 |
msgid "Choose the schedule that you want your backups to run on."
|
548 |
-
msgstr ""
|
549 |
|
550 |
#: src/includes/updraftplus-tour.php:117
|
551 |
msgid "Choose your backup schedule"
|
552 |
-
msgstr ""
|
553 |
|
554 |
#: src/includes/updraftplus-tour.php:113
|
555 |
msgid "Congratulations! Your first backup is running."
|
556 |
-
msgstr ""
|
557 |
|
558 |
#: src/includes/updraftplus-tour.php:109, src/includes/updraftplus-tour.php:114
|
559 |
msgid "Go to settings"
|
560 |
-
msgstr ""
|
561 |
|
562 |
#: src/includes/updraftplus-tour.php:108, src/includes/updraftplus-tour.php:113
|
563 |
msgctxt "Translators: %s is a bold tag."
|
564 |
msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s"
|
565 |
-
msgstr ""
|
566 |
|
567 |
#: src/includes/updraftplus-tour.php:108
|
568 |
msgid "Press here to run a manual backup."
|
569 |
-
msgstr ""
|
570 |
|
571 |
#: src/includes/updraftplus-tour.php:107, src/includes/updraftplus-tour.php:112
|
572 |
msgid "Creating your first backup"
|
573 |
-
msgstr ""
|
574 |
|
575 |
#: src/includes/updraftplus-tour.php:104
|
576 |
msgid "Select what you want to backup"
|
577 |
-
msgstr ""
|
578 |
|
579 |
#: src/includes/updraftplus-tour.php:103
|
580 |
msgid "Manual backup options"
|
581 |
-
msgstr ""
|
582 |
|
583 |
#: src/includes/updraftplus-tour.php:100
|
584 |
msgctxt "updraftplus"
|
585 |
msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s"
|
586 |
-
msgstr ""
|
587 |
|
588 |
#: src/includes/updraftplus-tour.php:99
|
589 |
msgid "Your first backup"
|
590 |
-
msgstr ""
|
591 |
|
592 |
#: src/includes/updraftplus-tour.php:95
|
593 |
msgid "Press here to start!"
|
594 |
-
msgstr ""
|
595 |
|
596 |
#: src/includes/updraftplus-tour.php:92
|
597 |
msgid "the world’s most trusted backup plugin!"
|
598 |
-
msgstr ""
|
599 |
|
600 |
#: src/includes/updraftplus-tour.php:92
|
601 |
msgid "Welcome to UpdraftPlus"
|
602 |
-
msgstr ""
|
603 |
|
604 |
#: src/includes/updraftplus-tour.php:91
|
605 |
msgid "UpdraftPlus settings"
|
606 |
-
msgstr ""
|
607 |
|
608 |
#: src/includes/updraftplus-tour.php:88
|
609 |
msgid "End tour"
|
610 |
-
msgstr ""
|
611 |
|
612 |
#: src/includes/updraftplus-tour.php:87
|
613 |
msgid "Skip this step"
|
614 |
-
msgstr ""
|
615 |
|
616 |
#: src/includes/updraftplus-tour.php:86
|
617 |
msgid "Back"
|
618 |
-
msgstr ""
|
619 |
|
620 |
#: src/includes/class-commands.php:893
|
621 |
msgid "You can buy more temporary clone tokens here."
|
622 |
-
msgstr ""
|
623 |
|
624 |
#: src/admin.php:5379
|
625 |
msgid "Forbid non-administrators to login to WordPress on your clone"
|
626 |
-
msgstr ""
|
627 |
|
628 |
#: src/templates/wp-admin/settings/temporary-clone.php:35
|
629 |
msgid "Temporary clones of WordPress multisite installations are not yet supported. See our documentation on how to carry out a normal migration here"
|
630 |
-
msgstr ""
|
631 |
|
632 |
#: src/templates/wp-admin/settings/tab-addons.php:247
|
633 |
msgid "Premium / Find out more"
|
634 |
-
msgstr ""
|
635 |
|
636 |
#: src/templates/wp-admin/settings/tab-addons.php:22
|
637 |
msgid "Other great plugins"
|
638 |
-
msgstr ""
|
639 |
|
640 |
#: src/admin.php:5426, src/admin.php:5429
|
641 |
msgid "You can find your temporary clone information in your updraftplus.com account here."
|
642 |
-
msgstr ""
|
643 |
|
644 |
#: src/class-updraftplus.php:4177
|
645 |
msgid "Choose a default for each table"
|
646 |
-
msgstr ""
|
647 |
|
648 |
#: src/admin.php:3276
|
649 |
msgid "Sending files to remote site"
|
650 |
-
msgstr ""
|
651 |
|
652 |
#: src/admin.php:3271
|
653 |
msgid "Clone server being provisioned and booted (can take several minutes)"
|
654 |
-
msgstr ""
|
655 |
|
656 |
#: src/admin.php:942
|
657 |
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."
|
658 |
-
msgstr ""
|
659 |
|
660 |
#: src/addons/migrator.php:233
|
661 |
msgid "To import a backup set, go to the \"Existing Backups\" section in the \"Backup/Restore\" tab"
|
662 |
-
msgstr ""
|
663 |
|
664 |
#: src/admin.php:2798
|
665 |
msgid "Backup / Restore"
|
@@ -703,7 +703,7 @@ msgstr "UpdraftPlus bruger login-indstillinger for midlertidig klon:"
|
|
703 |
|
704 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:39
|
705 |
msgid "Welcome to your UpdraftClone (temporary clone)"
|
706 |
-
msgstr ""
|
707 |
|
708 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:38
|
709 |
msgid "Refresh connection"
|
@@ -749,7 +749,7 @@ msgstr "Tillad kun manuel sletning af denne backup (dvs. behold den, selv om tid
|
|
749 |
|
750 |
#: src/addons/wp-cli.php:834
|
751 |
msgid "You have given the %1$s option. The %1$s is working with \"%2$s\" addon. Get the \"%2$s\" addon: %3$s"
|
752 |
-
msgstr ""
|
753 |
|
754 |
#: src/addons/wp-cli.php:793
|
755 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)."
|
@@ -1174,7 +1174,7 @@ msgstr "Du bruger i øjeblikket den gratis version af UpdraftPlus."
|
|
1174 |
|
1175 |
#: src/templates/wp-admin/settings/tab-addons.php:26
|
1176 |
msgid "Get it here"
|
1177 |
-
msgstr ""
|
1178 |
|
1179 |
#: src/methods/stream-base.php:323
|
1180 |
msgid "Download chunk size successfully changed to %d"
|
@@ -1616,7 +1616,7 @@ msgstr "UpdraftPlus har sin egen indlejrede lagringsmulighed, hvilket giver en s
|
|
1616 |
|
1617 |
#: src/templates/wp-admin/advanced/wipe-settings.php:11
|
1618 |
msgid "UpdraftPlus Tour"
|
1619 |
-
msgstr ""
|
1620 |
|
1621 |
#: src/templates/wp-admin/settings/tab-addons.php:232
|
1622 |
msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups."
|
@@ -1701,7 +1701,7 @@ msgstr "Kloning og migration"
|
|
1701 |
|
1702 |
#: src/templates/wp-admin/settings/tab-addons.php:180
|
1703 |
msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV and more with UpdraftPlus Premium."
|
1704 |
-
msgstr ""
|
1705 |
|
1706 |
#: src/templates/wp-admin/settings/tab-addons.php:179
|
1707 |
msgid "Additional and enhanced remote storage locations"
|
@@ -1858,7 +1858,7 @@ msgstr "Forårs udsalg - 20% rabat på UpdraftPlus Premium indtil 30. april"
|
|
1858 |
|
1859 |
#: src/includes/updraftplus-notices.php:238
|
1860 |
msgid "Happy New Year - 20% off UpdraftPlus Premium until January 14th"
|
1861 |
-
msgstr ""
|
1862 |
|
1863 |
#: src/includes/updraftplus-notices.php:225
|
1864 |
msgid "Christmas sale - 20% off UpdraftPlus Premium until December 25th"
|
@@ -2843,7 +2843,7 @@ msgstr "Du skal gemme og godkende, før du kan teste dine indstillinger."
|
|
2843 |
|
2844 |
#: src/addons/googlecloud.php:541
|
2845 |
msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud."
|
2846 |
-
msgstr ""
|
2847 |
|
2848 |
#: src/addons/googlecloud.php:257, src/addons/googlecloud.php:332,
|
2849 |
#: src/addons/googlecloud.php:897, src/addons/googlecloud.php:947
|
@@ -3260,7 +3260,7 @@ msgstr "Opretter..."
|
|
3260 |
|
3261 |
#: src/addons/migrator.php:1753
|
3262 |
msgid "Receive a backup from a remote site"
|
3263 |
-
msgstr ""
|
3264 |
|
3265 |
#: src/addons/migrator.php:1745
|
3266 |
msgid "Paste key here"
|
@@ -3276,7 +3276,7 @@ msgstr "For at tilføje en hjemmeside som en destination til at sende til, skal
|
|
3276 |
|
3277 |
#: src/addons/migrator.php:1732
|
3278 |
msgid "Send a backup to another site"
|
3279 |
-
msgstr ""
|
3280 |
|
3281 |
#: src/admin.php:874, src/includes/class-remote-send.php:358,
|
3282 |
#: src/includes/class-remote-send.php:520
|
@@ -3408,7 +3408,7 @@ msgstr "Opret OneDrive legimitation i din OneDrive udviklerkonsol."
|
|
3408 |
|
3409 |
#: src/addons/onedrive.php:1133
|
3410 |
msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked"
|
3411 |
-
msgstr ""
|
3412 |
|
3413 |
#: src/addons/azure.php:593
|
3414 |
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)."
|
@@ -3416,7 +3416,7 @@ msgstr "Microsoft Azure er ikke kompatibel med sites, som hostes på en lokal ho
|
|
3416 |
|
3417 |
#: src/addons/onedrive.php:1096, src/addons/onedrive.php:1098
|
3418 |
msgid "authorization failed:"
|
3419 |
-
msgstr ""
|
3420 |
|
3421 |
#: src/addons/onedrive.php:939, src/addons/onedrive.php:1177,
|
3422 |
#: src/addons/onedrive.php:1181
|
@@ -4033,7 +4033,7 @@ msgstr "Understøttede backup plugins: %s"
|
|
4033 |
|
4034 |
#: src/addons/importer.php:78
|
4035 |
msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link."
|
4036 |
-
msgstr ""
|
4037 |
|
4038 |
#: src/templates/wp-admin/advanced/site-info.php:44
|
4039 |
msgid "Memory limit"
|
@@ -5100,7 +5100,7 @@ msgstr "%s logo"
|
|
5100 |
|
5101 |
#: src/methods/dropbox.php:286
|
5102 |
msgid "did not return the expected response - check your log file for more details"
|
5103 |
-
msgstr ""
|
5104 |
|
5105 |
#: src/methods/s3.php:312
|
5106 |
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it"
|
@@ -5182,7 +5182,7 @@ msgstr "(Dette gælder alle WordPress backup plugins, undtagen hvis de er specie
|
|
5182 |
|
5183 |
#: src/options.php:208
|
5184 |
msgid "Without upgrading, UpdraftPlus allows <strong>every</strong> blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) <strong>the entire network</strong>."
|
5185 |
-
msgstr ""
|
5186 |
|
5187 |
#: src/options.php:208
|
5188 |
msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on."
|
@@ -6083,7 +6083,7 @@ msgstr "Undersøg dine fil-tilladelser: Kunne ikke skabe og tilføje arkivet:"
|
|
6083 |
|
6084 |
#: src/addons/sftp.php:37
|
6085 |
msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it. If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there."
|
6086 |
-
msgstr ""
|
6087 |
|
6088 |
#: src/methods/s3.php:859
|
6089 |
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."
|
@@ -6160,7 +6160,7 @@ msgstr "Ønsker du at flytte eller klone/kopiere et site?"
|
|
6160 |
|
6161 |
#: src/templates/wp-admin/settings/existing-backups-table.php:161
|
6162 |
msgid "Please allow time for the communications with the remote storage to complete."
|
6163 |
-
msgstr ""
|
6164 |
|
6165 |
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:23
|
6166 |
msgid "Also delete from remote storage"
|
@@ -6507,7 +6507,7 @@ msgstr "der findes en add-on for dette."
|
|
6507 |
|
6508 |
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6509 |
msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then "
|
6510 |
-
msgstr ""
|
6511 |
|
6512 |
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6513 |
msgid "Backups are saved in"
|
@@ -6523,7 +6523,7 @@ msgstr "fejl: Kunne ikke oploade filer i %s (se log file for yderligere informat
|
|
6523 |
|
6524 |
#: src/methods/dropbox.php:195
|
6525 |
msgid "error: %s (see log file for more)"
|
6526 |
-
msgstr ""
|
6527 |
|
6528 |
#: src/methods/dropbox.php:173, src/methods/dropbox.php:190
|
6529 |
msgid "You do not appear to be authenticated with Dropbox"
|
2 |
# This file is distributed under the same license as the UpdraftPlus package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"PO-Revision-Date: 2019-05-27 21:59:09+0000\n"
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
83 |
|
84 |
#: src/addons/googlecloud.php:991
|
85 |
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."
|
86 |
+
msgstr "%s tillader ikke godkendelse af websteder, der er hostet på direkte IP-adresser. Du skal ændre dit websteds adresse (%s), før du kan bruge %s til opbevaring."
|
87 |
|
88 |
#: src/addons/googlecloud.php:57
|
89 |
msgid "Frankfurt"
|
90 |
+
msgstr "Frankfurt"
|
91 |
|
92 |
#: src/addons/googlecloud.php:56
|
93 |
msgid "London"
|
94 |
+
msgstr "London"
|
95 |
|
96 |
#: src/addons/googlecloud.php:55
|
97 |
msgid "Belgium"
|
98 |
+
msgstr "Belgien"
|
99 |
|
100 |
#: src/addons/googlecloud.php:54
|
101 |
msgid "Sydney"
|
102 |
+
msgstr "Sydney"
|
103 |
|
104 |
#: src/addons/googlecloud.php:53
|
105 |
msgid "Singapore"
|
106 |
+
msgstr "Singapore"
|
107 |
|
108 |
#: src/addons/googlecloud.php:52
|
109 |
msgid "Tokyo"
|
110 |
+
msgstr "Tokyo"
|
111 |
|
112 |
#: src/addons/googlecloud.php:51
|
113 |
msgid "Taiwan"
|
114 |
+
msgstr "Taiwan"
|
115 |
|
116 |
#: src/addons/googlecloud.php:50
|
117 |
msgid "Oregon"
|
118 |
+
msgstr "Oregon"
|
119 |
|
120 |
#: src/addons/googlecloud.php:49
|
121 |
msgid "North Virginia"
|
122 |
+
msgstr "North Virginia"
|
123 |
|
124 |
#: src/addons/googlecloud.php:48
|
125 |
msgid "South Carolina"
|
126 |
+
msgstr "South Carolina"
|
127 |
|
128 |
#: src/addons/googlecloud.php:47
|
129 |
msgid "Iowa"
|
130 |
+
msgstr "Iowa"
|
131 |
|
132 |
#: src/includes/class-commands.php:949
|
133 |
msgid "The creation of your data for creating the clone should now begin. 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."
|
134 |
+
msgstr "Oprettelsen af dine data til oprettelse af klonen skulle nu begynde. N.B. Du bliver opkrævet et token, når klonen er klar. Hvis klonen ikke starter, så bliver der ikke taget nogen token."
|
135 |
|
136 |
#: src/templates/wp-admin/settings/file-backup-exclude.php:11
|
137 |
msgid "Confirm change"
|
138 |
+
msgstr "Bekræft ændring"
|
139 |
|
140 |
#: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3,
|
141 |
#: src/templates/wp-admin/settings/file-backup-exclude.php:18
|
142 |
msgid "Add an exclusion rule"
|
143 |
+
msgstr "Tilføj en udelukkelsesregel"
|
144 |
|
145 |
#: src/templates/wp-admin/settings/exclude-modal.php:59
|
146 |
msgid "Type a file prefix"
|
147 |
+
msgstr "Indtast et filpræfiks"
|
148 |
|
149 |
#: src/templates/wp-admin/settings/exclude-modal.php:56,
|
150 |
#: src/templates/wp-admin/settings/exclude-modal.php:58
|
151 |
msgid "All files beginning with these characters"
|
152 |
+
msgstr "Alle filer der begynder med disse tegn"
|
153 |
|
154 |
#: src/templates/wp-admin/settings/exclude-modal.php:47
|
155 |
msgid "Type an extension like zip"
|
156 |
+
msgstr "Skriv en udvidelse som f.eks. zip"
|
157 |
|
158 |
#: src/templates/wp-admin/settings/exclude-modal.php:28
|
159 |
msgid "Select a file/folder which you would like to exclude"
|
160 |
+
msgstr "Vælg en fil/mappe, som du gerne vil udelukke"
|
161 |
|
162 |
#: src/templates/wp-admin/settings/exclude-modal.php:15
|
163 |
msgid "All files beginning with given characters"
|
164 |
+
msgstr "Alle filer der begynder med disse tegn"
|
165 |
|
166 |
#: src/templates/wp-admin/settings/exclude-modal.php:12,
|
167 |
#: src/templates/wp-admin/settings/exclude-modal.php:44,
|
168 |
#: src/templates/wp-admin/settings/exclude-modal.php:46
|
169 |
msgid "All files with this extension"
|
170 |
+
msgstr "Alle filer med denne udvidelse"
|
171 |
|
172 |
#: src/templates/wp-admin/settings/exclude-modal.php:9,
|
173 |
#: src/templates/wp-admin/settings/exclude-modal.php:22
|
174 |
msgid "File/directory"
|
175 |
+
msgstr "Fil/mappe"
|
176 |
|
177 |
#: src/templates/wp-admin/settings/exclude-modal.php:6
|
178 |
msgid "Select a way to exclude files or directories from the backup"
|
179 |
+
msgstr "Vælg en måde at ekskludere filer eller mapper fra backup'en"
|
180 |
|
181 |
#: src/templates/wp-admin/settings/exclude-modal.php:2
|
182 |
msgid "Exclude files/directories"
|
183 |
+
msgstr "Ekskluder filer/mapper"
|
184 |
|
185 |
#: src/includes/updraftclone/temporary-clone-status.php:422
|
186 |
msgid "To read FAQs/documentation about UpdraftClone, go here."
|
187 |
+
msgstr "Gå hertil, for at læse ofte stillede spørgsmål/dokumentation om UpdraftClone."
|
188 |
|
189 |
#: src/includes/updraftclone/temporary-clone-status.php:421
|
190 |
msgid "your UpdraftPlus.com account"
|
191 |
+
msgstr "din UpdraftPlus.com konto"
|
192 |
|
193 |
#: src/includes/updraftclone/temporary-clone-status.php:421
|
194 |
msgid "You can check the progress here or in %s"
|
195 |
+
msgstr "Du kan kontrollere fremskridt her eller i %s"
|
196 |
|
197 |
#: src/includes/updraftclone/temporary-clone-status.php:421
|
198 |
msgid "Your UpdraftClone is still setting up."
|
199 |
+
msgstr "Din UpdraftClone indstilles stadig."
|
200 |
|
201 |
#: src/includes/updraftclone/temporary-clone-status.php:378
|
202 |
msgid "%s archives remain"
|
203 |
+
msgstr "%s arkiver mangler"
|
204 |
|
205 |
#: src/includes/updraftclone/temporary-clone-status.php:378
|
206 |
msgid "The site data has all been received, and its import has begun."
|
207 |
+
msgstr "Alle webstedets data er blevet modtaget, og importen er begyndt."
|
208 |
|
209 |
#: src/includes/updraftclone/temporary-clone-status.php:373
|
210 |
msgid "The sending of the site data has begun. So far %s data archives totalling %s have been received"
|
211 |
+
msgstr "Overførslen af webstedets data er begyndt. Indtil nu er %s dataarkiver i alt %s blevet modtaget"
|
212 |
|
213 |
#: src/includes/updraftclone/temporary-clone-status.php:369
|
214 |
msgid "WordPress installed; now awaiting the site data to be sent."
|
215 |
+
msgstr "WordPress installeret; afventer nu de data, der skal sendes."
|
216 |
|
217 |
#: src/includes/updraftclone/temporary-clone-status.php:94
|
218 |
msgid "Clone ready"
|
219 |
+
msgstr "Klon klar"
|
220 |
|
221 |
#: src/includes/updraftclone/temporary-clone-status.php:86
|
222 |
msgid "Site data has been deployed"
|
223 |
+
msgstr "Webstedets data er blevet implementeret"
|
224 |
|
225 |
#: src/includes/updraftclone/temporary-clone-status.php:84,
|
226 |
#: src/includes/updraftclone/temporary-clone-status.php:347
|
227 |
msgid "Deploying site data"
|
228 |
+
msgstr "Implementering af webstedsdata"
|
229 |
|
230 |
#: src/includes/updraftclone/temporary-clone-status.php:75
|
231 |
msgid "Site data received"
|
232 |
+
msgstr "Websteddata modtaget"
|
233 |
|
234 |
#: src/includes/updraftclone/temporary-clone-status.php:73,
|
235 |
#: src/includes/updraftclone/temporary-clone-status.php:344
|
236 |
msgid "Receiving site data"
|
237 |
+
msgstr "Modtagelse af webstedsdata"
|
238 |
|
239 |
#: src/includes/updraftclone/temporary-clone-status.php:66,
|
240 |
#: src/includes/updraftclone/temporary-clone-status.php:341
|
241 |
msgid "WordPress installed"
|
242 |
+
msgstr "WordPress installeret."
|
243 |
|
244 |
#: src/admin.php:5428
|
245 |
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."
|
246 |
+
msgstr "Din klon er startet, netværksoplysninger er endnu ikke tilgængelige, men vil blive vist her og på din updraftplus.com konto, når den er klar."
|
247 |
|
248 |
#: src/admin.php:3828
|
249 |
msgid "Exclude these from"
|
250 |
+
msgstr "Ekskluder disse fra"
|
251 |
|
252 |
#: src/admin.php:952
|
253 |
msgid "The exclusion rule which you are trying to add already exists"
|
254 |
+
msgstr "Den udelukkelsesregel, som du forsøger at tilføje, eksisterer allerede"
|
255 |
|
256 |
#: src/admin.php:951
|
257 |
msgid "Please enter a valid file name prefix"
|
258 |
+
msgstr "Indtast venligst et gyldigt filnavn præfiks"
|
259 |
|
260 |
#: src/admin.php:950
|
261 |
msgid "Please enter characters that begin the filename which you would like to exclude"
|
262 |
+
msgstr "Indtast venligst tegn, der begynder filnavnet, som du gerne vil udelukke"
|
263 |
|
264 |
#: src/admin.php:949
|
265 |
msgid "Please enter a valid file extension"
|
266 |
+
msgstr "Indtast venligst et gyldigt filtypenavn"
|
267 |
|
268 |
#: src/admin.php:948
|
269 |
msgid "Please enter a file extension, like zip"
|
270 |
+
msgstr "Indtast venligst en filtype, som f.eks. zip"
|
271 |
|
272 |
#: src/admin.php:947
|
273 |
msgid "Please select a file/folder which you would like to exclude"
|
274 |
+
msgstr "Vælg venligst en fil/mappe, som du gerne vil udelukke"
|
275 |
|
276 |
#: src/admin.php:946
|
277 |
msgid "Are you sure you want to remove this exclusion rule?"
|
278 |
+
msgstr "Er du sikker på, at du vil fjerne denne udelukkelsesregel?"
|
279 |
|
280 |
#: src/templates/wp-admin/advanced/site-info.php:104
|
281 |
msgid "log results to console"
|
282 |
+
msgstr "log resultater til konsol"
|
283 |
|
284 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:42
|
285 |
msgid "Each time your clone renews it costs 1 token, which lasts for 1 week. You can shut this clone down at the following link:"
|
286 |
+
msgstr "Hver gang din klon fornyes, koster det 1 token, der gælder i 1 uge. Du kan lukke denne klon ned på følgende link:"
|
287 |
|
288 |
#: src/templates/wp-admin/settings/temporary-clone.php:41
|
289 |
msgid "To create a temporary clone you need credit in your account."
|
290 |
+
msgstr "For at oprette en midlertidig klon har du brug for kredit på din konto."
|
291 |
|
292 |
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
293 |
msgid "Read FAQs here."
|
294 |
+
msgstr "Læs ofte stillede spørgsmål her."
|
295 |
|
296 |
#: src/methods/dropbox.php:305, src/methods/dropbox.php:321
|
297 |
msgid "failed to upload file to %s (see log file for more)"
|
298 |
+
msgstr "kunne ikke uploade filen til %s (se logfil for mere info)"
|
299 |
|
300 |
#: src/admin.php:5424
|
301 |
msgid "Dashboard:"
|
302 |
+
msgstr "Dashboard:"
|
303 |
|
304 |
#: src/admin.php:5423
|
305 |
msgid "Front page:"
|
306 |
+
msgstr "Forside:"
|
307 |
|
308 |
#: src/admin.php:5422
|
309 |
msgid "Your clone has started and will be available at the following URLs once it is ready."
|
310 |
+
msgstr "Din klon er startet og vil være tilgængelig på følgende webadresser, når den er klar."
|
311 |
|
312 |
#: src/includes/class-commands.php:906
|
313 |
msgid "manage"
|
314 |
+
msgstr "styre"
|
315 |
|
316 |
#: src/includes/class-commands.php:906
|
317 |
msgid "Current clones"
|
318 |
+
msgstr "Nuværende kloner"
|
319 |
|
320 |
#: src/class-updraftplus.php:2992
|
321 |
msgid "Your clone will now deploy this data to re-create your site."
|
322 |
+
msgstr "Din klon vil nu implementere disse data for at genskabe dit websted."
|
323 |
|
324 |
#: src/admin.php:943
|
325 |
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."
|
326 |
+
msgstr "Klonen er blevet tildelt, og dens data er blevet sendt til den. Når klonen er færdig med at implementere den, modtager du en email."
|
327 |
|
328 |
#: src/addons/migrator.php:1745
|
329 |
msgid "Site key"
|
330 |
+
msgstr "Side-nøgle"
|
331 |
|
332 |
#: src/addons/migrator.php:1736
|
333 |
msgid "Add a site"
|
334 |
+
msgstr "Tilføj et site."
|
335 |
|
336 |
#: src/addons/migrator.php:229, src/addons/migrator.php:1731,
|
337 |
#: src/addons/migrator.php:1752
|
338 |
msgid "back"
|
339 |
+
msgstr " tilbage"
|
340 |
|
341 |
#: src/addons/migrator.php:195
|
342 |
msgid "Read this article to see step-by-step how it's done."
|
343 |
+
msgstr "Læs denne artikel for at se trin for trin, hvordan man gør. "
|
344 |
|
345 |
#: src/addons/migrator.php:189,
|
346 |
#: src/templates/wp-admin/settings/migrator-no-migrator.php:6
|
347 |
msgid "Migrate (create a copy of a site on hosting you control)"
|
348 |
+
msgstr "Migrere (lav en kopi af et websted, du administrerer) "
|
349 |
|
350 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:42
|
351 |
msgid "Manage your clones"
|
352 |
+
msgstr "Administrer dine kloner"
|
353 |
|
354 |
#: src/templates/wp-admin/settings/existing-backups-table.php:158
|
355 |
msgid "Use ctrl / cmd + press to select several items"
|
356 |
+
msgstr "Brug ctrl / cmd og klik for at vælge flere elementer"
|
357 |
|
358 |
#: src/methods/dreamobjects.php:20
|
359 |
msgid "Closing 1st October 2018"
|
360 |
+
msgstr "Lukker 1. oktober 2018"
|
361 |
|
362 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:41
|
363 |
msgid "Your clone will renew on:"
|
404 |
|
405 |
#: src/templates/wp-admin/settings/temporary-clone.php:32
|
406 |
msgid "If you want, test upgrading to a different PHP or WP version."
|
407 |
+
msgstr "Du er velkommen til at teste opgradering til en anden PHP eller WP-version."
|
408 |
|
409 |
#: src/templates/wp-admin/settings/temporary-clone.php:32
|
410 |
msgid "Flexible"
|
411 |
+
msgstr "Fleksibel"
|
412 |
|
413 |
#: src/templates/wp-admin/settings/temporary-clone.php:31
|
414 |
msgid "Takes just the time needed to create a backup and send it."
|
415 |
+
msgstr "Tager kun den nødvendige for at oprette en sikkerhedskopi og sende den."
|
416 |
|
417 |
#: src/templates/wp-admin/settings/temporary-clone.php:31
|
418 |
msgid "Fast"
|
419 |
+
msgstr "Hurtigt"
|
420 |
|
421 |
#: src/templates/wp-admin/settings/temporary-clone.php:30
|
422 |
msgid "One VPS (Virtual Private Server) per clone, shared with nobody."
|
423 |
+
msgstr "En VPS (Virtual Private Server) pr. klon, ikke delt med andre."
|
424 |
|
425 |
#: src/templates/wp-admin/settings/temporary-clone.php:30
|
426 |
msgid "Secure"
|
427 |
+
msgstr "Sikker"
|
428 |
|
429 |
#: src/templates/wp-admin/settings/temporary-clone.php:29
|
430 |
msgid "Runs on capacity from a leading cloud computing provider."
|
431 |
+
msgstr "Kører på kapacitet fra en førende cloud data provider."
|
432 |
|
433 |
#: src/templates/wp-admin/settings/temporary-clone.php:29
|
434 |
msgid "Reliable"
|
435 |
+
msgstr "Pålidelig"
|
436 |
|
437 |
#: src/templates/wp-admin/settings/temporary-clone.php:28
|
438 |
msgid "Press the buttons... UpdraftClone does the work."
|
439 |
+
msgstr "Tryk på knapperne ... UpdraftClone gør arbejdet."
|
440 |
|
441 |
#: src/templates/wp-admin/settings/temporary-clone.php:28
|
442 |
msgid "Easy"
|
443 |
+
msgstr "Nemt"
|
444 |
|
445 |
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
446 |
msgid "A temporary clone is an instant copy of this website, running on our servers. Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done."
|
447 |
+
msgstr "En midlertidig klon er en øjeblikkelig kopi af denne hjemmeside, men som kører på vores servere. I stedet for at teste ting live på dit websted, kan du UpdraftClon'e det og derefter kassere klonen, når du er færdig."
|
448 |
|
449 |
#: src/templates/wp-admin/settings/temporary-clone.php:10,
|
450 |
#: src/templates/wp-admin/settings/temporary-clone.php:39
|
451 |
msgid "Create a temporary clone on our servers (UpdraftClone)"
|
452 |
+
msgstr "Opret en midlertidig klon på vores servere (UpdraftClone)"
|
453 |
|
454 |
#: src/templates/wp-admin/settings/tab-addons.php:23
|
455 |
msgid "WooCommerce plugins"
|
456 |
+
msgstr "WooCommerce plugins"
|
457 |
|
458 |
#: src/templates/wp-admin/advanced/wipe-settings.php:13
|
459 |
msgid "Reset tour"
|
460 |
+
msgstr "Reset tour"
|
461 |
|
462 |
#: src/templates/wp-admin/advanced/wipe-settings.php:12
|
463 |
msgid "Press this button to take a tour of the plugin."
|
464 |
+
msgstr "Tryk på denne knap for at få en rundvisning af plugin'et."
|
465 |
|
466 |
#: src/includes/updraftplus-tour.php:232
|
467 |
msgid "Take Tour"
|
468 |
+
msgstr "Tag rundvisningen"
|
469 |
|
470 |
#: src/includes/updraftplus-tour.php:182
|
471 |
msgid "Log in here to enable all the features you have access to."
|
472 |
+
msgstr "Log ind her for at aktivere alle de funktioner, du har adgang til."
|
473 |
|
474 |
#: src/includes/updraftplus-tour.php:181
|
475 |
msgid "Connect to updraftplus.com"
|
476 |
+
msgstr "Opret forbindelse til updraftplus.com"
|
477 |
|
478 |
#: src/includes/updraftplus-tour.php:172
|
479 |
msgid "Thank you for taking the tour. You are now all set to use UpdraftPlus!"
|
480 |
+
msgstr "Tak fordi du tog rundvisningen. Du er nu klar til at bruge UpdraftPlus!"
|
481 |
|
482 |
#: src/includes/updraftplus-tour.php:160
|
483 |
msgctxt "Translators: UpdraftVault is a product name and should not be translated."
|
484 |
msgid "To get started with UpdraftVault, select one of the options below:"
|
485 |
+
msgstr "Vælg én af nedenstående muligheder for at komme i gang med UpdraftVault."
|
486 |
|
487 |
#: src/includes/updraftplus-tour.php:156,
|
488 |
#: src/includes/updraftplus-tour.php:174, src/includes/updraftplus-tour.php:185
|
489 |
msgid "Finish"
|
490 |
+
msgstr "Slut"
|
491 |
|
492 |
#: src/includes/updraftplus-tour.php:153
|
493 |
msgid "UpdraftPlus Premium has many more exciting features!"
|
494 |
+
msgstr "UpdraftPlus Premium har endnu flere spændende funktioner!"
|
495 |
|
496 |
#: src/includes/updraftplus-tour.php:152
|
497 |
msgid "UpdraftPlus Premium and addons"
|
498 |
+
msgstr "UpdraftPlus Premium og addons"
|
499 |
|
500 |
#: src/includes/updraftplus-tour.php:150, src/includes/updraftplus-tour.php:179
|
501 |
msgid "Thank you for taking the tour."
|
502 |
+
msgstr "Tak fordi du tog rundvisningen."
|
503 |
|
504 |
#: src/includes/updraftplus-tour.php:145
|
505 |
msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral."
|
506 |
+
msgstr "Har du flere WordPress-sider, du vil sikkerhedskopiere? Hvis ja, kan du spare timer ved at administrere alle dine sikkerhedskopier vis UpdraftCentral."
|
507 |
|
508 |
#: src/includes/updraftplus-tour.php:144
|
509 |
msgid "Control all your backups in one place"
|
510 |
+
msgstr "Administrer alle dine backups ét sted"
|
511 |
|
512 |
#: src/includes/updraftplus-tour.php:139
|
513 |
msgid "Congratulations, your settings have successfully been saved."
|
514 |
+
msgstr "Tillykke, dine indstillinger er blevet gemt."
|
515 |
|
516 |
#: src/includes/updraftplus-tour.php:135
|
517 |
msgid "Press here to save your settings."
|
518 |
+
msgstr "Tryk her for at gemme dine indstillinger."
|
519 |
|
520 |
#: src/includes/updraftplus-tour.php:134, src/includes/updraftplus-tour.php:138
|
521 |
msgid "Save"
|
522 |
+
msgstr "Gem"
|
523 |
|
524 |
#: src/includes/updraftplus-tour.php:131
|
525 |
msgid "Look through the other settings here, making any changes you’d like."
|
526 |
+
msgstr "Gennemse de andre indstillinger her og foretag enhver ønsket ændring."
|
527 |
|
528 |
#: src/includes/updraftplus-tour.php:130
|
529 |
msgid "More settings"
|
530 |
+
msgstr "Flere indstillinger"
|
531 |
|
532 |
#: src/includes/updraftplus-tour.php:126,
|
533 |
#: src/includes/updraftplus-tour.php:153,
|
534 |
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
535 |
msgid "Find out more here."
|
536 |
+
msgstr "Lær mere her"
|
537 |
|
538 |
#: src/includes/updraftplus-tour.php:125
|
539 |
msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus."
|
540 |
+
msgstr "UpdraftVault er vores fjernlager, der fungerer problemfrit med UpdraftPlus."
|
541 |
|
542 |
#: src/includes/updraftplus-tour.php:122
|
543 |
msgid "Now select a remote storage destination to protect against server-wide threats. If not, your backups remain on the same server as your site."
|
544 |
+
msgstr "Vælg nu en fjernlagringsdestination for at beskytte mod server-trusler. Hvis ikke, forbliver dine sikkerhedskopier på samme server som dit websted."
|
545 |
|
546 |
#: src/includes/updraftplus-tour.php:118
|
547 |
msgid "Choose the schedule that you want your backups to run on."
|
548 |
+
msgstr "Vælg den tidsplan for kørsel af dine sikkerhedskopier."
|
549 |
|
550 |
#: src/includes/updraftplus-tour.php:117
|
551 |
msgid "Choose your backup schedule"
|
552 |
+
msgstr "Vælg din backup-plan"
|
553 |
|
554 |
#: src/includes/updraftplus-tour.php:113
|
555 |
msgid "Congratulations! Your first backup is running."
|
556 |
+
msgstr "Tillykke! Din første sikkerhedskopiering kører."
|
557 |
|
558 |
#: src/includes/updraftplus-tour.php:109, src/includes/updraftplus-tour.php:114
|
559 |
msgid "Go to settings"
|
560 |
+
msgstr "Gå til indstillinger"
|
561 |
|
562 |
#: src/includes/updraftplus-tour.php:108, src/includes/updraftplus-tour.php:113
|
563 |
msgctxt "Translators: %s is a bold tag."
|
564 |
msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s"
|
565 |
+
msgstr "Kør regelmæssigt backup til fjerntliggende cloud storage i %s indstillinger %s for at undgå server-trusler"
|
566 |
|
567 |
#: src/includes/updraftplus-tour.php:108
|
568 |
msgid "Press here to run a manual backup."
|
569 |
+
msgstr "Klik her for at køre en manuel backup."
|
570 |
|
571 |
#: src/includes/updraftplus-tour.php:107, src/includes/updraftplus-tour.php:112
|
572 |
msgid "Creating your first backup"
|
573 |
+
msgstr "Opret din første backup"
|
574 |
|
575 |
#: src/includes/updraftplus-tour.php:104
|
576 |
msgid "Select what you want to backup"
|
577 |
+
msgstr "Vælg hvad du ønsker at lave backup af"
|
578 |
|
579 |
#: src/includes/updraftplus-tour.php:103
|
580 |
msgid "Manual backup options"
|
581 |
+
msgstr "Manuelle backup muligheder"
|
582 |
|
583 |
#: src/includes/updraftplus-tour.php:100
|
584 |
msgctxt "updraftplus"
|
585 |
msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s"
|
586 |
+
msgstr "Tryk her for at udføre en simpel backup til din server. Eller gå til %s indstillinger %s for at konfigurere regelmæssige sikkerhedskopier og fjernlager."
|
587 |
|
588 |
#: src/includes/updraftplus-tour.php:99
|
589 |
msgid "Your first backup"
|
590 |
+
msgstr "Din første backup"
|
591 |
|
592 |
#: src/includes/updraftplus-tour.php:95
|
593 |
msgid "Press here to start!"
|
594 |
+
msgstr "Klik her for at starte!"
|
595 |
|
596 |
#: src/includes/updraftplus-tour.php:92
|
597 |
msgid "the world’s most trusted backup plugin!"
|
598 |
+
msgstr "verdens mest betroede backup plugin!"
|
599 |
|
600 |
#: src/includes/updraftplus-tour.php:92
|
601 |
msgid "Welcome to UpdraftPlus"
|
602 |
+
msgstr "Velkommen til UpdraftPlus"
|
603 |
|
604 |
#: src/includes/updraftplus-tour.php:91
|
605 |
msgid "UpdraftPlus settings"
|
606 |
+
msgstr "UpdraftPlus-indstillinger"
|
607 |
|
608 |
#: src/includes/updraftplus-tour.php:88
|
609 |
msgid "End tour"
|
610 |
+
msgstr "Slut rundvisning"
|
611 |
|
612 |
#: src/includes/updraftplus-tour.php:87
|
613 |
msgid "Skip this step"
|
614 |
+
msgstr "Spring over dette step"
|
615 |
|
616 |
#: src/includes/updraftplus-tour.php:86
|
617 |
msgid "Back"
|
618 |
+
msgstr "Tilbage"
|
619 |
|
620 |
#: src/includes/class-commands.php:893
|
621 |
msgid "You can buy more temporary clone tokens here."
|
622 |
+
msgstr "Du kan købe flere midlertidige klon tokens her."
|
623 |
|
624 |
#: src/admin.php:5379
|
625 |
msgid "Forbid non-administrators to login to WordPress on your clone"
|
626 |
+
msgstr "Forbyd ikke-administratorer at logge ind på WordPress på din klon"
|
627 |
|
628 |
#: src/templates/wp-admin/settings/temporary-clone.php:35
|
629 |
msgid "Temporary clones of WordPress multisite installations are not yet supported. See our documentation on how to carry out a normal migration here"
|
630 |
+
msgstr "Midlertidige kloner af WordPress multisite-installationer understøttes endnu ikke. Se vores dokumentation om, hvordan du udfører en normal migrering her"
|
631 |
|
632 |
#: src/templates/wp-admin/settings/tab-addons.php:247
|
633 |
msgid "Premium / Find out more"
|
634 |
+
msgstr "Premium / Se mere her"
|
635 |
|
636 |
#: src/templates/wp-admin/settings/tab-addons.php:22
|
637 |
msgid "Other great plugins"
|
638 |
+
msgstr "Andre gode plugins"
|
639 |
|
640 |
#: src/admin.php:5426, src/admin.php:5429
|
641 |
msgid "You can find your temporary clone information in your updraftplus.com account here."
|
642 |
+
msgstr "Du kan finde dine midlertidige klonoplysninger på din updraftplus.com konto her."
|
643 |
|
644 |
#: src/class-updraftplus.php:4177
|
645 |
msgid "Choose a default for each table"
|
646 |
+
msgstr "Vælg en standard for hver tabel"
|
647 |
|
648 |
#: src/admin.php:3276
|
649 |
msgid "Sending files to remote site"
|
650 |
+
msgstr "Sender filer til fjernwebsted"
|
651 |
|
652 |
#: src/admin.php:3271
|
653 |
msgid "Clone server being provisioned and booted (can take several minutes)"
|
654 |
+
msgstr "Klon-server klargøres og genstartes (kan tage flere minutter)"
|
655 |
|
656 |
#: src/admin.php:942
|
657 |
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."
|
658 |
+
msgstr "Advarsel: Du har valgt en lavere version end din nuværende installerede version. Dette kan mislykkes, hvis du har komponenter, der er uforenelige med tidligere versioner."
|
659 |
|
660 |
#: src/addons/migrator.php:233
|
661 |
msgid "To import a backup set, go to the \"Existing Backups\" section in the \"Backup/Restore\" tab"
|
662 |
+
msgstr "For at importere et sikkerhedssæt skal du gå til fanen \"Sikkerhedskopier/Genskab\" og vælge afsnittet \"Eksisterende sikkerhedskopier\""
|
663 |
|
664 |
#: src/admin.php:2798
|
665 |
msgid "Backup / Restore"
|
703 |
|
704 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:39
|
705 |
msgid "Welcome to your UpdraftClone (temporary clone)"
|
706 |
+
msgstr "Velkommen til din UpdraftClone (midlertidig klon)"
|
707 |
|
708 |
#: src/includes/updraftclone/temporary-clone-dash-notice.php:38
|
709 |
msgid "Refresh connection"
|
749 |
|
750 |
#: src/addons/wp-cli.php:834
|
751 |
msgid "You have given the %1$s option. The %1$s is working with \"%2$s\" addon. Get the \"%2$s\" addon: %3$s"
|
752 |
+
msgstr "Du har givet %1$s muligheden. %1$s fungerer med \"%2$s\" udvidelsen. Få \"%2$s\" udvidelsen: %3$s"
|
753 |
|
754 |
#: src/addons/wp-cli.php:793
|
755 |
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)."
|
1174 |
|
1175 |
#: src/templates/wp-admin/settings/tab-addons.php:26
|
1176 |
msgid "Get it here"
|
1177 |
+
msgstr "Få det her"
|
1178 |
|
1179 |
#: src/methods/stream-base.php:323
|
1180 |
msgid "Download chunk size successfully changed to %d"
|
1616 |
|
1617 |
#: src/templates/wp-admin/advanced/wipe-settings.php:11
|
1618 |
msgid "UpdraftPlus Tour"
|
1619 |
+
msgstr "UpdraftPlus Rundvisning"
|
1620 |
|
1621 |
#: src/templates/wp-admin/settings/tab-addons.php:232
|
1622 |
msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups."
|
1701 |
|
1702 |
#: src/templates/wp-admin/settings/tab-addons.php:180
|
1703 |
msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV and more with UpdraftPlus Premium."
|
1704 |
+
msgstr "Få forbedrede versioner af de gratis fjernlager-muligheder (Dropbox, Google Drive & S3) og endnu flere eksterne lagringsmuligheder, som OneDrive, SFTP, Azure, WebDAV og flere med UpdraftPlus Premium."
|
1705 |
|
1706 |
#: src/templates/wp-admin/settings/tab-addons.php:179
|
1707 |
msgid "Additional and enhanced remote storage locations"
|
1858 |
|
1859 |
#: src/includes/updraftplus-notices.php:238
|
1860 |
msgid "Happy New Year - 20% off UpdraftPlus Premium until January 14th"
|
1861 |
+
msgstr "Godt nytår - 20% rabat på UpdraftPlus Premium indtil 14. januar"
|
1862 |
|
1863 |
#: src/includes/updraftplus-notices.php:225
|
1864 |
msgid "Christmas sale - 20% off UpdraftPlus Premium until December 25th"
|
2843 |
|
2844 |
#: src/addons/googlecloud.php:541
|
2845 |
msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud."
|
2846 |
+
msgstr "Har endnu ikke fået adgangstoken fra Google - du skal godkende eller genautorisere din forbindelse til Google Cloud."
|
2847 |
|
2848 |
#: src/addons/googlecloud.php:257, src/addons/googlecloud.php:332,
|
2849 |
#: src/addons/googlecloud.php:897, src/addons/googlecloud.php:947
|
3260 |
|
3261 |
#: src/addons/migrator.php:1753
|
3262 |
msgid "Receive a backup from a remote site"
|
3263 |
+
msgstr "Modtag en backup fra et fjernlager-site"
|
3264 |
|
3265 |
#: src/addons/migrator.php:1745
|
3266 |
msgid "Paste key here"
|
3276 |
|
3277 |
#: src/addons/migrator.php:1732
|
3278 |
msgid "Send a backup to another site"
|
3279 |
+
msgstr "Send en backup til et andet site"
|
3280 |
|
3281 |
#: src/admin.php:874, src/includes/class-remote-send.php:358,
|
3282 |
#: src/includes/class-remote-send.php:520
|
3408 |
|
3409 |
#: src/addons/onedrive.php:1133
|
3410 |
msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked"
|
3411 |
+
msgstr "Du skal tilføje følgende som den autoriserede omdirigerings-URI i din OneDrive-konsol (under \"API-indstillinger\"), når du bliver bedt om det"
|
3412 |
|
3413 |
#: src/addons/azure.php:593
|
3414 |
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)."
|
3416 |
|
3417 |
#: src/addons/onedrive.php:1096, src/addons/onedrive.php:1098
|
3418 |
msgid "authorization failed:"
|
3419 |
+
msgstr "godkendelse mislykkedes:"
|
3420 |
|
3421 |
#: src/addons/onedrive.php:939, src/addons/onedrive.php:1177,
|
3422 |
#: src/addons/onedrive.php:1181
|
4033 |
|
4034 |
#: src/addons/importer.php:78
|
4035 |
msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link."
|
4036 |
+
msgstr "Var denne backup oprettet af et andet backup plugin? Hvis ja, skal du muligvis først omdøbe den, så den kan genkendes - følg dette link."
|
4037 |
|
4038 |
#: src/templates/wp-admin/advanced/site-info.php:44
|
4039 |
msgid "Memory limit"
|
5100 |
|
5101 |
#: src/methods/dropbox.php:286
|
5102 |
msgid "did not return the expected response - check your log file for more details"
|
5103 |
+
msgstr "returnerede ikke det forventede svar - tjek din log-fil for flere detaljer"
|
5104 |
|
5105 |
#: src/methods/s3.php:312
|
5106 |
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it"
|
5182 |
|
5183 |
#: src/options.php:208
|
5184 |
msgid "Without upgrading, UpdraftPlus allows <strong>every</strong> blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) <strong>the entire network</strong>."
|
5185 |
+
msgstr "Uden opgradering tillader UpdraftPlus <strong>enhver</strong> blogadministrator, som kan ændre plugin-indstillinger til backup og herfra hente og gendanne data (som f.eks. ændrede adgangskoder) adgang til <strong>hele netværket</strong>."
|
5186 |
|
5187 |
#: src/options.php:208
|
5188 |
msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on."
|
6083 |
|
6084 |
#: src/addons/sftp.php:37
|
6085 |
msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it. If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there."
|
6086 |
+
msgstr "Nogle servere angiver krypteret FTP som tilgængelig, men melder time-out (efter lang tid), når du forsøger at bruge det. Hvis du oplever dette, skal du gå ind under \"Ekspertindstillinger\" (nedenfor) og slå SSL fra."
|
6087 |
|
6088 |
#: src/methods/s3.php:859
|
6089 |
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."
|
6160 |
|
6161 |
#: src/templates/wp-admin/settings/existing-backups-table.php:161
|
6162 |
msgid "Please allow time for the communications with the remote storage to complete."
|
6163 |
+
msgstr "Afvent venligst at kommunikationen med fjernlageret er fuldført."
|
6164 |
|
6165 |
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:23
|
6166 |
msgid "Also delete from remote storage"
|
6507 |
|
6508 |
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6509 |
msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then "
|
6510 |
+
msgstr "Hvis du laver backup af flere sites i den samme Dropbox, og vil organisere den i sub-foldere, så"
|
6511 |
|
6512 |
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6513 |
msgid "Backups are saved in"
|
6523 |
|
6524 |
#: src/methods/dropbox.php:195
|
6525 |
msgid "error: %s (see log file for more)"
|
6526 |
+
msgstr "fejl: %s (se logfil for mere information)"
|
6527 |
|
6528 |
#: src/methods/dropbox.php:173, src/methods/dropbox.php:190
|
6529 |
msgid "You do not appear to be authenticated with Dropbox"
|
Binary file
|
@@ -1,7693 +0,0 @@
|
|
1 |
-
# Translation of UpdraftPlus in Italian
|
2 |
-
# This file is distributed under the same license as the UpdraftPlus package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"PO-Revision-Date: 2018-12-15 11:42:50+0000\n"
|
6 |
-
"MIME-Version: 1.0\n"
|
7 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
-
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
10 |
-
"X-Generator: GlotPress/2.3.1\n"
|
11 |
-
"Language: it\n"
|
12 |
-
"Project-Id-Version: UpdraftPlus\n"
|
13 |
-
|
14 |
-
#: src/admin.php:5374
|
15 |
-
msgid "Clone region:"
|
16 |
-
msgstr ""
|
17 |
-
|
18 |
-
#: src/udaddons/updraftplus-addons.php:268,
|
19 |
-
#: src/udaddons/updraftplus-addons.php:280
|
20 |
-
msgid "go here"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: src/udaddons/updraftplus-addons.php:268,
|
24 |
-
#: src/udaddons/updraftplus-addons.php:280
|
25 |
-
msgid "If you have already renewed, then you need to allocate a licence to this site - %s"
|
26 |
-
msgstr ""
|
27 |
-
|
28 |
-
#: src/addons/onedrive.php:864
|
29 |
-
msgid "Authentication"
|
30 |
-
msgstr ""
|
31 |
-
|
32 |
-
#: src/admin.php:926
|
33 |
-
msgid "You must select at least one remote storage destination to upload this backup set to."
|
34 |
-
msgstr ""
|
35 |
-
|
36 |
-
#: src/templates/wp-admin/settings/form-contents.php:350
|
37 |
-
msgid "Read more about Easy Updates Manager"
|
38 |
-
msgstr "Leggi tutto sull'Easy Updates Manager"
|
39 |
-
|
40 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:68
|
41 |
-
msgid "You can find out more about clone keys here."
|
42 |
-
msgstr ""
|
43 |
-
|
44 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:57
|
45 |
-
msgid "Or, use an UpdraftClone key"
|
46 |
-
msgstr "O utilizza una chiave UpdraftClone"
|
47 |
-
|
48 |
-
#: src/restorer.php:2493
|
49 |
-
msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()."
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: src/admin.php:953
|
53 |
-
msgid "UpdraftClone key is required."
|
54 |
-
msgstr ""
|
55 |
-
|
56 |
-
#: src/admin.php:944
|
57 |
-
msgid "The preparation of the clone data has been aborted."
|
58 |
-
msgstr ""
|
59 |
-
|
60 |
-
#: src/addons/azure.php:646
|
61 |
-
msgid "Azure Government"
|
62 |
-
msgstr ""
|
63 |
-
|
64 |
-
#: src/templates/wp-admin/settings/form-contents.php:350
|
65 |
-
msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update."
|
66 |
-
msgstr "Chiedi a WordPress di aggiornare automaticamente UpdraftPlus quando trova un aggiornamento disponibile."
|
67 |
-
|
68 |
-
#: src/templates/wp-admin/settings/form-contents.php:349
|
69 |
-
msgid "Automatic updates"
|
70 |
-
msgstr "Aggiornamenti automatici"
|
71 |
-
|
72 |
-
#: src/restorer.php:2092, src/restorer.php:2134
|
73 |
-
msgid "Your database user does not have permission to drop tables"
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: src/admin.php:2962
|
77 |
-
msgid "Ask WordPress to update UpdraftPlus automatically when an update is available"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: src/addons/googlecloud.php:997
|
81 |
-
msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked"
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#: src/addons/googlecloud.php:991
|
85 |
-
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."
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: src/addons/googlecloud.php:57
|
89 |
-
msgid "Frankfurt"
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: src/addons/googlecloud.php:56
|
93 |
-
msgid "London"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: src/addons/googlecloud.php:55
|
97 |
-
msgid "Belgium"
|
98 |
-
msgstr ""
|
99 |
-
|
100 |
-
#: src/addons/googlecloud.php:54
|
101 |
-
msgid "Sydney"
|
102 |
-
msgstr ""
|
103 |
-
|
104 |
-
#: src/addons/googlecloud.php:53
|
105 |
-
msgid "Singapore"
|
106 |
-
msgstr ""
|
107 |
-
|
108 |
-
#: src/addons/googlecloud.php:52
|
109 |
-
msgid "Tokyo"
|
110 |
-
msgstr ""
|
111 |
-
|
112 |
-
#: src/addons/googlecloud.php:51
|
113 |
-
msgid "Taiwan"
|
114 |
-
msgstr ""
|
115 |
-
|
116 |
-
#: src/addons/googlecloud.php:50
|
117 |
-
msgid "Oregon"
|
118 |
-
msgstr ""
|
119 |
-
|
120 |
-
#: src/addons/googlecloud.php:49
|
121 |
-
msgid "North Virginia"
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: src/addons/googlecloud.php:48
|
125 |
-
msgid "South Carolina"
|
126 |
-
msgstr ""
|
127 |
-
|
128 |
-
#: src/addons/googlecloud.php:47
|
129 |
-
msgid "Iowa"
|
130 |
-
msgstr ""
|
131 |
-
|
132 |
-
#: src/includes/class-commands.php:949
|
133 |
-
msgid "The creation of your data for creating the clone should now begin. 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."
|
134 |
-
msgstr ""
|
135 |
-
|
136 |
-
#: src/templates/wp-admin/settings/file-backup-exclude.php:11
|
137 |
-
msgid "Confirm change"
|
138 |
-
msgstr "Conferma la modifica"
|
139 |
-
|
140 |
-
#: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-submit.php:3,
|
141 |
-
#: src/templates/wp-admin/settings/file-backup-exclude.php:18
|
142 |
-
msgid "Add an exclusion rule"
|
143 |
-
msgstr ""
|
144 |
-
|
145 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:59
|
146 |
-
msgid "Type a file prefix"
|
147 |
-
msgstr ""
|
148 |
-
|
149 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:56,
|
150 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:58
|
151 |
-
msgid "All files beginning with these characters"
|
152 |
-
msgstr ""
|
153 |
-
|
154 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:47
|
155 |
-
msgid "Type an extension like zip"
|
156 |
-
msgstr ""
|
157 |
-
|
158 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:28
|
159 |
-
msgid "Select a file/folder which you would like to exclude"
|
160 |
-
msgstr ""
|
161 |
-
|
162 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:15
|
163 |
-
msgid "All files beginning with given characters"
|
164 |
-
msgstr ""
|
165 |
-
|
166 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:12,
|
167 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:44,
|
168 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:46
|
169 |
-
msgid "All files with this extension"
|
170 |
-
msgstr "Tutti i file con questa estensione"
|
171 |
-
|
172 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:9,
|
173 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:22
|
174 |
-
msgid "File/directory"
|
175 |
-
msgstr "File/directory"
|
176 |
-
|
177 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:6
|
178 |
-
msgid "Select a way to exclude files or directories from the backup"
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: src/templates/wp-admin/settings/exclude-modal.php:2
|
182 |
-
msgid "Exclude files/directories"
|
183 |
-
msgstr "Escludi file/directory"
|
184 |
-
|
185 |
-
#: src/includes/updraftclone/temporary-clone-status.php:422
|
186 |
-
msgid "To read FAQs/documentation about UpdraftClone, go here."
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: src/includes/updraftclone/temporary-clone-status.php:421
|
190 |
-
msgid "your UpdraftPlus.com account"
|
191 |
-
msgstr "il tuo account UpdraftPlus.com"
|
192 |
-
|
193 |
-
#: src/includes/updraftclone/temporary-clone-status.php:421
|
194 |
-
msgid "You can check the progress here or in %s"
|
195 |
-
msgstr ""
|
196 |
-
|
197 |
-
#: src/includes/updraftclone/temporary-clone-status.php:421
|
198 |
-
msgid "Your UpdraftClone is still setting up."
|
199 |
-
msgstr ""
|
200 |
-
|
201 |
-
#: src/includes/updraftclone/temporary-clone-status.php:378
|
202 |
-
msgid "%s archives remain"
|
203 |
-
msgstr ""
|
204 |
-
|
205 |
-
#: src/includes/updraftclone/temporary-clone-status.php:378
|
206 |
-
msgid "The site data has all been received, and its import has begun."
|
207 |
-
msgstr ""
|
208 |
-
|
209 |
-
#: src/includes/updraftclone/temporary-clone-status.php:373
|
210 |
-
msgid "The sending of the site data has begun. So far %s data archives totalling %s have been received"
|
211 |
-
msgstr ""
|
212 |
-
|
213 |
-
#: src/includes/updraftclone/temporary-clone-status.php:369
|
214 |
-
msgid "WordPress installed; now awaiting the site data to be sent."
|
215 |
-
msgstr ""
|
216 |
-
|
217 |
-
#: src/includes/updraftclone/temporary-clone-status.php:94
|
218 |
-
msgid "Clone ready"
|
219 |
-
msgstr ""
|
220 |
-
|
221 |
-
#: src/includes/updraftclone/temporary-clone-status.php:86
|
222 |
-
msgid "Site data has been deployed"
|
223 |
-
msgstr ""
|
224 |
-
|
225 |
-
#: src/includes/updraftclone/temporary-clone-status.php:84,
|
226 |
-
#: src/includes/updraftclone/temporary-clone-status.php:347
|
227 |
-
msgid "Deploying site data"
|
228 |
-
msgstr ""
|
229 |
-
|
230 |
-
#: src/includes/updraftclone/temporary-clone-status.php:75
|
231 |
-
msgid "Site data received"
|
232 |
-
msgstr ""
|
233 |
-
|
234 |
-
#: src/includes/updraftclone/temporary-clone-status.php:73,
|
235 |
-
#: src/includes/updraftclone/temporary-clone-status.php:344
|
236 |
-
msgid "Receiving site data"
|
237 |
-
msgstr ""
|
238 |
-
|
239 |
-
#: src/includes/updraftclone/temporary-clone-status.php:66,
|
240 |
-
#: src/includes/updraftclone/temporary-clone-status.php:341
|
241 |
-
msgid "WordPress installed"
|
242 |
-
msgstr "WordPress installato"
|
243 |
-
|
244 |
-
#: src/admin.php:5428
|
245 |
-
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."
|
246 |
-
msgstr ""
|
247 |
-
|
248 |
-
#: src/admin.php:3828
|
249 |
-
msgid "Exclude these from"
|
250 |
-
msgstr ""
|
251 |
-
|
252 |
-
#: src/admin.php:952
|
253 |
-
msgid "The exclusion rule which you are trying to add already exists"
|
254 |
-
msgstr ""
|
255 |
-
|
256 |
-
#: src/admin.php:951
|
257 |
-
msgid "Please enter a valid file name prefix"
|
258 |
-
msgstr ""
|
259 |
-
|
260 |
-
#: src/admin.php:950
|
261 |
-
msgid "Please enter characters that begin the filename which you would like to exclude"
|
262 |
-
msgstr ""
|
263 |
-
|
264 |
-
#: src/admin.php:949
|
265 |
-
msgid "Please enter a valid file extension"
|
266 |
-
msgstr ""
|
267 |
-
|
268 |
-
#: src/admin.php:948
|
269 |
-
msgid "Please enter a file extension, like zip"
|
270 |
-
msgstr ""
|
271 |
-
|
272 |
-
#: src/admin.php:947
|
273 |
-
msgid "Please select a file/folder which you would like to exclude"
|
274 |
-
msgstr ""
|
275 |
-
|
276 |
-
#: src/admin.php:946
|
277 |
-
msgid "Are you sure you want to remove this exclusion rule?"
|
278 |
-
msgstr ""
|
279 |
-
|
280 |
-
#: src/templates/wp-admin/advanced/site-info.php:104
|
281 |
-
msgid "log results to console"
|
282 |
-
msgstr ""
|
283 |
-
|
284 |
-
#: src/includes/updraftclone/temporary-clone-dash-notice.php:42
|
285 |
-
msgid "Each time your clone renews it costs 1 token, which lasts for 1 week. You can shut this clone down at the following link:"
|
286 |
-
msgstr ""
|
287 |
-
|
288 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:41
|
289 |
-
msgid "To create a temporary clone you need credit in your account."
|
290 |
-
msgstr ""
|
291 |
-
|
292 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
293 |
-
msgid "Read FAQs here."
|
294 |
-
msgstr ""
|
295 |
-
|
296 |
-
#: src/methods/dropbox.php:305, src/methods/dropbox.php:321
|
297 |
-
msgid "failed to upload file to %s (see log file for more)"
|
298 |
-
msgstr ""
|
299 |
-
|
300 |
-
#: src/admin.php:5424
|
301 |
-
msgid "Dashboard:"
|
302 |
-
msgstr "Bacheca:"
|
303 |
-
|
304 |
-
#: src/admin.php:5423
|
305 |
-
msgid "Front page:"
|
306 |
-
msgstr ""
|
307 |
-
|
308 |
-
#: src/admin.php:5422
|
309 |
-
msgid "Your clone has started and will be available at the following URLs once it is ready."
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: src/includes/class-commands.php:906
|
313 |
-
msgid "manage"
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: src/includes/class-commands.php:906
|
317 |
-
msgid "Current clones"
|
318 |
-
msgstr ""
|
319 |
-
|
320 |
-
#: src/class-updraftplus.php:2992
|
321 |
-
msgid "Your clone will now deploy this data to re-create your site."
|
322 |
-
msgstr ""
|
323 |
-
|
324 |
-
#: src/admin.php:943
|
325 |
-
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."
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: src/addons/migrator.php:1745
|
329 |
-
msgid "Site key"
|
330 |
-
msgstr ""
|
331 |
-
|
332 |
-
#: src/addons/migrator.php:1736
|
333 |
-
msgid "Add a site"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: src/addons/migrator.php:229, src/addons/migrator.php:1731,
|
337 |
-
#: src/addons/migrator.php:1752
|
338 |
-
msgid "back"
|
339 |
-
msgstr ""
|
340 |
-
|
341 |
-
#: src/addons/migrator.php:195
|
342 |
-
msgid "Read this article to see step-by-step how it's done."
|
343 |
-
msgstr ""
|
344 |
-
|
345 |
-
#: src/addons/migrator.php:189,
|
346 |
-
#: src/templates/wp-admin/settings/migrator-no-migrator.php:6
|
347 |
-
msgid "Migrate (create a copy of a site on hosting you control)"
|
348 |
-
msgstr ""
|
349 |
-
|
350 |
-
#: src/includes/updraftclone/temporary-clone-dash-notice.php:42
|
351 |
-
msgid "Manage your clones"
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:158
|
355 |
-
msgid "Use ctrl / cmd + press to select several items"
|
356 |
-
msgstr ""
|
357 |
-
|
358 |
-
#: src/methods/dreamobjects.php:20
|
359 |
-
msgid "Closing 1st October 2018"
|
360 |
-
msgstr ""
|
361 |
-
|
362 |
-
#: src/includes/updraftclone/temporary-clone-dash-notice.php:41
|
363 |
-
msgid "Your clone will renew on:"
|
364 |
-
msgstr ""
|
365 |
-
|
366 |
-
#: src/includes/updraftclone/temporary-clone-dash-notice.php:32
|
367 |
-
msgid "Unable to get renew date"
|
368 |
-
msgstr ""
|
369 |
-
|
370 |
-
#: src/admin.php:906
|
371 |
-
msgid "The backup was aborted"
|
372 |
-
msgstr ""
|
373 |
-
|
374 |
-
#: src/addons/onedrive.php:1197
|
375 |
-
msgid "OneDrive Germany"
|
376 |
-
msgstr ""
|
377 |
-
|
378 |
-
#: src/addons/onedrive.php:1196
|
379 |
-
msgid "OneDrive International"
|
380 |
-
msgstr ""
|
381 |
-
|
382 |
-
#: src/addons/onedrive.php:1193
|
383 |
-
msgid "Account type"
|
384 |
-
msgstr ""
|
385 |
-
|
386 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:56,
|
387 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:76
|
388 |
-
msgid "I accept the UpdraftClone terms and conditions"
|
389 |
-
msgstr "Accetto i termini e le condizioni di utilizzo di UpdraftClone"
|
390 |
-
|
391 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:56
|
392 |
-
msgid "Not got an account? Get one by buying some tokens here."
|
393 |
-
msgstr ""
|
394 |
-
|
395 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:22,
|
396 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:41,
|
397 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:54
|
398 |
-
msgid "You can buy UpdraftClone tokens from our shop, here."
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:54
|
402 |
-
msgid "To create a temporary clone you need: 1) credit in your account and 2) to connect to your account, below."
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:32
|
406 |
-
msgid "If you want, test upgrading to a different PHP or WP version."
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:32
|
410 |
-
msgid "Flexible"
|
411 |
-
msgstr "Flessibile"
|
412 |
-
|
413 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:31
|
414 |
-
msgid "Takes just the time needed to create a backup and send it."
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:31
|
418 |
-
msgid "Fast"
|
419 |
-
msgstr "Veloce"
|
420 |
-
|
421 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:30
|
422 |
-
msgid "One VPS (Virtual Private Server) per clone, shared with nobody."
|
423 |
-
msgstr ""
|
424 |
-
|
425 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:30
|
426 |
-
msgid "Secure"
|
427 |
-
msgstr "Sicuro"
|
428 |
-
|
429 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:29
|
430 |
-
msgid "Runs on capacity from a leading cloud computing provider."
|
431 |
-
msgstr ""
|
432 |
-
|
433 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:29
|
434 |
-
msgid "Reliable"
|
435 |
-
msgstr "Affidabile"
|
436 |
-
|
437 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:28
|
438 |
-
msgid "Press the buttons... UpdraftClone does the work."
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:28
|
442 |
-
msgid "Easy"
|
443 |
-
msgstr "Facile"
|
444 |
-
|
445 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
446 |
-
msgid "A temporary clone is an instant copy of this website, running on our servers. Rather than test things on your live site, you can UpdraftClone it, and then throw away your clone when done."
|
447 |
-
msgstr ""
|
448 |
-
|
449 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:10,
|
450 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:39
|
451 |
-
msgid "Create a temporary clone on our servers (UpdraftClone)"
|
452 |
-
msgstr ""
|
453 |
-
|
454 |
-
#: src/templates/wp-admin/settings/tab-addons.php:23
|
455 |
-
msgid "WooCommerce plugins"
|
456 |
-
msgstr "Plugin di WooCommerce"
|
457 |
-
|
458 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:13
|
459 |
-
msgid "Reset tour"
|
460 |
-
msgstr ""
|
461 |
-
|
462 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:12
|
463 |
-
msgid "Press this button to take a tour of the plugin."
|
464 |
-
msgstr ""
|
465 |
-
|
466 |
-
#: src/includes/updraftplus-tour.php:232
|
467 |
-
msgid "Take Tour"
|
468 |
-
msgstr ""
|
469 |
-
|
470 |
-
#: src/includes/updraftplus-tour.php:182
|
471 |
-
msgid "Log in here to enable all the features you have access to."
|
472 |
-
msgstr ""
|
473 |
-
|
474 |
-
#: src/includes/updraftplus-tour.php:181
|
475 |
-
msgid "Connect to updraftplus.com"
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: src/includes/updraftplus-tour.php:172
|
479 |
-
msgid "Thank you for taking the tour. You are now all set to use UpdraftPlus!"
|
480 |
-
msgstr ""
|
481 |
-
|
482 |
-
#: src/includes/updraftplus-tour.php:160
|
483 |
-
msgctxt "Translators: UpdraftVault is a product name and should not be translated."
|
484 |
-
msgid "To get started with UpdraftVault, select one of the options below:"
|
485 |
-
msgstr ""
|
486 |
-
|
487 |
-
#: src/includes/updraftplus-tour.php:156,
|
488 |
-
#: src/includes/updraftplus-tour.php:174, src/includes/updraftplus-tour.php:185
|
489 |
-
msgid "Finish"
|
490 |
-
msgstr ""
|
491 |
-
|
492 |
-
#: src/includes/updraftplus-tour.php:153
|
493 |
-
msgid "UpdraftPlus Premium has many more exciting features!"
|
494 |
-
msgstr ""
|
495 |
-
|
496 |
-
#: src/includes/updraftplus-tour.php:152
|
497 |
-
msgid "UpdraftPlus Premium and addons"
|
498 |
-
msgstr ""
|
499 |
-
|
500 |
-
#: src/includes/updraftplus-tour.php:150, src/includes/updraftplus-tour.php:179
|
501 |
-
msgid "Thank you for taking the tour."
|
502 |
-
msgstr ""
|
503 |
-
|
504 |
-
#: src/includes/updraftplus-tour.php:145
|
505 |
-
msgid "Do you have a few more WordPress sites you want to backup? If yes you can save hours by controlling all your backups in one place from UpdraftCentral."
|
506 |
-
msgstr ""
|
507 |
-
|
508 |
-
#: src/includes/updraftplus-tour.php:144
|
509 |
-
msgid "Control all your backups in one place"
|
510 |
-
msgstr ""
|
511 |
-
|
512 |
-
#: src/includes/updraftplus-tour.php:139
|
513 |
-
msgid "Congratulations, your settings have successfully been saved."
|
514 |
-
msgstr "Congratulazioni, le tue impostazioni sono state salvate con successo."
|
515 |
-
|
516 |
-
#: src/includes/updraftplus-tour.php:135
|
517 |
-
msgid "Press here to save your settings."
|
518 |
-
msgstr "Premi qui per salvare le tue impostazioni."
|
519 |
-
|
520 |
-
#: src/includes/updraftplus-tour.php:134, src/includes/updraftplus-tour.php:138
|
521 |
-
msgid "Save"
|
522 |
-
msgstr "Salva"
|
523 |
-
|
524 |
-
#: src/includes/updraftplus-tour.php:131
|
525 |
-
msgid "Look through the other settings here, making any changes you’d like."
|
526 |
-
msgstr ""
|
527 |
-
|
528 |
-
#: src/includes/updraftplus-tour.php:130
|
529 |
-
msgid "More settings"
|
530 |
-
msgstr ""
|
531 |
-
|
532 |
-
#: src/includes/updraftplus-tour.php:126,
|
533 |
-
#: src/includes/updraftplus-tour.php:153,
|
534 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:22
|
535 |
-
msgid "Find out more here."
|
536 |
-
msgstr ""
|
537 |
-
|
538 |
-
#: src/includes/updraftplus-tour.php:125
|
539 |
-
msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus."
|
540 |
-
msgstr ""
|
541 |
-
|
542 |
-
#: src/includes/updraftplus-tour.php:122
|
543 |
-
msgid "Now select a remote storage destination to protect against server-wide threats. If not, your backups remain on the same server as your site."
|
544 |
-
msgstr ""
|
545 |
-
|
546 |
-
#: src/includes/updraftplus-tour.php:118
|
547 |
-
msgid "Choose the schedule that you want your backups to run on."
|
548 |
-
msgstr ""
|
549 |
-
|
550 |
-
#: src/includes/updraftplus-tour.php:117
|
551 |
-
msgid "Choose your backup schedule"
|
552 |
-
msgstr ""
|
553 |
-
|
554 |
-
#: src/includes/updraftplus-tour.php:113
|
555 |
-
msgid "Congratulations! Your first backup is running."
|
556 |
-
msgstr ""
|
557 |
-
|
558 |
-
#: src/includes/updraftplus-tour.php:109, src/includes/updraftplus-tour.php:114
|
559 |
-
msgid "Go to settings"
|
560 |
-
msgstr "Vai alle impostazioni"
|
561 |
-
|
562 |
-
#: src/includes/updraftplus-tour.php:108, src/includes/updraftplus-tour.php:113
|
563 |
-
msgctxt "Translators: %s is a bold tag."
|
564 |
-
msgid "But to avoid server-wide threats backup regularly to remote cloud storage in %s settings %s"
|
565 |
-
msgstr ""
|
566 |
-
|
567 |
-
#: src/includes/updraftplus-tour.php:108
|
568 |
-
msgid "Press here to run a manual backup."
|
569 |
-
msgstr "Premi qui per effettuare un backup manuale."
|
570 |
-
|
571 |
-
#: src/includes/updraftplus-tour.php:107, src/includes/updraftplus-tour.php:112
|
572 |
-
msgid "Creating your first backup"
|
573 |
-
msgstr ""
|
574 |
-
|
575 |
-
#: src/includes/updraftplus-tour.php:104
|
576 |
-
msgid "Select what you want to backup"
|
577 |
-
msgstr ""
|
578 |
-
|
579 |
-
#: src/includes/updraftplus-tour.php:103
|
580 |
-
msgid "Manual backup options"
|
581 |
-
msgstr ""
|
582 |
-
|
583 |
-
#: src/includes/updraftplus-tour.php:100
|
584 |
-
msgctxt "updraftplus"
|
585 |
-
msgid "To make a simple backup to your server, press this button. Or to setup regular backups and remote storage, go to %s settings %s"
|
586 |
-
msgstr ""
|
587 |
-
|
588 |
-
#: src/includes/updraftplus-tour.php:99
|
589 |
-
msgid "Your first backup"
|
590 |
-
msgstr "Il tuo primo backup"
|
591 |
-
|
592 |
-
#: src/includes/updraftplus-tour.php:95
|
593 |
-
msgid "Press here to start!"
|
594 |
-
msgstr ""
|
595 |
-
|
596 |
-
#: src/includes/updraftplus-tour.php:92
|
597 |
-
msgid "the world’s most trusted backup plugin!"
|
598 |
-
msgstr ""
|
599 |
-
|
600 |
-
#: src/includes/updraftplus-tour.php:92
|
601 |
-
msgid "Welcome to UpdraftPlus"
|
602 |
-
msgstr "Benvenuto in UpdraftPlus"
|
603 |
-
|
604 |
-
#: src/includes/updraftplus-tour.php:91
|
605 |
-
msgid "UpdraftPlus settings"
|
606 |
-
msgstr "Impostazioni UpdraftPlus"
|
607 |
-
|
608 |
-
#: src/includes/updraftplus-tour.php:88
|
609 |
-
msgid "End tour"
|
610 |
-
msgstr ""
|
611 |
-
|
612 |
-
#: src/includes/updraftplus-tour.php:87
|
613 |
-
msgid "Skip this step"
|
614 |
-
msgstr "Salta questo passaggio"
|
615 |
-
|
616 |
-
#: src/includes/updraftplus-tour.php:86
|
617 |
-
msgid "Back"
|
618 |
-
msgstr "Indietro"
|
619 |
-
|
620 |
-
#: src/includes/class-commands.php:893
|
621 |
-
msgid "You can buy more temporary clone tokens here."
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: src/admin.php:5379
|
625 |
-
msgid "Forbid non-administrators to login to WordPress on your clone"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:35
|
629 |
-
msgid "Temporary clones of WordPress multisite installations are not yet supported. See our documentation on how to carry out a normal migration here"
|
630 |
-
msgstr ""
|
631 |
-
|
632 |
-
#: src/templates/wp-admin/settings/tab-addons.php:247
|
633 |
-
msgid "Premium / Find out more"
|
634 |
-
msgstr ""
|
635 |
-
|
636 |
-
#: src/templates/wp-admin/settings/tab-addons.php:22
|
637 |
-
msgid "Other great plugins"
|
638 |
-
msgstr ""
|
639 |
-
|
640 |
-
#: src/admin.php:5426, src/admin.php:5429
|
641 |
-
msgid "You can find your temporary clone information in your updraftplus.com account here."
|
642 |
-
msgstr ""
|
643 |
-
|
644 |
-
#: src/class-updraftplus.php:4177
|
645 |
-
msgid "Choose a default for each table"
|
646 |
-
msgstr ""
|
647 |
-
|
648 |
-
#: src/admin.php:3276
|
649 |
-
msgid "Sending files to remote site"
|
650 |
-
msgstr ""
|
651 |
-
|
652 |
-
#: src/admin.php:3271
|
653 |
-
msgid "Clone server being provisioned and booted (can take several minutes)"
|
654 |
-
msgstr ""
|
655 |
-
|
656 |
-
#: src/admin.php:942
|
657 |
-
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."
|
658 |
-
msgstr ""
|
659 |
-
|
660 |
-
#: src/addons/migrator.php:233
|
661 |
-
msgid "To import a backup set, go to the \"Existing Backups\" section in the \"Backup/Restore\" tab"
|
662 |
-
msgstr ""
|
663 |
-
|
664 |
-
#: src/admin.php:2798
|
665 |
-
msgid "Backup / Restore"
|
666 |
-
msgstr "Backup / Ripristino"
|
667 |
-
|
668 |
-
#: src/admin.php:663
|
669 |
-
msgid "Backup"
|
670 |
-
msgstr "Backup"
|
671 |
-
|
672 |
-
#: src/addons/wp-cli.php:408
|
673 |
-
msgid "Latest full backup found; identifier:"
|
674 |
-
msgstr ""
|
675 |
-
|
676 |
-
#: src/addons/wp-cli.php:407
|
677 |
-
msgid "No previous full backup found."
|
678 |
-
msgstr ""
|
679 |
-
|
680 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:89
|
681 |
-
msgid "Remote storage: %s"
|
682 |
-
msgstr ""
|
683 |
-
|
684 |
-
#: src/addons/wp-cli.php:88
|
685 |
-
msgid "No previous backup found to add an increment to."
|
686 |
-
msgstr ""
|
687 |
-
|
688 |
-
#: src/restorer.php:2499
|
689 |
-
msgid "Requested character set (%s) is not present - changing to %s."
|
690 |
-
msgstr ""
|
691 |
-
|
692 |
-
#: src/includes/updraftclone/temporary-clone-user-notice.php:32
|
693 |
-
msgid "Allow only administrators to log in"
|
694 |
-
msgstr ""
|
695 |
-
|
696 |
-
#: src/includes/updraftclone/temporary-clone-user-notice.php:31
|
697 |
-
msgid "You can forbid non-admins logins to this cloned site by checking the checkbox below"
|
698 |
-
msgstr ""
|
699 |
-
|
700 |
-
#: src/includes/updraftclone/temporary-clone-user-notice.php:30
|
701 |
-
msgid "UpdraftPlus temporary clone user login settings:"
|
702 |
-
msgstr ""
|
703 |
-
|
704 |
-
#: src/includes/updraftclone/temporary-clone-dash-notice.php:39
|
705 |
-
msgid "Welcome to your UpdraftClone (temporary clone)"
|
706 |
-
msgstr ""
|
707 |
-
|
708 |
-
#: src/includes/updraftclone/temporary-clone-dash-notice.php:38
|
709 |
-
msgid "Refresh connection"
|
710 |
-
msgstr ""
|
711 |
-
|
712 |
-
#: src/addons/reporting.php:495
|
713 |
-
msgid "Log all messages to syslog"
|
714 |
-
msgstr ""
|
715 |
-
|
716 |
-
#: src/addons/sftp.php:601, src/addons/sftp.php:603
|
717 |
-
msgid "The server's RSA key %s fingerprint: %s."
|
718 |
-
msgstr ""
|
719 |
-
|
720 |
-
#: src/addons/sftp.php:597
|
721 |
-
msgid "Failed: We are unable to match the fingerprint. However, we were able to log in and move to the indicated directory and successfully create a file in that location."
|
722 |
-
msgstr ""
|
723 |
-
|
724 |
-
#: src/addons/sftp.php:478
|
725 |
-
msgid "MD5 (128-bit) fingerprint, in hex format - should have the same length and general appearance as this (colons optional): 73:51:43:b1:b5:fc:8b:b7:0a:3a:a9:b1:0f:69:73:a8. Using a fingerprint is not essential, but you are not secure against %s if you do not use one"
|
726 |
-
msgstr ""
|
727 |
-
|
728 |
-
#: src/addons/sftp.php:475
|
729 |
-
msgid "RSA fingerprint"
|
730 |
-
msgstr ""
|
731 |
-
|
732 |
-
#: src/addons/sftp.php:82
|
733 |
-
msgid "Fingerprints don't match."
|
734 |
-
msgstr ""
|
735 |
-
|
736 |
-
#: src/templates/wp-admin/settings/migrator-no-migrator.php:17
|
737 |
-
msgid "More information here."
|
738 |
-
msgstr ""
|
739 |
-
|
740 |
-
#: src/admin.php:671, src/admin.php:2799
|
741 |
-
msgid "Migrate / Clone"
|
742 |
-
msgstr ""
|
743 |
-
|
744 |
-
#: src/admin.php:3036, src/admin.php:3961,
|
745 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:73,
|
746 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:76
|
747 |
-
msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)."
|
748 |
-
msgstr ""
|
749 |
-
|
750 |
-
#: src/addons/wp-cli.php:834
|
751 |
-
msgid "You have given the %1$s option. The %1$s is working with \"%2$s\" addon. Get the \"%2$s\" addon: %3$s"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: src/addons/wp-cli.php:793
|
755 |
-
msgid "Your WordPress install has old directories from its state before you restored/migrated (technical information: these are suffixed with -old)."
|
756 |
-
msgstr ""
|
757 |
-
|
758 |
-
#: src/addons/wp-cli.php:739, src/addons/wp-cli.php:743
|
759 |
-
msgid "This is not an incremental backup"
|
760 |
-
msgstr ""
|
761 |
-
|
762 |
-
#: src/addons/wp-cli.php:665
|
763 |
-
msgid "Run this command to see the log file for this restoration (needed for any support requests)."
|
764 |
-
msgstr ""
|
765 |
-
|
766 |
-
#: src/class-updraftplus.php:188
|
767 |
-
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."
|
768 |
-
msgstr ""
|
769 |
-
|
770 |
-
#: src/admin.php:5402
|
771 |
-
msgid "(current version)"
|
772 |
-
msgstr "(versione attuale)"
|
773 |
-
|
774 |
-
#: src/admin.php:3738
|
775 |
-
msgid "press here"
|
776 |
-
msgstr "premi qui"
|
777 |
-
|
778 |
-
#: src/addons/onedrive.php:1157, src/methods/dropbox.php:586,
|
779 |
-
#: src/methods/googledrive.php:1214
|
780 |
-
msgid "this privacy policy"
|
781 |
-
msgstr "questa privacy policy"
|
782 |
-
|
783 |
-
#: src/addons/onedrive.php:1157, src/methods/dropbox.php:586,
|
784 |
-
#: src/methods/googledrive.php:1214
|
785 |
-
msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)."
|
786 |
-
msgstr ""
|
787 |
-
|
788 |
-
#: src/addons/incremental.php:270
|
789 |
-
msgid "Tell me more"
|
790 |
-
msgstr ""
|
791 |
-
|
792 |
-
#: src/addons/incremental.php:258
|
793 |
-
msgid "And then add an incremental backup"
|
794 |
-
msgstr ""
|
795 |
-
|
796 |
-
#: src/addons/incremental.php:236, src/updraftplus.php:99
|
797 |
-
msgid "Every hour"
|
798 |
-
msgstr "Ogni ora"
|
799 |
-
|
800 |
-
#: src/includes/class-commands.php:900
|
801 |
-
msgid "Create clone"
|
802 |
-
msgstr ""
|
803 |
-
|
804 |
-
#: src/includes/class-commands.php:892, src/includes/class-commands.php:937
|
805 |
-
msgid "Available temporary clone tokens:"
|
806 |
-
msgstr ""
|
807 |
-
|
808 |
-
#: src/admin.php:2886, src/includes/class-commands.php:901,
|
809 |
-
#: src/includes/class-commands.php:949,
|
810 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:83,
|
811 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:71
|
812 |
-
msgid "Processing"
|
813 |
-
msgstr ""
|
814 |
-
|
815 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:70
|
816 |
-
msgid "Connect to UpdraftCentral Cloud"
|
817 |
-
msgstr ""
|
818 |
-
|
819 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:68
|
820 |
-
msgid "UpdraftPlus.Com account terms and policies"
|
821 |
-
msgstr ""
|
822 |
-
|
823 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:68
|
824 |
-
msgid "I consent to %s"
|
825 |
-
msgstr ""
|
826 |
-
|
827 |
-
#: src/admin.php:2984,
|
828 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:56
|
829 |
-
msgid "One Time Password (check your OTP app to get this password)"
|
830 |
-
msgstr ""
|
831 |
-
|
832 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:46
|
833 |
-
msgid "Login or register with this email address"
|
834 |
-
msgstr ""
|
835 |
-
|
836 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:34
|
837 |
-
msgid "If not, then choose your details and a new account will be registered."
|
838 |
-
msgstr ""
|
839 |
-
|
840 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:33
|
841 |
-
msgid "If you already have an updraftplus.com account, then enter the details below."
|
842 |
-
msgstr ""
|
843 |
-
|
844 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:31
|
845 |
-
msgid "Add this website to your UpdraftCentral Cloud dashboard at updraftplus.com."
|
846 |
-
msgstr ""
|
847 |
-
|
848 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:29
|
849 |
-
msgid "Login or register for UpdraftCentral Cloud"
|
850 |
-
msgstr ""
|
851 |
-
|
852 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:20
|
853 |
-
msgid "Go here to connect it."
|
854 |
-
msgstr ""
|
855 |
-
|
856 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:20
|
857 |
-
msgid "Or if you prefer to self-host, then you can get the self-hosted version here."
|
858 |
-
msgstr ""
|
859 |
-
|
860 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:17
|
861 |
-
msgid "Connect this site to UpdraftCentral Cloud"
|
862 |
-
msgstr ""
|
863 |
-
|
864 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:14
|
865 |
-
msgid "If you have a few sites, it'll save hours. It's free to use or try up to 5 sites."
|
866 |
-
msgstr ""
|
867 |
-
|
868 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:12
|
869 |
-
msgid "Backup, update and manage all your WordPress sites from one dashboard"
|
870 |
-
msgstr ""
|
871 |
-
|
872 |
-
#: src/includes/updraftcentral.php:21, src/includes/updraftplus-clone.php:21
|
873 |
-
msgid "An error has occurred while processing your request. The server might be busy or you have lost your connection to the internet at the time of the request. Please try again later."
|
874 |
-
msgstr ""
|
875 |
-
|
876 |
-
#: src/admin.php:5344
|
877 |
-
msgid "The file %s has a \"byte order mark\" (BOM) at its beginning."
|
878 |
-
msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning."
|
879 |
-
msgstr[0] ""
|
880 |
-
msgstr[1] ""
|
881 |
-
|
882 |
-
#: src/admin.php:940
|
883 |
-
msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab."
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: src/admin.php:939
|
887 |
-
msgid "You can also close this wizard."
|
888 |
-
msgstr ""
|
889 |
-
|
890 |
-
#: src/admin.php:938
|
891 |
-
msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed."
|
892 |
-
msgstr ""
|
893 |
-
|
894 |
-
#: src/admin.php:937
|
895 |
-
msgid "Please wait while you are redirected to UpdraftCentral Cloud."
|
896 |
-
msgstr ""
|
897 |
-
|
898 |
-
#: src/admin.php:936
|
899 |
-
msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud."
|
900 |
-
msgstr ""
|
901 |
-
|
902 |
-
#: src/admin.php:935
|
903 |
-
msgid "Perhaps you would want to login instead."
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: src/admin.php:934
|
907 |
-
msgid "Trouble connecting? Try using an alternative method in the advanced security options."
|
908 |
-
msgstr ""
|
909 |
-
|
910 |
-
#: src/admin.php:933
|
911 |
-
msgid "An email is required and needs to be in a valid format."
|
912 |
-
msgstr ""
|
913 |
-
|
914 |
-
#: src/admin.php:932
|
915 |
-
msgid "Both email and password fields are required."
|
916 |
-
msgstr ""
|
917 |
-
|
918 |
-
#: src/admin.php:931
|
919 |
-
msgid "Registration successful."
|
920 |
-
msgstr ""
|
921 |
-
|
922 |
-
#: src/admin.php:930, src/admin.php:931
|
923 |
-
msgid "Please follow this link to open %s in a new window."
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: src/admin.php:930
|
927 |
-
msgid "Login successful."
|
928 |
-
msgstr ""
|
929 |
-
|
930 |
-
#: src/admin.php:929,
|
931 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:9
|
932 |
-
msgid "UpdraftCentral Cloud"
|
933 |
-
msgstr "UpdraftCentral Cloud"
|
934 |
-
|
935 |
-
#: src/admin.php:489
|
936 |
-
msgid "Are you sure you want to dismiss all UpdraftPlus news forever?"
|
937 |
-
msgstr ""
|
938 |
-
|
939 |
-
#: src/admin.php:488
|
940 |
-
msgid "Dismiss all UpdraftPlus news"
|
941 |
-
msgstr ""
|
942 |
-
|
943 |
-
#: src/admin.php:487
|
944 |
-
msgid "UpdraftPlus News"
|
945 |
-
msgstr ""
|
946 |
-
|
947 |
-
#: src/addons/wp-cli.php:553
|
948 |
-
msgid "Migration key created:"
|
949 |
-
msgstr ""
|
950 |
-
|
951 |
-
#: src/addons/wp-cli.php:543
|
952 |
-
msgid "Missing parameters"
|
953 |
-
msgstr ""
|
954 |
-
|
955 |
-
#: src/addons/azure.php:645
|
956 |
-
msgid "Azure Germany"
|
957 |
-
msgstr ""
|
958 |
-
|
959 |
-
#: src/addons/azure.php:644
|
960 |
-
msgid "Azure Global"
|
961 |
-
msgstr ""
|
962 |
-
|
963 |
-
#: src/addons/azure.php:641
|
964 |
-
msgid "Azure Account"
|
965 |
-
msgstr ""
|
966 |
-
|
967 |
-
#: src/admin.php:928
|
968 |
-
msgid "Please specify the Microsoft OneDrive folder name, not the URL."
|
969 |
-
msgstr ""
|
970 |
-
|
971 |
-
#: src/templates/wp-admin/settings/upload-backups-modal.php:4
|
972 |
-
msgid "Select the remote storage destinations you want to upload this backup set to"
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: src/templates/wp-admin/settings/upload-backups-modal.php:3
|
976 |
-
msgid "Upload backup"
|
977 |
-
msgstr ""
|
978 |
-
|
979 |
-
#: src/admin.php:4248
|
980 |
-
msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations"
|
981 |
-
msgstr ""
|
982 |
-
|
983 |
-
#: src/admin.php:927
|
984 |
-
msgid "(already uploaded)"
|
985 |
-
msgstr ""
|
986 |
-
|
987 |
-
#: src/admin.php:925
|
988 |
-
msgid "Local backup upload has started; please check the current status tab to see the upload progress"
|
989 |
-
msgstr ""
|
990 |
-
|
991 |
-
#: src/admin.php:846, src/admin.php:4248
|
992 |
-
msgid "Upload"
|
993 |
-
msgstr "Carica"
|
994 |
-
|
995 |
-
#: src/addons/reporting.php:529, src/admin.php:796
|
996 |
-
msgid "Only email the database backup"
|
997 |
-
msgstr ""
|
998 |
-
|
999 |
-
#: src/addons/reporting.php:529
|
1000 |
-
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive as a result UpdraftPlus will only send Database backups to email."
|
1001 |
-
msgstr ""
|
1002 |
-
|
1003 |
-
#: src/addons/reporting.php:529
|
1004 |
-
msgid "Use this option to only send database backups when sending to email, and skip other components."
|
1005 |
-
msgstr ""
|
1006 |
-
|
1007 |
-
#: src/addons/migrator.php:275
|
1008 |
-
msgid "For incremental backups, you will be able to choose which increments to restore at a later stage."
|
1009 |
-
msgstr ""
|
1010 |
-
|
1011 |
-
#: src/addons/incremental.php:72
|
1012 |
-
msgid "Increments exist at: %s"
|
1013 |
-
msgstr ""
|
1014 |
-
|
1015 |
-
#: src/addons/incremental.php:70, src/addons/incremental.php:72
|
1016 |
-
msgid "(latest increment: %s)"
|
1017 |
-
msgstr ""
|
1018 |
-
|
1019 |
-
#: src/addons/s3-enhanced.php:374
|
1020 |
-
msgid "Europe (Paris)"
|
1021 |
-
msgstr ""
|
1022 |
-
|
1023 |
-
#: src/templates/wp-admin/settings/tab-addons.php:154
|
1024 |
-
msgid "WP-CLI commands to take, list and delete backups."
|
1025 |
-
msgstr ""
|
1026 |
-
|
1027 |
-
#: src/templates/wp-admin/settings/tab-addons.php:153
|
1028 |
-
msgid "WP-CLI support"
|
1029 |
-
msgstr "Supporto WP-CLI"
|
1030 |
-
|
1031 |
-
#: src/templates/wp-admin/settings/tab-addons.php:152
|
1032 |
-
msgid "WP CLI"
|
1033 |
-
msgstr "WP CLI"
|
1034 |
-
|
1035 |
-
#: src/addons/wp-cli.php:265
|
1036 |
-
msgid "Invalid Job Id"
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: src/addons/wp-cli.php:205
|
1040 |
-
msgid "Backup has been started successfully. You can see the last log message by running the following command: \"%s\""
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: src/addons/wp-cli.php:195
|
1044 |
-
msgid "Recently started backup job id: %s"
|
1045 |
-
msgstr ""
|
1046 |
-
|
1047 |
-
#: src/addons/wp-cli.php:100, src/addons/wp-cli.php:509,
|
1048 |
-
#: src/addons/wp-cli.php:631, src/addons/wp-cli.php:719,
|
1049 |
-
#: src/addons/wp-cli.php:742
|
1050 |
-
msgid "The given value for the '%s' option is not valid"
|
1051 |
-
msgstr ""
|
1052 |
-
|
1053 |
-
#: src/addons/migrator.php:1755
|
1054 |
-
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)."
|
1055 |
-
msgstr ""
|
1056 |
-
|
1057 |
-
#: src/addons/migrator.php:1741
|
1058 |
-
msgid "So, to get the key for the remote site, open the 'Migrate Site' window on that site, and go to that section."
|
1059 |
-
msgstr ""
|
1060 |
-
|
1061 |
-
#: src/addons/migrator.php:1741
|
1062 |
-
msgid "Keys for a site are created in the section \"receive a backup from a remote site\"."
|
1063 |
-
msgstr ""
|
1064 |
-
|
1065 |
-
#: src/includes/class-remote-send.php:438
|
1066 |
-
msgid "You must copy and paste this key on the sending site now - it cannot be shown again."
|
1067 |
-
msgstr ""
|
1068 |
-
|
1069 |
-
#: src/templates/wp-admin/advanced/lock-admin.php:14
|
1070 |
-
msgid "This functionality has been disabled by the site administrator."
|
1071 |
-
msgstr ""
|
1072 |
-
|
1073 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:26
|
1074 |
-
msgid "Simple and secure login with a wave of your phone."
|
1075 |
-
msgstr ""
|
1076 |
-
|
1077 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:23
|
1078 |
-
msgid "Auto-clean your WordPress database so that it runs at maximum efficiency. 800,000 users!"
|
1079 |
-
msgstr ""
|
1080 |
-
|
1081 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:20
|
1082 |
-
msgid "Add style and flare easily with beautifully-designed sliders on the #1 WP slider plugin"
|
1083 |
-
msgstr ""
|
1084 |
-
|
1085 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
1086 |
-
msgid "is a highly efficient way to manage, update and backup multiple websites from one place."
|
1087 |
-
msgstr ""
|
1088 |
-
|
1089 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:9
|
1090 |
-
msgid "Super-charge and secure your WordPress site with our other top plugins:"
|
1091 |
-
msgstr ""
|
1092 |
-
|
1093 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:4
|
1094 |
-
msgid "Thank you for installing UpdraftPlus!"
|
1095 |
-
msgstr ""
|
1096 |
-
|
1097 |
-
#: src/includes/class-remote-send.php:532
|
1098 |
-
msgid "No keys to allow remote sites to send backup data here have yet been created."
|
1099 |
-
msgstr ""
|
1100 |
-
|
1101 |
-
#: src/restorer.php:534
|
1102 |
-
msgid "Failed to read from the working directory."
|
1103 |
-
msgstr ""
|
1104 |
-
|
1105 |
-
#: src/restorer.php:533
|
1106 |
-
msgid "Failed to find a manifest file in the backup."
|
1107 |
-
msgstr ""
|
1108 |
-
|
1109 |
-
#: src/restorer.php:532
|
1110 |
-
msgid "Failed to read the manifest file from backup."
|
1111 |
-
msgstr ""
|
1112 |
-
|
1113 |
-
#: src/includes/class-wpadmin-commands.php:217
|
1114 |
-
msgid "Select your incremental restore point"
|
1115 |
-
msgstr ""
|
1116 |
-
|
1117 |
-
#: src/addons/morefiles.php:67
|
1118 |
-
msgid "(None configured)"
|
1119 |
-
msgstr ""
|
1120 |
-
|
1121 |
-
#: src/methods/backup-module.php:541
|
1122 |
-
msgid "Ensure you are logged into the correct account before continuing."
|
1123 |
-
msgstr ""
|
1124 |
-
|
1125 |
-
#: src/admin.php:4986
|
1126 |
-
msgid "Remote storage method and instance id are required for authentication."
|
1127 |
-
msgstr ""
|
1128 |
-
|
1129 |
-
#: src/admin.php:4982
|
1130 |
-
msgid "authentication error"
|
1131 |
-
msgstr "errore di autenticazione"
|
1132 |
-
|
1133 |
-
#: src/addons/multisite.php:44, src/options.php:38
|
1134 |
-
msgid "(Nothing has been logged yet)"
|
1135 |
-
msgstr ""
|
1136 |
-
|
1137 |
-
#: src/addons/migrator.php:439
|
1138 |
-
msgid "you will want to use below search and replace site location in the database (migrate) to search/replace the site address."
|
1139 |
-
msgstr ""
|
1140 |
-
|
1141 |
-
#: src/addons/migrator.php:428
|
1142 |
-
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."
|
1143 |
-
msgstr ""
|
1144 |
-
|
1145 |
-
#: src/addons/migrator.php:417
|
1146 |
-
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."
|
1147 |
-
msgstr ""
|
1148 |
-
|
1149 |
-
#: src/addons/morestorage.php:104
|
1150 |
-
msgid "Add another %s account..."
|
1151 |
-
msgstr ""
|
1152 |
-
|
1153 |
-
#: src/addons/morestorage.php:83
|
1154 |
-
msgid "Delete these settings"
|
1155 |
-
msgstr ""
|
1156 |
-
|
1157 |
-
#: src/addons/morestorage.php:81, src/admin.php:924
|
1158 |
-
msgid "Currently disabled"
|
1159 |
-
msgstr "Attualmente disabilitato"
|
1160 |
-
|
1161 |
-
#: src/addons/morestorage.php:81, src/admin.php:923
|
1162 |
-
msgid "Currently enabled"
|
1163 |
-
msgstr "Attualmente abilitato"
|
1164 |
-
|
1165 |
-
#: src/templates/wp-admin/settings/tab-addons.php:30
|
1166 |
-
msgid "If you have purchased from UpdraftPlus.Com, then follow this link to the installation instructions (particularly step 1)."
|
1167 |
-
msgstr "Se hai acquistato da UpdraftPlus.Com, segui questo link per le istruzioni di installazione (in particolare passaggio 1)."
|
1168 |
-
|
1169 |
-
#: src/templates/wp-admin/settings/tab-addons.php:30
|
1170 |
-
msgid "You are currently using the free version of UpdraftPlus."
|
1171 |
-
msgstr "Stai utilizzando la versione gratuita di UpdraftPlus."
|
1172 |
-
|
1173 |
-
#: src/templates/wp-admin/settings/tab-addons.php:26
|
1174 |
-
msgid "Get it here"
|
1175 |
-
msgstr ""
|
1176 |
-
|
1177 |
-
#: src/methods/stream-base.php:323
|
1178 |
-
msgid "Download chunk size successfully changed to %d"
|
1179 |
-
msgstr ""
|
1180 |
-
|
1181 |
-
#: src/methods/stream-base.php:320
|
1182 |
-
msgid "Download chunk size failed to change to %d"
|
1183 |
-
msgstr ""
|
1184 |
-
|
1185 |
-
#: src/includes/updraftplus-notices.php:202
|
1186 |
-
msgid "With Metaslider, you can easily add style and flare with beautifully-designed sliders."
|
1187 |
-
msgstr ""
|
1188 |
-
|
1189 |
-
#: src/includes/updraftplus-notices.php:193
|
1190 |
-
msgid "No more forgotten passwords. Find out more about our revolutionary new WordPress plugin"
|
1191 |
-
msgstr "Mai più password dimenticate. Scopri di più sul nostro nuovo rivoluzionario plugin WordPress"
|
1192 |
-
|
1193 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:87
|
1194 |
-
msgid "remote site"
|
1195 |
-
msgstr "sito remoto"
|
1196 |
-
|
1197 |
-
#: src/addons/backblaze.php:475
|
1198 |
-
msgid "Invalid bucket name"
|
1199 |
-
msgstr ""
|
1200 |
-
|
1201 |
-
#: src/restorer.php:2448
|
1202 |
-
msgid "Requested table collation (%1$s) is not present - changing to %2$s."
|
1203 |
-
msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s."
|
1204 |
-
msgstr[0] ""
|
1205 |
-
msgstr[1] ""
|
1206 |
-
|
1207 |
-
#: src/class-updraftplus.php:4154
|
1208 |
-
msgid "Your chosen replacement collation"
|
1209 |
-
msgstr ""
|
1210 |
-
|
1211 |
-
#: src/class-updraftplus.php:4131
|
1212 |
-
msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)."
|
1213 |
-
msgstr ""
|
1214 |
-
|
1215 |
-
#: src/class-updraftplus.php:4131
|
1216 |
-
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."
|
1217 |
-
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."
|
1218 |
-
msgstr[0] ""
|
1219 |
-
msgstr[1] ""
|
1220 |
-
|
1221 |
-
#: src/addons/migrator.php:561
|
1222 |
-
msgid "Database restoration options:"
|
1223 |
-
msgstr ""
|
1224 |
-
|
1225 |
-
#: src/addons/migrator.php:406
|
1226 |
-
msgid "This looks like a migration (the backup is from a site with a different address/URL, %s)."
|
1227 |
-
msgstr ""
|
1228 |
-
|
1229 |
-
#: src/addons/azure.php:637
|
1230 |
-
msgid "%s Prefix"
|
1231 |
-
msgstr ""
|
1232 |
-
|
1233 |
-
#: src/addons/azure.php:632
|
1234 |
-
msgid "%s Container"
|
1235 |
-
msgstr ""
|
1236 |
-
|
1237 |
-
#: src/addons/azure.php:627
|
1238 |
-
msgid "%s Key"
|
1239 |
-
msgstr ""
|
1240 |
-
|
1241 |
-
#: src/addons/azure.php:623
|
1242 |
-
msgid "%s Account Name"
|
1243 |
-
msgstr ""
|
1244 |
-
|
1245 |
-
#: src/addons/googlecloud.php:692
|
1246 |
-
msgid "But no %s settings were found. Please complete all fields in %s settings and save the settings."
|
1247 |
-
msgstr ""
|
1248 |
-
|
1249 |
-
#: src/addons/googlecloud.php:690
|
1250 |
-
msgid "But no bucket was defined, so backups may not complete. Please enter a bucket name in the %s settings and save settings."
|
1251 |
-
msgstr ""
|
1252 |
-
|
1253 |
-
#: src/central/bootstrap.php:526
|
1254 |
-
msgid "URL for the site of your UpdraftCentral dashboard"
|
1255 |
-
msgstr ""
|
1256 |
-
|
1257 |
-
#: src/central/bootstrap.php:524
|
1258 |
-
msgid "Enter the URL where your self-hosted install of UpdraftCentral is located:"
|
1259 |
-
msgstr ""
|
1260 |
-
|
1261 |
-
#: src/central/bootstrap.php:521
|
1262 |
-
msgid "A website where you have installed %s"
|
1263 |
-
msgstr ""
|
1264 |
-
|
1265 |
-
#: src/central/bootstrap.php:519
|
1266 |
-
msgid "Self-hosted dashboard"
|
1267 |
-
msgstr ""
|
1268 |
-
|
1269 |
-
#: src/central/bootstrap.php:256
|
1270 |
-
msgid "At your UpdraftCentral dashboard you should press the \"Add Site\" button then paste the key in the input box."
|
1271 |
-
msgstr ""
|
1272 |
-
|
1273 |
-
#: src/addons/migrator.php:945
|
1274 |
-
msgid "Your .htaccess has an old site reference on line number %s. You should remove it manually."
|
1275 |
-
msgid_plural "Your .htaccess has an old site references on line numbers %s. You should remove them manually."
|
1276 |
-
msgstr[0] ""
|
1277 |
-
msgstr[1] ""
|
1278 |
-
|
1279 |
-
#: src/restorer.php:2398
|
1280 |
-
msgid "Requested table character set (%s) is not present - changing to %s."
|
1281 |
-
msgstr ""
|
1282 |
-
|
1283 |
-
#: src/class-updraftplus.php:4107
|
1284 |
-
msgid "Your chosen character set to use instead:"
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: src/class-updraftplus.php:4097
|
1288 |
-
msgid "You can choose another suitable character set instead and continue with the restoration at your own risk."
|
1289 |
-
msgstr ""
|
1290 |
-
|
1291 |
-
#: src/class-updraftplus.php:4097
|
1292 |
-
msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import."
|
1293 |
-
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."
|
1294 |
-
msgstr[0] ""
|
1295 |
-
msgstr[1] ""
|
1296 |
-
|
1297 |
-
#: src/central/bootstrap.php:602
|
1298 |
-
msgid "Create another key"
|
1299 |
-
msgstr "Cra un'altra chiave"
|
1300 |
-
|
1301 |
-
#: src/central/bootstrap.php:533
|
1302 |
-
msgid "UpdraftCentral dashboard connection details"
|
1303 |
-
msgstr ""
|
1304 |
-
|
1305 |
-
#: src/central/bootstrap.php:527, src/includes/updraftplus-tour.php:85
|
1306 |
-
msgid "Next"
|
1307 |
-
msgstr "Successivo"
|
1308 |
-
|
1309 |
-
#: src/central/bootstrap.php:513
|
1310 |
-
msgid "an account"
|
1311 |
-
msgstr "un account"
|
1312 |
-
|
1313 |
-
#: src/central/bootstrap.php:513
|
1314 |
-
msgid "i.e. if you have %s there"
|
1315 |
-
msgstr ""
|
1316 |
-
|
1317 |
-
#: src/central/bootstrap.php:502
|
1318 |
-
msgid "Connect this site to an UpdraftCentral dashboard found at..."
|
1319 |
-
msgstr ""
|
1320 |
-
|
1321 |
-
#: src/central/bootstrap.php:471
|
1322 |
-
msgid "Manage existing keys (%d)..."
|
1323 |
-
msgstr "Gestisci le chiavi esistenti (%d)..."
|
1324 |
-
|
1325 |
-
#: src/central/bootstrap.php:421
|
1326 |
-
msgid "There are no UpdraftCentral dashboards that can currently control this site."
|
1327 |
-
msgstr ""
|
1328 |
-
|
1329 |
-
#: src/central/bootstrap.php:258
|
1330 |
-
msgid "You can now control this site via your UpdraftCentral dashboard at %s."
|
1331 |
-
msgstr "Ora puoi controllare questo sito attraverso il tuo pannello di controllo di UpdraftCentral da %s."
|
1332 |
-
|
1333 |
-
#: src/central/bootstrap.php:256
|
1334 |
-
msgid "Detailed instructions for this can be found at %s"
|
1335 |
-
msgstr ""
|
1336 |
-
|
1337 |
-
#: src/central/bootstrap.php:256
|
1338 |
-
msgid "You now need to copy the key below and enter it at your %s."
|
1339 |
-
msgstr ""
|
1340 |
-
|
1341 |
-
#: src/admin.php:918
|
1342 |
-
msgid "Please enter a valid URL e.g http://example.com"
|
1343 |
-
msgstr "Inserisci un URL valido, ad es. http://example.com"
|
1344 |
-
|
1345 |
-
#: src/addons/backblaze.php:661
|
1346 |
-
msgid "There are limits upon which path-names are valid. Spaces are not allowed."
|
1347 |
-
msgstr ""
|
1348 |
-
|
1349 |
-
#: src/addons/backblaze.php:660
|
1350 |
-
msgid "some/path"
|
1351 |
-
msgstr ""
|
1352 |
-
|
1353 |
-
#: src/addons/backblaze.php:660
|
1354 |
-
msgid "Bucket name"
|
1355 |
-
msgstr ""
|
1356 |
-
|
1357 |
-
#: src/addons/backblaze.php:659
|
1358 |
-
msgid "Backup path"
|
1359 |
-
msgstr ""
|
1360 |
-
|
1361 |
-
#: src/addons/backblaze.php:654
|
1362 |
-
msgid "Application key"
|
1363 |
-
msgstr ""
|
1364 |
-
|
1365 |
-
#: src/addons/backblaze.php:649, src/addons/backblaze.php:649
|
1366 |
-
msgid "here"
|
1367 |
-
msgstr ""
|
1368 |
-
|
1369 |
-
#: src/addons/backblaze.php:649
|
1370 |
-
msgid "Get these settings from %s, or sign up %s."
|
1371 |
-
msgstr ""
|
1372 |
-
|
1373 |
-
#: src/addons/backblaze.php:453
|
1374 |
-
msgid "Account Key"
|
1375 |
-
msgstr ""
|
1376 |
-
|
1377 |
-
#: src/addons/backblaze.php:452, src/addons/backblaze.php:647
|
1378 |
-
msgid "Account ID"
|
1379 |
-
msgstr ""
|
1380 |
-
|
1381 |
-
#: src/class-updraftplus.php:3936
|
1382 |
-
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."
|
1383 |
-
msgstr ""
|
1384 |
-
|
1385 |
-
#: src/class-updraftplus.php:3934, src/class-updraftplus.php:3936
|
1386 |
-
msgid "the migrator add-on"
|
1387 |
-
msgstr ""
|
1388 |
-
|
1389 |
-
#: src/class-updraftplus.php:3934
|
1390 |
-
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."
|
1391 |
-
msgstr ""
|
1392 |
-
|
1393 |
-
#: src/class-updraftplus.php:3932
|
1394 |
-
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."
|
1395 |
-
msgstr ""
|
1396 |
-
|
1397 |
-
#: src/class-updraftplus.php:3927
|
1398 |
-
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."
|
1399 |
-
msgstr ""
|
1400 |
-
|
1401 |
-
#: src/methods/googledrive.php:1283
|
1402 |
-
msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings."
|
1403 |
-
msgstr ""
|
1404 |
-
|
1405 |
-
#: src/methods/backup-module.php:595
|
1406 |
-
msgid "Follow this link to remove these settings for %s."
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: src/admin.php:897
|
1410 |
-
msgid "Error: The chosen file is corrupt. Please choose a valid UpdraftPlus export file."
|
1411 |
-
msgstr "Errore: il file scelto è corrotto. Scegli un file di esportazione UpdraftPlus valido."
|
1412 |
-
|
1413 |
-
#: src/backup.php:456, src/backup.php:2140, src/class-updraftplus.php:2133,
|
1414 |
-
#: src/class-updraftplus.php:2198,
|
1415 |
-
#: src/includes/class-storage-methods-interface.php:373, src/restorer.php:384
|
1416 |
-
msgid "A PHP fatal error (%s) has occurred: %s"
|
1417 |
-
msgstr ""
|
1418 |
-
|
1419 |
-
#: src/backup.php:450, src/backup.php:2131, src/class-updraftplus.php:2124,
|
1420 |
-
#: src/class-updraftplus.php:2191,
|
1421 |
-
#: src/includes/class-storage-methods-interface.php:364, src/restorer.php:370
|
1422 |
-
msgid "A PHP exception (%s) has occurred: %s"
|
1423 |
-
msgstr ""
|
1424 |
-
|
1425 |
-
#: src/addons/googlecloud.php:54
|
1426 |
-
msgid "South-east Australia"
|
1427 |
-
msgstr ""
|
1428 |
-
|
1429 |
-
#: src/addons/googlecloud.php:53
|
1430 |
-
msgid "South-east Asia"
|
1431 |
-
msgstr ""
|
1432 |
-
|
1433 |
-
#: src/addons/googlecloud.php:52
|
1434 |
-
msgid "North-east Asia"
|
1435 |
-
msgstr ""
|
1436 |
-
|
1437 |
-
#: src/udaddons/options.php:119
|
1438 |
-
msgid "Your web server's version of PHP is too old (%s) - UpdraftPlus expects at least %s. You can try it, but don't be surprised if it does not work. To fix this problem, contact your web hosting company"
|
1439 |
-
msgstr ""
|
1440 |
-
|
1441 |
-
#: src/templates/wp-admin/settings/take-backup.php:76
|
1442 |
-
msgid "Remote storage authentication"
|
1443 |
-
msgstr ""
|
1444 |
-
|
1445 |
-
#: src/templates/wp-admin/settings/tab-addons.php:126
|
1446 |
-
msgid "Network and multisite"
|
1447 |
-
msgstr ""
|
1448 |
-
|
1449 |
-
#: src/templates/wp-admin/settings/tab-addons.php:74
|
1450 |
-
msgid "Migrator"
|
1451 |
-
msgstr ""
|
1452 |
-
|
1453 |
-
#: src/templates/wp-admin/settings/tab-addons.php:178
|
1454 |
-
msgid "Additional storage"
|
1455 |
-
msgstr ""
|
1456 |
-
|
1457 |
-
#: src/includes/updraftplus-tour.php:121,
|
1458 |
-
#: src/templates/wp-admin/settings/tab-addons.php:61
|
1459 |
-
msgid "Remote storage"
|
1460 |
-
msgstr ""
|
1461 |
-
|
1462 |
-
#: src/templates/wp-admin/settings/form-contents.php:191
|
1463 |
-
msgid "Select Files"
|
1464 |
-
msgstr "Seleziona i file"
|
1465 |
-
|
1466 |
-
#: src/methods/cloudfiles.php:476
|
1467 |
-
msgid "Rackspace Storage Region"
|
1468 |
-
msgstr ""
|
1469 |
-
|
1470 |
-
#: src/includes/updraftplus-notices.php:193
|
1471 |
-
msgid "Instant and secure logon with a wave of your phone."
|
1472 |
-
msgstr ""
|
1473 |
-
|
1474 |
-
#: src/admin.php:5192
|
1475 |
-
msgid "Value"
|
1476 |
-
msgstr ""
|
1477 |
-
|
1478 |
-
#: src/admin.php:1781
|
1479 |
-
msgid "Did not know how to delete from this cloud service."
|
1480 |
-
msgstr ""
|
1481 |
-
|
1482 |
-
#: src/addons/sftp.php:792
|
1483 |
-
msgid "Encrypted login failed; trying non-encrypted"
|
1484 |
-
msgstr ""
|
1485 |
-
|
1486 |
-
#: src/addons/azure.php:595
|
1487 |
-
msgid "You must add the following as the authorised redirect URI in your Azure console (under \"API Settings\") when asked"
|
1488 |
-
msgstr ""
|
1489 |
-
|
1490 |
-
#: src/methods/cloudfiles.php:495
|
1491 |
-
msgid "Cloud Files"
|
1492 |
-
msgstr "File del cloud"
|
1493 |
-
|
1494 |
-
#: src/admin.php:4934
|
1495 |
-
msgid "Your settings failed to save. Please refresh the settings page and try again"
|
1496 |
-
msgstr ""
|
1497 |
-
|
1498 |
-
#: src/admin.php:4893
|
1499 |
-
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."
|
1500 |
-
msgstr ""
|
1501 |
-
|
1502 |
-
#: src/methods/updraftvault.php:71,
|
1503 |
-
#: src/templates/wp-admin/settings/tab-addons.php:243
|
1504 |
-
msgid "UpdraftVault"
|
1505 |
-
msgstr "UpdraftVault"
|
1506 |
-
|
1507 |
-
#: src/includes/class-wpadmin-commands.php:529
|
1508 |
-
msgid "archive"
|
1509 |
-
msgstr "archivio"
|
1510 |
-
|
1511 |
-
#: src/includes/class-wpadmin-commands.php:520
|
1512 |
-
msgid "Extra database"
|
1513 |
-
msgstr "Extra database"
|
1514 |
-
|
1515 |
-
#: src/admin.php:4104
|
1516 |
-
msgid "Press here to download or browse"
|
1517 |
-
msgstr ""
|
1518 |
-
|
1519 |
-
#: src/admin.php:1334, src/admin.php:1344
|
1520 |
-
msgid "Error: invalid path"
|
1521 |
-
msgstr "Errore: percorso non valido"
|
1522 |
-
|
1523 |
-
#: src/admin.php:1133
|
1524 |
-
msgid "An error occurred when fetching storage module options: "
|
1525 |
-
msgstr ""
|
1526 |
-
|
1527 |
-
#: src/admin.php:915
|
1528 |
-
msgid "Loading log file"
|
1529 |
-
msgstr ""
|
1530 |
-
|
1531 |
-
#: src/admin.php:914
|
1532 |
-
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
1533 |
-
msgstr ""
|
1534 |
-
|
1535 |
-
#: src/admin.php:913
|
1536 |
-
msgid "Search"
|
1537 |
-
msgstr "Cerca"
|
1538 |
-
|
1539 |
-
#: src/admin.php:912
|
1540 |
-
msgid "Select a file to view information about it"
|
1541 |
-
msgstr "Seleziona un file per visualizzarne le informazioni"
|
1542 |
-
|
1543 |
-
#: src/admin.php:911
|
1544 |
-
msgid "Browsing zip file"
|
1545 |
-
msgstr ""
|
1546 |
-
|
1547 |
-
#: src/admin.php:878
|
1548 |
-
msgid "With UpdraftPlus Premium, you can directly download individual files from here."
|
1549 |
-
msgstr ""
|
1550 |
-
|
1551 |
-
#: src/admin.php:824
|
1552 |
-
msgid "Browse contents"
|
1553 |
-
msgstr "Sfoglia il contenuto"
|
1554 |
-
|
1555 |
-
#: src/restorer.php:2219
|
1556 |
-
msgid "Skipped tables:"
|
1557 |
-
msgstr ""
|
1558 |
-
|
1559 |
-
#: src/class-updraftplus.php:4232
|
1560 |
-
msgid "This database backup has the following WordPress tables excluded: %s"
|
1561 |
-
msgstr ""
|
1562 |
-
|
1563 |
-
#: src/admin.php:3022
|
1564 |
-
msgid "With UpdraftPlus Premium, you can choose to backup non-WordPress tables, backup only specified tables, and backup other databases too."
|
1565 |
-
msgstr ""
|
1566 |
-
|
1567 |
-
#: src/admin.php:3022
|
1568 |
-
msgid "All WordPress tables will be backed up."
|
1569 |
-
msgstr ""
|
1570 |
-
|
1571 |
-
#: src/admin.php:910
|
1572 |
-
msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs."
|
1573 |
-
msgstr ""
|
1574 |
-
|
1575 |
-
#: src/admin.php:910
|
1576 |
-
msgid "That you are attempting to upload a zip file previously created by UpdraftPlus."
|
1577 |
-
msgstr ""
|
1578 |
-
|
1579 |
-
#: src/admin.php:910
|
1580 |
-
msgid "The available memory on the server."
|
1581 |
-
msgstr "Memoria disponibile sul server."
|
1582 |
-
|
1583 |
-
#: src/admin.php:910
|
1584 |
-
msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size."
|
1585 |
-
msgstr ""
|
1586 |
-
|
1587 |
-
#: src/admin.php:910
|
1588 |
-
msgid "The file failed to upload. Please check the following:"
|
1589 |
-
msgstr ""
|
1590 |
-
|
1591 |
-
#: src/admin.php:909
|
1592 |
-
msgid "HTTP code:"
|
1593 |
-
msgstr "Codice HTTP:"
|
1594 |
-
|
1595 |
-
#: src/addons/wp-cli.php:109, src/admin.php:801
|
1596 |
-
msgid "You have chosen to backup a database, but no tables have been selected"
|
1597 |
-
msgstr ""
|
1598 |
-
|
1599 |
-
#: src/addons/moredatabase.php:414
|
1600 |
-
msgid "tables"
|
1601 |
-
msgstr ""
|
1602 |
-
|
1603 |
-
#: src/addons/moredatabase.php:413
|
1604 |
-
msgid "WordPress database"
|
1605 |
-
msgstr ""
|
1606 |
-
|
1607 |
-
#: src/addons/moredatabase.php:406
|
1608 |
-
msgid "You should backup all tables unless you are an expert in the internals of the WordPress database."
|
1609 |
-
msgstr ""
|
1610 |
-
|
1611 |
-
#: src/templates/wp-admin/settings/tab-addons.php:246
|
1612 |
-
msgid "UpdraftPlus has its own embedded storage option, providing a zero-hassle way to download, store and manage all your backups from one place."
|
1613 |
-
msgstr ""
|
1614 |
-
|
1615 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:11
|
1616 |
-
msgid "UpdraftPlus Tour"
|
1617 |
-
msgstr "Tour di UpdraftPlus"
|
1618 |
-
|
1619 |
-
#: src/templates/wp-admin/settings/tab-addons.php:232
|
1620 |
-
msgid "Lock access to UpdraftPlus via a password so you choose which admin users can access backups."
|
1621 |
-
msgstr ""
|
1622 |
-
|
1623 |
-
#: src/templates/wp-admin/settings/tab-addons.php:219
|
1624 |
-
msgid "Some backup plugins can't restore a backup, so Premium allows you to restore backups from other plugins."
|
1625 |
-
msgstr ""
|
1626 |
-
|
1627 |
-
#: src/templates/wp-admin/settings/tab-addons.php:217,
|
1628 |
-
#: src/templates/wp-admin/settings/tab-addons.php:218
|
1629 |
-
msgid "Importer"
|
1630 |
-
msgstr ""
|
1631 |
-
|
1632 |
-
#: src/templates/wp-admin/settings/tab-addons.php:206
|
1633 |
-
msgid "Tidy things up for clients and remove all adverts for our other products."
|
1634 |
-
msgstr ""
|
1635 |
-
|
1636 |
-
#: src/templates/wp-admin/settings/tab-addons.php:204,
|
1637 |
-
#: src/templates/wp-admin/settings/tab-addons.php:205
|
1638 |
-
msgid "No ads"
|
1639 |
-
msgstr ""
|
1640 |
-
|
1641 |
-
#: src/templates/wp-admin/settings/tab-addons.php:193
|
1642 |
-
msgid "Sophisticated reporting and emailing capabilities."
|
1643 |
-
msgstr ""
|
1644 |
-
|
1645 |
-
#: src/templates/wp-admin/settings/tab-addons.php:167
|
1646 |
-
msgid "Encrypt your sensitive databases (e.g. customer information or passwords); Backup external databases too."
|
1647 |
-
msgstr ""
|
1648 |
-
|
1649 |
-
#: src/templates/wp-admin/settings/tab-addons.php:165,
|
1650 |
-
#: src/templates/wp-admin/settings/tab-addons.php:166
|
1651 |
-
msgid "More database options"
|
1652 |
-
msgstr "Ulteriori opzioni per il database"
|
1653 |
-
|
1654 |
-
#: src/templates/wp-admin/settings/tab-addons.php:141
|
1655 |
-
msgid "Set exact times to create or delete backups."
|
1656 |
-
msgstr ""
|
1657 |
-
|
1658 |
-
#: src/templates/wp-admin/settings/tab-addons.php:139,
|
1659 |
-
#: src/templates/wp-admin/settings/tab-addons.php:140
|
1660 |
-
msgid "Backup time and scheduling"
|
1661 |
-
msgstr ""
|
1662 |
-
|
1663 |
-
#: src/templates/wp-admin/settings/tab-addons.php:128
|
1664 |
-
msgid "Backup WordPress multisites (i.e, networks), securely."
|
1665 |
-
msgstr ""
|
1666 |
-
|
1667 |
-
#: src/templates/wp-admin/settings/tab-addons.php:127
|
1668 |
-
msgid "Network / multisite"
|
1669 |
-
msgstr ""
|
1670 |
-
|
1671 |
-
#: src/templates/wp-admin/settings/tab-addons.php:115
|
1672 |
-
msgid "Backup WordPress core and non-WP files and databases."
|
1673 |
-
msgstr ""
|
1674 |
-
|
1675 |
-
#: src/templates/wp-admin/settings/tab-addons.php:102
|
1676 |
-
msgid "Automatically backs up your website before any updates to plugins, themes and WordPress core."
|
1677 |
-
msgstr ""
|
1678 |
-
|
1679 |
-
#: src/templates/wp-admin/settings/tab-addons.php:100,
|
1680 |
-
#: src/templates/wp-admin/settings/tab-addons.php:101
|
1681 |
-
msgid "Pre-update backups"
|
1682 |
-
msgstr ""
|
1683 |
-
|
1684 |
-
#: src/templates/wp-admin/settings/tab-addons.php:89
|
1685 |
-
msgid "Provides expert help and support from the developers whenever you need it."
|
1686 |
-
msgstr ""
|
1687 |
-
|
1688 |
-
#: src/templates/wp-admin/settings/tab-addons.php:88
|
1689 |
-
msgid "Fast, personal support"
|
1690 |
-
msgstr ""
|
1691 |
-
|
1692 |
-
#: src/templates/wp-admin/settings/tab-addons.php:76
|
1693 |
-
msgid "UpdraftPlus Migrator clones your WordPress site and moves it to a new domain directly and simply."
|
1694 |
-
msgstr ""
|
1695 |
-
|
1696 |
-
#: src/templates/wp-admin/settings/tab-addons.php:75
|
1697 |
-
msgid "Cloning and migration"
|
1698 |
-
msgstr ""
|
1699 |
-
|
1700 |
-
#: src/templates/wp-admin/settings/tab-addons.php:180
|
1701 |
-
msgid "Get enhanced versions of the free remote storage options (Dropbox, Google Drive & S3) and even more remote storage options like OneDrive, SFTP, Azure, WebDAV and more with UpdraftPlus Premium."
|
1702 |
-
msgstr ""
|
1703 |
-
|
1704 |
-
#: src/templates/wp-admin/settings/tab-addons.php:179
|
1705 |
-
msgid "Additional and enhanced remote storage locations"
|
1706 |
-
msgstr ""
|
1707 |
-
|
1708 |
-
#: src/templates/wp-admin/settings/tab-addons.php:63
|
1709 |
-
msgid "To avoid server-wide risks, always backup to remote cloud storage. UpdraftPlus free includes Dropbox, Google Drive, Amazon S3, Rackspace and more."
|
1710 |
-
msgstr ""
|
1711 |
-
|
1712 |
-
#: src/templates/wp-admin/settings/tab-addons.php:62
|
1713 |
-
msgid "Backup to remote storage locations"
|
1714 |
-
msgstr ""
|
1715 |
-
|
1716 |
-
#: src/templates/wp-admin/settings/tab-addons.php:56,
|
1717 |
-
#: src/templates/wp-admin/settings/tab-addons.php:264
|
1718 |
-
msgid "Upgrade now"
|
1719 |
-
msgstr "Fai l'upgrade"
|
1720 |
-
|
1721 |
-
#: src/templates/wp-admin/settings/tab-addons.php:53,
|
1722 |
-
#: src/templates/wp-admin/settings/tab-addons.php:261
|
1723 |
-
msgid "Installed"
|
1724 |
-
msgstr ""
|
1725 |
-
|
1726 |
-
#: src/templates/wp-admin/settings/tab-addons.php:43,
|
1727 |
-
#: src/templates/wp-admin/settings/tab-addons.php:65,
|
1728 |
-
#: src/templates/wp-admin/settings/tab-addons.php:78,
|
1729 |
-
#: src/templates/wp-admin/settings/tab-addons.php:91,
|
1730 |
-
#: src/templates/wp-admin/settings/tab-addons.php:104,
|
1731 |
-
#: src/templates/wp-admin/settings/tab-addons.php:117,
|
1732 |
-
#: src/templates/wp-admin/settings/tab-addons.php:130,
|
1733 |
-
#: src/templates/wp-admin/settings/tab-addons.php:143,
|
1734 |
-
#: src/templates/wp-admin/settings/tab-addons.php:156,
|
1735 |
-
#: src/templates/wp-admin/settings/tab-addons.php:169,
|
1736 |
-
#: src/templates/wp-admin/settings/tab-addons.php:182,
|
1737 |
-
#: src/templates/wp-admin/settings/tab-addons.php:195,
|
1738 |
-
#: src/templates/wp-admin/settings/tab-addons.php:208,
|
1739 |
-
#: src/templates/wp-admin/settings/tab-addons.php:221,
|
1740 |
-
#: src/templates/wp-admin/settings/tab-addons.php:234,
|
1741 |
-
#: src/templates/wp-admin/settings/tab-addons.php:251
|
1742 |
-
msgid "Free"
|
1743 |
-
msgstr "Gratuito"
|
1744 |
-
|
1745 |
-
#: src/admin.php:486
|
1746 |
-
msgid "UpdraftPlus"
|
1747 |
-
msgstr "UpdraftPlus"
|
1748 |
-
|
1749 |
-
#: src/templates/wp-admin/settings/form-contents.php:215
|
1750 |
-
msgid "Recommended: optimize your database with WP-Optimize."
|
1751 |
-
msgstr ""
|
1752 |
-
|
1753 |
-
#: src/templates/wp-admin/notices/bottom-notice.php:31,
|
1754 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:42,
|
1755 |
-
#: src/templates/wp-admin/notices/report-plain.php:33,
|
1756 |
-
#: src/templates/wp-admin/notices/report.php:30
|
1757 |
-
msgid "Read more"
|
1758 |
-
msgstr "Leggi di più"
|
1759 |
-
|
1760 |
-
#: src/includes/updraftplus-notices.php:182
|
1761 |
-
msgid "After you've backed up your database, we recommend you install our WP-Optimize plugin to streamline it for better website performance."
|
1762 |
-
msgstr ""
|
1763 |
-
|
1764 |
-
#: src/addons/morefiles.php:319
|
1765 |
-
msgid "Please choose a file or directory"
|
1766 |
-
msgstr ""
|
1767 |
-
|
1768 |
-
#: src/addons/morefiles.php:312
|
1769 |
-
msgid "Confirm"
|
1770 |
-
msgstr ""
|
1771 |
-
|
1772 |
-
#: src/addons/morefiles.php:307, src/addons/morefiles.php:307
|
1773 |
-
msgid "Go up a directory"
|
1774 |
-
msgstr ""
|
1775 |
-
|
1776 |
-
#: src/addons/morefiles.php:304
|
1777 |
-
msgid "Add directory..."
|
1778 |
-
msgstr ""
|
1779 |
-
|
1780 |
-
#: src/addons/morefiles.php:297, src/addons/morefiles.php:317,
|
1781 |
-
#: src/templates/wp-admin/settings/file-backup-exclude.php:11
|
1782 |
-
msgid "Edit"
|
1783 |
-
msgstr "Modifica"
|
1784 |
-
|
1785 |
-
#: src/addons/morefiles.php:280
|
1786 |
-
msgid "If using it, select a path from the directory tree below and then press confirm selection."
|
1787 |
-
msgstr ""
|
1788 |
-
|
1789 |
-
#: src/addons/s3-enhanced.php:375
|
1790 |
-
msgid "Europe (Frankfurt)"
|
1791 |
-
msgstr ""
|
1792 |
-
|
1793 |
-
#: src/addons/s3-enhanced.php:373
|
1794 |
-
msgid "Europe (London)"
|
1795 |
-
msgstr ""
|
1796 |
-
|
1797 |
-
#: src/addons/s3-enhanced.php:372
|
1798 |
-
msgid "Europe (Ireland)"
|
1799 |
-
msgstr ""
|
1800 |
-
|
1801 |
-
#: src/includes/updraftplus-tour.php:142,
|
1802 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:17
|
1803 |
-
msgid "UpdraftCentral"
|
1804 |
-
msgstr "UpdraftCentral"
|
1805 |
-
|
1806 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:6
|
1807 |
-
msgid "notice image"
|
1808 |
-
msgstr ""
|
1809 |
-
|
1810 |
-
#: src/templates/wp-admin/notices/bottom-notice.php:29,
|
1811 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:40,
|
1812 |
-
#: src/templates/wp-admin/notices/report-plain.php:31,
|
1813 |
-
#: src/templates/wp-admin/notices/report.php:28
|
1814 |
-
msgid "Go there"
|
1815 |
-
msgstr ""
|
1816 |
-
|
1817 |
-
#: src/templates/wp-admin/notices/bottom-notice.php:27,
|
1818 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:38,
|
1819 |
-
#: src/templates/wp-admin/notices/report-plain.php:29,
|
1820 |
-
#: src/templates/wp-admin/notices/report.php:26
|
1821 |
-
msgid "Sign up"
|
1822 |
-
msgstr "Registrazione"
|
1823 |
-
|
1824 |
-
#: src/templates/wp-admin/notices/bottom-notice.php:25,
|
1825 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:36,
|
1826 |
-
#: src/templates/wp-admin/notices/report-plain.php:27,
|
1827 |
-
#: src/templates/wp-admin/notices/report.php:24
|
1828 |
-
msgid "Get Premium"
|
1829 |
-
msgstr "Ottieni Premium"
|
1830 |
-
|
1831 |
-
#: src/templates/wp-admin/notices/bottom-notice.php:23,
|
1832 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:34,
|
1833 |
-
#: src/templates/wp-admin/notices/report-plain.php:25,
|
1834 |
-
#: src/templates/wp-admin/notices/report.php:22
|
1835 |
-
msgid "Review UpdraftPlus"
|
1836 |
-
msgstr "Recensisci UpdraftPlus"
|
1837 |
-
|
1838 |
-
#: src/templates/wp-admin/notices/bottom-notice.php:21,
|
1839 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:32,
|
1840 |
-
#: src/templates/wp-admin/notices/report-plain.php:23,
|
1841 |
-
#: src/templates/wp-admin/notices/report.php:20
|
1842 |
-
msgid "Get UpdraftCentral"
|
1843 |
-
msgstr "Ottieni UpdraftCentral"
|
1844 |
-
|
1845 |
-
#: src/templates/wp-admin/advanced/site-info.php:91
|
1846 |
-
msgid "Apache modules"
|
1847 |
-
msgstr "moduli Apache"
|
1848 |
-
|
1849 |
-
#: src/includes/updraftplus-notices.php:264
|
1850 |
-
msgid "Summer sale - 20% off UpdraftPlus Premium until July 31st"
|
1851 |
-
msgstr "Offerta estiva: -20% di sconto su UpdraftPlus Premium fino al 31 luglio"
|
1852 |
-
|
1853 |
-
#: src/includes/updraftplus-notices.php:251
|
1854 |
-
msgid "Spring sale - 20% off UpdraftPlus Premium until April 30th"
|
1855 |
-
msgstr ""
|
1856 |
-
|
1857 |
-
#: src/includes/updraftplus-notices.php:238
|
1858 |
-
msgid "Happy New Year - 20% off UpdraftPlus Premium until January 14th"
|
1859 |
-
msgstr ""
|
1860 |
-
|
1861 |
-
#: src/includes/updraftplus-notices.php:225
|
1862 |
-
msgid "Christmas sale - 20% off UpdraftPlus Premium until December 25th"
|
1863 |
-
msgstr ""
|
1864 |
-
|
1865 |
-
#: src/includes/updraftplus-notices.php:213,
|
1866 |
-
#: src/includes/updraftplus-notices.php:226,
|
1867 |
-
#: src/includes/updraftplus-notices.php:239,
|
1868 |
-
#: src/includes/updraftplus-notices.php:252,
|
1869 |
-
#: src/includes/updraftplus-notices.php:265
|
1870 |
-
msgid "To benefit, use this discount code:"
|
1871 |
-
msgstr ""
|
1872 |
-
|
1873 |
-
#: src/includes/updraftplus-notices.php:212
|
1874 |
-
msgid "Black Friday - 20% off UpdraftPlus Premium until November 30th"
|
1875 |
-
msgstr ""
|
1876 |
-
|
1877 |
-
#: src/includes/updraftplus-notices.php:172
|
1878 |
-
msgid "UpdraftPlus Premium can automatically backup your plugins/themes/database before you update, without you needing to remember."
|
1879 |
-
msgstr ""
|
1880 |
-
|
1881 |
-
#: src/includes/updraftplus-notices.php:151,
|
1882 |
-
#: src/includes/updraftplus-notices.php:161
|
1883 |
-
msgid "UpdraftPlus Blog - get up-to-date news and offers"
|
1884 |
-
msgstr ""
|
1885 |
-
|
1886 |
-
#: src/includes/updraftplus-notices.php:141
|
1887 |
-
msgid "UpdraftPlus Newsletter"
|
1888 |
-
msgstr "UpdraftPlus Newsletter"
|
1889 |
-
|
1890 |
-
#: src/includes/updraftplus-notices.php:112
|
1891 |
-
msgid "Control all your WordPress installations from one place using UpdraftCentral remote site management!"
|
1892 |
-
msgstr ""
|
1893 |
-
|
1894 |
-
#: src/includes/updraftplus-notices.php:111
|
1895 |
-
msgid "Do you use UpdraftPlus on multiple sites?"
|
1896 |
-
msgstr "Usi UpdraftPlus con più siti?"
|
1897 |
-
|
1898 |
-
#: src/includes/updraftplus-notices.php:92
|
1899 |
-
msgid "UpdraftCentral is a highly efficient way to manage, update and backup multiple websites from one place."
|
1900 |
-
msgstr ""
|
1901 |
-
|
1902 |
-
#: src/includes/updraftplus-notices.php:91
|
1903 |
-
msgid "Introducing UpdraftCentral"
|
1904 |
-
msgstr ""
|
1905 |
-
|
1906 |
-
#: src/includes/updraftplus-notices.php:82
|
1907 |
-
msgid "Copy your site to another domain directly. Includes find-and-replace tool for database references."
|
1908 |
-
msgstr ""
|
1909 |
-
|
1910 |
-
#: src/includes/updraftplus-notices.php:81
|
1911 |
-
msgid "easily migrate or clone your site in minutes"
|
1912 |
-
msgstr ""
|
1913 |
-
|
1914 |
-
#: src/includes/updraftplus-notices.php:72
|
1915 |
-
msgid "Add SFTP to send your data securely, lock settings and encrypt your database backups for extra security."
|
1916 |
-
msgstr ""
|
1917 |
-
|
1918 |
-
#: src/includes/updraftplus-notices.php:71
|
1919 |
-
msgid "secure your backups"
|
1920 |
-
msgstr ""
|
1921 |
-
|
1922 |
-
#: src/includes/updraftplus-notices.php:62
|
1923 |
-
msgid "Secure multisite installation, advanced reporting and much more."
|
1924 |
-
msgstr ""
|
1925 |
-
|
1926 |
-
#: src/includes/updraftplus-notices.php:61
|
1927 |
-
msgid "advanced options"
|
1928 |
-
msgstr "opzioni avanzate"
|
1929 |
-
|
1930 |
-
#: src/includes/updraftplus-notices.php:52
|
1931 |
-
msgid "Enhanced storage options for Dropbox, Google Drive and S3. Plus many more options."
|
1932 |
-
msgstr ""
|
1933 |
-
|
1934 |
-
#: src/includes/updraftplus-notices.php:51
|
1935 |
-
msgid "enhanced remote storage options"
|
1936 |
-
msgstr ""
|
1937 |
-
|
1938 |
-
#: src/includes/updraftplus-notices.php:42
|
1939 |
-
msgid "The ultimately secure and convenient place to store your backups."
|
1940 |
-
msgstr ""
|
1941 |
-
|
1942 |
-
#: src/includes/updraftplus-notices.php:41,
|
1943 |
-
#: src/templates/wp-admin/settings/tab-addons.php:244
|
1944 |
-
msgid "UpdraftVault storage"
|
1945 |
-
msgstr ""
|
1946 |
-
|
1947 |
-
#: src/includes/updraftplus-notices.php:32
|
1948 |
-
msgid "Enjoy professional, fast, and friendly help whenever you need it with Premium."
|
1949 |
-
msgstr ""
|
1950 |
-
|
1951 |
-
#: src/includes/updraftplus-notices.php:30,
|
1952 |
-
#: src/includes/updraftplus-notices.php:40,
|
1953 |
-
#: src/includes/updraftplus-notices.php:50,
|
1954 |
-
#: src/includes/updraftplus-notices.php:60,
|
1955 |
-
#: src/includes/updraftplus-notices.php:70,
|
1956 |
-
#: src/includes/updraftplus-notices.php:80
|
1957 |
-
msgid "UpdraftPlus Premium:"
|
1958 |
-
msgstr "UpdraftPlus Premium:"
|
1959 |
-
|
1960 |
-
#: src/templates/wp-admin/settings/migrator-no-migrator.php:13
|
1961 |
-
msgid "Then, try out our \"Migrator\" add-on which can perform a direct site-to-site migration. After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand."
|
1962 |
-
msgstr ""
|
1963 |
-
|
1964 |
-
#: src/addons/s3-enhanced.php:371
|
1965 |
-
msgid "Canada Central"
|
1966 |
-
msgstr ""
|
1967 |
-
|
1968 |
-
#: src/templates/wp-admin/advanced/tools-menu.php:22
|
1969 |
-
msgid "Site size"
|
1970 |
-
msgstr "Dimensione del sito"
|
1971 |
-
|
1972 |
-
#: src/templates/wp-admin/advanced/tools-menu.php:10,
|
1973 |
-
#: src/templates/wp-admin/settings/tab-addons.php:230,
|
1974 |
-
#: src/templates/wp-admin/settings/tab-addons.php:231
|
1975 |
-
msgid "Lock settings"
|
1976 |
-
msgstr "Blocca impostazioni"
|
1977 |
-
|
1978 |
-
#: src/templates/wp-admin/advanced/site-info.php:5,
|
1979 |
-
#: src/templates/wp-admin/advanced/tools-menu.php:6
|
1980 |
-
msgid "Site information"
|
1981 |
-
msgstr "Informazione del sito"
|
1982 |
-
|
1983 |
-
#: src/templates/wp-admin/advanced/search-replace.php:9
|
1984 |
-
msgid "For the ability to migrate websites, upgrade to UpdraftPlus Premium."
|
1985 |
-
msgstr "Per avere l'abilità di migrare i siti web, passa a UpdraftPlus Premium."
|
1986 |
-
|
1987 |
-
#: src/templates/wp-admin/advanced/export-settings.php:15
|
1988 |
-
msgid "Import settings"
|
1989 |
-
msgstr "Importa configurazione"
|
1990 |
-
|
1991 |
-
#: src/templates/wp-admin/advanced/export-settings.php:12
|
1992 |
-
msgid "You can also import previously-exported settings. This tool will replace all your saved settings."
|
1993 |
-
msgstr "Puoi anche importare la configurazione precedentemente-esportata. Questo strumento sostituirà tutte le tue configurazioni salvate."
|
1994 |
-
|
1995 |
-
#: src/templates/wp-admin/advanced/export-settings.php:9
|
1996 |
-
msgid "Export settings"
|
1997 |
-
msgstr "Esporta configurazione"
|
1998 |
-
|
1999 |
-
#: src/templates/wp-admin/advanced/export-settings.php:7
|
2000 |
-
msgid "including any passwords"
|
2001 |
-
msgstr "inclusa ogni password"
|
2002 |
-
|
2003 |
-
#: src/templates/wp-admin/advanced/export-settings.php:7
|
2004 |
-
msgid "Here, you can export your UpdraftPlus settings (%s), either for using on another site, or to keep as a backup. This tool will export what is currently in the settings tab."
|
2005 |
-
msgstr ""
|
2006 |
-
|
2007 |
-
#: src/templates/wp-admin/advanced/export-settings.php:5,
|
2008 |
-
#: src/templates/wp-admin/advanced/tools-menu.php:26
|
2009 |
-
msgid "Export / import settings"
|
2010 |
-
msgstr ""
|
2011 |
-
|
2012 |
-
#: src/restorer.php:2450
|
2013 |
-
msgid "Processing table (%s)"
|
2014 |
-
msgstr "Processando tabella (%s)"
|
2015 |
-
|
2016 |
-
#: src/restorer.php:2185
|
2017 |
-
msgid "Backup of: %s"
|
2018 |
-
msgstr "Backup al: %s"
|
2019 |
-
|
2020 |
-
#: src/methods/googledrive.php:278
|
2021 |
-
msgid "The client has been deleted from the Google Drive API console. Please create a new Google Drive project and reconnect with UpdraftPlus."
|
2022 |
-
msgstr "Il client è stato cancellato dalla console API di Google Drive. Crea un nuovo progetto di Google Drive e riconnettilo con UpraftPlus."
|
2023 |
-
|
2024 |
-
#: src/methods/dropbox.php:790
|
2025 |
-
msgid "%s de-authentication"
|
2026 |
-
msgstr "%s de-autenticazione"
|
2027 |
-
|
2028 |
-
#: src/methods/dropbox.php:636
|
2029 |
-
msgid "You must add the following as the authorised redirect URI in your Dropbox console (under \"API Settings\") when asked"
|
2030 |
-
msgstr "Devi aggiungere il seguente come l'URI di redirect autorizzata nella tua console di Dropbox (sotto la voce \"API Settings\") quando richiesto"
|
2031 |
-
|
2032 |
-
#: src/central/bootstrap.php:597
|
2033 |
-
msgid "UpdraftCentral enables control of your WordPress sites (including management of backups and updates) from a central dashboard."
|
2034 |
-
msgstr "UpdraftCentral abilita il controllo dei tuoi siti WordPress (inclusa anche la gestione dei backup e degli aggiornamenti) da una dashboard centrale."
|
2035 |
-
|
2036 |
-
#: src/backup.php:1740
|
2037 |
-
msgid "If not, you will need to either remove data from this table, or contact your hosting company to request more resources."
|
2038 |
-
msgstr ""
|
2039 |
-
|
2040 |
-
#: src/templates/wp-admin/settings/take-backup.php:77
|
2041 |
-
msgid "You have selected a remote storage option which has an authorization step to complete:"
|
2042 |
-
msgstr ""
|
2043 |
-
|
2044 |
-
#: src/admin.php:1864
|
2045 |
-
msgid "Remote files deleted:"
|
2046 |
-
msgstr ""
|
2047 |
-
|
2048 |
-
#: src/admin.php:1863
|
2049 |
-
msgid "Local files deleted:"
|
2050 |
-
msgstr ""
|
2051 |
-
|
2052 |
-
#: src/methods/backup-module.php:549
|
2053 |
-
msgid "Follow this link to authorize access to your %s account (you will not be able to backup to %s without it)."
|
2054 |
-
msgstr ""
|
2055 |
-
|
2056 |
-
#: src/admin.php:908
|
2057 |
-
msgid "remote files deleted"
|
2058 |
-
msgstr "file remoti cancellati"
|
2059 |
-
|
2060 |
-
#: src/admin.php:904
|
2061 |
-
msgid "Complete"
|
2062 |
-
msgstr "Completato"
|
2063 |
-
|
2064 |
-
#: src/admin.php:903
|
2065 |
-
msgid "Do you want to carry out the import?"
|
2066 |
-
msgstr "Vuoi effettuare l'importazione?"
|
2067 |
-
|
2068 |
-
#: src/admin.php:902
|
2069 |
-
msgid "Which was exported on:"
|
2070 |
-
msgstr "Che è stato esportato su:"
|
2071 |
-
|
2072 |
-
#: src/admin.php:901
|
2073 |
-
msgid "This will import data from:"
|
2074 |
-
msgstr "I tuoi dati saranno importati da:"
|
2075 |
-
|
2076 |
-
#: src/admin.php:900
|
2077 |
-
msgid "Importing..."
|
2078 |
-
msgstr ""
|
2079 |
-
|
2080 |
-
#: src/admin.php:896
|
2081 |
-
msgid "You have not yet selected a file to import."
|
2082 |
-
msgstr "Non hai ancora selezionato un file da importare."
|
2083 |
-
|
2084 |
-
#: src/admin.php:880
|
2085 |
-
msgid "Your export file will be of your displayed settings, not your saved ones."
|
2086 |
-
msgstr ""
|
2087 |
-
|
2088 |
-
#: src/admin.php:91
|
2089 |
-
msgid "template not found"
|
2090 |
-
msgstr "template non trovato"
|
2091 |
-
|
2092 |
-
#: src/addons/s3-enhanced.php:367
|
2093 |
-
msgid "US East (Ohio)"
|
2094 |
-
msgstr ""
|
2095 |
-
|
2096 |
-
#: src/addons/onedrive.php:1125
|
2097 |
-
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."
|
2098 |
-
msgstr ""
|
2099 |
-
|
2100 |
-
#: src/addons/onedrive.php:733
|
2101 |
-
msgid "Account is not authorized (%s)."
|
2102 |
-
msgstr ""
|
2103 |
-
|
2104 |
-
#: src/addons/onedrive.php:693, src/udaddons/updraftplus-addons.php:947
|
2105 |
-
msgid "Your IP address:"
|
2106 |
-
msgstr ""
|
2107 |
-
|
2108 |
-
#: src/addons/onedrive.php:693, src/udaddons/updraftplus-addons.php:947,
|
2109 |
-
#: src/udaddons/updraftplus-addons.php:961
|
2110 |
-
msgid "To remove any block, please go here."
|
2111 |
-
msgstr ""
|
2112 |
-
|
2113 |
-
#: src/addons/onedrive.php:678, src/udaddons/updraftplus-addons.php:932
|
2114 |
-
msgid "An error response was received; HTTP code:"
|
2115 |
-
msgstr ""
|
2116 |
-
|
2117 |
-
#: src/includes/class-commands.php:401
|
2118 |
-
msgid "%s add-on not found"
|
2119 |
-
msgstr "%s add-on non trovato"
|
2120 |
-
|
2121 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:54
|
2122 |
-
msgid "or to restore manually"
|
2123 |
-
msgstr "o ripristina manualmente"
|
2124 |
-
|
2125 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:54
|
2126 |
-
msgid "This makes time-outs much more likely. You are recommended to turn safe_mode off, or to restore only one entity at a time"
|
2127 |
-
msgstr ""
|
2128 |
-
|
2129 |
-
#: src/admin.php:2609
|
2130 |
-
msgid "To fix this problem go here."
|
2131 |
-
msgstr "Per risolvere questo problema vai qui."
|
2132 |
-
|
2133 |
-
#: src/admin.php:2609
|
2134 |
-
msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work."
|
2135 |
-
msgstr ""
|
2136 |
-
|
2137 |
-
#: src/admin.php:864
|
2138 |
-
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."
|
2139 |
-
msgstr ""
|
2140 |
-
|
2141 |
-
#: src/addons/webdav.php:216
|
2142 |
-
msgid "Path"
|
2143 |
-
msgstr ""
|
2144 |
-
|
2145 |
-
#: src/addons/webdav.php:211
|
2146 |
-
msgid "Leave this blank to use the default (80 for webdav, 443 for webdavs)"
|
2147 |
-
msgstr ""
|
2148 |
-
|
2149 |
-
#: src/addons/webdav.php:203
|
2150 |
-
msgid "Enter any path in the field below."
|
2151 |
-
msgstr ""
|
2152 |
-
|
2153 |
-
#: src/addons/webdav.php:203
|
2154 |
-
msgid "A host name cannot contain a slash."
|
2155 |
-
msgstr ""
|
2156 |
-
|
2157 |
-
#: src/addons/webdav.php:178
|
2158 |
-
msgid "Protocol (SSL or not)"
|
2159 |
-
msgstr ""
|
2160 |
-
|
2161 |
-
#: src/addons/webdav.php:173
|
2162 |
-
msgid "This WebDAV URL is generated by filling in the options below. If you do not know the details, then you will need to ask your WebDAV provider."
|
2163 |
-
msgstr ""
|
2164 |
-
|
2165 |
-
#: src/udaddons/updraftplus-addons.php:964
|
2166 |
-
msgid "No response data was received. This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com."
|
2167 |
-
msgstr ""
|
2168 |
-
|
2169 |
-
#: src/methods/s3.php:1144
|
2170 |
-
msgid "The AWS access key looks to be wrong (valid %s access keys begin with \"AK\")"
|
2171 |
-
msgstr ""
|
2172 |
-
|
2173 |
-
#: src/methods/s3.php:128
|
2174 |
-
msgid "No settings were found - please go to the Settings tab and check your settings"
|
2175 |
-
msgstr ""
|
2176 |
-
|
2177 |
-
#: src/templates/wp-admin/settings/form-contents.php:114
|
2178 |
-
msgid "Backup using %s?"
|
2179 |
-
msgstr "Effettua il backup usando %s?"
|
2180 |
-
|
2181 |
-
#: src/addons/s3-enhanced.php:379
|
2182 |
-
msgid "Asia Pacific (Mumbai)"
|
2183 |
-
msgstr ""
|
2184 |
-
|
2185 |
-
#: src/addons/s3-enhanced.php:67
|
2186 |
-
msgid "Standard (infrequent access)"
|
2187 |
-
msgstr ""
|
2188 |
-
|
2189 |
-
#: src/templates/wp-admin/settings/header.php:26
|
2190 |
-
msgid "FAQs"
|
2191 |
-
msgstr "Domande frequenti"
|
2192 |
-
|
2193 |
-
#: src/central/bootstrap.php:554
|
2194 |
-
msgid "More information..."
|
2195 |
-
msgstr "Più informazioni..."
|
2196 |
-
|
2197 |
-
#: src/central/bootstrap.php:553
|
2198 |
-
msgid "Use the alternative method for making a connection with the dashboard."
|
2199 |
-
msgstr "Usa un metodo alternativo per effettuare una connessione con la dashboard."
|
2200 |
-
|
2201 |
-
#: src/central/bootstrap.php:458
|
2202 |
-
msgid "Key size: %d bits"
|
2203 |
-
msgstr "Dimensione della chiave: %d bit"
|
2204 |
-
|
2205 |
-
#: src/central/bootstrap.php:453
|
2206 |
-
msgid "Public key was sent to:"
|
2207 |
-
msgstr "La chiave pubblica è stata mandata a:"
|
2208 |
-
|
2209 |
-
#: src/backup.php:2353
|
2210 |
-
msgid "Failed to open directory (check the file permissions and ownership): %s"
|
2211 |
-
msgstr "Apertura della directory fallita (controlla i permessi e la propietà del file): %s"
|
2212 |
-
|
2213 |
-
#: src/backup.php:2331
|
2214 |
-
msgid "%s: unreadable file - could not be backed up (check the file permissions and ownership)"
|
2215 |
-
msgstr "%s: file non leggibile - impossibile eseguire il backup del file (controllare i permessi e la propietà del file)"
|
2216 |
-
|
2217 |
-
#: src/addons/migrator.php:1768
|
2218 |
-
msgid "Create key"
|
2219 |
-
msgstr ""
|
2220 |
-
|
2221 |
-
#: src/addons/migrator.php:1765, src/central/bootstrap.php:547
|
2222 |
-
msgid "slower, strongest"
|
2223 |
-
msgstr "il più lento, il più forte"
|
2224 |
-
|
2225 |
-
#: src/addons/migrator.php:1764, src/central/bootstrap.php:546
|
2226 |
-
msgid "recommended"
|
2227 |
-
msgstr "raccomandato"
|
2228 |
-
|
2229 |
-
#: src/addons/migrator.php:1764, src/central/bootstrap.php:546
|
2230 |
-
msgid "%s bytes"
|
2231 |
-
msgstr "%s byte"
|
2232 |
-
|
2233 |
-
#: src/addons/migrator.php:1763, src/central/bootstrap.php:545
|
2234 |
-
msgid "faster (possibility for slow PHP installs)"
|
2235 |
-
msgstr "il più veloce (nel caso di installazioni PHP lente)"
|
2236 |
-
|
2237 |
-
#: src/addons/migrator.php:1762, src/central/bootstrap.php:544
|
2238 |
-
msgid "easy to break, fastest"
|
2239 |
-
msgstr "facile da rompere, il più veloce"
|
2240 |
-
|
2241 |
-
#: src/addons/migrator.php:1762, src/addons/migrator.php:1763,
|
2242 |
-
#: src/addons/migrator.php:1765, src/central/bootstrap.php:544,
|
2243 |
-
#: src/central/bootstrap.php:545, src/central/bootstrap.php:547
|
2244 |
-
msgid "%s bits"
|
2245 |
-
msgstr "%s bit"
|
2246 |
-
|
2247 |
-
#: src/addons/migrator.php:1760, src/central/bootstrap.php:542
|
2248 |
-
msgid "Encryption key size:"
|
2249 |
-
msgstr "Dimensione della chiave crittografica:"
|
2250 |
-
|
2251 |
-
#: src/addons/migrator.php:1758
|
2252 |
-
msgid "Enter your chosen name"
|
2253 |
-
msgstr ""
|
2254 |
-
|
2255 |
-
#: src/addons/migrator.php:1757
|
2256 |
-
msgid "Create a key: give this key a unique name (e.g. indicate the site it is for), then press \"Create key\":"
|
2257 |
-
msgstr ""
|
2258 |
-
|
2259 |
-
#: src/methods/googledrive.php:538
|
2260 |
-
msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)"
|
2261 |
-
msgstr "Previsto il fallimento dell'upload: il limite di %s per ogni singolo file è di %s, mentre questo file è di %s Gb (%d byte)"
|
2262 |
-
|
2263 |
-
#: src/methods/ftp.php:440
|
2264 |
-
msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again."
|
2265 |
-
msgstr "Questo è causato qualche volta da un firewall - prova a togliere l'SSL nelle impostazioni per esperti, e riprova a testare."
|
2266 |
-
|
2267 |
-
#: src/methods/ftp.php:412
|
2268 |
-
msgid "login"
|
2269 |
-
msgstr "login"
|
2270 |
-
|
2271 |
-
#: src/addons/reporting.php:527, src/addons/reporting.php:527,
|
2272 |
-
#: src/addons/reporting.php:529, src/methods/email.php:100
|
2273 |
-
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive."
|
2274 |
-
msgstr ""
|
2275 |
-
|
2276 |
-
#: src/methods/email.php:30
|
2277 |
-
msgid "This backup archive is %s MB in size - the attempt to send this via email is likely to fail (few email servers allow attachments of this size). If so, you should switch to using a different remote storage method."
|
2278 |
-
msgstr ""
|
2279 |
-
|
2280 |
-
#: src/class-updraftplus.php:1739
|
2281 |
-
msgid "Size: %s MB"
|
2282 |
-
msgstr "Dimensione: %s MB"
|
2283 |
-
|
2284 |
-
#: src/templates/wp-admin/settings/form-contents.php:309
|
2285 |
-
msgid "UpdraftPlus will split up backup archives when they exceed this file size. The default value is %s megabytes. Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)."
|
2286 |
-
msgstr "UpdraftPlus dividerà gli archivi di backup quando il file oltrepassa questa dimensione. Il valore predefinito è %s megabyte. Fate attenzione a lasciare un certo margine se il vostro web-server ha un limite di dimensione del disco (ad esempio, il limite di 2 Gb / 2048 Mb o file system a 32-bit su alcuni server)."
|
2287 |
-
|
2288 |
-
#: src/class-updraftplus.php:3953, src/restorer.php:1446
|
2289 |
-
msgid "You should enable %s to make any pretty permalinks (e.g. %s) work"
|
2290 |
-
msgstr ""
|
2291 |
-
|
2292 |
-
#: src/templates/wp-admin/settings/form-contents.php:103
|
2293 |
-
msgid "(tap on an icon to select or unselect)"
|
2294 |
-
msgstr ""
|
2295 |
-
|
2296 |
-
#: src/methods/updraftvault.php:333, src/methods/updraftvault.php:339,
|
2297 |
-
#: src/methods/updraftvault.php:345
|
2298 |
-
msgid "%s per year"
|
2299 |
-
msgstr "%s all'anno"
|
2300 |
-
|
2301 |
-
#: src/methods/updraftvault.php:332, src/methods/updraftvault.php:338,
|
2302 |
-
#: src/methods/updraftvault.php:344
|
2303 |
-
msgid "or (annual discount)"
|
2304 |
-
msgstr "o (sconto annuale)"
|
2305 |
-
|
2306 |
-
#: src/methods/updraftvault.php:261
|
2307 |
-
msgid "No Vault connection was found for this site (has it moved?); please disconnect and re-connect."
|
2308 |
-
msgstr ""
|
2309 |
-
|
2310 |
-
#: src/class-updraftplus.php:584, src/class-updraftplus.php:629
|
2311 |
-
msgid "The given file was not found, or could not be read."
|
2312 |
-
msgstr ""
|
2313 |
-
|
2314 |
-
#: src/central/bootstrap.php:595
|
2315 |
-
msgid "UpdraftCentral (Remote Control)"
|
2316 |
-
msgstr "UpdraftCentral (Controllo Remoto)"
|
2317 |
-
|
2318 |
-
#: src/central/bootstrap.php:584
|
2319 |
-
msgid "View recent UpdraftCentral log events"
|
2320 |
-
msgstr "Visualizza il log degli eventi UpdraftCentral più recenti"
|
2321 |
-
|
2322 |
-
#: src/central/bootstrap.php:536
|
2323 |
-
msgid "Enter any description"
|
2324 |
-
msgstr "Inserisci qualsiasi sescrizione"
|
2325 |
-
|
2326 |
-
#: src/central/bootstrap.php:535
|
2327 |
-
msgid "Description"
|
2328 |
-
msgstr "Descizione"
|
2329 |
-
|
2330 |
-
#: src/central/bootstrap.php:463
|
2331 |
-
msgid "Delete..."
|
2332 |
-
msgstr "Cancella..."
|
2333 |
-
|
2334 |
-
#: src/central/bootstrap.php:456
|
2335 |
-
msgid "Created:"
|
2336 |
-
msgstr "Creato:"
|
2337 |
-
|
2338 |
-
#: src/central/bootstrap.php:453
|
2339 |
-
msgid "Access this site as user:"
|
2340 |
-
msgstr "Accedi a questo sito come utente:"
|
2341 |
-
|
2342 |
-
#: src/central/bootstrap.php:477
|
2343 |
-
msgid "Details"
|
2344 |
-
msgstr "Dettagli"
|
2345 |
-
|
2346 |
-
#: src/central/bootstrap.php:476
|
2347 |
-
msgid "Key description"
|
2348 |
-
msgstr "Descrizione della chiave"
|
2349 |
-
|
2350 |
-
#: src/central/bootstrap.php:349, src/central/bootstrap.php:360
|
2351 |
-
msgid "A key was created, but the attempt to register it with %s was unsuccessful - please try again later."
|
2352 |
-
msgstr ""
|
2353 |
-
|
2354 |
-
#: src/central/bootstrap.php:219
|
2355 |
-
msgid "An invalid URL was entered"
|
2356 |
-
msgstr "E' stato inserito un URL non valido"
|
2357 |
-
|
2358 |
-
#: src/central/bootstrap.php:83
|
2359 |
-
msgid "Close..."
|
2360 |
-
msgstr "Chiudi..."
|
2361 |
-
|
2362 |
-
#: src/central/bootstrap.php:75
|
2363 |
-
msgid "This connection appears to already have been made."
|
2364 |
-
msgstr "Questa connessione sembra essere già stata fatta."
|
2365 |
-
|
2366 |
-
#: src/central/bootstrap.php:72
|
2367 |
-
msgid "You must visit this link in the same browser and login session as you created the key in."
|
2368 |
-
msgstr ""
|
2369 |
-
|
2370 |
-
#: src/central/bootstrap.php:68
|
2371 |
-
msgid "You must visit this URL in the same browser and login session as you created the key in."
|
2372 |
-
msgstr ""
|
2373 |
-
|
2374 |
-
#: src/central/bootstrap.php:68
|
2375 |
-
msgid "You are not logged into this WordPress site in your web browser."
|
2376 |
-
msgstr "Non sei loggato in questo sito WordPress nel tuo browser web."
|
2377 |
-
|
2378 |
-
#: src/central/bootstrap.php:65
|
2379 |
-
msgid "The key referred to was unknown."
|
2380 |
-
msgstr "La chiave a cui si fa riferimento è sconosciuta."
|
2381 |
-
|
2382 |
-
#: src/central/bootstrap.php:62
|
2383 |
-
msgid "A new UpdraftCentral connection has not been made."
|
2384 |
-
msgstr ""
|
2385 |
-
|
2386 |
-
#: src/central/bootstrap.php:60
|
2387 |
-
msgid "An UpdraftCentral connection has been made successfully."
|
2388 |
-
msgstr ""
|
2389 |
-
|
2390 |
-
#: src/central/bootstrap.php:57
|
2391 |
-
msgid "UpdraftCentral Connection"
|
2392 |
-
msgstr ""
|
2393 |
-
|
2394 |
-
#: src/backup.php:1042, src/class-updraftplus.php:2973
|
2395 |
-
msgid "The backup was aborted by the user"
|
2396 |
-
msgstr "Il backup è stato interrotto dall'utente"
|
2397 |
-
|
2398 |
-
#: src/admin.php:4929
|
2399 |
-
msgid "Your settings have been saved."
|
2400 |
-
msgstr "Le impostazioni sono state salvate correttamente"
|
2401 |
-
|
2402 |
-
#: src/admin.php:4009
|
2403 |
-
msgid "Total backup size:"
|
2404 |
-
msgstr "Dimensione totale backup:"
|
2405 |
-
|
2406 |
-
#: src/admin.php:3416
|
2407 |
-
msgid "stop"
|
2408 |
-
msgstr "stop"
|
2409 |
-
|
2410 |
-
#: src/admin.php:905, src/admin.php:3209
|
2411 |
-
msgid "The backup has finished running"
|
2412 |
-
msgstr "Il backup ha finito"
|
2413 |
-
|
2414 |
-
#: src/templates/wp-admin/advanced/tools-menu.php:30,
|
2415 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:5,
|
2416 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:9
|
2417 |
-
msgid "Wipe settings"
|
2418 |
-
msgstr "Pulisci le impostazioni"
|
2419 |
-
|
2420 |
-
#: src/templates/wp-admin/advanced/site-info.php:102
|
2421 |
-
msgid "reset"
|
2422 |
-
msgstr "reimposta"
|
2423 |
-
|
2424 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:14
|
2425 |
-
msgid "these backup sets"
|
2426 |
-
msgstr ""
|
2427 |
-
|
2428 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:11
|
2429 |
-
msgid "this backup set"
|
2430 |
-
msgstr ""
|
2431 |
-
|
2432 |
-
#: src/includes/class-filesystem-functions.php:72
|
2433 |
-
msgid "calculate"
|
2434 |
-
msgstr "calcola"
|
2435 |
-
|
2436 |
-
#: src/admin.php:879
|
2437 |
-
msgid "You should save your changes to ensure that they are used for making your backup."
|
2438 |
-
msgstr ""
|
2439 |
-
|
2440 |
-
#: src/admin.php:872
|
2441 |
-
msgid "We requested to delete the file, but could not understand the server's response"
|
2442 |
-
msgstr ""
|
2443 |
-
|
2444 |
-
#: src/admin.php:871
|
2445 |
-
msgid "Please enter a valid URL"
|
2446 |
-
msgstr "Inserisci una URL valida"
|
2447 |
-
|
2448 |
-
#: src/admin.php:854
|
2449 |
-
msgid "Saving..."
|
2450 |
-
msgstr "Salvataggio in corso..."
|
2451 |
-
|
2452 |
-
#: src/admin.php:815
|
2453 |
-
msgid "Error: the server sent us a response which we did not understand."
|
2454 |
-
msgstr "Errore: il server ha inviato una risposta che non riusciamo a capire."
|
2455 |
-
|
2456 |
-
#: src/admin.php:807
|
2457 |
-
msgid "Fetching..."
|
2458 |
-
msgstr ""
|
2459 |
-
|
2460 |
-
#: src/addons/s3-enhanced.php:376
|
2461 |
-
msgid "Asia Pacific (Seoul)"
|
2462 |
-
msgstr ""
|
2463 |
-
|
2464 |
-
#: src/restorer.php:2208
|
2465 |
-
msgid "Uploads URL:"
|
2466 |
-
msgstr "URL degli upload:"
|
2467 |
-
|
2468 |
-
#: src/addons/onedrive.php:63
|
2469 |
-
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it."
|
2470 |
-
msgstr ""
|
2471 |
-
|
2472 |
-
#: src/class-updraftplus.php:4005, src/restorer.php:2227
|
2473 |
-
msgid "To import an ordinary WordPress site into a multisite installation requires %s."
|
2474 |
-
msgstr ""
|
2475 |
-
|
2476 |
-
#: src/class-updraftplus.php:4001
|
2477 |
-
msgid "Please read this link for important information on this process."
|
2478 |
-
msgstr ""
|
2479 |
-
|
2480 |
-
#: src/class-updraftplus.php:4001
|
2481 |
-
msgid "It will be imported as a new site."
|
2482 |
-
msgstr "Sarà importato come un nuovo sito."
|
2483 |
-
|
2484 |
-
#: src/admin.php:2842, src/templates/wp-admin/notices/horizontal-notice.php:16,
|
2485 |
-
#: src/templates/wp-admin/notices/horizontal-notice.php:18
|
2486 |
-
msgid "Dismiss"
|
2487 |
-
msgstr "Ignora"
|
2488 |
-
|
2489 |
-
#: src/admin.php:891
|
2490 |
-
msgid "Please fill in the required information."
|
2491 |
-
msgstr ""
|
2492 |
-
|
2493 |
-
#: src/addons/multisite.php:619
|
2494 |
-
msgid "Read more..."
|
2495 |
-
msgstr ""
|
2496 |
-
|
2497 |
-
#: src/addons/multisite.php:610
|
2498 |
-
msgid "may include some site-wide data"
|
2499 |
-
msgstr ""
|
2500 |
-
|
2501 |
-
#: src/addons/multisite.php:605
|
2502 |
-
msgid "All sites"
|
2503 |
-
msgstr ""
|
2504 |
-
|
2505 |
-
#: src/addons/multisite.php:601
|
2506 |
-
msgid "Which site to restore"
|
2507 |
-
msgstr ""
|
2508 |
-
|
2509 |
-
#: src/addons/migrator.php:631, src/addons/migrator.php:632
|
2510 |
-
msgid "Error when creating new site at your chosen address:"
|
2511 |
-
msgstr ""
|
2512 |
-
|
2513 |
-
#: src/addons/migrator.php:573
|
2514 |
-
msgid "Required information for restoring this backup was not given (%s)"
|
2515 |
-
msgstr ""
|
2516 |
-
|
2517 |
-
#: src/addons/migrator.php:525
|
2518 |
-
msgid "Attribute imported content to user"
|
2519 |
-
msgstr ""
|
2520 |
-
|
2521 |
-
#: src/addons/migrator.php:515, src/addons/migrator.php:517
|
2522 |
-
msgid "You must use lower-case letters or numbers for the site path, only."
|
2523 |
-
msgstr ""
|
2524 |
-
|
2525 |
-
#: src/addons/migrator.php:503
|
2526 |
-
msgid "This feature is not compatible with %s"
|
2527 |
-
msgstr ""
|
2528 |
-
|
2529 |
-
#: src/addons/migrator.php:501, src/addons/migrator.php:503
|
2530 |
-
msgid "Importing a single site into a multisite install"
|
2531 |
-
msgstr ""
|
2532 |
-
|
2533 |
-
#: src/addons/migrator.php:493
|
2534 |
-
msgid "other content from wp-content"
|
2535 |
-
msgstr ""
|
2536 |
-
|
2537 |
-
#: src/addons/migrator.php:490
|
2538 |
-
msgid "WordPress core"
|
2539 |
-
msgstr ""
|
2540 |
-
|
2541 |
-
#: src/addons/migrator.php:490, src/addons/migrator.php:493,
|
2542 |
-
#: src/addons/migrator.php:496
|
2543 |
-
msgid "You selected %s to be included in the restoration - this cannot / should not be done when importing a single site into a network."
|
2544 |
-
msgstr ""
|
2545 |
-
|
2546 |
-
#: src/templates/wp-admin/advanced/site-info.php:100
|
2547 |
-
msgid "Call WordPress action:"
|
2548 |
-
msgstr "Chiama un'azione di WordPress:"
|
2549 |
-
|
2550 |
-
#: src/admin.php:3032
|
2551 |
-
msgid "Your saved settings also affect what is backed up - e.g. files excluded."
|
2552 |
-
msgstr ""
|
2553 |
-
|
2554 |
-
#: src/restorer.php:211
|
2555 |
-
msgid "Skipping: this archive was already restored."
|
2556 |
-
msgstr ""
|
2557 |
-
|
2558 |
-
#: src/templates/wp-admin/settings/form-contents.php:140
|
2559 |
-
msgid "File Options"
|
2560 |
-
msgstr "Opzioni del file"
|
2561 |
-
|
2562 |
-
#: src/templates/wp-admin/settings/form-contents.php:93
|
2563 |
-
msgid "Sending Your Backup To Remote Storage"
|
2564 |
-
msgstr "Invio del tuo backup all'Archiviazione Remota"
|
2565 |
-
|
2566 |
-
#: src/templates/wp-admin/settings/form-contents.php:58
|
2567 |
-
msgid "Database backup schedule"
|
2568 |
-
msgstr "Programmazione del backup del database"
|
2569 |
-
|
2570 |
-
#: src/templates/wp-admin/settings/form-contents.php:22
|
2571 |
-
msgid "Files backup schedule"
|
2572 |
-
msgstr "Programmazione del backup dei file"
|
2573 |
-
|
2574 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:6
|
2575 |
-
msgid "You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish."
|
2576 |
-
msgstr ""
|
2577 |
-
|
2578 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:6
|
2579 |
-
msgid "This button will delete all UpdraftPlus settings and progress information for in-progress backups (but not any of your existing backups from your cloud storage)."
|
2580 |
-
msgstr ""
|
2581 |
-
|
2582 |
-
#: src/admin.php:4803
|
2583 |
-
msgid "Send this backup to remote storage"
|
2584 |
-
msgstr "Invia questo backup a un archivio remoto"
|
2585 |
-
|
2586 |
-
#: src/admin.php:4801
|
2587 |
-
msgid "Check out UpdraftPlus Vault."
|
2588 |
-
msgstr ""
|
2589 |
-
|
2590 |
-
#: src/admin.php:4801
|
2591 |
-
msgid "Not got any remote storage?"
|
2592 |
-
msgstr ""
|
2593 |
-
|
2594 |
-
#: src/admin.php:4801
|
2595 |
-
msgid "settings"
|
2596 |
-
msgstr "impostazioni"
|
2597 |
-
|
2598 |
-
#: src/admin.php:4801
|
2599 |
-
msgid "Backup won't be sent to any remote storage - none has been saved in the %s"
|
2600 |
-
msgstr ""
|
2601 |
-
|
2602 |
-
#: src/admin.php:3030
|
2603 |
-
msgid "Include any files in the backup"
|
2604 |
-
msgstr ""
|
2605 |
-
|
2606 |
-
#: src/admin.php:3014
|
2607 |
-
msgid "Include the database in the backup"
|
2608 |
-
msgstr "Includi il database nel backup"
|
2609 |
-
|
2610 |
-
#: src/admin.php:2841
|
2611 |
-
msgid "Continue restoration"
|
2612 |
-
msgstr "Continua il ripristino"
|
2613 |
-
|
2614 |
-
#: src/admin.php:2836
|
2615 |
-
msgid "You have an unfinished restoration operation, begun %s ago."
|
2616 |
-
msgstr ""
|
2617 |
-
|
2618 |
-
#: src/admin.php:2835
|
2619 |
-
msgid "Unfinished restoration"
|
2620 |
-
msgstr "Ripristino non completato"
|
2621 |
-
|
2622 |
-
#: src/admin.php:2833
|
2623 |
-
msgid "%s minutes, %s seconds"
|
2624 |
-
msgstr "%s minuti, %s secondi"
|
2625 |
-
|
2626 |
-
#: src/admin.php:2699
|
2627 |
-
msgid "Backup Contents And Schedule"
|
2628 |
-
msgstr ""
|
2629 |
-
|
2630 |
-
#: src/admin.php:2802
|
2631 |
-
msgid "Premium / Extensions"
|
2632 |
-
msgstr "Estensioni / Premium"
|
2633 |
-
|
2634 |
-
#: src/admin.php:2476, src/admin.php:2485
|
2635 |
-
msgid "Sufficient information about the in-progress restoration operation could not be found."
|
2636 |
-
msgstr ""
|
2637 |
-
|
2638 |
-
#: src/addons/morefiles.php:71, src/admin.php:877
|
2639 |
-
msgctxt "(verb)"
|
2640 |
-
msgid "Download"
|
2641 |
-
msgstr "Effettua il download"
|
2642 |
-
|
2643 |
-
#: src/admin.php:800
|
2644 |
-
msgid "You have chosen to backup files, but no file entities have been selected"
|
2645 |
-
msgstr ""
|
2646 |
-
|
2647 |
-
#: src/admin.php:695
|
2648 |
-
msgid "Extensions"
|
2649 |
-
msgstr "Estensioni"
|
2650 |
-
|
2651 |
-
#: src/admin.php:687, src/admin.php:2801
|
2652 |
-
msgid "Advanced Tools"
|
2653 |
-
msgstr "Strumenti avanzati"
|
2654 |
-
|
2655 |
-
#: src/addons/googlecloud.php:1055
|
2656 |
-
msgid "Bucket location"
|
2657 |
-
msgstr ""
|
2658 |
-
|
2659 |
-
#: src/addons/googlecloud.php:1050
|
2660 |
-
msgid "Note that Google do not support every storage class in every location - you should read their documentation to learn about current availability."
|
2661 |
-
msgstr ""
|
2662 |
-
|
2663 |
-
#: src/addons/googlecloud.php:1050, src/addons/googlecloud.php:1063
|
2664 |
-
msgid "This setting applies only when a new bucket is being created."
|
2665 |
-
msgstr ""
|
2666 |
-
|
2667 |
-
#: src/addons/googlecloud.php:1039
|
2668 |
-
msgid "You must use a bucket name that is unique, for all %s users."
|
2669 |
-
msgstr ""
|
2670 |
-
|
2671 |
-
#: src/addons/googlecloud.php:985
|
2672 |
-
msgid "Do not confuse %s with %s - they are separate things."
|
2673 |
-
msgstr ""
|
2674 |
-
|
2675 |
-
#: src/addons/googlecloud.php:312
|
2676 |
-
msgid "You do not have access to this bucket"
|
2677 |
-
msgstr ""
|
2678 |
-
|
2679 |
-
#: src/addons/googlecloud.php:55, src/addons/googlecloud.php:56,
|
2680 |
-
#: src/addons/googlecloud.php:57
|
2681 |
-
msgid "Western Europe"
|
2682 |
-
msgstr ""
|
2683 |
-
|
2684 |
-
#: src/addons/googlecloud.php:51
|
2685 |
-
msgid "Eastern Asia-Pacific"
|
2686 |
-
msgstr ""
|
2687 |
-
|
2688 |
-
#: src/addons/googlecloud.php:50
|
2689 |
-
msgid "Western United States"
|
2690 |
-
msgstr ""
|
2691 |
-
|
2692 |
-
#: src/addons/googlecloud.php:48, src/addons/googlecloud.php:49
|
2693 |
-
msgid "Eastern United States"
|
2694 |
-
msgstr ""
|
2695 |
-
|
2696 |
-
#: src/addons/googlecloud.php:47
|
2697 |
-
msgid "Central United States"
|
2698 |
-
msgstr ""
|
2699 |
-
|
2700 |
-
#: src/addons/googlecloud.php:46
|
2701 |
-
msgid "European Union"
|
2702 |
-
msgstr ""
|
2703 |
-
|
2704 |
-
#: src/addons/googlecloud.php:45
|
2705 |
-
msgid "Asia Pacific"
|
2706 |
-
msgstr ""
|
2707 |
-
|
2708 |
-
#: src/addons/googlecloud.php:44, src/addons/googlecloud.php:45,
|
2709 |
-
#: src/addons/googlecloud.php:46
|
2710 |
-
msgid "multi-region location"
|
2711 |
-
msgstr ""
|
2712 |
-
|
2713 |
-
#: src/addons/googlecloud.php:44
|
2714 |
-
msgid "United States"
|
2715 |
-
msgstr ""
|
2716 |
-
|
2717 |
-
#: src/addons/googlecloud.php:40
|
2718 |
-
msgid "Nearline"
|
2719 |
-
msgstr ""
|
2720 |
-
|
2721 |
-
#: src/addons/googlecloud.php:39
|
2722 |
-
msgid "Durable reduced availability"
|
2723 |
-
msgstr ""
|
2724 |
-
|
2725 |
-
#: src/addons/googlecloud.php:38, src/addons/s3-enhanced.php:66
|
2726 |
-
msgid "Standard"
|
2727 |
-
msgstr ""
|
2728 |
-
|
2729 |
-
#: src/addons/azure.php:638
|
2730 |
-
msgid "container"
|
2731 |
-
msgstr ""
|
2732 |
-
|
2733 |
-
#: src/addons/azure.php:638
|
2734 |
-
msgid "You can enter the path of any %s virtual folder you wish to use here."
|
2735 |
-
msgstr ""
|
2736 |
-
|
2737 |
-
#: src/addons/azure.php:637
|
2738 |
-
msgid "optional"
|
2739 |
-
msgstr ""
|
2740 |
-
|
2741 |
-
#: src/addons/azure.php:633
|
2742 |
-
msgid "See Microsoft's guidelines on container naming by following this link."
|
2743 |
-
msgstr ""
|
2744 |
-
|
2745 |
-
#: src/addons/azure.php:633
|
2746 |
-
msgid "Enter the path of the %s you wish to use here."
|
2747 |
-
msgstr ""
|
2748 |
-
|
2749 |
-
#: src/addons/azure.php:624
|
2750 |
-
msgid "This is not your Azure login - see the instructions if needing more guidance."
|
2751 |
-
msgstr ""
|
2752 |
-
|
2753 |
-
#: src/addons/azure.php:623, src/addons/azure.php:627,
|
2754 |
-
#: src/addons/azure.php:632, src/addons/azure.php:637
|
2755 |
-
msgid "Azure"
|
2756 |
-
msgstr ""
|
2757 |
-
|
2758 |
-
#: src/addons/azure.php:604
|
2759 |
-
msgid "Create Azure credentials in your Azure developer console."
|
2760 |
-
msgstr ""
|
2761 |
-
|
2762 |
-
#: src/addons/azure.php:563
|
2763 |
-
msgid "Could not create the container"
|
2764 |
-
msgstr ""
|
2765 |
-
|
2766 |
-
#: src/addons/azure.php:413
|
2767 |
-
msgid "Could not access container"
|
2768 |
-
msgstr ""
|
2769 |
-
|
2770 |
-
#: src/class-updraftplus.php:2992
|
2771 |
-
msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set."
|
2772 |
-
msgstr ""
|
2773 |
-
|
2774 |
-
#: src/backup.php:1792
|
2775 |
-
msgid "the options table was not found"
|
2776 |
-
msgstr ""
|
2777 |
-
|
2778 |
-
#: src/backup.php:1790
|
2779 |
-
msgid "no options or sitemeta table was found"
|
2780 |
-
msgstr ""
|
2781 |
-
|
2782 |
-
#: src/backup.php:1790, src/backup.php:1792
|
2783 |
-
msgid "The database backup appears to have failed"
|
2784 |
-
msgstr ""
|
2785 |
-
|
2786 |
-
#: src/backup.php:1662
|
2787 |
-
msgid "The backup directory is not writable (or disk space is full) - the database backup is expected to shortly fail."
|
2788 |
-
msgstr ""
|
2789 |
-
|
2790 |
-
#: src/templates/wp-admin/advanced/site-info.php:56
|
2791 |
-
msgid "required for some remote storage providers"
|
2792 |
-
msgstr ""
|
2793 |
-
|
2794 |
-
#: src/templates/wp-admin/advanced/site-info.php:56
|
2795 |
-
msgid "Not installed"
|
2796 |
-
msgstr "Non installato"
|
2797 |
-
|
2798 |
-
#: src/addons/googlecloud.php:1042, src/addons/s3-enhanced.php:63
|
2799 |
-
msgid "Storage class"
|
2800 |
-
msgstr ""
|
2801 |
-
|
2802 |
-
#: src/addons/googlecloud.php:1039
|
2803 |
-
msgid "See Google's guidelines on bucket naming by following this link."
|
2804 |
-
msgstr ""
|
2805 |
-
|
2806 |
-
#: src/addons/googlecloud.php:1039
|
2807 |
-
msgid "Enter the name of the %s bucket you wish to use here."
|
2808 |
-
msgstr ""
|
2809 |
-
|
2810 |
-
#: src/addons/googlecloud.php:1038
|
2811 |
-
msgid "Bucket"
|
2812 |
-
msgstr ""
|
2813 |
-
|
2814 |
-
#: src/addons/googlecloud.php:1034
|
2815 |
-
msgid "Otherwise, you can leave it blank."
|
2816 |
-
msgstr ""
|
2817 |
-
|
2818 |
-
#: src/addons/googlecloud.php:1034
|
2819 |
-
msgid "N.B. This is only needed if you have not already created the bucket, and you wish UpdraftPlus to create it for you."
|
2820 |
-
msgstr ""
|
2821 |
-
|
2822 |
-
#: src/addons/googlecloud.php:1034
|
2823 |
-
msgid "Enter the ID of the %s project you wish to use here."
|
2824 |
-
msgstr ""
|
2825 |
-
|
2826 |
-
#: src/addons/googlecloud.php:997
|
2827 |
-
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."
|
2828 |
-
msgstr ""
|
2829 |
-
|
2830 |
-
#: src/addons/googlecloud.php:908
|
2831 |
-
msgid "You must enter a project ID in order to be able to create a new bucket."
|
2832 |
-
msgstr ""
|
2833 |
-
|
2834 |
-
#: src/addons/googlecloud.php:1032
|
2835 |
-
msgid "Project ID"
|
2836 |
-
msgstr ""
|
2837 |
-
|
2838 |
-
#: src/addons/googlecloud.php:759
|
2839 |
-
msgid "You must save and authenticate before you can test your settings."
|
2840 |
-
msgstr ""
|
2841 |
-
|
2842 |
-
#: src/addons/googlecloud.php:541
|
2843 |
-
msgid "Have not yet obtained an access token from Google - you need to authorize or re-authorize your connection to Google Cloud."
|
2844 |
-
msgstr ""
|
2845 |
-
|
2846 |
-
#: src/addons/googlecloud.php:257, src/addons/googlecloud.php:332,
|
2847 |
-
#: src/addons/googlecloud.php:897, src/addons/googlecloud.php:947
|
2848 |
-
msgid "You do not have access to this bucket."
|
2849 |
-
msgstr ""
|
2850 |
-
|
2851 |
-
#: src/addons/googlecloud.php:257, src/addons/googlecloud.php:312,
|
2852 |
-
#: src/addons/googlecloud.php:322, src/addons/googlecloud.php:332,
|
2853 |
-
#: src/addons/googlecloud.php:718, src/addons/googlecloud.php:897,
|
2854 |
-
#: src/addons/googlecloud.php:947, src/addons/googlecloud.php:991,
|
2855 |
-
#: src/addons/googlecloud.php:991, src/addons/googlecloud.php:1019,
|
2856 |
-
#: src/addons/googlecloud.php:1027, src/addons/googlecloud.php:1039
|
2857 |
-
msgid "Google Cloud"
|
2858 |
-
msgstr ""
|
2859 |
-
|
2860 |
-
#: src/addons/googlecloud.php:257, src/addons/googlecloud.php:312,
|
2861 |
-
#: src/addons/googlecloud.php:332, src/addons/googlecloud.php:897,
|
2862 |
-
#: src/addons/googlecloud.php:947
|
2863 |
-
msgid "%s Service Exception."
|
2864 |
-
msgstr ""
|
2865 |
-
|
2866 |
-
#: src/updraftplus.php:157
|
2867 |
-
msgid "You do not have UpdraftPlus completely installed - please de-install and install it again. Most likely, WordPress malfunctioned when copying the plugin files."
|
2868 |
-
msgstr ""
|
2869 |
-
|
2870 |
-
#: src/restorer.php:1216
|
2871 |
-
msgid "Deferring..."
|
2872 |
-
msgstr ""
|
2873 |
-
|
2874 |
-
#: src/templates/wp-admin/settings/form-contents.php:87
|
2875 |
-
msgid "or to configure more complex schedules"
|
2876 |
-
msgstr ""
|
2877 |
-
|
2878 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:11,
|
2879 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:14
|
2880 |
-
msgid "Are you sure that you wish to remove %s from UpdraftPlus?"
|
2881 |
-
msgstr ""
|
2882 |
-
|
2883 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:157
|
2884 |
-
msgid "Deselect"
|
2885 |
-
msgstr "Deseleziona"
|
2886 |
-
|
2887 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:156
|
2888 |
-
msgid "Select all"
|
2889 |
-
msgstr "Seleziona tutti"
|
2890 |
-
|
2891 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:154
|
2892 |
-
msgid "Actions upon selected backups"
|
2893 |
-
msgstr ""
|
2894 |
-
|
2895 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:56,
|
2896 |
-
#: src/templates/wp-admin/settings/tab-backups.php:60
|
2897 |
-
msgid "Press here to look inside your remote storage methods for any existing backup sets (from any site, if they are stored in the same folder)."
|
2898 |
-
msgstr ""
|
2899 |
-
|
2900 |
-
#: src/admin.php:1862
|
2901 |
-
msgid "Backup sets removed:"
|
2902 |
-
msgstr ""
|
2903 |
-
|
2904 |
-
#: src/admin.php:890
|
2905 |
-
msgid "Processing..."
|
2906 |
-
msgstr ""
|
2907 |
-
|
2908 |
-
#: src/admin.php:888
|
2909 |
-
msgid "For backups older than"
|
2910 |
-
msgstr "Per i backup più vecchi di"
|
2911 |
-
|
2912 |
-
#: src/admin.php:887
|
2913 |
-
msgid "week(s)"
|
2914 |
-
msgstr "settimane"
|
2915 |
-
|
2916 |
-
#: src/admin.php:886
|
2917 |
-
msgid "hour(s)"
|
2918 |
-
msgstr "ore"
|
2919 |
-
|
2920 |
-
#: src/admin.php:885
|
2921 |
-
msgid "day(s)"
|
2922 |
-
msgstr "giorni"
|
2923 |
-
|
2924 |
-
#: src/admin.php:884
|
2925 |
-
msgid "in the month"
|
2926 |
-
msgstr "nel mese"
|
2927 |
-
|
2928 |
-
#: src/admin.php:883
|
2929 |
-
msgid "day"
|
2930 |
-
msgstr "giorno"
|
2931 |
-
|
2932 |
-
#: src/addons/morestorage.php:30
|
2933 |
-
msgid "(as many as you like)"
|
2934 |
-
msgstr ""
|
2935 |
-
|
2936 |
-
#: src/addons/fixtime.php:306, src/addons/fixtime.php:311
|
2937 |
-
msgid "Add an additional retention rule..."
|
2938 |
-
msgstr ""
|
2939 |
-
|
2940 |
-
#: src/restorer.php:2805
|
2941 |
-
msgid "This database needs to be deployed on MySQL version %s or later."
|
2942 |
-
msgstr ""
|
2943 |
-
|
2944 |
-
#: src/restorer.php:2805
|
2945 |
-
msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database."
|
2946 |
-
msgstr ""
|
2947 |
-
|
2948 |
-
#: src/methods/updraftvault.php:707
|
2949 |
-
msgid "You do not currently have any UpdraftPlus Vault quota"
|
2950 |
-
msgstr ""
|
2951 |
-
|
2952 |
-
#: src/class-updraftplus.php:4076
|
2953 |
-
msgid "You must upgrade MySQL to be able to use this database."
|
2954 |
-
msgstr ""
|
2955 |
-
|
2956 |
-
#: src/class-updraftplus.php:4076
|
2957 |
-
msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on."
|
2958 |
-
msgstr ""
|
2959 |
-
|
2960 |
-
#: src/admin.php:2594
|
2961 |
-
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."
|
2962 |
-
msgstr ""
|
2963 |
-
|
2964 |
-
#: src/methods/updraftvault.php:365
|
2965 |
-
msgid "Don't know your email address, or forgotten your password?"
|
2966 |
-
msgstr ""
|
2967 |
-
|
2968 |
-
#: src/methods/updraftvault.php:358
|
2969 |
-
msgid "Enter your UpdraftPlus.Com email / password here to connect:"
|
2970 |
-
msgstr "Inserisci la tua mail / password di UpdraftPlus.Com qui per connetterti:"
|
2971 |
-
|
2972 |
-
#: src/methods/updraftvault.php:322, src/methods/updraftvault.php:351
|
2973 |
-
msgid "Read the FAQs here."
|
2974 |
-
msgstr "Leggi le FAQ qui."
|
2975 |
-
|
2976 |
-
#: src/addons/s3-enhanced.php:73
|
2977 |
-
msgid "Check this box to use Amazon's server-side encryption"
|
2978 |
-
msgstr ""
|
2979 |
-
|
2980 |
-
#: src/addons/s3-enhanced.php:72
|
2981 |
-
msgid "Server-side encryption"
|
2982 |
-
msgstr ""
|
2983 |
-
|
2984 |
-
#: src/methods/updraftvault.php:715
|
2985 |
-
msgid "If you have forgotten your password, then go here to change your password on updraftplus.com."
|
2986 |
-
msgstr ""
|
2987 |
-
|
2988 |
-
#: src/admin.php:1192
|
2989 |
-
msgid "Go to the remote storage settings in order to connect."
|
2990 |
-
msgstr ""
|
2991 |
-
|
2992 |
-
#: src/admin.php:1192
|
2993 |
-
msgid "%s has been chosen for remote storage, but you are not currently connected."
|
2994 |
-
msgstr ""
|
2995 |
-
|
2996 |
-
#: src/methods/updraftvault.php:348
|
2997 |
-
msgid "Payments can be made in US dollars, euros or GB pounds sterling, via card or PayPal."
|
2998 |
-
msgstr ""
|
2999 |
-
|
3000 |
-
#: src/admin.php:860
|
3001 |
-
msgid "Update quota count"
|
3002 |
-
msgstr ""
|
3003 |
-
|
3004 |
-
#: src/admin.php:859
|
3005 |
-
msgid "Counting..."
|
3006 |
-
msgstr ""
|
3007 |
-
|
3008 |
-
#: src/admin.php:858
|
3009 |
-
msgid "Disconnecting..."
|
3010 |
-
msgstr "Disconnessione..."
|
3011 |
-
|
3012 |
-
#: src/admin.php:856
|
3013 |
-
msgid "Connecting..."
|
3014 |
-
msgstr "Connessione..."
|
3015 |
-
|
3016 |
-
#: src/methods/updraftvault.php:468, src/methods/updraftvault.php:542
|
3017 |
-
msgid "Refresh current status"
|
3018 |
-
msgstr "Ricarica lo stato attuale"
|
3019 |
-
|
3020 |
-
#: src/methods/updraftvault.php:466, src/methods/updraftvault.php:482,
|
3021 |
-
#: src/methods/updraftvault.php:484, src/methods/updraftvault.php:542
|
3022 |
-
msgid "Get more quota"
|
3023 |
-
msgstr "Ottieni una quota maggiore"
|
3024 |
-
|
3025 |
-
#: src/methods/updraftvault.php:463, src/methods/updraftvault.php:479,
|
3026 |
-
#: src/methods/updraftvault.php:523
|
3027 |
-
msgid "Current use:"
|
3028 |
-
msgstr "Uso corrente:"
|
3029 |
-
|
3030 |
-
#: src/methods/updraftvault.php:458
|
3031 |
-
msgid "You can get more quota here"
|
3032 |
-
msgstr "Puoi ottenere una quota maggiore qui"
|
3033 |
-
|
3034 |
-
#: src/methods/updraftvault.php:458
|
3035 |
-
msgid "%s Error: you have insufficient storage quota available (%s) to upload this archive (%s)."
|
3036 |
-
msgstr "%s Errore: hai una quota insufficiente di archiviazione (%s) per effettuare l'upload di questo archivio (%s)."
|
3037 |
-
|
3038 |
-
#: src/admin.php:857, src/methods/updraftvault.php:392,
|
3039 |
-
#: src/methods/updraftvault.php:450
|
3040 |
-
msgid "Disconnect"
|
3041 |
-
msgstr "Disconnesso"
|
3042 |
-
|
3043 |
-
#: src/methods/updraftvault.php:389, src/methods/updraftvault.php:442
|
3044 |
-
msgid "Quota:"
|
3045 |
-
msgstr "Quota:"
|
3046 |
-
|
3047 |
-
#: src/methods/updraftvault.php:388, src/methods/updraftvault.php:440
|
3048 |
-
msgid "Vault owner"
|
3049 |
-
msgstr ""
|
3050 |
-
|
3051 |
-
#: src/methods/updraftvault.php:388, src/methods/updraftvault.php:440
|
3052 |
-
msgid "Well done - there's nothing more needed to set up."
|
3053 |
-
msgstr "Ben fatto - non c'è più niente che ha bisogno di essere configurato."
|
3054 |
-
|
3055 |
-
#: src/methods/updraftvault.php:388, src/methods/updraftvault.php:440
|
3056 |
-
msgid "This site is <strong>connected</strong> to UpdraftPlus Vault."
|
3057 |
-
msgstr "Questo sito è <strong>connesso</strong> a UpdraftPlus Vault."
|
3058 |
-
|
3059 |
-
#: src/methods/updraftvault.php:394, src/methods/updraftvault.php:436
|
3060 |
-
msgid "You are <strong>not connected</strong> to UpdraftPlus Vault."
|
3061 |
-
msgstr ""
|
3062 |
-
|
3063 |
-
#: src/methods/updraftvault.php:365
|
3064 |
-
msgid "Go here for help"
|
3065 |
-
msgstr "Vai qui per un aiuto"
|
3066 |
-
|
3067 |
-
#: src/methods/updraftvault.php:360
|
3068 |
-
msgid "E-mail"
|
3069 |
-
msgstr "Email"
|
3070 |
-
|
3071 |
-
#: src/central/bootstrap.php:570, src/methods/updraftvault.php:354,
|
3072 |
-
#: src/methods/updraftvault.php:368,
|
3073 |
-
#: src/templates/wp-admin/settings/exclude-settings-modal/exclude-panel-heading.php:4
|
3074 |
-
msgid "Back..."
|
3075 |
-
msgstr "Indietro..."
|
3076 |
-
|
3077 |
-
#: src/methods/updraftvault.php:348
|
3078 |
-
msgid "Subscriptions can be cancelled at any time."
|
3079 |
-
msgstr "La sottoscrizione può essere cancellata in qualsiasi momento."
|
3080 |
-
|
3081 |
-
#: src/methods/updraftvault.php:331, src/methods/updraftvault.php:337,
|
3082 |
-
#: src/methods/updraftvault.php:343
|
3083 |
-
msgid "%s per quarter"
|
3084 |
-
msgstr ""
|
3085 |
-
|
3086 |
-
#: src/central/bootstrap.php:597, src/methods/updraftvault.php:322,
|
3087 |
-
#: src/methods/updraftvault.php:351
|
3088 |
-
msgid "Read more about it here."
|
3089 |
-
msgstr ""
|
3090 |
-
|
3091 |
-
#: src/methods/updraftvault.php:322, src/methods/updraftvault.php:351
|
3092 |
-
msgid "UpdraftPlus Vault is built on top of Amazon's world-leading data-centres, with redundant data storage to achieve 99.999999999% reliability."
|
3093 |
-
msgstr ""
|
3094 |
-
|
3095 |
-
#: src/methods/updraftvault.php:318
|
3096 |
-
msgid "Already purchased space?"
|
3097 |
-
msgstr ""
|
3098 |
-
|
3099 |
-
#: src/methods/updraftvault.php:315
|
3100 |
-
msgid "Show the options"
|
3101 |
-
msgstr "Mostra le opzioni"
|
3102 |
-
|
3103 |
-
#: src/methods/updraftvault.php:314
|
3104 |
-
msgid "First time user?"
|
3105 |
-
msgstr ""
|
3106 |
-
|
3107 |
-
#: src/methods/updraftvault.php:311, src/methods/updraftvault.php:328
|
3108 |
-
msgid "Press a button to get started."
|
3109 |
-
msgstr ""
|
3110 |
-
|
3111 |
-
#: src/methods/updraftvault.php:311, src/methods/updraftvault.php:328
|
3112 |
-
msgid "UpdraftPlus Vault brings you storage that is <strong>reliable, easy to use and a great price</strong>."
|
3113 |
-
msgstr ""
|
3114 |
-
|
3115 |
-
#: src/methods/updraftvault.php:256
|
3116 |
-
msgid "You have an UpdraftPlus Vault subscription that has not been renewed, and the grace period has expired. In a few days' time, your stored data will be permanently removed. If you do not wish this to happen, then you should renew as soon as possible."
|
3117 |
-
msgstr ""
|
3118 |
-
|
3119 |
-
#: src/methods/updraftvault.php:253
|
3120 |
-
msgid "You have an UpdraftPlus Vault subscription with overdue payment. You are within the few days of grace period before it will be suspended, and you will lose your quota and access to data stored within it. Please renew as soon as possible!"
|
3121 |
-
msgstr ""
|
3122 |
-
|
3123 |
-
#: src/methods/updraftvault.php:250
|
3124 |
-
msgid "Your UpdraftPlus Premium purchase is over a year ago. You should renew immediately to avoid losing the 12 months of free storage allowance that you get for being a current UpdraftPlus Premium customer."
|
3125 |
-
msgstr ""
|
3126 |
-
|
3127 |
-
#: src/methods/updraftvault.php:99
|
3128 |
-
msgid "Updraft Vault"
|
3129 |
-
msgstr "Updraft Vault"
|
3130 |
-
|
3131 |
-
#: src/addons/azure.php:443, src/addons/backblaze.php:528,
|
3132 |
-
#: src/addons/googlecloud.php:843, src/methods/s3.php:1172
|
3133 |
-
msgid "Delete failed:"
|
3134 |
-
msgstr "Cancellazione fallita:"
|
3135 |
-
|
3136 |
-
#: src/backup.php:3431
|
3137 |
-
msgid "The zip engine returned the message: %s."
|
3138 |
-
msgstr ""
|
3139 |
-
|
3140 |
-
#: src/addons/s3-enhanced.php:400
|
3141 |
-
msgid "Without this permission, UpdraftPlus cannot delete backups - you should also set your 'retain' settings very high to prevent seeing deletion errors."
|
3142 |
-
msgstr ""
|
3143 |
-
|
3144 |
-
#: src/addons/s3-enhanced.php:398
|
3145 |
-
msgid "Allow deletion"
|
3146 |
-
msgstr ""
|
3147 |
-
|
3148 |
-
#: src/addons/s3-enhanced.php:396
|
3149 |
-
msgid "Without this permission, you cannot directly download or restore using UpdraftPlus, and will instead need to visit the AWS website."
|
3150 |
-
msgstr ""
|
3151 |
-
|
3152 |
-
#: src/addons/s3-enhanced.php:394
|
3153 |
-
msgid "Allow download"
|
3154 |
-
msgstr ""
|
3155 |
-
|
3156 |
-
#: src/includes/class-remote-send.php:314
|
3157 |
-
msgid "If sending directly from site to site does not work for you, then there are three other methods - please try one of these instead."
|
3158 |
-
msgstr ""
|
3159 |
-
|
3160 |
-
#: src/admin.php:866, src/includes/class-remote-send.php:299
|
3161 |
-
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."
|
3162 |
-
msgstr ""
|
3163 |
-
|
3164 |
-
#: src/includes/class-remote-send.php:541
|
3165 |
-
msgid "Existing keys"
|
3166 |
-
msgstr "Chiavi esistenti"
|
3167 |
-
|
3168 |
-
#: src/addons/migrator.php:1773
|
3169 |
-
msgid "Your new key:"
|
3170 |
-
msgstr "La tua nuova chiave: "
|
3171 |
-
|
3172 |
-
#: src/central/bootstrap.php:403
|
3173 |
-
msgid "You must copy and paste this key now - it cannot be shown again."
|
3174 |
-
msgstr "E' necessario copiare ed incollare questa chiave adesso - non verrà più mostrata in seguito."
|
3175 |
-
|
3176 |
-
#: src/central/bootstrap.php:403, src/includes/class-remote-send.php:438
|
3177 |
-
msgid "Key created successfully."
|
3178 |
-
msgstr "Chiave creata con successo."
|
3179 |
-
|
3180 |
-
#: src/includes/class-remote-send.php:421
|
3181 |
-
msgid "A key with this name already exists; you must use a unique name."
|
3182 |
-
msgstr "Una chiave con questo nome esiste già; è necessario utilizzare un nome univoco."
|
3183 |
-
|
3184 |
-
#: src/includes/class-remote-send.php:345
|
3185 |
-
msgid "Also send this backup to the active remote storage locations"
|
3186 |
-
msgstr "Inviare questo backup anche alle posizioni di archiviazione remote attive"
|
3187 |
-
|
3188 |
-
#: src/includes/class-remote-send.php:310
|
3189 |
-
msgid "The site URL you are sending to (%s) looks like a local development website. If you are sending from an external network, it is likely that a firewall will be blocking this."
|
3190 |
-
msgstr "L' URL del sito a cui si sta inviando (%s) sembra quello di un sito web di sviluppo locale. Se si sta inviando da una rete esterna, è probabile che un firewall bloccherà l'invio."
|
3191 |
-
|
3192 |
-
#: src/includes/class-remote-send.php:266
|
3193 |
-
msgid "site not found"
|
3194 |
-
msgstr "sito non trovato"
|
3195 |
-
|
3196 |
-
#: src/includes/class-remote-send.php:251
|
3197 |
-
msgid "Backup data will be sent to:"
|
3198 |
-
msgstr "I dati di backup verranno inviati a:"
|
3199 |
-
|
3200 |
-
#: src/addons/migrator.php:230
|
3201 |
-
msgid "Restore an existing backup set onto this site"
|
3202 |
-
msgstr "Ripristina un set di backup esistente su questo sito"
|
3203 |
-
|
3204 |
-
#: src/addons/migrator.php:236
|
3205 |
-
msgid "This site has no backups to restore from yet."
|
3206 |
-
msgstr "Questo sito non ha ancora backup da ripristinare."
|
3207 |
-
|
3208 |
-
#: src/addons/reporting.php:172
|
3209 |
-
msgid "Backup made by %s"
|
3210 |
-
msgstr "Backup fatto da %s"
|
3211 |
-
|
3212 |
-
#: src/methods/addon-base-v2.php:188
|
3213 |
-
msgid "This storage method does not allow downloading"
|
3214 |
-
msgstr "Questo metodo di memorizzazione non consente il download"
|
3215 |
-
|
3216 |
-
#: src/admin.php:4167
|
3217 |
-
msgid "(backup set imported from remote location)"
|
3218 |
-
msgstr "(set di backup importato da posizione remota)"
|
3219 |
-
|
3220 |
-
#: src/addons/wp-cli.php:373,
|
3221 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:102
|
3222 |
-
msgid "Site"
|
3223 |
-
msgstr "Sito"
|
3224 |
-
|
3225 |
-
#: src/addons/wp-cli.php:371,
|
3226 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:101
|
3227 |
-
msgid "Backup sent to remote site - not available for download."
|
3228 |
-
msgstr "Backup inviato al sito remoto - non disponibile per il download."
|
3229 |
-
|
3230 |
-
#: src/includes/class-wpadmin-commands.php:137
|
3231 |
-
msgid "You should make sure that this really is a backup set intended for use on this website, before you restore (rather than a backup set of an unrelated website)."
|
3232 |
-
msgstr ""
|
3233 |
-
|
3234 |
-
#: src/includes/class-wpadmin-commands.php:137
|
3235 |
-
msgid "This backup set was not known by UpdraftPlus to be created by the current WordPress installation, but was either found in remote storage, or was sent from a remote site."
|
3236 |
-
msgstr "Questo set di backup non è stato riconosciuto da UpdraftPlus per essere creato dalla installazione corrente di WordPress, ma è stato trovato in uno storage remoto, o è stato inviato da un sito remoto."
|
3237 |
-
|
3238 |
-
#: src/admin.php:873, src/includes/class-remote-send.php:327
|
3239 |
-
msgid "Testing connection..."
|
3240 |
-
msgstr "Test della connessione..."
|
3241 |
-
|
3242 |
-
#: src/admin.php:870,
|
3243 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:161
|
3244 |
-
msgid "Deleting..."
|
3245 |
-
msgstr "Cancellazione..."
|
3246 |
-
|
3247 |
-
#: src/admin.php:869
|
3248 |
-
msgid "key name"
|
3249 |
-
msgstr "Nome della chiave"
|
3250 |
-
|
3251 |
-
#: src/admin.php:867
|
3252 |
-
msgid "Please give this key a name (e.g. indicate the site it is for):"
|
3253 |
-
msgstr "Si prega di dare un nome a questa chiave (ad esempio, indicare il sito per la quale è stata creata):"
|
3254 |
-
|
3255 |
-
#: src/admin.php:864
|
3256 |
-
msgid "Creating..."
|
3257 |
-
msgstr "Creazione..."
|
3258 |
-
|
3259 |
-
#: src/addons/migrator.php:1753
|
3260 |
-
msgid "Receive a backup from a remote site"
|
3261 |
-
msgstr ""
|
3262 |
-
|
3263 |
-
#: src/addons/migrator.php:1745
|
3264 |
-
msgid "Paste key here"
|
3265 |
-
msgstr "Incolla la chiave qui"
|
3266 |
-
|
3267 |
-
#: src/addons/migrator.php:1741
|
3268 |
-
msgid "How do I get a site's key?"
|
3269 |
-
msgstr "Come posso avere la chiave di un sito?"
|
3270 |
-
|
3271 |
-
#: src/addons/migrator.php:1741
|
3272 |
-
msgid "To add a site as a destination for sending to, enter that site's key below."
|
3273 |
-
msgstr "Per aggiungere un sito come destinazione per l'invio, inserire la chiave del sito sotto."
|
3274 |
-
|
3275 |
-
#: src/addons/migrator.php:1732
|
3276 |
-
msgid "Send a backup to another site"
|
3277 |
-
msgstr ""
|
3278 |
-
|
3279 |
-
#: src/admin.php:874, src/includes/class-remote-send.php:358,
|
3280 |
-
#: src/includes/class-remote-send.php:520
|
3281 |
-
msgid "Send"
|
3282 |
-
msgstr "Invia"
|
3283 |
-
|
3284 |
-
#: src/admin.php:865, src/includes/class-remote-send.php:514
|
3285 |
-
msgid "Send to site:"
|
3286 |
-
msgstr "Invia al sito:"
|
3287 |
-
|
3288 |
-
#: src/includes/class-remote-send.php:512
|
3289 |
-
msgid "No receiving sites have yet been added."
|
3290 |
-
msgstr "Non è ancora stato aggiunto nessun sito ricevente."
|
3291 |
-
|
3292 |
-
#: src/includes/class-remote-send.php:493
|
3293 |
-
msgid "It is for sending backups to the following site: "
|
3294 |
-
msgstr "E' per l'invio dei backup ai seguenti siti:"
|
3295 |
-
|
3296 |
-
#: src/includes/class-remote-send.php:493
|
3297 |
-
msgid "The key was successfully added."
|
3298 |
-
msgstr "La chiave è stata aggiunta con successo."
|
3299 |
-
|
3300 |
-
#: src/includes/class-remote-send.php:477
|
3301 |
-
msgid "The entered key does not belong to a remote site (it belongs to this one)."
|
3302 |
-
msgstr "La chiave immessa non appartiene a un sito remoto (appartiene a questo)"
|
3303 |
-
|
3304 |
-
#: src/includes/class-remote-send.php:466,
|
3305 |
-
#: src/includes/class-remote-send.php:468,
|
3306 |
-
#: src/includes/class-remote-send.php:472
|
3307 |
-
msgid "The entered key was corrupt - please try again."
|
3308 |
-
msgstr "La chiave immessa è corrotta - si prega di riprovare."
|
3309 |
-
|
3310 |
-
#: src/includes/class-remote-send.php:464
|
3311 |
-
msgid "The entered key was the wrong length - please try again."
|
3312 |
-
msgstr "La chiave immessa ha lunghezza errata - si prega di riprovare."
|
3313 |
-
|
3314 |
-
#: src/includes/class-remote-send.php:454
|
3315 |
-
msgid "key"
|
3316 |
-
msgstr "chiave"
|
3317 |
-
|
3318 |
-
#: src/methods/ftp.php:379
|
3319 |
-
msgid "Almost all FTP servers will want passive mode; but if you need active mode, then uncheck this."
|
3320 |
-
msgstr "Quasi tutti i server FTP utilizzano il passive mode, ma se è necessario l'active mode, si prega di deselezionare questa opzione."
|
3321 |
-
|
3322 |
-
#: src/methods/ftp.php:377
|
3323 |
-
msgid "Passive mode"
|
3324 |
-
msgstr "Passive mode"
|
3325 |
-
|
3326 |
-
#: src/methods/ftp.php:372
|
3327 |
-
msgid "Remote path"
|
3328 |
-
msgstr "Percorso remoto"
|
3329 |
-
|
3330 |
-
#: src/methods/ftp.php:367
|
3331 |
-
msgid "FTP password"
|
3332 |
-
msgstr "FTP password"
|
3333 |
-
|
3334 |
-
#: src/methods/ftp.php:362
|
3335 |
-
msgid "FTP login"
|
3336 |
-
msgstr "FTP login"
|
3337 |
-
|
3338 |
-
#: src/methods/ftp.php:357
|
3339 |
-
msgid "FTP server"
|
3340 |
-
msgstr "FTP server"
|
3341 |
-
|
3342 |
-
#: src/addons/migrator.php:194
|
3343 |
-
msgid "The UpdraftPlus Migrator modifies the restoration operation appropriately, to fit the backup data to the new site."
|
3344 |
-
msgstr ""
|
3345 |
-
|
3346 |
-
#: src/addons/migrator.php:194
|
3347 |
-
msgid "A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site."
|
3348 |
-
msgstr ""
|
3349 |
-
|
3350 |
-
#: src/admin.php:863
|
3351 |
-
msgid "Resetting..."
|
3352 |
-
msgstr ""
|
3353 |
-
|
3354 |
-
#: src/addons/migrator.php:1745, src/admin.php:862
|
3355 |
-
msgid "Add site"
|
3356 |
-
msgstr "Aggiungi sito"
|
3357 |
-
|
3358 |
-
#: src/admin.php:861
|
3359 |
-
msgid "Adding..."
|
3360 |
-
msgstr ""
|
3361 |
-
|
3362 |
-
#: src/udaddons/options.php:298
|
3363 |
-
msgid "Claim not granted - perhaps you have already used this purchase somewhere else, or your paid period for downloading from updraftplus.com has expired?"
|
3364 |
-
msgstr ""
|
3365 |
-
|
3366 |
-
#: src/restorer.php:2807
|
3367 |
-
msgid "To use this backup, your database server needs to support the %s character set."
|
3368 |
-
msgstr ""
|
3369 |
-
|
3370 |
-
#: src/udaddons/updraftplus-addons.php:997
|
3371 |
-
msgid "go here to change your password on updraftplus.com."
|
3372 |
-
msgstr ""
|
3373 |
-
|
3374 |
-
#: src/udaddons/updraftplus-addons.php:997
|
3375 |
-
msgid "If you have forgotten your password "
|
3376 |
-
msgstr ""
|
3377 |
-
|
3378 |
-
#: src/udaddons/updraftplus-addons.php:996
|
3379 |
-
msgid "Go here to re-enter your password."
|
3380 |
-
msgstr ""
|
3381 |
-
|
3382 |
-
#: src/addons/migrator.php:271
|
3383 |
-
msgid "After pressing this button, you will be given the option to choose which components you wish to migrate"
|
3384 |
-
msgstr ""
|
3385 |
-
|
3386 |
-
#: src/admin.php:853, src/admin.php:879, src/admin.php:880
|
3387 |
-
msgid "You have made changes to your settings, and not saved."
|
3388 |
-
msgstr ""
|
3389 |
-
|
3390 |
-
#: src/addons/onedrive.php:1188
|
3391 |
-
msgid "N.B. %s is not case-sensitive."
|
3392 |
-
msgstr "N.B. %s non è case-sensitive."
|
3393 |
-
|
3394 |
-
#: src/addons/onedrive.php:1178
|
3395 |
-
msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here."
|
3396 |
-
msgstr ""
|
3397 |
-
|
3398 |
-
#: src/addons/azure.php:605, src/addons/onedrive.php:1148,
|
3399 |
-
#: src/includes/class-remote-send.php:314
|
3400 |
-
msgid "For longer help, including screenshots, follow this link."
|
3401 |
-
msgstr ""
|
3402 |
-
|
3403 |
-
#: src/addons/onedrive.php:1141
|
3404 |
-
msgid "Create OneDrive credentials in your OneDrive developer console."
|
3405 |
-
msgstr ""
|
3406 |
-
|
3407 |
-
#: src/addons/onedrive.php:1133
|
3408 |
-
msgid "You must add the following as the authorized redirect URI in your OneDrive console (under \"API Settings\") when asked"
|
3409 |
-
msgstr ""
|
3410 |
-
|
3411 |
-
#: src/addons/azure.php:593
|
3412 |
-
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)."
|
3413 |
-
msgstr ""
|
3414 |
-
|
3415 |
-
#: src/addons/onedrive.php:1096, src/addons/onedrive.php:1098
|
3416 |
-
msgid "authorization failed:"
|
3417 |
-
msgstr ""
|
3418 |
-
|
3419 |
-
#: src/addons/onedrive.php:939, src/addons/onedrive.php:1177,
|
3420 |
-
#: src/addons/onedrive.php:1181
|
3421 |
-
msgid "OneDrive"
|
3422 |
-
msgstr "OneDrive"
|
3423 |
-
|
3424 |
-
#: src/addons/onedrive.php:724
|
3425 |
-
msgid "Please re-authorize the connection to your %s account."
|
3426 |
-
msgstr ""
|
3427 |
-
|
3428 |
-
#: src/methods/email.php:96
|
3429 |
-
msgid "configure it here"
|
3430 |
-
msgstr "configuralo qui"
|
3431 |
-
|
3432 |
-
#: src/addons/onedrive.php:717, src/includes/updraftplus-login.php:56,
|
3433 |
-
#: src/methods/updraftvault.php:680
|
3434 |
-
msgid "To remove the block, please go here."
|
3435 |
-
msgstr ""
|
3436 |
-
|
3437 |
-
#: src/addons/s3-enhanced.php:477
|
3438 |
-
msgid "Do remember to save your settings."
|
3439 |
-
msgstr ""
|
3440 |
-
|
3441 |
-
#: src/addons/s3-enhanced.php:477
|
3442 |
-
msgid "You are now using a IAM user account to access your bucket."
|
3443 |
-
msgstr ""
|
3444 |
-
|
3445 |
-
#: src/addons/s3-enhanced.php:392
|
3446 |
-
msgid "S3 bucket"
|
3447 |
-
msgstr ""
|
3448 |
-
|
3449 |
-
#: src/addons/s3-enhanced.php:382
|
3450 |
-
msgid "China (Beijing) (restricted)"
|
3451 |
-
msgstr ""
|
3452 |
-
|
3453 |
-
#: src/addons/s3-enhanced.php:381
|
3454 |
-
msgid "South America (Sao Paulo)"
|
3455 |
-
msgstr "Sud America (San Paolo)"
|
3456 |
-
|
3457 |
-
#: src/addons/s3-enhanced.php:380
|
3458 |
-
msgid "Asia Pacific (Tokyo)"
|
3459 |
-
msgstr ""
|
3460 |
-
|
3461 |
-
#: src/addons/s3-enhanced.php:378
|
3462 |
-
msgid "Asia Pacific (Sydney)"
|
3463 |
-
msgstr ""
|
3464 |
-
|
3465 |
-
#: src/addons/s3-enhanced.php:377
|
3466 |
-
msgid "Asia Pacific (Singapore)"
|
3467 |
-
msgstr ""
|
3468 |
-
|
3469 |
-
#: src/addons/s3-enhanced.php:370
|
3470 |
-
msgid "US Government West (restricted)"
|
3471 |
-
msgstr ""
|
3472 |
-
|
3473 |
-
#: src/addons/s3-enhanced.php:369
|
3474 |
-
msgid "US West (N. California)"
|
3475 |
-
msgstr "US West (N. California)"
|
3476 |
-
|
3477 |
-
#: src/addons/s3-enhanced.php:368
|
3478 |
-
msgid "US West (Oregon)"
|
3479 |
-
msgstr ""
|
3480 |
-
|
3481 |
-
#: src/addons/s3-enhanced.php:366
|
3482 |
-
msgid "US Standard (default)"
|
3483 |
-
msgstr ""
|
3484 |
-
|
3485 |
-
#: src/addons/s3-enhanced.php:362
|
3486 |
-
msgid "S3 storage region"
|
3487 |
-
msgstr ""
|
3488 |
-
|
3489 |
-
#: src/addons/s3-enhanced.php:360
|
3490 |
-
msgid "New IAM username"
|
3491 |
-
msgstr ""
|
3492 |
-
|
3493 |
-
#: src/addons/s3-enhanced.php:359
|
3494 |
-
msgid "Admin secret key"
|
3495 |
-
msgstr ""
|
3496 |
-
|
3497 |
-
#: src/addons/s3-enhanced.php:358
|
3498 |
-
msgid "Admin access key"
|
3499 |
-
msgstr ""
|
3500 |
-
|
3501 |
-
#: src/addons/s3-enhanced.php:351
|
3502 |
-
msgid "Then, these lower-powered access credentials can be used, instead of storing your administrative keys."
|
3503 |
-
msgstr ""
|
3504 |
-
|
3505 |
-
#: src/addons/s3-enhanced.php:351
|
3506 |
-
msgid "These will be used to create a new user and key pair with an IAM policy attached which will only allow it to access the indicated bucket."
|
3507 |
-
msgstr ""
|
3508 |
-
|
3509 |
-
#: src/addons/s3-enhanced.php:351
|
3510 |
-
msgid "Enter your administrative Amazon S3 access/secret keys (this needs to be a key pair with enough rights to create new users and buckets), and a new (unique) username for the new user and a bucket name."
|
3511 |
-
msgstr ""
|
3512 |
-
|
3513 |
-
#: src/addons/s3-enhanced.php:429
|
3514 |
-
msgid "Create new IAM user and S3 bucket"
|
3515 |
-
msgstr ""
|
3516 |
-
|
3517 |
-
#: src/addons/s3-enhanced.php:337
|
3518 |
-
msgid "Secret Key: %s"
|
3519 |
-
msgstr ""
|
3520 |
-
|
3521 |
-
#: src/addons/s3-enhanced.php:337
|
3522 |
-
msgid "Access Key: %s"
|
3523 |
-
msgstr "Chiave d'accesso: %s"
|
3524 |
-
|
3525 |
-
#: src/addons/s3-enhanced.php:325
|
3526 |
-
msgid "Failed to apply User Policy"
|
3527 |
-
msgstr ""
|
3528 |
-
|
3529 |
-
#: src/addons/s3-enhanced.php:266, src/addons/s3-enhanced.php:270
|
3530 |
-
msgid "Operation to create user Access Key failed"
|
3531 |
-
msgstr ""
|
3532 |
-
|
3533 |
-
#: src/addons/s3-enhanced.php:264
|
3534 |
-
msgid "Failed to create user Access Key"
|
3535 |
-
msgstr ""
|
3536 |
-
|
3537 |
-
#: src/addons/s3-enhanced.php:244, src/addons/s3-enhanced.php:247,
|
3538 |
-
#: src/addons/s3-enhanced.php:251
|
3539 |
-
msgid "IAM operation failed (%s)"
|
3540 |
-
msgstr ""
|
3541 |
-
|
3542 |
-
#: src/addons/s3-enhanced.php:242
|
3543 |
-
msgid "Conflict: that user already exists"
|
3544 |
-
msgstr "Conflitto: l'utente esiste già."
|
3545 |
-
|
3546 |
-
#: src/addons/s3-enhanced.php:214
|
3547 |
-
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)."
|
3548 |
-
msgstr ""
|
3549 |
-
|
3550 |
-
#: src/addons/s3-enhanced.php:168
|
3551 |
-
msgid "AWS authentication failed"
|
3552 |
-
msgstr ""
|
3553 |
-
|
3554 |
-
#: src/addons/s3-enhanced.php:161
|
3555 |
-
msgid "Cannot create new AWS user, since the old AWS toolkit is being used."
|
3556 |
-
msgstr ""
|
3557 |
-
|
3558 |
-
#: src/addons/s3-enhanced.php:134
|
3559 |
-
msgid "You need to enter a bucket"
|
3560 |
-
msgstr ""
|
3561 |
-
|
3562 |
-
#: src/addons/s3-enhanced.php:130
|
3563 |
-
msgid "You need to enter a new IAM username"
|
3564 |
-
msgstr ""
|
3565 |
-
|
3566 |
-
#: src/addons/s3-enhanced.php:126
|
3567 |
-
msgid "You need to enter an admin secret key"
|
3568 |
-
msgstr ""
|
3569 |
-
|
3570 |
-
#: src/addons/s3-enhanced.php:122
|
3571 |
-
msgid "You need to enter an admin access key"
|
3572 |
-
msgstr "E' necessario inserire una chiave di accesso di admin"
|
3573 |
-
|
3574 |
-
#: src/addons/s3-enhanced.php:95
|
3575 |
-
msgid "If you have an AWS admin user, then you can use this wizard to quickly create a new AWS (IAM) user with access to only this bucket (rather than your whole account)"
|
3576 |
-
msgstr ""
|
3577 |
-
|
3578 |
-
#: src/methods/s3.php:923
|
3579 |
-
msgid "To create a new IAM sub-user and access key that has access only to this bucket, use this add-on."
|
3580 |
-
msgstr ""
|
3581 |
-
|
3582 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12
|
3583 |
-
msgid "For personal support, the ability to copy sites, more storage destinations, encrypted backups for security, multiple backup destinations, better reporting, no adverts and plenty more, take a look at the premium version of UpdraftPlus - the world's most popular backup plugin."
|
3584 |
-
msgstr ""
|
3585 |
-
|
3586 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:29
|
3587 |
-
msgid "UpdraftPlus news, high-quality training materials for WordPress developers and site-owners, and general WordPress news. You can de-subscribe at any time."
|
3588 |
-
msgstr ""
|
3589 |
-
|
3590 |
-
#: src/addons/onedrive.php:693, src/addons/onedrive.php:717,
|
3591 |
-
#: src/includes/updraftplus-login.php:56, src/methods/updraftvault.php:680,
|
3592 |
-
#: src/udaddons/updraftplus-addons.php:947,
|
3593 |
-
#: src/udaddons/updraftplus-addons.php:961
|
3594 |
-
msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks."
|
3595 |
-
msgstr ""
|
3596 |
-
|
3597 |
-
#: src/addons/onedrive.php:717, src/includes/updraftplus-login.php:56,
|
3598 |
-
#: src/methods/updraftvault.php:680, src/udaddons/updraftplus-addons.php:961
|
3599 |
-
msgid "It appears that your web server's IP Address (%s) is blocked."
|
3600 |
-
msgstr ""
|
3601 |
-
|
3602 |
-
#: src/addons/onedrive.php:717, src/includes/updraftplus-login.php:56,
|
3603 |
-
#: src/methods/updraftvault.php:680, src/udaddons/updraftplus-addons.php:961
|
3604 |
-
msgid "UpdraftPlus.com has responded with 'Access Denied'."
|
3605 |
-
msgstr ""
|
3606 |
-
|
3607 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:33
|
3608 |
-
msgid "Premium WooCommerce plugins"
|
3609 |
-
msgstr "Plugin premium di WooCommerce"
|
3610 |
-
|
3611 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:33
|
3612 |
-
msgid "Free two-factor security plugin"
|
3613 |
-
msgstr ""
|
3614 |
-
|
3615 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:32
|
3616 |
-
msgid "More quality plugins"
|
3617 |
-
msgstr "Altri plugin di qualità"
|
3618 |
-
|
3619 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
3620 |
-
msgid "Go to the shop."
|
3621 |
-
msgstr "Vai allo shop."
|
3622 |
-
|
3623 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:13
|
3624 |
-
msgid "Compare with the free version"
|
3625 |
-
msgstr "Confronta con la versione gratuita"
|
3626 |
-
|
3627 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:12,
|
3628 |
-
#: src/templates/wp-admin/settings/tab-addons.php:46
|
3629 |
-
msgid "UpdraftPlus Premium"
|
3630 |
-
msgstr "UpdraftPlus Premium"
|
3631 |
-
|
3632 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:29
|
3633 |
-
msgid "Free Newsletter"
|
3634 |
-
msgstr "Newsletter Gratuita"
|
3635 |
-
|
3636 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:2,
|
3637 |
-
#: src/templates/wp-admin/notices/thanks-for-using-main-dash.php:35
|
3638 |
-
msgid "Dismiss (for %s months)"
|
3639 |
-
msgstr "Ignora (per %s mesi)"
|
3640 |
-
|
3641 |
-
#: src/addons/fixtime.php:448
|
3642 |
-
msgid "(at same time as files backup)"
|
3643 |
-
msgstr ""
|
3644 |
-
|
3645 |
-
#: src/admin.php:3703
|
3646 |
-
msgid "No backup has been completed"
|
3647 |
-
msgstr "Nessun backup è stato completato"
|
3648 |
-
|
3649 |
-
#: src/templates/wp-admin/settings/header.php:21
|
3650 |
-
msgid "Newsletter sign-up"
|
3651 |
-
msgstr "Iscrizione alla newsletter"
|
3652 |
-
|
3653 |
-
#: src/includes/updraftplus-notices.php:142
|
3654 |
-
msgid "Follow this link to sign up for the UpdraftPlus newsletter."
|
3655 |
-
msgstr ""
|
3656 |
-
|
3657 |
-
#: src/templates/wp-admin/settings/tab-addons.php:113,
|
3658 |
-
#: src/templates/wp-admin/settings/tab-addons.php:114
|
3659 |
-
msgid "Backup non-WordPress files and databases"
|
3660 |
-
msgstr ""
|
3661 |
-
|
3662 |
-
#: src/templates/wp-admin/settings/tab-addons.php:20
|
3663 |
-
msgid "Ask a pre-sales question"
|
3664 |
-
msgstr ""
|
3665 |
-
|
3666 |
-
#: src/templates/wp-admin/settings/tab-addons.php:19
|
3667 |
-
msgid "Pre-sales FAQs"
|
3668 |
-
msgstr ""
|
3669 |
-
|
3670 |
-
#: src/templates/wp-admin/settings/tab-addons.php:18
|
3671 |
-
msgid "Full feature list"
|
3672 |
-
msgstr "Lista completa delle funzionalità"
|
3673 |
-
|
3674 |
-
#: src/addons/autobackup.php:1080
|
3675 |
-
msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
3676 |
-
msgstr ""
|
3677 |
-
|
3678 |
-
#: src/methods/s3.php:179, src/methods/s3.php:180, src/methods/s3.php:181,
|
3679 |
-
#: src/methods/s3.php:189, src/methods/s3.php:190, src/methods/s3.php:191
|
3680 |
-
msgid "%s Error: Failed to initialise"
|
3681 |
-
msgstr "Errore %s: Impossibile inizializzare"
|
3682 |
-
|
3683 |
-
#: src/templates/wp-admin/settings/form-contents.php:190
|
3684 |
-
msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files"
|
3685 |
-
msgid "or"
|
3686 |
-
msgstr ""
|
3687 |
-
|
3688 |
-
#: src/admin.php:847
|
3689 |
-
msgid "You did not select any components to restore. Please select at least one, and then try again."
|
3690 |
-
msgstr ""
|
3691 |
-
|
3692 |
-
#: src/addons/sftp.php:470
|
3693 |
-
msgctxt "Do not translate BEGIN RSA PRIVATE KEY. PCKS1, XML, PEM and PuTTY are also technical acronyms which should not be translated."
|
3694 |
-
msgid "PKCS1 (PEM header: BEGIN RSA PRIVATE KEY), XML and PuTTY format keys are accepted."
|
3695 |
-
msgstr ""
|
3696 |
-
|
3697 |
-
#: src/addons/sftp.php:420
|
3698 |
-
msgid "Resuming partial uploads is supported for SFTP, but not for SCP. Thus, if using SCP then you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file."
|
3699 |
-
msgstr ""
|
3700 |
-
|
3701 |
-
#: src/methods/openstack2.php:190
|
3702 |
-
msgctxt "\"tenant\" is a term used with OpenStack storage - Google for \"OpenStack tenant\" to get more help on its meaning"
|
3703 |
-
msgid "tenant"
|
3704 |
-
msgstr ""
|
3705 |
-
|
3706 |
-
#: src/methods/openstack2.php:139
|
3707 |
-
msgctxt "Keystone and swauth are technical terms which cannot be translated"
|
3708 |
-
msgid "This needs to be a v2 (Keystone) authentication URI; v1 (Swauth) is not supported."
|
3709 |
-
msgstr ""
|
3710 |
-
|
3711 |
-
#: src/templates/wp-admin/settings/form-contents.php:260
|
3712 |
-
msgid "your site's admin address"
|
3713 |
-
msgstr ""
|
3714 |
-
|
3715 |
-
#: src/templates/wp-admin/settings/form-contents.php:260
|
3716 |
-
msgid "Check this box to have a basic report sent to"
|
3717 |
-
msgstr ""
|
3718 |
-
|
3719 |
-
#: src/admin.php:3717
|
3720 |
-
msgctxt "i.e. Non-automatic"
|
3721 |
-
msgid "Manual"
|
3722 |
-
msgstr "Manuale"
|
3723 |
-
|
3724 |
-
#: src/restorer.php:2784
|
3725 |
-
msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred"
|
3726 |
-
msgid "An error (%s) occurred:"
|
3727 |
-
msgstr "Si è verificato un errore (%s):"
|
3728 |
-
|
3729 |
-
#: src/addons/lockadmin.php:191
|
3730 |
-
msgid "Change Lock Settings"
|
3731 |
-
msgstr ""
|
3732 |
-
|
3733 |
-
#: src/addons/morefiles.php:258
|
3734 |
-
msgid "Any other file/directory on your server that you wish to backup"
|
3735 |
-
msgstr ""
|
3736 |
-
|
3737 |
-
#: src/admin.php:2611
|
3738 |
-
msgid "For even more features and personal support, check out "
|
3739 |
-
msgstr ""
|
3740 |
-
|
3741 |
-
#: src/addons/moredatabase.php:59
|
3742 |
-
msgid "Database decryption phrase"
|
3743 |
-
msgstr "Fase di decriptaggio del database"
|
3744 |
-
|
3745 |
-
#: src/addons/autobackup.php:157, src/addons/autobackup.php:1026,
|
3746 |
-
#: src/admin.php:852
|
3747 |
-
msgid "Automatic backup before update"
|
3748 |
-
msgstr "Backup automatico prima dell'aggiornamento"
|
3749 |
-
|
3750 |
-
#: src/addons/autobackup.php:122
|
3751 |
-
msgid "WordPress core (only)"
|
3752 |
-
msgstr "WordPress core (solo)"
|
3753 |
-
|
3754 |
-
#: src/addons/lockadmin.php:243
|
3755 |
-
msgid "For unlocking support, please contact whoever manages UpdraftPlus for you."
|
3756 |
-
msgstr "Per sbloccare il supporto, si prega di contattare chi gestisce UpdraftPlus per voi."
|
3757 |
-
|
3758 |
-
#: src/addons/lockadmin.php:234
|
3759 |
-
msgid "To access the UpdraftPlus settings, please enter your unlock password"
|
3760 |
-
msgstr "Per accedere alle impostazioni di UpdraftPlus, inserisci la password di sblocco"
|
3761 |
-
|
3762 |
-
#: src/addons/lockadmin.php:231
|
3763 |
-
msgid "Password incorrect"
|
3764 |
-
msgstr "Password errata"
|
3765 |
-
|
3766 |
-
#: src/addons/lockadmin.php:219, src/addons/lockadmin.php:225
|
3767 |
-
msgid "Unlock"
|
3768 |
-
msgstr "Sblocca"
|
3769 |
-
|
3770 |
-
#: src/addons/lockadmin.php:189
|
3771 |
-
msgid "Otherwise, the default link will be shown."
|
3772 |
-
msgstr "In caso contrario, verrà visualizzato il link di default."
|
3773 |
-
|
3774 |
-
#: src/addons/lockadmin.php:189
|
3775 |
-
msgid "Anyone seeing the lock screen will be shown this URL for support - enter a website address or an email address."
|
3776 |
-
msgstr "L'URL per il supporto sarà visibile a tutti dalla schermata di blocco - inserire un indirizzo web o un indirizzo email."
|
3777 |
-
|
3778 |
-
#: src/addons/lockadmin.php:189
|
3779 |
-
msgid "Support URL"
|
3780 |
-
msgstr "URL supporto"
|
3781 |
-
|
3782 |
-
#: src/addons/lockadmin.php:187
|
3783 |
-
msgid "Require password again after"
|
3784 |
-
msgstr "Richiedi password dopo"
|
3785 |
-
|
3786 |
-
#: src/addons/lockadmin.php:178, src/addons/lockadmin.php:179
|
3787 |
-
msgid "%s weeks"
|
3788 |
-
msgstr "%s settimane"
|
3789 |
-
|
3790 |
-
#: src/addons/lockadmin.php:177
|
3791 |
-
msgid "1 week"
|
3792 |
-
msgstr "1 settimana"
|
3793 |
-
|
3794 |
-
#: src/addons/lockadmin.php:175, src/addons/lockadmin.php:176
|
3795 |
-
msgid "%s hours"
|
3796 |
-
msgstr "%s ore"
|
3797 |
-
|
3798 |
-
#: src/addons/lockadmin.php:174
|
3799 |
-
msgid "1 hour"
|
3800 |
-
msgstr "1 ora"
|
3801 |
-
|
3802 |
-
#: src/addons/lockadmin.php:163
|
3803 |
-
msgid "Please make sure that you have made a note of the password!"
|
3804 |
-
msgstr "Assicurati di aver preso nota della password!"
|
3805 |
-
|
3806 |
-
#: src/addons/lockadmin.php:156,
|
3807 |
-
#: src/templates/wp-admin/advanced/lock-admin.php:8
|
3808 |
-
msgid "Lock access to the UpdraftPlus settings page"
|
3809 |
-
msgstr "Blocca l'accesso alla pagina di configurazione di UpdraftPlus"
|
3810 |
-
|
3811 |
-
#: src/addons/lockadmin.php:129
|
3812 |
-
msgid "The admin password has been changed."
|
3813 |
-
msgstr "La password di amministrazione è stata cambiata."
|
3814 |
-
|
3815 |
-
#: src/addons/lockadmin.php:127
|
3816 |
-
msgid "An admin password has been set."
|
3817 |
-
msgstr "Una password di amministrazione è stata settata."
|
3818 |
-
|
3819 |
-
#: src/addons/lockadmin.php:125
|
3820 |
-
msgid "The admin password has now been removed."
|
3821 |
-
msgstr "La password di amministrazione è stata rimossa."
|
3822 |
-
|
3823 |
-
#: src/addons/morefiles.php:141
|
3824 |
-
msgid "(learn more about this significant option)"
|
3825 |
-
msgstr "(per saperne di più riguardo questa importante opzione)"
|
3826 |
-
|
3827 |
-
#: src/udaddons/options.php:241
|
3828 |
-
msgid "Note that after you have claimed your add-ons, you can remove your password (but not the email address) from the settings below, without affecting this site's access to updates."
|
3829 |
-
msgstr ""
|
3830 |
-
|
3831 |
-
#: src/admin.php:3209, src/admin.php:4278
|
3832 |
-
msgid "View Log"
|
3833 |
-
msgstr "Visualizza il log"
|
3834 |
-
|
3835 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:18,
|
3836 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:97
|
3837 |
-
msgid "Backup data (click to download)"
|
3838 |
-
msgstr "Dati di backup (clicca per scaricare)"
|
3839 |
-
|
3840 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:17,
|
3841 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:64
|
3842 |
-
msgid "Backup date"
|
3843 |
-
msgstr "Data Backup "
|
3844 |
-
|
3845 |
-
#: src/templates/wp-admin/settings/form-contents.php:42,
|
3846 |
-
#: src/templates/wp-admin/settings/form-contents.php:75
|
3847 |
-
msgid "and retain this many scheduled backups"
|
3848 |
-
msgstr ""
|
3849 |
-
|
3850 |
-
#: src/admin.php:3673
|
3851 |
-
msgid "incremental backup; base backup: %s"
|
3852 |
-
msgstr "backup incrementale; backup di base: %s"
|
3853 |
-
|
3854 |
-
#: src/templates/wp-admin/advanced/lock-admin.php:19
|
3855 |
-
msgid "For the ability to lock access to UpdraftPlus settings with a password, upgrade to UpdraftPlus Premium."
|
3856 |
-
msgstr "Per bloccare l'accesso alle impostazioni di UpdraftPlus con una password, aggiorna a UpdraftPlus Premium."
|
3857 |
-
|
3858 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:69,
|
3859 |
-
#: src/templates/wp-admin/settings/tab-backups.php:71
|
3860 |
-
msgid "Upload files into UpdraftPlus."
|
3861 |
-
msgstr "Carica i file in UpdraftPlus."
|
3862 |
-
|
3863 |
-
#: src/admin.php:1138, src/includes/class-commands.php:462,
|
3864 |
-
#: src/templates/wp-admin/settings/take-backup.php:12
|
3865 |
-
msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)."
|
3866 |
-
msgstr ""
|
3867 |
-
|
3868 |
-
#: src/class-updraftplus.php:3990
|
3869 |
-
msgid "Backup label:"
|
3870 |
-
msgstr "Etichetta del backup:"
|
3871 |
-
|
3872 |
-
#: src/addons/backblaze.php:205, src/admin.php:2113
|
3873 |
-
msgid "Error: unexpected file read fail"
|
3874 |
-
msgstr "Errore: di lettura del file"
|
3875 |
-
|
3876 |
-
#: src/backup.php:3437
|
3877 |
-
msgid "check your log for more details."
|
3878 |
-
msgstr "controllare il log per maggiori dettagli."
|
3879 |
-
|
3880 |
-
#: src/backup.php:3435
|
3881 |
-
msgid "your web hosting account appears to be full; please see: %s"
|
3882 |
-
msgstr "il vostro account di web hosting sembra essere pieno; vedi %s"
|
3883 |
-
|
3884 |
-
#: src/backup.php:3433
|
3885 |
-
msgid "A zip error occurred"
|
3886 |
-
msgstr "E' avvenuto un errore dello zip."
|
3887 |
-
|
3888 |
-
#: src/addons/reporting.php:67
|
3889 |
-
msgid "Your label for this backup (optional)"
|
3890 |
-
msgstr "Dai un nome a questo backup (opzionale)"
|
3891 |
-
|
3892 |
-
#: src/methods/googledrive.php:1200
|
3893 |
-
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."
|
3894 |
-
msgstr "%s non permette l'autorizzazione di siti residenti su indirizzi IP diretti. Dovrai cambiare l'indirizzo IP del tuo sito (%s) prima di poter utilizzare %s per la memorizzazione dei dati."
|
3895 |
-
|
3896 |
-
#: src/methods/updraftvault.php:718, src/udaddons/updraftplus-addons.php:1000
|
3897 |
-
msgid "You entered an email address that was not recognised by UpdraftPlus.Com"
|
3898 |
-
msgstr "Hai inserito un indirizzo email non riconosciuto da UpdraftPlus.Com"
|
3899 |
-
|
3900 |
-
#: src/methods/updraftvault.php:715, src/udaddons/updraftplus-addons.php:996
|
3901 |
-
msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com."
|
3902 |
-
msgstr "Il tuo indirizzo email risulta valido, ma la password non è stata riconosciuta da UpdraftPlus.Com."
|
3903 |
-
|
3904 |
-
#: src/methods/updraftvault.php:656, src/udaddons/updraftplus-addons.php:862
|
3905 |
-
msgid "You need to supply both an email address and a password"
|
3906 |
-
msgstr "Dovrai fornire un indirizzo email e una password."
|
3907 |
-
|
3908 |
-
#: src/class-updraftplus.php:4009
|
3909 |
-
msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite."
|
3910 |
-
msgstr "Se vuoi ripristinare il backup di un multisito, dovresti per prima cosa settare la tua istallazione Wordpress come multisito."
|
3911 |
-
|
3912 |
-
#: src/class-updraftplus.php:4009
|
3913 |
-
msgid "Your backup is of a WordPress multisite install; but this site is not. Only the first site of the network will be accessible."
|
3914 |
-
msgstr "Il backup riguarda un'installazione multisito di Wordpress; non questo sito. Avrai accesso solo al primo sito della rete."
|
3915 |
-
|
3916 |
-
#: src/addons/migrator.php:1252
|
3917 |
-
msgid "already done"
|
3918 |
-
msgstr "già fatto"
|
3919 |
-
|
3920 |
-
#: src/addons/migrator.php:1209
|
3921 |
-
msgid "skipped (not in list)"
|
3922 |
-
msgstr "saltato (non in lista)"
|
3923 |
-
|
3924 |
-
#: src/addons/migrator.php:1209, src/addons/migrator.php:1252,
|
3925 |
-
#: src/addons/migrator.php:1386
|
3926 |
-
msgid "Search and replacing table:"
|
3927 |
-
msgstr "Ricerca e sostituzione tabella:"
|
3928 |
-
|
3929 |
-
#: src/addons/migrator.php:387
|
3930 |
-
msgid "Enter a comma-separated list; otherwise, leave blank for all tables."
|
3931 |
-
msgstr "Immettere un elenco separato da virgole; in caso contrario, lasciare vuoto per tutte le tabelle."
|
3932 |
-
|
3933 |
-
#: src/addons/migrator.php:387
|
3934 |
-
msgid "These tables only"
|
3935 |
-
msgstr "Solo queste tabelle"
|
3936 |
-
|
3937 |
-
#: src/addons/migrator.php:386
|
3938 |
-
msgid "Rows per batch"
|
3939 |
-
msgstr "Righe per batch"
|
3940 |
-
|
3941 |
-
#: src/udaddons/options.php:98
|
3942 |
-
msgid "You have not yet connected with your UpdraftPlus.Com account."
|
3943 |
-
msgstr "Non ti sei ancora collegato con il tuo account UpdraftPlus.Com."
|
3944 |
-
|
3945 |
-
#: src/udaddons/options.php:96, src/udaddons/options.php:98
|
3946 |
-
msgid "You need to connect to receive future updates to UpdraftPlus."
|
3947 |
-
msgstr "È necessario connettersi per ricevere gli aggiornamenti futuri di UpdraftPlus."
|
3948 |
-
|
3949 |
-
#: src/class-updraftplus.php:3982
|
3950 |
-
msgid "Any support requests to do with %s should be raised with your web hosting company."
|
3951 |
-
msgstr "Eventuali richieste di supporto da fare con %s devono essere sollevate con la vostra società di web hosting."
|
3952 |
-
|
3953 |
-
#: src/class-updraftplus.php:3982
|
3954 |
-
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."
|
3955 |
-
msgstr "Si dovrebbe procedere solo se non è possibile aggiornare il server corrente e si è fiduciosi (o disposti a rischiare) che i vostri plugin / temi / etc. siano compatibili con la versione %s più vecchia."
|
3956 |
-
|
3957 |
-
#: src/class-updraftplus.php:3982
|
3958 |
-
msgid "This is significantly newer than the server which you are now restoring onto (version %s)."
|
3959 |
-
msgstr "Questo è significativamente più recente del server sul quale si sta ora eseguendo il ripristino (versione %s)."
|
3960 |
-
|
3961 |
-
#: src/class-updraftplus.php:3982
|
3962 |
-
msgid "The site in this backup was running on a webserver with version %s of %s. "
|
3963 |
-
msgstr "Il sito in questo backup è stato eseguito su un server web con la versione %s di %s."
|
3964 |
-
|
3965 |
-
#: src/includes/updraftplus-notices.php:133,
|
3966 |
-
#: src/includes/updraftplus-notices.php:134
|
3967 |
-
msgid "LinkedIn"
|
3968 |
-
msgstr "LinkedIn"
|
3969 |
-
|
3970 |
-
#: src/includes/updraftplus-notices.php:133,
|
3971 |
-
#: src/includes/updraftplus-notices.php:134
|
3972 |
-
msgid "Google+"
|
3973 |
-
msgstr "Google+"
|
3974 |
-
|
3975 |
-
#: src/includes/updraftplus-notices.php:133,
|
3976 |
-
#: src/includes/updraftplus-notices.php:134
|
3977 |
-
msgid "Facebook"
|
3978 |
-
msgstr "Facebook"
|
3979 |
-
|
3980 |
-
#: src/includes/updraftplus-notices.php:133,
|
3981 |
-
#: src/includes/updraftplus-notices.php:134,
|
3982 |
-
#: src/templates/wp-admin/settings/header.php:16
|
3983 |
-
msgid "Twitter"
|
3984 |
-
msgstr "Twitter"
|
3985 |
-
|
3986 |
-
#: src/includes/updraftplus-notices.php:132
|
3987 |
-
msgid "UpdraftPlus is on social media - check us out!"
|
3988 |
-
msgstr "UpdraftPlus è sui social media - dai un'occhiata qui!"
|
3989 |
-
|
3990 |
-
#: src/addons/wp-cli.php:907, src/admin.php:4466
|
3991 |
-
msgid "Why am I seeing this?"
|
3992 |
-
msgstr "Perché vedo questo?"
|
3993 |
-
|
3994 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:55,
|
3995 |
-
#: src/templates/wp-admin/settings/tab-backups.php:59
|
3996 |
-
msgid "The location of this directory is set in the expert settings, in the Settings tab."
|
3997 |
-
msgstr "E' possibile modificare la posizione di questa cartella nelle impostazioni avanzate, nella scheda Impostazioni."
|
3998 |
-
|
3999 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:55,
|
4000 |
-
#: src/templates/wp-admin/settings/tab-backups.php:59
|
4001 |
-
msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded."
|
4002 |
-
msgstr "Premi qui per guardare dentro la cartella di UpdraftPlus (nel tuo spazio web hosting) per ogni nuovo set di backup caricato."
|
4003 |
-
|
4004 |
-
#: src/admin.php:2050, src/admin.php:2062, src/includes/class-commands.php:833
|
4005 |
-
msgid "Start backup"
|
4006 |
-
msgstr "Inizio backup"
|
4007 |
-
|
4008 |
-
#: src/class-updraftplus.php:3953, src/restorer.php:1446
|
4009 |
-
msgid "You are using the %s webserver, but do not seem to have the %s module loaded."
|
4010 |
-
msgstr "Stai utilizzando il webserver %s, ma sembra che il modulo %s non sia caricato."
|
4011 |
-
|
4012 |
-
#: src/admin.php:3571
|
4013 |
-
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."
|
4014 |
-
msgstr "È necessario consultare il fornitore di web hosting per sapere come impostare le autorizzazioni per un plugin per WordPress per scrivere nella directory."
|
4015 |
-
|
4016 |
-
#: src/templates/wp-admin/advanced/advanced-tools.php:6
|
4017 |
-
msgid "Unless you have a problem, you can completely ignore everything here."
|
4018 |
-
msgstr "A meno che non si verifichi un problema, è possibile ignorare completamente questi dati."
|
4019 |
-
|
4020 |
-
#: src/admin.php:2288
|
4021 |
-
msgid "This file could not be uploaded"
|
4022 |
-
msgstr "Questo file non può essere caricato"
|
4023 |
-
|
4024 |
-
#: src/admin.php:2251
|
4025 |
-
msgid "You will find more information about this in the Settings section."
|
4026 |
-
msgstr "Puoi trovare ulteriori informazioni nella sezione Impostazioni."
|
4027 |
-
|
4028 |
-
#: src/addons/importer.php:78
|
4029 |
-
msgid "Supported backup plugins: %s"
|
4030 |
-
msgstr "Plugin di backup supportati: %s"
|
4031 |
-
|
4032 |
-
#: src/addons/importer.php:78
|
4033 |
-
msgid "Was this a backup created by a different backup plugin? If so, then you might first need to rename it so that it can be recognized - please follow this link."
|
4034 |
-
msgstr ""
|
4035 |
-
|
4036 |
-
#: src/templates/wp-admin/advanced/site-info.php:44
|
4037 |
-
msgid "Memory limit"
|
4038 |
-
msgstr "Limite di Memoria"
|
4039 |
-
|
4040 |
-
#: src/includes/class-filesystem-functions.php:233, src/restorer.php:2006
|
4041 |
-
msgid "restoration"
|
4042 |
-
msgstr "ripristino"
|
4043 |
-
|
4044 |
-
#: src/backup.php:1037
|
4045 |
-
msgid "Incremental"
|
4046 |
-
msgstr "Incrementale"
|
4047 |
-
|
4048 |
-
#: src/backup.php:1037
|
4049 |
-
msgid "Full backup"
|
4050 |
-
msgstr "Backup completo"
|
4051 |
-
|
4052 |
-
#: src/addons/autobackup.php:548, src/addons/autobackup.php:550
|
4053 |
-
msgid "now proceeding with the updates..."
|
4054 |
-
msgstr "ora si procede con gli aggiornamenti..."
|
4055 |
-
|
4056 |
-
#: src/addons/autobackup.php:548, src/addons/autobackup.php:550
|
4057 |
-
msgid "(view log...)"
|
4058 |
-
msgstr "(vedi log...)"
|
4059 |
-
|
4060 |
-
#: src/addons/autobackup.php:548, src/addons/autobackup.php:550
|
4061 |
-
msgid "Backup succeeded"
|
4062 |
-
msgstr "Backup riuscito"
|
4063 |
-
|
4064 |
-
#: src/addons/incremental.php:237, src/addons/incremental.php:238,
|
4065 |
-
#: src/addons/incremental.php:239, src/addons/incremental.php:240,
|
4066 |
-
#: src/admin.php:3718, src/admin.php:3719, src/admin.php:3720,
|
4067 |
-
#: src/updraftplus.php:100, src/updraftplus.php:101, src/updraftplus.php:102
|
4068 |
-
msgid "Every %s hours"
|
4069 |
-
msgstr "Ogni %s ore"
|
4070 |
-
|
4071 |
-
#: src/addons/migrator.php:903, src/addons/migrator.php:905
|
4072 |
-
msgid "search and replace"
|
4073 |
-
msgstr "trova e sostituisci"
|
4074 |
-
|
4075 |
-
#: src/addons/migrator.php:389
|
4076 |
-
msgid "Go"
|
4077 |
-
msgstr "Vai"
|
4078 |
-
|
4079 |
-
#: src/addons/migrator.php:378
|
4080 |
-
msgid "A search/replace cannot be undone - are you sure you want to do this?"
|
4081 |
-
msgstr "La ricerca/sostituzione non può essere annullata - si è sicuri di voler continuare?"
|
4082 |
-
|
4083 |
-
#: src/addons/migrator.php:377
|
4084 |
-
msgid "This can easily destroy your site; so, use it with care!"
|
4085 |
-
msgstr "Questo potrebbe distruggere il vostro sito, quindi usare con cautela!"
|
4086 |
-
|
4087 |
-
#: src/addons/migrator.php:333, src/addons/migrator.php:385
|
4088 |
-
msgid "Replace with"
|
4089 |
-
msgstr "Sostituisci con"
|
4090 |
-
|
4091 |
-
#: src/addons/migrator.php:332, src/addons/migrator.php:384
|
4092 |
-
msgid "Search for"
|
4093 |
-
msgstr "cerca"
|
4094 |
-
|
4095 |
-
#: src/addons/migrator.php:331, src/addons/migrator.php:376,
|
4096 |
-
#: src/templates/wp-admin/advanced/search-replace.php:7,
|
4097 |
-
#: src/templates/wp-admin/advanced/tools-menu.php:18
|
4098 |
-
msgid "Search / replace database"
|
4099 |
-
msgstr "Cerca / sostituisci database"
|
4100 |
-
|
4101 |
-
#: src/addons/migrator.php:337
|
4102 |
-
msgid "search term"
|
4103 |
-
msgstr "termine di ricerca"
|
4104 |
-
|
4105 |
-
#: src/restorer.php:2812
|
4106 |
-
msgid "Too many database errors have occurred - aborting"
|
4107 |
-
msgstr "Si sono verificati troppi errori di database - interruzione"
|
4108 |
-
|
4109 |
-
#: src/backup.php:1103
|
4110 |
-
msgid "read more at %s"
|
4111 |
-
msgstr "Per saperne di più su %s"
|
4112 |
-
|
4113 |
-
#: src/backup.php:1103
|
4114 |
-
msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news"
|
4115 |
-
msgstr "I report e-mail creati da UpdraftPlus (edizione gratuita) contengono le ultime notizie di UpdraftPlus.com"
|
4116 |
-
|
4117 |
-
#: src/methods/googledrive.php:1207
|
4118 |
-
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."
|
4119 |
-
msgstr "N.B. Se si installa UpdraftPlus su diversi siti WordPress, allora non è possibile riutilizzare il progetto; è necessario crearne un nuovo per ogni sito dalla vostra console di Google API."
|
4120 |
-
|
4121 |
-
#: src/includes/class-backup-history.php:69
|
4122 |
-
msgid "You have not yet made any backups."
|
4123 |
-
msgstr "Non hai ancora fatto nessun backup."
|
4124 |
-
|
4125 |
-
#: src/templates/wp-admin/settings/form-contents.php:152
|
4126 |
-
msgid "Database Options"
|
4127 |
-
msgstr "Opzioni Database"
|
4128 |
-
|
4129 |
-
#: src/templates/wp-admin/advanced/site-info.php:95
|
4130 |
-
msgid "Plugins for debugging:"
|
4131 |
-
msgstr "Plugin per il debug:"
|
4132 |
-
|
4133 |
-
#: src/templates/wp-admin/advanced/site-info.php:74
|
4134 |
-
msgid "%s (%s used)"
|
4135 |
-
msgstr "%s (%s usata)"
|
4136 |
-
|
4137 |
-
#: src/templates/wp-admin/advanced/site-info.php:74
|
4138 |
-
msgid "Free disk space in account:"
|
4139 |
-
msgstr "Spazio libero su disco per l'account:"
|
4140 |
-
|
4141 |
-
#: src/admin.php:4900, src/templates/wp-admin/settings/take-backup.php:50
|
4142 |
-
msgid "This button is disabled because your backup directory is not writable (see the settings)."
|
4143 |
-
msgstr "Questo pulsante è disabilitato perché la directory di backup non è scrivibile (vedere le impostazioni)."
|
4144 |
-
|
4145 |
-
#: src/admin.php:819, src/admin.php:1918,
|
4146 |
-
#: src/includes/deprecated-actions.php:29,
|
4147 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:21,
|
4148 |
-
#: src/templates/wp-admin/settings/tab-backups.php:21,
|
4149 |
-
#: src/templates/wp-admin/settings/tab-backups.php:44
|
4150 |
-
msgid "Existing Backups"
|
4151 |
-
msgstr "Backup esistenti"
|
4152 |
-
|
4153 |
-
#: src/admin.php:1143
|
4154 |
-
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."
|
4155 |
-
msgstr "Per modificare le impostazioni predefinite di ciò che si vuole backuppare, per configurare i backup pianificati, per inviare i backup all'archiviazione remota (consigliato), e per altro ancora, andare alla scheda delle Impostazioni."
|
4156 |
-
|
4157 |
-
#: src/admin.php:1143
|
4158 |
-
msgid "To make a backup, just press the Backup Now button."
|
4159 |
-
msgstr "Per fare un backup, è sufficiente premere il pulsante Backup Now."
|
4160 |
-
|
4161 |
-
#: src/admin.php:1143
|
4162 |
-
msgid "Welcome to UpdraftPlus!"
|
4163 |
-
msgstr "Benvenuto in UpdraftPlus!"
|
4164 |
-
|
4165 |
-
#: src/addons/moredatabase.php:318
|
4166 |
-
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)."
|
4167 |
-
msgstr "Se inserisci qui del testo, verrà usato per crittare i backup del database (Rijndael). <strong>Prendi nota del testo e non perderlo, o tutti i tuoi futuri backup <em>saranno</em> inutili.</strong> Questa è inoltre la chiave usata per decrittare i backup da questo pannello di controllo (quindi se la cambi, la decrittazione automatica non funzionerà più finché non inserirai di nuovo il testo originale)."
|
4168 |
-
|
4169 |
-
#: src/addons/moredatabase.php:257
|
4170 |
-
msgid "Testing..."
|
4171 |
-
msgstr "Test in corso..."
|
4172 |
-
|
4173 |
-
#: src/addons/moredatabase.php:244
|
4174 |
-
msgid "Test connection..."
|
4175 |
-
msgstr "Prova la connessione..."
|
4176 |
-
|
4177 |
-
#: src/addons/moredatabase.php:243
|
4178 |
-
msgid "Table prefix"
|
4179 |
-
msgstr "Prefisso della tabella"
|
4180 |
-
|
4181 |
-
#: src/addons/moredatabase.php:237
|
4182 |
-
msgid "Backup external database"
|
4183 |
-
msgstr "Backup di un database esterno"
|
4184 |
-
|
4185 |
-
#: src/addons/moredatabase.php:177
|
4186 |
-
msgid "Add an external database to backup..."
|
4187 |
-
msgstr "Aggiungo un database esterno al backup..."
|
4188 |
-
|
4189 |
-
#: src/addons/moredatabase.php:173
|
4190 |
-
msgid "If your database includes extra tables that are not part of this WordPress site (you will know if this is the case), then activate this option to also back them up."
|
4191 |
-
msgstr "Se il tuo database contiene tabelle extra che non fanno parte di questo sito (se questo è il caso ne sarai sicuramente al corrente), allora attiva questa opzione per salvare anche queste tabelle."
|
4192 |
-
|
4193 |
-
#: src/addons/moredatabase.php:172
|
4194 |
-
msgid "Backup non-WordPress tables contained in the same database as WordPress"
|
4195 |
-
msgstr "Backup di tabelle non Wordpress contenute nello stesso Database di Wordpress"
|
4196 |
-
|
4197 |
-
#: src/addons/moredatabase.php:172
|
4198 |
-
msgid "This option will cause tables stored in the MySQL database which do not belong to WordPress (identified by their lacking the configured WordPress prefix, %s) to also be backed up."
|
4199 |
-
msgstr "Questa opzione farà in modo che tabelle memorizzate nel database MySQL, che non appartengono a WordPress (identificate dalla mancanza del prefisso WordPress, %s) saranno backuppate."
|
4200 |
-
|
4201 |
-
#: src/addons/moredatabase.php:157
|
4202 |
-
msgid "Connection failed."
|
4203 |
-
msgstr "Connessione fallita."
|
4204 |
-
|
4205 |
-
#: src/addons/moredatabase.php:155
|
4206 |
-
msgid "Connection succeeded."
|
4207 |
-
msgstr "Connessione avvenuta con successo."
|
4208 |
-
|
4209 |
-
#: src/addons/moredatabase.php:137
|
4210 |
-
msgid "%s total table(s) found; %s with the indicated prefix."
|
4211 |
-
msgstr "%s tabella(e) trovata(e) in totale; %s con il prefisso indicato."
|
4212 |
-
|
4213 |
-
#: src/addons/moredatabase.php:131
|
4214 |
-
msgid "%s table(s) found."
|
4215 |
-
msgstr "%s tabella(e) trovata(e)."
|
4216 |
-
|
4217 |
-
#: src/addons/moredatabase.php:104
|
4218 |
-
msgid "database connection attempt failed"
|
4219 |
-
msgstr "tentativo di connessione al database fallito"
|
4220 |
-
|
4221 |
-
#: src/addons/moredatabase.php:93
|
4222 |
-
msgid "database name"
|
4223 |
-
msgstr "nome del database"
|
4224 |
-
|
4225 |
-
#: src/addons/moredatabase.php:91
|
4226 |
-
msgid "host"
|
4227 |
-
msgstr "host"
|
4228 |
-
|
4229 |
-
#: src/addons/moredatabase.php:89
|
4230 |
-
msgid "user"
|
4231 |
-
msgstr "utente"
|
4232 |
-
|
4233 |
-
#: src/class-updraftplus.php:1736
|
4234 |
-
msgid "External database (%s)"
|
4235 |
-
msgstr "Database esterno (%s)"
|
4236 |
-
|
4237 |
-
#: src/methods/googledrive.php:1207
|
4238 |
-
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."
|
4239 |
-
msgstr "Segui questo link alla Console della tua API Google, attiva l'API Drive e crea un ID client nella sezione API Access."
|
4240 |
-
|
4241 |
-
#: src/methods/googledrive.php:502
|
4242 |
-
msgid "failed to access parent folder"
|
4243 |
-
msgstr "impossibile accedere alla cartella superiore"
|
4244 |
-
|
4245 |
-
#: src/addons/googlecloud.php:698, src/addons/onedrive.php:907,
|
4246 |
-
#: src/addons/onedrive.php:918, src/methods/googledrive.php:442,
|
4247 |
-
#: src/methods/googledrive.php:455
|
4248 |
-
msgid "However, subsequent access attempts failed:"
|
4249 |
-
msgstr "Ad ogni modo, ecco i tentativi di accesso falliti:"
|
4250 |
-
|
4251 |
-
#: src/addons/wp-cli.php:437, src/admin.php:4034
|
4252 |
-
msgid "External database"
|
4253 |
-
msgstr "Database esterno"
|
4254 |
-
|
4255 |
-
#: src/templates/wp-admin/settings/form-contents.php:304
|
4256 |
-
msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these."
|
4257 |
-
msgstr "Questo causerà inoltre la stampa a schermo del debugging di tutti i plugin - pertanto non meravigliatevi se verranno visualizzati."
|
4258 |
-
|
4259 |
-
#: src/templates/wp-admin/settings/form-contents.php:233
|
4260 |
-
msgid "Backup more databases"
|
4261 |
-
msgstr "Backup di più di un database"
|
4262 |
-
|
4263 |
-
#: src/templates/wp-admin/settings/form-contents.php:192
|
4264 |
-
msgid "First, enter the decryption key"
|
4265 |
-
msgstr "Per prima cosa, inserisci la chiave di crittazione"
|
4266 |
-
|
4267 |
-
#: src/templates/wp-admin/settings/form-contents.php:175
|
4268 |
-
msgid "You can manually decrypt an encrypted database here."
|
4269 |
-
msgstr "Qui puoi crittare e decrittare i database manualmente."
|
4270 |
-
|
4271 |
-
#: src/templates/wp-admin/settings/form-contents.php:161
|
4272 |
-
msgid "It can also backup external databases."
|
4273 |
-
msgstr "Può anche eseguire il backup di database esterni."
|
4274 |
-
|
4275 |
-
#: src/templates/wp-admin/settings/form-contents.php:161
|
4276 |
-
msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup."
|
4277 |
-
msgstr "Vuoi proteggere i tuoi dati? UpdraftPlus Premium può crittare il backup del tuo database."
|
4278 |
-
|
4279 |
-
#: src/templates/wp-admin/settings/form-contents.php:87
|
4280 |
-
msgid "use UpdraftPlus Premium"
|
4281 |
-
msgstr "usa UpdraftPlus Premium"
|
4282 |
-
|
4283 |
-
#: src/class-updraftplus.php:3833
|
4284 |
-
msgid "Decryption failed. The database file is encrypted."
|
4285 |
-
msgstr "Dectrittazione fallita. Il file del database è crittato."
|
4286 |
-
|
4287 |
-
#: src/includes/class-wpadmin-commands.php:149
|
4288 |
-
msgid "Only the WordPress database can be restored; you will need to deal with the external database manually."
|
4289 |
-
msgstr "Può essere memorizzato solo il database d Wordpress; dovrai provvedere al database esterno manualmente."
|
4290 |
-
|
4291 |
-
#: src/restorer.php:2284, src/restorer.php:2753, src/restorer.php:2794,
|
4292 |
-
#: src/restorer.php:2807
|
4293 |
-
msgid "An error occurred on the first %s command - aborting run"
|
4294 |
-
msgstr "Si è verificato un errore nel primo comando %s - esecuzione terminata"
|
4295 |
-
|
4296 |
-
#: src/addons/moredatabase.php:112, src/backup.php:1603
|
4297 |
-
msgid "Connection failed: check your access details, that the database server is up, and that the network connection is not firewalled."
|
4298 |
-
msgstr "Connessione fallita: controlla i dati del tuo accesso, che il tuo server di database sia acceso e che la connessione alla rete non sia bloccata da un firewall."
|
4299 |
-
|
4300 |
-
#: src/backup.php:1603
|
4301 |
-
msgid "database connection attempt failed."
|
4302 |
-
msgstr "Tentativo di connessione al database fallito."
|
4303 |
-
|
4304 |
-
#: src/addons/migrator.php:1140
|
4305 |
-
msgid "Warning: the database's home URL (%s) is different to what we expected (%s)"
|
4306 |
-
msgstr "Attenzione: l'URL del database (%s) è differente da quello previsto (%s)"
|
4307 |
-
|
4308 |
-
#: src/addons/google-enhanced.php:78
|
4309 |
-
msgid "In %s, path names are case sensitive."
|
4310 |
-
msgstr "In %s, i nomi di percorso sono case sensitive."
|
4311 |
-
|
4312 |
-
#: src/addons/azure.php:638, src/addons/google-enhanced.php:76,
|
4313 |
-
#: src/addons/onedrive.php:1188
|
4314 |
-
msgid "If you leave it blank, then the backup will be placed in the root of your %s"
|
4315 |
-
msgstr "Se si lascia vuoto, il backup verrà posizionato nella root di %s"
|
4316 |
-
|
4317 |
-
#: src/addons/google-enhanced.php:76, src/addons/googlecloud.php:1039,
|
4318 |
-
#: src/addons/onedrive.php:1188
|
4319 |
-
msgid "e.g. %s"
|
4320 |
-
msgstr "esempio %s"
|
4321 |
-
|
4322 |
-
#: src/addons/google-enhanced.php:76, src/addons/onedrive.php:1188
|
4323 |
-
msgid "Enter the path of the %s folder you wish to use here."
|
4324 |
-
msgstr "Immettere il percorso della cartella %s che si desidera utilizzare."
|
4325 |
-
|
4326 |
-
#: src/methods/openstack2.php:170
|
4327 |
-
msgid "Container"
|
4328 |
-
msgstr "Contenitore"
|
4329 |
-
|
4330 |
-
#: src/methods/openstack2.php:153
|
4331 |
-
msgid "Leave this blank, and a default will be chosen."
|
4332 |
-
msgstr "Lasciare vuoto, e verrà utilizzato quello di default."
|
4333 |
-
|
4334 |
-
#: src/methods/openstack2.php:144
|
4335 |
-
msgid "Tenant"
|
4336 |
-
msgstr "Tenant"
|
4337 |
-
|
4338 |
-
#: src/addons/wp-cli.php:800, src/admin.php:4588, src/admin.php:5344,
|
4339 |
-
#: src/methods/openstack2.php:144,
|
4340 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:27,
|
4341 |
-
#: src/templates/wp-admin/settings/tab-backups.php:27,
|
4342 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:14
|
4343 |
-
msgid "Follow this link for more information"
|
4344 |
-
msgstr "Segui questo link per maggiori informazioni"
|
4345 |
-
|
4346 |
-
#: src/methods/openstack2.php:136, src/methods/openstack2.php:195
|
4347 |
-
msgid "authentication URI"
|
4348 |
-
msgstr "URI di autenticazione"
|
4349 |
-
|
4350 |
-
#: src/methods/openstack2.php:120
|
4351 |
-
msgid "Get your access credentials from your OpenStack Swift provider, and then pick a container name to use for storage. This container will be created for you if it does not already exist."
|
4352 |
-
msgstr "Ottieni le credenziali di accesso dal tuo provider OpenStack Swift, quindi scegli un nome di un contenitore da usare per la memorizzazione. Il contenitore, se non esistente, verrà appositamente creato."
|
4353 |
-
|
4354 |
-
#: src/methods/addon-base-v2.php:205, src/methods/addon-base-v2.php:225
|
4355 |
-
msgid "Failed to download %s"
|
4356 |
-
msgstr "Impossibile scaricare %s"
|
4357 |
-
|
4358 |
-
#: src/methods/addon-base-v2.php:219
|
4359 |
-
msgid "Failed to download"
|
4360 |
-
msgstr "Impossibile scaricare"
|
4361 |
-
|
4362 |
-
#: src/methods/addon-base-v2.php:125
|
4363 |
-
msgid "failed to list files"
|
4364 |
-
msgstr "impossibile ottenere la lista dei file"
|
4365 |
-
|
4366 |
-
#: src/methods/addon-base-v2.php:93, src/methods/addon-base-v2.php:98
|
4367 |
-
msgid "Failed to upload %s"
|
4368 |
-
msgstr "Impossibile scaricare %s"
|
4369 |
-
|
4370 |
-
#: src/methods/dropbox.php:806, src/methods/dropbox.php:808
|
4371 |
-
msgid "Success:"
|
4372 |
-
msgstr "Successo"
|
4373 |
-
|
4374 |
-
#: src/methods/backup-module.php:546
|
4375 |
-
msgid "<strong>After</strong> you have saved your settings (by clicking 'Save Changes' below), then come back here once and click this link to complete authentication with %s."
|
4376 |
-
msgstr "<strong>Dopo</strong> aver salvato le impostazioni (cliccando su 'Salva modifiche' sotto), tornare qui una volta e cliccare su questo link per completare l'autenticazione con %s."
|
4377 |
-
|
4378 |
-
#: src/addons/onedrive.php:1212, src/methods/dropbox.php:615
|
4379 |
-
msgid "(You appear to be already authenticated)."
|
4380 |
-
msgstr "(sembra tu sia già autenticato)"
|
4381 |
-
|
4382 |
-
#: src/methods/dropbox.php:611
|
4383 |
-
msgid "Dropbox"
|
4384 |
-
msgstr "Dropbox"
|
4385 |
-
|
4386 |
-
#: src/addons/onedrive.php:1205, src/methods/dropbox.php:611
|
4387 |
-
msgid "Authenticate with %s"
|
4388 |
-
msgstr "Autenticarsi con %s"
|
4389 |
-
|
4390 |
-
#: src/methods/cloudfiles.php:400, src/methods/openstack-base.php:455
|
4391 |
-
msgid "Error downloading remote file: Failed to download"
|
4392 |
-
msgstr "Errore durante il download del file remoto: Impossibile scaricare"
|
4393 |
-
|
4394 |
-
#: src/methods/openstack-base.php:526, src/methods/openstack-base.php:531
|
4395 |
-
msgid "Region: %s"
|
4396 |
-
msgstr "Regione: %s"
|
4397 |
-
|
4398 |
-
#: src/methods/openstack-base.php:525
|
4399 |
-
msgid "%s error - we accessed the container, but failed to create a file within it"
|
4400 |
-
msgstr "Errore %s - si accede al contenitore, ma non è possibile creare un file al suo interno"
|
4401 |
-
|
4402 |
-
#: src/methods/openstack-base.php:441
|
4403 |
-
msgid "The %s object was not found"
|
4404 |
-
msgstr "L'oggetto %s non è stato trovato"
|
4405 |
-
|
4406 |
-
#: src/methods/openstack-base.php:56, src/methods/openstack-base.php:364,
|
4407 |
-
#: src/methods/openstack-base.php:433
|
4408 |
-
msgid "Could not access %s container"
|
4409 |
-
msgstr "Impossibile accedere al contenitore %s"
|
4410 |
-
|
4411 |
-
#: src/methods/openstack-base.php:48, src/methods/openstack-base.php:123,
|
4412 |
-
#: src/methods/openstack-base.php:130, src/methods/openstack-base.php:356,
|
4413 |
-
#: src/methods/openstack-base.php:421
|
4414 |
-
msgid "%s error - failed to access the container"
|
4415 |
-
msgstr "Errore %s - impossibile accedere al contenitore"
|
4416 |
-
|
4417 |
-
#: src/addons/googlecloud.php:1108, src/addons/onedrive.php:1248,
|
4418 |
-
#: src/methods/dropbox.php:668, src/methods/googledrive.php:1289
|
4419 |
-
msgid "Account holder's name: %s."
|
4420 |
-
msgstr "Proprietario dell'Account: %s"
|
4421 |
-
|
4422 |
-
#: src/methods/googledrive.php:1266
|
4423 |
-
msgid "To be able to set a custom folder name, use UpdraftPlus Premium."
|
4424 |
-
msgstr "Per poter impostare un nome di cartella personalizzata, utilizzare UpdraftPlus Premium."
|
4425 |
-
|
4426 |
-
#: src/methods/googledrive.php:1253
|
4427 |
-
msgid "It is an ID number internal to Google Drive"
|
4428 |
-
msgstr "Si tratta di un numero ID interno di Google Drive"
|
4429 |
-
|
4430 |
-
#: src/methods/googledrive.php:1253
|
4431 |
-
msgid "<strong>This is NOT a folder name</strong>."
|
4432 |
-
msgstr "<strong>Questo NON è un nome di cartella</strong>."
|
4433 |
-
|
4434 |
-
#: src/addons/google-enhanced.php:74, src/methods/googledrive.php:1248,
|
4435 |
-
#: src/methods/googledrive.php:1259
|
4436 |
-
msgid "Folder"
|
4437 |
-
msgstr "Cartella"
|
4438 |
-
|
4439 |
-
#: src/addons/googlecloud.php:296, src/addons/onedrive.php:451,
|
4440 |
-
#: src/methods/googledrive.php:1160
|
4441 |
-
msgid "%s download: failed: file not found"
|
4442 |
-
msgstr "download %s fallito: file non trovato."
|
4443 |
-
|
4444 |
-
#: src/addons/googlecloud.php:718, src/methods/googledrive.php:475
|
4445 |
-
msgid "Name: %s."
|
4446 |
-
msgstr "Nome: %s"
|
4447 |
-
|
4448 |
-
#: src/methods/googledrive.php:216
|
4449 |
-
msgid "Google Drive list files: failed to access parent folder"
|
4450 |
-
msgstr "Lista dei file di Google Drive: impossibile accedere alla cartella principale"
|
4451 |
-
|
4452 |
-
#: src/methods/addon-not-yet-present.php:99, src/methods/insufficient.php:121
|
4453 |
-
msgid "Your %s version: %s."
|
4454 |
-
msgstr "La tua versione %s: %s."
|
4455 |
-
|
4456 |
-
#: src/methods/addon-not-yet-present.php:98, src/methods/insufficient.php:120
|
4457 |
-
msgid "You will need to ask your web hosting company to upgrade."
|
4458 |
-
msgstr "E' necessario chiedere alla compagnia di web hosting di aggiornare."
|
4459 |
-
|
4460 |
-
#: src/methods/addon-not-yet-present.php:19, src/methods/insufficient.php:21
|
4461 |
-
msgid "This remote storage method (%s) requires PHP %s or later."
|
4462 |
-
msgstr "Questo metodo di archiviazione remota (%s) richiede una versione di PHP %s o successiva"
|
4463 |
-
|
4464 |
-
#: src/templates/wp-admin/advanced/site-info.php:100
|
4465 |
-
msgid "Call"
|
4466 |
-
msgstr "Richiama"
|
4467 |
-
|
4468 |
-
#: src/templates/wp-admin/advanced/site-info.php:98,
|
4469 |
-
#: src/templates/wp-admin/advanced/site-info.php:98
|
4470 |
-
msgid "Fetch"
|
4471 |
-
msgstr "Recupera"
|
4472 |
-
|
4473 |
-
#: src/addons/migrator.php:501,
|
4474 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:72,
|
4475 |
-
#: src/templates/wp-admin/settings/form-contents.php:182,
|
4476 |
-
#: src/templates/wp-admin/settings/tab-backups.php:74
|
4477 |
-
msgid "This feature requires %s version %s or later"
|
4478 |
-
msgstr "Questa funzionalità richiede %s versione %s o successiva"
|
4479 |
-
|
4480 |
-
#: src/restorer.php:531
|
4481 |
-
msgid "Failed to unpack the archive"
|
4482 |
-
msgstr "Impossibile scompattare l'archivio"
|
4483 |
-
|
4484 |
-
#: src/class-updraftplus.php:1366
|
4485 |
-
msgid "Error - failed to download the file"
|
4486 |
-
msgstr "Errore - impossibile scaricare il file"
|
4487 |
-
|
4488 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:55,
|
4489 |
-
#: src/templates/wp-admin/settings/tab-backups.php:59
|
4490 |
-
msgid "Rescan local folder for new backup sets"
|
4491 |
-
msgstr "Ripetere la scansione cartella locale per i nuovi set di backup"
|
4492 |
-
|
4493 |
-
#: src/udaddons/updraftplus-addons.php:259
|
4494 |
-
msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility."
|
4495 |
-
msgstr "Si consiglia di aggiornare UpdraftPlus per disporre di una versione la cui compatibilità sia stata testata."
|
4496 |
-
|
4497 |
-
#: src/udaddons/updraftplus-addons.php:259
|
4498 |
-
msgid "It has been tested up to version %s."
|
4499 |
-
msgstr "E 'stato testato fino alla versione %s."
|
4500 |
-
|
4501 |
-
#: src/udaddons/updraftplus-addons.php:259
|
4502 |
-
msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)."
|
4503 |
-
msgstr "La versione installata di UpdraftPlus Backup/Restore non è stata testata sulla tua versione di WordPress (%s)."
|
4504 |
-
|
4505 |
-
#: src/addons/sftp.php:530
|
4506 |
-
msgid "password/key"
|
4507 |
-
msgstr "password/chiave"
|
4508 |
-
|
4509 |
-
#: src/addons/migrator.php:1758, src/addons/sftp.php:467, src/admin.php:868,
|
4510 |
-
#: src/admin.php:5192, src/templates/wp-admin/settings/temporary-clone.php:63
|
4511 |
-
msgid "Key"
|
4512 |
-
msgstr "Chiave"
|
4513 |
-
|
4514 |
-
#: src/addons/sftp.php:462
|
4515 |
-
msgid "Your login may be either password or key-based - you only need to enter one, not both."
|
4516 |
-
msgstr "Il tuo login potrebbe essere basato su una password e una chiave - inserirne una delle due, non è necessario inserirle entrambi."
|
4517 |
-
|
4518 |
-
#: src/addons/sftp.php:343
|
4519 |
-
msgid "The key provided was not in a valid format, or was corrupt."
|
4520 |
-
msgstr "La chiave fornita non è in un formato valido, o è corrotta."
|
4521 |
-
|
4522 |
-
#: src/addons/sftp.php:49
|
4523 |
-
msgid "SCP/SFTP password/key"
|
4524 |
-
msgstr "SCP/SFTP password/key"
|
4525 |
-
|
4526 |
-
#: src/addons/wp-cli.php:449, src/admin.php:4078
|
4527 |
-
msgid "Files backup (created by %s)"
|
4528 |
-
msgstr "File di backup (creati da %s)"
|
4529 |
-
|
4530 |
-
#: src/addons/wp-cli.php:449, src/admin.php:4078
|
4531 |
-
msgid "Files and database WordPress backup (created by %s)"
|
4532 |
-
msgstr "Backup dei files e database Wordpress (creati da %s)"
|
4533 |
-
|
4534 |
-
#: src/addons/importer.php:276, src/admin.php:4072,
|
4535 |
-
#: src/includes/class-backup-history.php:435
|
4536 |
-
msgid "Backup created by: %s."
|
4537 |
-
msgstr "Backup creato da: %s"
|
4538 |
-
|
4539 |
-
#: src/addons/wp-cli.php:431, src/admin.php:4032
|
4540 |
-
msgid "Database (created by %s)"
|
4541 |
-
msgstr "Database (creato da %s)"
|
4542 |
-
|
4543 |
-
#: src/addons/wp-cli.php:429, src/admin.php:4026, src/admin.php:4074
|
4544 |
-
msgid "unknown source"
|
4545 |
-
msgstr "sorgente sconosciuta"
|
4546 |
-
|
4547 |
-
#: src/templates/wp-admin/advanced/site-info.php:104,
|
4548 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:56,
|
4549 |
-
#: src/templates/wp-admin/settings/tab-backups.php:60
|
4550 |
-
msgid "Rescan remote storage"
|
4551 |
-
msgstr "Scansione storage remoto"
|
4552 |
-
|
4553 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:51,
|
4554 |
-
#: src/templates/wp-admin/settings/tab-backups.php:55
|
4555 |
-
msgid "Upload backup files"
|
4556 |
-
msgstr "Carica i file di backup"
|
4557 |
-
|
4558 |
-
#: src/admin.php:2303
|
4559 |
-
msgid "This backup was created by %s, and can be imported."
|
4560 |
-
msgstr "Questo backup è stato creato da %s, e può essere importato."
|
4561 |
-
|
4562 |
-
#: src/admin.php:1172
|
4563 |
-
msgid "Read this page for a guide to possible causes and how to fix it."
|
4564 |
-
msgstr "Leggi questa pagina per una guida alle possibili cause e come risolvere il problema."
|
4565 |
-
|
4566 |
-
#: src/admin.php:1172
|
4567 |
-
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."
|
4568 |
-
msgstr "WordPress ha un numero di operazioni pianificate (%d) che sono in ritardo. A meno che questo non sia un sito di sviluppo, ciò significa probabilmente che lo scheduler della vostra installazione WordPress non funziona."
|
4569 |
-
|
4570 |
-
#: src/admin.php:831, src/includes/class-backup-history.php:442
|
4571 |
-
msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you."
|
4572 |
-
msgstr "Se questo è un backup creato da un diverso plugin di backup, UpdraftPlus Premium potrebbe essere in grado di aiutarvi."
|
4573 |
-
|
4574 |
-
#: src/admin.php:830
|
4575 |
-
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."
|
4576 |
-
msgstr "Tuttavia, gli archivi UpdraftPlus sono file zip / SQL standard - quindi se si è sicuri che il file ha il formato giusto, allora è possibile rinominarla in modo che corrisponda."
|
4577 |
-
|
4578 |
-
#: src/admin.php:830, src/admin.php:831,
|
4579 |
-
#: src/includes/class-backup-history.php:442
|
4580 |
-
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))."
|
4581 |
-
msgstr "Questo file non sembra essere un archivio UpdraftPlus backup (questi file sono zip o gz che hanno un nome tipo: backup_(time)_(site name)_(code)_(type).(zip|gz))."
|
4582 |
-
|
4583 |
-
#: src/admin.php:4075, src/includes/class-wpadmin-commands.php:162,
|
4584 |
-
#: src/restorer.php:1975
|
4585 |
-
msgid "Backup created by unknown source (%s) - cannot be restored."
|
4586 |
-
msgstr "Backup creato da fonte sconosciuta (%s) - non può essere ripristinato."
|
4587 |
-
|
4588 |
-
#: src/restorer.php:1259, src/restorer.php:1307
|
4589 |
-
msgid "The WordPress content folder (wp-content) was not found in this zip file."
|
4590 |
-
msgstr "La cartella dei contenuti di WordPress (wp-content), non è stata trovata in questo file zip."
|
4591 |
-
|
4592 |
-
#: src/restorer.php:1113
|
4593 |
-
msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup"
|
4594 |
-
msgstr "Questa versione di UpdraftPlus non sa come gestire questo tipo di backup."
|
4595 |
-
|
4596 |
-
#: src/methods/dropbox.php:377
|
4597 |
-
msgid "%s returned an unexpected HTTP response: %s"
|
4598 |
-
msgstr "%s ha ritornato una risposta HTTP inattesa: %s"
|
4599 |
-
|
4600 |
-
#: src/addons/sftp.php:1060
|
4601 |
-
msgid "The UpdraftPlus module for this file access method (%s) does not support listing files"
|
4602 |
-
msgstr "Il modulo UpdraftPlus per il seguente metodo di accesso ai files (%s) non supporta il file listing"
|
4603 |
-
|
4604 |
-
#: src/addons/backblaze.php:580, src/methods/cloudfiles.php:234,
|
4605 |
-
#: src/methods/dropbox.php:358, src/methods/openstack-base.php:118
|
4606 |
-
msgid "No settings were found"
|
4607 |
-
msgstr "Settaggi non trovati"
|
4608 |
-
|
4609 |
-
#: src/includes/class-backup-history.php:610
|
4610 |
-
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."
|
4611 |
-
msgstr "Uno o più backup sono stati aggiunti dalla scansione dell'unità di memorizzazione remota; Notare che questi backup non saranno cancellati automaticamente attraverso i settaggi di \"conservazione\"; se o quando si desidera cancellarli è necessario farlo manualmente."
|
4612 |
-
|
4613 |
-
#: src/admin.php:797
|
4614 |
-
msgid "Rescanning remote and local storage for backup sets..."
|
4615 |
-
msgstr "Ricerca di set di backup nello storage remoto e locale..."
|
4616 |
-
|
4617 |
-
#: src/addons/googlecloud.php:1042, src/addons/googlecloud.php:1055,
|
4618 |
-
#: src/addons/s3-enhanced.php:63, src/addons/s3-enhanced.php:72
|
4619 |
-
msgid "(Read more)"
|
4620 |
-
msgstr "(Per saperne di più)"
|
4621 |
-
|
4622 |
-
#: src/addons/reporting.php:496
|
4623 |
-
msgid "Log all messages to syslog (only server admins are likely to want this)"
|
4624 |
-
msgstr "Crea un log di tutti i messaggi a syslog (per amministratori di server)"
|
4625 |
-
|
4626 |
-
#: src/addons/morefiles.php:538
|
4627 |
-
msgid "No backup of location: there was nothing found to back up"
|
4628 |
-
msgstr ""
|
4629 |
-
|
4630 |
-
#: src/addons/moredatabase.php:236, src/addons/morefiles.php:297,
|
4631 |
-
#: src/addons/morefiles.php:318
|
4632 |
-
msgid "Remove"
|
4633 |
-
msgstr "Rimuovi"
|
4634 |
-
|
4635 |
-
#: src/methods/s3.php:873
|
4636 |
-
msgid "Other %s FAQs."
|
4637 |
-
msgstr "Altre %s FAQ."
|
4638 |
-
|
4639 |
-
#: src/templates/wp-admin/settings/form-contents.php:304
|
4640 |
-
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong."
|
4641 |
-
msgstr "Controlla qui per ricevere maggiori informazioni e messaggi di posta elettronica sul processo di backup - utile se qualcosa sta andando storto."
|
4642 |
-
|
4643 |
-
#: src/addons/morefiles.php:476, src/admin.php:3831
|
4644 |
-
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."
|
4645 |
-
msgstr "Se si immettono più file o directory, separarli con una virgola. Per entità a livello superiore, è possibile utilizzare un * all'inizio o alla fine della voce come wildcard."
|
4646 |
-
|
4647 |
-
#: src/includes/class-filesystem-functions.php:233, src/methods/ftp.php:330,
|
4648 |
-
#: src/restorer.php:2006
|
4649 |
-
msgid "Your hosting company must enable these functions before %s can work."
|
4650 |
-
msgstr "Il fornitore di servizi di hosting deve abilitare queste funzioni prima che %s possa funzionare."
|
4651 |
-
|
4652 |
-
#: src/includes/class-filesystem-functions.php:233, src/methods/ftp.php:330
|
4653 |
-
msgid "Your web server's PHP installation has these functions disabled: %s."
|
4654 |
-
msgstr "L'installazione PHP nel tuo server ha queste funzioni disabilitate: %s."
|
4655 |
-
|
4656 |
-
#: src/methods/ftp.php:327
|
4657 |
-
msgid "encrypted FTP (explicit encryption)"
|
4658 |
-
msgstr "FTP cifrato (crittografia esplicita)"
|
4659 |
-
|
4660 |
-
#: src/methods/ftp.php:326
|
4661 |
-
msgid "encrypted FTP (implicit encryption)"
|
4662 |
-
msgstr "FTP crittato (crittazione implicita)"
|
4663 |
-
|
4664 |
-
#: src/methods/ftp.php:325
|
4665 |
-
msgid "regular non-encrypted FTP"
|
4666 |
-
msgstr "FTP non criptato (regolare)"
|
4667 |
-
|
4668 |
-
#: src/restorer.php:2192
|
4669 |
-
msgid "Backup created by:"
|
4670 |
-
msgstr "Backup creato da:"
|
4671 |
-
|
4672 |
-
#: src/udaddons/options.php:483
|
4673 |
-
msgid "Available to claim on this site"
|
4674 |
-
msgstr "Available to claim on this site"
|
4675 |
-
|
4676 |
-
#: src/udaddons/updraftplus-addons.php:288
|
4677 |
-
msgid "To maintain your access to support, please renew."
|
4678 |
-
msgstr "Per mantenere l'accesso al supporto, si prega rinnovare."
|
4679 |
-
|
4680 |
-
#: src/udaddons/updraftplus-addons.php:288
|
4681 |
-
msgid "Your paid access to UpdraftPlus support will soon expire."
|
4682 |
-
msgstr "L'accesso al supporto a pagamento di UpdraftPlus scadrà a breve."
|
4683 |
-
|
4684 |
-
#: src/udaddons/updraftplus-addons.php:286
|
4685 |
-
msgid "To regain your access, please renew."
|
4686 |
-
msgstr "Per riottenere l'accesso, si prega di rinnovare."
|
4687 |
-
|
4688 |
-
#: src/udaddons/updraftplus-addons.php:286
|
4689 |
-
msgid "Your paid access to UpdraftPlus support has expired."
|
4690 |
-
msgstr "L'accesso al supporto a pagamento di UpdraftPlus è scaduto."
|
4691 |
-
|
4692 |
-
#: src/udaddons/updraftplus-addons.php:278
|
4693 |
-
msgid "Your paid access to UpdraftPlus updates for this site will soon expire."
|
4694 |
-
msgstr "Il vostro accesso a pagamento agli aggiornamenti di UpdraftPlus per questo sito scadrà presto."
|
4695 |
-
|
4696 |
-
#: src/udaddons/updraftplus-addons.php:276,
|
4697 |
-
#: src/udaddons/updraftplus-addons.php:278
|
4698 |
-
msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
4699 |
-
msgstr "Per mantenere l'accesso, ed usufruire degli aggiornamenti (comprese future funzionalità e la compatibilità con le future versioni di WordPress) e il supporto, si prega di rinnovare."
|
4700 |
-
|
4701 |
-
#: src/udaddons/updraftplus-addons.php:276
|
4702 |
-
msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire."
|
4703 |
-
msgstr "Il vostro accesso a pagamento agli aggiornamenti di UpdraftPlus per %s dell'add-on %s su questo sito scadrà presto."
|
4704 |
-
|
4705 |
-
#: src/udaddons/updraftplus-addons.php:272
|
4706 |
-
msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired."
|
4707 |
-
msgstr "Il vostro accesso a pagamento agli aggiornamenti di UpdraftPlus per l'add-on %s su questo sito è scaduto."
|
4708 |
-
|
4709 |
-
#: src/udaddons/updraftplus-addons.php:266,
|
4710 |
-
#: src/udaddons/updraftplus-addons.php:272
|
4711 |
-
msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
4712 |
-
msgstr "Per riottenere l'accesso agli aggiornamenti (compreso nuove funzioni e la compatibilità con le future versioni di WordPress) e il supporto, si prega di rinnovare."
|
4713 |
-
|
4714 |
-
#: src/udaddons/updraftplus-addons.php:266
|
4715 |
-
msgid "Your paid access to UpdraftPlus updates for this site has expired. You will no longer receive updates to UpdraftPlus."
|
4716 |
-
msgstr "L'accesso a pagamento agli aggiornamenti di UpdraftPlus per questo sito è scaduto. Non sarà più possibile ricevere gli aggiornamenti di UpdraftPlus."
|
4717 |
-
|
4718 |
-
#: src/udaddons/updraftplus-addons.php:228
|
4719 |
-
msgid "Dismiss from main dashboard (for %s weeks)"
|
4720 |
-
msgstr "Respinto dalla bacheca principale (per %s settimane)"
|
4721 |
-
|
4722 |
-
#: src/includes/class-filesystem-functions.php:284
|
4723 |
-
msgid "The attempt to undo the double-compression succeeded."
|
4724 |
-
msgstr "Il tentativo di annullare la doppia compressione è riuscito."
|
4725 |
-
|
4726 |
-
#: src/includes/class-filesystem-functions.php:260,
|
4727 |
-
#: src/includes/class-filesystem-functions.php:282
|
4728 |
-
msgid "The attempt to undo the double-compression failed."
|
4729 |
-
msgstr "Il tentativo di annullare la doppia compressione è fallito."
|
4730 |
-
|
4731 |
-
#: src/includes/class-filesystem-functions.php:253
|
4732 |
-
msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver."
|
4733 |
-
msgstr "Il file di database sembra essere stato compresso due volte - probabilmente il sito dal quale è stato scaricato ha il webserver configurato male."
|
4734 |
-
|
4735 |
-
#: src/includes/class-wpadmin-commands.php:328
|
4736 |
-
msgid "Constants"
|
4737 |
-
msgstr "Costanti"
|
4738 |
-
|
4739 |
-
#: src/backup.php:1840
|
4740 |
-
msgid "Failed to open database file for reading:"
|
4741 |
-
msgstr "Impossibile aprire il database per la lettura:"
|
4742 |
-
|
4743 |
-
#: src/backup.php:1651
|
4744 |
-
msgid "No database tables found"
|
4745 |
-
msgstr "Nessuna tabella trovata nel database"
|
4746 |
-
|
4747 |
-
#: src/backup.php:1649
|
4748 |
-
msgid "please wait for the rescheduled attempt"
|
4749 |
-
msgstr "attendere il tentativo rischedulato"
|
4750 |
-
|
4751 |
-
#: src/addons/reporting.php:218
|
4752 |
-
msgid "Note that warning messages are advisory - the backup process does not stop for them. Instead, they provide information that you might find useful, or that may indicate the source of a problem if the backup did not succeed."
|
4753 |
-
msgstr "Si noti che i messaggi di avviso sono solo notifiche - il processo di backup non si ferma per loro. Invece, essi forniscono informazioni che potreste trovare utili, o che possono indicare la fonte di un problema se il backup non è riuscito."
|
4754 |
-
|
4755 |
-
#: src/addons/onedrive.php:112, src/methods/dropbox.php:267
|
4756 |
-
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)"
|
4757 |
-
msgstr "Account pieno: il tuo account %s ha liberi solamente %d byte, ma il file da caricare ha %d byte rimanenti (dimensione totale: %d byte)"
|
4758 |
-
|
4759 |
-
#: src/udaddons/updraftplus-addons.php:479,
|
4760 |
-
#: src/udaddons/updraftplus-addons.php:568
|
4761 |
-
msgid "Errors occurred:"
|
4762 |
-
msgstr "Si sono verificati errori:"
|
4763 |
-
|
4764 |
-
#: src/addons/wp-cli.php:664, src/admin.php:4508
|
4765 |
-
msgid "Follow this link to download the log file for this restoration (needed for any support requests)."
|
4766 |
-
msgstr "Segui questo link per scaricare il file di log per questo ripristino (necessario per eventuali richieste di supporto)."
|
4767 |
-
|
4768 |
-
#: src/templates/wp-admin/settings/form-contents.php:345
|
4769 |
-
msgid "See this FAQ also."
|
4770 |
-
msgstr "Vedi anche questa FAQ."
|
4771 |
-
|
4772 |
-
#: src/templates/wp-admin/settings/form-contents.php:134
|
4773 |
-
msgid "If you choose no remote storage, then the backups remain on the web-server. This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event."
|
4774 |
-
msgstr "Se si sceglie di non utilizzare l'archiviazione remota, i backup rimarranno sul web-server. Questo non è raccomandato (a meno che non si abbia intenzione di copiarli manualmente sul computer), perdere il web-server significherebbe perdere sia il vostro sito web che i backup in un unico evento."
|
4775 |
-
|
4776 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:34
|
4777 |
-
msgid "Retrieving (if necessary) and preparing backup files..."
|
4778 |
-
msgstr "Recupero (se necessario) e preparazione dei file di backup ..."
|
4779 |
-
|
4780 |
-
#: src/includes/class-wpadmin-commands.php:133
|
4781 |
-
msgid "The PHP setup on this webserver allows only %s seconds for PHP to run, and does not allow this limit to be raised. If you have a lot of data to import, and if the restore operation times out, then you will need to ask your web hosting company for ways to raise this limit (or attempt the restoration piece-by-piece)."
|
4782 |
-
msgstr "La configurazione di PHP su questo webserver consente solo %s secondi a PHP per funzionare, e non consente di alzare questo limite. Se hai molti dati da importare, e se il ripristino del backup ritorna timeout, allora sarà necessario chiedere alla società di web hosting di aumentare questo limite (o tentare il ripristino pezzo per pezzo)."
|
4783 |
-
|
4784 |
-
#: src/restorer.php:1106
|
4785 |
-
msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete Old Directories\" button to delete them before trying again): %s"
|
4786 |
-
msgstr "Esistono cartelle non rimossi dopo un precedente ripristino (si prega di utilizzare il pulsante \"Elimina vecchie Cartelle\" per eliminarle prima di provare di nuovo): %s"
|
4787 |
-
|
4788 |
-
#: src/admin.php:1147, src/class-updraftplus.php:848
|
4789 |
-
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)"
|
4790 |
-
msgstr "Il tempo allocato per l'esecuzione dei plugin di WordPress è molto basso (%s secondi) - bisognerebbe aumentarlo per evitare errori di backup dovuti al time-out (consultare la società di web hosting per più aiuto - verificare l'impostazione max_execution_time nei settaggi PHP; il valore raccomandato è di almeno %s seconds)"
|
4791 |
-
|
4792 |
-
#: src/addons/migrator.php:304
|
4793 |
-
msgid "Disabled this plugin: %s: re-activate it manually when you are ready."
|
4794 |
-
msgstr "E' stato disabilitato questo plugin:%s: ri-attivare manualmente quando si è pronti."
|
4795 |
-
|
4796 |
-
#: src/addons/sftp.php:814, src/addons/sftp.php:817,
|
4797 |
-
#: src/includes/ftp.class.php:58, src/includes/ftp.class.php:61
|
4798 |
-
msgid "The %s connection timed out; if you entered the server correctly, then this is usually caused by a firewall blocking the connection - you should check with your web hosting company."
|
4799 |
-
msgstr "La connessione %s è scaduta (timeout); se hai inserito il server correttamente, allora probabilmente questo è causato da un firewall che blocca la connessione - si prega di verificare con la società di web hosting."
|
4800 |
-
|
4801 |
-
#: src/addons/moredatabase.php:144, src/admin.php:1642
|
4802 |
-
msgid "Messages:"
|
4803 |
-
msgstr "Messaggi:"
|
4804 |
-
|
4805 |
-
#: src/restorer.php:2647
|
4806 |
-
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"
|
4807 |
-
msgstr "È stata trovata una linea SQL che è maggiore della dimensione massima del pacchetto e non può essere frazionata; questa linea non verrà elaborata, ma verrà abbandonata: %s"
|
4808 |
-
|
4809 |
-
#: src/restorer.php:853
|
4810 |
-
msgid "The directory does not exist"
|
4811 |
-
msgstr "La directory non esiste"
|
4812 |
-
|
4813 |
-
#: src/addons/cloudfiles-enhanced.php:292
|
4814 |
-
msgid "New User's Email Address"
|
4815 |
-
msgstr "Indirizzo Email Nuovo Utente"
|
4816 |
-
|
4817 |
-
#: src/addons/cloudfiles-enhanced.php:289
|
4818 |
-
msgid "New User's Username"
|
4819 |
-
msgstr "Nuovo Nome Utente"
|
4820 |
-
|
4821 |
-
#: src/addons/cloudfiles-enhanced.php:286
|
4822 |
-
msgid "Admin API Key"
|
4823 |
-
msgstr "API Key Amministratore"
|
4824 |
-
|
4825 |
-
#: src/addons/cloudfiles-enhanced.php:283
|
4826 |
-
msgid "Admin Username"
|
4827 |
-
msgstr "Nome Utente Amministratore"
|
4828 |
-
|
4829 |
-
#: src/addons/cloudfiles-enhanced.php:278
|
4830 |
-
msgid "US or UK Rackspace Account"
|
4831 |
-
msgstr "Account Racketspace americano (US) o inglese (UK)"
|
4832 |
-
|
4833 |
-
#: src/addons/cloudfiles-enhanced.php:270
|
4834 |
-
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."
|
4835 |
-
msgstr "Inserisci il tuo nome utente / chiave API di Rackspace (in modo che Rackspace possa autenticare il tuo permesso di creare nuovi utenti), e immettere un nuovo nome utente unico e indirizzo email per il nuovo utente e nome del contenitore."
|
4836 |
-
|
4837 |
-
#: src/addons/cloudfiles-enhanced.php:267
|
4838 |
-
msgid "Create new API user and container"
|
4839 |
-
msgstr "Crea nuovo utente API e container"
|
4840 |
-
|
4841 |
-
#: src/addons/cloudfiles-enhanced.php:199
|
4842 |
-
msgid "API Key: %s"
|
4843 |
-
msgstr "Chiave API: %s"
|
4844 |
-
|
4845 |
-
#: src/addons/cloudfiles-enhanced.php:199
|
4846 |
-
msgid "Password: %s"
|
4847 |
-
msgstr "Password: %s"
|
4848 |
-
|
4849 |
-
#: src/addons/cloudfiles-enhanced.php:199, src/addons/s3-enhanced.php:337
|
4850 |
-
msgid "Username: %s"
|
4851 |
-
msgstr "Nome utente: %s"
|
4852 |
-
|
4853 |
-
#: src/addons/cloudfiles-enhanced.php:158,
|
4854 |
-
#: src/addons/cloudfiles-enhanced.php:161,
|
4855 |
-
#: src/addons/cloudfiles-enhanced.php:165,
|
4856 |
-
#: src/addons/cloudfiles-enhanced.php:177,
|
4857 |
-
#: src/addons/cloudfiles-enhanced.php:184,
|
4858 |
-
#: src/addons/cloudfiles-enhanced.php:188
|
4859 |
-
msgid "Cloud Files operation failed (%s)"
|
4860 |
-
msgstr "Operazione Cloud Files fallita (%s)"
|
4861 |
-
|
4862 |
-
#: src/addons/cloudfiles-enhanced.php:156
|
4863 |
-
msgid "Conflict: that user or email address already exists"
|
4864 |
-
msgstr "Conflitto: questo utente o l'indirizzo email sono già utilizzati"
|
4865 |
-
|
4866 |
-
#: src/addons/cloudfiles-enhanced.php:89
|
4867 |
-
msgid "You need to enter a valid new email address"
|
4868 |
-
msgstr "E' necessario inserire un nuovo indirizzo email valido"
|
4869 |
-
|
4870 |
-
#: src/addons/cloudfiles-enhanced.php:85
|
4871 |
-
msgid "You need to enter a container"
|
4872 |
-
msgstr "E' necessario inserire un contenitore"
|
4873 |
-
|
4874 |
-
#: src/addons/cloudfiles-enhanced.php:82
|
4875 |
-
msgid "You need to enter a new username"
|
4876 |
-
msgstr "È necessario inserire un nuovo nome utente"
|
4877 |
-
|
4878 |
-
#: src/addons/cloudfiles-enhanced.php:79
|
4879 |
-
msgid "You need to enter an admin API key"
|
4880 |
-
msgstr "E' necessario inserire l'API key Amministratore"
|
4881 |
-
|
4882 |
-
#: src/addons/cloudfiles-enhanced.php:76
|
4883 |
-
msgid "You need to enter an admin username"
|
4884 |
-
msgstr "E' necessario inserire il nome utente ammistratore"
|
4885 |
-
|
4886 |
-
#: src/addons/cloudfiles-enhanced.php:62
|
4887 |
-
msgid "Create a new API user with access to only this container (rather than your whole account)"
|
4888 |
-
msgstr "Creare un nuovo utente API con accesso solo a questo contenitore (invece che l'intero account)"
|
4889 |
-
|
4890 |
-
#: src/addons/cloudfiles-enhanced.php:31
|
4891 |
-
msgid "Adds enhanced capabilities for Rackspace Cloud Files users"
|
4892 |
-
msgstr "Aggiunge funzionalità avanzate per gli utenti Rackspace Cloud Files"
|
4893 |
-
|
4894 |
-
#: src/addons/cloudfiles-enhanced.php:30
|
4895 |
-
msgid "Rackspace Cloud Files, enhanced"
|
4896 |
-
msgstr "Rackspace Cloud Files, avanzato"
|
4897 |
-
|
4898 |
-
#: src/addons/cloudfiles-enhanced.php:299, src/methods/cloudfiles-new.php:147,
|
4899 |
-
#: src/methods/cloudfiles.php:492
|
4900 |
-
msgid "Cloud Files Container"
|
4901 |
-
msgstr "Cloud Files Container"
|
4902 |
-
|
4903 |
-
#: src/methods/cloudfiles-new.php:142, src/methods/cloudfiles.php:487
|
4904 |
-
msgid "Cloud Files API Key"
|
4905 |
-
msgstr "Cloud Files API Key"
|
4906 |
-
|
4907 |
-
#: src/methods/cloudfiles-new.php:137
|
4908 |
-
msgid "To create a new Rackspace API sub-user and API key that has access only to this Rackspace container, use this add-on."
|
4909 |
-
msgstr "Usa questo add-on per creare un nuovo API sub-user Rackspace e una API key che abbia accesso solo a questo container Rackspace."
|
4910 |
-
|
4911 |
-
#: src/methods/cloudfiles-new.php:134
|
4912 |
-
msgid "Cloud Files Username"
|
4913 |
-
msgstr "Nome utente Cloud Files"
|
4914 |
-
|
4915 |
-
#: src/addons/cloudfiles-enhanced.php:47, src/methods/cloudfiles-new.php:166
|
4916 |
-
msgid "London (LON)"
|
4917 |
-
msgstr "Londra (LON)"
|
4918 |
-
|
4919 |
-
#: src/addons/cloudfiles-enhanced.php:46, src/methods/cloudfiles-new.php:165
|
4920 |
-
msgid "Hong Kong (HKG)"
|
4921 |
-
msgstr "Hong Kong (HKG)"
|
4922 |
-
|
4923 |
-
#: src/addons/cloudfiles-enhanced.php:45, src/methods/cloudfiles-new.php:164
|
4924 |
-
msgid "Northern Virginia (IAD)"
|
4925 |
-
msgstr "Virginia del Nord (IAD)"
|
4926 |
-
|
4927 |
-
#: src/addons/cloudfiles-enhanced.php:44, src/methods/cloudfiles-new.php:163
|
4928 |
-
msgid "Chicago (ORD)"
|
4929 |
-
msgstr "Chicago (ORD)"
|
4930 |
-
|
4931 |
-
#: src/addons/cloudfiles-enhanced.php:43, src/methods/cloudfiles-new.php:162
|
4932 |
-
msgid "Sydney (SYD)"
|
4933 |
-
msgstr "Sidney (SYD)"
|
4934 |
-
|
4935 |
-
#: src/addons/cloudfiles-enhanced.php:42, src/methods/cloudfiles-new.php:161
|
4936 |
-
msgid "Dallas (DFW) (default)"
|
4937 |
-
msgstr "Dallas (DFW) (default)"
|
4938 |
-
|
4939 |
-
#: src/addons/cloudfiles-enhanced.php:295, src/methods/cloudfiles-new.php:124
|
4940 |
-
msgid "Cloud Files Storage Region"
|
4941 |
-
msgstr "Cloud Files Storage Region"
|
4942 |
-
|
4943 |
-
#: src/methods/cloudfiles-new.php:117
|
4944 |
-
msgid "Accounts created at rackspacecloud.com are US-accounts; accounts created at rackspace.co.uk are UK-based"
|
4945 |
-
msgstr "Gli account creati in rackspacecloud.com sono account degli Stati Uniti; gli account creati in rackspace.co.uk sono account del Regno Unito."
|
4946 |
-
|
4947 |
-
#: src/methods/cloudfiles-new.php:115
|
4948 |
-
msgid "US or UK-based Rackspace Account"
|
4949 |
-
msgstr "Account Rackspace degli Stati Uniti o del Regno Unito"
|
4950 |
-
|
4951 |
-
#: src/addons/cloudfiles-enhanced.php:279, src/methods/cloudfiles-new.php:115
|
4952 |
-
msgid "Accounts created at rackspacecloud.com are US accounts; accounts created at rackspace.co.uk are UK accounts."
|
4953 |
-
msgstr "Gli account creati in rackspacecloud.com sono account degli Stati Uniti; gli account creati in rackspace.co.uk sono account del Regno Unito."
|
4954 |
-
|
4955 |
-
#: src/addons/cloudfiles-enhanced.php:154, src/addons/s3-enhanced.php:240,
|
4956 |
-
#: src/methods/cloudfiles-new.php:39, src/methods/openstack-base.php:484,
|
4957 |
-
#: src/methods/openstack-base.php:486, src/methods/openstack-base.php:507,
|
4958 |
-
#: src/methods/openstack2.php:33
|
4959 |
-
msgid "Authorisation failed (check your credentials)"
|
4960 |
-
msgstr "Autorizzazione non riuscita (verificare le credenziali)"
|
4961 |
-
|
4962 |
-
#: src/includes/class-commands.php:789, src/methods/updraftvault.php:630,
|
4963 |
-
#: src/udaddons/options.php:229
|
4964 |
-
msgid "An unknown error occurred when trying to connect to UpdraftPlus.Com"
|
4965 |
-
msgstr "Si è verificato un errore sconosciuto durante il tentativo di connessione a UpdraftPlus.Com"
|
4966 |
-
|
4967 |
-
#: src/admin.php:845, src/central/bootstrap.php:565
|
4968 |
-
msgid "Create"
|
4969 |
-
msgstr "Crea"
|
4970 |
-
|
4971 |
-
#: src/admin.php:806
|
4972 |
-
msgid "Trying..."
|
4973 |
-
msgstr "Prova..."
|
4974 |
-
|
4975 |
-
#: src/admin.php:805
|
4976 |
-
msgid "The new user's RackSpace console password is (this will not be shown again):"
|
4977 |
-
msgstr "La nuova password utente della console Rackspace è (non verrà mostrata in futuro):"
|
4978 |
-
|
4979 |
-
#: src/addons/wp-cli.php:797, src/admin.php:816, src/admin.php:4586
|
4980 |
-
msgid "Error data:"
|
4981 |
-
msgstr "Errore dato:"
|
4982 |
-
|
4983 |
-
#: src/admin.php:4489
|
4984 |
-
msgid "Backup does not exist in the backup history"
|
4985 |
-
msgstr "Il backup non esiste nella cronologia dei backup"
|
4986 |
-
|
4987 |
-
#: src/admin.php:3145
|
4988 |
-
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."
|
4989 |
-
msgstr "La vostra installazione di WordPress ha vecchie cartelle dallo stato precedente il ripristino o la migrazione (informazione tecnica: queste hanno suffisso -old). È necessario premere questo pulsante per eliminarle non appena il riprostino è terminato."
|
4990 |
-
|
4991 |
-
#: src/restorer.php:2259
|
4992 |
-
msgid "Split line to avoid exceeding maximum packet size"
|
4993 |
-
msgstr "Linea divisa per evitare di superare la dimensione massima del pacchetto."
|
4994 |
-
|
4995 |
-
#: src/restorer.php:2139
|
4996 |
-
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)"
|
4997 |
-
msgstr "Il tuo utente del database non dispone dell'autorizzazione per eliminare le tabelle. Cercheremo di ripristinare semplicemente svuotando le tabelle; questo dovrebbe funzionare fino a che si esegue il ripristino da una versione di WordPress con la stessa struttura del database (%s)"
|
4998 |
-
|
4999 |
-
#: src/restorer.php:528
|
5000 |
-
msgid "Could not move the files into place. Check your file permissions."
|
5001 |
-
msgstr "Impossibile spostare il file. Controllare le autorizzazioni."
|
5002 |
-
|
5003 |
-
#: src/restorer.php:527
|
5004 |
-
msgid "Could not move new files into place. Check your wp-content/upgrade folder."
|
5005 |
-
msgstr "Impossibile spostare i nuovi file in posizione. Controlla la cartella wp-content / upgrade."
|
5006 |
-
|
5007 |
-
#: src/restorer.php:525
|
5008 |
-
msgid "Could not move old files out of the way."
|
5009 |
-
msgstr "Impossibile rimuovere i vecchi files."
|
5010 |
-
|
5011 |
-
#: src/restorer.php:521
|
5012 |
-
msgid "Moving old data out of the way..."
|
5013 |
-
msgstr "Rimozione dei dati vecchi..."
|
5014 |
-
|
5015 |
-
#: src/addons/reporting.php:481
|
5016 |
-
msgid "Add another address..."
|
5017 |
-
msgstr "Aggiungi un altro indirizzo..."
|
5018 |
-
|
5019 |
-
#: src/addons/reporting.php:466
|
5020 |
-
msgid "Enter addresses here to have a report sent to them when a backup job finishes."
|
5021 |
-
msgstr "Inserire gli indirizzi per avere l'invio del rapporto quando termina il processo di backup."
|
5022 |
-
|
5023 |
-
#: src/addons/reporting.php:440
|
5024 |
-
msgid "Email reports"
|
5025 |
-
msgstr "Rapporti email"
|
5026 |
-
|
5027 |
-
#: src/class-updraftplus.php:1744, src/class-updraftplus.php:1749
|
5028 |
-
msgid "%s checksum: %s"
|
5029 |
-
msgstr "%s checksum: %s"
|
5030 |
-
|
5031 |
-
#: src/class-updraftplus.php:1680, src/class-updraftplus.php:1682
|
5032 |
-
msgid "files: %s"
|
5033 |
-
msgstr "file: %s"
|
5034 |
-
|
5035 |
-
#: src/addons/reporting.php:392
|
5036 |
-
msgid "Use the \"Reporting\" section to configure the email addresses to be used."
|
5037 |
-
msgstr "Utilizzare la sezione \"Reporting\" per configurare gli indirizzi email da utilizzare."
|
5038 |
-
|
5039 |
-
#: src/addons/reporting.php:268
|
5040 |
-
msgid "Debugging information"
|
5041 |
-
msgstr "Informazioni di debug"
|
5042 |
-
|
5043 |
-
#: src/addons/reporting.php:223, src/admin.php:3992
|
5044 |
-
msgid "Uploaded to:"
|
5045 |
-
msgstr "Caricato a:"
|
5046 |
-
|
5047 |
-
#: src/addons/reporting.php:222
|
5048 |
-
msgid "Time taken:"
|
5049 |
-
msgstr "Tempo impiegato:"
|
5050 |
-
|
5051 |
-
#: src/addons/reporting.php:213
|
5052 |
-
msgid "Warnings"
|
5053 |
-
msgstr "Avvertenze"
|
5054 |
-
|
5055 |
-
#: src/addons/reporting.php:198
|
5056 |
-
msgid "Errors"
|
5057 |
-
msgstr "Errori"
|
5058 |
-
|
5059 |
-
#: src/addons/reporting.php:195
|
5060 |
-
msgid "Errors / warnings:"
|
5061 |
-
msgstr "Errori / avvertenze:"
|
5062 |
-
|
5063 |
-
#: src/addons/morefiles.php:129, src/addons/morefiles.php:130,
|
5064 |
-
#: src/addons/reporting.php:184
|
5065 |
-
msgid "Contains:"
|
5066 |
-
msgstr "Contiene:"
|
5067 |
-
|
5068 |
-
#: src/addons/reporting.php:183
|
5069 |
-
msgid "Backup began:"
|
5070 |
-
msgstr "Backup iniziato:"
|
5071 |
-
|
5072 |
-
#: src/addons/reporting.php:171
|
5073 |
-
msgid "Backup Report"
|
5074 |
-
msgstr "Rapporto Backup"
|
5075 |
-
|
5076 |
-
#: src/addons/reporting.php:166
|
5077 |
-
msgid "%d hours, %d minutes, %d seconds"
|
5078 |
-
msgstr "%d ore, %d minuti, %d secondi"
|
5079 |
-
|
5080 |
-
#: src/addons/reporting.php:152
|
5081 |
-
msgid "%d errors, %d warnings"
|
5082 |
-
msgstr "errori %d, avvertenze %d"
|
5083 |
-
|
5084 |
-
#: src/methods/dropbox.php:753, src/methods/dropbox.php:775
|
5085 |
-
msgid "%s authentication"
|
5086 |
-
msgstr "autenticazione %s"
|
5087 |
-
|
5088 |
-
#: src/addons/onedrive.php:864, src/class-updraftplus.php:532,
|
5089 |
-
#: src/methods/dropbox.php:240, src/methods/dropbox.php:753,
|
5090 |
-
#: src/methods/dropbox.php:775, src/methods/dropbox.php:790,
|
5091 |
-
#: src/methods/dropbox.php:803, src/methods/dropbox.php:946
|
5092 |
-
msgid "%s error: %s"
|
5093 |
-
msgstr "%s errore: %s"
|
5094 |
-
|
5095 |
-
#: src/addons/googlecloud.php:984, src/methods/dropbox.php:577
|
5096 |
-
msgid "%s logo"
|
5097 |
-
msgstr "logo %s"
|
5098 |
-
|
5099 |
-
#: src/methods/dropbox.php:286
|
5100 |
-
msgid "did not return the expected response - check your log file for more details"
|
5101 |
-
msgstr "non ha prodotto la risposta attesa - controllare il file di log per ulteriori dettagli"
|
5102 |
-
|
5103 |
-
#: src/methods/s3.php:312
|
5104 |
-
msgid "The required %s PHP module is not installed - ask your web hosting company to enable it"
|
5105 |
-
msgstr "Il modulo PHP %s richiesto non è installato - chiedere alla società di web hosting per abilitarlo"
|
5106 |
-
|
5107 |
-
#: src/methods/email.php:97
|
5108 |
-
msgid "For more options, use the \"%s\" add-on."
|
5109 |
-
msgstr "Per ulteriori opzioni, usare l'add-on \"%s\"."
|
5110 |
-
|
5111 |
-
#: src/methods/email.php:96
|
5112 |
-
msgid "Your site's admin email address (%s) will be used."
|
5113 |
-
msgstr "Verrà utilizzato l'indirizzo email dell'amministratore del tuo sito (%s)."
|
5114 |
-
|
5115 |
-
#: src/admin.php:855, src/admin.php:2876, src/methods/updraftvault.php:319,
|
5116 |
-
#: src/methods/updraftvault.php:362,
|
5117 |
-
#: src/templates/wp-admin/settings/temporary-clone.php:82
|
5118 |
-
msgid "Connect"
|
5119 |
-
msgstr "Connesso"
|
5120 |
-
|
5121 |
-
#: src/templates/wp-admin/settings/form-contents.php:262
|
5122 |
-
msgid "For more reporting features, use the Reporting add-on."
|
5123 |
-
msgstr "Per ulteriori funzionalità di report, utilizzare Reporting add-on."
|
5124 |
-
|
5125 |
-
#: src/class-updraftplus.php:3914
|
5126 |
-
msgid "(version: %s)"
|
5127 |
-
msgstr "(versione: %s)"
|
5128 |
-
|
5129 |
-
#: src/admin.php:794
|
5130 |
-
msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive."
|
5131 |
-
msgstr "Prestare attenzione al fatto che i server di posta tendono ad avere limiti di dimensione; in genere circa %s Mb; I backup di dimensioni superiore potrebbero non arrivare."
|
5132 |
-
|
5133 |
-
#: src/addons/reporting.php:527, src/admin.php:793
|
5134 |
-
msgid "When the Email storage method is enabled, also send the backup"
|
5135 |
-
msgstr ""
|
5136 |
-
|
5137 |
-
#: src/addons/reporting.php:182, src/backup.php:1138
|
5138 |
-
msgid "Latest status:"
|
5139 |
-
msgstr "Ultimo status:"
|
5140 |
-
|
5141 |
-
#: src/backup.php:1137
|
5142 |
-
msgid "Backup contains:"
|
5143 |
-
msgstr "Il backup contiene:"
|
5144 |
-
|
5145 |
-
#: src/backup.php:1094
|
5146 |
-
msgid "Backed up: %s"
|
5147 |
-
msgstr "Backup: %s"
|
5148 |
-
|
5149 |
-
#: src/addons/reporting.php:265, src/backup.php:1088
|
5150 |
-
msgid "The log file has been attached to this email."
|
5151 |
-
msgstr "Il file di log è stato allegato a questa email."
|
5152 |
-
|
5153 |
-
#: src/backup.php:1052
|
5154 |
-
msgid "Unknown/unexpected error - please raise a support request"
|
5155 |
-
msgstr "Errore sconosciuto o imprevisto - si prega di inoltrare una richiesta di assistenza"
|
5156 |
-
|
5157 |
-
#: src/backup.php:1049
|
5158 |
-
msgid "Database only (files were not part of this particular schedule)"
|
5159 |
-
msgstr "Solo il Database (i file non facevano parte di questo backup)"
|
5160 |
-
|
5161 |
-
#: src/backup.php:1049
|
5162 |
-
msgid "Database (files backup has not completed)"
|
5163 |
-
msgstr "Database (backup dei file non completato)"
|
5164 |
-
|
5165 |
-
#: src/backup.php:1046
|
5166 |
-
msgid "Files only (database was not part of this particular schedule)"
|
5167 |
-
msgstr "Solo i file (il database non faceva parte di questa schedulazione)"
|
5168 |
-
|
5169 |
-
#: src/backup.php:1046
|
5170 |
-
msgid "Files (database backup has not completed)"
|
5171 |
-
msgstr "File (il backup del database non è stato completato)"
|
5172 |
-
|
5173 |
-
#: src/admin.php:334, src/backup.php:1044
|
5174 |
-
msgid "Files and database"
|
5175 |
-
msgstr "File e database"
|
5176 |
-
|
5177 |
-
#: src/options.php:208
|
5178 |
-
msgid "(This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility)."
|
5179 |
-
msgstr "(Questo vale per tutti i plugin di backup di WordPress a meno che non siano stati espressamente codificati per la compatibilità multisito)."
|
5180 |
-
|
5181 |
-
#: src/options.php:208
|
5182 |
-
msgid "Without upgrading, UpdraftPlus allows <strong>every</strong> blog admin who can modify plugin settings to backup (and hence access the data, including passwords, from) and restore (including with customized modifications, e.g. changed passwords) <strong>the entire network</strong>."
|
5183 |
-
msgstr ""
|
5184 |
-
|
5185 |
-
#: src/options.php:208
|
5186 |
-
msgid "WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on."
|
5187 |
-
msgstr "I multisito Wordpress cono supportati, con funzionalità extra, da UpdraftPlus Premium o dal Multisite add-on."
|
5188 |
-
|
5189 |
-
#: src/options.php:208
|
5190 |
-
msgid "This is a WordPress multi-site (a.k.a. network) installation."
|
5191 |
-
msgstr "Questa è una installazione WordPress multisito (anche detta \"di rete\")."
|
5192 |
-
|
5193 |
-
#: src/options.php:208
|
5194 |
-
msgid "UpdraftPlus warning:"
|
5195 |
-
msgstr "Avvisi UpdraftPlus"
|
5196 |
-
|
5197 |
-
#: src/udaddons/options.php:489
|
5198 |
-
msgid "(or connect using the form on this page if you have already purchased it)"
|
5199 |
-
msgstr "(o connettersi utilizzando il modulo in questa pagina se già acquistato)"
|
5200 |
-
|
5201 |
-
#: src/udaddons/options.php:477
|
5202 |
-
msgid "please follow this link to update the plugin in order to activate it"
|
5203 |
-
msgstr "segui questo link per aggiornare il plugin, al fine di attivarlo"
|
5204 |
-
|
5205 |
-
#: src/udaddons/options.php:474
|
5206 |
-
msgid "please follow this link to update the plugin in order to get it"
|
5207 |
-
msgstr "segui questo link per aggiornare il plugin, al fine di ottenerlo"
|
5208 |
-
|
5209 |
-
#: src/udaddons/options.php:464, src/udaddons/options.php:466
|
5210 |
-
msgid "latest"
|
5211 |
-
msgstr "ultimo"
|
5212 |
-
|
5213 |
-
#: src/udaddons/options.php:462
|
5214 |
-
msgid "Your version: %s"
|
5215 |
-
msgstr "La tua versione: %s"
|
5216 |
-
|
5217 |
-
#: src/udaddons/options.php:460, src/udaddons/options.php:460
|
5218 |
-
msgid "You've got it"
|
5219 |
-
msgstr "You've got it"
|
5220 |
-
|
5221 |
-
#: src/udaddons/options.php:421
|
5222 |
-
msgid "UpdraftPlus Support"
|
5223 |
-
msgstr "Supporto UpdraftPlus"
|
5224 |
-
|
5225 |
-
#: src/udaddons/options.php:361
|
5226 |
-
msgid "An update containing your addons is available for UpdraftPlus - please follow this link to get it."
|
5227 |
-
msgstr "E' disponibile un aggiornamento per UpdraftPlus che contiene i tuoi add-on - segui questo link per averlo."
|
5228 |
-
|
5229 |
-
#: src/udaddons/options.php:350, src/udaddons/updraftplus-addons.php:315
|
5230 |
-
msgid "UpdraftPlus Addons"
|
5231 |
-
msgstr "UpdraftPlus Addons"
|
5232 |
-
|
5233 |
-
#: src/udaddons/options.php:90
|
5234 |
-
msgid "An update is available for UpdraftPlus - please follow this link to get it."
|
5235 |
-
msgstr "E' disponibile un aggiornamento di UpdraftPlus - seguire questo link per aggiornare"
|
5236 |
-
|
5237 |
-
#: src/methods/updraftvault.php:709, src/methods/updraftvault.php:724,
|
5238 |
-
#: src/udaddons/updraftplus-addons.php:1007
|
5239 |
-
msgid "UpdraftPlus.Com returned a response, but we could not understand it"
|
5240 |
-
msgstr "UpdraftPlus.Com ha restituito una risposta, ma non si è in grado di capirla."
|
5241 |
-
|
5242 |
-
#: src/methods/updraftvault.php:721, src/udaddons/updraftplus-addons.php:1003
|
5243 |
-
msgid "Your email address and password were not recognised by UpdraftPlus.Com"
|
5244 |
-
msgstr "Il tuo indirizzo e-mail e la password non sono state riconosciute dal UpdraftPlus.Com"
|
5245 |
-
|
5246 |
-
#: src/includes/updraftplus-login.php:58, src/methods/updraftvault.php:682,
|
5247 |
-
#: src/udaddons/updraftplus-addons.php:966
|
5248 |
-
msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)"
|
5249 |
-
msgstr "UpdraftPlus.Com ha ritornato una risposta che non è possibile capire (dato: %s)"
|
5250 |
-
|
5251 |
-
#: src/udaddons/updraftplus-addons.php:889
|
5252 |
-
msgid "UpdraftPlus.Com responded, but we did not understand the response"
|
5253 |
-
msgstr "UpdraftPlus.Com ha risposto, ma non abbiamo capito la risposta"
|
5254 |
-
|
5255 |
-
#: src/udaddons/updraftplus-addons.php:887
|
5256 |
-
msgid "We failed to successfully connect to UpdraftPlus.Com"
|
5257 |
-
msgstr "Non è possibile connettersi a UpdraftPlus.Com"
|
5258 |
-
|
5259 |
-
#: src/methods/email.php:97,
|
5260 |
-
#: src/templates/wp-admin/settings/form-contents.php:243,
|
5261 |
-
#: src/templates/wp-admin/settings/tab-addons.php:191,
|
5262 |
-
#: src/templates/wp-admin/settings/tab-addons.php:192
|
5263 |
-
msgid "Reporting"
|
5264 |
-
msgstr "Reporting"
|
5265 |
-
|
5266 |
-
#: src/admin.php:5189
|
5267 |
-
msgid "Options (raw)"
|
5268 |
-
msgstr "Opzioni"
|
5269 |
-
|
5270 |
-
#: src/addons/reporting.php:525, src/admin.php:792
|
5271 |
-
msgid "Send a report only when there are warnings/errors"
|
5272 |
-
msgstr "Invia un rapporto solo quando ci sono avvisi / errori"
|
5273 |
-
|
5274 |
-
#: src/restorer.php:2203
|
5275 |
-
msgid "Content URL:"
|
5276 |
-
msgstr "Contenuto URL:"
|
5277 |
-
|
5278 |
-
#: src/restorer.php:525
|
5279 |
-
msgid "You should check the file ownerships and permissions in your WordPress installation"
|
5280 |
-
msgstr "Dovresti verificare la proprietà e i permessi dei file nell'installazione WordPress"
|
5281 |
-
|
5282 |
-
#: src/templates/wp-admin/settings/form-contents.php:147
|
5283 |
-
msgid "See also the \"More Files\" add-on from our shop."
|
5284 |
-
msgstr "Vedi anche l'add-on \"More File\" dal nostro negozio."
|
5285 |
-
|
5286 |
-
#: src/backup.php:3424, src/class-updraftplus.php:861
|
5287 |
-
msgid "Your free space in your hosting account is very low - only %s Mb remain"
|
5288 |
-
msgstr "Lo spazio libero nel tuo account di hosting è molto poco - rimangono solo %s Mb"
|
5289 |
-
|
5290 |
-
#: src/class-updraftplus.php:845
|
5291 |
-
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)"
|
5292 |
-
msgstr "La memoria RAM riservata per PHP è decisamente poca (%s Mb) - si prega di aumentarla per evitare malfunzionamenti (consultare la compagnia di web hosting per maggiore supporto)"
|
5293 |
-
|
5294 |
-
#: src/udaddons/options.php:512
|
5295 |
-
msgid "Manage Addons"
|
5296 |
-
msgstr "Gestisci gli Addon"
|
5297 |
-
|
5298 |
-
#: src/udaddons/options.php:490, src/udaddons/options.php:490
|
5299 |
-
msgid "Buy It"
|
5300 |
-
msgstr "Compralo"
|
5301 |
-
|
5302 |
-
#: src/udaddons/options.php:489
|
5303 |
-
msgid "Get it from the UpdraftPlus.Com Store"
|
5304 |
-
msgstr "Ottienilo dallo store di Updraft.COM"
|
5305 |
-
|
5306 |
-
#: src/udaddons/options.php:483, src/udaddons/options.php:485
|
5307 |
-
msgid "activate it on this site"
|
5308 |
-
msgstr "attivarlo su questo sito"
|
5309 |
-
|
5310 |
-
#: src/udaddons/options.php:485
|
5311 |
-
msgid "You have an inactive purchase"
|
5312 |
-
msgstr "Hai un acquisto inattivo"
|
5313 |
-
|
5314 |
-
#: src/udaddons/options.php:477
|
5315 |
-
msgid "Assigned to this site"
|
5316 |
-
msgstr "Assegnato a questo sito"
|
5317 |
-
|
5318 |
-
#: src/udaddons/options.php:474
|
5319 |
-
msgid "Available for this site (via your all-addons purchase)"
|
5320 |
-
msgstr "Disponibile per questo sito (attraverso l'acquisto di all-addons)"
|
5321 |
-
|
5322 |
-
#: src/udaddons/options.php:468
|
5323 |
-
msgid "(apparently a pre-release or withdrawn release)"
|
5324 |
-
msgstr "(a quanto pare una pre-release o rilascio ritirato)"
|
5325 |
-
|
5326 |
-
#: src/udaddons/options.php:423
|
5327 |
-
msgid "Go here"
|
5328 |
-
msgstr "Vai qui"
|
5329 |
-
|
5330 |
-
#: src/udaddons/options.php:423
|
5331 |
-
msgid "Need to get support?"
|
5332 |
-
msgstr "Bisogno di supporto?"
|
5333 |
-
|
5334 |
-
#: src/udaddons/options.php:405
|
5335 |
-
msgid "An error occurred when trying to retrieve your add-ons."
|
5336 |
-
msgstr "Si è verificato un errore durante il tentativo di recuperare i componenti aggiuntivi."
|
5337 |
-
|
5338 |
-
#: src/udaddons/options.php:300
|
5339 |
-
msgid "An unknown response was received. Response was:"
|
5340 |
-
msgstr "E' stata ricevuta una risposta sconosciuta. La risposta era:"
|
5341 |
-
|
5342 |
-
#: src/udaddons/options.php:299
|
5343 |
-
msgid "Claim not granted - your account login details were wrong"
|
5344 |
-
msgstr "Accesso negato - i dati del login sono sbagliati"
|
5345 |
-
|
5346 |
-
#: src/udaddons/options.php:297
|
5347 |
-
msgid "Please wait whilst we make the claim..."
|
5348 |
-
msgstr "Si prega di attendere durante la richiesta ..."
|
5349 |
-
|
5350 |
-
#: src/udaddons/options.php:251
|
5351 |
-
msgid "Errors occurred when trying to connect to UpdraftPlus.Com:"
|
5352 |
-
msgstr "Si sono verificati errori durante la connessione a UpdraftPlus.Com:"
|
5353 |
-
|
5354 |
-
#: src/udaddons/options.php:244
|
5355 |
-
msgid "You are presently <strong>not connected</strong> to an UpdraftPlus.Com account."
|
5356 |
-
msgstr "Attualmente <strong>non sei connesso</strong> a un account UpdraftPlus.Com."
|
5357 |
-
|
5358 |
-
#: src/udaddons/options.php:240
|
5359 |
-
msgid "If you bought new add-ons, then follow this link to refresh your connection"
|
5360 |
-
msgstr "Se avete acquistato nuovi add-ons, allora segui questo link per aggiornare la tua connessione"
|
5361 |
-
|
5362 |
-
#: src/udaddons/options.php:235
|
5363 |
-
msgid "You are presently <strong>connected</strong> to an UpdraftPlus.Com account."
|
5364 |
-
msgstr "Attualmente sei <strong>connesso</strong> al''account UpdraftPlus.Com."
|
5365 |
-
|
5366 |
-
#: src/admin.php:2874
|
5367 |
-
msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here."
|
5368 |
-
msgstr "Interessati riguardo la sicurezza delle password di UpdraftPlus.Com? Leggi qui."
|
5369 |
-
|
5370 |
-
#: src/admin.php:2950
|
5371 |
-
msgid "Forgotten your details?"
|
5372 |
-
msgstr "Ha dimenticato i tuoi dati?"
|
5373 |
-
|
5374 |
-
#: src/admin.php:2863
|
5375 |
-
msgid "Not yet got an account (it's free)? Go get one!"
|
5376 |
-
msgstr "Non hai ancora un account (è gratis)? Ottienilo subito!"
|
5377 |
-
|
5378 |
-
#: src/admin.php:2929
|
5379 |
-
msgid "Connect with your UpdraftPlus.Com account"
|
5380 |
-
msgstr "Connettiti con il tuo account UpdraftPlus.Com"
|
5381 |
-
|
5382 |
-
#: src/udaddons/options.php:110
|
5383 |
-
msgid "You do seem to have the obsolete Updraft plugin installed - perhaps you got them confused?"
|
5384 |
-
msgstr "Sembra che tu abbia installato una versione obsoleta del plugin Updraft - forse li hai confusi?"
|
5385 |
-
|
5386 |
-
#: src/udaddons/options.php:109
|
5387 |
-
msgid "Go here to begin installing it."
|
5388 |
-
msgstr "Vai qui per iniziare l'installazione."
|
5389 |
-
|
5390 |
-
#: src/udaddons/options.php:109
|
5391 |
-
msgid "UpdraftPlus is not yet installed."
|
5392 |
-
msgstr "UpdraftPlus non è ancora installato."
|
5393 |
-
|
5394 |
-
#: src/udaddons/options.php:106
|
5395 |
-
msgid "Go here to activate it."
|
5396 |
-
msgstr "Vai qui per attivarlo."
|
5397 |
-
|
5398 |
-
#: src/udaddons/options.php:105
|
5399 |
-
msgid "UpdraftPlus is not yet activated."
|
5400 |
-
msgstr "UpdraftPlus non è ancora attivo."
|
5401 |
-
|
5402 |
-
#: src/udaddons/options.php:96, src/udaddons/options.php:98
|
5403 |
-
msgid "Go here to connect."
|
5404 |
-
msgstr "Vai qui per la connessione."
|
5405 |
-
|
5406 |
-
#: src/udaddons/options.php:96
|
5407 |
-
msgid "You have not yet connected with your UpdraftPlus.Com account, to enable you to list your purchased add-ons."
|
5408 |
-
msgstr "Non ti sei ancora connesso al tuo account Updraft.Com per abilitare la lista degli add-ons acquistati."
|
5409 |
-
|
5410 |
-
#: src/addons/moredatabase.php:313,
|
5411 |
-
#: src/includes/class-updraftplus-encryption.php:148
|
5412 |
-
msgid "Without it, encryption will be a lot slower."
|
5413 |
-
msgstr "Senza di esso, la crittografia sarà molto più lenta."
|
5414 |
-
|
5415 |
-
#: src/addons/moredatabase.php:313,
|
5416 |
-
#: src/includes/class-updraftplus-encryption.php:148
|
5417 |
-
msgid "Your web-server does not have the %s module installed."
|
5418 |
-
msgstr "Il tuo webserver non ha installato il modulo %s."
|
5419 |
-
|
5420 |
-
#: src/addons/googlecloud.php:1074, src/methods/googledrive.php:1278
|
5421 |
-
msgid "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem)."
|
5422 |
-
msgstr "<strong>(Sembra che tu sia già autenticato,</strong> se hai un problema puoi comunque autenticarti di nuovo e aggiornare il tuo accesso)."
|
5423 |
-
|
5424 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:78,
|
5425 |
-
#: src/templates/wp-admin/settings/tab-backups.php:80
|
5426 |
-
msgid "Drop backup files here"
|
5427 |
-
msgstr "Trascina i file di backup qui"
|
5428 |
-
|
5429 |
-
#: src/admin.php:804
|
5430 |
-
msgid "The web server returned an error code (try again, or check your web server logs)"
|
5431 |
-
msgstr "Il web server ha restituito un codice di errore (riprova, o controlla i log del server web)"
|
5432 |
-
|
5433 |
-
#: src/admin.php:802
|
5434 |
-
msgid "The restore operation has begun. Do not press stop or close your browser until it reports itself as having finished."
|
5435 |
-
msgstr "L'operazione di ripristino è iniziata. Non premere stop e non chiudere il browser fino a quando non viene segnalata la fine."
|
5436 |
-
|
5437 |
-
#: src/addons/wp-cli.php:115, src/admin.php:799
|
5438 |
-
msgid "If you exclude both the database and the files, then you have excluded everything!"
|
5439 |
-
msgstr "Se si esclude sia il database che i files, allora si è escluso tutto!"
|
5440 |
-
|
5441 |
-
#: src/restorer.php:2197
|
5442 |
-
msgid "Site home:"
|
5443 |
-
msgstr "Sito home:"
|
5444 |
-
|
5445 |
-
#: src/addons/morestorage.php:138
|
5446 |
-
msgid "Remote Storage Options"
|
5447 |
-
msgstr "Opzioni di Archiviazione Remota"
|
5448 |
-
|
5449 |
-
#: src/addons/autobackup.php:343, src/addons/autobackup.php:437
|
5450 |
-
msgid "(logs can be found in the UpdraftPlus settings page as normal)..."
|
5451 |
-
msgstr "(i logs possono essere ritrovati nella pagine dei settaggi di UpdraftPlus)"
|
5452 |
-
|
5453 |
-
#: src/addons/autobackup.php:303, src/addons/autobackup.php:1085
|
5454 |
-
msgid "Remember this choice for next time (you will still have the chance to change it)"
|
5455 |
-
msgstr "Ricorda questa scelta per la prossima volta (si potrà cambiare anche in seguito)"
|
5456 |
-
|
5457 |
-
#: src/addons/azure.php:420, src/methods/stream-base.php:143,
|
5458 |
-
#: src/methods/stream-base.php:148
|
5459 |
-
msgid "Upload failed"
|
5460 |
-
msgstr "Caricamento fallito"
|
5461 |
-
|
5462 |
-
#: src/templates/wp-admin/settings/form-contents.php:125
|
5463 |
-
msgid "You can send a backup to more than one destination with an add-on."
|
5464 |
-
msgstr "È possibile inviare una copia di backup a più di una destinazione con un add-on."
|
5465 |
-
|
5466 |
-
#: src/admin.php:3416
|
5467 |
-
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."
|
5468 |
-
msgstr "Nota: la barra di avanzamento che segue si basa sulle fasi, non sul tempo. Non interrompere il backup solo perché sembra essere rimasto nello stesso posto per un po '- che è normale."
|
5469 |
-
|
5470 |
-
#: src/admin.php:3283
|
5471 |
-
msgid "(%s%%, file %s of %s)"
|
5472 |
-
msgstr "(%s%%, file %s di %s)"
|
5473 |
-
|
5474 |
-
#: src/addons/autobackup.php:304, src/addons/autobackup.php:1090,
|
5475 |
-
#: src/addons/lockadmin.php:160
|
5476 |
-
msgid "Read more about how this works..."
|
5477 |
-
msgstr "Per saperne di più su come funziona..."
|
5478 |
-
|
5479 |
-
#: src/addons/sftp.php:608
|
5480 |
-
msgid "Failed: We were able to log in, but failed to successfully create a file in that location."
|
5481 |
-
msgstr "Errore: Si è in grado di accedere, ma non è possibile creare con successo un file in quella posizione."
|
5482 |
-
|
5483 |
-
#: src/addons/sftp.php:606
|
5484 |
-
msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully create a file in that location."
|
5485 |
-
msgstr "Errore: Si è in grado di accedere e passare alla directory indicata, ma non è possibile creare con successo un file in quella posizione."
|
5486 |
-
|
5487 |
-
#: src/addons/sftp.php:492
|
5488 |
-
msgid "Use SCP instead of SFTP"
|
5489 |
-
msgstr "Utilizza SCP invece che SFTP"
|
5490 |
-
|
5491 |
-
#: src/addons/sftp.php:48
|
5492 |
-
msgid "SCP/SFTP user setting"
|
5493 |
-
msgstr "Settaggio utente SCP/SFTP"
|
5494 |
-
|
5495 |
-
#: src/addons/sftp.php:47
|
5496 |
-
msgid "SCP/SFTP host setting"
|
5497 |
-
msgstr "Settaggio host SCP/SFTP"
|
5498 |
-
|
5499 |
-
#: src/methods/email.php:67
|
5500 |
-
msgid "The attempt to send the backup via email failed (probably the backup was too large for this method)"
|
5501 |
-
msgstr "Il tentativo di inviare il backup tramite e-mail non è riuscita (probabilmente il backup era troppo grande per questo metodo)"
|
5502 |
-
|
5503 |
-
#: src/methods/email.php:47
|
5504 |
-
msgid "Backup is of: %s."
|
5505 |
-
msgstr "Il backup è di: %s."
|
5506 |
-
|
5507 |
-
#: src/admin.php:894
|
5508 |
-
msgid "%s settings test result:"
|
5509 |
-
msgstr "%s impostazioni del risultato del test:"
|
5510 |
-
|
5511 |
-
#: src/admin.php:4140, src/admin.php:4142
|
5512 |
-
msgid "(Not finished)"
|
5513 |
-
msgstr "(Non finito)"
|
5514 |
-
|
5515 |
-
#: src/admin.php:4142
|
5516 |
-
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."
|
5517 |
-
msgstr "Se si vedono più backup di quello che ci si aspetta, probabilmente è perché la cancellazione dei vecchi set di backup non avviene fino a quando non si completa un backup nuovo."
|
5518 |
-
|
5519 |
-
#: src/templates/wp-admin/settings/form-contents.php:328
|
5520 |
-
msgid "<b>Do not</b> place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)."
|
5521 |
-
msgstr "<b>Non</b> inserirlo dentro i tuoi upload o nella directory dei plugins, perché causerà ricorsione (backup di backup di backup di ...)."
|
5522 |
-
|
5523 |
-
#: src/templates/wp-admin/settings/form-contents.php:328
|
5524 |
-
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. It is relative to your content directory (which by default is called wp-content)."
|
5525 |
-
msgstr "Questo è dove UpdraftPlus scriverà i file zip che crea inizialmente. Questa directory deve essere scrivibile dal server web. Esso è relativo alla directory di contenuto (che di default è chiamato wp-content)."
|
5526 |
-
|
5527 |
-
#: src/admin.php:3384
|
5528 |
-
msgid "Job ID: %s"
|
5529 |
-
msgstr "Job ID: %s"
|
5530 |
-
|
5531 |
-
#: src/admin.php:3364
|
5532 |
-
msgid "last activity: %ss ago"
|
5533 |
-
msgstr "Ultima attività: %ss fa"
|
5534 |
-
|
5535 |
-
#: src/admin.php:3363
|
5536 |
-
msgid "next resumption: %d (after %ss)"
|
5537 |
-
msgstr "successiva ripresa: %d (dopo %ss)"
|
5538 |
-
|
5539 |
-
#: src/admin.php:3346, src/central/bootstrap.php:444,
|
5540 |
-
#: src/central/bootstrap.php:451, src/methods/updraftvault.php:410,
|
5541 |
-
#: src/methods/updraftvault.php:444, src/methods/updraftvault.php:529
|
5542 |
-
msgid "Unknown"
|
5543 |
-
msgstr "Sconosciuto"
|
5544 |
-
|
5545 |
-
#: src/admin.php:3297
|
5546 |
-
msgid "Backup finished"
|
5547 |
-
msgstr "Backup finito"
|
5548 |
-
|
5549 |
-
#: src/admin.php:3292
|
5550 |
-
msgid "Waiting until scheduled time to retry because of errors"
|
5551 |
-
msgstr "Aspettare il tempo previsto per riprovare a causa di errori."
|
5552 |
-
|
5553 |
-
#: src/admin.php:3288
|
5554 |
-
msgid "Pruning old backup sets"
|
5555 |
-
msgstr "Potatura vecchi set di backup"
|
5556 |
-
|
5557 |
-
#: src/admin.php:3275
|
5558 |
-
msgid "Uploading files to remote storage"
|
5559 |
-
msgstr "Caricamento dei files nell'archiviazione remota"
|
5560 |
-
|
5561 |
-
#: src/admin.php:3344
|
5562 |
-
msgid "Encrypted database"
|
5563 |
-
msgstr "database crittografato"
|
5564 |
-
|
5565 |
-
#: src/admin.php:3336
|
5566 |
-
msgid "Encrypting database"
|
5567 |
-
msgstr "Crittografia del database"
|
5568 |
-
|
5569 |
-
#: src/admin.php:3310
|
5570 |
-
msgid "Created database backup"
|
5571 |
-
msgstr "Backup del database creato"
|
5572 |
-
|
5573 |
-
#: src/admin.php:3323
|
5574 |
-
msgid "table: %s"
|
5575 |
-
msgstr "tabella: %s"
|
5576 |
-
|
5577 |
-
#: src/admin.php:3321
|
5578 |
-
msgid "Creating database backup"
|
5579 |
-
msgstr "Creazione di backup del database"
|
5580 |
-
|
5581 |
-
#: src/admin.php:3266
|
5582 |
-
msgid "Created file backup zips"
|
5583 |
-
msgstr "Creato zip di backup dei file"
|
5584 |
-
|
5585 |
-
#: src/admin.php:3253
|
5586 |
-
msgid "Creating file backup zips"
|
5587 |
-
msgstr "Creazione di file di backup zip"
|
5588 |
-
|
5589 |
-
#: src/admin.php:3248
|
5590 |
-
msgid "Backup begun"
|
5591 |
-
msgstr "Backup avviato"
|
5592 |
-
|
5593 |
-
#: src/admin.php:1151
|
5594 |
-
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."
|
5595 |
-
msgstr "Lo scheduler è disabilitato nella tua installazione di WordPress tramite l'impostazione DISABLE_WP_CRON. Nessun backup può essere eseguito (anche "Backup Now"), a meno che non sia impostata una funzione per chiamare lo scheduler manualmente, o fino a quando non viene abilitato."
|
5596 |
-
|
5597 |
-
#: src/restorer.php:1091
|
5598 |
-
msgid "file"
|
5599 |
-
msgstr "file"
|
5600 |
-
|
5601 |
-
#: src/addons/onedrive.php:1186, src/restorer.php:1083
|
5602 |
-
msgid "folder"
|
5603 |
-
msgstr "Cartella"
|
5604 |
-
|
5605 |
-
#: src/restorer.php:1083, src/restorer.php:1091
|
5606 |
-
msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)"
|
5607 |
-
msgstr "UpdraftPlus ha bisogno di creare %s nella directory di contenuti, ma non è riuscito nella creazione - si prega di controllare i permessi dei file e consentire l'accesso (%s)"
|
5608 |
-
|
5609 |
-
#: src/class-updraftplus.php:3002
|
5610 |
-
msgid "The backup has not finished; a resumption is scheduled"
|
5611 |
-
msgstr "Il backup non è ultimato; è stata rischedulata una ripresa."
|
5612 |
-
|
5613 |
-
#: src/class-updraftplus.php:2022
|
5614 |
-
msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:"
|
5615 |
-
msgstr "Il tuo sito web è visitato raramente e UpdraftPlus non sta ottenendo le risorse sperate, ti consigliamo di leggere questa pagina:"
|
5616 |
-
|
5617 |
-
#: src/addons/onedrive.php:1037,
|
5618 |
-
#: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:118
|
5619 |
-
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)."
|
5620 |
-
msgstr "L'autenticazione %s non può andare avanti, perché qualcos'altro sul tuo sito l'ha interrotta. Prova a disabilitare gli altri plugin e a fare il passaggio a un tema predefinito. (In particolare, si sta cercando il componente che invia l'output (molto probabilmente avvertimenti e/o errori PHP) prima dell'inizio della pagina. Spegnere le impostazioni di debug può anche aiutare)."
|
5621 |
-
|
5622 |
-
#: src/admin.php:2638
|
5623 |
-
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)."
|
5624 |
-
msgstr "Il tuo limite di memoria PHP (fissato dalla società di web hosting) è molto basso. UpdraftPlus ha tentato di sollevarlo, ma senza successo. Questo plugin può lavorare con un limite di memoria di almeno di 64 Mb - soprattutto se si sono caricati file di grandi dimensioni (anche se d'altra parte, molti siti avranno successo con un limite di 32Mb - la vostra esperienza può variare)."
|
5625 |
-
|
5626 |
-
#: src/addons/autobackup.php:1104, src/admin.php:848
|
5627 |
-
msgid "Proceed with update"
|
5628 |
-
msgstr "Procedere con l'aggiornamento"
|
5629 |
-
|
5630 |
-
#: src/addons/autobackup.php:1097
|
5631 |
-
msgid "Do not abort after pressing Proceed below - wait for the backup to complete."
|
5632 |
-
msgstr "Non abortire dopo aver premuto Procedi sotto - attendere il backup completo."
|
5633 |
-
|
5634 |
-
#: src/addons/autobackup.php:139, src/addons/autobackup.php:1046
|
5635 |
-
msgid "UpdraftPlus Automatic Backups"
|
5636 |
-
msgstr "UpdraftPlus Backup automatico"
|
5637 |
-
|
5638 |
-
#: src/addons/autobackup.php:529
|
5639 |
-
msgid "Errors have occurred:"
|
5640 |
-
msgstr "Si sono verificati errori:"
|
5641 |
-
|
5642 |
-
#: src/addons/autobackup.php:501
|
5643 |
-
msgid "Creating backup with UpdraftPlus..."
|
5644 |
-
msgstr "Creazione del backup con UpdraftPlus..."
|
5645 |
-
|
5646 |
-
#: src/addons/autobackup.php:446, src/addons/autobackup.php:576,
|
5647 |
-
#: src/addons/autobackup.php:627
|
5648 |
-
msgid "Automatic Backup"
|
5649 |
-
msgstr "Backup Automatico"
|
5650 |
-
|
5651 |
-
#: src/addons/autobackup.php:437
|
5652 |
-
msgid "Creating database backup with UpdraftPlus..."
|
5653 |
-
msgstr "Creazione del backup del database con UpdraftPlus in corso..."
|
5654 |
-
|
5655 |
-
#: src/addons/autobackup.php:403
|
5656 |
-
msgid "themes"
|
5657 |
-
msgstr "temi"
|
5658 |
-
|
5659 |
-
#: src/addons/autobackup.php:396
|
5660 |
-
msgid "plugins"
|
5661 |
-
msgstr "plugin"
|
5662 |
-
|
5663 |
-
#: src/addons/autobackup.php:347, src/addons/autobackup.php:444
|
5664 |
-
msgid "Starting automatic backup..."
|
5665 |
-
msgstr "Avvio backup automatico..."
|
5666 |
-
|
5667 |
-
#: src/addons/autobackup.php:343
|
5668 |
-
msgid "Creating %s and database backup with UpdraftPlus..."
|
5669 |
-
msgstr "Creazione di %s e backup del database con UpdraftPlus..."
|
5670 |
-
|
5671 |
-
#: src/addons/autobackup.php:301
|
5672 |
-
msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
5673 |
-
msgstr "Backup Automatico (se rilevante) di plugin, temi e il database di WordPress con UpdraftPlus prima di aggiornare"
|
5674 |
-
|
5675 |
-
#: src/addons/morefiles.php:243, src/addons/morefiles.php:244
|
5676 |
-
msgid "If you are not sure then you should stop; otherwise you may destroy this WordPress installation."
|
5677 |
-
msgstr "Se non si è sicuri, è consigliabile di non procedere: si potrebbe distruggere questa installazione di WordPress."
|
5678 |
-
|
5679 |
-
#: src/addons/morefiles.php:243, src/addons/morefiles.php:244
|
5680 |
-
msgid "This does not look like a valid WordPress core backup - the file %s was missing."
|
5681 |
-
msgstr "Questo non sembra un backup valido del core di WordPress - il file %s è mancante."
|
5682 |
-
|
5683 |
-
#: src/addons/morefiles.php:190
|
5684 |
-
msgid "Unable to open zip file (%s) - could not pre-scan it to check its integrity."
|
5685 |
-
msgstr "Impossibile aprire il file .zip (%s) - impossibile pre-analizzare il file per controllarne l'integrità."
|
5686 |
-
|
5687 |
-
#: src/addons/morefiles.php:180
|
5688 |
-
msgid "Unable to read zip file (%s) - could not pre-scan it to check its integrity."
|
5689 |
-
msgstr "Impossibile leggere il file .zip (%s) - impossibile pre-processare il file per verificarne l'integrità."
|
5690 |
-
|
5691 |
-
#: src/templates/wp-admin/settings/header.php:26
|
5692 |
-
msgid "More plugins"
|
5693 |
-
msgstr "Altri plugin"
|
5694 |
-
|
5695 |
-
#: src/includes/updraftplus-notices.php:31,
|
5696 |
-
#: src/templates/wp-admin/settings/header.php:17,
|
5697 |
-
#: src/templates/wp-admin/settings/tab-addons.php:21,
|
5698 |
-
#: src/templates/wp-admin/settings/tab-addons.php:87
|
5699 |
-
msgid "Support"
|
5700 |
-
msgstr "Supporto"
|
5701 |
-
|
5702 |
-
#: src/class-updraftplus.php:4237
|
5703 |
-
msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup."
|
5704 |
-
msgstr "UpdraftPlus non è riuscito a trovare il prefisso della tabella durante la scansione dell backup del database."
|
5705 |
-
|
5706 |
-
#: src/class-updraftplus.php:4229
|
5707 |
-
msgid "This database backup is missing core WordPress tables: %s"
|
5708 |
-
msgstr "In questo backup del database mancano le tabelle del core di WordPress: %s"
|
5709 |
-
|
5710 |
-
#: src/class-updraftplus.php:3975
|
5711 |
-
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."
|
5712 |
-
msgstr "Si sta importando da una nuova versione di WordPress (%s) ad una più vecchia (%s). Non ci sono garanzie che WordPress sia in grado di gestire questo."
|
5713 |
-
|
5714 |
-
#: src/class-updraftplus.php:3974, src/class-updraftplus.php:3981
|
5715 |
-
msgid "%s version: %s"
|
5716 |
-
msgstr "%s versione: %s"
|
5717 |
-
|
5718 |
-
#: src/class-updraftplus.php:3850
|
5719 |
-
msgid "The database is too small to be a valid WordPress database (size: %s Kb)."
|
5720 |
-
msgstr "Il database è troppo piccolo per essere un database di WordPress valido (dimensione: %s Kb)."
|
5721 |
-
|
5722 |
-
#: src/addons/autobackup.php:1072, src/admin.php:976,
|
5723 |
-
#: src/includes/updraftplus-notices.php:171
|
5724 |
-
msgid "Be safe with an automatic backup"
|
5725 |
-
msgstr "Al sicuro con un backup automatico"
|
5726 |
-
|
5727 |
-
#: src/admin.php:2591
|
5728 |
-
msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site."
|
5729 |
-
msgstr "Se è ancora possibile leggere queste parole dopo che il caricamento della pagina è terminato, allora c'è un problema JavaScript o jQuery nel sito."
|
5730 |
-
|
5731 |
-
#: src/admin.php:840
|
5732 |
-
msgid "The file was uploaded."
|
5733 |
-
msgstr "Il file è stato caricato."
|
5734 |
-
|
5735 |
-
#: src/admin.php:839
|
5736 |
-
msgid "Unknown server response status:"
|
5737 |
-
msgstr "Stato di risposta del server sconosciuto:"
|
5738 |
-
|
5739 |
-
#: src/admin.php:838
|
5740 |
-
msgid "Unknown server response:"
|
5741 |
-
msgstr "Risposta del server sconosciuta:"
|
5742 |
-
|
5743 |
-
#: src/admin.php:837
|
5744 |
-
msgid "This decryption key will be attempted:"
|
5745 |
-
msgstr "Questa chiave di decifratura verrà tentata:"
|
5746 |
-
|
5747 |
-
#: src/admin.php:836
|
5748 |
-
msgid "Follow this link to attempt decryption and download the database file to your computer."
|
5749 |
-
msgstr "Segui questo link per tentare la decrittazione e scaricare il file di database sul tuo computer."
|
5750 |
-
|
5751 |
-
#: src/admin.php:835
|
5752 |
-
msgid "Upload error"
|
5753 |
-
msgstr "Errore caricamento"
|
5754 |
-
|
5755 |
-
#: src/admin.php:834
|
5756 |
-
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)."
|
5757 |
-
msgstr "Questo file non sembra essere un archivio database crittografato da UpdraftPlus (questi file sono file gz.crypt che hanno un nome come:. Backup_(data)_(nome del sito)_(codice)_db.crypt.gz)."
|
5758 |
-
|
5759 |
-
#: src/admin.php:833
|
5760 |
-
msgid "Upload error:"
|
5761 |
-
msgstr "Errore di caricamento:"
|
5762 |
-
|
5763 |
-
#: src/admin.php:832
|
5764 |
-
msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)"
|
5765 |
-
msgstr "(assicurarsi che si stava tentando di caricare un file zip precedentemente creato da UpdraftPlus)"
|
5766 |
-
|
5767 |
-
#: src/admin.php:823
|
5768 |
-
msgid "Download to your computer"
|
5769 |
-
msgstr "Scarica sul tuo computer"
|
5770 |
-
|
5771 |
-
#: src/admin.php:822
|
5772 |
-
msgid "Delete from your web server"
|
5773 |
-
msgstr "Cancella dal tuo web server"
|
5774 |
-
|
5775 |
-
#: src/admin.php:4112
|
5776 |
-
msgid "You appear to be missing one or more archives from this multi-archive set."
|
5777 |
-
msgstr "Sembra che uno o più archivi di questo set multi-archivio sia mancante."
|
5778 |
-
|
5779 |
-
#: src/admin.php:4109
|
5780 |
-
msgid "(%d archive(s) in set)."
|
5781 |
-
msgstr "(%d archivi nel set)."
|
5782 |
-
|
5783 |
-
#: src/templates/wp-admin/settings/form-contents.php:308
|
5784 |
-
msgid "Split archives every:"
|
5785 |
-
msgstr "Dividi gli archivi ogni:"
|
5786 |
-
|
5787 |
-
#: src/addons/moredatabase.php:273
|
5788 |
-
msgid "Error: the server sent us a response (JSON) which we did not understand."
|
5789 |
-
msgstr "Errore: il server ha inviato una risposta sconosciuta (JSON)."
|
5790 |
-
|
5791 |
-
#: src/admin.php:813
|
5792 |
-
msgid "Warnings:"
|
5793 |
-
msgstr "Attenzione:"
|
5794 |
-
|
5795 |
-
#: src/admin.php:812
|
5796 |
-
msgid "Error: the server sent an empty response."
|
5797 |
-
msgstr "Errore: il server ha inviato una risposta vuota."
|
5798 |
-
|
5799 |
-
#: src/admin.php:2317
|
5800 |
-
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?"
|
5801 |
-
msgstr "Questo sembra un file creato da UpdraftPlus, ma questa installazione non riconosce questo tipo di oggetto:%s. Forse è necessario installare un add-on?"
|
5802 |
-
|
5803 |
-
#: src/includes/class-wpadmin-commands.php:238
|
5804 |
-
msgid "The backup archive files have been processed, but with some errors. You will need to cancel and correct any problems before retrying."
|
5805 |
-
msgstr "I file di archivio di backup sono stati elaborati, ma con alcuni errori. Avrete bisogno di cancellare e correggere gli eventuali problemi prima di riprovare."
|
5806 |
-
|
5807 |
-
#: src/includes/class-wpadmin-commands.php:236
|
5808 |
-
msgid "The backup archive files have been processed, but with some warnings. If all is well, then now press Restore again to proceed. Otherwise, cancel and correct any problems first."
|
5809 |
-
msgstr "I file di archivio di backup sono stati elaborati, ma con alcune avvertenze. Se tutto va bene, premere nuovamente Ripristina per procedere. Altrimenti, annullare e correggere eventuali problemi."
|
5810 |
-
|
5811 |
-
#: src/includes/class-wpadmin-commands.php:234
|
5812 |
-
msgid "The backup archive files have been successfully processed. Now press Restore again to proceed."
|
5813 |
-
msgstr "L'archivio di backup è stato processato correttamente. Ora premi ancora Ripristina per procedere."
|
5814 |
-
|
5815 |
-
#: src/includes/class-wpadmin-commands.php:208
|
5816 |
-
msgid "This multi-archive backup set appears to have the following archives missing: %s"
|
5817 |
-
msgstr "Questo set di backup multiarchivio sembra che non comprenda il seguente archivio: %s"
|
5818 |
-
|
5819 |
-
#: src/includes/class-wpadmin-commands.php:193
|
5820 |
-
msgid "File (%s) was found, but has a different size (%s) from what was expected (%s) - it may be corrupt."
|
5821 |
-
msgstr "il file (%s) è stato trovato, ma ha una dimensione differente da quella prevista (%s invece che %s) - potrebbe essere corrotto."
|
5822 |
-
|
5823 |
-
#: src/includes/class-wpadmin-commands.php:188
|
5824 |
-
msgid "File was found, but is zero-sized (you need to re-upload it): %s"
|
5825 |
-
msgstr "Il file è stato trovato, ma ha dimensione nulla (è necessario ri-caricare il file): %s"
|
5826 |
-
|
5827 |
-
#: src/includes/class-wpadmin-commands.php:186
|
5828 |
-
msgid "File not found (you need to upload it): %s"
|
5829 |
-
msgstr "File non trovato (è necessario caricarlo): %s"
|
5830 |
-
|
5831 |
-
#: src/addons/wp-cli.php:611, src/addons/wp-cli.php:612,
|
5832 |
-
#: src/includes/class-wpadmin-commands.php:114
|
5833 |
-
msgid "No such backup set exists"
|
5834 |
-
msgstr "Nessun set di backup esistente"
|
5835 |
-
|
5836 |
-
#: src/includes/class-storage-methods-interface.php:378
|
5837 |
-
msgid "The backup archive for this file could not be found. The remote storage method in use (%s) does not allow us to retrieve files. To perform any restoration using UpdraftPlus, you will need to obtain a copy of this file and place it inside UpdraftPlus's working folder"
|
5838 |
-
msgstr "L'archivio di backup di questo file non è stato trovato. Il metodo di archiviazione remota in uso (%s) non ci permette di recuperare il file. Per eseguire qualsiasi ripristino con UpdraftPlus, è necessario ottenere una copia di questo file e posizionarlo all'interno della cartella di lavoro di UpdraftPlus"
|
5839 |
-
|
5840 |
-
#: src/restorer.php:522
|
5841 |
-
msgid "Moving unpacked backup into place..."
|
5842 |
-
msgstr "Spostamento del backup scompattato in posizione..."
|
5843 |
-
|
5844 |
-
#: src/backup.php:3097, src/backup.php:3380
|
5845 |
-
msgid "Failed to open the zip file (%s) - %s"
|
5846 |
-
msgstr "Impossibile aprire il file .zip (%s) - %s"
|
5847 |
-
|
5848 |
-
#: src/addons/morefiles.php:168
|
5849 |
-
msgid "WordPress root directory server path: %s"
|
5850 |
-
msgstr "Percorso cartella di root di WordPress sul server: %s"
|
5851 |
-
|
5852 |
-
#: src/methods/dreamobjects.php:113, src/methods/s3generic.php:104
|
5853 |
-
msgid "%s end-point"
|
5854 |
-
msgstr "end-point %s"
|
5855 |
-
|
5856 |
-
#: src/methods/s3.php:850
|
5857 |
-
msgid "... and many more!"
|
5858 |
-
msgstr "... e molti altri!"
|
5859 |
-
|
5860 |
-
#: src/methods/s3generic.php:61, src/methods/s3generic.php:72,
|
5861 |
-
#: src/methods/s3generic.php:83
|
5862 |
-
msgid "S3 (Compatible)"
|
5863 |
-
msgstr "S3 (Compatibile)"
|
5864 |
-
|
5865 |
-
#: src/includes/class-storage-methods-interface.php:287
|
5866 |
-
msgid "File is not locally present - needs retrieving from remote storage"
|
5867 |
-
msgstr "Il file non è presente in locale - è necessario il recupero dallo storage remoto"
|
5868 |
-
|
5869 |
-
#: src/restorer.php:208
|
5870 |
-
msgid "Looking for %s archive: file name: %s"
|
5871 |
-
msgstr "Ricerca archivio %s: nome file:%s"
|
5872 |
-
|
5873 |
-
#: src/addons/wp-cli.php:784, src/admin.php:4570
|
5874 |
-
msgid "Final checks"
|
5875 |
-
msgstr "Controlli finali"
|
5876 |
-
|
5877 |
-
#: src/templates/wp-admin/settings/form-contents.php:314
|
5878 |
-
msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)."
|
5879 |
-
msgstr "Selezionare questa opzione per eliminare tutti i file di backup superflui dal server al termine del backup stesso (ad esempio, se si deseleziona, tutti i file spediti in remoto rimarranno anche in locale, e tutti i file in locale non saranno soggetti ai limiti di ritenzione)."
|
5880 |
-
|
5881 |
-
#: src/templates/wp-admin/settings/form-contents.php:189
|
5882 |
-
msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption"
|
5883 |
-
msgstr "Trascinare qui i file di database crittografati (file db.gz.crypt) per caricarli per la decrittazione"
|
5884 |
-
|
5885 |
-
#: src/admin.php:3817
|
5886 |
-
msgid "Your wp-content directory server path: %s"
|
5887 |
-
msgstr "Il vostro percorso della cartella wp-content sul server: %s"
|
5888 |
-
|
5889 |
-
#: src/admin.php:829
|
5890 |
-
msgid "Raw backup history"
|
5891 |
-
msgstr "Cronologia di backup raw"
|
5892 |
-
|
5893 |
-
#: src/templates/wp-admin/advanced/site-info.php:104
|
5894 |
-
msgid "Show raw backup and file list"
|
5895 |
-
msgstr "Mostra backup raw e lista file"
|
5896 |
-
|
5897 |
-
#: src/admin.php:811
|
5898 |
-
msgid "Processing files - please wait..."
|
5899 |
-
msgstr "Elaborazione file - attendere prego...."
|
5900 |
-
|
5901 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:27,
|
5902 |
-
#: src/templates/wp-admin/settings/tab-backups.php:27
|
5903 |
-
msgid "Your WordPress installation has a problem with outputting extra whitespace. This can corrupt backups that you download from here."
|
5904 |
-
msgstr "La tua installazione di WordPress ha un problema con l'output in più spazi bianchi. Questo può corrompere i backup che si scaricano da qui."
|
5905 |
-
|
5906 |
-
#: src/class-updraftplus.php:3858
|
5907 |
-
msgid "Failed to open database file."
|
5908 |
-
msgstr "Impossibile aprire il file di database."
|
5909 |
-
|
5910 |
-
#: src/admin.php:5154
|
5911 |
-
msgid "Known backups (raw)"
|
5912 |
-
msgstr "Backup noti (raw)"
|
5913 |
-
|
5914 |
-
#: src/restorer.php:1400
|
5915 |
-
msgid "Files found:"
|
5916 |
-
msgstr "File trovati:"
|
5917 |
-
|
5918 |
-
#: src/restorer.php:2385
|
5919 |
-
msgid "Requested table engine (%s) is not present - changing to MyISAM."
|
5920 |
-
msgstr "Il motore tabella richiesto (%s) non è presente - cambio a MyISAM."
|
5921 |
-
|
5922 |
-
#: src/restorer.php:228
|
5923 |
-
msgid "file is size:"
|
5924 |
-
msgstr "il file ha dimensioni:"
|
5925 |
-
|
5926 |
-
#: src/addons/googlecloud.php:1034, src/addons/migrator.php:490,
|
5927 |
-
#: src/addons/migrator.php:493, src/addons/migrator.php:496,
|
5928 |
-
#: src/admin.php:1151, src/admin.php:2596, src/backup.php:3431,
|
5929 |
-
#: src/class-updraftplus.php:4097, src/class-updraftplus.php:4097,
|
5930 |
-
#: src/updraftplus.php:157
|
5931 |
-
msgid "Go here for more information."
|
5932 |
-
msgstr "Vai qui per maggiori informazioni."
|
5933 |
-
|
5934 |
-
#: src/admin.php:810
|
5935 |
-
msgid "Some files are still downloading or being processed - please wait."
|
5936 |
-
msgstr "Alcuni file sono ancora in download o in fase di elaborazione - attendere prego."
|
5937 |
-
|
5938 |
-
#: src/class-updraftplus.php:3945, src/class-updraftplus.php:3965
|
5939 |
-
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."
|
5940 |
-
msgstr ""
|
5941 |
-
|
5942 |
-
#: src/addons/fixtime.php:571
|
5943 |
-
msgid "The time zone used is that from your WordPress settings, in Settings -> General."
|
5944 |
-
msgstr "Il fuso orario utilizzato è quello specificato nelle impostazioni generali di Wordpress, in Impostazioni -> Generali."
|
5945 |
-
|
5946 |
-
#: src/addons/fixtime.php:571
|
5947 |
-
msgid "Enter in format HH:MM (e.g. 14:22)."
|
5948 |
-
msgstr "Inserisci nel formato HH:MM (es. 14:22)"
|
5949 |
-
|
5950 |
-
#: src/methods/ftp.php:148
|
5951 |
-
msgid "%s upload failed"
|
5952 |
-
msgstr "caricamento con %s fallito"
|
5953 |
-
|
5954 |
-
#: src/methods/ftp.php:121, src/methods/ftp.php:172, src/methods/ftp.php:276
|
5955 |
-
msgid "%s login failure"
|
5956 |
-
msgstr "%s login fallito"
|
5957 |
-
|
5958 |
-
#: src/methods/dropbox.php:481
|
5959 |
-
msgid "You do not appear to be authenticated with %s"
|
5960 |
-
msgstr "Non risulti autenticato con %s"
|
5961 |
-
|
5962 |
-
#: src/methods/dropbox.php:448
|
5963 |
-
msgid "Failed to access %s when deleting (see log file for more)"
|
5964 |
-
msgstr "Accesso %s fallito durante l'eliminazione (vedi il file di log per ulteriori informazioni)"
|
5965 |
-
|
5966 |
-
#: src/methods/dropbox.php:440
|
5967 |
-
msgid "You do not appear to be authenticated with %s (whilst deleting)"
|
5968 |
-
msgstr "Non risulti autenticato con %s (in fase di eliminazione)"
|
5969 |
-
|
5970 |
-
#: src/methods/cloudfiles.php:413
|
5971 |
-
msgid "Error - failed to download the file from %s"
|
5972 |
-
msgstr "Errore - download da %s fallito"
|
5973 |
-
|
5974 |
-
#: src/methods/cloudfiles.php:409
|
5975 |
-
msgid "Error - no such file exists at %s"
|
5976 |
-
msgstr "Errore - non esiste nessun file in %s"
|
5977 |
-
|
5978 |
-
#: src/addons/azure.php:268, src/methods/addon-base-v2.php:219,
|
5979 |
-
#: src/methods/cloudfiles.php:383, src/methods/cloudfiles.php:400,
|
5980 |
-
#: src/methods/googledrive.php:1120, src/methods/openstack-base.php:455,
|
5981 |
-
#: src/methods/stream-base.php:297, src/methods/stream-base.php:304,
|
5982 |
-
#: src/methods/stream-base.php:335
|
5983 |
-
msgid "%s Error"
|
5984 |
-
msgstr "Errore %s"
|
5985 |
-
|
5986 |
-
#: src/methods/cloudfiles.php:219, src/methods/openstack-base.php:86
|
5987 |
-
msgid "%s error - failed to upload file"
|
5988 |
-
msgstr "Errore %s - caricamento del file fallito"
|
5989 |
-
|
5990 |
-
#: src/class-updraftplus.php:1255, src/methods/cloudfiles.php:211
|
5991 |
-
msgid "%s error - failed to re-assemble chunks"
|
5992 |
-
msgstr "Errore %s - riassemblaggio delle porzioni di file fallito"
|
5993 |
-
|
5994 |
-
#: src/methods/cloudfiles.php:95, src/methods/cloudfiles.php:99,
|
5995 |
-
#: src/methods/cloudfiles.php:240, src/methods/cloudfiles.php:286,
|
5996 |
-
#: src/methods/cloudfiles.php:335, src/methods/cloudfiles.php:339,
|
5997 |
-
#: src/methods/openstack-base.php:44, src/methods/openstack-base.php:352,
|
5998 |
-
#: src/methods/openstack-base.php:417, src/methods/openstack-base.php:490,
|
5999 |
-
#: src/methods/openstack-base.php:493, src/methods/openstack-base.php:511,
|
6000 |
-
#: src/methods/openstack-base.php:516
|
6001 |
-
msgid "%s authentication failed"
|
6002 |
-
msgstr "Autenticazione %s fallita"
|
6003 |
-
|
6004 |
-
#: src/addons/googlecloud.php:438, src/addons/migrator.php:587,
|
6005 |
-
#: src/admin.php:2288, src/admin.php:2309, src/admin.php:2317,
|
6006 |
-
#: src/class-updraftplus.php:997, src/class-updraftplus.php:1003,
|
6007 |
-
#: src/class-updraftplus.php:3831, src/class-updraftplus.php:3833,
|
6008 |
-
#: src/class-updraftplus.php:3998, src/class-updraftplus.php:4005,
|
6009 |
-
#: src/class-updraftplus.php:4076, src/methods/googledrive.php:403,
|
6010 |
-
#: src/methods/s3.php:341
|
6011 |
-
msgid "Error: %s"
|
6012 |
-
msgstr "Errore %s"
|
6013 |
-
|
6014 |
-
#: src/admin.php:3736
|
6015 |
-
msgid "Backup directory specified exists, but is <b>not</b> writable."
|
6016 |
-
msgstr "La cartella di backup specificata esiste, ma <b>non</b> è scrivibile."
|
6017 |
-
|
6018 |
-
#: src/admin.php:3734
|
6019 |
-
msgid "Backup directory specified does <b>not</b> exist."
|
6020 |
-
msgstr "La cartella di backup specificata <b>non</b> esiste."
|
6021 |
-
|
6022 |
-
#: src/admin.php:3398, src/admin.php:3685
|
6023 |
-
msgid "Warning: %s"
|
6024 |
-
msgstr "Attenzione: %s"
|
6025 |
-
|
6026 |
-
#: src/backup.php:3123
|
6027 |
-
msgid "A very large file was encountered: %s (size: %s Mb)"
|
6028 |
-
msgstr "Il file è di dimensioni molto grandi: %s (dimensione: %s Mb)"
|
6029 |
-
|
6030 |
-
#: src/backup.php:2418
|
6031 |
-
msgid "%s: unreadable file - could not be backed up"
|
6032 |
-
msgstr "%s: file illeggibile - impossibile eseguirne il backup"
|
6033 |
-
|
6034 |
-
#: src/backup.php:1740
|
6035 |
-
msgid "Table %s has very many rows (%s) - we hope your web hosting company gives you enough resources to dump out that table in the backup"
|
6036 |
-
msgstr "La tabella %s ha un numero di campi elevato (%s) - ci auguriamo che il vostro hosting vi permetta sufficienti risorse per riversare questa tabella nel backup"
|
6037 |
-
|
6038 |
-
#: src/backup.php:1859
|
6039 |
-
msgid "An error occurred whilst closing the final database file"
|
6040 |
-
msgstr "Errore durante la chiusura del file di database finale"
|
6041 |
-
|
6042 |
-
#: src/backup.php:1079
|
6043 |
-
msgid "Warnings encountered:"
|
6044 |
-
msgstr "Riscontrati avvisi:"
|
6045 |
-
|
6046 |
-
#: src/class-updraftplus.php:2986
|
6047 |
-
msgid "The backup apparently succeeded (with warnings) and is now complete"
|
6048 |
-
msgstr "Backup avvenuto e completato apparentemente con successo (riscontrati avvisi)"
|
6049 |
-
|
6050 |
-
#: src/class-updraftplus.php:874
|
6051 |
-
msgid "Your free disk space is very low - only %s Mb remain"
|
6052 |
-
msgstr "Il tuo spazio disco disponibile si sta esaurendo - solo %s Mb rimanenti"
|
6053 |
-
|
6054 |
-
#: src/addons/migrator.php:595
|
6055 |
-
msgid "New site:"
|
6056 |
-
msgstr "Nuovo Sito:"
|
6057 |
-
|
6058 |
-
#: src/addons/migrator.php:570
|
6059 |
-
msgid "Migrated site (from UpdraftPlus)"
|
6060 |
-
msgstr "Sito migrato (da UpdraftPlus)"
|
6061 |
-
|
6062 |
-
#: src/addons/migrator.php:510
|
6063 |
-
msgid "Enter details for where this new site is to live within your multisite install:"
|
6064 |
-
msgstr "Inserire i dettagli per il nuovo sito all'interno di una installazione multi-sito:"
|
6065 |
-
|
6066 |
-
#: src/addons/migrator.php:509
|
6067 |
-
msgid "Information needed to continue:"
|
6068 |
-
msgstr "Informazioni necessarie per continuare:"
|
6069 |
-
|
6070 |
-
#: src/addons/migrator.php:454
|
6071 |
-
msgid "Network activating theme:"
|
6072 |
-
msgstr "Attivazione del tema da rete: "
|
6073 |
-
|
6074 |
-
#: src/addons/migrator.php:444
|
6075 |
-
msgid "Processed plugin:"
|
6076 |
-
msgstr "Plugin processato:"
|
6077 |
-
|
6078 |
-
#: src/addons/sftp.php:75
|
6079 |
-
msgid "Check your file permissions: Could not successfully create and enter directory:"
|
6080 |
-
msgstr "Controlla i tuoi permessi di accesso al file: non è possibile creare ed accedere alla cartella:"
|
6081 |
-
|
6082 |
-
#: src/addons/sftp.php:37
|
6083 |
-
msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time) when you attempt to use it. If you find this happening, then go into the \"Expert Options\" (below) and turn off SSL there."
|
6084 |
-
msgstr ""
|
6085 |
-
|
6086 |
-
#: src/methods/s3.php:859
|
6087 |
-
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."
|
6088 |
-
msgstr "L'installazione di PHP sul tuo server non include un modulo necessario (%s). Contattare il supporto del provider di web hosting, e chiedere di abilitarlo."
|
6089 |
-
|
6090 |
-
#: src/methods/s3.php:1165
|
6091 |
-
msgid "Please check your access credentials."
|
6092 |
-
msgstr "Si prega di verificare i propri dati di accesso."
|
6093 |
-
|
6094 |
-
#: src/addons/s3-enhanced.php:215, src/methods/s3.php:1143
|
6095 |
-
msgid "The error reported by %s was:"
|
6096 |
-
msgstr "L'errore riportato da %s è:"
|
6097 |
-
|
6098 |
-
#: src/restorer.php:1916
|
6099 |
-
msgid "Please supply the requested information, and then continue."
|
6100 |
-
msgstr "Si prega di fornire le informazioni richieste, e quindi di continuare."
|
6101 |
-
|
6102 |
-
#: src/class-updraftplus.php:4016, src/restorer.php:2233
|
6103 |
-
msgid "Site information:"
|
6104 |
-
msgstr "Informazioni sul sito:"
|
6105 |
-
|
6106 |
-
#: src/restorer.php:2095
|
6107 |
-
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."
|
6108 |
-
msgstr "Il tuo utente per l'accesso al database non ha i diritti per creare tabelle. Cercheremo di ripristinare semplicemente svuotando le tabelle; questo dovrebbe funzionare fino a quando a) si esegue il ripristino di una versione di WordPress con la stessa struttura di database, e b) Il database importato non contiene le tabelle che non sono già presenti sul sito sul quale importare."
|
6109 |
-
|
6110 |
-
#: src/admin.php:2591, src/class-updraftplus.php:4009, src/restorer.php:2647
|
6111 |
-
msgid "Warning:"
|
6112 |
-
msgstr "Attenzione:"
|
6113 |
-
|
6114 |
-
#: src/class-updraftplus.php:3998, src/class-updraftplus.php:4001,
|
6115 |
-
#: src/restorer.php:530
|
6116 |
-
msgid "You are running on WordPress multisite - but your backup is not of a multisite site."
|
6117 |
-
msgstr "Esecuzione su un sito WordPress multi-sito - ma il tuo backup non è per un sito multi-sito. "
|
6118 |
-
|
6119 |
-
#: src/restorer.php:197
|
6120 |
-
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."
|
6121 |
-
msgstr "Esclusione del ripristino del core WordPress quando si importa un singolo sito in una installazione multi-sito. Se c'è qualcosa di necessario nella tua cartella WordPress allora sarà necessario ri-aggiungerlo manualmente dal file .zip."
|
6122 |
-
|
6123 |
-
#: src/addons/azure.php:601, src/admin.php:3909,
|
6124 |
-
#: src/methods/updraftvault.php:306
|
6125 |
-
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."
|
6126 |
-
msgstr "L'installazione PHP del tuo server web non ha incluso un modulo <strong>necessario</strong> (per %s - nome modulo %s). Contattare il supporto del provider di web hosting e chiedere di abilitarlo."
|
6127 |
-
|
6128 |
-
#: src/admin.php:849, src/includes/updraftplus-tour.php:89
|
6129 |
-
msgid "Close"
|
6130 |
-
msgstr "Chiudi"
|
6131 |
-
|
6132 |
-
#: src/addons/autobackup.php:349, src/addons/autobackup.php:441,
|
6133 |
-
#: src/admin.php:803, src/methods/remotesend.php:69,
|
6134 |
-
#: src/methods/remotesend.php:77, src/methods/remotesend.php:228,
|
6135 |
-
#: src/methods/remotesend.php:245, src/methods/remotesend.php:293
|
6136 |
-
msgid "Unexpected response:"
|
6137 |
-
msgstr "Risposta sconosciuta:"
|
6138 |
-
|
6139 |
-
#: src/addons/reporting.php:523, src/admin.php:798
|
6140 |
-
msgid "To send to more than one address, separate each address with a comma."
|
6141 |
-
msgstr "Per inviare a più di un indirizzo, separateli con una virgola."
|
6142 |
-
|
6143 |
-
#: src/admin.php:827
|
6144 |
-
msgid "PHP information"
|
6145 |
-
msgstr "Informazioni PHP"
|
6146 |
-
|
6147 |
-
#: src/templates/wp-admin/advanced/site-info.php:70
|
6148 |
-
msgid "zip executable found:"
|
6149 |
-
msgstr "zip eseguibile trovato:"
|
6150 |
-
|
6151 |
-
#: src/templates/wp-admin/advanced/site-info.php:45
|
6152 |
-
msgid "show PHP information (phpinfo)"
|
6153 |
-
msgstr "Mostra informazioni PHP (phpinfo)"
|
6154 |
-
|
6155 |
-
#: src/templates/wp-admin/settings/migrator-no-migrator.php:9
|
6156 |
-
msgid "Do you want to migrate or clone/duplicate a site?"
|
6157 |
-
msgstr "Vuoi migrare o clonare/duplicare un sito?"
|
6158 |
-
|
6159 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:161
|
6160 |
-
msgid "Please allow time for the communications with the remote storage to complete."
|
6161 |
-
msgstr ""
|
6162 |
-
|
6163 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:23
|
6164 |
-
msgid "Also delete from remote storage"
|
6165 |
-
msgstr "Cancellazione anche dall'archiviazione remota"
|
6166 |
-
|
6167 |
-
#: src/admin.php:3087
|
6168 |
-
msgid "Latest UpdraftPlus.com news:"
|
6169 |
-
msgstr "Ultime notizie da UpdraftPlus.com:"
|
6170 |
-
|
6171 |
-
#: src/templates/wp-admin/settings/header.php:11,
|
6172 |
-
#: src/templates/wp-admin/settings/tab-addons.php:47,
|
6173 |
-
#: src/templates/wp-admin/settings/tab-addons.php:68,
|
6174 |
-
#: src/templates/wp-admin/settings/tab-addons.php:81,
|
6175 |
-
#: src/templates/wp-admin/settings/tab-addons.php:94,
|
6176 |
-
#: src/templates/wp-admin/settings/tab-addons.php:107,
|
6177 |
-
#: src/templates/wp-admin/settings/tab-addons.php:120,
|
6178 |
-
#: src/templates/wp-admin/settings/tab-addons.php:133,
|
6179 |
-
#: src/templates/wp-admin/settings/tab-addons.php:146,
|
6180 |
-
#: src/templates/wp-admin/settings/tab-addons.php:159,
|
6181 |
-
#: src/templates/wp-admin/settings/tab-addons.php:172,
|
6182 |
-
#: src/templates/wp-admin/settings/tab-addons.php:185,
|
6183 |
-
#: src/templates/wp-admin/settings/tab-addons.php:198,
|
6184 |
-
#: src/templates/wp-admin/settings/tab-addons.php:211,
|
6185 |
-
#: src/templates/wp-admin/settings/tab-addons.php:224,
|
6186 |
-
#: src/templates/wp-admin/settings/tab-addons.php:237,
|
6187 |
-
#: src/templates/wp-admin/settings/tab-addons.php:254
|
6188 |
-
msgid "Premium"
|
6189 |
-
msgstr "Premium"
|
6190 |
-
|
6191 |
-
#: src/templates/wp-admin/settings/header.php:15
|
6192 |
-
msgid "News"
|
6193 |
-
msgstr "Notizie"
|
6194 |
-
|
6195 |
-
#: src/admin.php:1695, src/includes/class-wpadmin-commands.php:506
|
6196 |
-
msgid "Backup set not found"
|
6197 |
-
msgstr "Set di backup non trovato"
|
6198 |
-
|
6199 |
-
#: src/backup.php:189
|
6200 |
-
msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)"
|
6201 |
-
msgstr "%s - impossibile eseguire il backup di questo; la cartella corrispondente non esiste (%s) "
|
6202 |
-
|
6203 |
-
#: src/includes/updraftplus-notices.php:152,
|
6204 |
-
#: src/includes/updraftplus-notices.php:153,
|
6205 |
-
#: src/includes/updraftplus-notices.php:162,
|
6206 |
-
#: src/includes/updraftplus-notices.php:163
|
6207 |
-
msgid "RSS link"
|
6208 |
-
msgstr "Collegamento RSS"
|
6209 |
-
|
6210 |
-
#: src/includes/updraftplus-notices.php:152,
|
6211 |
-
#: src/includes/updraftplus-notices.php:153,
|
6212 |
-
#: src/includes/updraftplus-notices.php:162,
|
6213 |
-
#: src/includes/updraftplus-notices.php:163
|
6214 |
-
msgid "Blog link"
|
6215 |
-
msgstr "Collegamento al Blog"
|
6216 |
-
|
6217 |
-
#: src/admin.php:893
|
6218 |
-
msgid "Testing %s Settings..."
|
6219 |
-
msgstr "Analisi impostazioni di %s..."
|
6220 |
-
|
6221 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:69,
|
6222 |
-
#: src/templates/wp-admin/settings/tab-backups.php:71
|
6223 |
-
msgid "Or, you can place them manually into your UpdraftPlus directory (usually wp-content/updraft), e.g. via FTP, and then use the \"rescan\" link above."
|
6224 |
-
msgstr "In alternativa, è possibile inserire manualmente nella cartella UpdraftPlus (solitamente wp-content/updraft), ad esempio via FTP, e quindi utilizzare il link \"nuova scansione\" di cui sopra."
|
6225 |
-
|
6226 |
-
#: src/admin.php:1167
|
6227 |
-
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."
|
6228 |
-
msgstr "Modalità di debug di UpdraftPlus attivata. E' possibile visualizzare avvisi di debug in questa pagina non solamente di UpdraftPlus, ma di qualsiasi altro plug-in installato. Si prega verificare che l'avviso che state vedendo sia generato da UpdraftPlus prima di inviare una richiesta di supporto."
|
6229 |
-
|
6230 |
-
#: src/admin.php:1167
|
6231 |
-
msgid "Notice"
|
6232 |
-
msgstr "Nota"
|
6233 |
-
|
6234 |
-
#: src/backup.php:1061
|
6235 |
-
msgid "Errors encountered:"
|
6236 |
-
msgstr "Errori riscontrati:"
|
6237 |
-
|
6238 |
-
#: src/admin.php:795
|
6239 |
-
msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..."
|
6240 |
-
msgstr "Rescan in corso (ricerca di backup caricati manualmente nello spazio interno di archiviazione)..."
|
6241 |
-
|
6242 |
-
#: src/admin.php:809
|
6243 |
-
msgid "Begun looking for this entity"
|
6244 |
-
msgstr "Inizio ricerca di questo termine"
|
6245 |
-
|
6246 |
-
#: src/methods/s3.php:482
|
6247 |
-
msgid "%s Error: Failed to access bucket %s. Check your permissions and credentials.1"
|
6248 |
-
msgstr ""
|
6249 |
-
|
6250 |
-
#: src/addons/dropbox-folders.php:32
|
6251 |
-
msgid "Store at"
|
6252 |
-
msgstr "Archivia in"
|
6253 |
-
|
6254 |
-
#: src/addons/migrator.php:1555
|
6255 |
-
msgid "\"%s\" has no primary key, manual change needed on row %s."
|
6256 |
-
msgstr "\"%s\" non ha una chiave primaria, necessaria modifica manuale sulla linea %s."
|
6257 |
-
|
6258 |
-
#: src/addons/migrator.php:1429
|
6259 |
-
msgid "rows: %d"
|
6260 |
-
msgstr "linee: %d"
|
6261 |
-
|
6262 |
-
#: src/addons/migrator.php:1303
|
6263 |
-
msgid "Time taken (seconds):"
|
6264 |
-
msgstr "Tempo necessario (secondi):"
|
6265 |
-
|
6266 |
-
#: src/addons/migrator.php:1302, src/admin.php:814
|
6267 |
-
msgid "Errors:"
|
6268 |
-
msgstr "Errori:"
|
6269 |
-
|
6270 |
-
#: src/addons/migrator.php:1301
|
6271 |
-
msgid "SQL update commands run:"
|
6272 |
-
msgstr "Comandi di aggiornamento SQL eseguiti:"
|
6273 |
-
|
6274 |
-
#: src/addons/migrator.php:1300
|
6275 |
-
msgid "Changes made:"
|
6276 |
-
msgstr "Cambiamenti fatti:"
|
6277 |
-
|
6278 |
-
#: src/addons/migrator.php:1299
|
6279 |
-
msgid "Rows examined:"
|
6280 |
-
msgstr "Righe esaminate:"
|
6281 |
-
|
6282 |
-
#: src/addons/migrator.php:1298
|
6283 |
-
msgid "Tables examined:"
|
6284 |
-
msgstr "Tabelle esaminate:"
|
6285 |
-
|
6286 |
-
#: src/addons/migrator.php:1187
|
6287 |
-
msgid "Could not get list of tables"
|
6288 |
-
msgstr "Impossibile caricare la lista delle tabelle"
|
6289 |
-
|
6290 |
-
#: src/addons/migrator.php:1132
|
6291 |
-
msgid "Warning: the database's site URL (%s) is different to what we expected (%s)"
|
6292 |
-
msgstr "Attenzione: l'URL del database del sito (%s) è differente dalla posizione originale (%s)"
|
6293 |
-
|
6294 |
-
#: src/addons/migrator.php:1121
|
6295 |
-
msgid "Nothing to do: the site URL is already: %s"
|
6296 |
-
msgstr "Nessuna modifica: l'URL del sito è già: %s"
|
6297 |
-
|
6298 |
-
#: src/addons/migrator.php:1085, src/addons/migrator.php:1089,
|
6299 |
-
#: src/addons/migrator.php:1093, src/addons/migrator.php:1098,
|
6300 |
-
#: src/addons/migrator.php:1102, src/addons/migrator.php:1107
|
6301 |
-
msgid "Error: unexpected empty parameter (%s, %s)"
|
6302 |
-
msgstr "Errore: parametro vuoto inatteso (%s, %s)"
|
6303 |
-
|
6304 |
-
#: src/addons/migrator.php:1045
|
6305 |
-
msgid "Database: search and replace site URL"
|
6306 |
-
msgstr "Database: ricerca e sostituzione dell'URL del sito"
|
6307 |
-
|
6308 |
-
#: src/addons/migrator.php:905, src/addons/migrator.php:1284
|
6309 |
-
msgid "Failed: we did not understand the result returned by the %s operation."
|
6310 |
-
msgstr "Errore: Codice di ritorno dell'operazione %s non conosciuto."
|
6311 |
-
|
6312 |
-
#: src/addons/migrator.php:903, src/addons/migrator.php:1282
|
6313 |
-
msgid "Failed: the %s operation was not able to start."
|
6314 |
-
msgstr "Errore: Non è stato possibile avviare l'operazione %s"
|
6315 |
-
|
6316 |
-
#: src/addons/migrator.php:562
|
6317 |
-
msgid "Search and replace site location in the database (migrate)"
|
6318 |
-
msgstr "Ricerca e sostituzione della posizione del sito nel database (migrazione)"
|
6319 |
-
|
6320 |
-
#: src/addons/migrator.php:562
|
6321 |
-
msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s"
|
6322 |
-
msgstr "Tutti i riferimenti alla posizione del sito nel database saranno sostituiti con l'URL del sito attuale, che è:%s"
|
6323 |
-
|
6324 |
-
#: src/addons/multisite.php:699
|
6325 |
-
msgid "Blog uploads"
|
6326 |
-
msgstr "Caricamenti dal blog"
|
6327 |
-
|
6328 |
-
#: src/addons/migrator.php:496, src/addons/multisite.php:692
|
6329 |
-
msgid "Must-use plugins"
|
6330 |
-
msgstr "Plugin essenziali"
|
6331 |
-
|
6332 |
-
#: src/addons/multisite.php:207
|
6333 |
-
msgid "Multisite Install"
|
6334 |
-
msgstr "Installazione Multi-sito"
|
6335 |
-
|
6336 |
-
#: src/addons/fixtime.php:571
|
6337 |
-
msgid "starting from next time it is"
|
6338 |
-
msgstr "Inizio prossima volta è "
|
6339 |
-
|
6340 |
-
#: src/addons/sftp.php:535
|
6341 |
-
msgid "Failure: Port must be an integer."
|
6342 |
-
msgstr "Errore: la porta deve essere un numero intero."
|
6343 |
-
|
6344 |
-
#: src/methods/ftp.php:416, src/methods/openstack2.php:185
|
6345 |
-
msgid "password"
|
6346 |
-
msgstr "Password"
|
6347 |
-
|
6348 |
-
#: src/addons/sftp.php:526, src/methods/openstack2.php:180
|
6349 |
-
msgid "username"
|
6350 |
-
msgstr "Nome utente"
|
6351 |
-
|
6352 |
-
#: src/addons/sftp.php:522
|
6353 |
-
msgid "host name"
|
6354 |
-
msgstr "Nome Host"
|
6355 |
-
|
6356 |
-
#: src/addons/sftp.php:485
|
6357 |
-
msgid "Where to change directory to after logging in - often this is relative to your home directory."
|
6358 |
-
msgstr "Dove cambiare cartella dopo il login - spesso questo è relativo alla vostra cartella di home."
|
6359 |
-
|
6360 |
-
#: src/addons/sftp.php:483
|
6361 |
-
msgid "Directory path"
|
6362 |
-
msgstr "Percorso cartella"
|
6363 |
-
|
6364 |
-
#: src/addons/lockadmin.php:171, src/addons/moredatabase.php:241,
|
6365 |
-
#: src/addons/sftp.php:459, src/addons/webdav.php:193, src/admin.php:2945,
|
6366 |
-
#: src/methods/openstack2.php:164, src/methods/updraftvault.php:361,
|
6367 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:50
|
6368 |
-
msgid "Password"
|
6369 |
-
msgstr "Password"
|
6370 |
-
|
6371 |
-
#: src/addons/sftp.php:445, src/addons/webdav.php:207
|
6372 |
-
msgid "Port"
|
6373 |
-
msgstr "Porta"
|
6374 |
-
|
6375 |
-
#: src/addons/moredatabase.php:239, src/addons/sftp.php:438,
|
6376 |
-
#: src/addons/webdav.php:199
|
6377 |
-
msgid "Host"
|
6378 |
-
msgstr "Host"
|
6379 |
-
|
6380 |
-
#: src/addons/sftp.php:287
|
6381 |
-
msgid "%s Error: Failed to download"
|
6382 |
-
msgstr "Errore %s: download fallito"
|
6383 |
-
|
6384 |
-
#: src/addons/sftp.php:567
|
6385 |
-
msgid "Check your file permissions: Could not successfully create and enter:"
|
6386 |
-
msgstr "Controllare le autorizzazioni file: Impossibile creare ed entrare con successo:"
|
6387 |
-
|
6388 |
-
#: src/addons/sftp.php:47, src/addons/sftp.php:48, src/addons/sftp.php:49
|
6389 |
-
msgid "No %s found"
|
6390 |
-
msgstr "%s non trovato"
|
6391 |
-
|
6392 |
-
#: src/addons/sftp.php:37
|
6393 |
-
msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful), unless you disable it using the expert options. The 'Test FTP Login' button will tell you what type of connection is in use."
|
6394 |
-
msgstr "E' disponibile l' FTP crittografato, e sarà utilizzato automaticamente come prima scelta (per poi passare al non criptato, se non dovesse andare a buon fine), a meno che non si disattivi utilizzando le opzioni avanzate. Il pulsante 'Test FTP Login' vi dirà che tipo di connessione è in uso."
|
6395 |
-
|
6396 |
-
#: src/addons/morefiles.php:705
|
6397 |
-
msgid "No backup of %s directories: there was nothing found to back up"
|
6398 |
-
msgstr "Nessun backup della cartella %s: non si è trovato nulla da backuppare"
|
6399 |
-
|
6400 |
-
#: src/addons/morefiles.php:282
|
6401 |
-
msgid "Be careful what you select - if you select / then it really will try to create a zip containing your entire webserver."
|
6402 |
-
msgstr ""
|
6403 |
-
|
6404 |
-
#: src/addons/morefiles.php:280
|
6405 |
-
msgid "If you are not sure what this option is for, then you will not want it, and should turn it off."
|
6406 |
-
msgstr "Se non si è sicuri di cosa serva questa opzione, si consiglia di disattivarla."
|
6407 |
-
|
6408 |
-
#: src/addons/morefiles.php:259
|
6409 |
-
msgid "More Files"
|
6410 |
-
msgstr "Altri files"
|
6411 |
-
|
6412 |
-
#: src/addons/morefiles.php:167
|
6413 |
-
msgid "WordPress core (including any additions to your WordPress root directory)"
|
6414 |
-
msgstr "WordPress core (comprese le eventuali aggiunte alla cartella principale di WordPress)"
|
6415 |
-
|
6416 |
-
#: src/addons/morefiles.php:160
|
6417 |
-
msgid "The above files comprise everything in a WordPress installation."
|
6418 |
-
msgstr "I file sopra comprendono tutto in una installazione di WordPress"
|
6419 |
-
|
6420 |
-
#: src/addons/morefiles.php:141
|
6421 |
-
msgid "Over-write wp-config.php"
|
6422 |
-
msgstr "Sovrascrittura wp-config.php"
|
6423 |
-
|
6424 |
-
#: src/addons/morefiles.php:137, src/includes/class-wpadmin-commands.php:523
|
6425 |
-
msgid "WordPress Core"
|
6426 |
-
msgstr "WordPress Core"
|
6427 |
-
|
6428 |
-
#: src/methods/addon-base-v2.php:330, src/methods/stream-base.php:375
|
6429 |
-
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
6430 |
-
msgstr "Errore: impossibile copiare un file in quella directory - controlla le tue autorizzazioni"
|
6431 |
-
|
6432 |
-
#: src/addons/googlecloud.php:776, src/addons/googlecloud.php:810,
|
6433 |
-
#: src/addons/googlecloud.php:816, src/addons/sftp.php:553, src/admin.php:3464,
|
6434 |
-
#: src/admin.php:3500, src/admin.php:3510, src/methods/addon-base-v2.php:313,
|
6435 |
-
#: src/methods/stream-base.php:356
|
6436 |
-
msgid "Failed"
|
6437 |
-
msgstr "Errore"
|
6438 |
-
|
6439 |
-
#: src/addons/webdav.php:169
|
6440 |
-
msgid "WebDAV URL"
|
6441 |
-
msgstr "URL WebDAV"
|
6442 |
-
|
6443 |
-
#: src/methods/stream-base.php:335
|
6444 |
-
msgid "Local write failed: Failed to download"
|
6445 |
-
msgstr "Scrittura locale non riuscita: impossibile eseguire il download"
|
6446 |
-
|
6447 |
-
#: src/methods/stream-base.php:304
|
6448 |
-
msgid "Error opening remote file: Failed to download"
|
6449 |
-
msgstr "Errore nell'apertura di file remoto: impossibile eseguire il download"
|
6450 |
-
|
6451 |
-
#: src/methods/stream-base.php:125, src/methods/stream-base.php:129
|
6452 |
-
msgid "Chunk %s: A %s error occurred"
|
6453 |
-
msgstr "Parte %s: rilevato errore %s "
|
6454 |
-
|
6455 |
-
#: src/addons/googlecloud.php:322, src/addons/sftp.php:45,
|
6456 |
-
#: src/methods/addon-base-v2.php:74, src/methods/addon-base-v2.php:115,
|
6457 |
-
#: src/methods/addon-base-v2.php:149, src/methods/addon-base-v2.php:195,
|
6458 |
-
#: src/methods/addon-base-v2.php:285, src/methods/ftp.php:42,
|
6459 |
-
#: src/methods/googledrive.php:202, src/methods/googledrive.php:204,
|
6460 |
-
#: src/methods/remotesend.php:278, src/methods/stream-base.php:27,
|
6461 |
-
#: src/methods/stream-base.php:163, src/methods/stream-base.php:169,
|
6462 |
-
#: src/methods/stream-base.php:203, src/methods/stream-base.php:278
|
6463 |
-
msgid "No %s settings were found"
|
6464 |
-
msgstr "Non sono state trovate impostazioni di %s"
|
6465 |
-
|
6466 |
-
#: src/methods/ftp.php:438
|
6467 |
-
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
6468 |
-
msgstr "Errore: Log-in eseguito correttamente, ma non siamo riusciti a creare un file nella directory data."
|
6469 |
-
|
6470 |
-
#: src/methods/ftp.php:435
|
6471 |
-
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
6472 |
-
msgstr "Abbiamo effettuato correttamente il login, e confermato la nostra capacità di creare un file nella directory data (tipo di accesso:"
|
6473 |
-
|
6474 |
-
#: src/methods/ftp.php:426
|
6475 |
-
msgid "Failure: we did not successfully log in with those credentials."
|
6476 |
-
msgstr "Errore: Non è possibile eseguire il log-in con queste credenziali"
|
6477 |
-
|
6478 |
-
#: src/methods/ftp.php:408
|
6479 |
-
msgid "Failure: No server details were given."
|
6480 |
-
msgstr "Errore: Nessun dettaglio sul server è stato fornito."
|
6481 |
-
|
6482 |
-
#: src/methods/ftp.php:373
|
6483 |
-
msgid "Needs to already exist"
|
6484 |
-
msgstr "Deve essere esistente"
|
6485 |
-
|
6486 |
-
#: src/methods/ftp.php:336
|
6487 |
-
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
6488 |
-
msgstr "Se si desidera la crittografia (ad esempio per memorizzare dati aziendali sensibili), è disponibile un add-on."
|
6489 |
-
|
6490 |
-
#: src/addons/onedrive.php:901, src/methods/dropbox.php:821
|
6491 |
-
msgid "Your %s account name: %s"
|
6492 |
-
msgstr "Nome del tuo account %s: %s"
|
6493 |
-
|
6494 |
-
#: src/methods/dropbox.php:811, src/methods/dropbox.php:833
|
6495 |
-
msgid "though part of the returned information was not as expected - your mileage may vary"
|
6496 |
-
msgstr "anche se parte delle informazioni restituite non era come previsto - la situazione potrebbe essere diversa"
|
6497 |
-
|
6498 |
-
#: src/methods/dropbox.php:806, src/methods/dropbox.php:808
|
6499 |
-
msgid "you have authenticated your %s account"
|
6500 |
-
msgstr "Hai autenticato il tuo account %s"
|
6501 |
-
|
6502 |
-
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6503 |
-
msgid "there's an add-on for that."
|
6504 |
-
msgstr "c'è un add-on per questo."
|
6505 |
-
|
6506 |
-
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6507 |
-
msgid "If you backup several sites into the same Dropbox and want to organize with sub-folders, then "
|
6508 |
-
msgstr "Se esegui il backup di più siti nello stesso Dropbox e si vuoi organizzarli in sottocartelle, allora"
|
6509 |
-
|
6510 |
-
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6511 |
-
msgid "Backups are saved in"
|
6512 |
-
msgstr "I backup vengono salvati in"
|
6513 |
-
|
6514 |
-
#: src/methods/dropbox.php:603, src/methods/dropbox.php:605
|
6515 |
-
msgid "Need to use sub-folders?"
|
6516 |
-
msgstr "Si vuole utilizzare le sotto-cartelle?"
|
6517 |
-
|
6518 |
-
#: src/methods/dropbox.php:284
|
6519 |
-
msgid "error: failed to upload file to %s (see log file for more)"
|
6520 |
-
msgstr "Errore: Impossibile caricare il file %s (vedi il file di log per maggiori informazioni)"
|
6521 |
-
|
6522 |
-
#: src/methods/dropbox.php:195
|
6523 |
-
msgid "error: %s (see log file for more)"
|
6524 |
-
msgstr "errore: %s (vedi il file di log per maggiori informazioni)"
|
6525 |
-
|
6526 |
-
#: src/methods/dropbox.php:173, src/methods/dropbox.php:190
|
6527 |
-
msgid "You do not appear to be authenticated with Dropbox"
|
6528 |
-
msgstr "Sembra che non si sia autenticati con Dropbox"
|
6529 |
-
|
6530 |
-
#: src/methods/s3.php:1160
|
6531 |
-
msgid "The communication with %s was not encrypted."
|
6532 |
-
msgstr "La comunicazione con %s non era cifrata."
|
6533 |
-
|
6534 |
-
#: src/methods/s3.php:1158
|
6535 |
-
msgid "The communication with %s was encrypted."
|
6536 |
-
msgstr "La comunicazione con %s era cifrata"
|
6537 |
-
|
6538 |
-
#: src/addons/googlecloud.php:839, src/methods/s3.php:1155
|
6539 |
-
msgid "We accessed the bucket, and were able to create files within it."
|
6540 |
-
msgstr "Accesso al bucket ottenuto, ed è stato possibile creare files al suo interno."
|
6541 |
-
|
6542 |
-
#: src/addons/googlecloud.php:833, src/addons/googlecloud.php:847,
|
6543 |
-
#: src/methods/s3.php:1153, src/methods/s3.php:1165
|
6544 |
-
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
6545 |
-
msgstr "Accesso al bucket ottenuto, ma il tentativo di creare un file in esso è fallito."
|
6546 |
-
|
6547 |
-
#: src/addons/googlecloud.php:833, src/addons/googlecloud.php:847,
|
6548 |
-
#: src/methods/s3.php:1153, src/methods/s3.php:1165
|
6549 |
-
msgid "Failure"
|
6550 |
-
msgstr "Errore"
|
6551 |
-
|
6552 |
-
#: src/addons/backblaze.php:497, src/methods/s3.php:1141
|
6553 |
-
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)."
|
6554 |
-
msgstr "Errore: Impossibile accedere o creare il bucket con successo. Si prega di verificare le credenziali di accesso, e se queste sono corrette si consiglia di provare un altro nome del bucket (un altro utente %s potrebbe già aver preso il suo nome)."
|
6555 |
-
|
6556 |
-
#: src/addons/s3-enhanced.php:188, src/methods/openstack2.php:150,
|
6557 |
-
#: src/methods/s3.php:1135
|
6558 |
-
msgid "Region"
|
6559 |
-
msgstr "regione"
|
6560 |
-
|
6561 |
-
#: src/addons/googlecloud.php:118, src/addons/googlecloud.php:793,
|
6562 |
-
#: src/methods/s3.php:1115
|
6563 |
-
msgid "Failure: No bucket details were given."
|
6564 |
-
msgstr "Errore: Nessun dettaglio del bucket è stato inserito."
|
6565 |
-
|
6566 |
-
#: src/methods/s3.php:1093
|
6567 |
-
msgid "API secret"
|
6568 |
-
msgstr "API segreto"
|
6569 |
-
|
6570 |
-
#: src/methods/s3.php:941
|
6571 |
-
msgid "Enter only a bucket name or a bucket and path. Examples: mybucket, mybucket/mypath"
|
6572 |
-
msgstr "Inserire solo il nome del bucket oppure il bucket e il percorso. Esempi: mybucket, mybucket/mypath"
|
6573 |
-
|
6574 |
-
#: src/methods/s3.php:940
|
6575 |
-
msgid "%s location"
|
6576 |
-
msgstr "posizione %s"
|
6577 |
-
|
6578 |
-
#: src/methods/s3.php:936
|
6579 |
-
msgid "%s secret key"
|
6580 |
-
msgstr "Chiave segreta %s"
|
6581 |
-
|
6582 |
-
#: src/methods/s3.php:932
|
6583 |
-
msgid "%s access key"
|
6584 |
-
msgstr "Chiave di accesso %s"
|
6585 |
-
|
6586 |
-
#: src/methods/s3.php:871
|
6587 |
-
msgid "If you see errors about SSL certificates, then please go here for help."
|
6588 |
-
msgstr "Se si trovano errori sui certificati SSL, allora vai qui per un aiuto."
|
6589 |
-
|
6590 |
-
#: src/methods/s3.php:869
|
6591 |
-
msgid "Get your access key and secret key <a href=\"%s\">from your %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."
|
6592 |
-
msgstr "Ottieni la tua chiave di accesso e la chiave segreta <a href=\"%s\">dalla console %s</a>, quindi scegli un nome bucket (Globally Unique - tutti gli utenti %s) (lettere e numeri) (e facoltativamente un percorso) da utilizzare per lo storage. Il bucket verrà creato, se non esiste già."
|
6593 |
-
|
6594 |
-
#: src/methods/s3.php:598, src/methods/s3.php:671, src/methods/s3.php:776
|
6595 |
-
msgid "%s Error: Failed to access bucket %s. Check your permissions and credentials."
|
6596 |
-
msgstr "Errore %s: Impossibile accedere al bucket %s. Controllare le autorizzazioni e le credenziali."
|
6597 |
-
|
6598 |
-
#: src/methods/s3.php:759, src/methods/s3.php:769, src/methods/s3.php:805
|
6599 |
-
msgid "%s Error: Failed to download %s. Check your permissions and credentials."
|
6600 |
-
msgstr "Errore %s: Impossibile eseguire il download di %s. Controllare le autorizzazioni e le credenziali."
|
6601 |
-
|
6602 |
-
#: src/methods/s3.php:460
|
6603 |
-
msgid "%s re-assembly error (%s): (see log file for more)"
|
6604 |
-
msgstr "%s re-assembly error (%s): (guarda il file di log per più informazioni)"
|
6605 |
-
|
6606 |
-
#: src/methods/s3.php:456
|
6607 |
-
msgid "%s upload (%s): re-assembly failed (see log for more details)"
|
6608 |
-
msgstr "Caricamento di %s (%s) riassemblaggio fallito (vedere il log per maggiori dettagli)"
|
6609 |
-
|
6610 |
-
#: src/methods/s3.php:440
|
6611 |
-
msgid "%s chunk %s: upload failed"
|
6612 |
-
msgstr "%s parte %s: caricamento fallito"
|
6613 |
-
|
6614 |
-
#: src/methods/s3.php:430
|
6615 |
-
msgid "%s error: file %s was shortened unexpectedly"
|
6616 |
-
msgstr "Errore %s: il file %s è stato accorciato in modo imprevisto"
|
6617 |
-
|
6618 |
-
#: src/methods/s3.php:408
|
6619 |
-
msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details"
|
6620 |
-
msgstr "upload di %s: impossibile ottenere l'uploadID per il caricamento multiparte - vedere il file di log per maggiori dettagli"
|
6621 |
-
|
6622 |
-
#: src/methods/email.php:92
|
6623 |
-
msgid "Note:"
|
6624 |
-
msgstr "Nota:"
|
6625 |
-
|
6626 |
-
#: src/methods/email.php:45
|
6627 |
-
msgid "WordPress Backup"
|
6628 |
-
msgstr "Backup di WordPress"
|
6629 |
-
|
6630 |
-
#: src/methods/cloudfiles.php:575, src/methods/openstack-base.php:530
|
6631 |
-
msgid "We accessed the container, and were able to create files within it."
|
6632 |
-
msgstr "Si può accedere al contenitore, ed è possibile creare files al suo interno."
|
6633 |
-
|
6634 |
-
#: src/methods/cloudfiles.php:571
|
6635 |
-
msgid "Cloud Files error - we accessed the container, but failed to create a file within it"
|
6636 |
-
msgstr "Errore File remoto - abbiamo accede al contenitore, ma è impossiile creare un file all'interno di esso"
|
6637 |
-
|
6638 |
-
#: src/methods/cloudfiles.php:544, src/methods/openstack-base.php:472
|
6639 |
-
msgid "Failure: No container details were given."
|
6640 |
-
msgstr "Errore: nessun dettaglio sul contenitore è stato dato."
|
6641 |
-
|
6642 |
-
#: src/addons/moredatabase.php:240, src/addons/sftp.php:452,
|
6643 |
-
#: src/addons/webdav.php:187, src/methods/cloudfiles-new.php:189,
|
6644 |
-
#: src/methods/cloudfiles.php:524, src/methods/openstack2.php:158
|
6645 |
-
msgid "Username"
|
6646 |
-
msgstr "Nome utente"
|
6647 |
-
|
6648 |
-
#: src/methods/cloudfiles-new.php:184, src/methods/cloudfiles.php:519,
|
6649 |
-
#: src/methods/s3.php:1089
|
6650 |
-
msgid "API key"
|
6651 |
-
msgstr "Chiave API"
|
6652 |
-
|
6653 |
-
#: src/addons/migrator.php:337, src/addons/moredatabase.php:89,
|
6654 |
-
#: src/addons/moredatabase.php:91, src/addons/moredatabase.php:93,
|
6655 |
-
#: src/addons/sftp.php:522, src/addons/sftp.php:526, src/addons/sftp.php:530,
|
6656 |
-
#: src/addons/webdav.php:253, src/admin.php:869,
|
6657 |
-
#: src/includes/class-remote-send.php:454, src/methods/addon-base-v2.php:305,
|
6658 |
-
#: src/methods/cloudfiles-new.php:184, src/methods/cloudfiles-new.php:189,
|
6659 |
-
#: src/methods/cloudfiles.php:519, src/methods/cloudfiles.php:524,
|
6660 |
-
#: src/methods/ftp.php:412, src/methods/ftp.php:416,
|
6661 |
-
#: src/methods/openstack2.php:180, src/methods/openstack2.php:185,
|
6662 |
-
#: src/methods/openstack2.php:190, src/methods/openstack2.php:195,
|
6663 |
-
#: src/methods/s3.php:1089, src/methods/s3.php:1093
|
6664 |
-
msgid "Failure: No %s was given."
|
6665 |
-
msgstr "Errore: %s non è stato fornito."
|
6666 |
-
|
6667 |
-
#: src/methods/cloudfiles-new.php:100, src/methods/cloudfiles.php:440,
|
6668 |
-
#: src/methods/openstack-base.php:571, src/methods/s3.php:863
|
6669 |
-
msgid "UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative."
|
6670 |
-
msgstr "il modulo %s di UpdraftPlus <strong>richiede</strong> %s. Si prega di non presentare alcuna richiesta di supporto, non ci sono alternative."
|
6671 |
-
|
6672 |
-
#: src/methods/cloudfiles.php:483
|
6673 |
-
msgid "Cloud Files username"
|
6674 |
-
msgstr "Nome utente per file Cloud"
|
6675 |
-
|
6676 |
-
#: src/addons/cloudfiles-enhanced.php:38, src/methods/cloudfiles-new.php:119,
|
6677 |
-
#: src/methods/cloudfiles.php:467
|
6678 |
-
msgid "UK"
|
6679 |
-
msgstr "UK"
|
6680 |
-
|
6681 |
-
#: src/addons/cloudfiles-enhanced.php:37, src/methods/cloudfiles-new.php:118,
|
6682 |
-
#: src/methods/cloudfiles.php:466
|
6683 |
-
msgid "US (default)"
|
6684 |
-
msgstr "USA (predefinito)"
|
6685 |
-
|
6686 |
-
#: src/methods/cloudfiles.php:463
|
6687 |
-
msgid "US or UK Cloud"
|
6688 |
-
msgstr "Cloud USA oppure UK"
|
6689 |
-
|
6690 |
-
#: src/methods/cloudfiles-new.php:102, src/methods/cloudfiles.php:446,
|
6691 |
-
#: src/methods/openstack2.php:120
|
6692 |
-
msgid "Also, you should read this important FAQ."
|
6693 |
-
msgstr "Inoltre, si dovrebbe leggere questa importante FAQ."
|
6694 |
-
|
6695 |
-
#: src/methods/cloudfiles-new.php:102, src/methods/cloudfiles.php:446
|
6696 |
-
msgid "Get your API key <a href=\"https://mycloud.rackspace.com/\">from your Rackspace Cloud console</a> (read instructions <a href=\"http://www.rackspace.com/knowledge_center/article/rackspace-cloud-essentials-1-generating-your-api-key\">here</a>), then pick a container name to use for storage. This container will be created for you if it does not already exist."
|
6697 |
-
msgstr "Ottieni la tua chiave API <a href=\"https://mycloud.rackspace.com/\"> dalla console cloud di Rackspace </a> (leggi le istruzioni <a href=\"http://www.rackspace.com/knowledge_center/article/rackspace-cloud-essentials-1-generating-your-api-key\">qui</a>), quindi scegliere il nome del contenitore da utilizzare per lo storage. Il contenitore verrà creato, se non esiste già."
|
6698 |
-
|
6699 |
-
#: src/admin.php:892, src/methods/backup-module.php:315
|
6700 |
-
msgid "Test %s Settings"
|
6701 |
-
msgstr "Test dei settaggi %s"
|
6702 |
-
|
6703 |
-
#: src/class-updraftplus.php:1298, src/class-updraftplus.php:1342,
|
6704 |
-
#: src/methods/cloudfiles.php:383, src/methods/stream-base.php:297
|
6705 |
-
msgid "Error opening local file: Failed to download"
|
6706 |
-
msgstr "Errore durante l'apertura del file locale: Impossibile fare il download"
|
6707 |
-
|
6708 |
-
#: src/methods/cloudfiles.php:218
|
6709 |
-
msgid "Cloud Files error - failed to upload file"
|
6710 |
-
msgstr "Errore File remoti - impossibile caricare il file"
|
6711 |
-
|
6712 |
-
#: src/addons/sftp.php:141, src/addons/sftp.php:153,
|
6713 |
-
#: src/methods/cloudfiles.php:147, src/methods/cloudfiles.php:189,
|
6714 |
-
#: src/methods/openstack-base.php:81, src/methods/openstack-base.php:315,
|
6715 |
-
#: src/methods/s3.php:376, src/methods/s3.php:388, src/methods/s3.php:389
|
6716 |
-
msgid "%s Error: Failed to upload"
|
6717 |
-
msgstr "Errore %s: Impossibile caricare il file."
|
6718 |
-
|
6719 |
-
#: src/addons/googlecloud.php:201, src/addons/googlecloud.php:206,
|
6720 |
-
#: src/class-updraftplus.php:1140, src/methods/cloudfiles.php:130,
|
6721 |
-
#: src/methods/googledrive.php:1034, src/methods/googledrive.php:1039
|
6722 |
-
msgid "%s Error: Failed to open local file"
|
6723 |
-
msgstr "Errore %s: Impossibile aprire il file locale"
|
6724 |
-
|
6725 |
-
#: src/methods/cloudfiles.php:103, src/methods/cloudfiles.php:343,
|
6726 |
-
#: src/methods/cloudfiles.php:355
|
6727 |
-
msgid "Cloud Files error - failed to create and access the container"
|
6728 |
-
msgstr "Errore Files remoti - impossibile creare ed accedere al contenitore"
|
6729 |
-
|
6730 |
-
#: src/addons/cloudfiles-enhanced.php:114,
|
6731 |
-
#: src/addons/cloudfiles-enhanced.php:127,
|
6732 |
-
#: src/addons/cloudfiles-enhanced.php:131, src/methods/cloudfiles.php:554,
|
6733 |
-
#: src/methods/cloudfiles.php:557, src/methods/cloudfiles.php:560
|
6734 |
-
msgid "Cloud Files authentication failed"
|
6735 |
-
msgstr "Autenticazione dei file remoti fallita"
|
6736 |
-
|
6737 |
-
#: src/methods/googledrive.php:1273
|
6738 |
-
msgid "Authenticate with Google"
|
6739 |
-
msgstr "Autentica con Google"
|
6740 |
-
|
6741 |
-
#: src/addons/googlecloud.php:1027, src/addons/onedrive.php:1181,
|
6742 |
-
#: src/methods/googledrive.php:1237
|
6743 |
-
msgid "Client Secret"
|
6744 |
-
msgstr "Segreto del Client"
|
6745 |
-
|
6746 |
-
#: src/addons/googlecloud.php:1022, src/methods/googledrive.php:1234
|
6747 |
-
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
6748 |
-
msgstr "Se Google in seguito visualizzerà il messaggio \"invalid_client\", allora non si è inserito un ID cliente valido."
|
6749 |
-
|
6750 |
-
#: src/addons/googlecloud.php:1019, src/addons/onedrive.php:1177,
|
6751 |
-
#: src/methods/googledrive.php:1233
|
6752 |
-
msgid "Client ID"
|
6753 |
-
msgstr "ID Client"
|
6754 |
-
|
6755 |
-
#: src/methods/googledrive.php:1207
|
6756 |
-
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
6757 |
-
msgstr "È necessario aggiungere quanto segue come reindirizzamento autorizzato URI (alla voce \"Altre opzioni\") quando richiesto"
|
6758 |
-
|
6759 |
-
#: src/addons/googlecloud.php:997, src/methods/googledrive.php:1207
|
6760 |
-
msgid "Select 'Web Application' as the application type."
|
6761 |
-
msgstr "Selezionare 'Applicazione Web' come il tipo di applicazione."
|
6762 |
-
|
6763 |
-
#: src/addons/googlecloud.php:995, src/methods/googledrive.php:1205
|
6764 |
-
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
6765 |
-
msgstr "Per informazioni più esaustive, compresi screenshot, segui questo collegamento. La descrizione che segue è sufficiente per gli utenti più esperti."
|
6766 |
-
|
6767 |
-
#: src/addons/googlecloud.php:507, src/addons/googlecloud.php:508,
|
6768 |
-
#: src/addons/googlecloud.php:866, src/methods/googledrive.php:580,
|
6769 |
-
#: src/methods/googledrive.php:581, src/methods/googledrive.php:591,
|
6770 |
-
#: src/methods/googledrive.php:592
|
6771 |
-
msgid "Account is not authorized."
|
6772 |
-
msgstr "Account non autorizzato."
|
6773 |
-
|
6774 |
-
#: src/methods/googledrive.php:502, src/methods/googledrive.php:548,
|
6775 |
-
#: src/methods/googledrive.php:554, src/methods/googledrive.php:556,
|
6776 |
-
#: src/methods/stream-base.php:219
|
6777 |
-
msgid "Failed to upload to %s"
|
6778 |
-
msgstr "Impossibile caricare su %s"
|
6779 |
-
|
6780 |
-
#: src/methods/googledrive.php:531
|
6781 |
-
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes"
|
6782 |
-
msgstr "Account pieno: il tuo account %s ha solamente %d bytes liberi, ma il file da caricare è di %d bytes"
|
6783 |
-
|
6784 |
-
#: src/methods/googledrive.php:624, src/methods/googledrive.php:660
|
6785 |
-
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
6786 |
-
msgstr "Non si è ancora ottenuto un token di accesso da parte di Google - è necessario autorizzare o ri-autorizzare la connessione a Google Drive."
|
6787 |
-
|
6788 |
-
#: src/addons/googlecloud.php:718, src/addons/onedrive.php:939,
|
6789 |
-
#: src/methods/googledrive.php:475
|
6790 |
-
msgid "you have authenticated your %s account."
|
6791 |
-
msgstr "hai autenticato il tuo account %s."
|
6792 |
-
|
6793 |
-
#: src/addons/googlecloud.php:718, src/addons/googlecloud.php:839,
|
6794 |
-
#: src/addons/onedrive.php:939, src/addons/sftp.php:591,
|
6795 |
-
#: src/addons/sftp.php:595, src/addons/wp-cli.php:515,
|
6796 |
-
#: src/methods/addon-base-v2.php:327, src/methods/cloudfiles.php:575,
|
6797 |
-
#: src/methods/googledrive.php:475, src/methods/openstack-base.php:530,
|
6798 |
-
#: src/methods/s3.php:1155, src/methods/stream-base.php:372
|
6799 |
-
msgid "Success"
|
6800 |
-
msgstr "Success"
|
6801 |
-
|
6802 |
-
#: src/addons/onedrive.php:893, src/methods/dropbox.php:844,
|
6803 |
-
#: src/methods/dropbox.php:853, src/methods/googledrive.php:439
|
6804 |
-
msgid "Your %s quota usage: %s %% used, %s available"
|
6805 |
-
msgstr "Quota di utilizzo %s: %s %% utilizzata, %s disponibile"
|
6806 |
-
|
6807 |
-
#: src/addons/googlecloud.php:444, src/methods/googledrive.php:409
|
6808 |
-
msgid "Authorization failed"
|
6809 |
-
msgstr "Autorizzazione fallita"
|
6810 |
-
|
6811 |
-
#: src/addons/googlecloud.php:436, src/methods/googledrive.php:401
|
6812 |
-
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."
|
6813 |
-
msgstr "Nessun token di aggiornamento è stato ricevuto da Google. Questo spesso significa che si è inserito il \"Segreto Client\" in modo errato, o che non si è stati ancora ri-autenticati (sotto) in quanto correzione. Si prega di ricontrollare, e di seguire il link per autenticarsi nuovamente. Infine, se questo non dovesse funzionare, utilizzare la modalità expert per cancellare tutte le impostazioni, creare un nuovo nuovo ID cliente di Google / segreto, e iniziare nuovamente."
|
6814 |
-
|
6815 |
-
#: src/methods/addon-not-yet-present.php:84
|
6816 |
-
msgid "follow this link to get it"
|
6817 |
-
msgstr "fai clic su questo link per averlo."
|
6818 |
-
|
6819 |
-
#: src/methods/addon-not-yet-present.php:84
|
6820 |
-
msgid "%s support is available as an add-on"
|
6821 |
-
msgstr "Il supporto a %s è disponibile con un add-on"
|
6822 |
-
|
6823 |
-
#: src/methods/addon-not-yet-present.php:28,
|
6824 |
-
#: src/methods/addon-not-yet-present.php:68,
|
6825 |
-
#: src/methods/addon-not-yet-present.php:75
|
6826 |
-
msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s"
|
6827 |
-
msgstr "L'add-on %s di UpdraftPlus non è installato - ottenerlo da %s"
|
6828 |
-
|
6829 |
-
#: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:126,
|
6830 |
-
#: src/includes/Dropbox2/OAuth/Consumer/ConsumerAbstract.php:127
|
6831 |
-
msgid "You need to re-authenticate with %s, as your existing credentials are not working."
|
6832 |
-
msgstr "È necessario autenticare nuovamente con %s, le credenziali esistenti non funzionano."
|
6833 |
-
|
6834 |
-
#: src/admin.php:3468, src/admin.php:3503, src/admin.php:3507,
|
6835 |
-
#: src/includes/class-remote-send.php:327,
|
6836 |
-
#: src/includes/class-storage-methods-interface.php:315, src/restorer.php:226,
|
6837 |
-
#: src/restorer.php:2888, src/restorer.php:2993
|
6838 |
-
msgid "OK"
|
6839 |
-
msgstr "OK"
|
6840 |
-
|
6841 |
-
#: src/restorer.php:2882, src/restorer.php:2957
|
6842 |
-
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
6843 |
-
msgstr "Il prefisso di tabella è cambiato: cambio in accordo i campo(i) della tabella %s:"
|
6844 |
-
|
6845 |
-
#: src/addons/migrator.php:1317, src/restorer.php:2784
|
6846 |
-
msgid "the database query being run was:"
|
6847 |
-
msgstr "la query di database in corso di esecuzione è:"
|
6848 |
-
|
6849 |
-
#: src/restorer.php:2454
|
6850 |
-
msgid "will restore as:"
|
6851 |
-
msgstr "sarà ripristinato come:"
|
6852 |
-
|
6853 |
-
#: src/class-updraftplus.php:3987, src/restorer.php:2215,
|
6854 |
-
#: src/restorer.php:2304, src/restorer.php:2330
|
6855 |
-
msgid "Old table prefix:"
|
6856 |
-
msgstr "Vecchio prefisso di tabella"
|
6857 |
-
|
6858 |
-
#: src/addons/reporting.php:72, src/addons/reporting.php:181,
|
6859 |
-
#: src/backup.php:1135, src/class-updraftplus.php:3914
|
6860 |
-
msgid "Backup of:"
|
6861 |
-
msgstr "Backup di:"
|
6862 |
-
|
6863 |
-
#: src/restorer.php:2012
|
6864 |
-
msgid "Failed to open database file"
|
6865 |
-
msgstr "Impossibile aprire il file del database"
|
6866 |
-
|
6867 |
-
#: src/restorer.php:1991
|
6868 |
-
msgid "Failed to find database file"
|
6869 |
-
msgstr "Impossibile trovare il file del database"
|
6870 |
-
|
6871 |
-
#: src/restorer.php:1968
|
6872 |
-
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."
|
6873 |
-
msgstr "Attenzione: PHP safe_mode è attivo sul tuo server. Questo può facilmente portare a Timeout. Nel caso dovesse verificarsene uno è necessario ripristinare manualmente il file tramite phpMyAdmin o simili."
|
6874 |
-
|
6875 |
-
#: src/restorer.php:900
|
6876 |
-
msgid "wp-config.php from backup: restoring (as per user's request)"
|
6877 |
-
msgstr "wp-config.php da backup: ripristino (come da richiesta dell'utente)"
|
6878 |
-
|
6879 |
-
#: src/restorer.php:893
|
6880 |
-
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
6881 |
-
msgstr "wp-config.php dal backup: verrà ripristinato come wp-config-backup.php"
|
6882 |
-
|
6883 |
-
#: src/restorer.php:776
|
6884 |
-
msgid "Failed to write out the decrypted database to the filesystem"
|
6885 |
-
msgstr "Impossibile scrivere il database decodificato sul filesystem"
|
6886 |
-
|
6887 |
-
#: src/restorer.php:760
|
6888 |
-
msgid "Failed to create a temporary directory"
|
6889 |
-
msgstr "Impossibile creare una cartella temporanea"
|
6890 |
-
|
6891 |
-
#: src/restorer.php:529
|
6892 |
-
msgid "Failed to delete working directory after restoring."
|
6893 |
-
msgstr "Impossibile cancellare la catrella di lavoro dopo il rispristino."
|
6894 |
-
|
6895 |
-
#: src/restorer.php:526
|
6896 |
-
msgid "Could not delete old directory."
|
6897 |
-
msgstr "Impossibile cancellare le vecchie cartelle."
|
6898 |
-
|
6899 |
-
#: src/restorer.php:524
|
6900 |
-
msgid "Cleaning up rubbish..."
|
6901 |
-
msgstr "Pulizia del sistema..."
|
6902 |
-
|
6903 |
-
#: src/restorer.php:523
|
6904 |
-
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)..."
|
6905 |
-
msgstr "Ripristino del database (su un sito di grandi dimensioni questa operazione potrebbe richiedere molto tempo - se si verifica un timeout (che può accadere se la vostra società di web hosting ha configurato il vostro hosting per limitare le risorse) è necessario utilizzare un metodo diverso, come ad esempio phpMyAdmin) ..."
|
6906 |
-
|
6907 |
-
#: src/restorer.php:520
|
6908 |
-
msgid "Database successfully decrypted."
|
6909 |
-
msgstr "Il database decriptato con successo."
|
6910 |
-
|
6911 |
-
#: src/restorer.php:519
|
6912 |
-
msgid "Decrypting database (can take a while)..."
|
6913 |
-
msgstr "Decriptaggio database (potrebbe richiedere un po' di tempo)..."
|
6914 |
-
|
6915 |
-
#: src/restorer.php:518
|
6916 |
-
msgid "Unpacking backup..."
|
6917 |
-
msgstr "Scompattamento del backup..."
|
6918 |
-
|
6919 |
-
#: src/restorer.php:517
|
6920 |
-
msgid "Copying this entity failed."
|
6921 |
-
msgstr "Copia di questa entità non è riuscita."
|
6922 |
-
|
6923 |
-
#: src/restorer.php:516
|
6924 |
-
msgid "Backup file not available."
|
6925 |
-
msgstr "File di backup non disponibile."
|
6926 |
-
|
6927 |
-
#: src/restorer.php:515
|
6928 |
-
msgid "UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually."
|
6929 |
-
msgstr "UpdraftPlus non è in grado di ripristinare direttamente questo tipo di entità. Il ripristino deve essere fatto manualmente."
|
6930 |
-
|
6931 |
-
#: src/restorer.php:234, src/restorer.php:235
|
6932 |
-
msgid "Could not find one of the files for restoration"
|
6933 |
-
msgstr "Impossibile trovare uno dei file per il ripristino"
|
6934 |
-
|
6935 |
-
#: src/restorer.php:396
|
6936 |
-
msgid "Error message"
|
6937 |
-
msgstr "Messaggio d'errore"
|
6938 |
-
|
6939 |
-
#: src/restorer.php:231
|
6940 |
-
msgid "The backup records do not contain information about the proper size of this file."
|
6941 |
-
msgstr "I registri di backup non contengono informazioni valide sulle dimensioni di questo file."
|
6942 |
-
|
6943 |
-
#: src/restorer.php:223
|
6944 |
-
msgid "Archive is expected to be size:"
|
6945 |
-
msgstr "Dimensione stimata dell'archivio:"
|
6946 |
-
|
6947 |
-
#: src/admin.php:4518
|
6948 |
-
msgid "If making a request for support, please include this information:"
|
6949 |
-
msgstr "Se si fa la richiesta di assistenza, si prega di includere le seguenti informazioni:"
|
6950 |
-
|
6951 |
-
#: src/admin.php:4517
|
6952 |
-
msgid "ABORT: Could not find the information on which entities to restore."
|
6953 |
-
msgstr "ANNULLATO: Impossibile trovare le informazioni sulle entità da ripristinare."
|
6954 |
-
|
6955 |
-
#: src/addons/wp-cli.php:647, src/admin.php:4496
|
6956 |
-
msgid "UpdraftPlus Restoration: Progress"
|
6957 |
-
msgstr "UpdraftPlus Ripristino: avanzamento"
|
6958 |
-
|
6959 |
-
#: src/admin.php:4488
|
6960 |
-
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
6961 |
-
msgstr "Questo backup non esiste nella Cronologia Backup - ripristino interrotto. Timestamp:"
|
6962 |
-
|
6963 |
-
#: src/admin.php:4170
|
6964 |
-
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
6965 |
-
msgstr "Dopo aver premuto questo pulsante, si potrà scegliere quali componenti si desidera ripristinare"
|
6966 |
-
|
6967 |
-
#: src/admin.php:4268
|
6968 |
-
msgid "Delete this backup set"
|
6969 |
-
msgstr "Cancella questo set di backup"
|
6970 |
-
|
6971 |
-
#: src/admin.php:3921
|
6972 |
-
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."
|
6973 |
-
msgstr "Buona notizie: la comunicazione del tuo sito con %s può essere cifrata. Se si notano errori dovuti alla crittografia, cercare in \"Impostazioni Avanzate\" per ulteriori informazioni."
|
6974 |
-
|
6975 |
-
#: src/admin.php:3918
|
6976 |
-
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."
|
6977 |
-
msgstr ""
|
6978 |
-
"L'installazione del web server PHP/Curl non supporta l'accesso tramite HTTPS.\n"
|
6979 |
-
"E' impossibile accedere a %s senza questo supporto. Si prega di contattare il supporto del provider di web hosting. %s <strong>richiede</strong> Curl + https. Si prega di non presentare alcuna richiesta a sostegno, non ci sono alternative."
|
6980 |
-
|
6981 |
-
#: src/admin.php:3916
|
6982 |
-
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)."
|
6983 |
-
msgstr ""
|
6984 |
-
|
6985 |
-
#: src/methods/cloudfiles-new.php:100, src/methods/cloudfiles.php:440,
|
6986 |
-
#: src/methods/openstack-base.php:571, src/methods/s3.php:863
|
6987 |
-
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support."
|
6988 |
-
msgstr "L'installazione di PHP sull tuo server web non ha incluso un modulo necessario (%s). Contattare il supporto del provider di web hosting."
|
6989 |
-
|
6990 |
-
#: src/templates/wp-admin/settings/form-contents.php:373
|
6991 |
-
msgid "Save Changes"
|
6992 |
-
msgstr "Salva i cambiamenti"
|
6993 |
-
|
6994 |
-
#: src/templates/wp-admin/settings/form-contents.php:345
|
6995 |
-
msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible. Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect."
|
6996 |
-
msgstr "Scegliendo questa opzione si riduce la sicurezza, impedendo a UpdraftPlus di utilizzare SSL per l'autenticazione e il trasporto criptato, dove possibile. Si noti che alcuni provider di cloud storage non consentono questo (ad esempio Dropbox), così con quei fornitori questa impostazione non avrà alcun effetto."
|
6997 |
-
|
6998 |
-
#: src/templates/wp-admin/settings/form-contents.php:344
|
6999 |
-
msgid "Disable SSL entirely where possible"
|
7000 |
-
msgstr "Disattivare SSL del tutto, se possibile"
|
7001 |
-
|
7002 |
-
#: src/templates/wp-admin/settings/form-contents.php:340
|
7003 |
-
msgid "Note that not all cloud backup methods are necessarily using SSL authentication."
|
7004 |
-
msgstr "Ricorda che non tutti i metodi di backup su Cloud utilizzano obbligatoriamente un autenticazione SSL."
|
7005 |
-
|
7006 |
-
#: src/templates/wp-admin/settings/form-contents.php:340
|
7007 |
-
msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive). It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication."
|
7008 |
-
msgstr "La scelta di questa opzione riduce la sicurezza impedendo a UpdraftPlus di verificare l'identità dei siti cifrati a cui si collega (ad esempio Dropbox, Google Drive). Ciò significa che UpdraftPlus userà SSL solo per la crittografia del traffico, e non per l'autenticazione."
|
7009 |
-
|
7010 |
-
#: src/templates/wp-admin/settings/form-contents.php:339
|
7011 |
-
msgid "Do not verify SSL certificates"
|
7012 |
-
msgstr "Non verificare i certificati SSL"
|
7013 |
-
|
7014 |
-
#: src/templates/wp-admin/settings/form-contents.php:335
|
7015 |
-
msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker). We keep these up to date. However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help."
|
7016 |
-
msgstr "Per impostazione predefinita UpdraftPlus utilizza il proprio archivio di certificati SSL per verificare l'identità dei siti remoti (cioè per assicurarsi che sta parlando con il vero Dropbox, Amazon S3, ecc, e non un attaccante). Teniamo questi certificati aggiornati. Tuttavia, se si verificasse un errore SSL, allora la scelta di questa opzione può aiutare ( Scegliendo questa opzione, si permette a UpdraftPlus di utilizzare la collezione di certificati del vostro web server) ."
|
7017 |
-
|
7018 |
-
#: src/templates/wp-admin/settings/form-contents.php:334
|
7019 |
-
msgid "Use the server's SSL certificates"
|
7020 |
-
msgstr "Utilizza i certificati SSL del server"
|
7021 |
-
|
7022 |
-
#: src/admin.php:3738
|
7023 |
-
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."
|
7024 |
-
msgstr "Se questo è infruttuoso controllare i permessi sul vostro server o cambiarlo in un'altra cartella che sia scrivibile dal tuo web server."
|
7025 |
-
|
7026 |
-
#: src/admin.php:3738
|
7027 |
-
msgid "or, to reset this option"
|
7028 |
-
msgstr "o, per resettare questa opzione"
|
7029 |
-
|
7030 |
-
#: src/admin.php:3738
|
7031 |
-
msgid "Follow this link to attempt to create the directory and set the permissions"
|
7032 |
-
msgstr "Fai clic qui per provare a creare la directory e impostare le autorizzazioni"
|
7033 |
-
|
7034 |
-
#: src/admin.php:3730
|
7035 |
-
msgid "Backup directory specified is writable, which is good."
|
7036 |
-
msgstr "La cartella di backup specificata è scrivibile, che è buona cosa."
|
7037 |
-
|
7038 |
-
#: src/templates/wp-admin/settings/form-contents.php:318
|
7039 |
-
msgid "Backup directory"
|
7040 |
-
msgstr "Cartella di Backup"
|
7041 |
-
|
7042 |
-
#: src/templates/wp-admin/settings/form-contents.php:313
|
7043 |
-
msgid "Delete local backup"
|
7044 |
-
msgstr "Cancella backup locale"
|
7045 |
-
|
7046 |
-
#: src/templates/wp-admin/settings/form-contents.php:293
|
7047 |
-
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
7048 |
-
msgstr "fare clic su questo elemento per mostrare ulteriori opzioni, non perdete tempo a meno che non hai un problema o sei curioso."
|
7049 |
-
|
7050 |
-
#: src/templates/wp-admin/settings/form-contents.php:293
|
7051 |
-
msgid "Show expert settings"
|
7052 |
-
msgstr "Mostra impostazioni avanzate"
|
7053 |
-
|
7054 |
-
#: src/templates/wp-admin/settings/form-contents.php:292
|
7055 |
-
msgid "Expert settings"
|
7056 |
-
msgstr "Impostazioni avanzate"
|
7057 |
-
|
7058 |
-
#: src/templates/wp-admin/settings/form-contents.php:303
|
7059 |
-
msgid "Debug mode"
|
7060 |
-
msgstr "Debug mode"
|
7061 |
-
|
7062 |
-
#: src/templates/wp-admin/settings/form-contents.php:288
|
7063 |
-
msgid "Advanced / Debugging Settings"
|
7064 |
-
msgstr "Impostazioni Avanzate e di Debug"
|
7065 |
-
|
7066 |
-
#: src/admin.php:826
|
7067 |
-
msgid "Requesting start of backup..."
|
7068 |
-
msgstr "Inizio del backup richiesto..."
|
7069 |
-
|
7070 |
-
#: src/addons/morefiles.php:311, src/admin.php:843
|
7071 |
-
msgid "Cancel"
|
7072 |
-
msgstr "Annulla"
|
7073 |
-
|
7074 |
-
#: src/addons/incremental.php:235, src/addons/reporting.php:245,
|
7075 |
-
#: src/admin.php:4004
|
7076 |
-
msgid "None"
|
7077 |
-
msgstr "Nessuno"
|
7078 |
-
|
7079 |
-
#: src/templates/wp-admin/settings/form-contents.php:103
|
7080 |
-
msgid "Choose your remote storage"
|
7081 |
-
msgstr "Scegli il tuo Storage Remoto"
|
7082 |
-
|
7083 |
-
#: src/templates/wp-admin/settings/form-contents.php:178
|
7084 |
-
msgid "Manually decrypt a database backup file"
|
7085 |
-
msgstr "Decifra manualmente un file di backup del database"
|
7086 |
-
|
7087 |
-
#: src/templates/wp-admin/settings/form-contents.php:157
|
7088 |
-
msgid "Database encryption phrase"
|
7089 |
-
msgstr "Frase di crittografia del database"
|
7090 |
-
|
7091 |
-
#: src/admin.php:2935, src/templates/wp-admin/settings/form-contents.php:255,
|
7092 |
-
#: src/templates/wp-admin/settings/updraftcentral-connect.php:44
|
7093 |
-
msgid "Email"
|
7094 |
-
msgstr "Email"
|
7095 |
-
|
7096 |
-
#: src/templates/wp-admin/settings/form-contents.php:147
|
7097 |
-
msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org."
|
7098 |
-
msgstr "Le cartelle sopra contengono tutto, tranne il core di WordPress che può essere scaricato da WordPress.org."
|
7099 |
-
|
7100 |
-
#: src/addons/morefiles.php:473
|
7101 |
-
msgid "Exclude these:"
|
7102 |
-
msgstr "Escludi questi:"
|
7103 |
-
|
7104 |
-
#: src/admin.php:3817
|
7105 |
-
msgid "Any other directories found inside wp-content"
|
7106 |
-
msgstr "Eventuali altre directory trovati dentro wp-content"
|
7107 |
-
|
7108 |
-
#: src/templates/wp-admin/settings/form-contents.php:144
|
7109 |
-
msgid "Include in files backup"
|
7110 |
-
msgstr "Includere nei files di backup"
|
7111 |
-
|
7112 |
-
#: src/templates/wp-admin/settings/form-contents.php:87
|
7113 |
-
msgid "e.g. if your server is busy at day and you want to run overnight"
|
7114 |
-
msgstr "ad esempio, se il server è occupato di giorno si può eseguirlo durante la notte"
|
7115 |
-
|
7116 |
-
#: src/templates/wp-admin/settings/form-contents.php:87
|
7117 |
-
msgid "To fix the time at which a backup should take place,"
|
7118 |
-
msgstr "Fissare il momento in cui un backup deve avvenire,"
|
7119 |
-
|
7120 |
-
#: src/addons/incremental.php:244, src/admin.php:3724
|
7121 |
-
msgid "Monthly"
|
7122 |
-
msgstr "Mensile"
|
7123 |
-
|
7124 |
-
#: src/addons/incremental.php:243, src/admin.php:3723
|
7125 |
-
msgid "Fortnightly"
|
7126 |
-
msgstr "Quindicinale"
|
7127 |
-
|
7128 |
-
#: src/addons/incremental.php:242, src/admin.php:3722
|
7129 |
-
msgid "Weekly"
|
7130 |
-
msgstr "Settimanale"
|
7131 |
-
|
7132 |
-
#: src/addons/incremental.php:241, src/admin.php:3721
|
7133 |
-
msgid "Daily"
|
7134 |
-
msgstr "Giornaliero"
|
7135 |
-
|
7136 |
-
#: src/admin.php:851, src/admin.php:3699
|
7137 |
-
msgid "Download log file"
|
7138 |
-
msgstr "Scarica il file di log"
|
7139 |
-
|
7140 |
-
#: src/admin.php:3571
|
7141 |
-
msgid "The folder exists, but your webserver does not have permission to write to it."
|
7142 |
-
msgstr "La cartella esiste, ma il server web non ha il permesso di scrivere."
|
7143 |
-
|
7144 |
-
#: src/admin.php:3566
|
7145 |
-
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"
|
7146 |
-
msgstr "La cartella è stata creata, ma abbiamo dovuto cambiare i permessi dei file a 777 (tutto scrivibile) per essere in grado di scrivere. Si consiglia di verificare con il fornitore di hosting che questo non causerà alcun problema"
|
7147 |
-
|
7148 |
-
#: src/admin.php:3552
|
7149 |
-
msgid "The request to the filesystem to create the directory failed."
|
7150 |
-
msgstr "La richiesta di creazione della cartella al file system è fallita."
|
7151 |
-
|
7152 |
-
#: src/admin.php:844, src/admin.php:3461, src/admin.php:3495,
|
7153 |
-
#: src/admin.php:4268, src/includes/class-remote-send.php:544,
|
7154 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:155,
|
7155 |
-
#: src/templates/wp-admin/settings/file-backup-exclude.php:11
|
7156 |
-
msgid "Delete"
|
7157 |
-
msgstr "Elimina"
|
7158 |
-
|
7159 |
-
#: src/admin.php:3415
|
7160 |
-
msgid "show log"
|
7161 |
-
msgstr "mostra log"
|
7162 |
-
|
7163 |
-
#: src/templates/wp-admin/advanced/wipe-settings.php:9
|
7164 |
-
msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?"
|
7165 |
-
msgstr "Questa operazione eliminerà tutte le impostazioni di UpdraftPlus - si è sicuri di volerlo fare?"
|
7166 |
-
|
7167 |
-
#: src/templates/wp-admin/advanced/total-size.php:19
|
7168 |
-
msgid "count"
|
7169 |
-
msgstr "conteggio"
|
7170 |
-
|
7171 |
-
#: src/templates/wp-admin/advanced/total-size.php:9
|
7172 |
-
msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options."
|
7173 |
-
msgstr "N.B. Questo conteggio si basa su quello che era, o non era, escluso l'ultima volta che sono state salvate le opzioni."
|
7174 |
-
|
7175 |
-
#: src/templates/wp-admin/advanced/total-size.php:6
|
7176 |
-
msgid "Total (uncompressed) on-disk data:"
|
7177 |
-
msgstr "Totale (non compresso) dati su disco:"
|
7178 |
-
|
7179 |
-
#: src/templates/wp-admin/advanced/site-info.php:66,
|
7180 |
-
#: src/templates/wp-admin/settings/tab-addons.php:79,
|
7181 |
-
#: src/templates/wp-admin/settings/tab-addons.php:92,
|
7182 |
-
#: src/templates/wp-admin/settings/tab-addons.php:105,
|
7183 |
-
#: src/templates/wp-admin/settings/tab-addons.php:118,
|
7184 |
-
#: src/templates/wp-admin/settings/tab-addons.php:131,
|
7185 |
-
#: src/templates/wp-admin/settings/tab-addons.php:144,
|
7186 |
-
#: src/templates/wp-admin/settings/tab-addons.php:157,
|
7187 |
-
#: src/templates/wp-admin/settings/tab-addons.php:170,
|
7188 |
-
#: src/templates/wp-admin/settings/tab-addons.php:183,
|
7189 |
-
#: src/templates/wp-admin/settings/tab-addons.php:196,
|
7190 |
-
#: src/templates/wp-admin/settings/tab-addons.php:209,
|
7191 |
-
#: src/templates/wp-admin/settings/tab-addons.php:222,
|
7192 |
-
#: src/templates/wp-admin/settings/tab-addons.php:235,
|
7193 |
-
#: src/templates/wp-admin/settings/tab-addons.php:252
|
7194 |
-
msgid "No"
|
7195 |
-
msgstr "No"
|
7196 |
-
|
7197 |
-
#: src/templates/wp-admin/advanced/site-info.php:63,
|
7198 |
-
#: src/templates/wp-admin/advanced/site-info.php:66,
|
7199 |
-
#: src/templates/wp-admin/settings/tab-addons.php:53,
|
7200 |
-
#: src/templates/wp-admin/settings/tab-addons.php:66,
|
7201 |
-
#: src/templates/wp-admin/settings/tab-addons.php:69,
|
7202 |
-
#: src/templates/wp-admin/settings/tab-addons.php:82,
|
7203 |
-
#: src/templates/wp-admin/settings/tab-addons.php:95,
|
7204 |
-
#: src/templates/wp-admin/settings/tab-addons.php:108,
|
7205 |
-
#: src/templates/wp-admin/settings/tab-addons.php:121,
|
7206 |
-
#: src/templates/wp-admin/settings/tab-addons.php:134,
|
7207 |
-
#: src/templates/wp-admin/settings/tab-addons.php:147,
|
7208 |
-
#: src/templates/wp-admin/settings/tab-addons.php:160,
|
7209 |
-
#: src/templates/wp-admin/settings/tab-addons.php:173,
|
7210 |
-
#: src/templates/wp-admin/settings/tab-addons.php:186,
|
7211 |
-
#: src/templates/wp-admin/settings/tab-addons.php:199,
|
7212 |
-
#: src/templates/wp-admin/settings/tab-addons.php:212,
|
7213 |
-
#: src/templates/wp-admin/settings/tab-addons.php:225,
|
7214 |
-
#: src/templates/wp-admin/settings/tab-addons.php:238,
|
7215 |
-
#: src/templates/wp-admin/settings/tab-addons.php:255,
|
7216 |
-
#: src/templates/wp-admin/settings/tab-addons.php:261
|
7217 |
-
msgid "Yes"
|
7218 |
-
msgstr "Si"
|
7219 |
-
|
7220 |
-
#: src/admin.php:5366, src/admin.php:5370,
|
7221 |
-
#: src/templates/wp-admin/advanced/site-info.php:45,
|
7222 |
-
#: src/templates/wp-admin/advanced/site-info.php:51,
|
7223 |
-
#: src/templates/wp-admin/advanced/site-info.php:58,
|
7224 |
-
#: src/templates/wp-admin/advanced/site-info.php:59
|
7225 |
-
msgid "%s version:"
|
7226 |
-
msgstr "Versione %s"
|
7227 |
-
|
7228 |
-
#: src/templates/wp-admin/advanced/site-info.php:43
|
7229 |
-
msgid "Current memory usage"
|
7230 |
-
msgstr "Utilizzo di memoria attuale"
|
7231 |
-
|
7232 |
-
#: src/templates/wp-admin/advanced/site-info.php:42
|
7233 |
-
msgid "Peak memory usage"
|
7234 |
-
msgstr "Utilizzo di memoria (picco)"
|
7235 |
-
|
7236 |
-
#: src/templates/wp-admin/advanced/site-info.php:31
|
7237 |
-
msgid "Web server:"
|
7238 |
-
msgstr "Web server:"
|
7239 |
-
|
7240 |
-
#: src/templates/wp-admin/settings/take-backup.php:91
|
7241 |
-
msgid "Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
7242 |
-
msgstr "Si prega di verificare UpdraftPlus Premium, oppure l'add-on stand-alone multi-sito."
|
7243 |
-
|
7244 |
-
#: src/templates/wp-admin/settings/take-backup.php:91
|
7245 |
-
msgid "Do you need WordPress Multisite support?"
|
7246 |
-
msgstr "Hai bisogno di supporto per WordPress multi-sito?"
|
7247 |
-
|
7248 |
-
#: src/templates/wp-admin/settings/take-backup.php:87
|
7249 |
-
msgid "Multisite"
|
7250 |
-
msgstr "Multi-sito"
|
7251 |
-
|
7252 |
-
#: src/templates/wp-admin/settings/take-backup.php:82
|
7253 |
-
msgid "Perform a one-time backup"
|
7254 |
-
msgstr "Eseguire un backup singolo"
|
7255 |
-
|
7256 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:83
|
7257 |
-
msgid "Do read this helpful article of useful things to know before restoring."
|
7258 |
-
msgstr "Si prega di leggere questo articolo esplicativo di cose utili da sapere prima di ripristinare."
|
7259 |
-
|
7260 |
-
#: src/class-updraftplus.php:3948
|
7261 |
-
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"
|
7262 |
-
msgstr "È possibile cercare e sostituire il database (per la migrazione di un sito web verso una nuova posizione/URL) con il Migrator add-on - segui questo collegamento per maggiori informazioni"
|
7263 |
-
|
7264 |
-
#: src/addons/morefiles.php:137,
|
7265 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:75
|
7266 |
-
msgid "%s restoration options:"
|
7267 |
-
msgstr "Opzione di ripristino %s:"
|
7268 |
-
|
7269 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:68
|
7270 |
-
msgid "You will need to restore it manually."
|
7271 |
-
msgstr "Sarà necessario fare il ripristino manualmente."
|
7272 |
-
|
7273 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:68
|
7274 |
-
msgid "The following entity cannot be restored automatically: \"%s\"."
|
7275 |
-
msgstr "Le seguenti entità non può essere ripristinata automaticamente: \"%s\"."
|
7276 |
-
|
7277 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:54
|
7278 |
-
msgid "Your web server has PHP's so-called safe_mode active."
|
7279 |
-
msgstr "Il tuo server web ha il safe_mode PHP attivo."
|
7280 |
-
|
7281 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:42
|
7282 |
-
msgid "Choose the components to restore"
|
7283 |
-
msgstr "Scegli i componenti da ripristinare"
|
7284 |
-
|
7285 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:42
|
7286 |
-
msgid "Restoring will replace this site's themes, plugins, uploads, database and/or other content directories (according to what is contained in the backup set, and your selection)."
|
7287 |
-
msgstr "Il ripristino sostituirà i temi di questo sito, i plugin, gli upload, e i database e / o altre cartelle di contenuti (in base a ciò che è contenuto nel set di backup, e alla selezione)."
|
7288 |
-
|
7289 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:30
|
7290 |
-
msgid "Restore backup from"
|
7291 |
-
msgstr "Ripristina backup da"
|
7292 |
-
|
7293 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:29
|
7294 |
-
msgid "Restore backup"
|
7295 |
-
msgstr "Ripristina backup"
|
7296 |
-
|
7297 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:8
|
7298 |
-
msgid "Delete backup set"
|
7299 |
-
msgstr "Cancellazione del set di backup"
|
7300 |
-
|
7301 |
-
#: src/admin.php:825
|
7302 |
-
msgid "Download error: the server sent us a response which we did not understand."
|
7303 |
-
msgstr "Errore di Download: il server ha inviato una risposta non conosciuta."
|
7304 |
-
|
7305 |
-
#: src/addons/backblaze.php:225, src/addons/cloudfiles-enhanced.php:117,
|
7306 |
-
#: src/addons/migrator.php:890, src/addons/migrator.php:1187,
|
7307 |
-
#: src/addons/migrator.php:1268, src/addons/migrator.php:1317,
|
7308 |
-
#: src/addons/migrator.php:1555, src/addons/s3-enhanced.php:164,
|
7309 |
-
#: src/addons/s3-enhanced.php:169, src/addons/s3-enhanced.php:171,
|
7310 |
-
#: src/addons/sftp.php:911, src/addons/webdav.php:203, src/admin.php:91,
|
7311 |
-
#: src/admin.php:817, src/includes/class-remote-send.php:266,
|
7312 |
-
#: src/includes/class-remote-send.php:293,
|
7313 |
-
#: src/includes/class-remote-send.php:299,
|
7314 |
-
#: src/includes/class-remote-send.php:362,
|
7315 |
-
#: src/includes/class-remote-send.php:421,
|
7316 |
-
#: src/includes/class-remote-send.php:462,
|
7317 |
-
#: src/includes/class-remote-send.php:472,
|
7318 |
-
#: src/includes/class-remote-send.php:477, src/methods/remotesend.php:74,
|
7319 |
-
#: src/methods/remotesend.php:242, src/methods/remotesend.php:298,
|
7320 |
-
#: src/methods/updraftvault.php:527, src/restorer.php:228,
|
7321 |
-
#: src/restorer.php:256, src/restorer.php:1921
|
7322 |
-
msgid "Error:"
|
7323 |
-
msgstr "Errore:"
|
7324 |
-
|
7325 |
-
#: src/admin.php:808
|
7326 |
-
msgid "calculating..."
|
7327 |
-
msgstr "sto calcolando..."
|
7328 |
-
|
7329 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:68,
|
7330 |
-
#: src/templates/wp-admin/settings/tab-backups.php:70
|
7331 |
-
msgid "UpdraftPlus - Upload backup files"
|
7332 |
-
msgstr "UpdraftPlus - Carica file di backup"
|
7333 |
-
|
7334 |
-
#: src/includes/class-filesystem-functions.php:65,
|
7335 |
-
#: src/templates/wp-admin/advanced/site-info.php:38
|
7336 |
-
msgid "refresh"
|
7337 |
-
msgstr "aggiorna"
|
7338 |
-
|
7339 |
-
#: src/includes/class-filesystem-functions.php:86,
|
7340 |
-
#: src/templates/wp-admin/advanced/site-info.php:38
|
7341 |
-
msgid "Web-server disk space in use by UpdraftPlus"
|
7342 |
-
msgstr "Spazio sul server web in uso da UpdraftPlus"
|
7343 |
-
|
7344 |
-
#: src/includes/class-filesystem-functions.php:86
|
7345 |
-
msgid "This is a count of the contents of your Updraft directory"
|
7346 |
-
msgstr "Questo è un conteggio dei contenuti della cartella Updraft"
|
7347 |
-
|
7348 |
-
#: src/addons/google-enhanced.php:74, src/methods/googledrive.php:202,
|
7349 |
-
#: src/methods/googledrive.php:204, src/methods/googledrive.php:475,
|
7350 |
-
#: src/methods/googledrive.php:502, src/methods/googledrive.php:531,
|
7351 |
-
#: src/methods/googledrive.php:538, src/methods/googledrive.php:548,
|
7352 |
-
#: src/methods/googledrive.php:554, src/methods/googledrive.php:556,
|
7353 |
-
#: src/methods/googledrive.php:1193, src/methods/googledrive.php:1200,
|
7354 |
-
#: src/methods/googledrive.php:1200, src/methods/googledrive.php:1233,
|
7355 |
-
#: src/methods/googledrive.php:1237, src/methods/googledrive.php:1248,
|
7356 |
-
#: src/methods/googledrive.php:1259
|
7357 |
-
msgid "Google Drive"
|
7358 |
-
msgstr "Google Drive"
|
7359 |
-
|
7360 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:59,
|
7361 |
-
#: src/templates/wp-admin/settings/tab-backups.php:63
|
7362 |
-
msgid "If you are using this, then turn Turbo/Road mode off."
|
7363 |
-
msgstr "Se stai utilizzando questo, allora imposta Turbo/Road Mode su off"
|
7364 |
-
|
7365 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:59,
|
7366 |
-
#: src/templates/wp-admin/settings/tab-backups.php:63
|
7367 |
-
msgid "Opera web browser"
|
7368 |
-
msgstr "Browser web Opera"
|
7369 |
-
|
7370 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:47,
|
7371 |
-
#: src/templates/wp-admin/settings/tab-backups.php:51
|
7372 |
-
msgid "More tasks:"
|
7373 |
-
msgstr "Altre attività: "
|
7374 |
-
|
7375 |
-
#: src/admin.php:3114
|
7376 |
-
msgid "Download most recently modified log file"
|
7377 |
-
msgstr "Scarica il file di log più recente"
|
7378 |
-
|
7379 |
-
#: src/central/bootstrap.php:187
|
7380 |
-
msgid "(Nothing yet logged)"
|
7381 |
-
msgstr "(Niente è stato loggato)"
|
7382 |
-
|
7383 |
-
#: src/addons/autobackup.php:344, src/addons/autobackup.php:439,
|
7384 |
-
#: src/admin.php:3070, src/admin.php:3076,
|
7385 |
-
#: src/templates/wp-admin/settings/take-backup.php:64
|
7386 |
-
msgid "Last log message"
|
7387 |
-
msgstr "Ultimo messaggio di Log"
|
7388 |
-
|
7389 |
-
#: src/addons/migrator.php:271, src/admin.php:663, src/admin.php:850,
|
7390 |
-
#: src/admin.php:4170
|
7391 |
-
msgid "Restore"
|
7392 |
-
msgstr "Ripristino"
|
7393 |
-
|
7394 |
-
#: src/admin.php:842, src/templates/wp-admin/settings/take-backup.php:50
|
7395 |
-
msgid "Backup Now"
|
7396 |
-
msgstr "Esegui Backup"
|
7397 |
-
|
7398 |
-
#: src/templates/wp-admin/settings/take-backup.php:45
|
7399 |
-
msgid "Time now"
|
7400 |
-
msgstr "Ora attuale"
|
7401 |
-
|
7402 |
-
#: src/addons/moredatabase.php:242, src/addons/reporting.php:260,
|
7403 |
-
#: src/addons/wp-cli.php:431, src/admin.php:344, src/admin.php:3979,
|
7404 |
-
#: src/admin.php:4032, src/includes/class-remote-send.php:331,
|
7405 |
-
#: src/includes/class-wpadmin-commands.php:157,
|
7406 |
-
#: src/includes/class-wpadmin-commands.php:521, src/restorer.php:354,
|
7407 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:74,
|
7408 |
-
#: src/templates/wp-admin/settings/delete-and-restore-modals.php:75,
|
7409 |
-
#: src/templates/wp-admin/settings/take-backup.php:33
|
7410 |
-
msgid "Database"
|
7411 |
-
msgstr "Database"
|
7412 |
-
|
7413 |
-
#: src/admin.php:334, src/admin.php:5161,
|
7414 |
-
#: src/templates/wp-admin/settings/take-backup.php:23
|
7415 |
-
msgid "Files"
|
7416 |
-
msgstr "Files"
|
7417 |
-
|
7418 |
-
#: src/templates/wp-admin/settings/take-backup.php:18
|
7419 |
-
msgid "Next scheduled backups"
|
7420 |
-
msgstr "Prossimo Backup programmato"
|
7421 |
-
|
7422 |
-
#: src/admin.php:313
|
7423 |
-
msgid "At the same time as the files backup"
|
7424 |
-
msgstr "Contemporaneamente al backup dei file"
|
7425 |
-
|
7426 |
-
#: src/admin.php:303, src/admin.php:324, src/admin.php:331, src/admin.php:376,
|
7427 |
-
#: src/admin.php:407
|
7428 |
-
msgid "Nothing currently scheduled"
|
7429 |
-
msgstr "Nessuna schedulazione."
|
7430 |
-
|
7431 |
-
#: src/templates/wp-admin/settings/take-backup.php:5
|
7432 |
-
msgid "This admin interface uses JavaScript heavily. You either need to activate it within your browser, or to use a JavaScript-capable browser."
|
7433 |
-
msgstr "Questa interfaccia di amministrazione utilizza JavaScript. È necessario attivarne la gestione all'interno del tuo browser, oppure utilizzare un browser che supporti JavaScript."
|
7434 |
-
|
7435 |
-
#: src/templates/wp-admin/settings/take-backup.php:5
|
7436 |
-
msgid "JavaScript warning"
|
7437 |
-
msgstr "Notifiche JavaScript"
|
7438 |
-
|
7439 |
-
#: src/admin.php:828, src/admin.php:3151
|
7440 |
-
msgid "Delete Old Directories"
|
7441 |
-
msgstr "Elimina directory vecchie"
|
7442 |
-
|
7443 |
-
#: src/admin.php:2638
|
7444 |
-
msgid "Current limit is:"
|
7445 |
-
msgstr "Il limite corrente è:"
|
7446 |
-
|
7447 |
-
#: src/admin.php:2613
|
7448 |
-
msgid "Your backup has been restored."
|
7449 |
-
msgstr "Il backup è stato ripristinato."
|
7450 |
-
|
7451 |
-
#: src/templates/wp-admin/settings/header.php:26
|
7452 |
-
msgid "Version"
|
7453 |
-
msgstr "Versione"
|
7454 |
-
|
7455 |
-
#: src/templates/wp-admin/settings/header.php:25
|
7456 |
-
msgid "Lead developer's homepage"
|
7457 |
-
msgstr "Vai alla homepage dello sviluppatore"
|
7458 |
-
|
7459 |
-
#: src/central/bootstrap.php:511
|
7460 |
-
msgid "UpdraftPlus.Com"
|
7461 |
-
msgstr "UpdraftPlus.Com"
|
7462 |
-
|
7463 |
-
#: src/admin.php:5053
|
7464 |
-
msgid "Your settings have been wiped."
|
7465 |
-
msgstr "Le tue impostazioni sono state cancellate."
|
7466 |
-
|
7467 |
-
#: src/admin.php:2573
|
7468 |
-
msgid "Backup directory successfully created."
|
7469 |
-
msgstr "Cartella di backup creata con successo."
|
7470 |
-
|
7471 |
-
#: src/admin.php:2566
|
7472 |
-
msgid "Backup directory could not be created"
|
7473 |
-
msgstr "Impossibile creare la cartella di backup"
|
7474 |
-
|
7475 |
-
#: src/admin.php:3431
|
7476 |
-
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
7477 |
-
msgstr "Problemi nella rimozione della vecchia cartella, prova a cancellarla manualmente."
|
7478 |
-
|
7479 |
-
#: src/admin.php:3429
|
7480 |
-
msgid "Old directories successfully removed."
|
7481 |
-
msgstr "Vecchie cartelle rimosse con successo."
|
7482 |
-
|
7483 |
-
#: src/admin.php:3426, src/admin.php:3426
|
7484 |
-
msgid "Remove old directories"
|
7485 |
-
msgstr "Rimuove vecchie cartelle"
|
7486 |
-
|
7487 |
-
#: src/addons/migrator.php:340, src/addons/migrator.php:355,
|
7488 |
-
#: src/admin.php:2514, src/admin.php:2524, src/admin.php:2533,
|
7489 |
-
#: src/admin.php:2575, src/admin.php:3433
|
7490 |
-
msgid "Return to UpdraftPlus Configuration"
|
7491 |
-
msgstr "Ritorno a Configurazione di UpdraftPlus"
|
7492 |
-
|
7493 |
-
#: src/admin.php:821, src/admin.php:2514, src/admin.php:2524,
|
7494 |
-
#: src/admin.php:2533, src/admin.php:2575, src/admin.php:3433,
|
7495 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:19,
|
7496 |
-
#: src/templates/wp-admin/settings/existing-backups-table.php:139
|
7497 |
-
msgid "Actions"
|
7498 |
-
msgstr "Azioni"
|
7499 |
-
|
7500 |
-
#: src/admin.php:2409
|
7501 |
-
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
7502 |
-
msgstr "Errore nel formato del nome del file - questo file non sembra un file di database crittografato e creato da UpdraftPlus"
|
7503 |
-
|
7504 |
-
#: src/admin.php:2309
|
7505 |
-
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
7506 |
-
msgstr "Errore nel formato del nome del file - questo file sembra non sia stato creato da UpdraftPlus"
|
7507 |
-
|
7508 |
-
#: src/admin.php:2205
|
7509 |
-
msgid "No local copy present."
|
7510 |
-
msgstr "Nessuna copia locale presente."
|
7511 |
-
|
7512 |
-
#: src/admin.php:2202
|
7513 |
-
msgid "Download in progress"
|
7514 |
-
msgstr "Download in corso"
|
7515 |
-
|
7516 |
-
#: src/admin.php:820, src/admin.php:2191
|
7517 |
-
msgid "File ready."
|
7518 |
-
msgstr "File pronto."
|
7519 |
-
|
7520 |
-
#: src/admin.php:2172
|
7521 |
-
msgid "Download failed"
|
7522 |
-
msgstr "Download fallito"
|
7523 |
-
|
7524 |
-
#: src/addons/wp-cli.php:518, src/admin.php:818,
|
7525 |
-
#: src/class-updraftplus.php:1298, src/class-updraftplus.php:1342,
|
7526 |
-
#: src/includes/class-filesystem-functions.php:368,
|
7527 |
-
#: src/includes/class-storage-methods-interface.php:324,
|
7528 |
-
#: src/methods/addon-base-v2.php:93, src/methods/addon-base-v2.php:98,
|
7529 |
-
#: src/methods/addon-base-v2.php:205, src/methods/addon-base-v2.php:225,
|
7530 |
-
#: src/methods/stream-base.php:219, src/restorer.php:2884,
|
7531 |
-
#: src/restorer.php:2909, src/restorer.php:2990, src/updraftplus.php:157
|
7532 |
-
msgid "Error"
|
7533 |
-
msgstr "Errore"
|
7534 |
-
|
7535 |
-
#: src/admin.php:1959
|
7536 |
-
msgid "Could not find that job - perhaps it has already finished?"
|
7537 |
-
msgstr "Impossibile trovare il processo - forse è già stata completata."
|
7538 |
-
|
7539 |
-
#: src/admin.php:1951
|
7540 |
-
msgid "Job deleted"
|
7541 |
-
msgstr "Processo cancellato"
|
7542 |
-
|
7543 |
-
#: src/admin.php:2050, src/includes/class-commands.php:833
|
7544 |
-
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
7545 |
-
msgstr "OK. A breve si dovrebbe vedere l'attività nel campo \"Ultimo Messaggio di log\" di seguito."
|
7546 |
-
|
7547 |
-
#: src/admin.php:895
|
7548 |
-
msgid "Nothing yet logged"
|
7549 |
-
msgstr "Niente ancora loggato"
|
7550 |
-
|
7551 |
-
#: src/admin.php:1163
|
7552 |
-
msgid "Please consult this FAQ if you have problems backing up."
|
7553 |
-
msgstr "Si prega di consultare questa FAQ se hai problemi di backup."
|
7554 |
-
|
7555 |
-
#: src/admin.php:1163
|
7556 |
-
msgid "Your website is hosted using the %s web server."
|
7557 |
-
msgstr "Il tuo sito web è ospitato utilizzando il web server %s."
|
7558 |
-
|
7559 |
-
#: src/admin.php:1159
|
7560 |
-
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."
|
7561 |
-
msgstr "UpdraftPlus non supporta ufficialmente le versioni di WordPress prima di %s. Potrebbe essere funzionante, ma se non lo fosse, si avvisa del fatto che nessun supporto è disponibile fino a quando non si esegue l'aggiornamento di WordPress."
|
7562 |
-
|
7563 |
-
#: src/admin.php:1155
|
7564 |
-
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."
|
7565 |
-
msgstr "Hai meno di %s di spazio libero su disco che UpdraftPlus può utilizzare per creare copie di backup. UpdraftPlus potrebbe esaurire lo spazio disponibile. Contatta il gestore del server (ad esempio, la tua società di web hosting) per risolvere questo problema."
|
7566 |
-
|
7567 |
-
#: src/addons/azure.php:601, src/addons/migrator.php:945, src/admin.php:1147,
|
7568 |
-
#: src/admin.php:1151, src/admin.php:1155, src/admin.php:1159,
|
7569 |
-
#: src/admin.php:1163, src/admin.php:1172, src/admin.php:3909,
|
7570 |
-
#: src/admin.php:3916, src/admin.php:3918, src/admin.php:5344,
|
7571 |
-
#: src/methods/cloudfiles-new.php:100, src/methods/cloudfiles.php:440,
|
7572 |
-
#: src/methods/ftp.php:330, src/methods/openstack-base.php:571,
|
7573 |
-
#: src/methods/s3.php:859, src/methods/s3.php:863,
|
7574 |
-
#: src/methods/updraftvault.php:306,
|
7575 |
-
#: src/templates/wp-admin/settings/downloading-and-restoring.php:27,
|
7576 |
-
#: src/templates/wp-admin/settings/tab-backups.php:27,
|
7577 |
-
#: src/udaddons/updraftplus-addons.php:259
|
7578 |
-
msgid "Warning"
|
7579 |
-
msgstr "Attenzione"
|
7580 |
-
|
7581 |
-
#: src/admin.php:1092
|
7582 |
-
msgid "Add-Ons / Pro Support"
|
7583 |
-
msgstr "Add-Ons / Supporto Versione Pro"
|
7584 |
-
|
7585 |
-
#: src/admin.php:679, src/admin.php:1090, src/admin.php:2800
|
7586 |
-
msgid "Settings"
|
7587 |
-
msgstr "Impostazioni"
|
7588 |
-
|
7589 |
-
#: src/backup.php:261
|
7590 |
-
msgid "Could not create %s zip. Consult the log file for more information."
|
7591 |
-
msgstr "Impossibile creare il file zip %s. Consultare il file di registro per ulteriori informazioni."
|
7592 |
-
|
7593 |
-
#: src/backup.php:2298
|
7594 |
-
msgid "Infinite recursion: consult your log for more information"
|
7595 |
-
msgstr "Ricursione infinita: consultare il log per maggiori informazioni"
|
7596 |
-
|
7597 |
-
#: src/includes/updraftplus-notices.php:102
|
7598 |
-
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org."
|
7599 |
-
msgstr "Aiuta UpdraftPlus lasciando una recensione positiva su wordpress.org."
|
7600 |
-
|
7601 |
-
#: src/includes/updraftplus-notices.php:101
|
7602 |
-
msgid "Like UpdraftPlus and can spare one minute?"
|
7603 |
-
msgstr "Ti piace UpdraftPlus e puoi dedicarci un minuto?"
|
7604 |
-
|
7605 |
-
#: src/addons/azure.php:268, src/class-updraftplus.php:3636,
|
7606 |
-
#: src/methods/googledrive.php:1120, src/methods/s3.php:341
|
7607 |
-
msgid "File not found"
|
7608 |
-
msgstr "File non trovato"
|
7609 |
-
|
7610 |
-
#: src/includes/class-updraftplus-encryption.php:354
|
7611 |
-
msgid "The decryption key used:"
|
7612 |
-
msgstr "La chiave di decriptaggio utilizzata è:"
|
7613 |
-
|
7614 |
-
#: src/class-updraftplus.php:3843,
|
7615 |
-
#: src/includes/class-updraftplus-encryption.php:354, src/restorer.php:781
|
7616 |
-
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
7617 |
-
msgstr "Decriptaggio fallito: La causa più probabile è che sia stata utilizzata una chiave errata."
|
7618 |
-
|
7619 |
-
#: src/class-updraftplus.php:3831,
|
7620 |
-
#: src/includes/class-updraftplus-encryption.php:336, src/restorer.php:768
|
7621 |
-
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
7622 |
-
msgstr "Decifratura fallita. Il file di database è criptato, ma non è immesso nessuna chiave di crittografia."
|
7623 |
-
|
7624 |
-
#: src/backup.php:2172
|
7625 |
-
msgid "Could not open the backup file for writing"
|
7626 |
-
msgstr "Impossibile aprire il file di backup per la scrittura"
|
7627 |
-
|
7628 |
-
#: src/class-updraftplus.php:3408
|
7629 |
-
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
7630 |
-
msgstr "Impossibile salvare la cronologia di backup perché non c'è un backup array. Backup probabilmente fallito."
|
7631 |
-
|
7632 |
-
#: src/class-updraftplus.php:3392
|
7633 |
-
msgid "Could not read the directory"
|
7634 |
-
msgstr "Impossibile leggere la cartella."
|
7635 |
-
|
7636 |
-
#: src/admin.php:2251, src/backup.php:1359
|
7637 |
-
msgid "Backup directory (%s) is not writable, or does not exist."
|
7638 |
-
msgstr "La cartella di backup (%s) non è scrivibile o non esiste."
|
7639 |
-
|
7640 |
-
#: src/backup.php:1136
|
7641 |
-
msgid "WordPress backup is complete"
|
7642 |
-
msgstr "Il backup di WordPress è completo"
|
7643 |
-
|
7644 |
-
#: src/class-updraftplus.php:2998
|
7645 |
-
msgid "The backup attempt has finished, apparently unsuccessfully"
|
7646 |
-
msgstr "Il tentativo di backup è terminato, a quanto pare senza successo"
|
7647 |
-
|
7648 |
-
#: src/class-updraftplus.php:2980
|
7649 |
-
msgid "The backup apparently succeeded and is now complete"
|
7650 |
-
msgstr "Il backup apparentemente è riuscito ed ora è completo"
|
7651 |
-
|
7652 |
-
#: src/addons/moredatabase.php:388
|
7653 |
-
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
7654 |
-
msgstr "Errore di crittografia durante la crittografia del database. Crittografia interrotta."
|
7655 |
-
|
7656 |
-
#: src/class-updraftplus.php:2680
|
7657 |
-
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
7658 |
-
msgstr "Impossibile creare files nella cartella di backup. Il backup è annullato - controlla i settaggi di UpdraftPlus"
|
7659 |
-
|
7660 |
-
#: src/class-updraftplus.php:1796
|
7661 |
-
msgid "Others"
|
7662 |
-
msgstr "Altri"
|
7663 |
-
|
7664 |
-
#: src/addons/multisite.php:500, src/class-updraftplus.php:1781
|
7665 |
-
msgid "Uploads"
|
7666 |
-
msgstr "Upload"
|
7667 |
-
|
7668 |
-
#: src/class-updraftplus.php:1780
|
7669 |
-
msgid "Themes"
|
7670 |
-
msgstr "Temi"
|
7671 |
-
|
7672 |
-
#: src/class-updraftplus.php:1779
|
7673 |
-
msgid "Plugins"
|
7674 |
-
msgstr "Plugin"
|
7675 |
-
|
7676 |
-
#: src/class-updraftplus.php:624
|
7677 |
-
msgid "No log files were found."
|
7678 |
-
msgstr "Nessun file di log trovato."
|
7679 |
-
|
7680 |
-
#: src/admin.php:2121, src/admin.php:2125, src/class-updraftplus.php:619
|
7681 |
-
msgid "The log file could not be read."
|
7682 |
-
msgstr "Il file di log non può essere letto."
|
7683 |
-
|
7684 |
-
#: src/admin.php:1192, src/admin.php:1213, src/admin.php:1232,
|
7685 |
-
#: src/class-updraftplus.php:584, src/class-updraftplus.php:619,
|
7686 |
-
#: src/class-updraftplus.php:624, src/class-updraftplus.php:629
|
7687 |
-
msgid "UpdraftPlus notice:"
|
7688 |
-
msgstr "Note di UpdraftPlus:"
|
7689 |
-
|
7690 |
-
#: src/addons/multisite.php:96, src/addons/multisite.php:736,
|
7691 |
-
#: src/options.php:74
|
7692 |
-
msgid "UpdraftPlus Backups"
|
7693 |
-
msgstr "Backup di UpdraftPlus"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -21,95 +21,95 @@ 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 |
|
@@ -117,7 +117,7 @@ msgstr ""
|
|
117 |
msgid "%s Error"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: src/addons/azure.php:268, src/class-updraftplus.php:
|
121 |
msgid "File not found"
|
122 |
msgstr ""
|
123 |
|
@@ -145,11 +145,11 @@ msgstr ""
|
|
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:608, src/addons/migrator.php:948, src/admin.php:
|
149 |
msgid "Warning"
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: src/addons/azure.php:608, src/admin.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 |
|
@@ -201,7 +201,7 @@ msgstr ""
|
|
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:645, src/addons/google-enhanced.php:
|
205 |
msgid "If you leave it blank, then the backup will be placed in the root of your %s"
|
206 |
msgstr ""
|
207 |
|
@@ -229,11 +229,11 @@ msgstr ""
|
|
229 |
msgid "Azure China"
|
230 |
msgstr ""
|
231 |
|
232 |
-
#: src/addons/backblaze.php:205, src/admin.php:
|
233 |
msgid "Error: unexpected file read fail"
|
234 |
msgstr ""
|
235 |
|
236 |
-
#: src/addons/backblaze.php:225, src/addons/cloudfiles-enhanced.php:117, src/addons/migrator.php:893, src/addons/migrator.php:1190, src/addons/migrator.php:1271, src/addons/migrator.php:1320, src/addons/migrator.php:1558, src/addons/s3-enhanced.php:161, src/addons/s3-enhanced.php:166, src/addons/s3-enhanced.php:168, src/addons/sftp.php:919, src/addons/webdav.php:203, src/admin.php:93, src/admin.php:
|
237 |
msgid "Error:"
|
238 |
msgstr ""
|
239 |
|
@@ -449,23 +449,23 @@ msgstr ""
|
|
449 |
msgid "The time zone used is that from your WordPress settings, in Settings -> General."
|
450 |
msgstr ""
|
451 |
|
452 |
-
#: src/addons/google-enhanced.php:
|
453 |
msgid "Google Drive"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: src/addons/google-enhanced.php:
|
457 |
msgid "Folder"
|
458 |
msgstr ""
|
459 |
|
460 |
-
#: src/addons/google-enhanced.php:
|
461 |
msgid "Enter the path of the %s folder you wish to use here."
|
462 |
msgstr ""
|
463 |
|
464 |
-
#: src/addons/google-enhanced.php:
|
465 |
msgid "e.g. %s"
|
466 |
msgstr ""
|
467 |
|
468 |
-
#: src/addons/google-enhanced.php:
|
469 |
msgid "In %s, path names are case sensitive."
|
470 |
msgstr ""
|
471 |
|
@@ -577,7 +577,7 @@ msgstr ""
|
|
577 |
msgid "Failure: No bucket details were given."
|
578 |
msgstr ""
|
579 |
|
580 |
-
#: src/addons/googlecloud.php:208, src/addons/googlecloud.php:213, src/methods/cloudfiles.php:130, src/methods/googledrive.php:
|
581 |
msgid "Error: Failed to open local file"
|
582 |
msgstr ""
|
583 |
|
@@ -593,7 +593,7 @@ msgstr ""
|
|
593 |
msgid "You do not have access to this bucket."
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: src/addons/googlecloud.php:303, src/methods/googledrive.php:
|
597 |
msgid "download: failed: file not found"
|
598 |
msgstr ""
|
599 |
|
@@ -601,7 +601,7 @@ msgstr ""
|
|
601 |
msgid "You do not have access to this bucket"
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: src/addons/googlecloud.php:329, 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:149, src/methods/addon-base-v2.php:195, src/methods/addon-base-v2.php:285, src/methods/ftp.php:42, src/methods/googledrive.php:
|
605 |
msgid "No %s settings were found"
|
606 |
msgstr ""
|
607 |
|
@@ -609,19 +609,19 @@ msgstr ""
|
|
609 |
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)."
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: src/addons/googlecloud.php:443, src/methods/googledrive.php:
|
613 |
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."
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: src/addons/googlecloud.php:445, src/addons/migrator.php:590, src/admin.php:
|
617 |
msgid "Error: %s"
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: src/addons/googlecloud.php:451, src/methods/googledrive.php:
|
621 |
msgid "Authorization failed"
|
622 |
msgstr ""
|
623 |
|
624 |
-
#: src/addons/googlecloud.php:514, src/addons/googlecloud.php:515, src/addons/googlecloud.php:873, src/methods/googledrive.php:
|
625 |
msgid "Account is not authorized."
|
626 |
msgstr ""
|
627 |
|
@@ -637,19 +637,19 @@ msgstr ""
|
|
637 |
msgid "But no %s settings were found. Please complete all fields in %s settings and save the settings."
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: src/addons/googlecloud.php:705, src/addons/onedrive.php:901, src/addons/onedrive.php:912, src/methods/googledrive.php:
|
641 |
msgid "However, subsequent access attempts failed:"
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: src/addons/googlecloud.php:725, src/addons/googlecloud.php:846, src/addons/onedrive.php:933, src/addons/sftp.php:587, src/addons/sftp.php:591, src/addons/wp-cli.php:516, src/methods/addon-base-v2.php:327, src/methods/cloudfiles.php:575, src/methods/googledrive.php:
|
645 |
msgid "Success"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: src/addons/googlecloud.php:725, src/addons/onedrive.php:933, src/methods/googledrive.php:
|
649 |
msgid "you have authenticated your %s account."
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: src/addons/googlecloud.php:725, src/methods/googledrive.php:
|
653 |
msgid "Name: %s."
|
654 |
msgstr ""
|
655 |
|
@@ -657,7 +657,7 @@ msgstr ""
|
|
657 |
msgid "You must save and authenticate before you can test your settings."
|
658 |
msgstr ""
|
659 |
|
660 |
-
#: src/addons/googlecloud.php:783, src/addons/googlecloud.php:817, src/addons/googlecloud.php:823, src/addons/sftp.php:549, src/admin.php:
|
661 |
msgid "Failed"
|
662 |
msgstr ""
|
663 |
|
@@ -689,7 +689,7 @@ msgstr ""
|
|
689 |
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."
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: src/addons/googlecloud.php:1002, src/methods/googledrive.php:
|
693 |
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
694 |
msgstr ""
|
695 |
|
@@ -697,7 +697,7 @@ msgstr ""
|
|
697 |
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."
|
698 |
msgstr ""
|
699 |
|
700 |
-
#: src/addons/googlecloud.php:1004, src/methods/googledrive.php:
|
701 |
msgid "Select 'Web Application' as the application type."
|
702 |
msgstr ""
|
703 |
|
@@ -705,15 +705,15 @@ msgstr ""
|
|
705 |
msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked"
|
706 |
msgstr ""
|
707 |
|
708 |
-
#: src/addons/googlecloud.php:1026, src/addons/onedrive.php:1171, src/methods/googledrive.php:
|
709 |
msgid "Client ID"
|
710 |
msgstr ""
|
711 |
|
712 |
-
#: src/addons/googlecloud.php:1029, src/methods/googledrive.php:
|
713 |
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
714 |
msgstr ""
|
715 |
|
716 |
-
#: src/addons/googlecloud.php:1034, src/addons/onedrive.php:1175, src/methods/googledrive.php:
|
717 |
msgid "Client Secret"
|
718 |
msgstr ""
|
719 |
|
@@ -733,7 +733,7 @@ msgstr ""
|
|
733 |
msgid "Otherwise, you can leave it blank."
|
734 |
msgstr ""
|
735 |
|
736 |
-
#: src/addons/googlecloud.php:1041, src/addons/migrator.php:493, src/addons/migrator.php:496, src/addons/migrator.php:499, src/admin.php:
|
737 |
msgid "Go here for more information."
|
738 |
msgstr ""
|
739 |
|
@@ -773,11 +773,11 @@ msgstr ""
|
|
773 |
msgid "Bucket location"
|
774 |
msgstr ""
|
775 |
|
776 |
-
#: src/addons/googlecloud.php:1081, src/methods/googledrive.php:
|
777 |
msgid "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem)."
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: src/addons/googlecloud.php:1115, src/addons/onedrive.php:1242, src/methods/dropbox.php:669, src/methods/googledrive.php:
|
781 |
msgid "Account holder's name: %s."
|
782 |
msgstr ""
|
783 |
|
@@ -789,7 +789,7 @@ msgstr ""
|
|
789 |
msgid "Supported backup plugins: %s"
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: src/addons/importer.php:276, src/admin.php:
|
793 |
msgid "Backup created by: %s."
|
794 |
msgstr ""
|
795 |
|
@@ -813,31 +813,31 @@ msgstr ""
|
|
813 |
msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to."
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: src/addons/incremental.php:342, src/addons/reporting.php:261, src/admin.php:
|
817 |
msgid "None"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: src/addons/incremental.php:343, src/updraftplus.php:99
|
821 |
msgid "Every hour"
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: src/addons/incremental.php:344, src/addons/incremental.php:345, src/addons/incremental.php:346, src/addons/incremental.php:347, src/admin.php:
|
825 |
msgid "Every %s hours"
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: src/addons/incremental.php:348, src/admin.php:
|
829 |
msgid "Daily"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: src/addons/incremental.php:349, src/admin.php:
|
833 |
msgid "Weekly"
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: src/addons/incremental.php:350, src/admin.php:
|
837 |
msgid "Fortnightly"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: src/addons/incremental.php:351, src/admin.php:
|
841 |
msgid "Monthly"
|
842 |
msgstr ""
|
843 |
|
@@ -869,7 +869,7 @@ msgstr ""
|
|
869 |
msgid "Please make sure that you have made a note of the password!"
|
870 |
msgstr ""
|
871 |
|
872 |
-
#: src/addons/lockadmin.php:171, src/addons/moredatabase.php:241, src/addons/sftp.php:455, src/addons/webdav.php:193, src/admin.php:
|
873 |
msgid "Password"
|
874 |
msgstr ""
|
875 |
|
@@ -961,7 +961,7 @@ msgstr ""
|
|
961 |
msgid "After pressing this button, you will be given the option to choose which components you wish to migrate"
|
962 |
msgstr ""
|
963 |
|
964 |
-
#: src/addons/migrator.php:274, src/admin.php:
|
965 |
msgid "Restore"
|
966 |
msgstr ""
|
967 |
|
@@ -985,7 +985,7 @@ msgstr ""
|
|
985 |
msgid "Replace with"
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: src/addons/migrator.php:340, src/addons/moredatabase.php:89, src/addons/moredatabase.php:91, src/addons/moredatabase.php:93, src/addons/sftp.php:518, src/addons/sftp.php:522, src/addons/sftp.php:526, src/addons/webdav.php:253, src/admin.php:
|
989 |
msgid "Failure: No %s was given."
|
990 |
msgstr ""
|
991 |
|
@@ -1065,7 +1065,7 @@ msgstr ""
|
|
1065 |
msgid "Importing a single site into a multisite install"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
-
#: src/addons/migrator.php:504, src/templates/wp-admin/settings/downloading-and-restoring.php:72, src/templates/wp-admin/settings/form-contents.php:
|
1069 |
msgid "This feature requires %s version %s or later"
|
1070 |
msgstr ""
|
1071 |
|
@@ -1187,7 +1187,7 @@ msgstr ""
|
|
1187 |
msgid "SQL update commands run:"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
-
#: src/addons/migrator.php:1305, src/admin.php:
|
1191 |
msgid "Errors:"
|
1192 |
msgstr ""
|
1193 |
|
@@ -1195,7 +1195,7 @@ msgstr ""
|
|
1195 |
msgid "Time taken (seconds):"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: src/addons/migrator.php:1320, src/restorer.php:
|
1199 |
msgid "the database query being run was:"
|
1200 |
msgstr ""
|
1201 |
|
@@ -1239,7 +1239,7 @@ msgstr ""
|
|
1239 |
msgid "Paste key here"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#: src/addons/migrator.php:1748, src/admin.php:
|
1243 |
msgid "Add site"
|
1244 |
msgstr ""
|
1245 |
|
@@ -1259,7 +1259,7 @@ msgstr ""
|
|
1259 |
msgid "Enter your chosen name"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
-
#: src/addons/migrator.php:1761, src/addons/sftp.php:463, src/admin.php:
|
1263 |
msgid "Key"
|
1264 |
msgstr ""
|
1265 |
|
@@ -1331,7 +1331,7 @@ msgstr ""
|
|
1331 |
msgid "%s total table(s) found; %s with the indicated prefix."
|
1332 |
msgstr ""
|
1333 |
|
1334 |
-
#: src/addons/moredatabase.php:144, src/admin.php:
|
1335 |
msgid "Messages:"
|
1336 |
msgstr ""
|
1337 |
|
@@ -1375,7 +1375,7 @@ msgstr ""
|
|
1375 |
msgid "Username"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
-
#: src/addons/moredatabase.php:242, src/addons/reporting.php:276, src/addons/wp-cli.php:432, src/admin.php:
|
1379 |
msgid "Database"
|
1380 |
msgstr ""
|
1381 |
|
@@ -1427,7 +1427,7 @@ msgstr ""
|
|
1427 |
msgid "(None configured)"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: src/addons/morefiles.php:71, src/admin.php:
|
1431 |
msgctxt "(verb)"
|
1432 |
msgid "Download"
|
1433 |
msgstr ""
|
@@ -1512,7 +1512,7 @@ msgstr ""
|
|
1512 |
msgid "Go up a directory"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
-
#: src/addons/morefiles.php:311, src/admin.php:
|
1516 |
msgid "Cancel"
|
1517 |
msgstr ""
|
1518 |
|
@@ -1528,7 +1528,7 @@ msgstr ""
|
|
1528 |
msgid "Exclude these:"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
-
#: src/addons/morefiles.php:476, src/admin.php:
|
1532 |
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."
|
1533 |
msgstr ""
|
1534 |
|
@@ -1544,11 +1544,11 @@ msgstr ""
|
|
1544 |
msgid "(as many as you like)"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
-
#: src/addons/morestorage.php:81, src/admin.php:
|
1548 |
msgid "Currently enabled"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
-
#: src/addons/morestorage.php:81, src/admin.php:
|
1552 |
msgid "Currently disabled"
|
1553 |
msgstr ""
|
1554 |
|
@@ -1576,7 +1576,7 @@ msgstr ""
|
|
1576 |
msgid "Multisite Install"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
-
#: src/addons/multisite.php:502, src/class-updraftplus.php:
|
1580 |
msgid "Uploads"
|
1581 |
msgstr ""
|
1582 |
|
@@ -1612,27 +1612,27 @@ msgstr ""
|
|
1612 |
msgid "%s download: failed: file not found"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
-
#: src/addons/onedrive.php:677, src/udaddons/updraftplus-addons.php:
|
1616 |
msgid "An error response was received; HTTP code:"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
-
#: src/addons/onedrive.php:690, src/addons/onedrive.php:710, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:713, src/udaddons/updraftplus-addons.php:
|
1620 |
msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks."
|
1621 |
msgstr ""
|
1622 |
|
1623 |
-
#: src/addons/onedrive.php:690, src/udaddons/updraftplus-addons.php:
|
1624 |
msgid "To remove any block, please go here."
|
1625 |
msgstr ""
|
1626 |
|
1627 |
-
#: src/addons/onedrive.php:690, src/udaddons/updraftplus-addons.php:
|
1628 |
msgid "Your IP address:"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
-
#: src/addons/onedrive.php:710, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:713, src/udaddons/updraftplus-addons.php:
|
1632 |
msgid "UpdraftPlus.com has responded with 'Access Denied'."
|
1633 |
msgstr ""
|
1634 |
|
1635 |
-
#: src/addons/onedrive.php:710, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:713, src/udaddons/updraftplus-addons.php:
|
1636 |
msgid "It appears that your web server's IP Address (%s) is blocked."
|
1637 |
msgstr ""
|
1638 |
|
@@ -1648,7 +1648,7 @@ msgstr ""
|
|
1648 |
msgid "Account is not authorized (%s)."
|
1649 |
msgstr ""
|
1650 |
|
1651 |
-
#: src/addons/onedrive.php:858, src/class-updraftplus.php:
|
1652 |
msgid "%s error: %s"
|
1653 |
msgstr ""
|
1654 |
|
@@ -1656,7 +1656,7 @@ msgstr ""
|
|
1656 |
msgid "Authentication"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
-
#: src/addons/onedrive.php:887, src/methods/dropbox.php:845, src/methods/dropbox.php:854, src/methods/googledrive.php:
|
1660 |
msgid "Your %s quota usage: %s %% used, %s available"
|
1661 |
msgstr ""
|
1662 |
|
@@ -1688,11 +1688,11 @@ msgstr ""
|
|
1688 |
msgid "Create OneDrive credentials in your OneDrive developer console."
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: src/addons/onedrive.php:1151, src/methods/dropbox.php:587, src/methods/googledrive.php:
|
1692 |
msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)."
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: src/addons/onedrive.php:1151, src/methods/dropbox.php:587, src/methods/googledrive.php:
|
1696 |
msgid "this privacy policy"
|
1697 |
msgstr ""
|
1698 |
|
@@ -1700,7 +1700,7 @@ msgstr ""
|
|
1700 |
msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here."
|
1701 |
msgstr ""
|
1702 |
|
1703 |
-
#: src/addons/onedrive.php:1180, src/restorer.php:
|
1704 |
msgid "folder"
|
1705 |
msgstr ""
|
1706 |
|
@@ -1732,7 +1732,7 @@ msgstr ""
|
|
1732 |
msgid "Your label for this backup (optional)"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
-
#: src/addons/reporting.php:86, src/addons/reporting.php:197, src/class-updraftplus.php:
|
1736 |
msgid "Backup of:"
|
1737 |
msgstr ""
|
1738 |
|
@@ -1752,7 +1752,7 @@ msgstr ""
|
|
1752 |
msgid "Backup made by %s"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
-
#: src/addons/reporting.php:198, src/class-updraftplus.php:
|
1756 |
msgid "Latest status:"
|
1757 |
msgstr ""
|
1758 |
|
@@ -1780,11 +1780,11 @@ msgstr ""
|
|
1780 |
msgid "Time taken:"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
-
#: src/addons/reporting.php:239, src/admin.php:
|
1784 |
msgid "Uploaded to:"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
-
#: src/addons/reporting.php:281, src/class-updraftplus.php:
|
1788 |
msgid "The log file has been attached to this email."
|
1789 |
msgstr ""
|
1790 |
|
@@ -1816,11 +1816,11 @@ msgstr ""
|
|
1816 |
msgid "Log all messages to syslog (only server admins are likely to want this)"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
-
#: src/addons/reporting.php:539, src/admin.php:
|
1820 |
msgid "To send to more than one address, separate each address with a comma."
|
1821 |
msgstr ""
|
1822 |
|
1823 |
-
#: src/addons/reporting.php:541, src/admin.php:
|
1824 |
msgid "Send a report only when there are warnings/errors"
|
1825 |
msgstr ""
|
1826 |
|
@@ -1828,7 +1828,7 @@ msgstr ""
|
|
1828 |
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive."
|
1829 |
msgstr ""
|
1830 |
|
1831 |
-
#: src/addons/reporting.php:543, src/admin.php:
|
1832 |
msgid "When the Email storage method is enabled, also send the backup"
|
1833 |
msgstr ""
|
1834 |
|
@@ -1840,7 +1840,7 @@ msgstr ""
|
|
1840 |
msgid "Use this option to only send database backups when sending to email, and skip other components."
|
1841 |
msgstr ""
|
1842 |
|
1843 |
-
#: src/addons/reporting.php:545, src/admin.php:
|
1844 |
msgid "Only email the database backup"
|
1845 |
msgstr ""
|
1846 |
|
@@ -2229,11 +2229,11 @@ msgstr ""
|
|
2229 |
msgid "No previous backup found to add an increment to."
|
2230 |
msgstr ""
|
2231 |
|
2232 |
-
#: src/addons/wp-cli.php:110, src/admin.php:
|
2233 |
msgid "You have chosen to backup a database, but no tables have been selected"
|
2234 |
msgstr ""
|
2235 |
|
2236 |
-
#: src/addons/wp-cli.php:116, src/admin.php:
|
2237 |
msgid "If you exclude both the database and the files, then you have excluded everything!"
|
2238 |
msgstr ""
|
2239 |
|
@@ -2265,27 +2265,27 @@ msgstr ""
|
|
2265 |
msgid "Latest full backup found; identifier:"
|
2266 |
msgstr ""
|
2267 |
|
2268 |
-
#: src/addons/wp-cli.php:430, src/admin.php:
|
2269 |
msgid "unknown source"
|
2270 |
msgstr ""
|
2271 |
|
2272 |
-
#: src/addons/wp-cli.php:432, src/admin.php:
|
2273 |
msgid "Database (created by %s)"
|
2274 |
msgstr ""
|
2275 |
|
2276 |
-
#: src/addons/wp-cli.php:438, src/admin.php:
|
2277 |
msgid "External database"
|
2278 |
msgstr ""
|
2279 |
|
2280 |
-
#: src/addons/wp-cli.php:450, src/admin.php:
|
2281 |
msgid "Files and database WordPress backup (created by %s)"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
-
#: src/addons/wp-cli.php:450, src/admin.php:
|
2285 |
msgid "Files backup (created by %s)"
|
2286 |
msgstr ""
|
2287 |
|
2288 |
-
#: src/addons/wp-cli.php:519, src/admin.php:
|
2289 |
msgid "Error"
|
2290 |
msgstr ""
|
2291 |
|
@@ -2305,11 +2305,11 @@ msgstr ""
|
|
2305 |
msgid "No valid components found, please select different components or a backup set with components that can be restored."
|
2306 |
msgstr ""
|
2307 |
|
2308 |
-
#: src/addons/wp-cli.php:650, src/admin.php:
|
2309 |
msgid "UpdraftPlus Restoration: Progress"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
-
#: src/addons/wp-cli.php:664, src/admin.php:
|
2313 |
msgid "Follow this link to download the log file for this restoration (needed for any support requests)."
|
2314 |
msgstr ""
|
2315 |
|
@@ -2325,7 +2325,7 @@ msgstr ""
|
|
2325 |
msgid "You have given the %1$s option. The %1$s is working with \"%2$s\" addon. Get the \"%2$s\" addon: %3$s"
|
2326 |
msgstr ""
|
2327 |
|
2328 |
-
#: src/addons/wp-cli.php:872, src/includes/class-filesystem-functions.php:
|
2329 |
msgid "Why am I seeing this?"
|
2330 |
msgstr ""
|
2331 |
|
@@ -2341,1318 +2341,1330 @@ msgstr ""
|
|
2341 |
msgid "template not found"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
-
#: src/admin.php:
|
2345 |
msgid "Nothing currently scheduled"
|
2346 |
msgstr ""
|
2347 |
|
2348 |
-
#: src/admin.php:
|
2349 |
msgid "At the same time as the files backup"
|
2350 |
msgstr ""
|
2351 |
|
2352 |
-
#: src/admin.php:
|
2353 |
msgid "Files"
|
2354 |
msgstr ""
|
2355 |
|
2356 |
-
#: src/admin.php:
|
2357 |
msgid "Files and database"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
-
#: src/admin.php:
|
2361 |
msgid "UpdraftPlus"
|
2362 |
msgstr ""
|
2363 |
|
2364 |
-
#: src/admin.php:
|
2365 |
msgid "UpdraftPlus News"
|
2366 |
msgstr ""
|
2367 |
|
2368 |
-
#: src/admin.php:
|
2369 |
msgid "Dismiss all UpdraftPlus news"
|
2370 |
msgstr ""
|
2371 |
|
2372 |
-
#: src/admin.php:
|
2373 |
msgid "Are you sure you want to dismiss all UpdraftPlus news forever?"
|
2374 |
msgstr ""
|
2375 |
|
2376 |
-
#: src/admin.php:
|
2377 |
msgid "You can test upgrading your site on an instant copy using UpdraftClone credits"
|
2378 |
msgstr ""
|
2379 |
|
2380 |
-
#: src/admin.php:
|
2381 |
msgid "go here to learn more"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
-
#: src/admin.php:
|
2385 |
msgid "dismiss notice"
|
2386 |
msgstr ""
|
2387 |
|
2388 |
-
#: src/admin.php:
|
2389 |
msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits."
|
2390 |
msgstr ""
|
2391 |
|
2392 |
-
#: src/admin.php:
|
2393 |
msgid "Dismiss notice"
|
2394 |
msgstr ""
|
2395 |
|
2396 |
-
#: src/admin.php:
|
2397 |
msgid "Backup"
|
2398 |
msgstr ""
|
2399 |
|
2400 |
-
#: src/admin.php:
|
2401 |
msgid "Migrate / Clone"
|
2402 |
msgstr ""
|
2403 |
|
2404 |
-
#: src/admin.php:
|
2405 |
msgid "Settings"
|
2406 |
msgstr ""
|
2407 |
|
2408 |
-
#: src/admin.php:
|
2409 |
msgid "Advanced Tools"
|
2410 |
msgstr ""
|
2411 |
|
2412 |
-
#: src/admin.php:
|
2413 |
msgid "Extensions"
|
2414 |
msgstr ""
|
2415 |
|
2416 |
-
#: src/admin.php:
|
2417 |
msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive."
|
2418 |
msgstr ""
|
2419 |
|
2420 |
-
#: src/admin.php:
|
2421 |
msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..."
|
2422 |
msgstr ""
|
2423 |
|
2424 |
-
#: src/admin.php:
|
2425 |
msgid "Rescanning remote and local storage for backup sets..."
|
2426 |
msgstr ""
|
2427 |
|
2428 |
-
#: src/admin.php:
|
2429 |
msgid "You have chosen to backup files, but no file entities have been selected"
|
2430 |
msgstr ""
|
2431 |
|
2432 |
-
#: src/admin.php:
|
2433 |
msgid "The restore operation has begun. Do not press stop or close your browser until it reports itself as having finished."
|
2434 |
msgstr ""
|
2435 |
|
2436 |
-
#: src/admin.php:
|
2437 |
msgid "The web server returned an error code (try again, or check your web server logs)"
|
2438 |
msgstr ""
|
2439 |
|
2440 |
-
#: src/admin.php:
|
2441 |
msgid "The new user's RackSpace console password is (this will not be shown again):"
|
2442 |
msgstr ""
|
2443 |
|
2444 |
-
#: src/admin.php:
|
2445 |
msgid "Trying..."
|
2446 |
msgstr ""
|
2447 |
|
2448 |
-
#: src/admin.php:
|
2449 |
msgid "Fetching..."
|
2450 |
msgstr ""
|
2451 |
|
2452 |
-
#: src/admin.php:
|
2453 |
msgid "calculating..."
|
2454 |
msgstr ""
|
2455 |
|
2456 |
-
#: src/admin.php:
|
2457 |
msgid "Begun looking for this entity"
|
2458 |
msgstr ""
|
2459 |
|
2460 |
-
#: src/admin.php:
|
2461 |
msgid "Some files are still downloading or being processed - please wait."
|
2462 |
msgstr ""
|
2463 |
|
2464 |
-
#: src/admin.php:
|
2465 |
msgid "Processing files - please wait..."
|
2466 |
msgstr ""
|
2467 |
|
2468 |
-
#: src/admin.php:
|
2469 |
msgid "Error: the server sent an empty response."
|
2470 |
msgstr ""
|
2471 |
|
2472 |
-
#: src/admin.php:
|
2473 |
msgid "Warnings:"
|
2474 |
msgstr ""
|
2475 |
|
2476 |
-
#: src/admin.php:
|
2477 |
msgid "Error: the server sent us a response which we did not understand."
|
2478 |
msgstr ""
|
2479 |
|
2480 |
-
#: src/admin.php:
|
2481 |
msgid "Error data:"
|
2482 |
msgstr ""
|
2483 |
|
2484 |
-
#: src/admin.php:
|
2485 |
msgid "Existing Backups"
|
2486 |
msgstr ""
|
2487 |
|
2488 |
-
#: src/admin.php:
|
2489 |
msgid "File ready."
|
2490 |
msgstr ""
|
2491 |
|
2492 |
-
#: src/admin.php:
|
2493 |
msgid "Actions"
|
2494 |
msgstr ""
|
2495 |
|
2496 |
-
#: src/admin.php:
|
2497 |
msgid "Delete from your web server"
|
2498 |
msgstr ""
|
2499 |
|
2500 |
-
#: src/admin.php:
|
2501 |
msgid "Download to your computer"
|
2502 |
msgstr ""
|
2503 |
|
2504 |
-
#: src/admin.php:
|
2505 |
msgid "Browse contents"
|
2506 |
msgstr ""
|
2507 |
|
2508 |
-
#: src/admin.php:
|
2509 |
msgid "Download error: the server sent us a response which we did not understand."
|
2510 |
msgstr ""
|
2511 |
|
2512 |
-
#: src/admin.php:
|
2513 |
msgid "Requesting start of backup..."
|
2514 |
msgstr ""
|
2515 |
|
2516 |
-
#: src/admin.php:
|
2517 |
msgid "PHP information"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
-
#: src/admin.php:
|
2521 |
msgid "Delete Old Directories"
|
2522 |
msgstr ""
|
2523 |
|
2524 |
-
#: src/admin.php:
|
2525 |
msgid "Raw backup history"
|
2526 |
msgstr ""
|
2527 |
|
2528 |
-
#: src/admin.php:
|
2529 |
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))."
|
2530 |
msgstr ""
|
2531 |
|
2532 |
-
#: src/admin.php:
|
2533 |
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."
|
2534 |
msgstr ""
|
2535 |
|
2536 |
-
#: src/admin.php:
|
2537 |
msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you."
|
2538 |
msgstr ""
|
2539 |
|
2540 |
-
#: src/admin.php:
|
2541 |
msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)"
|
2542 |
msgstr ""
|
2543 |
|
2544 |
-
#: src/admin.php:
|
2545 |
msgid "Upload error:"
|
2546 |
msgstr ""
|
2547 |
|
2548 |
-
#: src/admin.php:
|
2549 |
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)."
|
2550 |
msgstr ""
|
2551 |
|
2552 |
-
#: src/admin.php:
|
2553 |
msgid "Upload error"
|
2554 |
msgstr ""
|
2555 |
|
2556 |
-
#: src/admin.php:
|
2557 |
msgid "Follow this link to attempt decryption and download the database file to your computer."
|
2558 |
msgstr ""
|
2559 |
|
2560 |
-
#: src/admin.php:
|
2561 |
msgid "This decryption key will be attempted:"
|
2562 |
msgstr ""
|
2563 |
|
2564 |
-
#: src/admin.php:
|
2565 |
msgid "Unknown server response:"
|
2566 |
msgstr ""
|
2567 |
|
2568 |
-
#: src/admin.php:
|
2569 |
msgid "Unknown server response status:"
|
2570 |
msgstr ""
|
2571 |
|
2572 |
-
#: src/admin.php:
|
2573 |
msgid "The file was uploaded."
|
2574 |
msgstr ""
|
2575 |
|
2576 |
-
#: src/admin.php:
|
2577 |
msgid "Backup Now"
|
2578 |
msgstr ""
|
2579 |
|
2580 |
-
#: src/admin.php:
|
2581 |
msgid "Delete"
|
2582 |
msgstr ""
|
2583 |
|
2584 |
-
#: src/admin.php:
|
2585 |
msgid "Create"
|
2586 |
msgstr ""
|
2587 |
|
2588 |
-
#: src/admin.php:
|
2589 |
msgid "Upload"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
-
#: src/admin.php:
|
2593 |
msgid "You did not select any components to restore. Please select at least one, and then try again."
|
2594 |
msgstr ""
|
2595 |
|
2596 |
-
#: src/admin.php:
|
2597 |
msgid "Close"
|
2598 |
msgstr ""
|
2599 |
|
2600 |
-
#: src/admin.php:
|
2601 |
msgid "Download log file"
|
2602 |
msgstr ""
|
2603 |
|
2604 |
-
#: src/admin.php:
|
2605 |
msgid "You have made changes to your settings, and not saved."
|
2606 |
msgstr ""
|
2607 |
|
2608 |
-
#: src/admin.php:
|
2609 |
msgid "Saving..."
|
2610 |
msgstr ""
|
2611 |
|
2612 |
-
#: src/admin.php:
|
2613 |
msgid "Connect"
|
2614 |
msgstr ""
|
2615 |
|
2616 |
-
#: src/admin.php:
|
2617 |
msgid "Connecting..."
|
2618 |
msgstr ""
|
2619 |
|
2620 |
-
#: src/admin.php:
|
2621 |
msgid "Disconnect"
|
2622 |
msgstr ""
|
2623 |
|
2624 |
-
#: src/admin.php:
|
2625 |
msgid "Disconnecting..."
|
2626 |
msgstr ""
|
2627 |
|
2628 |
-
#: src/admin.php:
|
2629 |
msgid "Counting..."
|
2630 |
msgstr ""
|
2631 |
|
2632 |
-
#: src/admin.php:
|
2633 |
msgid "Update quota count"
|
2634 |
msgstr ""
|
2635 |
|
2636 |
-
#: src/admin.php:
|
2637 |
msgid "Adding..."
|
2638 |
msgstr ""
|
2639 |
|
2640 |
-
#: src/admin.php:
|
2641 |
msgid "Resetting..."
|
2642 |
msgstr ""
|
2643 |
|
2644 |
-
#: src/admin.php:
|
2645 |
msgid "Creating..."
|
2646 |
msgstr ""
|
2647 |
|
2648 |
-
#: src/admin.php:
|
2649 |
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."
|
2650 |
msgstr ""
|
2651 |
|
2652 |
-
#: src/admin.php:
|
2653 |
msgid "Send to site:"
|
2654 |
msgstr ""
|
2655 |
|
2656 |
-
#: src/admin.php:
|
2657 |
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."
|
2658 |
msgstr ""
|
2659 |
|
2660 |
-
#: src/admin.php:
|
2661 |
msgid "Please give this key a name (e.g. indicate the site it is for):"
|
2662 |
msgstr ""
|
2663 |
|
2664 |
-
#: src/admin.php:
|
2665 |
msgid "key name"
|
2666 |
msgstr ""
|
2667 |
|
2668 |
-
#: src/admin.php:
|
2669 |
msgid "Deleting..."
|
2670 |
msgstr ""
|
2671 |
|
2672 |
-
#: src/admin.php:
|
2673 |
msgid "Please enter a valid URL"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
-
#: src/admin.php:
|
2677 |
msgid "We requested to delete the file, but could not understand the server's response"
|
2678 |
msgstr ""
|
2679 |
|
2680 |
-
#: src/admin.php:
|
2681 |
msgid "Testing connection..."
|
2682 |
msgstr ""
|
2683 |
|
2684 |
-
#: src/admin.php:
|
2685 |
msgid "Send"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
-
#: src/admin.php:
|
2689 |
msgid "With UpdraftPlus Premium, you can directly download individual files from here."
|
2690 |
msgstr ""
|
2691 |
|
2692 |
-
#: src/admin.php:
|
2693 |
msgid "You should save your changes to ensure that they are used for making your backup."
|
2694 |
msgstr ""
|
2695 |
|
2696 |
-
#: src/admin.php:
|
2697 |
msgid "Your export file will be of your displayed settings, not your saved ones."
|
2698 |
msgstr ""
|
2699 |
|
2700 |
-
#: src/admin.php:
|
2701 |
msgid "day"
|
2702 |
msgstr ""
|
2703 |
|
2704 |
-
#: src/admin.php:
|
2705 |
msgid "in the month"
|
2706 |
msgstr ""
|
2707 |
|
2708 |
-
#: src/admin.php:
|
2709 |
msgid "day(s)"
|
2710 |
msgstr ""
|
2711 |
|
2712 |
-
#: src/admin.php:
|
2713 |
msgid "hour(s)"
|
2714 |
msgstr ""
|
2715 |
|
2716 |
-
#: src/admin.php:
|
2717 |
msgid "week(s)"
|
2718 |
msgstr ""
|
2719 |
|
2720 |
-
#: src/admin.php:
|
2721 |
msgid "For backups older than"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
-
#: src/admin.php:
|
2725 |
msgid "Processing..."
|
2726 |
msgstr ""
|
2727 |
|
2728 |
-
#: src/admin.php:
|
2729 |
msgid "Please fill in the required information."
|
2730 |
msgstr ""
|
2731 |
|
2732 |
-
#: src/admin.php:
|
2733 |
msgid "Test %s Settings"
|
2734 |
msgstr ""
|
2735 |
|
2736 |
-
#: src/admin.php:
|
2737 |
msgid "Testing %s Settings..."
|
2738 |
msgstr ""
|
2739 |
|
2740 |
-
#: src/admin.php:
|
2741 |
msgid "%s settings test result:"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
-
#: src/admin.php:
|
2745 |
msgid "Nothing yet logged"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
-
#: src/admin.php:
|
2749 |
msgid "You have not yet selected a file to import."
|
2750 |
msgstr ""
|
2751 |
|
2752 |
-
#: src/admin.php:
|
2753 |
msgid "Error: The chosen file is corrupt. Please choose a valid UpdraftPlus export file."
|
2754 |
msgstr ""
|
2755 |
|
2756 |
-
#: src/admin.php:
|
2757 |
msgid "Importing..."
|
2758 |
msgstr ""
|
2759 |
|
2760 |
-
#: src/admin.php:
|
2761 |
msgid "This will import data from:"
|
2762 |
msgstr ""
|
2763 |
|
2764 |
-
#: src/admin.php:
|
2765 |
msgid "Which was exported on:"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
-
#: src/admin.php:
|
2769 |
msgid "Do you want to carry out the import?"
|
2770 |
msgstr ""
|
2771 |
|
2772 |
-
#: src/admin.php:
|
2773 |
msgid "Complete"
|
2774 |
msgstr ""
|
2775 |
|
2776 |
-
#: src/admin.php:
|
2777 |
msgid "The backup has finished running"
|
2778 |
msgstr ""
|
2779 |
|
2780 |
-
#: src/admin.php:
|
2781 |
msgid "The backup was aborted"
|
2782 |
msgstr ""
|
2783 |
|
2784 |
-
#: src/admin.php:
|
2785 |
msgid "remote files deleted"
|
2786 |
msgstr ""
|
2787 |
|
2788 |
-
#: src/admin.php:
|
2789 |
msgid "HTTP code:"
|
2790 |
msgstr ""
|
2791 |
|
2792 |
-
#: src/admin.php:
|
2793 |
msgid "The file failed to upload. Please check the following:"
|
2794 |
msgstr ""
|
2795 |
|
2796 |
-
#: src/admin.php:
|
2797 |
msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
-
#: src/admin.php:
|
2801 |
msgid "The available memory on the server."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
-
#: src/admin.php:
|
2805 |
msgid "That you are attempting to upload a zip file previously created by UpdraftPlus."
|
2806 |
msgstr ""
|
2807 |
|
2808 |
-
#: src/admin.php:
|
2809 |
msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs."
|
2810 |
msgstr ""
|
2811 |
|
2812 |
-
#: src/admin.php:
|
2813 |
msgid "Browsing zip file"
|
2814 |
msgstr ""
|
2815 |
|
2816 |
-
#: src/admin.php:
|
2817 |
msgid "Select a file to view information about it"
|
2818 |
msgstr ""
|
2819 |
|
2820 |
-
#: src/admin.php:
|
2821 |
msgid "Search"
|
2822 |
msgstr ""
|
2823 |
|
2824 |
-
#: src/admin.php:
|
2825 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
2826 |
msgstr ""
|
2827 |
|
2828 |
-
#: src/admin.php:
|
2829 |
msgid "Loading log file"
|
2830 |
msgstr ""
|
2831 |
|
2832 |
-
#: src/admin.php:
|
2833 |
msgid "Please enter a valid URL e.g http://example.com"
|
2834 |
msgstr ""
|
2835 |
|
2836 |
-
#: src/admin.php:
|
2837 |
msgid "Local backup upload has started; please check the log file to see the upload progress"
|
2838 |
msgstr ""
|
2839 |
|
2840 |
-
#: src/admin.php:
|
2841 |
msgid "You must select at least one remote storage destination to upload this backup set to."
|
2842 |
msgstr ""
|
2843 |
|
2844 |
-
#: src/admin.php:
|
2845 |
msgid "(already uploaded)"
|
2846 |
msgstr ""
|
2847 |
|
2848 |
-
#: src/admin.php:
|
2849 |
msgid "Please specify the Microsoft OneDrive folder name, not the URL."
|
2850 |
msgstr ""
|
2851 |
|
2852 |
-
#: src/admin.php:
|
2853 |
msgid "UpdraftCentral Cloud"
|
2854 |
msgstr ""
|
2855 |
|
2856 |
-
#: src/admin.php:
|
2857 |
msgid "Connected. Requesting UpdraftCentral Key."
|
2858 |
msgstr ""
|
2859 |
|
2860 |
-
#: src/admin.php:
|
2861 |
msgid "Key created. Adding site to UpdraftCentral Cloud."
|
2862 |
msgstr ""
|
2863 |
|
2864 |
-
#: src/admin.php:
|
2865 |
msgid "Login successful."
|
2866 |
msgstr ""
|
2867 |
|
2868 |
-
#: src/admin.php:
|
2869 |
msgid "Please follow this link to open %s in a new window."
|
2870 |
msgstr ""
|
2871 |
|
2872 |
-
#: src/admin.php:
|
2873 |
msgid "Login successful; reloading information."
|
2874 |
msgstr ""
|
2875 |
|
2876 |
-
#: src/admin.php:
|
2877 |
msgid "Registration successful."
|
2878 |
msgstr ""
|
2879 |
|
2880 |
-
#: src/admin.php:
|
2881 |
msgid "Both email and password fields are required."
|
2882 |
msgstr ""
|
2883 |
|
2884 |
-
#: src/admin.php:
|
2885 |
msgid "An email is required and needs to be in a valid format."
|
2886 |
msgstr ""
|
2887 |
|
2888 |
-
#: src/admin.php:
|
2889 |
msgid "Trouble connecting? Try using an alternative method in the advanced security options."
|
2890 |
msgstr ""
|
2891 |
|
2892 |
-
#: src/admin.php:
|
2893 |
msgid "Verifying one-time password..."
|
2894 |
msgstr ""
|
2895 |
|
2896 |
-
#: src/admin.php:
|
2897 |
msgid "Perhaps you would want to login instead."
|
2898 |
msgstr ""
|
2899 |
|
2900 |
-
#: src/admin.php:
|
2901 |
msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud."
|
2902 |
msgstr ""
|
2903 |
|
2904 |
-
#: src/admin.php:
|
2905 |
msgid "Please wait while you are redirected to UpdraftCentral Cloud."
|
2906 |
msgstr ""
|
2907 |
|
2908 |
-
#: src/admin.php:
|
2909 |
msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed."
|
2910 |
msgstr ""
|
2911 |
|
2912 |
-
#: src/admin.php:
|
2913 |
msgid "You can also close this wizard."
|
2914 |
msgstr ""
|
2915 |
|
2916 |
-
#: src/admin.php:
|
2917 |
msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab."
|
2918 |
msgstr ""
|
2919 |
|
2920 |
-
#: src/admin.php:
|
2921 |
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."
|
2922 |
msgstr ""
|
2923 |
|
2924 |
-
#: src/admin.php:
|
2925 |
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."
|
2926 |
msgstr ""
|
2927 |
|
2928 |
-
#: src/admin.php:
|
2929 |
msgid "The preparation of the clone data has been aborted."
|
2930 |
msgstr ""
|
2931 |
|
2932 |
-
#: src/admin.php:
|
2933 |
msgid "Are you sure you want to remove this exclusion rule?"
|
2934 |
msgstr ""
|
2935 |
|
2936 |
-
#: src/admin.php:
|
2937 |
msgid "Please select a file/folder which you would like to exclude"
|
2938 |
msgstr ""
|
2939 |
|
2940 |
-
#: src/admin.php:
|
2941 |
msgid "Please enter a file extension, like zip"
|
2942 |
msgstr ""
|
2943 |
|
2944 |
-
#: src/admin.php:
|
2945 |
msgid "Please enter a valid file extension"
|
2946 |
msgstr ""
|
2947 |
|
2948 |
-
#: src/admin.php:
|
2949 |
msgid "Please enter characters that begin the filename which you would like to exclude"
|
2950 |
msgstr ""
|
2951 |
|
2952 |
-
#: src/admin.php:
|
2953 |
msgid "Please enter a valid file name prefix"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
-
#: src/admin.php:
|
2957 |
msgid "The exclusion rule which you are trying to add already exists"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
-
#: src/admin.php:
|
2961 |
msgid "UpdraftClone key is required."
|
2962 |
msgstr ""
|
2963 |
|
2964 |
-
#: src/admin.php:
|
2965 |
msgid "Include your files in the backup"
|
2966 |
msgstr ""
|
2967 |
|
2968 |
-
#: src/admin.php:
|
2969 |
msgid "File backup options"
|
2970 |
msgstr ""
|
2971 |
|
2972 |
-
#: src/admin.php:
|
2973 |
msgid "Restore error: HTML was detected in the response. You may have a security module on your webserver blocking the restoration operation."
|
2974 |
msgstr ""
|
2975 |
|
2976 |
-
#: src/admin.php:
|
2977 |
msgid "Try UpdraftVault!"
|
2978 |
msgstr ""
|
2979 |
|
2980 |
-
#: src/admin.php:
|
2981 |
msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus."
|
2982 |
msgstr ""
|
2983 |
|
2984 |
-
#: src/admin.php:
|
2985 |
msgid "Find out more here."
|
2986 |
msgstr ""
|
2987 |
|
2988 |
-
#: src/admin.php:
|
2989 |
msgid "Try it - 1 month for $1!"
|
2990 |
msgstr ""
|
2991 |
|
2992 |
-
#: src/admin.php:
|
2993 |
msgid "Add-Ons / Pro Support"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
-
#: src/admin.php:
|
2997 |
msgid "An error occurred when fetching storage module options: "
|
2998 |
msgstr ""
|
2999 |
|
3000 |
-
#: src/admin.php:
|
3001 |
msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)."
|
3002 |
msgstr ""
|
3003 |
|
3004 |
-
#: src/admin.php:
|
3005 |
msgid "Welcome to UpdraftPlus!"
|
3006 |
msgstr ""
|
3007 |
|
3008 |
-
#: src/admin.php:
|
3009 |
msgid "To make a backup, just press the Backup Now button."
|
3010 |
msgstr ""
|
3011 |
|
3012 |
-
#: src/admin.php:
|
3013 |
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."
|
3014 |
msgstr ""
|
3015 |
|
3016 |
-
#: src/admin.php:
|
3017 |
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)"
|
3018 |
msgstr ""
|
3019 |
|
3020 |
-
#: src/admin.php:
|
3021 |
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."
|
3022 |
msgstr ""
|
3023 |
|
3024 |
-
#: src/admin.php:
|
3025 |
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."
|
3026 |
msgstr ""
|
3027 |
|
3028 |
-
#: src/admin.php:
|
3029 |
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."
|
3030 |
msgstr ""
|
3031 |
|
3032 |
-
#: src/admin.php:
|
3033 |
msgid "Your website is hosted using the %s web server."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
-
#: src/admin.php:
|
3037 |
msgid "Please consult this FAQ if you have problems backing up."
|
3038 |
msgstr ""
|
3039 |
|
3040 |
-
#: src/admin.php:
|
3041 |
msgid "Notice"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
-
#: src/admin.php:
|
3045 |
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."
|
3046 |
msgstr ""
|
3047 |
|
3048 |
-
#: src/admin.php:
|
3049 |
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."
|
3050 |
msgstr ""
|
3051 |
|
3052 |
-
#: src/admin.php:
|
3053 |
msgid "Read this page for a guide to possible causes and how to fix it."
|
3054 |
msgstr ""
|
3055 |
|
3056 |
-
#: src/admin.php:
|
3057 |
msgid "UpdraftPlus notice:"
|
3058 |
msgstr ""
|
3059 |
|
3060 |
-
#: src/admin.php:
|
3061 |
msgid "%s has been chosen for remote storage, but you are not currently connected."
|
3062 |
msgstr ""
|
3063 |
|
3064 |
-
#: src/admin.php:
|
3065 |
msgid "Go to the remote storage settings in order to connect."
|
3066 |
msgstr ""
|
3067 |
|
3068 |
-
#: src/admin.php:
|
|
|
|
|
|
|
|
|
3069 |
msgid "Error: invalid path"
|
3070 |
msgstr ""
|
3071 |
|
3072 |
-
#: src/admin.php:
|
3073 |
msgid "Backup set not found"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
-
#: src/admin.php:
|
3077 |
msgid "Did not know how to delete from this cloud service."
|
3078 |
msgstr ""
|
3079 |
|
3080 |
-
#: src/admin.php:
|
3081 |
msgid "Backup sets removed:"
|
3082 |
msgstr ""
|
3083 |
|
3084 |
-
#: src/admin.php:
|
3085 |
msgid "Local files deleted:"
|
3086 |
msgstr ""
|
3087 |
|
3088 |
-
#: src/admin.php:
|
3089 |
msgid "Remote files deleted:"
|
3090 |
msgstr ""
|
3091 |
|
3092 |
-
#: src/admin.php:
|
3093 |
msgid "Job deleted"
|
3094 |
msgstr ""
|
3095 |
|
3096 |
-
#: src/admin.php:
|
3097 |
msgid "Could not find that job - perhaps it has already finished?"
|
3098 |
msgstr ""
|
3099 |
|
3100 |
-
#: src/admin.php:
|
3101 |
msgid "Start backup"
|
3102 |
msgstr ""
|
3103 |
|
3104 |
-
#: src/admin.php:
|
3105 |
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
3106 |
msgstr ""
|
3107 |
|
3108 |
-
#: src/admin.php:
|
3109 |
msgid "The log file could not be read."
|
3110 |
msgstr ""
|
3111 |
|
3112 |
-
#: src/admin.php:
|
3113 |
msgid "Download failed"
|
3114 |
msgstr ""
|
3115 |
|
3116 |
-
#: src/admin.php:
|
3117 |
msgid "Download in progress"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
-
#: src/admin.php:
|
3121 |
msgid "No local copy present."
|
3122 |
msgstr ""
|
3123 |
|
3124 |
-
#: src/admin.php:
|
3125 |
msgid "Backup directory (%s) is not writable, or does not exist."
|
3126 |
msgstr ""
|
3127 |
|
3128 |
-
#: src/admin.php:
|
3129 |
msgid "You will find more information about this in the Settings section."
|
3130 |
msgstr ""
|
3131 |
|
3132 |
-
#: src/admin.php:
|
3133 |
msgid "This file could not be uploaded"
|
3134 |
msgstr ""
|
3135 |
|
3136 |
-
#: src/admin.php:
|
3137 |
msgid "This backup was created by %s, and can be imported."
|
3138 |
msgstr ""
|
3139 |
|
3140 |
-
#: src/admin.php:
|
3141 |
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
3142 |
msgstr ""
|
3143 |
|
3144 |
-
#: src/admin.php:
|
3145 |
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?"
|
3146 |
msgstr ""
|
3147 |
|
3148 |
-
#: src/admin.php:
|
3149 |
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
3150 |
msgstr ""
|
3151 |
|
3152 |
-
#: src/admin.php:
|
3153 |
msgid "Backup directory could not be created"
|
3154 |
msgstr ""
|
3155 |
|
3156 |
-
#: src/admin.php:
|
3157 |
msgid "Backup directory successfully created."
|
3158 |
msgstr ""
|
3159 |
|
3160 |
-
#: src/admin.php:
|
3161 |
msgid "Return to UpdraftPlus configuration"
|
3162 |
msgstr ""
|
3163 |
|
3164 |
-
#: src/admin.php:
|
3165 |
msgid "Warning:"
|
3166 |
msgstr ""
|
3167 |
|
3168 |
-
#: src/admin.php:
|
3169 |
msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site."
|
3170 |
msgstr ""
|
3171 |
|
3172 |
-
#: src/admin.php:
|
3173 |
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."
|
3174 |
msgstr ""
|
3175 |
|
3176 |
-
#: src/admin.php:
|
3177 |
msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work."
|
3178 |
msgstr ""
|
3179 |
|
3180 |
-
#: src/admin.php:
|
3181 |
msgid "To fix this problem go here."
|
3182 |
msgstr ""
|
3183 |
|
3184 |
-
#: src/admin.php:
|
3185 |
msgid "For even more features and personal support, check out "
|
3186 |
msgstr ""
|
3187 |
|
3188 |
-
#: src/admin.php:
|
3189 |
msgid "Your backup has been restored."
|
3190 |
msgstr ""
|
3191 |
|
3192 |
-
#: src/admin.php:
|
3193 |
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)."
|
3194 |
msgstr ""
|
3195 |
|
3196 |
-
#: src/admin.php:
|
3197 |
msgid "Current limit is:"
|
3198 |
msgstr ""
|
3199 |
|
3200 |
-
#: src/admin.php:
|
3201 |
msgid "Backup Contents And Schedule"
|
3202 |
msgstr ""
|
3203 |
|
3204 |
-
#: src/admin.php:
|
3205 |
msgid "Backup / Restore"
|
3206 |
msgstr ""
|
3207 |
|
3208 |
-
#: src/admin.php:
|
3209 |
msgid "Premium / Extensions"
|
3210 |
msgstr ""
|
3211 |
|
3212 |
-
#: src/admin.php:
|
3213 |
msgid "%s minutes, %s seconds"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
-
#: src/admin.php:
|
3217 |
msgid "Unfinished restoration"
|
3218 |
msgstr ""
|
3219 |
|
3220 |
-
#: src/admin.php:
|
3221 |
msgid "You have an unfinished restoration operation, begun %s ago."
|
3222 |
msgstr ""
|
3223 |
|
3224 |
-
#: src/admin.php:
|
3225 |
msgid "Continue restoration"
|
3226 |
msgstr ""
|
3227 |
|
3228 |
-
#: src/admin.php:
|
3229 |
msgid "Dismiss"
|
3230 |
msgstr ""
|
3231 |
|
3232 |
-
#: src/admin.php:
|
3233 |
msgid "Not yet got an account (it's free)? Go get one!"
|
3234 |
msgstr ""
|
3235 |
|
3236 |
-
#: src/admin.php:
|
3237 |
msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here."
|
3238 |
msgstr ""
|
3239 |
|
3240 |
-
#: src/admin.php:
|
3241 |
msgid "Processing"
|
3242 |
msgstr ""
|
3243 |
|
3244 |
-
#: src/admin.php:
|
3245 |
msgid "Connect with your UpdraftPlus.Com account"
|
3246 |
msgstr ""
|
3247 |
|
3248 |
-
#: src/admin.php:
|
3249 |
msgid "Email"
|
3250 |
msgstr ""
|
3251 |
|
3252 |
-
#: src/admin.php:
|
3253 |
msgid "Forgotten your details?"
|
3254 |
msgstr ""
|
3255 |
|
3256 |
-
#: src/admin.php:
|
3257 |
msgid "Ask WordPress to update UpdraftPlus automatically when an update is available"
|
3258 |
msgstr ""
|
3259 |
|
3260 |
-
#: src/admin.php:
|
3261 |
msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites."
|
3262 |
msgstr ""
|
3263 |
|
3264 |
-
#: src/admin.php:
|
3265 |
msgid "Learn more about UpdraftCentral"
|
3266 |
msgstr ""
|
3267 |
|
3268 |
-
#: src/admin.php:
|
3269 |
msgid "One Time Password (check your OTP app to get this password)"
|
3270 |
msgstr ""
|
3271 |
|
3272 |
-
#: src/admin.php:
|
3273 |
msgid "Latest UpdraftPlus.com news:"
|
3274 |
msgstr ""
|
3275 |
|
3276 |
-
#: src/admin.php:
|
3277 |
msgid "Download most recently modified log file"
|
3278 |
msgstr ""
|
3279 |
|
3280 |
-
#: src/admin.php:
|
3281 |
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."
|
3282 |
msgstr ""
|
3283 |
|
3284 |
-
#: src/admin.php:
|
3285 |
msgid "View Log"
|
3286 |
msgstr ""
|
3287 |
|
3288 |
-
#: src/admin.php:
|
3289 |
msgid "Backup begun"
|
3290 |
msgstr ""
|
3291 |
|
3292 |
-
#: src/admin.php:
|
3293 |
msgid "Creating file backup zips"
|
3294 |
msgstr ""
|
3295 |
|
3296 |
-
#: src/admin.php:
|
3297 |
msgid "Created file backup zips"
|
3298 |
msgstr ""
|
3299 |
|
3300 |
-
#: src/admin.php:
|
3301 |
msgid "Clone server being provisioned and booted (can take several minutes)"
|
3302 |
msgstr ""
|
3303 |
|
3304 |
-
#: src/admin.php:
|
3305 |
msgid "Uploading files to remote storage"
|
3306 |
msgstr ""
|
3307 |
|
3308 |
-
#: src/admin.php:
|
3309 |
msgid "Sending files to remote site"
|
3310 |
msgstr ""
|
3311 |
|
3312 |
-
#: src/admin.php:
|
3313 |
msgid "(%s%%, file %s of %s)"
|
3314 |
msgstr ""
|
3315 |
|
3316 |
-
#: src/admin.php:
|
3317 |
msgid "Pruning old backup sets"
|
3318 |
msgstr ""
|
3319 |
|
3320 |
-
#: src/admin.php:
|
3321 |
msgid "Waiting until scheduled time to retry because of errors"
|
3322 |
msgstr ""
|
3323 |
|
3324 |
-
#: src/admin.php:
|
3325 |
msgid "Backup finished"
|
3326 |
msgstr ""
|
3327 |
|
3328 |
-
#: src/admin.php:
|
3329 |
msgid "Created database backup"
|
3330 |
msgstr ""
|
3331 |
|
3332 |
-
#: src/admin.php:
|
3333 |
msgid "Creating database backup"
|
3334 |
msgstr ""
|
3335 |
|
3336 |
-
#: src/admin.php:
|
3337 |
msgid "table: %s"
|
3338 |
msgstr ""
|
3339 |
|
3340 |
-
#: src/admin.php:
|
3341 |
msgid "Encrypting database"
|
3342 |
msgstr ""
|
3343 |
|
3344 |
-
#: src/admin.php:
|
3345 |
msgid "Encrypted database"
|
3346 |
msgstr ""
|
3347 |
|
3348 |
-
#: src/admin.php:
|
3349 |
msgid "Unknown"
|
3350 |
msgstr ""
|
3351 |
|
3352 |
-
#: src/admin.php:
|
3353 |
msgid "next resumption: %d (after %ss)"
|
3354 |
msgstr ""
|
3355 |
|
3356 |
-
#: src/admin.php:
|
3357 |
msgid "last activity: %ss ago"
|
3358 |
msgstr ""
|
3359 |
|
3360 |
-
#: src/admin.php:
|
3361 |
msgid "Job ID: %s"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
-
#: src/admin.php:
|
3365 |
msgid "Warning: %s"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
-
#: src/admin.php:
|
3369 |
msgid "show log"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
-
#: src/admin.php:
|
3373 |
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."
|
3374 |
msgstr ""
|
3375 |
|
3376 |
-
#: src/admin.php:
|
3377 |
msgid "stop"
|
3378 |
msgstr ""
|
3379 |
|
3380 |
-
#: src/admin.php:
|
3381 |
msgid "Remove old directories"
|
3382 |
msgstr ""
|
3383 |
|
3384 |
-
#: src/admin.php:
|
3385 |
msgid "Old directories successfully removed."
|
3386 |
msgstr ""
|
3387 |
|
3388 |
-
#: src/admin.php:
|
3389 |
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
3390 |
msgstr ""
|
3391 |
|
3392 |
-
#: src/admin.php:
|
3393 |
msgid "OK"
|
3394 |
msgstr ""
|
3395 |
|
3396 |
-
#: src/admin.php:
|
3397 |
msgid "The request to the filesystem to create the directory failed."
|
3398 |
msgstr ""
|
3399 |
|
3400 |
-
#: src/admin.php:
|
3401 |
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"
|
3402 |
msgstr ""
|
3403 |
|
3404 |
-
#: src/admin.php:
|
3405 |
msgid "The folder exists, but your webserver does not have permission to write to it."
|
3406 |
msgstr ""
|
3407 |
|
3408 |
-
#: src/admin.php:
|
3409 |
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."
|
3410 |
msgstr ""
|
3411 |
|
3412 |
-
#: src/admin.php:
|
3413 |
msgid "incremental backup; base backup: %s"
|
3414 |
msgstr ""
|
3415 |
|
3416 |
-
#: src/admin.php:
|
3417 |
msgid "No backup has been completed"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
-
#: src/admin.php:
|
3421 |
msgctxt "i.e. Non-automatic"
|
3422 |
msgid "Manual"
|
3423 |
msgstr ""
|
3424 |
|
3425 |
-
#: src/admin.php:
|
3426 |
msgid "Backup directory specified is writable, which is good."
|
3427 |
msgstr ""
|
3428 |
|
3429 |
-
#: src/admin.php:
|
3430 |
msgid "Backup directory specified does <b>not</b> exist."
|
3431 |
msgstr ""
|
3432 |
|
3433 |
-
#: src/admin.php:
|
3434 |
msgid "Backup directory specified exists, but is <b>not</b> writable."
|
3435 |
msgstr ""
|
3436 |
|
3437 |
-
#: src/admin.php:
|
3438 |
msgid "Follow this link to attempt to create the directory and set the permissions"
|
3439 |
msgstr ""
|
3440 |
|
3441 |
-
#: src/admin.php:
|
3442 |
msgid "or, to reset this option"
|
3443 |
msgstr ""
|
3444 |
|
3445 |
-
#: src/admin.php:
|
3446 |
msgid "press here"
|
3447 |
msgstr ""
|
3448 |
|
3449 |
-
#: src/admin.php:
|
3450 |
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."
|
3451 |
msgstr ""
|
3452 |
|
3453 |
-
#: src/admin.php:
|
3454 |
msgid "Your wp-content directory server path: %s"
|
3455 |
msgstr ""
|
3456 |
|
3457 |
-
#: src/admin.php:
|
3458 |
msgid "Any other directories found inside wp-content"
|
3459 |
msgstr ""
|
3460 |
|
3461 |
-
#: src/admin.php:
|
3462 |
msgid "Exclude these from"
|
3463 |
msgstr ""
|
3464 |
|
3465 |
-
#: src/admin.php:
|
3466 |
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)."
|
3467 |
msgstr ""
|
3468 |
|
3469 |
-
#: src/admin.php:
|
3470 |
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."
|
3471 |
msgstr ""
|
3472 |
|
3473 |
-
#: src/admin.php:
|
3474 |
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."
|
3475 |
msgstr ""
|
3476 |
|
3477 |
-
#: src/admin.php:
|
3478 |
msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)."
|
3479 |
msgstr ""
|
3480 |
|
3481 |
-
#: src/admin.php:
|
3482 |
msgid "Total backup size:"
|
3483 |
msgstr ""
|
3484 |
|
3485 |
-
#: src/admin.php:
|
3486 |
msgid "Backup created by unknown source (%s) - cannot be restored."
|
3487 |
msgstr ""
|
3488 |
|
3489 |
-
#: src/admin.php:
|
3490 |
msgid "Press here to download or browse"
|
3491 |
msgstr ""
|
3492 |
|
3493 |
-
#: src/admin.php:
|
3494 |
-
msgid "(%d archive(s) in set)."
|
3495 |
msgstr ""
|
3496 |
|
3497 |
-
#: src/admin.php:
|
3498 |
msgid "You appear to be missing one or more archives from this multi-archive set."
|
3499 |
msgstr ""
|
3500 |
|
3501 |
-
#: src/admin.php:
|
3502 |
msgid "(Not finished)"
|
3503 |
msgstr ""
|
3504 |
|
3505 |
-
#: src/admin.php:
|
3506 |
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."
|
3507 |
msgstr ""
|
3508 |
|
3509 |
-
#: src/admin.php:
|
3510 |
msgid "(backup set imported from remote location)"
|
3511 |
msgstr ""
|
3512 |
|
3513 |
-
#: src/admin.php:
|
3514 |
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
3515 |
msgstr ""
|
3516 |
|
3517 |
-
#: src/admin.php:
|
3518 |
msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations"
|
3519 |
msgstr ""
|
3520 |
|
3521 |
-
#: src/admin.php:
|
3522 |
msgid "Delete this backup set"
|
3523 |
msgstr ""
|
3524 |
|
3525 |
-
#: src/admin.php:
|
3526 |
msgid "Sufficient information about the in-progress restoration operation could not be found."
|
3527 |
msgstr ""
|
3528 |
|
3529 |
-
#: src/admin.php:
|
3530 |
-
msgid "
|
3531 |
msgstr ""
|
3532 |
|
3533 |
-
#: src/admin.php:
|
3534 |
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
3535 |
msgstr ""
|
3536 |
|
3537 |
-
#: src/admin.php:
|
3538 |
msgid "Backup does not exist in the backup history"
|
3539 |
msgstr ""
|
3540 |
|
3541 |
-
#: src/admin.php:
|
3542 |
msgid "ABORT: Could not find the information on which entities to restore."
|
3543 |
msgstr ""
|
3544 |
|
3545 |
-
#: src/admin.php:
|
3546 |
msgid "If making a request for support, please include this information:"
|
3547 |
msgstr ""
|
3548 |
|
3549 |
-
#: src/admin.php:
|
3550 |
msgid "Backup won't be sent to any remote storage - none has been saved in the %s"
|
3551 |
msgstr ""
|
3552 |
|
3553 |
-
#: src/admin.php:
|
3554 |
msgid "settings"
|
3555 |
msgstr ""
|
3556 |
|
3557 |
-
#: src/admin.php:
|
3558 |
msgid "Not got any remote storage?"
|
3559 |
msgstr ""
|
3560 |
|
3561 |
-
#: src/admin.php:
|
3562 |
msgid "Check out UpdraftPlus Vault."
|
3563 |
msgstr ""
|
3564 |
|
3565 |
-
#: src/admin.php:
|
3566 |
msgid "Send this backup to remote storage"
|
3567 |
msgstr ""
|
3568 |
|
3569 |
-
#: src/admin.php:
|
3570 |
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."
|
3571 |
msgstr ""
|
3572 |
|
3573 |
-
#: src/admin.php:
|
3574 |
msgid "This button is disabled because your backup directory is not writable (see the settings)."
|
3575 |
msgstr ""
|
3576 |
|
3577 |
-
#: src/admin.php:
|
3578 |
msgid "Your settings have been saved."
|
3579 |
msgstr ""
|
3580 |
|
3581 |
-
#: src/admin.php:
|
3582 |
msgid "Your settings failed to save. Please refresh the settings page and try again"
|
3583 |
msgstr ""
|
3584 |
|
3585 |
-
#: src/admin.php:
|
3586 |
msgid "authentication error"
|
3587 |
msgstr ""
|
3588 |
|
3589 |
-
#: src/admin.php:
|
3590 |
msgid "Remote storage method and instance id are required for authentication."
|
3591 |
msgstr ""
|
3592 |
|
3593 |
-
#: src/admin.php:
|
3594 |
msgid "Your settings have been wiped."
|
3595 |
msgstr ""
|
3596 |
|
3597 |
-
#: src/admin.php:
|
3598 |
msgid "Known backups (raw)"
|
3599 |
msgstr ""
|
3600 |
|
3601 |
-
#: src/admin.php:
|
3602 |
msgid "Options (raw)"
|
3603 |
msgstr ""
|
3604 |
|
3605 |
-
#: src/admin.php:
|
3606 |
msgid "Value"
|
3607 |
msgstr ""
|
3608 |
|
3609 |
-
#: src/admin.php:
|
3610 |
msgid "The file %s has a \"byte order mark\" (BOM) at its beginning."
|
3611 |
msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning."
|
3612 |
msgstr[0] ""
|
3613 |
msgstr[1] ""
|
3614 |
|
3615 |
-
#: src/admin.php:
|
3616 |
msgid "Follow this link for more information"
|
3617 |
msgstr ""
|
3618 |
|
3619 |
-
#: src/admin.php:
|
3620 |
msgid "%s version:"
|
3621 |
msgstr ""
|
3622 |
|
3623 |
-
#: src/admin.php:
|
3624 |
msgid "Clone region:"
|
3625 |
msgstr ""
|
3626 |
|
3627 |
-
#: src/admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3628 |
msgid "Forbid non-administrators to login to WordPress on your clone"
|
3629 |
msgstr ""
|
3630 |
|
3631 |
-
#: src/admin.php:
|
3632 |
msgid "(current version)"
|
3633 |
msgstr ""
|
3634 |
|
3635 |
-
#: src/admin.php:
|
3636 |
msgid "Your clone has started and will be available at the following URLs once it is ready."
|
3637 |
msgstr ""
|
3638 |
|
3639 |
-
#: src/admin.php:
|
3640 |
msgid "Front page:"
|
3641 |
msgstr ""
|
3642 |
|
3643 |
-
#: src/admin.php:
|
3644 |
msgid "Dashboard:"
|
3645 |
msgstr ""
|
3646 |
|
3647 |
-
#: src/admin.php:
|
3648 |
msgid "You can find your temporary clone information in your updraftplus.com account here."
|
3649 |
msgstr ""
|
3650 |
|
3651 |
-
#: src/admin.php:
|
3652 |
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."
|
3653 |
msgstr ""
|
3654 |
|
3655 |
-
#: src/admin.php:
|
3656 |
msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage."
|
3657 |
msgstr ""
|
3658 |
|
@@ -3664,11 +3676,11 @@ msgstr ""
|
|
3664 |
msgid "Could not create %s zip. Consult the log file for more information."
|
3665 |
msgstr ""
|
3666 |
|
3667 |
-
#: src/backup.php:471, src/backup.php:1994, src/class-updraftplus.php:
|
3668 |
msgid "A PHP exception (%s) has occurred: %s"
|
3669 |
msgstr ""
|
3670 |
|
3671 |
-
#: src/backup.php:477, src/backup.php:2003, src/class-updraftplus.php:
|
3672 |
msgid "A PHP fatal error (%s) has occurred: %s"
|
3673 |
msgstr ""
|
3674 |
|
@@ -3744,7 +3756,7 @@ msgstr ""
|
|
3744 |
msgid "A very large file was encountered: %s (size: %s Mb)"
|
3745 |
msgstr ""
|
3746 |
|
3747 |
-
#: src/backup.php:3289, src/class-updraftplus.php:
|
3748 |
msgid "Your free space in your hosting account is very low - only %s Mb remain"
|
3749 |
msgstr ""
|
3750 |
|
@@ -3956,343 +3968,343 @@ msgstr ""
|
|
3956 |
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."
|
3957 |
msgstr ""
|
3958 |
|
3959 |
-
#: src/class-updraftplus.php:
|
3960 |
msgid "The given file was not found, or could not be read."
|
3961 |
msgstr ""
|
3962 |
|
3963 |
-
#: src/class-updraftplus.php:
|
3964 |
msgid "No log files were found."
|
3965 |
msgstr ""
|
3966 |
|
3967 |
-
#: src/class-updraftplus.php:
|
3968 |
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)"
|
3969 |
msgstr ""
|
3970 |
|
3971 |
-
#: src/class-updraftplus.php:
|
3972 |
msgid "Your free disk space is very low - only %s Mb remain"
|
3973 |
msgstr ""
|
3974 |
|
3975 |
-
#: src/class-updraftplus.php:
|
3976 |
msgid "%s Error: Failed to open local file"
|
3977 |
msgstr ""
|
3978 |
|
3979 |
-
#: src/class-updraftplus.php:
|
3980 |
msgid "%s error - failed to re-assemble chunks"
|
3981 |
msgstr ""
|
3982 |
|
3983 |
-
#: src/class-updraftplus.php:
|
3984 |
msgid "Error opening local file: Failed to download"
|
3985 |
msgstr ""
|
3986 |
|
3987 |
-
#: src/class-updraftplus.php:
|
3988 |
msgid "Error - failed to download the file"
|
3989 |
msgstr ""
|
3990 |
|
3991 |
-
#: src/class-updraftplus.php:
|
3992 |
msgid "files: %s"
|
3993 |
msgstr ""
|
3994 |
|
3995 |
-
#: src/class-updraftplus.php:
|
3996 |
msgid "External database (%s)"
|
3997 |
msgstr ""
|
3998 |
|
3999 |
-
#: src/class-updraftplus.php:
|
4000 |
msgid "Size: %s MB"
|
4001 |
msgstr ""
|
4002 |
|
4003 |
-
#: src/class-updraftplus.php:
|
4004 |
msgid "%s checksum: %s"
|
4005 |
msgstr ""
|
4006 |
|
4007 |
-
#: src/class-updraftplus.php:
|
4008 |
msgid "Plugins"
|
4009 |
msgstr ""
|
4010 |
|
4011 |
-
#: src/class-updraftplus.php:
|
4012 |
msgid "Themes"
|
4013 |
msgstr ""
|
4014 |
|
4015 |
-
#: src/class-updraftplus.php:
|
4016 |
msgid "Others"
|
4017 |
msgstr ""
|
4018 |
|
4019 |
-
#: src/class-updraftplus.php:
|
4020 |
-
msgid "
|
4021 |
msgstr ""
|
4022 |
|
4023 |
-
#: src/class-updraftplus.php:
|
4024 |
-
msgid "
|
4025 |
msgstr ""
|
4026 |
|
4027 |
-
#: src/class-updraftplus.php:
|
4028 |
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
4029 |
msgstr ""
|
4030 |
|
4031 |
-
#: src/class-updraftplus.php:
|
4032 |
msgid "The backup was aborted by the user"
|
4033 |
msgstr ""
|
4034 |
|
4035 |
-
#: src/class-updraftplus.php:
|
4036 |
msgid "The backup apparently succeeded and is now complete"
|
4037 |
msgstr ""
|
4038 |
|
4039 |
-
#: src/class-updraftplus.php:
|
4040 |
msgid "The backup apparently succeeded (with warnings) and is now complete"
|
4041 |
msgstr ""
|
4042 |
|
4043 |
-
#: src/class-updraftplus.php:
|
4044 |
msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set."
|
4045 |
msgstr ""
|
4046 |
|
4047 |
-
#: src/class-updraftplus.php:
|
4048 |
msgid "Your clone will now deploy this data to re-create your site."
|
4049 |
msgstr ""
|
4050 |
|
4051 |
-
#: src/class-updraftplus.php:
|
4052 |
msgid "The backup attempt has finished, apparently unsuccessfully"
|
4053 |
msgstr ""
|
4054 |
|
4055 |
-
#: src/class-updraftplus.php:
|
4056 |
msgid "The backup has not finished; a resumption is scheduled"
|
4057 |
msgstr ""
|
4058 |
|
4059 |
-
#: src/class-updraftplus.php:
|
4060 |
msgid "Full backup"
|
4061 |
msgstr ""
|
4062 |
|
4063 |
-
#: src/class-updraftplus.php:
|
4064 |
msgid "Incremental"
|
4065 |
msgstr ""
|
4066 |
|
4067 |
-
#: src/class-updraftplus.php:
|
4068 |
msgid "Files (database backup has not completed)"
|
4069 |
msgstr ""
|
4070 |
|
4071 |
-
#: src/class-updraftplus.php:
|
4072 |
msgid "Files only (database was not part of this particular schedule)"
|
4073 |
msgstr ""
|
4074 |
|
4075 |
-
#: src/class-updraftplus.php:
|
4076 |
msgid "Database (files backup has not completed)"
|
4077 |
msgstr ""
|
4078 |
|
4079 |
-
#: src/class-updraftplus.php:
|
4080 |
msgid "Database only (files were not part of this particular schedule)"
|
4081 |
msgstr ""
|
4082 |
|
4083 |
-
#: src/class-updraftplus.php:
|
4084 |
msgid "Incomplete"
|
4085 |
msgstr ""
|
4086 |
|
4087 |
-
#: src/class-updraftplus.php:
|
4088 |
msgid "Unknown/unexpected error - please raise a support request"
|
4089 |
msgstr ""
|
4090 |
|
4091 |
-
#: src/class-updraftplus.php:
|
4092 |
msgid "Errors encountered:"
|
4093 |
msgstr ""
|
4094 |
|
4095 |
-
#: src/class-updraftplus.php:
|
4096 |
msgid "Warnings encountered:"
|
4097 |
msgstr ""
|
4098 |
|
4099 |
-
#: src/class-updraftplus.php:
|
4100 |
msgid "Backed up: %s"
|
4101 |
msgstr ""
|
4102 |
|
4103 |
-
#: src/class-updraftplus.php:
|
4104 |
msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news"
|
4105 |
msgstr ""
|
4106 |
|
4107 |
-
#: src/class-updraftplus.php:
|
4108 |
msgid "read more at %s"
|
4109 |
msgstr ""
|
4110 |
|
4111 |
-
#: src/class-updraftplus.php:
|
4112 |
msgid "WordPress backup is complete"
|
4113 |
msgstr ""
|
4114 |
|
4115 |
-
#: src/class-updraftplus.php:
|
4116 |
msgid "Backup contains:"
|
4117 |
msgstr ""
|
4118 |
|
4119 |
-
#: src/class-updraftplus.php:
|
4120 |
msgid "Could not read the directory"
|
4121 |
msgstr ""
|
4122 |
|
4123 |
-
#: src/class-updraftplus.php:
|
4124 |
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
4125 |
msgstr ""
|
4126 |
|
4127 |
-
#: src/class-updraftplus.php:
|
4128 |
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
4129 |
msgstr ""
|
4130 |
|
4131 |
-
#: src/class-updraftplus.php:
|
4132 |
msgid "Decryption failed. The database file is encrypted."
|
4133 |
msgstr ""
|
4134 |
|
4135 |
-
#: src/class-updraftplus.php:
|
4136 |
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
4137 |
msgstr ""
|
4138 |
|
4139 |
-
#: src/class-updraftplus.php:
|
4140 |
msgid "The database is too small to be a valid WordPress database (size: %s Kb)."
|
4141 |
msgstr ""
|
4142 |
|
4143 |
-
#: src/class-updraftplus.php:
|
4144 |
msgid "Failed to open database file."
|
4145 |
msgstr ""
|
4146 |
|
4147 |
-
#: src/class-updraftplus.php:
|
4148 |
msgid "(version: %s)"
|
4149 |
msgstr ""
|
4150 |
|
4151 |
-
#: src/class-updraftplus.php:
|
4152 |
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."
|
4153 |
msgstr ""
|
4154 |
|
4155 |
-
#: src/class-updraftplus.php:
|
4156 |
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."
|
4157 |
msgstr ""
|
4158 |
|
4159 |
-
#: src/class-updraftplus.php:
|
4160 |
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."
|
4161 |
msgstr ""
|
4162 |
|
4163 |
-
#: src/class-updraftplus.php:
|
4164 |
msgid "the migrator add-on"
|
4165 |
msgstr ""
|
4166 |
|
4167 |
-
#: src/class-updraftplus.php:
|
4168 |
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."
|
4169 |
msgstr ""
|
4170 |
|
4171 |
-
#: src/class-updraftplus.php:
|
4172 |
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."
|
4173 |
msgstr ""
|
4174 |
|
4175 |
-
#: src/class-updraftplus.php:
|
4176 |
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"
|
4177 |
msgstr ""
|
4178 |
|
4179 |
-
#: src/class-updraftplus.php:
|
4180 |
msgid "You are using the %s webserver, but do not seem to have the %s module loaded."
|
4181 |
msgstr ""
|
4182 |
|
4183 |
-
#: src/class-updraftplus.php:
|
4184 |
msgid "You should enable %s to make any pretty permalinks (e.g. %s) work"
|
4185 |
msgstr ""
|
4186 |
|
4187 |
-
#: src/class-updraftplus.php:
|
4188 |
msgid "%s version: %s"
|
4189 |
msgstr ""
|
4190 |
|
4191 |
-
#: src/class-updraftplus.php:
|
4192 |
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."
|
4193 |
msgstr ""
|
4194 |
|
4195 |
-
#: src/class-updraftplus.php:
|
4196 |
msgid "The site in this backup was running on a webserver with version %s of %s. "
|
4197 |
msgstr ""
|
4198 |
|
4199 |
-
#: src/class-updraftplus.php:
|
4200 |
msgid "This is significantly newer than the server which you are now restoring onto (version %s)."
|
4201 |
msgstr ""
|
4202 |
|
4203 |
-
#: src/class-updraftplus.php:
|
4204 |
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."
|
4205 |
msgstr ""
|
4206 |
|
4207 |
-
#: src/class-updraftplus.php:
|
4208 |
msgid "Any support requests to do with %s should be raised with your web hosting company."
|
4209 |
msgstr ""
|
4210 |
|
4211 |
-
#: src/class-updraftplus.php:
|
4212 |
msgid "Old table prefix:"
|
4213 |
msgstr ""
|
4214 |
|
4215 |
-
#: src/class-updraftplus.php:
|
4216 |
msgid "Backup label:"
|
4217 |
msgstr ""
|
4218 |
|
4219 |
-
#: src/class-updraftplus.php:
|
4220 |
msgid "You are running on WordPress multisite - but your backup is not of a multisite site."
|
4221 |
msgstr ""
|
4222 |
|
4223 |
-
#: src/class-updraftplus.php:
|
4224 |
msgid "It will be imported as a new site."
|
4225 |
msgstr ""
|
4226 |
|
4227 |
-
#: src/class-updraftplus.php:
|
4228 |
msgid "Please read this link for important information on this process."
|
4229 |
msgstr ""
|
4230 |
|
4231 |
-
#: src/class-updraftplus.php:
|
4232 |
msgid "To import an ordinary WordPress site into a multisite installation requires %s."
|
4233 |
msgstr ""
|
4234 |
|
4235 |
-
#: src/class-updraftplus.php:
|
4236 |
msgid "Your backup is of a WordPress multisite install; but this site is not. Only the first site of the network will be accessible."
|
4237 |
msgstr ""
|
4238 |
|
4239 |
-
#: src/class-updraftplus.php:
|
4240 |
msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite."
|
4241 |
msgstr ""
|
4242 |
|
4243 |
-
#: src/class-updraftplus.php:
|
4244 |
msgid "Site information:"
|
4245 |
msgstr ""
|
4246 |
|
4247 |
-
#: src/class-updraftplus.php:
|
4248 |
msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on."
|
4249 |
msgstr ""
|
4250 |
|
4251 |
-
#: src/class-updraftplus.php:
|
4252 |
msgid "You must upgrade MySQL to be able to use this database."
|
4253 |
msgstr ""
|
4254 |
|
4255 |
-
#: src/class-updraftplus.php:
|
4256 |
msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import."
|
4257 |
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."
|
4258 |
msgstr[0] ""
|
4259 |
msgstr[1] ""
|
4260 |
|
4261 |
-
#: src/class-updraftplus.php:
|
4262 |
msgid "You can choose another suitable character set instead and continue with the restoration at your own risk."
|
4263 |
msgstr ""
|
4264 |
|
4265 |
-
#: src/class-updraftplus.php:
|
4266 |
msgid "Your chosen character set to use instead:"
|
4267 |
msgstr ""
|
4268 |
|
4269 |
-
#: src/class-updraftplus.php:
|
4270 |
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."
|
4271 |
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."
|
4272 |
msgstr[0] ""
|
4273 |
msgstr[1] ""
|
4274 |
|
4275 |
-
#: src/class-updraftplus.php:
|
4276 |
msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)."
|
4277 |
msgstr ""
|
4278 |
|
4279 |
-
#: src/class-updraftplus.php:
|
4280 |
msgid "Your chosen replacement collation"
|
4281 |
msgstr ""
|
4282 |
|
4283 |
-
#: src/class-updraftplus.php:
|
4284 |
msgid "Choose a default for each table"
|
4285 |
msgstr ""
|
4286 |
|
4287 |
-
#: src/class-updraftplus.php:
|
4288 |
msgid "This database backup is missing core WordPress tables: %s"
|
4289 |
msgstr ""
|
4290 |
|
4291 |
-
#: src/class-updraftplus.php:
|
4292 |
msgid "This database backup has the following WordPress tables excluded: %s"
|
4293 |
msgstr ""
|
4294 |
|
4295 |
-
#: src/class-updraftplus.php:
|
4296 |
msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup."
|
4297 |
msgstr ""
|
4298 |
|
@@ -4336,47 +4348,47 @@ msgstr ""
|
|
4336 |
msgid "The creation of your data for creating the clone should now begin. 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."
|
4337 |
msgstr ""
|
4338 |
|
4339 |
-
#: src/includes/class-filesystem-functions.php:
|
4340 |
msgid "refresh"
|
4341 |
msgstr ""
|
4342 |
|
4343 |
-
#: src/includes/class-filesystem-functions.php:
|
4344 |
msgid "calculate"
|
4345 |
msgstr ""
|
4346 |
|
4347 |
-
#: src/includes/class-filesystem-functions.php:
|
4348 |
msgid "This is a count of the contents of your Updraft directory"
|
4349 |
msgstr ""
|
4350 |
|
4351 |
-
#: src/includes/class-filesystem-functions.php:
|
4352 |
msgid "Web-server disk space in use by UpdraftPlus"
|
4353 |
msgstr ""
|
4354 |
|
4355 |
-
#: src/includes/class-filesystem-functions.php:
|
4356 |
msgid "Your web server's PHP installation has these functions disabled: %s."
|
4357 |
msgstr ""
|
4358 |
|
4359 |
-
#: src/includes/class-filesystem-functions.php:
|
4360 |
msgid "Your hosting company must enable these functions before %s can work."
|
4361 |
msgstr ""
|
4362 |
|
4363 |
-
#: src/includes/class-filesystem-functions.php:
|
4364 |
msgid "restoration"
|
4365 |
msgstr ""
|
4366 |
|
4367 |
-
#: src/includes/class-filesystem-functions.php:
|
4368 |
msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver."
|
4369 |
msgstr ""
|
4370 |
|
4371 |
-
#: src/includes/class-filesystem-functions.php:
|
4372 |
msgid "The attempt to undo the double-compression failed."
|
4373 |
msgstr ""
|
4374 |
|
4375 |
-
#: src/includes/class-filesystem-functions.php:
|
4376 |
msgid "The attempt to undo the double-compression succeeded."
|
4377 |
msgstr ""
|
4378 |
|
4379 |
-
#: src/includes/class-filesystem-functions.php:
|
4380 |
msgid "Unzip progress: %d out of %d files"
|
4381 |
msgstr ""
|
4382 |
|
@@ -4624,7 +4636,7 @@ msgstr ""
|
|
4624 |
msgid "Clone of %s"
|
4625 |
msgstr ""
|
4626 |
|
4627 |
-
#: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:715, src/udaddons/updraftplus-addons.php:
|
4628 |
msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)"
|
4629 |
msgstr ""
|
4630 |
|
@@ -5255,7 +5267,7 @@ msgstr ""
|
|
5255 |
msgid "For more options, use the \"%s\" add-on."
|
5256 |
msgstr ""
|
5257 |
|
5258 |
-
#: src/methods/email.php:97, src/templates/wp-admin/settings/form-contents.php:
|
5259 |
msgid "Reporting"
|
5260 |
msgstr ""
|
5261 |
|
@@ -5343,67 +5355,67 @@ msgstr ""
|
|
5343 |
msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again."
|
5344 |
msgstr ""
|
5345 |
|
5346 |
-
#: src/methods/googledrive.php:
|
5347 |
msgid "Google Drive list files: failed to access parent folder"
|
5348 |
msgstr ""
|
5349 |
|
5350 |
-
#: src/methods/googledrive.php:
|
5351 |
msgid "The client has been deleted from the Google Drive API console. Please create a new Google Drive project and reconnect with UpdraftPlus."
|
5352 |
msgstr ""
|
5353 |
|
5354 |
-
#: src/methods/googledrive.php:
|
5355 |
msgid "Failed to upload to %s"
|
5356 |
msgstr ""
|
5357 |
|
5358 |
-
#: src/methods/googledrive.php:
|
5359 |
msgid "failed to access parent folder"
|
5360 |
msgstr ""
|
5361 |
|
5362 |
-
#: src/methods/googledrive.php:
|
5363 |
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes"
|
5364 |
msgstr ""
|
5365 |
|
5366 |
-
#: src/methods/googledrive.php:
|
5367 |
msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)"
|
5368 |
msgstr ""
|
5369 |
|
5370 |
-
#: src/methods/googledrive.php:
|
5371 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
5372 |
msgstr ""
|
5373 |
|
5374 |
-
#: src/methods/googledrive.php:
|
5375 |
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."
|
5376 |
msgstr ""
|
5377 |
|
5378 |
-
#: src/methods/googledrive.php:
|
5379 |
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."
|
5380 |
msgstr ""
|
5381 |
|
5382 |
-
#: src/methods/googledrive.php:
|
5383 |
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
5384 |
msgstr ""
|
5385 |
|
5386 |
-
#: src/methods/googledrive.php:
|
5387 |
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."
|
5388 |
msgstr ""
|
5389 |
|
5390 |
-
#: src/methods/googledrive.php:
|
5391 |
msgid "<strong>This is NOT a folder name</strong>."
|
5392 |
msgstr ""
|
5393 |
|
5394 |
-
#: src/methods/googledrive.php:
|
5395 |
msgid "It is an ID number internal to Google Drive"
|
5396 |
msgstr ""
|
5397 |
|
5398 |
-
#: src/methods/googledrive.php:
|
5399 |
msgid "To be able to set a custom folder name, use UpdraftPlus Premium."
|
5400 |
msgstr ""
|
5401 |
|
5402 |
-
#: src/methods/googledrive.php:
|
5403 |
msgid "Authenticate with Google"
|
5404 |
msgstr ""
|
5405 |
|
5406 |
-
#: src/methods/googledrive.php:
|
5407 |
msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings."
|
5408 |
msgstr ""
|
5409 |
|
@@ -5741,7 +5753,7 @@ msgstr ""
|
|
5741 |
msgid "Refresh current status"
|
5742 |
msgstr ""
|
5743 |
|
5744 |
-
#: src/methods/updraftvault.php:689, src/udaddons/updraftplus-addons.php:
|
5745 |
msgid "You need to supply both an email address and a password"
|
5746 |
msgstr ""
|
5747 |
|
@@ -5749,11 +5761,11 @@ msgstr ""
|
|
5749 |
msgid "You do not currently have any UpdraftPlus Vault quota"
|
5750 |
msgstr ""
|
5751 |
|
5752 |
-
#: src/methods/updraftvault.php:742, src/methods/updraftvault.php:757, src/udaddons/updraftplus-addons.php:
|
5753 |
msgid "UpdraftPlus.Com returned a response, but we could not understand it"
|
5754 |
msgstr ""
|
5755 |
|
5756 |
-
#: src/methods/updraftvault.php:748, src/udaddons/updraftplus-addons.php:
|
5757 |
msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com."
|
5758 |
msgstr ""
|
5759 |
|
@@ -5761,11 +5773,11 @@ msgstr ""
|
|
5761 |
msgid "If you have forgotten your password, then go here to change your password on updraftplus.com."
|
5762 |
msgstr ""
|
5763 |
|
5764 |
-
#: src/methods/updraftvault.php:751, src/udaddons/updraftplus-addons.php:
|
5765 |
msgid "You entered an email address that was not recognised by UpdraftPlus.Com"
|
5766 |
msgstr ""
|
5767 |
|
5768 |
-
#: src/methods/updraftvault.php:754, src/udaddons/updraftplus-addons.php:
|
5769 |
msgid "Your email address and password were not recognised by UpdraftPlus.Com"
|
5770 |
msgstr ""
|
5771 |
|
@@ -5821,262 +5833,262 @@ msgstr ""
|
|
5821 |
msgid "Could not find one of the files for restoration"
|
5822 |
msgstr ""
|
5823 |
|
5824 |
-
#: src/restorer.php:
|
5825 |
msgid "Final checks"
|
5826 |
msgstr ""
|
5827 |
|
5828 |
-
#: src/restorer.php:
|
5829 |
msgid "Error message"
|
5830 |
msgstr ""
|
5831 |
|
5832 |
-
#: src/restorer.php:
|
5833 |
msgid "UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually."
|
5834 |
msgstr ""
|
5835 |
|
5836 |
-
#: src/restorer.php:
|
5837 |
msgid "Backup file not available."
|
5838 |
msgstr ""
|
5839 |
|
5840 |
-
#: src/restorer.php:
|
5841 |
msgid "Copying this entity failed."
|
5842 |
msgstr ""
|
5843 |
|
5844 |
-
#: src/restorer.php:
|
5845 |
msgid "Unpacking backup..."
|
5846 |
msgstr ""
|
5847 |
|
5848 |
-
#: src/restorer.php:
|
5849 |
msgid "Decrypting database (can take a while)..."
|
5850 |
msgstr ""
|
5851 |
|
5852 |
-
#: src/restorer.php:
|
5853 |
msgid "Database successfully decrypted."
|
5854 |
msgstr ""
|
5855 |
|
5856 |
-
#: src/restorer.php:
|
5857 |
msgid "Moving old data out of the way..."
|
5858 |
msgstr ""
|
5859 |
|
5860 |
-
#: src/restorer.php:
|
5861 |
msgid "Moving unpacked backup into place..."
|
5862 |
msgstr ""
|
5863 |
|
5864 |
-
#: src/restorer.php:
|
5865 |
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)..."
|
5866 |
msgstr ""
|
5867 |
|
5868 |
-
#: src/restorer.php:
|
5869 |
msgid "Cleaning up rubbish..."
|
5870 |
msgstr ""
|
5871 |
|
5872 |
-
#: src/restorer.php:
|
5873 |
msgid "Could not move old files out of the way."
|
5874 |
msgstr ""
|
5875 |
|
5876 |
-
#: src/restorer.php:
|
5877 |
msgid "You should check the file ownerships and permissions in your WordPress installation"
|
5878 |
msgstr ""
|
5879 |
|
5880 |
-
#: src/restorer.php:
|
5881 |
msgid "Could not delete old directory."
|
5882 |
msgstr ""
|
5883 |
|
5884 |
-
#: src/restorer.php:
|
5885 |
msgid "Could not move new files into place. Check your wp-content/upgrade folder."
|
5886 |
msgstr ""
|
5887 |
|
5888 |
-
#: src/restorer.php:
|
5889 |
msgid "Could not move the files into place. Check your file permissions."
|
5890 |
msgstr ""
|
5891 |
|
5892 |
-
#: src/restorer.php:
|
5893 |
msgid "Failed to delete working directory after restoring."
|
5894 |
msgstr ""
|
5895 |
|
5896 |
-
#: src/restorer.php:
|
5897 |
msgid "Failed to unpack the archive"
|
5898 |
msgstr ""
|
5899 |
|
5900 |
-
#: src/restorer.php:
|
5901 |
msgid "Failed to read the manifest file from backup."
|
5902 |
msgstr ""
|
5903 |
|
5904 |
-
#: src/restorer.php:
|
5905 |
msgid "Failed to find a manifest file in the backup."
|
5906 |
msgstr ""
|
5907 |
|
5908 |
-
#: src/restorer.php:
|
5909 |
msgid "Failed to read from the working directory."
|
5910 |
msgstr ""
|
5911 |
|
5912 |
-
#: src/restorer.php:
|
5913 |
msgid "Failed to create a temporary directory"
|
5914 |
msgstr ""
|
5915 |
|
5916 |
-
#: src/restorer.php:
|
5917 |
msgid "Failed to write out the decrypted database to the filesystem"
|
5918 |
msgstr ""
|
5919 |
|
5920 |
-
#: src/restorer.php:
|
5921 |
msgid "The directory does not exist, and the attempt to create it failed"
|
5922 |
msgstr ""
|
5923 |
|
5924 |
-
#: src/restorer.php:
|
5925 |
msgid "The directory does not exist"
|
5926 |
msgstr ""
|
5927 |
|
5928 |
-
#: src/restorer.php:
|
5929 |
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
5930 |
msgstr ""
|
5931 |
|
5932 |
-
#: src/restorer.php:
|
5933 |
msgid "wp-config.php from backup: restoring (as per user's request)"
|
5934 |
msgstr ""
|
5935 |
|
5936 |
-
#: src/restorer.php:
|
5937 |
msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)"
|
5938 |
msgstr ""
|
5939 |
|
5940 |
-
#: src/restorer.php:
|
5941 |
msgid "file"
|
5942 |
msgstr ""
|
5943 |
|
5944 |
-
#: src/restorer.php:
|
5945 |
msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete Old Directories\" button to delete them before trying again): %s"
|
5946 |
msgstr ""
|
5947 |
|
5948 |
-
#: src/restorer.php:
|
5949 |
msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup"
|
5950 |
msgstr ""
|
5951 |
|
5952 |
-
#: src/restorer.php:
|
5953 |
msgid "Deferring..."
|
5954 |
msgstr ""
|
5955 |
|
5956 |
-
#: src/restorer.php:
|
5957 |
msgid "The WordPress content folder (wp-content) was not found in this zip file."
|
5958 |
msgstr ""
|
5959 |
|
5960 |
-
#: src/restorer.php:
|
5961 |
msgid "Files found:"
|
5962 |
msgstr ""
|
5963 |
|
5964 |
-
#: src/restorer.php:
|
5965 |
msgid "Please supply the requested information, and then continue."
|
5966 |
msgstr ""
|
5967 |
|
5968 |
-
#: src/restorer.php:
|
5969 |
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."
|
5970 |
msgstr ""
|
5971 |
|
5972 |
-
#: src/restorer.php:
|
5973 |
msgid "Failed to find database file"
|
5974 |
msgstr ""
|
5975 |
|
5976 |
-
#: src/restorer.php:
|
5977 |
msgid "Failed to open database file"
|
5978 |
msgstr ""
|
5979 |
|
5980 |
-
#: src/restorer.php:
|
5981 |
msgid "Your database user does not have permission to drop tables"
|
5982 |
msgstr ""
|
5983 |
|
5984 |
-
#: src/restorer.php:
|
5985 |
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."
|
5986 |
msgstr ""
|
5987 |
|
5988 |
-
#: src/restorer.php:
|
5989 |
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)"
|
5990 |
msgstr ""
|
5991 |
|
5992 |
-
#: src/restorer.php:
|
5993 |
msgid "Backup of: %s"
|
5994 |
msgstr ""
|
5995 |
|
5996 |
-
#: src/restorer.php:
|
5997 |
msgid "Backup created by:"
|
5998 |
msgstr ""
|
5999 |
|
6000 |
-
#: src/restorer.php:
|
6001 |
msgid "Site home:"
|
6002 |
msgstr ""
|
6003 |
|
6004 |
-
#: src/restorer.php:
|
6005 |
msgid "Content URL:"
|
6006 |
msgstr ""
|
6007 |
|
6008 |
-
#: src/restorer.php:
|
6009 |
msgid "Uploads URL:"
|
6010 |
msgstr ""
|
6011 |
|
6012 |
-
#: src/restorer.php:
|
6013 |
msgid "Skipped tables:"
|
6014 |
msgstr ""
|
6015 |
|
6016 |
-
#: src/restorer.php:
|
6017 |
msgid "Split line to avoid exceeding maximum packet size"
|
6018 |
msgstr ""
|
6019 |
|
6020 |
-
#: src/restorer.php:
|
6021 |
msgid "An error occurred on the first %s command - aborting run"
|
6022 |
msgstr ""
|
6023 |
|
6024 |
-
#: src/restorer.php:
|
6025 |
msgid "Requested table engine (%s) is not present - changing to MyISAM."
|
6026 |
msgstr ""
|
6027 |
|
6028 |
-
#: src/restorer.php:
|
6029 |
msgid "Requested table character set (%s) is not present - changing to %s."
|
6030 |
msgstr ""
|
6031 |
|
6032 |
-
#: src/restorer.php:
|
6033 |
msgid "Requested table collation (%1$s) is not present - changing to %2$s."
|
6034 |
msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s."
|
6035 |
msgstr[0] ""
|
6036 |
msgstr[1] ""
|
6037 |
|
6038 |
-
#: src/restorer.php:
|
6039 |
msgid "Processing table (%s)"
|
6040 |
msgstr ""
|
6041 |
|
6042 |
-
#: src/restorer.php:
|
6043 |
msgid "will restore as:"
|
6044 |
msgstr ""
|
6045 |
|
6046 |
-
#: src/restorer.php:
|
6047 |
msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()."
|
6048 |
msgstr ""
|
6049 |
|
6050 |
-
#: src/restorer.php:
|
6051 |
msgid "Requested character set (%s) is not present - changing to %s."
|
6052 |
msgstr ""
|
6053 |
|
6054 |
-
#: src/restorer.php:
|
6055 |
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"
|
6056 |
msgstr ""
|
6057 |
|
6058 |
-
#: src/restorer.php:
|
6059 |
msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred"
|
6060 |
msgid "An error (%s) occurred:"
|
6061 |
msgstr ""
|
6062 |
|
6063 |
-
#: src/restorer.php:
|
6064 |
msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database."
|
6065 |
msgstr ""
|
6066 |
|
6067 |
-
#: src/restorer.php:
|
6068 |
msgid "This database needs to be deployed on MySQL version %s or later."
|
6069 |
msgstr ""
|
6070 |
|
6071 |
-
#: src/restorer.php:
|
6072 |
msgid "To use this backup, your database server needs to support the %s character set."
|
6073 |
msgstr ""
|
6074 |
|
6075 |
-
#: src/restorer.php:
|
6076 |
msgid "Too many database errors have occurred - aborting"
|
6077 |
msgstr ""
|
6078 |
|
6079 |
-
#: src/restorer.php:
|
6080 |
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
6081 |
msgstr ""
|
6082 |
|
@@ -6580,7 +6592,7 @@ msgstr ""
|
|
6580 |
msgid "Files backup schedule"
|
6581 |
msgstr ""
|
6582 |
|
6583 |
-
#: src/templates/wp-admin/settings/form-contents.php:42, src/templates/wp-admin/settings/form-contents.php:
|
6584 |
msgid "and retain this many scheduled backups"
|
6585 |
msgstr ""
|
6586 |
|
@@ -6588,232 +6600,232 @@ msgstr ""
|
|
6588 |
msgid "Database backup schedule"
|
6589 |
msgstr ""
|
6590 |
|
6591 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6592 |
msgid "To fix the time at which a backup should take place,"
|
6593 |
msgstr ""
|
6594 |
|
6595 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6596 |
msgid "e.g. if your server is busy at day and you want to run overnight"
|
6597 |
msgstr ""
|
6598 |
|
6599 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6600 |
msgid "to take incremental backups"
|
6601 |
msgstr ""
|
6602 |
|
6603 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6604 |
msgid "or to configure more complex schedules"
|
6605 |
msgstr ""
|
6606 |
|
6607 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6608 |
msgid "use UpdraftPlus Premium"
|
6609 |
msgstr ""
|
6610 |
|
6611 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6612 |
msgid "Sending Your Backup To Remote Storage"
|
6613 |
msgstr ""
|
6614 |
|
6615 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6616 |
msgid "Choose your remote storage"
|
6617 |
msgstr ""
|
6618 |
|
6619 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6620 |
msgid "(tap on an icon to select or unselect)"
|
6621 |
msgstr ""
|
6622 |
|
6623 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6624 |
msgid "Backup using %s?"
|
6625 |
msgstr ""
|
6626 |
|
6627 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6628 |
msgid "You can send a backup to more than one destination with an add-on."
|
6629 |
msgstr ""
|
6630 |
|
6631 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6632 |
msgid "If you choose no remote storage, then the backups remain on the web-server. This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event."
|
6633 |
msgstr ""
|
6634 |
|
6635 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6636 |
msgid "File Options"
|
6637 |
msgstr ""
|
6638 |
|
6639 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6640 |
msgid "Include in files backup"
|
6641 |
msgstr ""
|
6642 |
|
6643 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6644 |
msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org."
|
6645 |
msgstr ""
|
6646 |
|
6647 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6648 |
msgid "See also the \"More Files\" add-on from our shop."
|
6649 |
msgstr ""
|
6650 |
|
6651 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6652 |
msgid "Database Options"
|
6653 |
msgstr ""
|
6654 |
|
6655 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6656 |
msgid "Database encryption phrase"
|
6657 |
msgstr ""
|
6658 |
|
6659 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6660 |
msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup."
|
6661 |
msgstr ""
|
6662 |
|
6663 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6664 |
msgid "It can also backup external databases."
|
6665 |
msgstr ""
|
6666 |
|
6667 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6668 |
msgid "You can manually decrypt an encrypted database here."
|
6669 |
msgstr ""
|
6670 |
|
6671 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6672 |
msgid "Manually decrypt a database backup file"
|
6673 |
msgstr ""
|
6674 |
|
6675 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6676 |
msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption"
|
6677 |
msgstr ""
|
6678 |
|
6679 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6680 |
msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files"
|
6681 |
msgid "or"
|
6682 |
msgstr ""
|
6683 |
|
6684 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6685 |
msgid "Select Files"
|
6686 |
msgstr ""
|
6687 |
|
6688 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6689 |
msgid "First, enter the decryption key"
|
6690 |
msgstr ""
|
6691 |
|
6692 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6693 |
msgid "Recommended: optimize your database with WP-Optimize."
|
6694 |
msgstr ""
|
6695 |
|
6696 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6697 |
msgid "Backup more databases"
|
6698 |
msgstr ""
|
6699 |
|
6700 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6701 |
msgid "Check this box to have a basic report sent to"
|
6702 |
msgstr ""
|
6703 |
|
6704 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6705 |
msgid "your site's admin address"
|
6706 |
msgstr ""
|
6707 |
|
6708 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6709 |
msgid "For more reporting features, use the Reporting add-on."
|
6710 |
msgstr ""
|
6711 |
|
6712 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6713 |
msgid "Advanced / Debugging Settings"
|
6714 |
msgstr ""
|
6715 |
|
6716 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6717 |
msgid "Expert settings"
|
6718 |
msgstr ""
|
6719 |
|
6720 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6721 |
msgid "Show expert settings"
|
6722 |
msgstr ""
|
6723 |
|
6724 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6725 |
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
6726 |
msgstr ""
|
6727 |
|
6728 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6729 |
msgid "Debug mode"
|
6730 |
msgstr ""
|
6731 |
|
6732 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6733 |
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong."
|
6734 |
msgstr ""
|
6735 |
|
6736 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6737 |
msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these."
|
6738 |
msgstr ""
|
6739 |
|
6740 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6741 |
msgid "Split archives every:"
|
6742 |
msgstr ""
|
6743 |
|
6744 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6745 |
msgid "UpdraftPlus will split up backup archives when they exceed this file size. The default value is %s megabytes. Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)."
|
6746 |
msgstr ""
|
6747 |
|
6748 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6749 |
msgid "The higher the value, the more server resources are required to create the archive."
|
6750 |
msgstr ""
|
6751 |
|
6752 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6753 |
msgid "Delete local backup"
|
6754 |
msgstr ""
|
6755 |
|
6756 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6757 |
msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)."
|
6758 |
msgstr ""
|
6759 |
|
6760 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6761 |
msgid "Backup directory"
|
6762 |
msgstr ""
|
6763 |
|
6764 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6765 |
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. It is relative to your content directory (which by default is called wp-content)."
|
6766 |
msgstr ""
|
6767 |
|
6768 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6769 |
msgid "<b>Do not</b> place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)."
|
6770 |
msgstr ""
|
6771 |
|
6772 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6773 |
msgid "Use the server's SSL certificates"
|
6774 |
msgstr ""
|
6775 |
|
6776 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6777 |
msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker). We keep these up to date. However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help."
|
6778 |
msgstr ""
|
6779 |
|
6780 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6781 |
msgid "Do not verify SSL certificates"
|
6782 |
msgstr ""
|
6783 |
|
6784 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6785 |
msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive). It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication."
|
6786 |
msgstr ""
|
6787 |
|
6788 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6789 |
msgid "Note that not all cloud backup methods are necessarily using SSL authentication."
|
6790 |
msgstr ""
|
6791 |
|
6792 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6793 |
msgid "Disable SSL entirely where possible"
|
6794 |
msgstr ""
|
6795 |
|
6796 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6797 |
msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible. Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect."
|
6798 |
msgstr ""
|
6799 |
|
6800 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6801 |
msgid "See this FAQ also."
|
6802 |
msgstr ""
|
6803 |
|
6804 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6805 |
msgid "Automatic updates"
|
6806 |
msgstr ""
|
6807 |
|
6808 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6809 |
msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update."
|
6810 |
msgstr ""
|
6811 |
|
6812 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6813 |
msgid "Read more about Easy Updates Manager"
|
6814 |
msgstr ""
|
6815 |
|
6816 |
-
#: src/templates/wp-admin/settings/form-contents.php:
|
6817 |
msgid "Save Changes"
|
6818 |
msgstr ""
|
6819 |
|
@@ -7353,7 +7365,7 @@ msgstr ""
|
|
7353 |
msgid "The claim and installation was successful. You can now use your purchase!"
|
7354 |
msgstr ""
|
7355 |
|
7356 |
-
#: src/udaddons/options.php:367, src/udaddons/updraftplus-addons.php:
|
7357 |
msgid "UpdraftPlus Addons"
|
7358 |
msgstr ""
|
7359 |
|
@@ -7437,95 +7449,95 @@ msgstr ""
|
|
7437 |
msgid "Manage Addons"
|
7438 |
msgstr ""
|
7439 |
|
7440 |
-
#: src/udaddons/updraftplus-addons.php:
|
7441 |
msgid "Dismiss from main dashboard (for %s weeks)"
|
7442 |
msgstr ""
|
7443 |
|
7444 |
-
#: src/udaddons/updraftplus-addons.php:
|
7445 |
msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)."
|
7446 |
msgstr ""
|
7447 |
|
7448 |
-
#: src/udaddons/updraftplus-addons.php:
|
7449 |
msgid "It has been tested up to version %s."
|
7450 |
msgstr ""
|
7451 |
|
7452 |
-
#: src/udaddons/updraftplus-addons.php:
|
7453 |
msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility."
|
7454 |
msgstr ""
|
7455 |
|
7456 |
-
#: src/udaddons/updraftplus-addons.php:
|
7457 |
msgid "Your paid access to UpdraftPlus updates for this site has expired. You will no longer receive updates to UpdraftPlus."
|
7458 |
msgstr ""
|
7459 |
|
7460 |
-
#: src/udaddons/updraftplus-addons.php:
|
7461 |
msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
7462 |
msgstr ""
|
7463 |
|
7464 |
-
#: src/udaddons/updraftplus-addons.php:
|
7465 |
msgid "If you have already renewed, then you need to allocate a licence to this site - %s"
|
7466 |
msgstr ""
|
7467 |
|
7468 |
-
#: src/udaddons/updraftplus-addons.php:
|
7469 |
msgid "go here"
|
7470 |
msgstr ""
|
7471 |
|
7472 |
-
#: src/udaddons/updraftplus-addons.php:
|
7473 |
msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired."
|
7474 |
msgstr ""
|
7475 |
|
7476 |
-
#: src/udaddons/updraftplus-addons.php:
|
7477 |
msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire."
|
7478 |
msgstr ""
|
7479 |
|
7480 |
-
#: src/udaddons/updraftplus-addons.php:
|
7481 |
msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
7482 |
msgstr ""
|
7483 |
|
7484 |
-
#: src/udaddons/updraftplus-addons.php:
|
7485 |
msgid "Your paid access to UpdraftPlus updates for this site will soon expire."
|
7486 |
msgstr ""
|
7487 |
|
7488 |
-
#: src/udaddons/updraftplus-addons.php:
|
7489 |
msgid "Your paid access to UpdraftPlus support has expired."
|
7490 |
msgstr ""
|
7491 |
|
7492 |
-
#: src/udaddons/updraftplus-addons.php:
|
7493 |
msgid "To regain your access, please renew."
|
7494 |
msgstr ""
|
7495 |
|
7496 |
-
#: src/udaddons/updraftplus-addons.php:
|
7497 |
msgid "Your paid access to UpdraftPlus support will soon expire."
|
7498 |
msgstr ""
|
7499 |
|
7500 |
-
#: src/udaddons/updraftplus-addons.php:
|
7501 |
msgid "To maintain your access to support, please renew."
|
7502 |
msgstr ""
|
7503 |
|
7504 |
-
#: src/udaddons/updraftplus-addons.php:
|
7505 |
msgid "Errors occurred:"
|
7506 |
msgstr ""
|
7507 |
|
7508 |
-
#: src/udaddons/updraftplus-addons.php:
|
7509 |
msgid "We failed to successfully connect to UpdraftPlus.Com"
|
7510 |
msgstr ""
|
7511 |
|
7512 |
-
#: src/udaddons/updraftplus-addons.php:
|
7513 |
msgid "UpdraftPlus.Com responded, but we did not understand the response"
|
7514 |
msgstr ""
|
7515 |
|
7516 |
-
#: src/udaddons/updraftplus-addons.php:
|
7517 |
msgid "No response data was received. This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com."
|
7518 |
msgstr ""
|
7519 |
|
7520 |
-
#: src/udaddons/updraftplus-addons.php:
|
7521 |
msgid "Go here to re-enter your password."
|
7522 |
msgstr ""
|
7523 |
|
7524 |
-
#: src/udaddons/updraftplus-addons.php:
|
7525 |
msgid "If you have forgotten your password "
|
7526 |
msgstr ""
|
7527 |
|
7528 |
-
#: src/udaddons/updraftplus-addons.php:
|
7529 |
msgid "go here to change your password on updraftplus.com."
|
7530 |
msgstr ""
|
7531 |
|
21 |
msgid "WordPress core (only)"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: src/addons/autobackup.php:139, src/addons/autobackup.php:1070
|
25 |
msgid "UpdraftPlus Automatic Backups"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: src/addons/autobackup.php:157, src/addons/autobackup.php:1050, src/admin.php:866
|
29 |
msgid "Automatic backup before update"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: src/addons/autobackup.php:324
|
33 |
msgid "Automatically backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
34 |
msgstr ""
|
35 |
|
36 |
+
#: src/addons/autobackup.php:326, src/addons/autobackup.php:1109
|
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:327, src/addons/autobackup.php:1114, src/addons/lockadmin.php:160
|
41 |
msgid "Read more about how this works..."
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: src/addons/autobackup.php:366
|
45 |
msgid "Creating %s and database backup with UpdraftPlus..."
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: src/addons/autobackup.php:366, src/addons/autobackup.php:460
|
49 |
msgid "(logs can be found in the UpdraftPlus settings page as normal)..."
|
50 |
msgstr ""
|
51 |
|
52 |
+
#: src/addons/autobackup.php:367, src/addons/autobackup.php:462, src/admin.php:3060, src/admin.php:3066, src/templates/wp-admin/settings/take-backup.php:69
|
53 |
msgid "Last log message"
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: src/addons/autobackup.php:370, src/addons/autobackup.php:467
|
57 |
msgid "Starting automatic backup..."
|
58 |
msgstr ""
|
59 |
|
60 |
+
#: src/addons/autobackup.php:372, src/addons/autobackup.php:464, src/admin.php:817, src/methods/remotesend.php:76, src/methods/remotesend.php:84, src/methods/remotesend.php:250, src/methods/remotesend.php:267, src/methods/remotesend.php:313
|
61 |
msgid "Unexpected response:"
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: src/addons/autobackup.php:419
|
65 |
msgid "plugins"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: src/addons/autobackup.php:426
|
69 |
msgid "themes"
|
70 |
msgstr ""
|
71 |
|
72 |
+
#: src/addons/autobackup.php:460
|
73 |
msgid "Creating database backup with UpdraftPlus..."
|
74 |
msgstr ""
|
75 |
|
76 |
+
#: src/addons/autobackup.php:469, src/addons/autobackup.php:600, src/addons/autobackup.php:651
|
77 |
msgid "Automatic Backup"
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: src/addons/autobackup.php:524
|
81 |
msgid "Creating backup with UpdraftPlus..."
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: src/addons/autobackup.php:553
|
85 |
msgid "Errors have occurred:"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: src/addons/autobackup.php:572, src/addons/autobackup.php:574
|
89 |
msgid "Backup succeeded"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: src/addons/autobackup.php:572, src/addons/autobackup.php:574
|
93 |
msgid "(view log...)"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: src/addons/autobackup.php:572, src/addons/autobackup.php:574
|
97 |
msgid "now proceeding with the updates..."
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: src/addons/autobackup.php:1096, src/admin.php:1004
|
101 |
msgid "Be safe with an automatic backup"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: src/addons/autobackup.php:1104
|
105 |
msgid "Backup (where relevant) plugins, themes and the WordPress database with UpdraftPlus before updating"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: src/addons/autobackup.php:1121
|
109 |
msgid "Do not abort after pressing Proceed below - wait for the backup to complete."
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: src/addons/autobackup.php:1128, src/admin.php:862
|
113 |
msgid "Proceed with update"
|
114 |
msgstr ""
|
115 |
|
117 |
msgid "%s Error"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: src/addons/azure.php:268, src/class-updraftplus.php:4009, src/methods/googledrive.php:1145, src/methods/s3.php:344
|
121 |
msgid "File not found"
|
122 |
msgstr ""
|
123 |
|
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:608, src/addons/migrator.php:948, src/admin.php:1181, src/admin.php:1185, src/admin.php:1189, src/admin.php:1193, src/admin.php:1197, src/admin.php:1206, src/admin.php:3924, src/admin.php:3931, src/admin.php:3933, src/admin.php:5434, src/methods/cloudfiles-new.php:100, src/methods/cloudfiles.php:440, src/methods/ftp.php:335, src/methods/openstack-base.php:571, src/methods/s3.php:865, src/methods/s3.php:869, src/methods/updraftvault.php:324, src/templates/wp-admin/settings/downloading-and-restoring.php:27, src/templates/wp-admin/settings/tab-backups.php:27, src/udaddons/updraftplus-addons.php:268
|
149 |
msgid "Warning"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: src/addons/azure.php:608, src/admin.php:3924, src/methods/updraftvault.php:324
|
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 |
|
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:645, src/addons/google-enhanced.php:77, src/addons/onedrive.php:1182
|
205 |
msgid "If you leave it blank, then the backup will be placed in the root of your %s"
|
206 |
msgstr ""
|
207 |
|
229 |
msgid "Azure China"
|
230 |
msgstr ""
|
231 |
|
232 |
+
#: src/addons/backblaze.php:205, src/admin.php:2175
|
233 |
msgid "Error: unexpected file read fail"
|
234 |
msgstr ""
|
235 |
|
236 |
+
#: src/addons/backblaze.php:225, src/addons/cloudfiles-enhanced.php:117, src/addons/migrator.php:893, src/addons/migrator.php:1190, src/addons/migrator.php:1271, src/addons/migrator.php:1320, src/addons/migrator.php:1558, src/addons/s3-enhanced.php:161, src/addons/s3-enhanced.php:166, src/addons/s3-enhanced.php:168, src/addons/sftp.php:919, src/addons/webdav.php:203, src/admin.php:93, src/admin.php:831, 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:81, src/methods/remotesend.php:264, src/methods/updraftvault.php:560, src/restorer.php:332, src/restorer.php:360, src/restorer.php:2121
|
237 |
msgid "Error:"
|
238 |
msgstr ""
|
239 |
|
449 |
msgid "The time zone used is that from your WordPress settings, in Settings -> General."
|
450 |
msgstr ""
|
451 |
|
452 |
+
#: src/addons/google-enhanced.php:75, src/methods/googledrive.php:219, src/methods/googledrive.php:221, src/methods/googledrive.php:490, src/methods/googledrive.php:526, src/methods/googledrive.php:555, src/methods/googledrive.php:562, src/methods/googledrive.php:572, src/methods/googledrive.php:578, src/methods/googledrive.php:580, src/methods/googledrive.php:1218, src/methods/googledrive.php:1225, src/methods/googledrive.php:1225, src/methods/googledrive.php:1258, src/methods/googledrive.php:1262, src/methods/googledrive.php:1273, src/methods/googledrive.php:1284
|
453 |
msgid "Google Drive"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: src/addons/google-enhanced.php:75, src/methods/googledrive.php:1273, src/methods/googledrive.php:1284
|
457 |
msgid "Folder"
|
458 |
msgstr ""
|
459 |
|
460 |
+
#: src/addons/google-enhanced.php:77, src/addons/onedrive.php:1182
|
461 |
msgid "Enter the path of the %s folder you wish to use here."
|
462 |
msgstr ""
|
463 |
|
464 |
+
#: src/addons/google-enhanced.php:77, src/addons/googlecloud.php:1046, src/addons/onedrive.php:1182
|
465 |
msgid "e.g. %s"
|
466 |
msgstr ""
|
467 |
|
468 |
+
#: src/addons/google-enhanced.php:79
|
469 |
msgid "In %s, path names are case sensitive."
|
470 |
msgstr ""
|
471 |
|
577 |
msgid "Failure: No bucket details were given."
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: src/addons/googlecloud.php:208, src/addons/googlecloud.php:213, src/methods/cloudfiles.php:130, src/methods/googledrive.php:1059, src/methods/googledrive.php:1064
|
581 |
msgid "Error: Failed to open local file"
|
582 |
msgstr ""
|
583 |
|
593 |
msgid "You do not have access to this bucket."
|
594 |
msgstr ""
|
595 |
|
596 |
+
#: src/addons/googlecloud.php:303, src/methods/googledrive.php:1185
|
597 |
msgid "download: failed: file not found"
|
598 |
msgstr ""
|
599 |
|
601 |
msgid "You do not have access to this bucket"
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: src/addons/googlecloud.php:329, 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:149, src/methods/addon-base-v2.php:195, src/methods/addon-base-v2.php:285, src/methods/ftp.php:42, src/methods/googledrive.php:219, src/methods/googledrive.php:221, src/methods/stream-base.php:27, src/methods/stream-base.php:163, src/methods/stream-base.php:169, src/methods/stream-base.php:203, src/methods/stream-base.php:278
|
605 |
msgid "No %s settings were found"
|
606 |
msgstr ""
|
607 |
|
609 |
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)."
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: src/addons/googlecloud.php:443, src/methods/googledrive.php:416
|
613 |
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."
|
614 |
msgstr ""
|
615 |
|
616 |
+
#: src/addons/googlecloud.php:445, src/addons/migrator.php:590, src/admin.php:2358, src/admin.php:2379, src/admin.php:2387, src/class-updraftplus.php:1013, src/class-updraftplus.php:1019, src/class-updraftplus.php:4221, src/class-updraftplus.php:4223, src/class-updraftplus.php:4388, src/class-updraftplus.php:4395, src/class-updraftplus.php:4466, src/methods/googledrive.php:418, src/methods/s3.php:344
|
617 |
msgid "Error: %s"
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: src/addons/googlecloud.php:451, src/methods/googledrive.php:424
|
621 |
msgid "Authorization failed"
|
622 |
msgstr ""
|
623 |
|
624 |
+
#: src/addons/googlecloud.php:514, src/addons/googlecloud.php:515, src/addons/googlecloud.php:873, src/methods/googledrive.php:604, src/methods/googledrive.php:605, src/methods/googledrive.php:615, src/methods/googledrive.php:616
|
625 |
msgid "Account is not authorized."
|
626 |
msgstr ""
|
627 |
|
637 |
msgid "But no %s settings were found. Please complete all fields in %s settings and save the settings."
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: src/addons/googlecloud.php:705, src/addons/onedrive.php:901, src/addons/onedrive.php:912, src/methods/googledrive.php:457, src/methods/googledrive.php:470
|
641 |
msgid "However, subsequent access attempts failed:"
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: src/addons/googlecloud.php:725, src/addons/googlecloud.php:846, src/addons/onedrive.php:933, src/addons/sftp.php:587, src/addons/sftp.php:591, src/addons/wp-cli.php:516, src/methods/addon-base-v2.php:327, src/methods/cloudfiles.php:575, src/methods/googledrive.php:490, src/methods/openstack-base.php:530, src/methods/s3.php:1205, src/methods/stream-base.php:372
|
645 |
msgid "Success"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: src/addons/googlecloud.php:725, src/addons/onedrive.php:933, src/methods/googledrive.php:490
|
649 |
msgid "you have authenticated your %s account."
|
650 |
msgstr ""
|
651 |
|
652 |
+
#: src/addons/googlecloud.php:725, src/methods/googledrive.php:490
|
653 |
msgid "Name: %s."
|
654 |
msgstr ""
|
655 |
|
657 |
msgid "You must save and authenticate before you can test your settings."
|
658 |
msgstr ""
|
659 |
|
660 |
+
#: src/addons/googlecloud.php:783, src/addons/googlecloud.php:817, src/addons/googlecloud.php:823, src/addons/sftp.php:549, src/admin.php:3470, src/admin.php:3506, src/admin.php:3516, src/methods/addon-base-v2.php:313, src/methods/stream-base.php:356
|
661 |
msgid "Failed"
|
662 |
msgstr ""
|
663 |
|
689 |
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."
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: src/addons/googlecloud.php:1002, src/methods/googledrive.php:1230
|
693 |
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
694 |
msgstr ""
|
695 |
|
697 |
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."
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: src/addons/googlecloud.php:1004, src/methods/googledrive.php:1232
|
701 |
msgid "Select 'Web Application' as the application type."
|
702 |
msgstr ""
|
703 |
|
705 |
msgid "You must add the following as the authorized redirect URI (under \"More Options\") when asked"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: src/addons/googlecloud.php:1026, src/addons/onedrive.php:1171, src/methods/googledrive.php:1258
|
709 |
msgid "Client ID"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: src/addons/googlecloud.php:1029, src/methods/googledrive.php:1259
|
713 |
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: src/addons/googlecloud.php:1034, src/addons/onedrive.php:1175, src/methods/googledrive.php:1262
|
717 |
msgid "Client Secret"
|
718 |
msgstr ""
|
719 |
|
733 |
msgid "Otherwise, you can leave it blank."
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: src/addons/googlecloud.php:1041, src/addons/migrator.php:493, src/addons/migrator.php:496, src/addons/migrator.php:499, src/admin.php:1185, src/admin.php:2597, src/backup.php:3296, src/class-updraftplus.php:4487, src/class-updraftplus.php:4487, src/updraftplus.php:157
|
737 |
msgid "Go here for more information."
|
738 |
msgstr ""
|
739 |
|
773 |
msgid "Bucket location"
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: src/addons/googlecloud.php:1081, src/methods/googledrive.php:1303
|
777 |
msgid "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem)."
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: src/addons/googlecloud.php:1115, src/addons/onedrive.php:1242, src/methods/dropbox.php:669, src/methods/googledrive.php:1314
|
781 |
msgid "Account holder's name: %s."
|
782 |
msgstr ""
|
783 |
|
789 |
msgid "Supported backup plugins: %s"
|
790 |
msgstr ""
|
791 |
|
792 |
+
#: src/addons/importer.php:276, src/admin.php:4085, src/includes/class-backup-history.php:499
|
793 |
msgid "Backup created by: %s."
|
794 |
msgstr ""
|
795 |
|
813 |
msgid "No incremental backup of your files is possible, as no suitable existing backup was found to add increments to."
|
814 |
msgstr ""
|
815 |
|
816 |
+
#: src/addons/incremental.php:342, src/addons/reporting.php:261, src/admin.php:4017
|
817 |
msgid "None"
|
818 |
msgstr ""
|
819 |
|
820 |
+
#: src/addons/incremental.php:343, src/admin.php:3726, src/updraftplus.php:99
|
821 |
msgid "Every hour"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: src/addons/incremental.php:344, src/addons/incremental.php:345, src/addons/incremental.php:346, src/addons/incremental.php:347, src/admin.php:3727, src/admin.php:3728, src/admin.php:3729, src/admin.php:3730, src/updraftplus.php:100, src/updraftplus.php:101, src/updraftplus.php:102
|
825 |
msgid "Every %s hours"
|
826 |
msgstr ""
|
827 |
|
828 |
+
#: src/addons/incremental.php:348, src/admin.php:3731
|
829 |
msgid "Daily"
|
830 |
msgstr ""
|
831 |
|
832 |
+
#: src/addons/incremental.php:349, src/admin.php:3732
|
833 |
msgid "Weekly"
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: src/addons/incremental.php:350, src/admin.php:3733
|
837 |
msgid "Fortnightly"
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: src/addons/incremental.php:351, src/admin.php:3734
|
841 |
msgid "Monthly"
|
842 |
msgstr ""
|
843 |
|
869 |
msgid "Please make sure that you have made a note of the password!"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: src/addons/lockadmin.php:171, src/addons/moredatabase.php:241, src/addons/sftp.php:455, src/addons/webdav.php:193, src/admin.php:2953, src/methods/openstack2.php:164, src/methods/updraftvault.php:382, src/templates/wp-admin/settings/updraftcentral-connect.php:50
|
873 |
msgid "Password"
|
874 |
msgstr ""
|
875 |
|
961 |
msgid "After pressing this button, you will be given the option to choose which components you wish to migrate"
|
962 |
msgstr ""
|
963 |
|
964 |
+
#: src/addons/migrator.php:274, src/admin.php:670, src/admin.php:864, src/admin.php:4188
|
965 |
msgid "Restore"
|
966 |
msgstr ""
|
967 |
|
985 |
msgid "Replace with"
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: src/addons/migrator.php:340, src/addons/moredatabase.php:89, src/addons/moredatabase.php:91, src/addons/moredatabase.php:93, src/addons/sftp.php:518, src/addons/sftp.php:522, src/addons/sftp.php:526, src/addons/webdav.php:253, src/admin.php:883, src/includes/class-remote-send.php:542, src/methods/addon-base-v2.php:305, src/methods/cloudfiles-new.php:184, src/methods/cloudfiles-new.php:189, src/methods/cloudfiles.php:519, src/methods/cloudfiles.php:524, src/methods/ftp.php:417, src/methods/ftp.php:421, src/methods/openstack2.php:180, src/methods/openstack2.php:185, src/methods/openstack2.php:190, src/methods/openstack2.php:195, src/methods/s3.php:1139, src/methods/s3.php:1143
|
989 |
msgid "Failure: No %s was given."
|
990 |
msgstr ""
|
991 |
|
1065 |
msgid "Importing a single site into a multisite install"
|
1066 |
msgstr ""
|
1067 |
|
1068 |
+
#: src/addons/migrator.php:504, 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
|
1069 |
msgid "This feature requires %s version %s or later"
|
1070 |
msgstr ""
|
1071 |
|
1187 |
msgid "SQL update commands run:"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: src/addons/migrator.php:1305, src/admin.php:828
|
1191 |
msgid "Errors:"
|
1192 |
msgstr ""
|
1193 |
|
1195 |
msgid "Time taken (seconds):"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#: src/addons/migrator.php:1320, src/restorer.php:3032
|
1199 |
msgid "the database query being run was:"
|
1200 |
msgstr ""
|
1201 |
|
1239 |
msgid "Paste key here"
|
1240 |
msgstr ""
|
1241 |
|
1242 |
+
#: src/addons/migrator.php:1748, src/admin.php:876
|
1243 |
msgid "Add site"
|
1244 |
msgstr ""
|
1245 |
|
1259 |
msgid "Enter your chosen name"
|
1260 |
msgstr ""
|
1261 |
|
1262 |
+
#: src/addons/migrator.php:1761, src/addons/sftp.php:463, src/admin.php:882, src/admin.php:5282, src/templates/wp-admin/settings/temporary-clone.php:63
|
1263 |
msgid "Key"
|
1264 |
msgstr ""
|
1265 |
|
1331 |
msgid "%s total table(s) found; %s with the indicated prefix."
|
1332 |
msgstr ""
|
1333 |
|
1334 |
+
#: src/addons/moredatabase.php:144, src/admin.php:1683
|
1335 |
msgid "Messages:"
|
1336 |
msgstr ""
|
1337 |
|
1375 |
msgid "Username"
|
1376 |
msgstr ""
|
1377 |
|
1378 |
+
#: src/addons/moredatabase.php:242, src/addons/reporting.php:276, src/addons/wp-cli.php:432, src/admin.php:365, src/admin.php:3992, src/admin.php:4045, src/includes/class-remote-send.php:411, src/includes/class-wpadmin-commands.php:157, src/includes/class-wpadmin-commands.php:556, src/restorer.php:468, src/templates/wp-admin/settings/delete-and-restore-modals.php:75, src/templates/wp-admin/settings/delete-and-restore-modals.php:76, src/templates/wp-admin/settings/take-backup.php:34
|
1379 |
msgid "Database"
|
1380 |
msgstr ""
|
1381 |
|
1427 |
msgid "(None configured)"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
+
#: src/addons/morefiles.php:71, src/admin.php:891
|
1431 |
msgctxt "(verb)"
|
1432 |
msgid "Download"
|
1433 |
msgstr ""
|
1512 |
msgid "Go up a directory"
|
1513 |
msgstr ""
|
1514 |
|
1515 |
+
#: src/addons/morefiles.php:311, src/admin.php:857
|
1516 |
msgid "Cancel"
|
1517 |
msgstr ""
|
1518 |
|
1528 |
msgid "Exclude these:"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: src/addons/morefiles.php:476, src/admin.php:3846
|
1532 |
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."
|
1533 |
msgstr ""
|
1534 |
|
1544 |
msgid "(as many as you like)"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
+
#: src/addons/morestorage.php:81, src/admin.php:937
|
1548 |
msgid "Currently enabled"
|
1549 |
msgstr ""
|
1550 |
|
1551 |
+
#: src/addons/morestorage.php:81, src/admin.php:938
|
1552 |
msgid "Currently disabled"
|
1553 |
msgstr ""
|
1554 |
|
1576 |
msgid "Multisite Install"
|
1577 |
msgstr ""
|
1578 |
|
1579 |
+
#: src/addons/multisite.php:502, src/class-updraftplus.php:1808
|
1580 |
msgid "Uploads"
|
1581 |
msgstr ""
|
1582 |
|
1612 |
msgid "%s download: failed: file not found"
|
1613 |
msgstr ""
|
1614 |
|
1615 |
+
#: src/addons/onedrive.php:677, src/udaddons/updraftplus-addons.php:959
|
1616 |
msgid "An error response was received; HTTP code:"
|
1617 |
msgstr ""
|
1618 |
|
1619 |
+
#: src/addons/onedrive.php:690, src/addons/onedrive.php:710, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:713, src/udaddons/updraftplus-addons.php:972, src/udaddons/updraftplus-addons.php:985
|
1620 |
msgid "This most likely means that you share a webserver with a hacked website that has been used in previous attacks."
|
1621 |
msgstr ""
|
1622 |
|
1623 |
+
#: src/addons/onedrive.php:690, src/udaddons/updraftplus-addons.php:972, src/udaddons/updraftplus-addons.php:985
|
1624 |
msgid "To remove any block, please go here."
|
1625 |
msgstr ""
|
1626 |
|
1627 |
+
#: src/addons/onedrive.php:690, src/udaddons/updraftplus-addons.php:972
|
1628 |
msgid "Your IP address:"
|
1629 |
msgstr ""
|
1630 |
|
1631 |
+
#: src/addons/onedrive.php:710, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:713, src/udaddons/updraftplus-addons.php:985
|
1632 |
msgid "UpdraftPlus.com has responded with 'Access Denied'."
|
1633 |
msgstr ""
|
1634 |
|
1635 |
+
#: src/addons/onedrive.php:710, src/includes/updraftplus-login.php:55, src/methods/updraftvault.php:713, src/udaddons/updraftplus-addons.php:985
|
1636 |
msgid "It appears that your web server's IP Address (%s) is blocked."
|
1637 |
msgstr ""
|
1638 |
|
1648 |
msgid "Account is not authorized (%s)."
|
1649 |
msgstr ""
|
1650 |
|
1651 |
+
#: src/addons/onedrive.php:858, src/class-updraftplus.php:546, src/methods/dropbox.php:241, src/methods/dropbox.php:754, src/methods/dropbox.php:776, src/methods/dropbox.php:791, src/methods/dropbox.php:804, src/methods/dropbox.php:947
|
1652 |
msgid "%s error: %s"
|
1653 |
msgstr ""
|
1654 |
|
1656 |
msgid "Authentication"
|
1657 |
msgstr ""
|
1658 |
|
1659 |
+
#: src/addons/onedrive.php:887, src/methods/dropbox.php:845, src/methods/dropbox.php:854, src/methods/googledrive.php:454
|
1660 |
msgid "Your %s quota usage: %s %% used, %s available"
|
1661 |
msgstr ""
|
1662 |
|
1688 |
msgid "Create OneDrive credentials in your OneDrive developer console."
|
1689 |
msgstr ""
|
1690 |
|
1691 |
+
#: src/addons/onedrive.php:1151, src/methods/dropbox.php:587, src/methods/googledrive.php:1239
|
1692 |
msgid "Please read %s for use of our %s authorization app (none of your backup data is sent to us)."
|
1693 |
msgstr ""
|
1694 |
|
1695 |
+
#: src/addons/onedrive.php:1151, src/methods/dropbox.php:587, src/methods/googledrive.php:1239
|
1696 |
msgid "this privacy policy"
|
1697 |
msgstr ""
|
1698 |
|
1700 |
msgid "If OneDrive later shows you the message \"unauthorized_client\", then you did not enter a valid client ID here."
|
1701 |
msgstr ""
|
1702 |
|
1703 |
+
#: src/addons/onedrive.php:1180, src/restorer.php:1251
|
1704 |
msgid "folder"
|
1705 |
msgstr ""
|
1706 |
|
1732 |
msgid "Your label for this backup (optional)"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: src/addons/reporting.php:86, src/addons/reporting.php:197, src/class-updraftplus.php:3317, src/class-updraftplus.php:4304
|
1736 |
msgid "Backup of:"
|
1737 |
msgstr ""
|
1738 |
|
1752 |
msgid "Backup made by %s"
|
1753 |
msgstr ""
|
1754 |
|
1755 |
+
#: src/addons/reporting.php:198, src/class-updraftplus.php:3320
|
1756 |
msgid "Latest status:"
|
1757 |
msgstr ""
|
1758 |
|
1780 |
msgid "Time taken:"
|
1781 |
msgstr ""
|
1782 |
|
1783 |
+
#: src/addons/reporting.php:239, src/admin.php:4005
|
1784 |
msgid "Uploaded to:"
|
1785 |
msgstr ""
|
1786 |
|
1787 |
+
#: src/addons/reporting.php:281, src/class-updraftplus.php:3270
|
1788 |
msgid "The log file has been attached to this email."
|
1789 |
msgstr ""
|
1790 |
|
1816 |
msgid "Log all messages to syslog (only server admins are likely to want this)"
|
1817 |
msgstr ""
|
1818 |
|
1819 |
+
#: src/addons/reporting.php:539, src/admin.php:812
|
1820 |
msgid "To send to more than one address, separate each address with a comma."
|
1821 |
msgstr ""
|
1822 |
|
1823 |
+
#: src/addons/reporting.php:541, src/admin.php:806
|
1824 |
msgid "Send a report only when there are warnings/errors"
|
1825 |
msgstr ""
|
1826 |
|
1828 |
msgid "Be aware that mail servers tend to have size limits; typically around %s MB; backups larger than any limits will likely not arrive."
|
1829 |
msgstr ""
|
1830 |
|
1831 |
+
#: src/addons/reporting.php:543, src/admin.php:807
|
1832 |
msgid "When the Email storage method is enabled, also send the backup"
|
1833 |
msgstr ""
|
1834 |
|
1840 |
msgid "Use this option to only send database backups when sending to email, and skip other components."
|
1841 |
msgstr ""
|
1842 |
|
1843 |
+
#: src/addons/reporting.php:545, src/admin.php:810
|
1844 |
msgid "Only email the database backup"
|
1845 |
msgstr ""
|
1846 |
|
2229 |
msgid "No previous backup found to add an increment to."
|
2230 |
msgstr ""
|
2231 |
|
2232 |
+
#: src/addons/wp-cli.php:110, src/admin.php:815
|
2233 |
msgid "You have chosen to backup a database, but no tables have been selected"
|
2234 |
msgstr ""
|
2235 |
|
2236 |
+
#: src/addons/wp-cli.php:116, src/admin.php:813
|
2237 |
msgid "If you exclude both the database and the files, then you have excluded everything!"
|
2238 |
msgstr ""
|
2239 |
|
2265 |
msgid "Latest full backup found; identifier:"
|
2266 |
msgstr ""
|
2267 |
|
2268 |
+
#: src/addons/wp-cli.php:430, src/admin.php:4039, src/admin.php:4087
|
2269 |
msgid "unknown source"
|
2270 |
msgstr ""
|
2271 |
|
2272 |
+
#: src/addons/wp-cli.php:432, src/admin.php:4045
|
2273 |
msgid "Database (created by %s)"
|
2274 |
msgstr ""
|
2275 |
|
2276 |
+
#: src/addons/wp-cli.php:438, src/admin.php:4047
|
2277 |
msgid "External database"
|
2278 |
msgstr ""
|
2279 |
|
2280 |
+
#: src/addons/wp-cli.php:450, src/admin.php:4091
|
2281 |
msgid "Files and database WordPress backup (created by %s)"
|
2282 |
msgstr ""
|
2283 |
|
2284 |
+
#: src/addons/wp-cli.php:450, src/admin.php:4091
|
2285 |
msgid "Files backup (created by %s)"
|
2286 |
msgstr ""
|
2287 |
|
2288 |
+
#: src/addons/wp-cli.php:519, src/admin.php:832, src/class-updraftplus.php:1325, src/class-updraftplus.php:1369, src/includes/class-filesystem-functions.php:416, src/includes/class-storage-methods-interface.php:324, src/methods/addon-base-v2.php:93, src/methods/addon-base-v2.php:98, src/methods/addon-base-v2.php:205, src/methods/addon-base-v2.php:225, src/methods/googledrive.php:1145, src/methods/remotesend.php:318, src/methods/stream-base.php:219, src/restorer.php:3182, src/restorer.php:3207, src/restorer.php:3288, src/udaddons/options.php:227, src/updraftplus.php:157
|
2289 |
msgid "Error"
|
2290 |
msgstr ""
|
2291 |
|
2305 |
msgid "No valid components found, please select different components or a backup set with components that can be restored."
|
2306 |
msgstr ""
|
2307 |
|
2308 |
+
#: src/addons/wp-cli.php:650, src/admin.php:4697
|
2309 |
msgid "UpdraftPlus Restoration: Progress"
|
2310 |
msgstr ""
|
2311 |
|
2312 |
+
#: src/addons/wp-cli.php:664, src/admin.php:4590
|
2313 |
msgid "Follow this link to download the log file for this restoration (needed for any support requests)."
|
2314 |
msgstr ""
|
2315 |
|
2325 |
msgid "You have given the %1$s option. The %1$s is working with \"%2$s\" addon. Get the \"%2$s\" addon: %3$s"
|
2326 |
msgstr ""
|
2327 |
|
2328 |
+
#: src/addons/wp-cli.php:872, src/includes/class-filesystem-functions.php:82
|
2329 |
msgid "Why am I seeing this?"
|
2330 |
msgstr ""
|
2331 |
|
2341 |
msgid "template not found"
|
2342 |
msgstr ""
|
2343 |
|
2344 |
+
#: src/admin.php:324, src/admin.php:345, src/admin.php:352, src/admin.php:397, src/admin.php:428
|
2345 |
msgid "Nothing currently scheduled"
|
2346 |
msgstr ""
|
2347 |
|
2348 |
+
#: src/admin.php:334
|
2349 |
msgid "At the same time as the files backup"
|
2350 |
msgstr ""
|
2351 |
|
2352 |
+
#: src/admin.php:355, src/admin.php:5251, src/templates/wp-admin/settings/take-backup.php:24
|
2353 |
msgid "Files"
|
2354 |
msgstr ""
|
2355 |
|
2356 |
+
#: src/admin.php:355, src/class-updraftplus.php:3224
|
2357 |
msgid "Files and database"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
+
#: src/admin.php:509
|
2361 |
msgid "UpdraftPlus"
|
2362 |
msgstr ""
|
2363 |
|
2364 |
+
#: src/admin.php:510
|
2365 |
msgid "UpdraftPlus News"
|
2366 |
msgstr ""
|
2367 |
|
2368 |
+
#: src/admin.php:511
|
2369 |
msgid "Dismiss all UpdraftPlus news"
|
2370 |
msgstr ""
|
2371 |
|
2372 |
+
#: src/admin.php:512
|
2373 |
msgid "Are you sure you want to dismiss all UpdraftPlus news forever?"
|
2374 |
msgstr ""
|
2375 |
|
2376 |
+
#: src/admin.php:583
|
2377 |
msgid "You can test upgrading your site on an instant copy using UpdraftClone credits"
|
2378 |
msgstr ""
|
2379 |
|
2380 |
+
#: src/admin.php:583
|
2381 |
msgid "go here to learn more"
|
2382 |
msgstr ""
|
2383 |
|
2384 |
+
#: src/admin.php:583
|
2385 |
msgid "dismiss notice"
|
2386 |
msgstr ""
|
2387 |
|
2388 |
+
#: src/admin.php:595
|
2389 |
msgid "You can test running your site on a different PHP (or WordPress) version using UpdraftClone credits."
|
2390 |
msgstr ""
|
2391 |
|
2392 |
+
#: src/admin.php:595
|
2393 |
msgid "Dismiss notice"
|
2394 |
msgstr ""
|
2395 |
|
2396 |
+
#: src/admin.php:670
|
2397 |
msgid "Backup"
|
2398 |
msgstr ""
|
2399 |
|
2400 |
+
#: src/admin.php:678, src/admin.php:2800
|
2401 |
msgid "Migrate / Clone"
|
2402 |
msgstr ""
|
2403 |
|
2404 |
+
#: src/admin.php:686, src/admin.php:1118, src/admin.php:2801
|
2405 |
msgid "Settings"
|
2406 |
msgstr ""
|
2407 |
|
2408 |
+
#: src/admin.php:694, src/admin.php:2802
|
2409 |
msgid "Advanced Tools"
|
2410 |
msgstr ""
|
2411 |
|
2412 |
+
#: src/admin.php:702
|
2413 |
msgid "Extensions"
|
2414 |
msgstr ""
|
2415 |
|
2416 |
+
#: src/admin.php:808
|
2417 |
msgid "Be aware that mail servers tend to have size limits; typically around %s Mb; backups larger than any limits will likely not arrive."
|
2418 |
msgstr ""
|
2419 |
|
2420 |
+
#: src/admin.php:809
|
2421 |
msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..."
|
2422 |
msgstr ""
|
2423 |
|
2424 |
+
#: src/admin.php:811
|
2425 |
msgid "Rescanning remote and local storage for backup sets..."
|
2426 |
msgstr ""
|
2427 |
|
2428 |
+
#: src/admin.php:814
|
2429 |
msgid "You have chosen to backup files, but no file entities have been selected"
|
2430 |
msgstr ""
|
2431 |
|
2432 |
+
#: src/admin.php:816
|
2433 |
msgid "The restore operation has begun. Do not press stop or close your browser until it reports itself as having finished."
|
2434 |
msgstr ""
|
2435 |
|
2436 |
+
#: src/admin.php:818
|
2437 |
msgid "The web server returned an error code (try again, or check your web server logs)"
|
2438 |
msgstr ""
|
2439 |
|
2440 |
+
#: src/admin.php:819
|
2441 |
msgid "The new user's RackSpace console password is (this will not be shown again):"
|
2442 |
msgstr ""
|
2443 |
|
2444 |
+
#: src/admin.php:820
|
2445 |
msgid "Trying..."
|
2446 |
msgstr ""
|
2447 |
|
2448 |
+
#: src/admin.php:821
|
2449 |
msgid "Fetching..."
|
2450 |
msgstr ""
|
2451 |
|
2452 |
+
#: src/admin.php:822
|
2453 |
msgid "calculating..."
|
2454 |
msgstr ""
|
2455 |
|
2456 |
+
#: src/admin.php:823
|
2457 |
msgid "Begun looking for this entity"
|
2458 |
msgstr ""
|
2459 |
|
2460 |
+
#: src/admin.php:824
|
2461 |
msgid "Some files are still downloading or being processed - please wait."
|
2462 |
msgstr ""
|
2463 |
|
2464 |
+
#: src/admin.php:825
|
2465 |
msgid "Processing files - please wait..."
|
2466 |
msgstr ""
|
2467 |
|
2468 |
+
#: src/admin.php:826
|
2469 |
msgid "Error: the server sent an empty response."
|
2470 |
msgstr ""
|
2471 |
|
2472 |
+
#: src/admin.php:827
|
2473 |
msgid "Warnings:"
|
2474 |
msgstr ""
|
2475 |
|
2476 |
+
#: src/admin.php:829
|
2477 |
msgid "Error: the server sent us a response which we did not understand."
|
2478 |
msgstr ""
|
2479 |
|
2480 |
+
#: src/admin.php:830, src/restorer.php:180
|
2481 |
msgid "Error data:"
|
2482 |
msgstr ""
|
2483 |
|
2484 |
+
#: src/admin.php:833, src/admin.php:1959, src/includes/deprecated-actions.php:29, 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
|
2485 |
msgid "Existing Backups"
|
2486 |
msgstr ""
|
2487 |
|
2488 |
+
#: src/admin.php:834, src/admin.php:2253
|
2489 |
msgid "File ready."
|
2490 |
msgstr ""
|
2491 |
|
2492 |
+
#: src/admin.php:835, src/admin.php:2580, src/admin.php:3439, src/admin.php:4549, src/admin.php:4559, src/admin.php:4568, src/templates/wp-admin/settings/existing-backups-table.php:19, src/templates/wp-admin/settings/existing-backups-table.php:137
|
2493 |
msgid "Actions"
|
2494 |
msgstr ""
|
2495 |
|
2496 |
+
#: src/admin.php:836
|
2497 |
msgid "Delete from your web server"
|
2498 |
msgstr ""
|
2499 |
|
2500 |
+
#: src/admin.php:837
|
2501 |
msgid "Download to your computer"
|
2502 |
msgstr ""
|
2503 |
|
2504 |
+
#: src/admin.php:838
|
2505 |
msgid "Browse contents"
|
2506 |
msgstr ""
|
2507 |
|
2508 |
+
#: src/admin.php:839
|
2509 |
msgid "Download error: the server sent us a response which we did not understand."
|
2510 |
msgstr ""
|
2511 |
|
2512 |
+
#: src/admin.php:840
|
2513 |
msgid "Requesting start of backup..."
|
2514 |
msgstr ""
|
2515 |
|
2516 |
+
#: src/admin.php:841
|
2517 |
msgid "PHP information"
|
2518 |
msgstr ""
|
2519 |
|
2520 |
+
#: src/admin.php:842, src/admin.php:3153
|
2521 |
msgid "Delete Old Directories"
|
2522 |
msgstr ""
|
2523 |
|
2524 |
+
#: src/admin.php:843
|
2525 |
msgid "Raw backup history"
|
2526 |
msgstr ""
|
2527 |
|
2528 |
+
#: src/admin.php:844, src/admin.php:845, src/includes/class-backup-history.php:506
|
2529 |
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))."
|
2530 |
msgstr ""
|
2531 |
|
2532 |
+
#: src/admin.php:844
|
2533 |
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."
|
2534 |
msgstr ""
|
2535 |
|
2536 |
+
#: src/admin.php:845, src/includes/class-backup-history.php:506
|
2537 |
msgid "If this is a backup created by a different backup plugin, then UpdraftPlus Premium may be able to help you."
|
2538 |
msgstr ""
|
2539 |
|
2540 |
+
#: src/admin.php:846
|
2541 |
msgid "(make sure that you were trying to upload a zip file previously created by UpdraftPlus)"
|
2542 |
msgstr ""
|
2543 |
|
2544 |
+
#: src/admin.php:847
|
2545 |
msgid "Upload error:"
|
2546 |
msgstr ""
|
2547 |
|
2548 |
+
#: src/admin.php:848
|
2549 |
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)."
|
2550 |
msgstr ""
|
2551 |
|
2552 |
+
#: src/admin.php:849
|
2553 |
msgid "Upload error"
|
2554 |
msgstr ""
|
2555 |
|
2556 |
+
#: src/admin.php:850
|
2557 |
msgid "Follow this link to attempt decryption and download the database file to your computer."
|
2558 |
msgstr ""
|
2559 |
|
2560 |
+
#: src/admin.php:851
|
2561 |
msgid "This decryption key will be attempted:"
|
2562 |
msgstr ""
|
2563 |
|
2564 |
+
#: src/admin.php:852
|
2565 |
msgid "Unknown server response:"
|
2566 |
msgstr ""
|
2567 |
|
2568 |
+
#: src/admin.php:853
|
2569 |
msgid "Unknown server response status:"
|
2570 |
msgstr ""
|
2571 |
|
2572 |
+
#: src/admin.php:854
|
2573 |
msgid "The file was uploaded."
|
2574 |
msgstr ""
|
2575 |
|
2576 |
+
#: src/admin.php:856, src/templates/wp-admin/settings/take-backup.php:51
|
2577 |
msgid "Backup Now"
|
2578 |
msgstr ""
|
2579 |
|
2580 |
+
#: src/admin.php:858, src/admin.php:3467, src/admin.php:3501, src/admin.php:4273, src/includes/class-remote-send.php:646, src/templates/wp-admin/settings/existing-backups-table.php:153, src/templates/wp-admin/settings/file-backup-exclude.php:11
|
2581 |
msgid "Delete"
|
2582 |
msgstr ""
|
2583 |
|
2584 |
+
#: src/admin.php:859, src/central/bootstrap.php:565
|
2585 |
msgid "Create"
|
2586 |
msgstr ""
|
2587 |
|
2588 |
+
#: src/admin.php:860, src/admin.php:4253
|
2589 |
msgid "Upload"
|
2590 |
msgstr ""
|
2591 |
|
2592 |
+
#: src/admin.php:861
|
2593 |
msgid "You did not select any components to restore. Please select at least one, and then try again."
|
2594 |
msgstr ""
|
2595 |
|
2596 |
+
#: src/admin.php:863, src/includes/updraftplus-tour.php:96
|
2597 |
msgid "Close"
|
2598 |
msgstr ""
|
2599 |
|
2600 |
+
#: src/admin.php:865, src/admin.php:3705
|
2601 |
msgid "Download log file"
|
2602 |
msgstr ""
|
2603 |
|
2604 |
+
#: src/admin.php:867, src/admin.php:893, src/admin.php:894
|
2605 |
msgid "You have made changes to your settings, and not saved."
|
2606 |
msgstr ""
|
2607 |
|
2608 |
+
#: src/admin.php:868
|
2609 |
msgid "Saving..."
|
2610 |
msgstr ""
|
2611 |
|
2612 |
+
#: src/admin.php:869, src/admin.php:2884, src/methods/updraftvault.php:337, src/methods/updraftvault.php:383, src/templates/wp-admin/settings/temporary-clone.php:82
|
2613 |
msgid "Connect"
|
2614 |
msgstr ""
|
2615 |
|
2616 |
+
#: src/admin.php:870
|
2617 |
msgid "Connecting..."
|
2618 |
msgstr ""
|
2619 |
|
2620 |
+
#: src/admin.php:871, src/methods/updraftvault.php:413, src/methods/updraftvault.php:483
|
2621 |
msgid "Disconnect"
|
2622 |
msgstr ""
|
2623 |
|
2624 |
+
#: src/admin.php:872
|
2625 |
msgid "Disconnecting..."
|
2626 |
msgstr ""
|
2627 |
|
2628 |
+
#: src/admin.php:873
|
2629 |
msgid "Counting..."
|
2630 |
msgstr ""
|
2631 |
|
2632 |
+
#: src/admin.php:874
|
2633 |
msgid "Update quota count"
|
2634 |
msgstr ""
|
2635 |
|
2636 |
+
#: src/admin.php:875
|
2637 |
msgid "Adding..."
|
2638 |
msgstr ""
|
2639 |
|
2640 |
+
#: src/admin.php:877
|
2641 |
msgid "Resetting..."
|
2642 |
msgstr ""
|
2643 |
|
2644 |
+
#: src/admin.php:878
|
2645 |
msgid "Creating..."
|
2646 |
msgstr ""
|
2647 |
|
2648 |
+
#: src/admin.php:878
|
2649 |
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."
|
2650 |
msgstr ""
|
2651 |
|
2652 |
+
#: src/admin.php:879, src/includes/class-remote-send.php:616
|
2653 |
msgid "Send to site:"
|
2654 |
msgstr ""
|
2655 |
|
2656 |
+
#: src/admin.php:880, src/includes/class-remote-send.php:377
|
2657 |
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."
|
2658 |
msgstr ""
|
2659 |
|
2660 |
+
#: src/admin.php:881
|
2661 |
msgid "Please give this key a name (e.g. indicate the site it is for):"
|
2662 |
msgstr ""
|
2663 |
|
2664 |
+
#: src/admin.php:883
|
2665 |
msgid "key name"
|
2666 |
msgstr ""
|
2667 |
|
2668 |
+
#: src/admin.php:884, src/templates/wp-admin/settings/existing-backups-table.php:159
|
2669 |
msgid "Deleting..."
|
2670 |
msgstr ""
|
2671 |
|
2672 |
+
#: src/admin.php:885
|
2673 |
msgid "Please enter a valid URL"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
+
#: src/admin.php:886
|
2677 |
msgid "We requested to delete the file, but could not understand the server's response"
|
2678 |
msgstr ""
|
2679 |
|
2680 |
+
#: src/admin.php:887, src/includes/class-remote-send.php:407
|
2681 |
msgid "Testing connection..."
|
2682 |
msgstr ""
|
2683 |
|
2684 |
+
#: src/admin.php:888, src/includes/class-remote-send.php:438, src/includes/class-remote-send.php:622
|
2685 |
msgid "Send"
|
2686 |
msgstr ""
|
2687 |
|
2688 |
+
#: src/admin.php:892
|
2689 |
msgid "With UpdraftPlus Premium, you can directly download individual files from here."
|
2690 |
msgstr ""
|
2691 |
|
2692 |
+
#: src/admin.php:893
|
2693 |
msgid "You should save your changes to ensure that they are used for making your backup."
|
2694 |
msgstr ""
|
2695 |
|
2696 |
+
#: src/admin.php:894
|
2697 |
msgid "Your export file will be of your displayed settings, not your saved ones."
|
2698 |
msgstr ""
|
2699 |
|
2700 |
+
#: src/admin.php:897
|
2701 |
msgid "day"
|
2702 |
msgstr ""
|
2703 |
|
2704 |
+
#: src/admin.php:898
|
2705 |
msgid "in the month"
|
2706 |
msgstr ""
|
2707 |
|
2708 |
+
#: src/admin.php:899
|
2709 |
msgid "day(s)"
|
2710 |
msgstr ""
|
2711 |
|
2712 |
+
#: src/admin.php:900
|
2713 |
msgid "hour(s)"
|
2714 |
msgstr ""
|
2715 |
|
2716 |
+
#: src/admin.php:901
|
2717 |
msgid "week(s)"
|
2718 |
msgstr ""
|
2719 |
|
2720 |
+
#: src/admin.php:902
|
2721 |
msgid "For backups older than"
|
2722 |
msgstr ""
|
2723 |
|
2724 |
+
#: src/admin.php:904
|
2725 |
msgid "Processing..."
|
2726 |
msgstr ""
|
2727 |
|
2728 |
+
#: src/admin.php:905
|
2729 |
msgid "Please fill in the required information."
|
2730 |
msgstr ""
|
2731 |
|
2732 |
+
#: src/admin.php:906, src/methods/backup-module.php:317
|
2733 |
msgid "Test %s Settings"
|
2734 |
msgstr ""
|
2735 |
|
2736 |
+
#: src/admin.php:907
|
2737 |
msgid "Testing %s Settings..."
|
2738 |
msgstr ""
|
2739 |
|
2740 |
+
#: src/admin.php:908
|
2741 |
msgid "%s settings test result:"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
+
#: src/admin.php:909
|
2745 |
msgid "Nothing yet logged"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
+
#: src/admin.php:910
|
2749 |
msgid "You have not yet selected a file to import."
|
2750 |
msgstr ""
|
2751 |
|
2752 |
+
#: src/admin.php:911
|
2753 |
msgid "Error: The chosen file is corrupt. Please choose a valid UpdraftPlus export file."
|
2754 |
msgstr ""
|
2755 |
|
2756 |
+
#: src/admin.php:914
|
2757 |
msgid "Importing..."
|
2758 |
msgstr ""
|
2759 |
|
2760 |
+
#: src/admin.php:915
|
2761 |
msgid "This will import data from:"
|
2762 |
msgstr ""
|
2763 |
|
2764 |
+
#: src/admin.php:916
|
2765 |
msgid "Which was exported on:"
|
2766 |
msgstr ""
|
2767 |
|
2768 |
+
#: src/admin.php:917
|
2769 |
msgid "Do you want to carry out the import?"
|
2770 |
msgstr ""
|
2771 |
|
2772 |
+
#: src/admin.php:918
|
2773 |
msgid "Complete"
|
2774 |
msgstr ""
|
2775 |
|
2776 |
+
#: src/admin.php:919, src/admin.php:3212
|
2777 |
msgid "The backup has finished running"
|
2778 |
msgstr ""
|
2779 |
|
2780 |
+
#: src/admin.php:920
|
2781 |
msgid "The backup was aborted"
|
2782 |
msgstr ""
|
2783 |
|
2784 |
+
#: src/admin.php:922
|
2785 |
msgid "remote files deleted"
|
2786 |
msgstr ""
|
2787 |
|
2788 |
+
#: src/admin.php:923
|
2789 |
msgid "HTTP code:"
|
2790 |
msgstr ""
|
2791 |
|
2792 |
+
#: src/admin.php:924
|
2793 |
msgid "The file failed to upload. Please check the following:"
|
2794 |
msgstr ""
|
2795 |
|
2796 |
+
#: src/admin.php:924
|
2797 |
msgid "Any settings in your .htaccess or web.config file that affects the maximum upload or post size."
|
2798 |
msgstr ""
|
2799 |
|
2800 |
+
#: src/admin.php:924
|
2801 |
msgid "The available memory on the server."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
+
#: src/admin.php:924
|
2805 |
msgid "That you are attempting to upload a zip file previously created by UpdraftPlus."
|
2806 |
msgstr ""
|
2807 |
|
2808 |
+
#: src/admin.php:924
|
2809 |
msgid "Further information may be found in the browser JavaScript console, and the server PHP error logs."
|
2810 |
msgstr ""
|
2811 |
|
2812 |
+
#: src/admin.php:925
|
2813 |
msgid "Browsing zip file"
|
2814 |
msgstr ""
|
2815 |
|
2816 |
+
#: src/admin.php:926
|
2817 |
msgid "Select a file to view information about it"
|
2818 |
msgstr ""
|
2819 |
|
2820 |
+
#: src/admin.php:927
|
2821 |
msgid "Search"
|
2822 |
msgstr ""
|
2823 |
|
2824 |
+
#: src/admin.php:928
|
2825 |
msgid "Unable to download file. This could be caused by a timeout. It would be best to download the zip to your computer."
|
2826 |
msgstr ""
|
2827 |
|
2828 |
+
#: src/admin.php:929
|
2829 |
msgid "Loading log file"
|
2830 |
msgstr ""
|
2831 |
|
2832 |
+
#: src/admin.php:932
|
2833 |
msgid "Please enter a valid URL e.g http://example.com"
|
2834 |
msgstr ""
|
2835 |
|
2836 |
+
#: src/admin.php:939
|
2837 |
msgid "Local backup upload has started; please check the log file to see the upload progress"
|
2838 |
msgstr ""
|
2839 |
|
2840 |
+
#: src/admin.php:940
|
2841 |
msgid "You must select at least one remote storage destination to upload this backup set to."
|
2842 |
msgstr ""
|
2843 |
|
2844 |
+
#: src/admin.php:941
|
2845 |
msgid "(already uploaded)"
|
2846 |
msgstr ""
|
2847 |
|
2848 |
+
#: src/admin.php:942
|
2849 |
msgid "Please specify the Microsoft OneDrive folder name, not the URL."
|
2850 |
msgstr ""
|
2851 |
|
2852 |
+
#: src/admin.php:943, src/templates/wp-admin/settings/updraftcentral-connect.php:9
|
2853 |
msgid "UpdraftCentral Cloud"
|
2854 |
msgstr ""
|
2855 |
|
2856 |
+
#: src/admin.php:944
|
2857 |
msgid "Connected. Requesting UpdraftCentral Key."
|
2858 |
msgstr ""
|
2859 |
|
2860 |
+
#: src/admin.php:945
|
2861 |
msgid "Key created. Adding site to UpdraftCentral Cloud."
|
2862 |
msgstr ""
|
2863 |
|
2864 |
+
#: src/admin.php:946
|
2865 |
msgid "Login successful."
|
2866 |
msgstr ""
|
2867 |
|
2868 |
+
#: src/admin.php:946, src/admin.php:948
|
2869 |
msgid "Please follow this link to open %s in a new window."
|
2870 |
msgstr ""
|
2871 |
|
2872 |
+
#: src/admin.php:947
|
2873 |
msgid "Login successful; reloading information."
|
2874 |
msgstr ""
|
2875 |
|
2876 |
+
#: src/admin.php:948
|
2877 |
msgid "Registration successful."
|
2878 |
msgstr ""
|
2879 |
|
2880 |
+
#: src/admin.php:949
|
2881 |
msgid "Both email and password fields are required."
|
2882 |
msgstr ""
|
2883 |
|
2884 |
+
#: src/admin.php:950
|
2885 |
msgid "An email is required and needs to be in a valid format."
|
2886 |
msgstr ""
|
2887 |
|
2888 |
+
#: src/admin.php:951
|
2889 |
msgid "Trouble connecting? Try using an alternative method in the advanced security options."
|
2890 |
msgstr ""
|
2891 |
|
2892 |
+
#: src/admin.php:952
|
2893 |
msgid "Verifying one-time password..."
|
2894 |
msgstr ""
|
2895 |
|
2896 |
+
#: src/admin.php:953
|
2897 |
msgid "Perhaps you would want to login instead."
|
2898 |
msgstr ""
|
2899 |
|
2900 |
+
#: src/admin.php:954
|
2901 |
msgid "Please wait while the system generates and registers an encryption key for your website with UpdraftCentral Cloud."
|
2902 |
msgstr ""
|
2903 |
|
2904 |
+
#: src/admin.php:955
|
2905 |
msgid "Please wait while you are redirected to UpdraftCentral Cloud."
|
2906 |
msgstr ""
|
2907 |
|
2908 |
+
#: src/admin.php:956
|
2909 |
msgid "You need to read and accept the UpdraftCentral Cloud data and privacy policies before you can proceed."
|
2910 |
msgstr ""
|
2911 |
|
2912 |
+
#: src/admin.php:957
|
2913 |
msgid "You can also close this wizard."
|
2914 |
msgstr ""
|
2915 |
|
2916 |
+
#: src/admin.php:958
|
2917 |
msgid "For future control of all your UpdraftCentral connections, go to the \"Advanced Tools\" tab."
|
2918 |
msgstr ""
|
2919 |
|
2920 |
+
#: src/admin.php:960
|
2921 |
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."
|
2922 |
msgstr ""
|
2923 |
|
2924 |
+
#: src/admin.php:961
|
2925 |
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."
|
2926 |
msgstr ""
|
2927 |
|
2928 |
+
#: src/admin.php:962
|
2929 |
msgid "The preparation of the clone data has been aborted."
|
2930 |
msgstr ""
|
2931 |
|
2932 |
+
#: src/admin.php:964
|
2933 |
msgid "Are you sure you want to remove this exclusion rule?"
|
2934 |
msgstr ""
|
2935 |
|
2936 |
+
#: src/admin.php:965
|
2937 |
msgid "Please select a file/folder which you would like to exclude"
|
2938 |
msgstr ""
|
2939 |
|
2940 |
+
#: src/admin.php:966
|
2941 |
msgid "Please enter a file extension, like zip"
|
2942 |
msgstr ""
|
2943 |
|
2944 |
+
#: src/admin.php:967
|
2945 |
msgid "Please enter a valid file extension"
|
2946 |
msgstr ""
|
2947 |
|
2948 |
+
#: src/admin.php:968
|
2949 |
msgid "Please enter characters that begin the filename which you would like to exclude"
|
2950 |
msgstr ""
|
2951 |
|
2952 |
+
#: src/admin.php:969
|
2953 |
msgid "Please enter a valid file name prefix"
|
2954 |
msgstr ""
|
2955 |
|
2956 |
+
#: src/admin.php:970
|
2957 |
msgid "The exclusion rule which you are trying to add already exists"
|
2958 |
msgstr ""
|
2959 |
|
2960 |
+
#: src/admin.php:971
|
2961 |
msgid "UpdraftClone key is required."
|
2962 |
msgstr ""
|
2963 |
|
2964 |
+
#: src/admin.php:972, src/templates/wp-admin/settings/backupnow-modal.php:40
|
2965 |
msgid "Include your files in the backup"
|
2966 |
msgstr ""
|
2967 |
|
2968 |
+
#: src/admin.php:973
|
2969 |
msgid "File backup options"
|
2970 |
msgstr ""
|
2971 |
|
2972 |
+
#: src/admin.php:974
|
2973 |
msgid "Restore error: HTML was detected in the response. You may have a security module on your webserver blocking the restoration operation."
|
2974 |
msgstr ""
|
2975 |
|
2976 |
+
#: src/admin.php:975
|
2977 |
msgid "Try UpdraftVault!"
|
2978 |
msgstr ""
|
2979 |
|
2980 |
+
#: src/admin.php:976, src/includes/updraftplus-tour.php:132, src/includes/updraftplus-tour.php:184
|
2981 |
msgid "UpdraftVault is our remote storage which works seamlessly with UpdraftPlus."
|
2982 |
msgstr ""
|
2983 |
|
2984 |
+
#: src/admin.php:977, 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
|
2985 |
msgid "Find out more here."
|
2986 |
msgstr ""
|
2987 |
|
2988 |
+
#: src/admin.php:979
|
2989 |
msgid "Try it - 1 month for $1!"
|
2990 |
msgstr ""
|
2991 |
|
2992 |
+
#: src/admin.php:1120
|
2993 |
msgid "Add-Ons / Pro Support"
|
2994 |
msgstr ""
|
2995 |
|
2996 |
+
#: src/admin.php:1167
|
2997 |
msgid "An error occurred when fetching storage module options: "
|
2998 |
msgstr ""
|
2999 |
|
3000 |
+
#: src/admin.php:1172, src/includes/class-commands.php:466, src/templates/wp-admin/settings/take-backup.php:13
|
3001 |
msgid "The 'Backup Now' button is disabled as your backup directory is not writable (go to the 'Settings' tab and find the relevant option)."
|
3002 |
msgstr ""
|
3003 |
|
3004 |
+
#: src/admin.php:1177
|
3005 |
msgid "Welcome to UpdraftPlus!"
|
3006 |
msgstr ""
|
3007 |
|
3008 |
+
#: src/admin.php:1177
|
3009 |
msgid "To make a backup, just press the Backup Now button."
|
3010 |
msgstr ""
|
3011 |
|
3012 |
+
#: src/admin.php:1177
|
3013 |
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."
|
3014 |
msgstr ""
|
3015 |
|
3016 |
+
#: src/admin.php:1181, src/class-updraftplus.php:862
|
3017 |
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)"
|
3018 |
msgstr ""
|
3019 |
|
3020 |
+
#: src/admin.php:1185
|
3021 |
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."
|
3022 |
msgstr ""
|
3023 |
|
3024 |
+
#: src/admin.php:1189
|
3025 |
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."
|
3026 |
msgstr ""
|
3027 |
|
3028 |
+
#: src/admin.php:1193
|
3029 |
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."
|
3030 |
msgstr ""
|
3031 |
|
3032 |
+
#: src/admin.php:1197
|
3033 |
msgid "Your website is hosted using the %s web server."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
+
#: src/admin.php:1197
|
3037 |
msgid "Please consult this FAQ if you have problems backing up."
|
3038 |
msgstr ""
|
3039 |
|
3040 |
+
#: src/admin.php:1201, src/admin.php:1254
|
3041 |
msgid "Notice"
|
3042 |
msgstr ""
|
3043 |
|
3044 |
+
#: src/admin.php:1201
|
3045 |
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."
|
3046 |
msgstr ""
|
3047 |
|
3048 |
+
#: src/admin.php:1206
|
3049 |
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."
|
3050 |
msgstr ""
|
3051 |
|
3052 |
+
#: src/admin.php:1206
|
3053 |
msgid "Read this page for a guide to possible causes and how to fix it."
|
3054 |
msgstr ""
|
3055 |
|
3056 |
+
#: src/admin.php:1226, src/admin.php:1247, src/admin.php:1273, src/class-updraftplus.php:598, src/class-updraftplus.php:633, src/class-updraftplus.php:638, src/class-updraftplus.php:643
|
3057 |
msgid "UpdraftPlus notice:"
|
3058 |
msgstr ""
|
3059 |
|
3060 |
+
#: src/admin.php:1226
|
3061 |
msgid "%s has been chosen for remote storage, but you are not currently connected."
|
3062 |
msgstr ""
|
3063 |
|
3064 |
+
#: src/admin.php:1226
|
3065 |
msgid "Go to the remote storage settings in order to connect."
|
3066 |
msgstr ""
|
3067 |
|
3068 |
+
#: src/admin.php:1254
|
3069 |
+
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."
|
3070 |
+
msgstr ""
|
3071 |
+
|
3072 |
+
#: src/admin.php:1375, src/admin.php:1385
|
3073 |
msgid "Error: invalid path"
|
3074 |
msgstr ""
|
3075 |
|
3076 |
+
#: src/admin.php:1736, src/includes/class-wpadmin-commands.php:541
|
3077 |
msgid "Backup set not found"
|
3078 |
msgstr ""
|
3079 |
|
3080 |
+
#: src/admin.php:1822
|
3081 |
msgid "Did not know how to delete from this cloud service."
|
3082 |
msgstr ""
|
3083 |
|
3084 |
+
#: src/admin.php:1903
|
3085 |
msgid "Backup sets removed:"
|
3086 |
msgstr ""
|
3087 |
|
3088 |
+
#: src/admin.php:1904
|
3089 |
msgid "Local files deleted:"
|
3090 |
msgstr ""
|
3091 |
|
3092 |
+
#: src/admin.php:1905
|
3093 |
msgid "Remote files deleted:"
|
3094 |
msgstr ""
|
3095 |
|
3096 |
+
#: src/admin.php:1992
|
3097 |
msgid "Job deleted"
|
3098 |
msgstr ""
|
3099 |
|
3100 |
+
#: src/admin.php:2000
|
3101 |
msgid "Could not find that job - perhaps it has already finished?"
|
3102 |
msgstr ""
|
3103 |
|
3104 |
+
#: src/admin.php:2098, src/admin.php:2121, src/includes/class-commands.php:836
|
3105 |
msgid "Start backup"
|
3106 |
msgstr ""
|
3107 |
|
3108 |
+
#: src/admin.php:2098, src/includes/class-commands.php:836
|
3109 |
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
3110 |
msgstr ""
|
3111 |
|
3112 |
+
#: src/admin.php:2183, src/admin.php:2187, src/class-updraftplus.php:633
|
3113 |
msgid "The log file could not be read."
|
3114 |
msgstr ""
|
3115 |
|
3116 |
+
#: src/admin.php:2234
|
3117 |
msgid "Download failed"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
+
#: src/admin.php:2264
|
3121 |
msgid "Download in progress"
|
3122 |
msgstr ""
|
3123 |
|
3124 |
+
#: src/admin.php:2267
|
3125 |
msgid "No local copy present."
|
3126 |
msgstr ""
|
3127 |
|
3128 |
+
#: src/admin.php:2321, src/backup.php:1197
|
3129 |
msgid "Backup directory (%s) is not writable, or does not exist."
|
3130 |
msgstr ""
|
3131 |
|
3132 |
+
#: src/admin.php:2321
|
3133 |
msgid "You will find more information about this in the Settings section."
|
3134 |
msgstr ""
|
3135 |
|
3136 |
+
#: src/admin.php:2358
|
3137 |
msgid "This file could not be uploaded"
|
3138 |
msgstr ""
|
3139 |
|
3140 |
+
#: src/admin.php:2373
|
3141 |
msgid "This backup was created by %s, and can be imported."
|
3142 |
msgstr ""
|
3143 |
|
3144 |
+
#: src/admin.php:2379
|
3145 |
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
3146 |
msgstr ""
|
3147 |
|
3148 |
+
#: src/admin.php:2387
|
3149 |
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?"
|
3150 |
msgstr ""
|
3151 |
|
3152 |
+
#: src/admin.php:2479
|
3153 |
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
3154 |
msgstr ""
|
3155 |
|
3156 |
+
#: src/admin.php:2571
|
3157 |
msgid "Backup directory could not be created"
|
3158 |
msgstr ""
|
3159 |
|
3160 |
+
#: src/admin.php:2578
|
3161 |
msgid "Backup directory successfully created."
|
3162 |
msgstr ""
|
3163 |
|
3164 |
+
#: src/admin.php:2580, src/admin.php:3439, src/admin.php:4549, src/admin.php:4559, src/admin.php:4568, src/admin.php:5622
|
3165 |
msgid "Return to UpdraftPlus configuration"
|
3166 |
msgstr ""
|
3167 |
|
3168 |
+
#: src/admin.php:2592, src/class-updraftplus.php:4399, src/restorer.php:2889
|
3169 |
msgid "Warning:"
|
3170 |
msgstr ""
|
3171 |
|
3172 |
+
#: src/admin.php:2592
|
3173 |
msgid "If you can still read these words after the page finishes loading, then there is a JavaScript or jQuery problem in the site."
|
3174 |
msgstr ""
|
3175 |
|
3176 |
+
#: src/admin.php:2595
|
3177 |
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."
|
3178 |
msgstr ""
|
3179 |
|
3180 |
+
#: src/admin.php:2610
|
3181 |
msgid "OptimizePress 2.0 encodes its contents, so search/replace does not work."
|
3182 |
msgstr ""
|
3183 |
|
3184 |
+
#: src/admin.php:2610
|
3185 |
msgid "To fix this problem go here."
|
3186 |
msgstr ""
|
3187 |
|
3188 |
+
#: src/admin.php:2612
|
3189 |
msgid "For even more features and personal support, check out "
|
3190 |
msgstr ""
|
3191 |
|
3192 |
+
#: src/admin.php:2614
|
3193 |
msgid "Your backup has been restored."
|
3194 |
msgstr ""
|
3195 |
|
3196 |
+
#: src/admin.php:2639
|
3197 |
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)."
|
3198 |
msgstr ""
|
3199 |
|
3200 |
+
#: src/admin.php:2639
|
3201 |
msgid "Current limit is:"
|
3202 |
msgstr ""
|
3203 |
|
3204 |
+
#: src/admin.php:2700
|
3205 |
msgid "Backup Contents And Schedule"
|
3206 |
msgstr ""
|
3207 |
|
3208 |
+
#: src/admin.php:2799
|
3209 |
msgid "Backup / Restore"
|
3210 |
msgstr ""
|
3211 |
|
3212 |
+
#: src/admin.php:2803
|
3213 |
msgid "Premium / Extensions"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
+
#: src/admin.php:2840
|
3217 |
msgid "%s minutes, %s seconds"
|
3218 |
msgstr ""
|
3219 |
|
3220 |
+
#: src/admin.php:2842
|
3221 |
msgid "Unfinished restoration"
|
3222 |
msgstr ""
|
3223 |
|
3224 |
+
#: src/admin.php:2843
|
3225 |
msgid "You have an unfinished restoration operation, begun %s ago."
|
3226 |
msgstr ""
|
3227 |
|
3228 |
+
#: src/admin.php:2849
|
3229 |
msgid "Continue restoration"
|
3230 |
msgstr ""
|
3231 |
|
3232 |
+
#: src/admin.php:2850, 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
|
3233 |
msgid "Dismiss"
|
3234 |
msgstr ""
|
3235 |
|
3236 |
+
#: src/admin.php:2871
|
3237 |
msgid "Not yet got an account (it's free)? Go get one!"
|
3238 |
msgstr ""
|
3239 |
|
3240 |
+
#: src/admin.php:2882
|
3241 |
msgid "Interested in knowing about your UpdraftPlus.Com password security? Read about it here."
|
3242 |
msgstr ""
|
3243 |
|
3244 |
+
#: src/admin.php:2894, src/includes/class-commands.php:905, src/includes/class-commands.php:953, src/templates/wp-admin/settings/temporary-clone.php:83, src/templates/wp-admin/settings/updraftcentral-connect.php:71
|
3245 |
msgid "Processing"
|
3246 |
msgstr ""
|
3247 |
|
3248 |
+
#: src/admin.php:2937
|
3249 |
msgid "Connect with your UpdraftPlus.Com account"
|
3250 |
msgstr ""
|
3251 |
|
3252 |
+
#: src/admin.php:2943, src/templates/wp-admin/settings/form-contents.php:256, src/templates/wp-admin/settings/updraftcentral-connect.php:44
|
3253 |
msgid "Email"
|
3254 |
msgstr ""
|
3255 |
|
3256 |
+
#: src/admin.php:2958
|
3257 |
msgid "Forgotten your details?"
|
3258 |
msgstr ""
|
3259 |
|
3260 |
+
#: src/admin.php:2970
|
3261 |
msgid "Ask WordPress to update UpdraftPlus automatically when an update is available"
|
3262 |
msgstr ""
|
3263 |
|
3264 |
+
#: src/admin.php:2981
|
3265 |
msgid "Add this website to UpdraftCentral (remote, centralised control) - free for up to 5 sites."
|
3266 |
msgstr ""
|
3267 |
|
3268 |
+
#: src/admin.php:2981
|
3269 |
msgid "Learn more about UpdraftCentral"
|
3270 |
msgstr ""
|
3271 |
|
3272 |
+
#: src/admin.php:3007, src/templates/wp-admin/settings/updraftcentral-connect.php:56
|
3273 |
msgid "One Time Password (check your OTP app to get this password)"
|
3274 |
msgstr ""
|
3275 |
|
3276 |
+
#: src/admin.php:3077
|
3277 |
msgid "Latest UpdraftPlus.com news:"
|
3278 |
msgstr ""
|
3279 |
|
3280 |
+
#: src/admin.php:3104
|
3281 |
msgid "Download most recently modified log file"
|
3282 |
msgstr ""
|
3283 |
|
3284 |
+
#: src/admin.php:3147
|
3285 |
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."
|
3286 |
msgstr ""
|
3287 |
|
3288 |
+
#: src/admin.php:3212, src/admin.php:4283
|
3289 |
msgid "View Log"
|
3290 |
msgstr ""
|
3291 |
|
3292 |
+
#: src/admin.php:3251
|
3293 |
msgid "Backup begun"
|
3294 |
msgstr ""
|
3295 |
|
3296 |
+
#: src/admin.php:3256
|
3297 |
msgid "Creating file backup zips"
|
3298 |
msgstr ""
|
3299 |
|
3300 |
+
#: src/admin.php:3269
|
3301 |
msgid "Created file backup zips"
|
3302 |
msgstr ""
|
3303 |
|
3304 |
+
#: src/admin.php:3274
|
3305 |
msgid "Clone server being provisioned and booted (can take several minutes)"
|
3306 |
msgstr ""
|
3307 |
|
3308 |
+
#: src/admin.php:3278
|
3309 |
msgid "Uploading files to remote storage"
|
3310 |
msgstr ""
|
3311 |
|
3312 |
+
#: src/admin.php:3279
|
3313 |
msgid "Sending files to remote site"
|
3314 |
msgstr ""
|
3315 |
|
3316 |
+
#: src/admin.php:3286
|
3317 |
msgid "(%s%%, file %s of %s)"
|
3318 |
msgstr ""
|
3319 |
|
3320 |
+
#: src/admin.php:3291
|
3321 |
msgid "Pruning old backup sets"
|
3322 |
msgstr ""
|
3323 |
|
3324 |
+
#: src/admin.php:3295
|
3325 |
msgid "Waiting until scheduled time to retry because of errors"
|
3326 |
msgstr ""
|
3327 |
|
3328 |
+
#: src/admin.php:3300
|
3329 |
msgid "Backup finished"
|
3330 |
msgstr ""
|
3331 |
|
3332 |
+
#: src/admin.php:3313
|
3333 |
msgid "Created database backup"
|
3334 |
msgstr ""
|
3335 |
|
3336 |
+
#: src/admin.php:3324
|
3337 |
msgid "Creating database backup"
|
3338 |
msgstr ""
|
3339 |
|
3340 |
+
#: src/admin.php:3326
|
3341 |
msgid "table: %s"
|
3342 |
msgstr ""
|
3343 |
|
3344 |
+
#: src/admin.php:3339
|
3345 |
msgid "Encrypting database"
|
3346 |
msgstr ""
|
3347 |
|
3348 |
+
#: src/admin.php:3347
|
3349 |
msgid "Encrypted database"
|
3350 |
msgstr ""
|
3351 |
|
3352 |
+
#: src/admin.php:3349, src/central/bootstrap.php:444, src/central/bootstrap.php:451, src/methods/updraftvault.php:431, src/methods/updraftvault.php:477, src/methods/updraftvault.php:562
|
3353 |
msgid "Unknown"
|
3354 |
msgstr ""
|
3355 |
|
3356 |
+
#: src/admin.php:3366
|
3357 |
msgid "next resumption: %d (after %ss)"
|
3358 |
msgstr ""
|
3359 |
|
3360 |
+
#: src/admin.php:3367
|
3361 |
msgid "last activity: %ss ago"
|
3362 |
msgstr ""
|
3363 |
|
3364 |
+
#: src/admin.php:3387
|
3365 |
msgid "Job ID: %s"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
+
#: src/admin.php:3401, src/admin.php:3691
|
3369 |
msgid "Warning: %s"
|
3370 |
msgstr ""
|
3371 |
|
3372 |
+
#: src/admin.php:3421
|
3373 |
msgid "show log"
|
3374 |
msgstr ""
|
3375 |
|
3376 |
+
#: src/admin.php:3422
|
3377 |
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."
|
3378 |
msgstr ""
|
3379 |
|
3380 |
+
#: src/admin.php:3422
|
3381 |
msgid "stop"
|
3382 |
msgstr ""
|
3383 |
|
3384 |
+
#: src/admin.php:3432, src/admin.php:3432
|
3385 |
msgid "Remove old directories"
|
3386 |
msgstr ""
|
3387 |
|
3388 |
+
#: src/admin.php:3435
|
3389 |
msgid "Old directories successfully removed."
|
3390 |
msgstr ""
|
3391 |
|
3392 |
+
#: src/admin.php:3437
|
3393 |
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
3394 |
msgstr ""
|
3395 |
|
3396 |
+
#: src/admin.php:3474, src/admin.php:3509, src/admin.php:3513, src/includes/class-remote-send.php:407, src/includes/class-storage-methods-interface.php:315, src/restorer.php:330, src/restorer.php:3186, src/restorer.php:3291
|
3397 |
msgid "OK"
|
3398 |
msgstr ""
|
3399 |
|
3400 |
+
#: src/admin.php:3558
|
3401 |
msgid "The request to the filesystem to create the directory failed."
|
3402 |
msgstr ""
|
3403 |
|
3404 |
+
#: src/admin.php:3572
|
3405 |
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"
|
3406 |
msgstr ""
|
3407 |
|
3408 |
+
#: src/admin.php:3577
|
3409 |
msgid "The folder exists, but your webserver does not have permission to write to it."
|
3410 |
msgstr ""
|
3411 |
|
3412 |
+
#: src/admin.php:3577
|
3413 |
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."
|
3414 |
msgstr ""
|
3415 |
|
3416 |
+
#: src/admin.php:3679
|
3417 |
msgid "incremental backup; base backup: %s"
|
3418 |
msgstr ""
|
3419 |
|
3420 |
+
#: src/admin.php:3709
|
3421 |
msgid "No backup has been completed"
|
3422 |
msgstr ""
|
3423 |
|
3424 |
+
#: src/admin.php:3725
|
3425 |
msgctxt "i.e. Non-automatic"
|
3426 |
msgid "Manual"
|
3427 |
msgstr ""
|
3428 |
|
3429 |
+
#: src/admin.php:3744
|
3430 |
msgid "Backup directory specified is writable, which is good."
|
3431 |
msgstr ""
|
3432 |
|
3433 |
+
#: src/admin.php:3748
|
3434 |
msgid "Backup directory specified does <b>not</b> exist."
|
3435 |
msgstr ""
|
3436 |
|
3437 |
+
#: src/admin.php:3750
|
3438 |
msgid "Backup directory specified exists, but is <b>not</b> writable."
|
3439 |
msgstr ""
|
3440 |
|
3441 |
+
#: src/admin.php:3752
|
3442 |
msgid "Follow this link to attempt to create the directory and set the permissions"
|
3443 |
msgstr ""
|
3444 |
|
3445 |
+
#: src/admin.php:3752
|
3446 |
msgid "or, to reset this option"
|
3447 |
msgstr ""
|
3448 |
|
3449 |
+
#: src/admin.php:3752
|
3450 |
msgid "press here"
|
3451 |
msgstr ""
|
3452 |
|
3453 |
+
#: src/admin.php:3752
|
3454 |
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."
|
3455 |
msgstr ""
|
3456 |
|
3457 |
+
#: src/admin.php:3832
|
3458 |
msgid "Your wp-content directory server path: %s"
|
3459 |
msgstr ""
|
3460 |
|
3461 |
+
#: src/admin.php:3832
|
3462 |
msgid "Any other directories found inside wp-content"
|
3463 |
msgstr ""
|
3464 |
|
3465 |
+
#: src/admin.php:3843
|
3466 |
msgid "Exclude these from"
|
3467 |
msgstr ""
|
3468 |
|
3469 |
+
#: src/admin.php:3931
|
3470 |
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)."
|
3471 |
msgstr ""
|
3472 |
|
3473 |
+
#: src/admin.php:3933
|
3474 |
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."
|
3475 |
msgstr ""
|
3476 |
|
3477 |
+
#: src/admin.php:3936
|
3478 |
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."
|
3479 |
msgstr ""
|
3480 |
|
3481 |
+
#: src/admin.php:3974, src/templates/wp-admin/settings/backupnow-modal.php:60, src/templates/wp-admin/settings/existing-backups-table.php:71, src/templates/wp-admin/settings/existing-backups-table.php:74
|
3482 |
msgid "Only allow this backup to be deleted manually (i.e. keep it even if retention limits are hit)."
|
3483 |
msgstr ""
|
3484 |
|
3485 |
+
#: src/admin.php:4022
|
3486 |
msgid "Total backup size:"
|
3487 |
msgstr ""
|
3488 |
|
3489 |
+
#: src/admin.php:4088, src/includes/class-wpadmin-commands.php:162, src/restorer.php:2196
|
3490 |
msgid "Backup created by unknown source (%s) - cannot be restored."
|
3491 |
msgstr ""
|
3492 |
|
3493 |
+
#: src/admin.php:4118
|
3494 |
msgid "Press here to download or browse"
|
3495 |
msgstr ""
|
3496 |
|
3497 |
+
#: src/admin.php:4125
|
3498 |
+
msgid "(%d archive(s) in set, total %s)."
|
3499 |
msgstr ""
|
3500 |
|
3501 |
+
#: src/admin.php:4129
|
3502 |
msgid "You appear to be missing one or more archives from this multi-archive set."
|
3503 |
msgstr ""
|
3504 |
|
3505 |
+
#: src/admin.php:4158, src/admin.php:4160
|
3506 |
msgid "(Not finished)"
|
3507 |
msgstr ""
|
3508 |
|
3509 |
+
#: src/admin.php:4160
|
3510 |
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."
|
3511 |
msgstr ""
|
3512 |
|
3513 |
+
#: src/admin.php:4185
|
3514 |
msgid "(backup set imported from remote location)"
|
3515 |
msgstr ""
|
3516 |
|
3517 |
+
#: src/admin.php:4188
|
3518 |
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
3519 |
msgstr ""
|
3520 |
|
3521 |
+
#: src/admin.php:4253
|
3522 |
msgid "After pressing this button, you can select where to upload your backup from a list of your currently saved remote storage locations"
|
3523 |
msgstr ""
|
3524 |
|
3525 |
+
#: src/admin.php:4273
|
3526 |
msgid "Delete this backup set"
|
3527 |
msgstr ""
|
3528 |
|
3529 |
+
#: src/admin.php:4501, src/admin.php:4509
|
3530 |
msgid "Sufficient information about the in-progress restoration operation could not be found."
|
3531 |
msgstr ""
|
3532 |
|
3533 |
+
#: src/admin.php:4587
|
3534 |
+
msgid "The restore operation has begun (%s). Do not press stop or close your browser until it reports itself as having finished."
|
3535 |
msgstr ""
|
3536 |
|
3537 |
+
#: src/admin.php:4665
|
3538 |
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
3539 |
msgstr ""
|
3540 |
|
3541 |
+
#: src/admin.php:4666
|
3542 |
msgid "Backup does not exist in the backup history"
|
3543 |
msgstr ""
|
3544 |
|
3545 |
+
#: src/admin.php:4703
|
3546 |
msgid "ABORT: Could not find the information on which entities to restore."
|
3547 |
msgstr ""
|
3548 |
|
3549 |
+
#: src/admin.php:4703
|
3550 |
msgid "If making a request for support, please include this information:"
|
3551 |
msgstr ""
|
3552 |
|
3553 |
+
#: src/admin.php:4891
|
3554 |
msgid "Backup won't be sent to any remote storage - none has been saved in the %s"
|
3555 |
msgstr ""
|
3556 |
|
3557 |
+
#: src/admin.php:4891
|
3558 |
msgid "settings"
|
3559 |
msgstr ""
|
3560 |
|
3561 |
+
#: src/admin.php:4891
|
3562 |
msgid "Not got any remote storage?"
|
3563 |
msgstr ""
|
3564 |
|
3565 |
+
#: src/admin.php:4891
|
3566 |
msgid "Check out UpdraftPlus Vault."
|
3567 |
msgstr ""
|
3568 |
|
3569 |
+
#: src/admin.php:4893
|
3570 |
msgid "Send this backup to remote storage"
|
3571 |
msgstr ""
|
3572 |
|
3573 |
+
#: src/admin.php:4983
|
3574 |
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."
|
3575 |
msgstr ""
|
3576 |
|
3577 |
+
#: src/admin.php:4990, src/templates/wp-admin/settings/take-backup.php:51
|
3578 |
msgid "This button is disabled because your backup directory is not writable (see the settings)."
|
3579 |
msgstr ""
|
3580 |
|
3581 |
+
#: src/admin.php:5019
|
3582 |
msgid "Your settings have been saved."
|
3583 |
msgstr ""
|
3584 |
|
3585 |
+
#: src/admin.php:5024
|
3586 |
msgid "Your settings failed to save. Please refresh the settings page and try again"
|
3587 |
msgstr ""
|
3588 |
|
3589 |
+
#: src/admin.php:5072
|
3590 |
msgid "authentication error"
|
3591 |
msgstr ""
|
3592 |
|
3593 |
+
#: src/admin.php:5076
|
3594 |
msgid "Remote storage method and instance id are required for authentication."
|
3595 |
msgstr ""
|
3596 |
|
3597 |
+
#: src/admin.php:5143
|
3598 |
msgid "Your settings have been wiped."
|
3599 |
msgstr ""
|
3600 |
|
3601 |
+
#: src/admin.php:5244
|
3602 |
msgid "Known backups (raw)"
|
3603 |
msgstr ""
|
3604 |
|
3605 |
+
#: src/admin.php:5279
|
3606 |
msgid "Options (raw)"
|
3607 |
msgstr ""
|
3608 |
|
3609 |
+
#: src/admin.php:5282
|
3610 |
msgid "Value"
|
3611 |
msgstr ""
|
3612 |
|
3613 |
+
#: src/admin.php:5434
|
3614 |
msgid "The file %s has a \"byte order mark\" (BOM) at its beginning."
|
3615 |
msgid_plural "The files %s have a \"byte order mark\" (BOM) at their beginning."
|
3616 |
msgstr[0] ""
|
3617 |
msgstr[1] ""
|
3618 |
|
3619 |
+
#: src/admin.php:5434, src/methods/openstack2.php:144, src/restorer.php:183, src/restorer.php:185, 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
|
3620 |
msgid "Follow this link for more information"
|
3621 |
msgstr ""
|
3622 |
|
3623 |
+
#: src/admin.php:5458, src/admin.php:5462, 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
|
3624 |
msgid "%s version:"
|
3625 |
msgstr ""
|
3626 |
|
3627 |
+
#: src/admin.php:5466
|
3628 |
msgid "Clone region:"
|
3629 |
msgstr ""
|
3630 |
|
3631 |
+
#: src/admin.php:5479
|
3632 |
+
msgid "Clone:"
|
3633 |
+
msgstr ""
|
3634 |
+
|
3635 |
+
#: src/admin.php:5481
|
3636 |
+
msgid "This current site"
|
3637 |
+
msgstr ""
|
3638 |
+
|
3639 |
+
#: src/admin.php:5505
|
3640 |
msgid "Forbid non-administrators to login to WordPress on your clone"
|
3641 |
msgstr ""
|
3642 |
|
3643 |
+
#: src/admin.php:5528
|
3644 |
msgid "(current version)"
|
3645 |
msgstr ""
|
3646 |
|
3647 |
+
#: src/admin.php:5548
|
3648 |
msgid "Your clone has started and will be available at the following URLs once it is ready."
|
3649 |
msgstr ""
|
3650 |
|
3651 |
+
#: src/admin.php:5549
|
3652 |
msgid "Front page:"
|
3653 |
msgstr ""
|
3654 |
|
3655 |
+
#: src/admin.php:5550
|
3656 |
msgid "Dashboard:"
|
3657 |
msgstr ""
|
3658 |
|
3659 |
+
#: src/admin.php:5552, src/admin.php:5555
|
3660 |
msgid "You can find your temporary clone information in your updraftplus.com account here."
|
3661 |
msgstr ""
|
3662 |
|
3663 |
+
#: src/admin.php:5554
|
3664 |
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."
|
3665 |
msgstr ""
|
3666 |
|
3667 |
+
#: src/admin.php:5620, src/admin.php:5622
|
3668 |
msgid "You have requested saving to remote storage (%s), but without entering any settings for that storage."
|
3669 |
msgstr ""
|
3670 |
|
3676 |
msgid "Could not create %s zip. Consult the log file for more information."
|
3677 |
msgstr ""
|
3678 |
|
3679 |
+
#: src/backup.php:471, src/backup.php:1994, src/class-updraftplus.php:2181, src/class-updraftplus.php:2248, src/includes/class-storage-methods-interface.php:364, src/restorer.php:487
|
3680 |
msgid "A PHP exception (%s) has occurred: %s"
|
3681 |
msgstr ""
|
3682 |
|
3683 |
+
#: src/backup.php:477, src/backup.php:2003, src/class-updraftplus.php:2190, src/class-updraftplus.php:2255, src/includes/class-storage-methods-interface.php:373, src/restorer.php:501
|
3684 |
msgid "A PHP fatal error (%s) has occurred: %s"
|
3685 |
msgstr ""
|
3686 |
|
3756 |
msgid "A very large file was encountered: %s (size: %s Mb)"
|
3757 |
msgstr ""
|
3758 |
|
3759 |
+
#: src/backup.php:3289, src/class-updraftplus.php:875
|
3760 |
msgid "Your free space in your hosting account is very low - only %s Mb remain"
|
3761 |
msgstr ""
|
3762 |
|
3968 |
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."
|
3969 |
msgstr ""
|
3970 |
|
3971 |
+
#: src/class-updraftplus.php:598, src/class-updraftplus.php:643
|
3972 |
msgid "The given file was not found, or could not be read."
|
3973 |
msgstr ""
|
3974 |
|
3975 |
+
#: src/class-updraftplus.php:638
|
3976 |
msgid "No log files were found."
|
3977 |
msgstr ""
|
3978 |
|
3979 |
+
#: src/class-updraftplus.php:859
|
3980 |
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)"
|
3981 |
msgstr ""
|
3982 |
|
3983 |
+
#: src/class-updraftplus.php:888
|
3984 |
msgid "Your free disk space is very low - only %s Mb remain"
|
3985 |
msgstr ""
|
3986 |
|
3987 |
+
#: src/class-updraftplus.php:1167
|
3988 |
msgid "%s Error: Failed to open local file"
|
3989 |
msgstr ""
|
3990 |
|
3991 |
+
#: src/class-updraftplus.php:1282
|
3992 |
msgid "%s error - failed to re-assemble chunks"
|
3993 |
msgstr ""
|
3994 |
|
3995 |
+
#: src/class-updraftplus.php:1325, src/class-updraftplus.php:1369, src/methods/cloudfiles.php:383, src/methods/stream-base.php:297
|
3996 |
msgid "Error opening local file: Failed to download"
|
3997 |
msgstr ""
|
3998 |
|
3999 |
+
#: src/class-updraftplus.php:1393, src/methods/cloudfiles.php:413
|
4000 |
msgid "Error - failed to download the file"
|
4001 |
msgstr ""
|
4002 |
|
4003 |
+
#: src/class-updraftplus.php:1707, src/class-updraftplus.php:1709
|
4004 |
msgid "files: %s"
|
4005 |
msgstr ""
|
4006 |
|
4007 |
+
#: src/class-updraftplus.php:1763
|
4008 |
msgid "External database (%s)"
|
4009 |
msgstr ""
|
4010 |
|
4011 |
+
#: src/class-updraftplus.php:1766
|
4012 |
msgid "Size: %s MB"
|
4013 |
msgstr ""
|
4014 |
|
4015 |
+
#: src/class-updraftplus.php:1771, src/class-updraftplus.php:1776
|
4016 |
msgid "%s checksum: %s"
|
4017 |
msgstr ""
|
4018 |
|
4019 |
+
#: src/class-updraftplus.php:1806
|
4020 |
msgid "Plugins"
|
4021 |
msgstr ""
|
4022 |
|
4023 |
+
#: src/class-updraftplus.php:1807
|
4024 |
msgid "Themes"
|
4025 |
msgstr ""
|
4026 |
|
4027 |
+
#: src/class-updraftplus.php:1823
|
4028 |
msgid "Others"
|
4029 |
msgstr ""
|
4030 |
|
4031 |
+
#: src/class-updraftplus.php:2052
|
4032 |
+
msgid "Your website is visited infrequently and UpdraftPlus is not getting the resources it hoped for; please read this page:"
|
4033 |
msgstr ""
|
4034 |
|
4035 |
+
#: src/class-updraftplus.php:2127
|
4036 |
+
msgid "The backup is being aborted for a repeated failure to progress."
|
4037 |
msgstr ""
|
4038 |
|
4039 |
+
#: src/class-updraftplus.php:2823
|
4040 |
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
4041 |
msgstr ""
|
4042 |
|
4043 |
+
#: src/class-updraftplus.php:3129, src/class-updraftplus.php:3222
|
4044 |
msgid "The backup was aborted by the user"
|
4045 |
msgstr ""
|
4046 |
|
4047 |
+
#: src/class-updraftplus.php:3136
|
4048 |
msgid "The backup apparently succeeded and is now complete"
|
4049 |
msgstr ""
|
4050 |
|
4051 |
+
#: src/class-updraftplus.php:3142
|
4052 |
msgid "The backup apparently succeeded (with warnings) and is now complete"
|
4053 |
msgstr ""
|
4054 |
|
4055 |
+
#: src/class-updraftplus.php:3148
|
4056 |
msgid "To complete your migration/clone, you should now log in to the remote site and restore the backup set."
|
4057 |
msgstr ""
|
4058 |
|
4059 |
+
#: src/class-updraftplus.php:3148
|
4060 |
msgid "Your clone will now deploy this data to re-create your site."
|
4061 |
msgstr ""
|
4062 |
|
4063 |
+
#: src/class-updraftplus.php:3160
|
4064 |
msgid "The backup attempt has finished, apparently unsuccessfully"
|
4065 |
msgstr ""
|
4066 |
|
4067 |
+
#: src/class-updraftplus.php:3164
|
4068 |
msgid "The backup has not finished; a resumption is scheduled"
|
4069 |
msgstr ""
|
4070 |
|
4071 |
+
#: src/class-updraftplus.php:3217
|
4072 |
msgid "Full backup"
|
4073 |
msgstr ""
|
4074 |
|
4075 |
+
#: src/class-updraftplus.php:3217
|
4076 |
msgid "Incremental"
|
4077 |
msgstr ""
|
4078 |
|
4079 |
+
#: src/class-updraftplus.php:3226
|
4080 |
msgid "Files (database backup has not completed)"
|
4081 |
msgstr ""
|
4082 |
|
4083 |
+
#: src/class-updraftplus.php:3226
|
4084 |
msgid "Files only (database was not part of this particular schedule)"
|
4085 |
msgstr ""
|
4086 |
|
4087 |
+
#: src/class-updraftplus.php:3229
|
4088 |
msgid "Database (files backup has not completed)"
|
4089 |
msgstr ""
|
4090 |
|
4091 |
+
#: src/class-updraftplus.php:3229
|
4092 |
msgid "Database only (files were not part of this particular schedule)"
|
4093 |
msgstr ""
|
4094 |
|
4095 |
+
#: src/class-updraftplus.php:3231
|
4096 |
msgid "Incomplete"
|
4097 |
msgstr ""
|
4098 |
|
4099 |
+
#: src/class-updraftplus.php:3234
|
4100 |
msgid "Unknown/unexpected error - please raise a support request"
|
4101 |
msgstr ""
|
4102 |
|
4103 |
+
#: src/class-updraftplus.php:3243
|
4104 |
msgid "Errors encountered:"
|
4105 |
msgstr ""
|
4106 |
|
4107 |
+
#: src/class-updraftplus.php:3261
|
4108 |
msgid "Warnings encountered:"
|
4109 |
msgstr ""
|
4110 |
|
4111 |
+
#: src/class-updraftplus.php:3276
|
4112 |
msgid "Backed up: %s"
|
4113 |
msgstr ""
|
4114 |
|
4115 |
+
#: src/class-updraftplus.php:3285
|
4116 |
msgid "Email reports created by UpdraftPlus (free edition) bring you the latest UpdraftPlus.com news"
|
4117 |
msgstr ""
|
4118 |
|
4119 |
+
#: src/class-updraftplus.php:3285
|
4120 |
msgid "read more at %s"
|
4121 |
msgstr ""
|
4122 |
|
4123 |
+
#: src/class-updraftplus.php:3318
|
4124 |
msgid "WordPress backup is complete"
|
4125 |
msgstr ""
|
4126 |
|
4127 |
+
#: src/class-updraftplus.php:3319
|
4128 |
msgid "Backup contains:"
|
4129 |
msgstr ""
|
4130 |
|
4131 |
+
#: src/class-updraftplus.php:3762
|
4132 |
msgid "Could not read the directory"
|
4133 |
msgstr ""
|
4134 |
|
4135 |
+
#: src/class-updraftplus.php:3778
|
4136 |
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
4137 |
msgstr ""
|
4138 |
|
4139 |
+
#: src/class-updraftplus.php:4221, src/includes/class-updraftplus-encryption.php:336, src/restorer.php:931
|
4140 |
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
4141 |
msgstr ""
|
4142 |
|
4143 |
+
#: src/class-updraftplus.php:4223
|
4144 |
msgid "Decryption failed. The database file is encrypted."
|
4145 |
msgstr ""
|
4146 |
|
4147 |
+
#: src/class-updraftplus.php:4233, src/includes/class-updraftplus-encryption.php:354, src/restorer.php:944
|
4148 |
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
4149 |
msgstr ""
|
4150 |
|
4151 |
+
#: src/class-updraftplus.php:4240
|
4152 |
msgid "The database is too small to be a valid WordPress database (size: %s Kb)."
|
4153 |
msgstr ""
|
4154 |
|
4155 |
+
#: src/class-updraftplus.php:4248
|
4156 |
msgid "Failed to open database file."
|
4157 |
msgstr ""
|
4158 |
|
4159 |
+
#: src/class-updraftplus.php:4304
|
4160 |
msgid "(version: %s)"
|
4161 |
msgstr ""
|
4162 |
|
4163 |
+
#: src/class-updraftplus.php:4317
|
4164 |
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."
|
4165 |
msgstr ""
|
4166 |
|
4167 |
+
#: src/class-updraftplus.php:4322
|
4168 |
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."
|
4169 |
msgstr ""
|
4170 |
|
4171 |
+
#: src/class-updraftplus.php:4324
|
4172 |
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."
|
4173 |
msgstr ""
|
4174 |
|
4175 |
+
#: src/class-updraftplus.php:4324, src/class-updraftplus.php:4326
|
4176 |
msgid "the migrator add-on"
|
4177 |
msgstr ""
|
4178 |
|
4179 |
+
#: src/class-updraftplus.php:4326
|
4180 |
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."
|
4181 |
msgstr ""
|
4182 |
|
4183 |
+
#: src/class-updraftplus.php:4335, src/class-updraftplus.php:4355
|
4184 |
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."
|
4185 |
msgstr ""
|
4186 |
|
4187 |
+
#: src/class-updraftplus.php:4338
|
4188 |
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"
|
4189 |
msgstr ""
|
4190 |
|
4191 |
+
#: src/class-updraftplus.php:4343, src/restorer.php:1617
|
4192 |
msgid "You are using the %s webserver, but do not seem to have the %s module loaded."
|
4193 |
msgstr ""
|
4194 |
|
4195 |
+
#: src/class-updraftplus.php:4343, src/restorer.php:1617
|
4196 |
msgid "You should enable %s to make any pretty permalinks (e.g. %s) work"
|
4197 |
msgstr ""
|
4198 |
|
4199 |
+
#: src/class-updraftplus.php:4364, src/class-updraftplus.php:4371
|
4200 |
msgid "%s version: %s"
|
4201 |
msgstr ""
|
4202 |
|
4203 |
+
#: src/class-updraftplus.php:4365
|
4204 |
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."
|
4205 |
msgstr ""
|
4206 |
|
4207 |
+
#: src/class-updraftplus.php:4372
|
4208 |
msgid "The site in this backup was running on a webserver with version %s of %s. "
|
4209 |
msgstr ""
|
4210 |
|
4211 |
+
#: src/class-updraftplus.php:4372
|
4212 |
msgid "This is significantly newer than the server which you are now restoring onto (version %s)."
|
4213 |
msgstr ""
|
4214 |
|
4215 |
+
#: src/class-updraftplus.php:4372
|
4216 |
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."
|
4217 |
msgstr ""
|
4218 |
|
4219 |
+
#: src/class-updraftplus.php:4372
|
4220 |
msgid "Any support requests to do with %s should be raised with your web hosting company."
|
4221 |
msgstr ""
|
4222 |
|
4223 |
+
#: src/class-updraftplus.php:4377, src/restorer.php:2451, src/restorer.php:2540, src/restorer.php:2566
|
4224 |
msgid "Old table prefix:"
|
4225 |
msgstr ""
|
4226 |
|
4227 |
+
#: src/class-updraftplus.php:4380
|
4228 |
msgid "Backup label:"
|
4229 |
msgstr ""
|
4230 |
|
4231 |
+
#: src/class-updraftplus.php:4388, src/class-updraftplus.php:4391, src/restorer.php:645
|
4232 |
msgid "You are running on WordPress multisite - but your backup is not of a multisite site."
|
4233 |
msgstr ""
|
4234 |
|
4235 |
+
#: src/class-updraftplus.php:4391
|
4236 |
msgid "It will be imported as a new site."
|
4237 |
msgstr ""
|
4238 |
|
4239 |
+
#: src/class-updraftplus.php:4391
|
4240 |
msgid "Please read this link for important information on this process."
|
4241 |
msgstr ""
|
4242 |
|
4243 |
+
#: src/class-updraftplus.php:4395, src/restorer.php:2463
|
4244 |
msgid "To import an ordinary WordPress site into a multisite installation requires %s."
|
4245 |
msgstr ""
|
4246 |
|
4247 |
+
#: src/class-updraftplus.php:4399
|
4248 |
msgid "Your backup is of a WordPress multisite install; but this site is not. Only the first site of the network will be accessible."
|
4249 |
msgstr ""
|
4250 |
|
4251 |
+
#: src/class-updraftplus.php:4399
|
4252 |
msgid "If you want to restore a multisite backup, you should first set up your WordPress installation as a multisite."
|
4253 |
msgstr ""
|
4254 |
|
4255 |
+
#: src/class-updraftplus.php:4406, src/restorer.php:2469
|
4256 |
msgid "Site information:"
|
4257 |
msgstr ""
|
4258 |
|
4259 |
+
#: src/class-updraftplus.php:4466
|
4260 |
msgid "The database backup uses MySQL features not available in the old MySQL version (%s) that this site is running on."
|
4261 |
msgstr ""
|
4262 |
|
4263 |
+
#: src/class-updraftplus.php:4466
|
4264 |
msgid "You must upgrade MySQL to be able to use this database."
|
4265 |
msgstr ""
|
4266 |
|
4267 |
+
#: src/class-updraftplus.php:4487
|
4268 |
msgid "The database server that this WordPress site is running on doesn't support the character set (%s) which you are trying to import."
|
4269 |
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."
|
4270 |
msgstr[0] ""
|
4271 |
msgstr[1] ""
|
4272 |
|
4273 |
+
#: src/class-updraftplus.php:4487
|
4274 |
msgid "You can choose another suitable character set instead and continue with the restoration at your own risk."
|
4275 |
msgstr ""
|
4276 |
|
4277 |
+
#: src/class-updraftplus.php:4497
|
4278 |
msgid "Your chosen character set to use instead:"
|
4279 |
msgstr ""
|
4280 |
|
4281 |
+
#: src/class-updraftplus.php:4521
|
4282 |
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."
|
4283 |
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."
|
4284 |
msgstr[0] ""
|
4285 |
msgstr[1] ""
|
4286 |
|
4287 |
+
#: src/class-updraftplus.php:4521
|
4288 |
msgid "You can choose another suitable collation instead and continue with the restoration (at your own risk)."
|
4289 |
msgstr ""
|
4290 |
|
4291 |
+
#: src/class-updraftplus.php:4544
|
4292 |
msgid "Your chosen replacement collation"
|
4293 |
msgstr ""
|
4294 |
|
4295 |
+
#: src/class-updraftplus.php:4567
|
4296 |
msgid "Choose a default for each table"
|
4297 |
msgstr ""
|
4298 |
|
4299 |
+
#: src/class-updraftplus.php:4619
|
4300 |
msgid "This database backup is missing core WordPress tables: %s"
|
4301 |
msgstr ""
|
4302 |
|
4303 |
+
#: src/class-updraftplus.php:4622
|
4304 |
msgid "This database backup has the following WordPress tables excluded: %s"
|
4305 |
msgstr ""
|
4306 |
|
4307 |
+
#: src/class-updraftplus.php:4627
|
4308 |
msgid "UpdraftPlus was unable to find the table prefix when scanning the database backup."
|
4309 |
msgstr ""
|
4310 |
|
4348 |
msgid "The creation of your data for creating the clone should now begin. 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."
|
4349 |
msgstr ""
|
4350 |
|
4351 |
+
#: src/includes/class-filesystem-functions.php:101, src/templates/wp-admin/advanced/site-info.php:38
|
4352 |
msgid "refresh"
|
4353 |
msgstr ""
|
4354 |
|
4355 |
+
#: src/includes/class-filesystem-functions.php:108
|
4356 |
msgid "calculate"
|
4357 |
msgstr ""
|
4358 |
|
4359 |
+
#: src/includes/class-filesystem-functions.php:122
|
4360 |
msgid "This is a count of the contents of your Updraft directory"
|
4361 |
msgstr ""
|
4362 |
|
4363 |
+
#: src/includes/class-filesystem-functions.php:122, src/templates/wp-admin/advanced/site-info.php:38
|
4364 |
msgid "Web-server disk space in use by UpdraftPlus"
|
4365 |
msgstr ""
|
4366 |
|
4367 |
+
#: src/includes/class-filesystem-functions.php:281, src/methods/ftp.php:335
|
4368 |
msgid "Your web server's PHP installation has these functions disabled: %s."
|
4369 |
msgstr ""
|
4370 |
|
4371 |
+
#: src/includes/class-filesystem-functions.php:281, src/methods/ftp.php:335, src/restorer.php:2227
|
4372 |
msgid "Your hosting company must enable these functions before %s can work."
|
4373 |
msgstr ""
|
4374 |
|
4375 |
+
#: src/includes/class-filesystem-functions.php:281, src/restorer.php:2227
|
4376 |
msgid "restoration"
|
4377 |
msgstr ""
|
4378 |
|
4379 |
+
#: src/includes/class-filesystem-functions.php:301
|
4380 |
msgid "The database file appears to have been compressed twice - probably the website you downloaded it from had a mis-configured webserver."
|
4381 |
msgstr ""
|
4382 |
|
4383 |
+
#: src/includes/class-filesystem-functions.php:308, src/includes/class-filesystem-functions.php:330
|
4384 |
msgid "The attempt to undo the double-compression failed."
|
4385 |
msgstr ""
|
4386 |
|
4387 |
+
#: src/includes/class-filesystem-functions.php:332
|
4388 |
msgid "The attempt to undo the double-compression succeeded."
|
4389 |
msgstr ""
|
4390 |
|
4391 |
+
#: src/includes/class-filesystem-functions.php:530
|
4392 |
msgid "Unzip progress: %d out of %d files"
|
4393 |
msgstr ""
|
4394 |
|
4636 |
msgid "Clone of %s"
|
4637 |
msgstr ""
|
4638 |
|
4639 |
+
#: src/includes/updraftplus-login.php:57, src/methods/updraftvault.php:715, src/udaddons/updraftplus-addons.php:990
|
4640 |
msgid "UpdraftPlus.Com returned a response which we could not understand (data: %s)"
|
4641 |
msgstr ""
|
4642 |
|
5267 |
msgid "For more options, use the \"%s\" add-on."
|
5268 |
msgstr ""
|
5269 |
|
5270 |
+
#: src/methods/email.php:97, src/templates/wp-admin/settings/form-contents.php:244, src/templates/wp-admin/settings/tab-addons.php:230, src/templates/wp-admin/settings/tab-addons.php:231
|
5271 |
msgid "Reporting"
|
5272 |
msgstr ""
|
5273 |
|
5355 |
msgid "This is sometimes caused by a firewall - try turning off SSL in the expert settings, and testing again."
|
5356 |
msgstr ""
|
5357 |
|
5358 |
+
#: src/methods/googledrive.php:233
|
5359 |
msgid "Google Drive list files: failed to access parent folder"
|
5360 |
msgstr ""
|
5361 |
|
5362 |
+
#: src/methods/googledrive.php:295
|
5363 |
msgid "The client has been deleted from the Google Drive API console. Please create a new Google Drive project and reconnect with UpdraftPlus."
|
5364 |
msgstr ""
|
5365 |
|
5366 |
+
#: src/methods/googledrive.php:526, src/methods/googledrive.php:572, src/methods/googledrive.php:578, src/methods/googledrive.php:580, src/methods/stream-base.php:219
|
5367 |
msgid "Failed to upload to %s"
|
5368 |
msgstr ""
|
5369 |
|
5370 |
+
#: src/methods/googledrive.php:526
|
5371 |
msgid "failed to access parent folder"
|
5372 |
msgstr ""
|
5373 |
|
5374 |
+
#: src/methods/googledrive.php:555
|
5375 |
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes"
|
5376 |
msgstr ""
|
5377 |
|
5378 |
+
#: src/methods/googledrive.php:562
|
5379 |
msgid "Upload expected to fail: the %s limit for any single file is %s, whereas this file is %s GB (%d bytes)"
|
5380 |
msgstr ""
|
5381 |
|
5382 |
+
#: src/methods/googledrive.php:648, src/methods/googledrive.php:684
|
5383 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
5384 |
msgstr ""
|
5385 |
|
5386 |
+
#: src/methods/googledrive.php:1225
|
5387 |
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."
|
5388 |
msgstr ""
|
5389 |
|
5390 |
+
#: src/methods/googledrive.php:1232
|
5391 |
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."
|
5392 |
msgstr ""
|
5393 |
|
5394 |
+
#: src/methods/googledrive.php:1232
|
5395 |
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
5396 |
msgstr ""
|
5397 |
|
5398 |
+
#: src/methods/googledrive.php:1232
|
5399 |
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."
|
5400 |
msgstr ""
|
5401 |
|
5402 |
+
#: src/methods/googledrive.php:1278
|
5403 |
msgid "<strong>This is NOT a folder name</strong>."
|
5404 |
msgstr ""
|
5405 |
|
5406 |
+
#: src/methods/googledrive.php:1278
|
5407 |
msgid "It is an ID number internal to Google Drive"
|
5408 |
msgstr ""
|
5409 |
|
5410 |
+
#: src/methods/googledrive.php:1291
|
5411 |
msgid "To be able to set a custom folder name, use UpdraftPlus Premium."
|
5412 |
msgstr ""
|
5413 |
|
5414 |
+
#: src/methods/googledrive.php:1298
|
5415 |
msgid "Authenticate with Google"
|
5416 |
msgstr ""
|
5417 |
|
5418 |
+
#: src/methods/googledrive.php:1308
|
5419 |
msgid "To de-authorize UpdraftPlus (all sites) from accessing your Google Drive, follow this link to your Google account settings."
|
5420 |
msgstr ""
|
5421 |
|
5753 |
msgid "Refresh current status"
|
5754 |
msgstr ""
|
5755 |
|
5756 |
+
#: src/methods/updraftvault.php:689, src/udaddons/updraftplus-addons.php:889
|
5757 |
msgid "You need to supply both an email address and a password"
|
5758 |
msgstr ""
|
5759 |
|
5761 |
msgid "You do not currently have any UpdraftPlus Vault quota"
|
5762 |
msgstr ""
|
5763 |
|
5764 |
+
#: src/methods/updraftvault.php:742, src/methods/updraftvault.php:757, src/udaddons/updraftplus-addons.php:1031
|
5765 |
msgid "UpdraftPlus.Com returned a response, but we could not understand it"
|
5766 |
msgstr ""
|
5767 |
|
5768 |
+
#: src/methods/updraftvault.php:748, src/udaddons/updraftplus-addons.php:1020
|
5769 |
msgid "Your email address was valid, but your password was not recognised by UpdraftPlus.Com."
|
5770 |
msgstr ""
|
5771 |
|
5773 |
msgid "If you have forgotten your password, then go here to change your password on updraftplus.com."
|
5774 |
msgstr ""
|
5775 |
|
5776 |
+
#: src/methods/updraftvault.php:751, src/udaddons/updraftplus-addons.php:1024
|
5777 |
msgid "You entered an email address that was not recognised by UpdraftPlus.Com"
|
5778 |
msgstr ""
|
5779 |
|
5780 |
+
#: src/methods/updraftvault.php:754, src/udaddons/updraftplus-addons.php:1027
|
5781 |
msgid "Your email address and password were not recognised by UpdraftPlus.Com"
|
5782 |
msgstr ""
|
5783 |
|
5833 |
msgid "Could not find one of the files for restoration"
|
5834 |
msgstr ""
|
5835 |
|
5836 |
+
#: src/restorer.php:424
|
5837 |
msgid "Final checks"
|
5838 |
msgstr ""
|
5839 |
|
5840 |
+
#: src/restorer.php:513
|
5841 |
msgid "Error message"
|
5842 |
msgstr ""
|
5843 |
|
5844 |
+
#: src/restorer.php:630
|
5845 |
msgid "UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually."
|
5846 |
msgstr ""
|
5847 |
|
5848 |
+
#: src/restorer.php:631
|
5849 |
msgid "Backup file not available."
|
5850 |
msgstr ""
|
5851 |
|
5852 |
+
#: src/restorer.php:632
|
5853 |
msgid "Copying this entity failed."
|
5854 |
msgstr ""
|
5855 |
|
5856 |
+
#: src/restorer.php:633
|
5857 |
msgid "Unpacking backup..."
|
5858 |
msgstr ""
|
5859 |
|
5860 |
+
#: src/restorer.php:634
|
5861 |
msgid "Decrypting database (can take a while)..."
|
5862 |
msgstr ""
|
5863 |
|
5864 |
+
#: src/restorer.php:635
|
5865 |
msgid "Database successfully decrypted."
|
5866 |
msgstr ""
|
5867 |
|
5868 |
+
#: src/restorer.php:636
|
5869 |
msgid "Moving old data out of the way..."
|
5870 |
msgstr ""
|
5871 |
|
5872 |
+
#: src/restorer.php:637
|
5873 |
msgid "Moving unpacked backup into place..."
|
5874 |
msgstr ""
|
5875 |
|
5876 |
+
#: src/restorer.php:638
|
5877 |
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)..."
|
5878 |
msgstr ""
|
5879 |
|
5880 |
+
#: src/restorer.php:639
|
5881 |
msgid "Cleaning up rubbish..."
|
5882 |
msgstr ""
|
5883 |
|
5884 |
+
#: src/restorer.php:640
|
5885 |
msgid "Could not move old files out of the way."
|
5886 |
msgstr ""
|
5887 |
|
5888 |
+
#: src/restorer.php:640
|
5889 |
msgid "You should check the file ownerships and permissions in your WordPress installation"
|
5890 |
msgstr ""
|
5891 |
|
5892 |
+
#: src/restorer.php:641
|
5893 |
msgid "Could not delete old directory."
|
5894 |
msgstr ""
|
5895 |
|
5896 |
+
#: src/restorer.php:642
|
5897 |
msgid "Could not move new files into place. Check your wp-content/upgrade folder."
|
5898 |
msgstr ""
|
5899 |
|
5900 |
+
#: src/restorer.php:643
|
5901 |
msgid "Could not move the files into place. Check your file permissions."
|
5902 |
msgstr ""
|
5903 |
|
5904 |
+
#: src/restorer.php:644
|
5905 |
msgid "Failed to delete working directory after restoring."
|
5906 |
msgstr ""
|
5907 |
|
5908 |
+
#: src/restorer.php:646
|
5909 |
msgid "Failed to unpack the archive"
|
5910 |
msgstr ""
|
5911 |
|
5912 |
+
#: src/restorer.php:647
|
5913 |
msgid "Failed to read the manifest file from backup."
|
5914 |
msgstr ""
|
5915 |
|
5916 |
+
#: src/restorer.php:648
|
5917 |
msgid "Failed to find a manifest file in the backup."
|
5918 |
msgstr ""
|
5919 |
|
5920 |
+
#: src/restorer.php:649
|
5921 |
msgid "Failed to read from the working directory."
|
5922 |
msgstr ""
|
5923 |
|
5924 |
+
#: src/restorer.php:923
|
5925 |
msgid "Failed to create a temporary directory"
|
5926 |
msgstr ""
|
5927 |
|
5928 |
+
#: src/restorer.php:939
|
5929 |
msgid "Failed to write out the decrypted database to the filesystem"
|
5930 |
msgstr ""
|
5931 |
|
5932 |
+
#: src/restorer.php:1017
|
5933 |
msgid "The directory does not exist, and the attempt to create it failed"
|
5934 |
msgstr ""
|
5935 |
|
5936 |
+
#: src/restorer.php:1020
|
5937 |
msgid "The directory does not exist"
|
5938 |
msgstr ""
|
5939 |
|
5940 |
+
#: src/restorer.php:1061
|
5941 |
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
5942 |
msgstr ""
|
5943 |
|
5944 |
+
#: src/restorer.php:1068
|
5945 |
msgid "wp-config.php from backup: restoring (as per user's request)"
|
5946 |
msgstr ""
|
5947 |
|
5948 |
+
#: src/restorer.php:1251, src/restorer.php:1259
|
5949 |
msgid "UpdraftPlus needed to create a %s in your content directory, but failed - please check your file permissions and enable the access (%s)"
|
5950 |
msgstr ""
|
5951 |
|
5952 |
+
#: src/restorer.php:1259
|
5953 |
msgid "file"
|
5954 |
msgstr ""
|
5955 |
|
5956 |
+
#: src/restorer.php:1273
|
5957 |
msgid "Existing unremoved folders from a previous restore exist (please use the \"Delete Old Directories\" button to delete them before trying again): %s"
|
5958 |
msgstr ""
|
5959 |
|
5960 |
+
#: src/restorer.php:1280
|
5961 |
msgid "This version of UpdraftPlus does not know how to handle this type of foreign backup"
|
5962 |
msgstr ""
|
5963 |
|
5964 |
+
#: src/restorer.php:1387
|
5965 |
msgid "Deferring..."
|
5966 |
msgstr ""
|
5967 |
|
5968 |
+
#: src/restorer.php:1430, src/restorer.php:1478
|
5969 |
msgid "The WordPress content folder (wp-content) was not found in this zip file."
|
5970 |
msgstr ""
|
5971 |
|
5972 |
+
#: src/restorer.php:1571
|
5973 |
msgid "Files found:"
|
5974 |
msgstr ""
|
5975 |
|
5976 |
+
#: src/restorer.php:2116
|
5977 |
msgid "Please supply the requested information, and then continue."
|
5978 |
msgstr ""
|
5979 |
|
5980 |
+
#: src/restorer.php:2189
|
5981 |
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."
|
5982 |
msgstr ""
|
5983 |
|
5984 |
+
#: src/restorer.php:2212
|
5985 |
msgid "Failed to find database file"
|
5986 |
msgstr ""
|
5987 |
|
5988 |
+
#: src/restorer.php:2233
|
5989 |
msgid "Failed to open database file"
|
5990 |
msgstr ""
|
5991 |
|
5992 |
+
#: src/restorer.php:2328, src/restorer.php:2370
|
5993 |
msgid "Your database user does not have permission to drop tables"
|
5994 |
msgstr ""
|
5995 |
|
5996 |
+
#: src/restorer.php:2331
|
5997 |
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."
|
5998 |
msgstr ""
|
5999 |
|
6000 |
+
#: src/restorer.php:2375
|
6001 |
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)"
|
6002 |
msgstr ""
|
6003 |
|
6004 |
+
#: src/restorer.php:2421
|
6005 |
msgid "Backup of: %s"
|
6006 |
msgstr ""
|
6007 |
|
6008 |
+
#: src/restorer.php:2428
|
6009 |
msgid "Backup created by:"
|
6010 |
msgstr ""
|
6011 |
|
6012 |
+
#: src/restorer.php:2433
|
6013 |
msgid "Site home:"
|
6014 |
msgstr ""
|
6015 |
|
6016 |
+
#: src/restorer.php:2439
|
6017 |
msgid "Content URL:"
|
6018 |
msgstr ""
|
6019 |
|
6020 |
+
#: src/restorer.php:2444
|
6021 |
msgid "Uploads URL:"
|
6022 |
msgstr ""
|
6023 |
|
6024 |
+
#: src/restorer.php:2455
|
6025 |
msgid "Skipped tables:"
|
6026 |
msgstr ""
|
6027 |
|
6028 |
+
#: src/restorer.php:2495
|
6029 |
msgid "Split line to avoid exceeding maximum packet size"
|
6030 |
msgstr ""
|
6031 |
|
6032 |
+
#: src/restorer.php:2520, src/restorer.php:2995, src/restorer.php:3042, src/restorer.php:3055
|
6033 |
msgid "An error occurred on the first %s command - aborting run"
|
6034 |
msgstr ""
|
6035 |
|
6036 |
+
#: src/restorer.php:2621
|
6037 |
msgid "Requested table engine (%s) is not present - changing to MyISAM."
|
6038 |
msgstr ""
|
6039 |
|
6040 |
+
#: src/restorer.php:2634
|
6041 |
msgid "Requested table character set (%s) is not present - changing to %s."
|
6042 |
msgstr ""
|
6043 |
|
6044 |
+
#: src/restorer.php:2684
|
6045 |
msgid "Requested table collation (%1$s) is not present - changing to %2$s."
|
6046 |
msgid_plural "Requested table collations (%1$s) are not present - changing to %2$s."
|
6047 |
msgstr[0] ""
|
6048 |
msgstr[1] ""
|
6049 |
|
6050 |
+
#: src/restorer.php:2686
|
6051 |
msgid "Processing table (%s)"
|
6052 |
msgstr ""
|
6053 |
|
6054 |
+
#: src/restorer.php:2690
|
6055 |
msgid "will restore as:"
|
6056 |
msgstr ""
|
6057 |
|
6058 |
+
#: src/restorer.php:2729
|
6059 |
msgid "Found SET NAMES %s, but changing to %s as suggested by WPDB::determine_charset()."
|
6060 |
msgstr ""
|
6061 |
|
6062 |
+
#: src/restorer.php:2735
|
6063 |
msgid "Requested character set (%s) is not present - changing to %s."
|
6064 |
msgstr ""
|
6065 |
|
6066 |
+
#: src/restorer.php:2889
|
6067 |
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"
|
6068 |
msgstr ""
|
6069 |
|
6070 |
+
#: src/restorer.php:3032
|
6071 |
msgctxt "The user is being told the number of times an error has happened, e.g. An error (27) occurred"
|
6072 |
msgid "An error (%s) occurred:"
|
6073 |
msgstr ""
|
6074 |
|
6075 |
+
#: src/restorer.php:3053
|
6076 |
msgid "This problem is caused by trying to restore a database on a very old MySQL version that is incompatible with the source database."
|
6077 |
msgstr ""
|
6078 |
|
6079 |
+
#: src/restorer.php:3053
|
6080 |
msgid "This database needs to be deployed on MySQL version %s or later."
|
6081 |
msgstr ""
|
6082 |
|
6083 |
+
#: src/restorer.php:3055
|
6084 |
msgid "To use this backup, your database server needs to support the %s character set."
|
6085 |
msgstr ""
|
6086 |
|
6087 |
+
#: src/restorer.php:3060
|
6088 |
msgid "Too many database errors have occurred - aborting"
|
6089 |
msgstr ""
|
6090 |
|
6091 |
+
#: src/restorer.php:3180, src/restorer.php:3255
|
6092 |
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
6093 |
msgstr ""
|
6094 |
|
6592 |
msgid "Files backup schedule"
|
6593 |
msgstr ""
|
6594 |
|
6595 |
+
#: src/templates/wp-admin/settings/form-contents.php:42, src/templates/wp-admin/settings/form-contents.php:76
|
6596 |
msgid "and retain this many scheduled backups"
|
6597 |
msgstr ""
|
6598 |
|
6600 |
msgid "Database backup schedule"
|
6601 |
msgstr ""
|
6602 |
|
6603 |
+
#: src/templates/wp-admin/settings/form-contents.php:88
|
6604 |
msgid "To fix the time at which a backup should take place,"
|
6605 |
msgstr ""
|
6606 |
|
6607 |
+
#: src/templates/wp-admin/settings/form-contents.php:88
|
6608 |
msgid "e.g. if your server is busy at day and you want to run overnight"
|
6609 |
msgstr ""
|
6610 |
|
6611 |
+
#: src/templates/wp-admin/settings/form-contents.php:88
|
6612 |
msgid "to take incremental backups"
|
6613 |
msgstr ""
|
6614 |
|
6615 |
+
#: src/templates/wp-admin/settings/form-contents.php:88
|
6616 |
msgid "or to configure more complex schedules"
|
6617 |
msgstr ""
|
6618 |
|
6619 |
+
#: src/templates/wp-admin/settings/form-contents.php:88
|
6620 |
msgid "use UpdraftPlus Premium"
|
6621 |
msgstr ""
|
6622 |
|
6623 |
+
#: src/templates/wp-admin/settings/form-contents.php:94
|
6624 |
msgid "Sending Your Backup To Remote Storage"
|
6625 |
msgstr ""
|
6626 |
|
6627 |
+
#: src/templates/wp-admin/settings/form-contents.php:104
|
6628 |
msgid "Choose your remote storage"
|
6629 |
msgstr ""
|
6630 |
|
6631 |
+
#: src/templates/wp-admin/settings/form-contents.php:104
|
6632 |
msgid "(tap on an icon to select or unselect)"
|
6633 |
msgstr ""
|
6634 |
|
6635 |
+
#: src/templates/wp-admin/settings/form-contents.php:115
|
6636 |
msgid "Backup using %s?"
|
6637 |
msgstr ""
|
6638 |
|
6639 |
+
#: src/templates/wp-admin/settings/form-contents.php:126
|
6640 |
msgid "You can send a backup to more than one destination with an add-on."
|
6641 |
msgstr ""
|
6642 |
|
6643 |
+
#: src/templates/wp-admin/settings/form-contents.php:135
|
6644 |
msgid "If you choose no remote storage, then the backups remain on the web-server. This is not recommended (unless you plan to manually copy them to your computer), as losing the web-server would mean losing both your website and the backups in one event."
|
6645 |
msgstr ""
|
6646 |
|
6647 |
+
#: src/templates/wp-admin/settings/form-contents.php:141
|
6648 |
msgid "File Options"
|
6649 |
msgstr ""
|
6650 |
|
6651 |
+
#: src/templates/wp-admin/settings/form-contents.php:145
|
6652 |
msgid "Include in files backup"
|
6653 |
msgstr ""
|
6654 |
|
6655 |
+
#: src/templates/wp-admin/settings/form-contents.php:148
|
6656 |
msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org."
|
6657 |
msgstr ""
|
6658 |
|
6659 |
+
#: src/templates/wp-admin/settings/form-contents.php:148
|
6660 |
msgid "See also the \"More Files\" add-on from our shop."
|
6661 |
msgstr ""
|
6662 |
|
6663 |
+
#: src/templates/wp-admin/settings/form-contents.php:153
|
6664 |
msgid "Database Options"
|
6665 |
msgstr ""
|
6666 |
|
6667 |
+
#: src/templates/wp-admin/settings/form-contents.php:158
|
6668 |
msgid "Database encryption phrase"
|
6669 |
msgstr ""
|
6670 |
|
6671 |
+
#: src/templates/wp-admin/settings/form-contents.php:162
|
6672 |
msgid "Don't want to be spied on? UpdraftPlus Premium can encrypt your database backup."
|
6673 |
msgstr ""
|
6674 |
|
6675 |
+
#: src/templates/wp-admin/settings/form-contents.php:162
|
6676 |
msgid "It can also backup external databases."
|
6677 |
msgstr ""
|
6678 |
|
6679 |
+
#: src/templates/wp-admin/settings/form-contents.php:176
|
6680 |
msgid "You can manually decrypt an encrypted database here."
|
6681 |
msgstr ""
|
6682 |
|
6683 |
+
#: src/templates/wp-admin/settings/form-contents.php:179
|
6684 |
msgid "Manually decrypt a database backup file"
|
6685 |
msgstr ""
|
6686 |
|
6687 |
+
#: src/templates/wp-admin/settings/form-contents.php:190
|
6688 |
msgid "Drop encrypted database files (db.gz.crypt files) here to upload them for decryption"
|
6689 |
msgstr ""
|
6690 |
|
6691 |
+
#: src/templates/wp-admin/settings/form-contents.php:191
|
6692 |
msgctxt "Uploader: Drop db.gz.crypt files here to upload them for decryption - or - Select Files"
|
6693 |
msgid "or"
|
6694 |
msgstr ""
|
6695 |
|
6696 |
+
#: src/templates/wp-admin/settings/form-contents.php:192
|
6697 |
msgid "Select Files"
|
6698 |
msgstr ""
|
6699 |
|
6700 |
+
#: src/templates/wp-admin/settings/form-contents.php:193
|
6701 |
msgid "First, enter the decryption key"
|
6702 |
msgstr ""
|
6703 |
|
6704 |
+
#: src/templates/wp-admin/settings/form-contents.php:216
|
6705 |
msgid "Recommended: optimize your database with WP-Optimize."
|
6706 |
msgstr ""
|
6707 |
|
6708 |
+
#: src/templates/wp-admin/settings/form-contents.php:234
|
6709 |
msgid "Backup more databases"
|
6710 |
msgstr ""
|
6711 |
|
6712 |
+
#: src/templates/wp-admin/settings/form-contents.php:261
|
6713 |
msgid "Check this box to have a basic report sent to"
|
6714 |
msgstr ""
|
6715 |
|
6716 |
+
#: src/templates/wp-admin/settings/form-contents.php:261
|
6717 |
msgid "your site's admin address"
|
6718 |
msgstr ""
|
6719 |
|
6720 |
+
#: src/templates/wp-admin/settings/form-contents.php:263
|
6721 |
msgid "For more reporting features, use the Reporting add-on."
|
6722 |
msgstr ""
|
6723 |
|
6724 |
+
#: src/templates/wp-admin/settings/form-contents.php:289
|
6725 |
msgid "Advanced / Debugging Settings"
|
6726 |
msgstr ""
|
6727 |
|
6728 |
+
#: src/templates/wp-admin/settings/form-contents.php:293
|
6729 |
msgid "Expert settings"
|
6730 |
msgstr ""
|
6731 |
|
6732 |
+
#: src/templates/wp-admin/settings/form-contents.php:294
|
6733 |
msgid "Show expert settings"
|
6734 |
msgstr ""
|
6735 |
|
6736 |
+
#: src/templates/wp-admin/settings/form-contents.php:294
|
6737 |
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
6738 |
msgstr ""
|
6739 |
|
6740 |
+
#: src/templates/wp-admin/settings/form-contents.php:304
|
6741 |
msgid "Debug mode"
|
6742 |
msgstr ""
|
6743 |
|
6744 |
+
#: src/templates/wp-admin/settings/form-contents.php:305
|
6745 |
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong."
|
6746 |
msgstr ""
|
6747 |
|
6748 |
+
#: src/templates/wp-admin/settings/form-contents.php:305
|
6749 |
msgid "This will also cause debugging output from all plugins to be shown upon this screen - please do not be surprised to see these."
|
6750 |
msgstr ""
|
6751 |
|
6752 |
+
#: src/templates/wp-admin/settings/form-contents.php:309
|
6753 |
msgid "Split archives every:"
|
6754 |
msgstr ""
|
6755 |
|
6756 |
+
#: src/templates/wp-admin/settings/form-contents.php:310
|
6757 |
msgid "UpdraftPlus will split up backup archives when they exceed this file size. The default value is %s megabytes. Be careful to leave some margin if your web-server has a hard size limit (e.g. the 2 GB / 2048 MB limit on some 32-bit servers/file systems)."
|
6758 |
msgstr ""
|
6759 |
|
6760 |
+
#: src/templates/wp-admin/settings/form-contents.php:310
|
6761 |
msgid "The higher the value, the more server resources are required to create the archive."
|
6762 |
msgstr ""
|
6763 |
|
6764 |
+
#: src/templates/wp-admin/settings/form-contents.php:314
|
6765 |
msgid "Delete local backup"
|
6766 |
msgstr ""
|
6767 |
|
6768 |
+
#: src/templates/wp-admin/settings/form-contents.php:315
|
6769 |
msgid "Check this to delete any superfluous backup files from your server after the backup run finishes (i.e. if you uncheck, then any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)."
|
6770 |
msgstr ""
|
6771 |
|
6772 |
+
#: src/templates/wp-admin/settings/form-contents.php:319
|
6773 |
msgid "Backup directory"
|
6774 |
msgstr ""
|
6775 |
|
6776 |
+
#: src/templates/wp-admin/settings/form-contents.php:329
|
6777 |
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. It is relative to your content directory (which by default is called wp-content)."
|
6778 |
msgstr ""
|
6779 |
|
6780 |
+
#: src/templates/wp-admin/settings/form-contents.php:329
|
6781 |
msgid "<b>Do not</b> place it inside your uploads or plugins directory, as that will cause recursion (backups of backups of backups of...)."
|
6782 |
msgstr ""
|
6783 |
|
6784 |
+
#: src/templates/wp-admin/settings/form-contents.php:335
|
6785 |
msgid "Use the server's SSL certificates"
|
6786 |
msgstr ""
|
6787 |
|
6788 |
+
#: src/templates/wp-admin/settings/form-contents.php:336
|
6789 |
msgid "By default UpdraftPlus uses its own store of SSL certificates to verify the identity of remote sites (i.e. to make sure it is talking to the real Dropbox, Amazon S3, etc., and not an attacker). We keep these up to date. However, if you get an SSL error, then choosing this option (which causes UpdraftPlus to use your web server's collection instead) may help."
|
6790 |
msgstr ""
|
6791 |
|
6792 |
+
#: src/templates/wp-admin/settings/form-contents.php:340
|
6793 |
msgid "Do not verify SSL certificates"
|
6794 |
msgstr ""
|
6795 |
|
6796 |
+
#: src/templates/wp-admin/settings/form-contents.php:341
|
6797 |
msgid "Choosing this option lowers your security by stopping UpdraftPlus from verifying the identity of encrypted sites that it connects to (e.g. Dropbox, Google Drive). It means that UpdraftPlus will be using SSL only for encryption of traffic, and not for authentication."
|
6798 |
msgstr ""
|
6799 |
|
6800 |
+
#: src/templates/wp-admin/settings/form-contents.php:341
|
6801 |
msgid "Note that not all cloud backup methods are necessarily using SSL authentication."
|
6802 |
msgstr ""
|
6803 |
|
6804 |
+
#: src/templates/wp-admin/settings/form-contents.php:345
|
6805 |
msgid "Disable SSL entirely where possible"
|
6806 |
msgstr ""
|
6807 |
|
6808 |
+
#: src/templates/wp-admin/settings/form-contents.php:346
|
6809 |
msgid "Choosing this option lowers your security by stopping UpdraftPlus from using SSL for authentication and encrypted transport at all, where possible. Note that some cloud storage providers do not allow this (e.g. Dropbox), so with those providers this setting will have no effect."
|
6810 |
msgstr ""
|
6811 |
|
6812 |
+
#: src/templates/wp-admin/settings/form-contents.php:346
|
6813 |
msgid "See this FAQ also."
|
6814 |
msgstr ""
|
6815 |
|
6816 |
+
#: src/templates/wp-admin/settings/form-contents.php:350
|
6817 |
msgid "Automatic updates"
|
6818 |
msgstr ""
|
6819 |
|
6820 |
+
#: src/templates/wp-admin/settings/form-contents.php:351
|
6821 |
msgid "Ask WordPress to automatically update UpdraftPlus when it finds an available update."
|
6822 |
msgstr ""
|
6823 |
|
6824 |
+
#: src/templates/wp-admin/settings/form-contents.php:351
|
6825 |
msgid "Read more about Easy Updates Manager"
|
6826 |
msgstr ""
|
6827 |
|
6828 |
+
#: src/templates/wp-admin/settings/form-contents.php:374
|
6829 |
msgid "Save Changes"
|
6830 |
msgstr ""
|
6831 |
|
7365 |
msgid "The claim and installation was successful. You can now use your purchase!"
|
7366 |
msgstr ""
|
7367 |
|
7368 |
+
#: src/udaddons/options.php:367, src/udaddons/updraftplus-addons.php:324
|
7369 |
msgid "UpdraftPlus Addons"
|
7370 |
msgstr ""
|
7371 |
|
7449 |
msgid "Manage Addons"
|
7450 |
msgstr ""
|
7451 |
|
7452 |
+
#: src/udaddons/updraftplus-addons.php:238
|
7453 |
msgid "Dismiss from main dashboard (for %s weeks)"
|
7454 |
msgstr ""
|
7455 |
|
7456 |
+
#: src/udaddons/updraftplus-addons.php:268
|
7457 |
msgid "The installed version of UpdraftPlus Backup/Restore has not been tested on your version of WordPress (%s)."
|
7458 |
msgstr ""
|
7459 |
|
7460 |
+
#: src/udaddons/updraftplus-addons.php:268
|
7461 |
msgid "It has been tested up to version %s."
|
7462 |
msgstr ""
|
7463 |
|
7464 |
+
#: src/udaddons/updraftplus-addons.php:268
|
7465 |
msgid "You should update UpdraftPlus to make sure that you have a version that has been tested for compatibility."
|
7466 |
msgstr ""
|
7467 |
|
7468 |
+
#: src/udaddons/updraftplus-addons.php:275
|
7469 |
msgid "Your paid access to UpdraftPlus updates for this site has expired. You will no longer receive updates to UpdraftPlus."
|
7470 |
msgstr ""
|
7471 |
|
7472 |
+
#: src/udaddons/updraftplus-addons.php:275, src/udaddons/updraftplus-addons.php:281
|
7473 |
msgid "To regain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
7474 |
msgstr ""
|
7475 |
|
7476 |
+
#: src/udaddons/updraftplus-addons.php:277, src/udaddons/updraftplus-addons.php:289
|
7477 |
msgid "If you have already renewed, then you need to allocate a licence to this site - %s"
|
7478 |
msgstr ""
|
7479 |
|
7480 |
+
#: src/udaddons/updraftplus-addons.php:277, src/udaddons/updraftplus-addons.php:289
|
7481 |
msgid "go here"
|
7482 |
msgstr ""
|
7483 |
|
7484 |
+
#: src/udaddons/updraftplus-addons.php:281
|
7485 |
msgid "Your paid access to UpdraftPlus updates for %s add-ons on this site has expired."
|
7486 |
msgstr ""
|
7487 |
|
7488 |
+
#: src/udaddons/updraftplus-addons.php:285
|
7489 |
msgid "Your paid access to UpdraftPlus updates for %s of the %s add-ons on this site will soon expire."
|
7490 |
msgstr ""
|
7491 |
|
7492 |
+
#: src/udaddons/updraftplus-addons.php:285, src/udaddons/updraftplus-addons.php:287
|
7493 |
msgid "To retain your access, and maintain access to updates (including future features and compatibility with future WordPress releases) and support, please renew."
|
7494 |
msgstr ""
|
7495 |
|
7496 |
+
#: src/udaddons/updraftplus-addons.php:287
|
7497 |
msgid "Your paid access to UpdraftPlus updates for this site will soon expire."
|
7498 |
msgstr ""
|
7499 |
|
7500 |
+
#: src/udaddons/updraftplus-addons.php:295
|
7501 |
msgid "Your paid access to UpdraftPlus support has expired."
|
7502 |
msgstr ""
|
7503 |
|
7504 |
+
#: src/udaddons/updraftplus-addons.php:295
|
7505 |
msgid "To regain your access, please renew."
|
7506 |
msgstr ""
|
7507 |
|
7508 |
+
#: src/udaddons/updraftplus-addons.php:297
|
7509 |
msgid "Your paid access to UpdraftPlus support will soon expire."
|
7510 |
msgstr ""
|
7511 |
|
7512 |
+
#: src/udaddons/updraftplus-addons.php:297
|
7513 |
msgid "To maintain your access to support, please renew."
|
7514 |
msgstr ""
|
7515 |
|
7516 |
+
#: src/udaddons/updraftplus-addons.php:496, src/udaddons/updraftplus-addons.php:590
|
7517 |
msgid "Errors occurred:"
|
7518 |
msgstr ""
|
7519 |
|
7520 |
+
#: src/udaddons/updraftplus-addons.php:914
|
7521 |
msgid "We failed to successfully connect to UpdraftPlus.Com"
|
7522 |
msgstr ""
|
7523 |
|
7524 |
+
#: src/udaddons/updraftplus-addons.php:916
|
7525 |
msgid "UpdraftPlus.Com responded, but we did not understand the response"
|
7526 |
msgstr ""
|
7527 |
|
7528 |
+
#: src/udaddons/updraftplus-addons.php:988
|
7529 |
msgid "No response data was received. This usually indicates a network connectivity issue (e.g. an outgoing firewall or overloaded network) between this site and UpdraftPlus.com."
|
7530 |
msgstr ""
|
7531 |
|
7532 |
+
#: src/udaddons/updraftplus-addons.php:1020
|
7533 |
msgid "Go here to re-enter your password."
|
7534 |
msgstr ""
|
7535 |
|
7536 |
+
#: src/udaddons/updraftplus-addons.php:1021
|
7537 |
msgid "If you have forgotten your password "
|
7538 |
msgstr ""
|
7539 |
|
7540 |
+
#: src/udaddons/updraftplus-addons.php:1021
|
7541 |
msgid "go here to change your password on updraftplus.com."
|
7542 |
msgstr ""
|
7543 |
|
@@ -10,7 +10,7 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
10 |
|
11 |
private $client;
|
12 |
|
13 |
-
private $ids_from_paths;
|
14 |
|
15 |
private $client_id;
|
16 |
|
@@ -81,77 +81,86 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
81 |
);
|
82 |
}
|
83 |
|
|
|
|
|
|
|
|
|
|
|
84 |
private function root_id() {
|
85 |
-
|
86 |
-
$storage = $this->get_storage();
|
87 |
-
|
88 |
-
if (empty($this->root_id)) $this->root_id = $storage->about->get()->getRootFolderId();
|
89 |
return $this->root_id;
|
90 |
}
|
91 |
|
92 |
/**
|
93 |
* Get folder id from path
|
94 |
*
|
95 |
-
* @param String $path
|
|
|
96 |
* @param Integer $retry_count how many times to retry upon a network failure
|
97 |
-
*
|
|
|
98 |
*/
|
99 |
-
public function id_from_path($path, $retry_count = 3) {
|
100 |
global $updraftplus;
|
101 |
|
102 |
$storage = $this->get_storage();
|
103 |
|
104 |
try {
|
|
|
105 |
while ('/' == substr($path, 0, 1)) {
|
106 |
$path = substr($path, 1);
|
107 |
}
|
108 |
|
109 |
-
$cache_key =
|
110 |
-
if (
|
111 |
|
112 |
-
$
|
113 |
$current_path = '/';
|
114 |
|
115 |
if (!empty($path)) {
|
116 |
-
|
117 |
-
|
118 |
-
$
|
|
|
119 |
|
120 |
foreach ($sub_items as $item) {
|
121 |
try {
|
122 |
if ($item->getTitle() == $element) {
|
123 |
-
$found = true;
|
124 |
$current_path .= $element.'/';
|
125 |
-
$
|
126 |
-
|
127 |
}
|
128 |
} catch (Exception $e) {
|
129 |
$this->log("id_from_path: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
130 |
}
|
131 |
}
|
132 |
-
|
133 |
-
if (
|
|
|
|
|
|
|
|
|
134 |
$ref = new Google_Service_Drive_ParentReference;
|
135 |
-
$ref->setId($
|
136 |
$dir = new Google_Service_Drive_DriveFile();
|
137 |
$dir->setMimeType('application/vnd.google-apps.folder');
|
138 |
$dir->setParents(array($ref));
|
139 |
$dir->setTitle($element);
|
140 |
-
$this->log(
|
141 |
$dir = $storage->files->insert(
|
142 |
$dir,
|
143 |
array('mimeType' => 'application/vnd.google-apps.folder')
|
144 |
);
|
145 |
$current_path .= $element.'/';
|
146 |
-
$
|
147 |
}
|
148 |
}
|
149 |
}
|
150 |
|
151 |
if (empty($this->ids_from_paths)) $this->ids_from_paths = array();
|
152 |
-
$this->ids_from_paths[$cache_key] = $
|
153 |
|
154 |
-
return $
|
155 |
|
156 |
} catch (Exception $e) {
|
157 |
$msg = $e->getMessage();
|
@@ -168,28 +177,36 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
168 |
if ($retry_count > 0) {
|
169 |
$delay_in_seconds = defined('UPDRAFTPLUS_GOOGLE_DRIVE_GET_FOLDER_ID_SECOND_RETRY_DELAY') ? UPDRAFTPLUS_GOOGLE_DRIVE_GET_FOLDER_ID_SECOND_RETRY_DELAY : 5-$retry_count;
|
170 |
sleep($delay_in_seconds);
|
171 |
-
return $this->id_from_path($path, $retry_count);
|
172 |
}
|
173 |
return false;
|
174 |
}
|
175 |
}
|
176 |
|
177 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
|
179 |
$storage = $this->get_storage();
|
180 |
|
181 |
-
$filtered = apply_filters('updraftplus_googledrive_parent_id', false, $opts, $storage, $this);
|
182 |
if (!empty($filtered)) return $filtered;
|
183 |
if (isset($opts['parentid'])) {
|
184 |
if (empty($opts['parentid'])) {
|
185 |
return $this->root_id();
|
186 |
} else {
|
187 |
-
$parent =
|
188 |
}
|
189 |
} else {
|
190 |
-
$parent = $this->id_from_path('UpdraftPlus');
|
191 |
}
|
192 |
-
return
|
193 |
}
|
194 |
|
195 |
public function listfiles($match = 'backup_') {
|
@@ -494,7 +511,16 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
494 |
$opts = $this->get_options();
|
495 |
|
496 |
try {
|
497 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
} catch (Exception $e) {
|
499 |
$this->log("upload: failed to access parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
500 |
$this->log(sprintf(__('Failed to upload to %s', 'updraftplus'), __('Google Drive', 'updraftplus')).': '.__('failed to access parent folder', 'updraftplus').' ('.$e->getMessage().')', 'error');
|
@@ -838,7 +864,8 @@ class UpdraftPlus_BackupModule_googledrive extends UpdraftPlus_BackupModule {
|
|
838 |
* @param string $parent_id This is the Parent ID
|
839 |
* @param string $type This is the type of file or directory but by default it is set to 'any' unless specified
|
840 |
* @param string $match This will specify which match is used for the SQL but by default it is set to 'backup_' unless specified
|
841 |
-
*
|
|
|
842 |
*/
|
843 |
private function get_subitems($parent_id, $type = 'any', $match = 'backup_') {
|
844 |
|
10 |
|
11 |
private $client;
|
12 |
|
13 |
+
private $ids_from_paths = array();
|
14 |
|
15 |
private $client_id;
|
16 |
|
81 |
);
|
82 |
}
|
83 |
|
84 |
+
/**
|
85 |
+
* Get the Google folder ID for the root of the drive
|
86 |
+
*
|
87 |
+
* @return String|Integer
|
88 |
+
*/
|
89 |
private function root_id() {
|
90 |
+
if (empty($this->root_id)) $this->root_id = $this->get_storage()->about->get()->getRootFolderId();
|
|
|
|
|
|
|
91 |
return $this->root_id;
|
92 |
}
|
93 |
|
94 |
/**
|
95 |
* Get folder id from path
|
96 |
*
|
97 |
+
* @param String $path folder path
|
98 |
+
* @param Boolean $one_only if false, then will be returned as a list (Google Drive allows multiple entities with the same name)
|
99 |
* @param Integer $retry_count how many times to retry upon a network failure
|
100 |
+
*
|
101 |
+
* @return Array|String|Integer|Boolean internal id of the Google Drive folder (or list of them if $one_only was false), or false upon failure
|
102 |
*/
|
103 |
+
public function id_from_path($path, $one_only = true, $retry_count = 3) {
|
104 |
global $updraftplus;
|
105 |
|
106 |
$storage = $this->get_storage();
|
107 |
|
108 |
try {
|
109 |
+
|
110 |
while ('/' == substr($path, 0, 1)) {
|
111 |
$path = substr($path, 1);
|
112 |
}
|
113 |
|
114 |
+
$cache_key = empty($path) ? '/' : ($one_only ? $path : 'multi:'.$path);
|
115 |
+
if (isset($this->ids_from_paths[$cache_key])) return $this->ids_from_paths[$cache_key];
|
116 |
|
117 |
+
$current_parent_id = $this->root_id();
|
118 |
$current_path = '/';
|
119 |
|
120 |
if (!empty($path)) {
|
121 |
+
$nodes = explode('/', $path);
|
122 |
+
foreach ($nodes as $i => $element) {
|
123 |
+
$found = array();
|
124 |
+
$sub_items = $this->get_subitems($current_parent_id, 'dir', $element);
|
125 |
|
126 |
foreach ($sub_items as $item) {
|
127 |
try {
|
128 |
if ($item->getTitle() == $element) {
|
|
|
129 |
$current_path .= $element.'/';
|
130 |
+
$current_parent_id = $item->getId();
|
131 |
+
$found[$current_parent_id] = strtotime($item->getCreatedDate());
|
132 |
}
|
133 |
} catch (Exception $e) {
|
134 |
$this->log("id_from_path: exception: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
135 |
}
|
136 |
}
|
137 |
+
|
138 |
+
if (count($found) > 1) {
|
139 |
+
asort($found);
|
140 |
+
reset($found);
|
141 |
+
$current_parent_id = key($found);
|
142 |
+
} elseif (empty($found)) {
|
143 |
$ref = new Google_Service_Drive_ParentReference;
|
144 |
+
$ref->setId($current_parent_id);
|
145 |
$dir = new Google_Service_Drive_DriveFile();
|
146 |
$dir->setMimeType('application/vnd.google-apps.folder');
|
147 |
$dir->setParents(array($ref));
|
148 |
$dir->setTitle($element);
|
149 |
+
$this->log('creating path: '.$current_path.$element);
|
150 |
$dir = $storage->files->insert(
|
151 |
$dir,
|
152 |
array('mimeType' => 'application/vnd.google-apps.folder')
|
153 |
);
|
154 |
$current_path .= $element.'/';
|
155 |
+
$current_parent_id = $dir->getId();
|
156 |
}
|
157 |
}
|
158 |
}
|
159 |
|
160 |
if (empty($this->ids_from_paths)) $this->ids_from_paths = array();
|
161 |
+
$this->ids_from_paths[$cache_key] = ($one_only || empty($found) || 1 == count($found)) ? $current_parent_id : $found;
|
162 |
|
163 |
+
return $this->ids_from_paths[$cache_key];
|
164 |
|
165 |
} catch (Exception $e) {
|
166 |
$msg = $e->getMessage();
|
177 |
if ($retry_count > 0) {
|
178 |
$delay_in_seconds = defined('UPDRAFTPLUS_GOOGLE_DRIVE_GET_FOLDER_ID_SECOND_RETRY_DELAY') ? UPDRAFTPLUS_GOOGLE_DRIVE_GET_FOLDER_ID_SECOND_RETRY_DELAY : 5-$retry_count;
|
179 |
sleep($delay_in_seconds);
|
180 |
+
return $this->id_from_path($path, $one_only, $retry_count);
|
181 |
}
|
182 |
return false;
|
183 |
}
|
184 |
}
|
185 |
|
186 |
+
/**
|
187 |
+
* Get the Google Drive internal ID
|
188 |
+
*
|
189 |
+
* @param Array $opts - storage instance options
|
190 |
+
* @param Boolean $one_only - whether to potentially return them all if there is more than one
|
191 |
+
*
|
192 |
+
* @return String|Array
|
193 |
+
*/
|
194 |
+
private function get_parent_id($opts, $one_only = true) {
|
195 |
|
196 |
$storage = $this->get_storage();
|
197 |
|
198 |
+
$filtered = apply_filters('updraftplus_googledrive_parent_id', false, $opts, $storage, $this, $one_only);
|
199 |
if (!empty($filtered)) return $filtered;
|
200 |
if (isset($opts['parentid'])) {
|
201 |
if (empty($opts['parentid'])) {
|
202 |
return $this->root_id();
|
203 |
} else {
|
204 |
+
$parent = is_array($opts['parentid']) ? $opts['parentid']['id'] : $opts['parentid'];
|
205 |
}
|
206 |
} else {
|
207 |
+
$parent = $this->id_from_path('UpdraftPlus', $one_only);
|
208 |
}
|
209 |
+
return empty($parent) ? $this->root_id() : $parent;
|
210 |
}
|
211 |
|
212 |
public function listfiles($match = 'backup_') {
|
511 |
$opts = $this->get_options();
|
512 |
|
513 |
try {
|
514 |
+
$parent_ids = $this->get_parent_id($opts, false);
|
515 |
+
if (is_array($parent_ids)) {
|
516 |
+
reset($parent_ids);
|
517 |
+
$parent_id = key($parent_ids);
|
518 |
+
if (count($parent_ids) > 1) {
|
519 |
+
$this->log('there appears to be more than one folder: '.implode(', ', array_keys($parent_ids)));
|
520 |
+
}
|
521 |
+
} else {
|
522 |
+
$parent_id = $parent_ids;
|
523 |
+
}
|
524 |
} catch (Exception $e) {
|
525 |
$this->log("upload: failed to access parent folder: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
526 |
$this->log(sprintf(__('Failed to upload to %s', 'updraftplus'), __('Google Drive', 'updraftplus')).': '.__('failed to access parent folder', 'updraftplus').' ('.$e->getMessage().')', 'error');
|
864 |
* @param string $parent_id This is the Parent ID
|
865 |
* @param string $type This is the type of file or directory but by default it is set to 'any' unless specified
|
866 |
* @param string $match This will specify which match is used for the SQL but by default it is set to 'backup_' unless specified
|
867 |
+
*
|
868 |
+
* @return array - list of Google_Service_Drive_DriveFile items
|
869 |
*/
|
870 |
private function get_subitems($parent_id, $type = 'any', $match = 'backup_') {
|
871 |
|
@@ -4,7 +4,7 @@ if (!defined('UPDRAFTPLUS_DIR')) die('No direct access allowed');
|
|
4 |
|
5 |
if (!class_exists('UpdraftPlus_RemoteStorage_Addons_Base_v2')) require_once(UPDRAFTPLUS_DIR.'/methods/addon-base-v2.php');
|
6 |
|
7 |
-
class
|
8 |
|
9 |
private $default_chunk_size;
|
10 |
|
@@ -18,10 +18,6 @@ class UpdraftPlus_Addons_RemoteStorage_remotesend extends UpdraftPlus_RemoteStor
|
|
18 |
* Class constructor
|
19 |
*/
|
20 |
public function __construct() {
|
21 |
-
|
22 |
-
add_filter('updraftplus_clone_remotesend_options', array($this, 'updraftplus_clone_remotesend_options'), 10, 1);
|
23 |
-
add_action('updraftplus_remotesend_upload_complete', array($this, 'upload_complete'));
|
24 |
-
|
25 |
// 3rd parameter: chunking? 4th: Test button?
|
26 |
parent::__construct('remotesend', 'Remote send', false, false);
|
27 |
}
|
@@ -48,6 +44,13 @@ class UpdraftPlus_Addons_RemoteStorage_remotesend extends UpdraftPlus_RemoteStor
|
|
48 |
global $updraftplus;
|
49 |
$opts = $this->options;
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
try {
|
52 |
$storage = $this->bootstrap();
|
53 |
if (is_wp_error($storage)) throw new Exception($storage->get_error_message());
|
@@ -329,6 +332,15 @@ class UpdraftPlus_Addons_RemoteStorage_remotesend extends UpdraftPlus_RemoteStor
|
|
329 |
set_transient($this->remote_sent_defchunk_transient, $new_chunk_size, 86400*120);
|
330 |
}
|
331 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
332 |
private function send_message($message, $data = null, $timeout = 30) {
|
333 |
$storage = $this->get_storage();
|
334 |
|
@@ -413,7 +425,7 @@ class UpdraftPlus_Addons_RemoteStorage_remotesend extends UpdraftPlus_RemoteStor
|
|
413 |
public function get_opts() {
|
414 |
global $updraftplus;
|
415 |
$opts = $updraftplus->jobdata_get('remotesend_info');
|
416 |
-
$opts =
|
417 |
if (true === $this->try_format_upgrade && is_array($opts)) $opts['remote_got_public'] = 1;
|
418 |
return is_array($opts) ? $opts : array();
|
419 |
}
|
@@ -425,7 +437,7 @@ class UpdraftPlus_Addons_RemoteStorage_remotesend extends UpdraftPlus_RemoteStor
|
|
425 |
*
|
426 |
* @return Array - an array of options
|
427 |
*/
|
428 |
-
public function
|
429 |
|
430 |
// Don't call self::log() - this then requests options (to get the label), causing an infinite loop.
|
431 |
|
@@ -490,14 +502,3 @@ class UpdraftPlus_Addons_RemoteStorage_remotesend extends UpdraftPlus_RemoteStor
|
|
490 |
|
491 |
// do_listfiles(), do_download(), do_delete() : the absence of any method here means that the parent will correctly throw an error
|
492 |
}
|
493 |
-
|
494 |
-
class UpdraftPlus_BackupModule_remotesend extends UpdraftPlus_Addons_RemoteStorage_remotesend {
|
495 |
-
/**
|
496 |
-
* Class constructor
|
497 |
-
*/
|
498 |
-
public function __construct() {
|
499 |
-
parent::__construct('remotesend', 'Remote send', '5.2.4');
|
500 |
-
}
|
501 |
-
}
|
502 |
-
|
503 |
-
$updraftplus_addons_remotesend = new UpdraftPlus_Addons_RemoteStorage_remotesend;
|
4 |
|
5 |
if (!class_exists('UpdraftPlus_RemoteStorage_Addons_Base_v2')) require_once(UPDRAFTPLUS_DIR.'/methods/addon-base-v2.php');
|
6 |
|
7 |
+
class UpdraftPlus_BackupModule_remotesend extends UpdraftPlus_RemoteStorage_Addons_Base_v2 {
|
8 |
|
9 |
private $default_chunk_size;
|
10 |
|
18 |
* Class constructor
|
19 |
*/
|
20 |
public function __construct() {
|
|
|
|
|
|
|
|
|
21 |
// 3rd parameter: chunking? 4th: Test button?
|
22 |
parent::__construct('remotesend', 'Remote send', false, false);
|
23 |
}
|
44 |
global $updraftplus;
|
45 |
$opts = $this->options;
|
46 |
|
47 |
+
static $registered_completion_event = false;
|
48 |
+
if (!$registered_completion_event) {
|
49 |
+
// This is here, instead of the constructor, to make sure that, if multiple objects are insantiated, then only the one actually used for uploading gets involved in the upload_complete event
|
50 |
+
$registered_completion_event = true;
|
51 |
+
add_action('updraftplus_remotesend_upload_complete', array($this, 'upload_complete'));
|
52 |
+
}
|
53 |
+
|
54 |
try {
|
55 |
$storage = $this->bootstrap();
|
56 |
if (is_wp_error($storage)) throw new Exception($storage->get_error_message());
|
332 |
set_transient($this->remote_sent_defchunk_transient, $new_chunk_size, 86400*120);
|
333 |
}
|
334 |
|
335 |
+
/**
|
336 |
+
* Send a message to the remote site
|
337 |
+
*
|
338 |
+
* @param String $message - the message identifier
|
339 |
+
* @param Array|Null $data - the data to send with the message
|
340 |
+
* @param Integer $timeout - timeout in waiting for a response
|
341 |
+
*
|
342 |
+
* @return Array|WP_Error - results, or an error
|
343 |
+
*/
|
344 |
private function send_message($message, $data = null, $timeout = 30) {
|
345 |
$storage = $this->get_storage();
|
346 |
|
425 |
public function get_opts() {
|
426 |
global $updraftplus;
|
427 |
$opts = $updraftplus->jobdata_get('remotesend_info');
|
428 |
+
$opts = $this->clone_remotesend_options($opts);
|
429 |
if (true === $this->try_format_upgrade && is_array($opts)) $opts['remote_got_public'] = 1;
|
430 |
return is_array($opts) ? $opts : array();
|
431 |
}
|
437 |
*
|
438 |
* @return Array - an array of options
|
439 |
*/
|
440 |
+
public function clone_remotesend_options($opts) {
|
441 |
|
442 |
// Don't call self::log() - this then requests options (to get the label), causing an infinite loop.
|
443 |
|
502 |
|
503 |
// do_listfiles(), do_download(), do_delete() : the absence of any method here means that the parent will correctly throw an error
|
504 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -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.2
|
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,31 @@ 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.14 - 30/Apr/2019 =
|
172 |
|
@@ -194,7 +218,6 @@ N.B. Paid versions of UpdraftPlus Backup / Restore have a version number which i
|
|
194 |
* TWEAK: Add a timeout on Dropbox quota look-up operations during backup, in response to cases of faulty outgoing HTTP proxies
|
195 |
* TWEAK: The backup_finish() method should not have been private; could cause a harmless PHP abort when manually stopping a backup
|
196 |
* TWEAK: Wrong variable context could cause failure of SFTP progress recording
|
197 |
-
* TWEAK: Update to the current series (4.6) of yahnis-elsts/plugin-update-checker (paid versions), thereby inheriting improvements including suppressing some unnecessary background updates checks
|
198 |
|
199 |
= 1.16.10 - 23/Mar/2019 =
|
200 |
|
@@ -848,4 +871,4 @@ Furthermore, reliance upon any non-English translation is at your own risk. Updr
|
|
848 |
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/
|
849 |
|
850 |
== Upgrade Notice ==
|
851 |
-
* 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.2
|
6 |
+
Stable tag: 1.16.15
|
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.15.x of the free version correspond to changes made in 2.16.15.x of the paid version.
|
170 |
+
|
171 |
+
= 1.16.15 - 31/May/2019 =
|
172 |
+
|
173 |
+
* FEATURE: Added the ability to use already existing local backups with UpdraftClone
|
174 |
+
* FIX: Prevent PHP fatal error (regression) when WP_Filesystem credentials were needed and wrong ones were supplied
|
175 |
+
* FIX: Issue where you could not delete old directories from the restore progress page
|
176 |
+
* FIX: Issue where restore would not run over AJAX if wrong credentials were entered when WordPress requested filesystem credentials
|
177 |
+
* FIX: Fix incorrect refusal to accept valid email addresses in the UpdraftCentral wizard
|
178 |
+
* TRANSLATION: The Italian translation is now complete and supplied from wordpress.org, so can be removed from the free plugin zip (saves 424KB disk space - if your mother tongue is not English and you want to improve UpdraftPlus, take a look at: https://translate.wordpress.org/projects/wp-plugins/updraftplus).
|
179 |
+
* TWEAK: Update UpdraftCentral theme module handler to support themes without a name header
|
180 |
+
* TWEAK: Prevent PHP log notice when fetching available theme updates via UpdraftCentral
|
181 |
+
* TWEAK: Add more scheduling options to the built-in list (you can still further add whatever other arbitrary options you like: https://updraftplus.com/faqs/how-can-i-add-any-new-scheduling-interval-to-updraftplus/)
|
182 |
+
* TWEAK: Abstract the code for handling maintenance mode to allow future improvements
|
183 |
+
* TWEAK: Fix a potential wrong file path in an error message
|
184 |
+
* TWEAK: If there is more than one Google Drive folder of the same name, now the selection is deterministic: the oldest one is always used
|
185 |
+
* TWEAK: Infer phpseclib class path from the class name, instead of hard-coding it
|
186 |
+
* TWEAK: Some lines that were meant to include HTML bold in the browser output had lost that effect
|
187 |
+
* TWEAK: Add what entity caused the automatic backup to the logfile
|
188 |
+
* TWEAK: Upon restoration, a couple of known plugin cache directories will be emptied to prevent serving up an intermediate page
|
189 |
+
* TWEAK: Fix a bug in the "fail on resume" error-trapping logic which could cause it too resume too many times
|
190 |
+
* TWEAK: Prevent a bogus error message being logged at the end of a successful direct site-to-site transfer
|
191 |
+
* TWEAK: Add backup size information when hovering at the backup data buttons (excluding database button)
|
192 |
+
* TWEAK: Allow the plugin to connect to account and activate Premium licence if no more UpdraftCentral Cloud licences remain and the user enables the 'Add this website to UpdraftCentral' option in the Premium/Extensions tab
|
193 |
+
* TWEAK: During a restore send structured data to the front end. This is preparing the way for future UX improvements.
|
194 |
|
195 |
= 1.16.14 - 30/Apr/2019 =
|
196 |
|
218 |
* TWEAK: Add a timeout on Dropbox quota look-up operations during backup, in response to cases of faulty outgoing HTTP proxies
|
219 |
* TWEAK: The backup_finish() method should not have been private; could cause a harmless PHP abort when manually stopping a backup
|
220 |
* TWEAK: Wrong variable context could cause failure of SFTP progress recording
|
|
|
221 |
|
222 |
= 1.16.10 - 23/Mar/2019 =
|
223 |
|
871 |
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/
|
872 |
|
873 |
== Upgrade Notice ==
|
874 |
+
* 1.16.15: Added the ability to use already existing local backups with UpdraftClone. Various small tweaks and improvements. A recommended update for all.
|
@@ -414,6 +414,8 @@ class Updraft_Restorer {
|
|
414 |
|
415 |
global $updraftplus;
|
416 |
|
|
|
|
|
417 |
// Now log. We first remove any encryption passphrase from the log data.
|
418 |
$copy_restore_options = $restore_options;
|
419 |
if (!empty($copy_restore_options['updraft_encryptionphrase'])) $copy_restore_options['updraft_encryptionphrase'] = '***';
|
@@ -585,13 +587,6 @@ class Updraft_Restorer {
|
|
585 |
global $updraftplus;
|
586 |
static $logfile_handle;
|
587 |
static $opened_log_time;
|
588 |
-
static $last_buffer_flush;
|
589 |
-
|
590 |
-
// If more than 2 seconds has past then flush the buffer
|
591 |
-
if ($last_buffer_flush + 2 < time()) {
|
592 |
-
flush();
|
593 |
-
$last_buffer_flush = time();
|
594 |
-
}
|
595 |
|
596 |
if (empty($logfile_handle)) {
|
597 |
$logfile_name = $updraftplus->backups_dir_location()."/log.$nonce-browser.txt";
|
@@ -620,7 +615,7 @@ class Updraft_Restorer {
|
|
620 |
break;
|
621 |
}
|
622 |
} else {
|
623 |
-
if ('warning' == $
|
624 |
$line = '<strong>'.htmlspecialchars($line).'</strong>';
|
625 |
} else {
|
626 |
$line = htmlspecialchars($line);
|
@@ -1273,10 +1268,9 @@ class Updraft_Restorer {
|
|
1273 |
|
1274 |
$ret_val = true;
|
1275 |
$updraft_dir = $updraftplus->backups_dir_location();
|
1276 |
-
|
1277 |
-
if (!is_array($this->continuation_data) && (('plugins' == $type || 'uploads' == $type || 'themes' == $type) && (!is_multisite() || 0 !== $this->ud_backup_is_multisite || ('uploads' != $type || empty($updraftplus_addons_migrator->new_blogid))))) {
|
1278 |
if (file_exists($updraft_dir.'/'.basename($wp_filesystem_dir)."-old")) {
|
1279 |
-
$ret_val = new WP_Error('already_exists', sprintf(__('Existing unremoved folders from a previous restore exist (please use the "Delete Old Directories" button to delete them before trying again): %s', 'updraftplus'), $wp_filesystem_dir.
|
1280 |
}
|
1281 |
}
|
1282 |
|
@@ -1379,7 +1373,7 @@ class Updraft_Restorer {
|
|
1379 |
}
|
1380 |
if (!empty($ud_version) && $this->can_version_ajax_restore($ud_version) && !empty($this->ud_backup_set['timestamp'])) {
|
1381 |
$nonce = $updraftplus->nonce;
|
1382 |
-
if (!function_exists('crypt_random_string')) $updraftplus->ensure_phpseclib('Crypt_Random'
|
1383 |
$this->ajax_restore_auth_code = bin2hex(crypt_random_string(32));
|
1384 |
// TODO: Delete this when done, to prevent abuse
|
1385 |
update_site_option('updraft_ajax_restore_'.$nonce, $this->ajax_restore_auth_code.':'.time());
|
@@ -1921,8 +1915,12 @@ ENDHERE;
|
|
1921 |
public function clear_cache() {
|
1922 |
// Functions called here need to not assume that the relevant plugin actually exists - they should check for any functions they intend to call, before calling them.
|
1923 |
$this->clear_cache_wpsupercache();
|
1924 |
-
// It should be harmless to just purge the standard directory anyway (it's not backed up by default)
|
1925 |
-
|
|
|
|
|
|
|
|
|
1926 |
}
|
1927 |
|
1928 |
/**
|
@@ -2087,6 +2085,18 @@ ENDHERE;
|
|
2087 |
return $move_from;
|
2088 |
}
|
2089 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2090 |
/**
|
2091 |
* Gets the table prefix to use, using the filter updraftplus_restore_set_import_table_prefix
|
2092 |
*
|
@@ -2101,7 +2111,7 @@ ENDHERE;
|
|
2101 |
$import_table_prefix = apply_filters('updraftplus_restore_set_table_prefix', $import_table_prefix, $this->ud_backup_is_multisite);
|
2102 |
|
2103 |
if (!is_string($import_table_prefix)) {
|
2104 |
-
$this->
|
2105 |
if (false === $import_table_prefix) {
|
2106 |
$updraftplus->log(__('Please supply the requested information, and then continue.', 'updraftplus'), 'notice-restore');
|
2107 |
return false;
|
@@ -2372,7 +2382,7 @@ ENDHERE;
|
|
2372 |
$this->max_allowed_packet = $updraftplus->max_packet_size();
|
2373 |
|
2374 |
$updraftplus->log('Entering maintenance mode');
|
2375 |
-
$this->
|
2376 |
|
2377 |
// N.B. There is no such function as bzeof() - we have to detect that another way
|
2378 |
while (($is_plain && !feof($dbhandle)) || (!$is_plain && (($is_bz2) || (!$is_bz2 && !gzeof($dbhandle))))) {
|
@@ -2506,7 +2516,7 @@ ENDHERE;
|
|
2506 |
// If this is the very first SQL line of the options table, we need to bail; it's essential
|
2507 |
if (0 == $this->insert_statements_run && $restoring_table && $restoring_table == $import_table_prefix.'options') {
|
2508 |
$updraftplus->log("Leaving maintenance mode");
|
2509 |
-
$this->
|
2510 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)'));
|
2511 |
}
|
2512 |
continue;
|
@@ -2761,7 +2771,7 @@ ENDHERE;
|
|
2761 |
$updraftplus->log("Unlocking database and leaving maintenance mode");
|
2762 |
$this->unlock_tables();
|
2763 |
}
|
2764 |
-
$this->
|
2765 |
|
2766 |
if ($restoring_table) $this->restored_table($restoring_table, $import_table_prefix, $this->old_table_prefix);
|
2767 |
|
@@ -2981,7 +2991,7 @@ ENDHERE;
|
|
2981 |
$this->errors++;
|
2982 |
if (0 == $this->insert_statements_run && $this->new_table_name && $this->new_table_name == $import_table_prefix.'options') {
|
2983 |
$updraftplus->log('Leaving maintenance mode');
|
2984 |
-
$this->
|
2985 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)'));
|
2986 |
}
|
2987 |
return false;
|
@@ -3028,7 +3038,7 @@ ENDHERE;
|
|
3028 |
$updraftplus->log_e("Create table failed - probably because there is no permission to drop tables and the table already exists; will continue");
|
3029 |
} else {
|
3030 |
$updraftplus->log("Leaving maintenance mode");
|
3031 |
-
$this->
|
3032 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'CREATE TABLE'));
|
3033 |
}
|
3034 |
} elseif (2 == $sql_type && 0 == $this->tables_created && $this->drop_forbidden) {
|
@@ -3036,7 +3046,7 @@ ENDHERE;
|
|
3036 |
if (!$ignore_errors) $this->errors--;
|
3037 |
} elseif (8 == $sql_type && 1 == $this->errors) {
|
3038 |
$updraftplus->log("Aborted: SET NAMES ".$this->set_names." failed: leaving maintenance mode");
|
3039 |
-
$this->
|
3040 |
$extra_msg = '';
|
3041 |
$dbv = $wpdb->db_version();
|
3042 |
if ('utf8mb4' == strtolower($this->set_names) && $dbv && version_compare($dbv, '5.2.0', '<=')) {
|
@@ -3046,7 +3056,7 @@ ENDHERE;
|
|
3046 |
}
|
3047 |
|
3048 |
if ($this->errors > 49) {
|
3049 |
-
$this->
|
3050 |
return new WP_Error('too_many_db_errors', __('Too many database errors have occurred - aborting', 'updraftplus'));
|
3051 |
}
|
3052 |
} elseif (2 == $sql_type) {
|
414 |
|
415 |
global $updraftplus;
|
416 |
|
417 |
+
$updraftplus->log_restore_update(array('type' => 'state', 'stage' => 'verifying', 'data' => implode(', ', array_flip($entities_to_restore))));
|
418 |
+
|
419 |
// Now log. We first remove any encryption passphrase from the log data.
|
420 |
$copy_restore_options = $restore_options;
|
421 |
if (!empty($copy_restore_options['updraft_encryptionphrase'])) $copy_restore_options['updraft_encryptionphrase'] = '***';
|
587 |
global $updraftplus;
|
588 |
static $logfile_handle;
|
589 |
static $opened_log_time;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
590 |
|
591 |
if (empty($logfile_handle)) {
|
592 |
$logfile_name = $updraftplus->backups_dir_location()."/log.$nonce-browser.txt";
|
615 |
break;
|
616 |
}
|
617 |
} else {
|
618 |
+
if ('warning' == $level || 'error' == $level || $uniq_id) {
|
619 |
$line = '<strong>'.htmlspecialchars($line).'</strong>';
|
620 |
} else {
|
621 |
$line = htmlspecialchars($line);
|
1268 |
|
1269 |
$ret_val = true;
|
1270 |
$updraft_dir = $updraftplus->backups_dir_location();
|
1271 |
+
if (isset($this->continuation_data['updraftplus_ajax_restore']) && 'continue_ajax_restore' != $this->continuation_data['updraftplus_ajax_restore'] && (('plugins' == $type || 'uploads' == $type || 'themes' == $type) && (!is_multisite() || 0 !== $this->ud_backup_is_multisite || ('uploads' != $type || empty($updraftplus_addons_migrator->new_blogid))))) {
|
|
|
1272 |
if (file_exists($updraft_dir.'/'.basename($wp_filesystem_dir)."-old")) {
|
1273 |
+
$ret_val = new WP_Error('already_exists', sprintf(__('Existing unremoved folders from a previous restore exist (please use the "Delete Old Directories" button to delete them before trying again): %s', 'updraftplus'), $updraft_dir.'/'.basename($wp_filesystem_dir)."-old"));
|
1274 |
}
|
1275 |
}
|
1276 |
|
1373 |
}
|
1374 |
if (!empty($ud_version) && $this->can_version_ajax_restore($ud_version) && !empty($this->ud_backup_set['timestamp'])) {
|
1375 |
$nonce = $updraftplus->nonce;
|
1376 |
+
if (!function_exists('crypt_random_string')) $updraftplus->ensure_phpseclib('Crypt_Random');
|
1377 |
$this->ajax_restore_auth_code = bin2hex(crypt_random_string(32));
|
1378 |
// TODO: Delete this when done, to prevent abuse
|
1379 |
update_site_option('updraft_ajax_restore_'.$nonce, $this->ajax_restore_auth_code.':'.time());
|
1915 |
public function clear_cache() {
|
1916 |
// Functions called here need to not assume that the relevant plugin actually exists - they should check for any functions they intend to call, before calling them.
|
1917 |
$this->clear_cache_wpsupercache();
|
1918 |
+
// It should be harmless to just purge the standard directory anyway (it's not backed up by default), and any others from other plugins
|
1919 |
+
$cache_sub_directories = array('cache', 'wphb-cache', 'endurance-page-cache');
|
1920 |
+
foreach ($cache_sub_directories as $sub_dir) {
|
1921 |
+
if (!is_dir(WP_CONTENT_DIR.'/'.$sub_dir)) continue;
|
1922 |
+
UpdraftPlus_Filesystem_Functions::remove_local_directory(WP_CONTENT_DIR.'/'.$sub_dir, true);
|
1923 |
+
}
|
1924 |
}
|
1925 |
|
1926 |
/**
|
2085 |
return $move_from;
|
2086 |
}
|
2087 |
|
2088 |
+
/**
|
2089 |
+
* Enter or leave maintenance mode
|
2090 |
+
*
|
2091 |
+
* @param Boolean $active - whether to activate, or de-activate, maintenance mode
|
2092 |
+
*/
|
2093 |
+
private function maintenance_mode($active) {
|
2094 |
+
// This allows add-ons to do something different if they prefer
|
2095 |
+
if (apply_filters('updraft_restore_maintenance_mode', true, $active, $this, $this->wp_upgrader)) {
|
2096 |
+
$this->wp_upgrader->maintenance_mode($active);
|
2097 |
+
}
|
2098 |
+
}
|
2099 |
+
|
2100 |
/**
|
2101 |
* Gets the table prefix to use, using the filter updraftplus_restore_set_import_table_prefix
|
2102 |
*
|
2111 |
$import_table_prefix = apply_filters('updraftplus_restore_set_table_prefix', $import_table_prefix, $this->ud_backup_is_multisite);
|
2112 |
|
2113 |
if (!is_string($import_table_prefix)) {
|
2114 |
+
$this->maintenance_mode(false);
|
2115 |
if (false === $import_table_prefix) {
|
2116 |
$updraftplus->log(__('Please supply the requested information, and then continue.', 'updraftplus'), 'notice-restore');
|
2117 |
return false;
|
2382 |
$this->max_allowed_packet = $updraftplus->max_packet_size();
|
2383 |
|
2384 |
$updraftplus->log('Entering maintenance mode');
|
2385 |
+
$this->maintenance_mode(true);
|
2386 |
|
2387 |
// N.B. There is no such function as bzeof() - we have to detect that another way
|
2388 |
while (($is_plain && !feof($dbhandle)) || (!$is_plain && (($is_bz2) || (!$is_bz2 && !gzeof($dbhandle))))) {
|
2516 |
// If this is the very first SQL line of the options table, we need to bail; it's essential
|
2517 |
if (0 == $this->insert_statements_run && $restoring_table && $restoring_table == $import_table_prefix.'options') {
|
2518 |
$updraftplus->log("Leaving maintenance mode");
|
2519 |
+
$this->maintenance_mode(false);
|
2520 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)'));
|
2521 |
}
|
2522 |
continue;
|
2771 |
$updraftplus->log("Unlocking database and leaving maintenance mode");
|
2772 |
$this->unlock_tables();
|
2773 |
}
|
2774 |
+
$this->maintenance_mode(false);
|
2775 |
|
2776 |
if ($restoring_table) $this->restored_table($restoring_table, $import_table_prefix, $this->old_table_prefix);
|
2777 |
|
2991 |
$this->errors++;
|
2992 |
if (0 == $this->insert_statements_run && $this->new_table_name && $this->new_table_name == $import_table_prefix.'options') {
|
2993 |
$updraftplus->log('Leaving maintenance mode');
|
2994 |
+
$this->maintenance_mode(false);
|
2995 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'INSERT (options)'));
|
2996 |
}
|
2997 |
return false;
|
3038 |
$updraftplus->log_e("Create table failed - probably because there is no permission to drop tables and the table already exists; will continue");
|
3039 |
} else {
|
3040 |
$updraftplus->log("Leaving maintenance mode");
|
3041 |
+
$this->maintenance_mode(false);
|
3042 |
return new WP_Error('initial_db_error', sprintf(__('An error occurred on the first %s command - aborting run', 'updraftplus'), 'CREATE TABLE'));
|
3043 |
}
|
3044 |
} elseif (2 == $sql_type && 0 == $this->tables_created && $this->drop_forbidden) {
|
3046 |
if (!$ignore_errors) $this->errors--;
|
3047 |
} elseif (8 == $sql_type && 1 == $this->errors) {
|
3048 |
$updraftplus->log("Aborted: SET NAMES ".$this->set_names." failed: leaving maintenance mode");
|
3049 |
+
$this->maintenance_mode(false);
|
3050 |
$extra_msg = '';
|
3051 |
$dbv = $wpdb->db_version();
|
3052 |
if ('utf8mb4' == strtolower($this->set_names) && $dbv && version_compare($dbv, '5.2.0', '<=')) {
|
3056 |
}
|
3057 |
|
3058 |
if ($this->errors > 49) {
|
3059 |
+
$this->maintenance_mode(false);
|
3060 |
return new WP_Error('too_many_db_errors', __('Too many database errors have occurred - aborting', 'updraftplus'));
|
3061 |
}
|
3062 |
} elseif (2 == $sql_type) {
|
@@ -24,7 +24,7 @@ foreach ($default_options as $k => $v) {
|
|
24 |
<div>
|
25 |
<select class="updraft_interval" name="updraft_interval">
|
26 |
<?php
|
27 |
-
$intervals = $updraftplus_admin->get_intervals();
|
28 |
$selected_interval = UpdraftPlus_Options::get_updraft_option('updraft_interval', 'manual');
|
29 |
foreach ($intervals as $cronsched => $descrip) {
|
30 |
echo "<option value=\"$cronsched\" ";
|
@@ -61,6 +61,7 @@ foreach ($default_options as $k => $v) {
|
|
61 |
<div>
|
62 |
<select class="updraft_interval_database" name="updraft_interval_database">
|
63 |
<?php
|
|
|
64 |
$selected_interval_db = UpdraftPlus_Options::get_updraft_option('updraft_interval_database', UpdraftPlus_Options::get_updraft_option('updraft_interval'));
|
65 |
foreach ($intervals as $cronsched => $descrip) {
|
66 |
echo "<option value=\"$cronsched\" ";
|
24 |
<div>
|
25 |
<select class="updraft_interval" name="updraft_interval">
|
26 |
<?php
|
27 |
+
$intervals = $updraftplus_admin->get_intervals('files');
|
28 |
$selected_interval = UpdraftPlus_Options::get_updraft_option('updraft_interval', 'manual');
|
29 |
foreach ($intervals as $cronsched => $descrip) {
|
30 |
echo "<option value=\"$cronsched\" ";
|
61 |
<div>
|
62 |
<select class="updraft_interval_database" name="updraft_interval_database">
|
63 |
<?php
|
64 |
+
$intervals = $updraftplus_admin->get_intervals('db');
|
65 |
$selected_interval_db = UpdraftPlus_Options::get_updraft_option('updraft_interval_database', UpdraftPlus_Options::get_updraft_option('updraft_interval'));
|
66 |
foreach ($intervals as $cronsched => $descrip) {
|
67 |
echo "<option value=\"$cronsched\" ";
|
@@ -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
|
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.15
|
9 |
Donate link: https://david.dw-perspective.org.uk/donate
|
10 |
License: GPLv3 or later
|
11 |
Text Domain: updraftplus
|
@@ -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 ComposerAutoloaderInit910a6a6207c3117d5fbb76f01dd074c2::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 ComposerAutoloaderInitb16aca81f015c6c57a21a034e42d585b
|
|
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 ComposerAutoloaderInitb16aca81f015c6c57a21a034e42d585b
|
|
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 ComposerAutoloaderInitb16aca81f015c6c57a21a034e42d585b
|
|
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 ComposerAutoloaderInit910a6a6207c3117d5fbb76f01dd074c2
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit910a6a6207c3117d5fbb76f01dd074c2', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit910a6a6207c3117d5fbb76f01dd074c2', '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\ComposerStaticInit910a6a6207c3117d5fbb76f01dd074c2::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\ComposerStaticInit910a6a6207c3117d5fbb76f01dd074c2::$files;
|
56 |
} else {
|
57 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
58 |
}
|
59 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
60 |
+
composerRequire910a6a6207c3117d5fbb76f01dd074c2($fileIdentifier, $file);
|
61 |
}
|
62 |
|
63 |
return $loader;
|
64 |
}
|
65 |
}
|
66 |
|
67 |
+
function composerRequire910a6a6207c3117d5fbb76f01dd074c2($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 ComposerStaticInitb16aca81f015c6c57a21a034e42d585b
|
|
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 ComposerStaticInit910a6a6207c3117d5fbb76f01dd074c2
|
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 = ComposerStaticInit910a6a6207c3117d5fbb76f01dd074c2::$prefixLengthsPsr4;
|
150 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit910a6a6207c3117d5fbb76f01dd074c2::$prefixDirsPsr4;
|
151 |
+
$loader->prefixesPsr0 = ComposerStaticInit910a6a6207c3117d5fbb76f01dd074c2::$prefixesPsr0;
|
152 |
+
$loader->classMap = ComposerStaticInit910a6a6207c3117d5fbb76f01dd074c2::$classMap;
|
153 |
|
154 |
}, null, ClassLoader::class);
|
155 |
}
|
@@ -708,23 +708,23 @@
|
|
708 |
},
|
709 |
{
|
710 |
"name": "symfony/process",
|
711 |
-
"version": "v3.4.
|
712 |
-
"version_normalized": "3.4.
|
713 |
"source": {
|
714 |
"type": "git",
|
715 |
"url": "https://github.com/symfony/process.git",
|
716 |
-
"reference": "
|
717 |
},
|
718 |
"dist": {
|
719 |
"type": "zip",
|
720 |
-
"url": "https://api.github.com/repos/symfony/process/zipball/
|
721 |
-
"reference": "
|
722 |
"shasum": ""
|
723 |
},
|
724 |
"require": {
|
725 |
"php": "^5.5.9|>=7.0.8"
|
726 |
},
|
727 |
-
"time": "2019-
|
728 |
"type": "library",
|
729 |
"extra": {
|
730 |
"branch-alias": {
|
708 |
},
|
709 |
{
|
710 |
"name": "symfony/process",
|
711 |
+
"version": "v3.4.28",
|
712 |
+
"version_normalized": "3.4.28.0",
|
713 |
"source": {
|
714 |
"type": "git",
|
715 |
"url": "https://github.com/symfony/process.git",
|
716 |
+
"reference": "afe411c2a6084f25cff55a01d0d4e1474c97ff13"
|
717 |
},
|
718 |
"dist": {
|
719 |
"type": "zip",
|
720 |
+
"url": "https://api.github.com/repos/symfony/process/zipball/afe411c2a6084f25cff55a01d0d4e1474c97ff13",
|
721 |
+
"reference": "afe411c2a6084f25cff55a01d0d4e1474c97ff13",
|
722 |
"shasum": ""
|
723 |
},
|
724 |
"require": {
|
725 |
"php": "^5.5.9|>=7.0.8"
|
726 |
},
|
727 |
+
"time": "2019-05-22T12:54:11+00:00",
|
728 |
"type": "library",
|
729 |
"extra": {
|
730 |
"branch-alias": {
|
@@ -1,398 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\EventDispatcher\Event;
|
16 |
-
use Symfony\Component\EventDispatcher\EventDispatcher;
|
17 |
-
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
18 |
-
|
19 |
-
abstract class AbstractEventDispatcherTest extends TestCase
|
20 |
-
{
|
21 |
-
/* Some pseudo events */
|
22 |
-
const preFoo = 'pre.foo';
|
23 |
-
const postFoo = 'post.foo';
|
24 |
-
const preBar = 'pre.bar';
|
25 |
-
const postBar = 'post.bar';
|
26 |
-
|
27 |
-
/**
|
28 |
-
* @var EventDispatcher
|
29 |
-
*/
|
30 |
-
private $dispatcher;
|
31 |
-
|
32 |
-
private $listener;
|
33 |
-
|
34 |
-
protected function setUp()
|
35 |
-
{
|
36 |
-
$this->dispatcher = $this->createEventDispatcher();
|
37 |
-
$this->listener = new TestEventListener();
|
38 |
-
}
|
39 |
-
|
40 |
-
protected function tearDown()
|
41 |
-
{
|
42 |
-
$this->dispatcher = null;
|
43 |
-
$this->listener = null;
|
44 |
-
}
|
45 |
-
|
46 |
-
abstract protected function createEventDispatcher();
|
47 |
-
|
48 |
-
public function testInitialState()
|
49 |
-
{
|
50 |
-
$this->assertEquals(array(), $this->dispatcher->getListeners());
|
51 |
-
$this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
|
52 |
-
$this->assertFalse($this->dispatcher->hasListeners(self::postFoo));
|
53 |
-
}
|
54 |
-
|
55 |
-
public function testAddListener()
|
56 |
-
{
|
57 |
-
$this->dispatcher->addListener('pre.foo', array($this->listener, 'preFoo'));
|
58 |
-
$this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'));
|
59 |
-
$this->assertTrue($this->dispatcher->hasListeners());
|
60 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
|
61 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
|
62 |
-
$this->assertCount(1, $this->dispatcher->getListeners(self::preFoo));
|
63 |
-
$this->assertCount(1, $this->dispatcher->getListeners(self::postFoo));
|
64 |
-
$this->assertCount(2, $this->dispatcher->getListeners());
|
65 |
-
}
|
66 |
-
|
67 |
-
public function testGetListenersSortsByPriority()
|
68 |
-
{
|
69 |
-
$listener1 = new TestEventListener();
|
70 |
-
$listener2 = new TestEventListener();
|
71 |
-
$listener3 = new TestEventListener();
|
72 |
-
$listener1->name = '1';
|
73 |
-
$listener2->name = '2';
|
74 |
-
$listener3->name = '3';
|
75 |
-
|
76 |
-
$this->dispatcher->addListener('pre.foo', array($listener1, 'preFoo'), -10);
|
77 |
-
$this->dispatcher->addListener('pre.foo', array($listener2, 'preFoo'), 10);
|
78 |
-
$this->dispatcher->addListener('pre.foo', array($listener3, 'preFoo'));
|
79 |
-
|
80 |
-
$expected = array(
|
81 |
-
array($listener2, 'preFoo'),
|
82 |
-
array($listener3, 'preFoo'),
|
83 |
-
array($listener1, 'preFoo'),
|
84 |
-
);
|
85 |
-
|
86 |
-
$this->assertSame($expected, $this->dispatcher->getListeners('pre.foo'));
|
87 |
-
}
|
88 |
-
|
89 |
-
public function testGetAllListenersSortsByPriority()
|
90 |
-
{
|
91 |
-
$listener1 = new TestEventListener();
|
92 |
-
$listener2 = new TestEventListener();
|
93 |
-
$listener3 = new TestEventListener();
|
94 |
-
$listener4 = new TestEventListener();
|
95 |
-
$listener5 = new TestEventListener();
|
96 |
-
$listener6 = new TestEventListener();
|
97 |
-
|
98 |
-
$this->dispatcher->addListener('pre.foo', $listener1, -10);
|
99 |
-
$this->dispatcher->addListener('pre.foo', $listener2);
|
100 |
-
$this->dispatcher->addListener('pre.foo', $listener3, 10);
|
101 |
-
$this->dispatcher->addListener('post.foo', $listener4, -10);
|
102 |
-
$this->dispatcher->addListener('post.foo', $listener5);
|
103 |
-
$this->dispatcher->addListener('post.foo', $listener6, 10);
|
104 |
-
|
105 |
-
$expected = array(
|
106 |
-
'pre.foo' => array($listener3, $listener2, $listener1),
|
107 |
-
'post.foo' => array($listener6, $listener5, $listener4),
|
108 |
-
);
|
109 |
-
|
110 |
-
$this->assertSame($expected, $this->dispatcher->getListeners());
|
111 |
-
}
|
112 |
-
|
113 |
-
public function testGetListenerPriority()
|
114 |
-
{
|
115 |
-
$listener1 = new TestEventListener();
|
116 |
-
$listener2 = new TestEventListener();
|
117 |
-
|
118 |
-
$this->dispatcher->addListener('pre.foo', $listener1, -10);
|
119 |
-
$this->dispatcher->addListener('pre.foo', $listener2);
|
120 |
-
|
121 |
-
$this->assertSame(-10, $this->dispatcher->getListenerPriority('pre.foo', $listener1));
|
122 |
-
$this->assertSame(0, $this->dispatcher->getListenerPriority('pre.foo', $listener2));
|
123 |
-
$this->assertNull($this->dispatcher->getListenerPriority('pre.bar', $listener2));
|
124 |
-
$this->assertNull($this->dispatcher->getListenerPriority('pre.foo', function () {}));
|
125 |
-
}
|
126 |
-
|
127 |
-
public function testDispatch()
|
128 |
-
{
|
129 |
-
$this->dispatcher->addListener('pre.foo', array($this->listener, 'preFoo'));
|
130 |
-
$this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'));
|
131 |
-
$this->dispatcher->dispatch(self::preFoo);
|
132 |
-
$this->assertTrue($this->listener->preFooInvoked);
|
133 |
-
$this->assertFalse($this->listener->postFooInvoked);
|
134 |
-
$this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch('noevent'));
|
135 |
-
$this->assertInstanceOf('Symfony\Component\EventDispatcher\Event', $this->dispatcher->dispatch(self::preFoo));
|
136 |
-
$event = new Event();
|
137 |
-
$return = $this->dispatcher->dispatch(self::preFoo, $event);
|
138 |
-
$this->assertSame($event, $return);
|
139 |
-
}
|
140 |
-
|
141 |
-
/**
|
142 |
-
* @group legacy
|
143 |
-
*/
|
144 |
-
public function testLegacyDispatch()
|
145 |
-
{
|
146 |
-
$event = new Event();
|
147 |
-
$this->dispatcher->dispatch(self::preFoo, $event);
|
148 |
-
$this->assertEquals('pre.foo', $event->getName());
|
149 |
-
}
|
150 |
-
|
151 |
-
public function testDispatchForClosure()
|
152 |
-
{
|
153 |
-
$invoked = 0;
|
154 |
-
$listener = function () use (&$invoked) {
|
155 |
-
++$invoked;
|
156 |
-
};
|
157 |
-
$this->dispatcher->addListener('pre.foo', $listener);
|
158 |
-
$this->dispatcher->addListener('post.foo', $listener);
|
159 |
-
$this->dispatcher->dispatch(self::preFoo);
|
160 |
-
$this->assertEquals(1, $invoked);
|
161 |
-
}
|
162 |
-
|
163 |
-
public function testStopEventPropagation()
|
164 |
-
{
|
165 |
-
$otherListener = new TestEventListener();
|
166 |
-
|
167 |
-
// postFoo() stops the propagation, so only one listener should
|
168 |
-
// be executed
|
169 |
-
// Manually set priority to enforce $this->listener to be called first
|
170 |
-
$this->dispatcher->addListener('post.foo', array($this->listener, 'postFoo'), 10);
|
171 |
-
$this->dispatcher->addListener('post.foo', array($otherListener, 'postFoo'));
|
172 |
-
$this->dispatcher->dispatch(self::postFoo);
|
173 |
-
$this->assertTrue($this->listener->postFooInvoked);
|
174 |
-
$this->assertFalse($otherListener->postFooInvoked);
|
175 |
-
}
|
176 |
-
|
177 |
-
public function testDispatchByPriority()
|
178 |
-
{
|
179 |
-
$invoked = array();
|
180 |
-
$listener1 = function () use (&$invoked) {
|
181 |
-
$invoked[] = '1';
|
182 |
-
};
|
183 |
-
$listener2 = function () use (&$invoked) {
|
184 |
-
$invoked[] = '2';
|
185 |
-
};
|
186 |
-
$listener3 = function () use (&$invoked) {
|
187 |
-
$invoked[] = '3';
|
188 |
-
};
|
189 |
-
$this->dispatcher->addListener('pre.foo', $listener1, -10);
|
190 |
-
$this->dispatcher->addListener('pre.foo', $listener2);
|
191 |
-
$this->dispatcher->addListener('pre.foo', $listener3, 10);
|
192 |
-
$this->dispatcher->dispatch(self::preFoo);
|
193 |
-
$this->assertEquals(array('3', '2', '1'), $invoked);
|
194 |
-
}
|
195 |
-
|
196 |
-
public function testRemoveListener()
|
197 |
-
{
|
198 |
-
$this->dispatcher->addListener('pre.bar', $this->listener);
|
199 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preBar));
|
200 |
-
$this->dispatcher->removeListener('pre.bar', $this->listener);
|
201 |
-
$this->assertFalse($this->dispatcher->hasListeners(self::preBar));
|
202 |
-
$this->dispatcher->removeListener('notExists', $this->listener);
|
203 |
-
}
|
204 |
-
|
205 |
-
public function testAddSubscriber()
|
206 |
-
{
|
207 |
-
$eventSubscriber = new TestEventSubscriber();
|
208 |
-
$this->dispatcher->addSubscriber($eventSubscriber);
|
209 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
|
210 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
|
211 |
-
}
|
212 |
-
|
213 |
-
public function testAddSubscriberWithPriorities()
|
214 |
-
{
|
215 |
-
$eventSubscriber = new TestEventSubscriber();
|
216 |
-
$this->dispatcher->addSubscriber($eventSubscriber);
|
217 |
-
|
218 |
-
$eventSubscriber = new TestEventSubscriberWithPriorities();
|
219 |
-
$this->dispatcher->addSubscriber($eventSubscriber);
|
220 |
-
|
221 |
-
$listeners = $this->dispatcher->getListeners('pre.foo');
|
222 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
|
223 |
-
$this->assertCount(2, $listeners);
|
224 |
-
$this->assertInstanceOf('Symfony\Component\EventDispatcher\Tests\TestEventSubscriberWithPriorities', $listeners[0][0]);
|
225 |
-
}
|
226 |
-
|
227 |
-
public function testAddSubscriberWithMultipleListeners()
|
228 |
-
{
|
229 |
-
$eventSubscriber = new TestEventSubscriberWithMultipleListeners();
|
230 |
-
$this->dispatcher->addSubscriber($eventSubscriber);
|
231 |
-
|
232 |
-
$listeners = $this->dispatcher->getListeners('pre.foo');
|
233 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
|
234 |
-
$this->assertCount(2, $listeners);
|
235 |
-
$this->assertEquals('preFoo2', $listeners[0][1]);
|
236 |
-
}
|
237 |
-
|
238 |
-
public function testRemoveSubscriber()
|
239 |
-
{
|
240 |
-
$eventSubscriber = new TestEventSubscriber();
|
241 |
-
$this->dispatcher->addSubscriber($eventSubscriber);
|
242 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
|
243 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::postFoo));
|
244 |
-
$this->dispatcher->removeSubscriber($eventSubscriber);
|
245 |
-
$this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
|
246 |
-
$this->assertFalse($this->dispatcher->hasListeners(self::postFoo));
|
247 |
-
}
|
248 |
-
|
249 |
-
public function testRemoveSubscriberWithPriorities()
|
250 |
-
{
|
251 |
-
$eventSubscriber = new TestEventSubscriberWithPriorities();
|
252 |
-
$this->dispatcher->addSubscriber($eventSubscriber);
|
253 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
|
254 |
-
$this->dispatcher->removeSubscriber($eventSubscriber);
|
255 |
-
$this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
|
256 |
-
}
|
257 |
-
|
258 |
-
public function testRemoveSubscriberWithMultipleListeners()
|
259 |
-
{
|
260 |
-
$eventSubscriber = new TestEventSubscriberWithMultipleListeners();
|
261 |
-
$this->dispatcher->addSubscriber($eventSubscriber);
|
262 |
-
$this->assertTrue($this->dispatcher->hasListeners(self::preFoo));
|
263 |
-
$this->assertCount(2, $this->dispatcher->getListeners(self::preFoo));
|
264 |
-
$this->dispatcher->removeSubscriber($eventSubscriber);
|
265 |
-
$this->assertFalse($this->dispatcher->hasListeners(self::preFoo));
|
266 |
-
}
|
267 |
-
|
268 |
-
/**
|
269 |
-
* @group legacy
|
270 |
-
*/
|
271 |
-
public function testLegacyEventReceivesTheDispatcherInstance()
|
272 |
-
{
|
273 |
-
$dispatcher = null;
|
274 |
-
$this->dispatcher->addListener('test', function ($event) use (&$dispatcher) {
|
275 |
-
$dispatcher = $event->getDispatcher();
|
276 |
-
});
|
277 |
-
$this->dispatcher->dispatch('test');
|
278 |
-
$this->assertSame($this->dispatcher, $dispatcher);
|
279 |
-
}
|
280 |
-
|
281 |
-
public function testEventReceivesTheDispatcherInstanceAsArgument()
|
282 |
-
{
|
283 |
-
$listener = new TestWithDispatcher();
|
284 |
-
$this->dispatcher->addListener('test', array($listener, 'foo'));
|
285 |
-
$this->assertNull($listener->name);
|
286 |
-
$this->assertNull($listener->dispatcher);
|
287 |
-
$this->dispatcher->dispatch('test');
|
288 |
-
$this->assertEquals('test', $listener->name);
|
289 |
-
$this->assertSame($this->dispatcher, $listener->dispatcher);
|
290 |
-
}
|
291 |
-
|
292 |
-
/**
|
293 |
-
* @see https://bugs.php.net/bug.php?id=62976
|
294 |
-
*
|
295 |
-
* This bug affects:
|
296 |
-
* - The PHP 5.3 branch for versions < 5.3.18
|
297 |
-
* - The PHP 5.4 branch for versions < 5.4.8
|
298 |
-
* - The PHP 5.5 branch is not affected
|
299 |
-
*/
|
300 |
-
public function testWorkaroundForPhpBug62976()
|
301 |
-
{
|
302 |
-
$dispatcher = $this->createEventDispatcher();
|
303 |
-
$dispatcher->addListener('bug.62976', new CallableClass());
|
304 |
-
$dispatcher->removeListener('bug.62976', function () {});
|
305 |
-
$this->assertTrue($dispatcher->hasListeners('bug.62976'));
|
306 |
-
}
|
307 |
-
|
308 |
-
public function testHasListenersWhenAddedCallbackListenerIsRemoved()
|
309 |
-
{
|
310 |
-
$listener = function () {};
|
311 |
-
$this->dispatcher->addListener('foo', $listener);
|
312 |
-
$this->dispatcher->removeListener('foo', $listener);
|
313 |
-
$this->assertFalse($this->dispatcher->hasListeners());
|
314 |
-
}
|
315 |
-
|
316 |
-
public function testGetListenersWhenAddedCallbackListenerIsRemoved()
|
317 |
-
{
|
318 |
-
$listener = function () {};
|
319 |
-
$this->dispatcher->addListener('foo', $listener);
|
320 |
-
$this->dispatcher->removeListener('foo', $listener);
|
321 |
-
$this->assertSame(array(), $this->dispatcher->getListeners());
|
322 |
-
}
|
323 |
-
|
324 |
-
public function testHasListenersWithoutEventsReturnsFalseAfterHasListenersWithEventHasBeenCalled()
|
325 |
-
{
|
326 |
-
$this->assertFalse($this->dispatcher->hasListeners('foo'));
|
327 |
-
$this->assertFalse($this->dispatcher->hasListeners());
|
328 |
-
}
|
329 |
-
}
|
330 |
-
|
331 |
-
class CallableClass
|
332 |
-
{
|
333 |
-
public function __invoke()
|
334 |
-
{
|
335 |
-
}
|
336 |
-
}
|
337 |
-
|
338 |
-
class TestEventListener
|
339 |
-
{
|
340 |
-
public $preFooInvoked = false;
|
341 |
-
public $postFooInvoked = false;
|
342 |
-
|
343 |
-
/* Listener methods */
|
344 |
-
|
345 |
-
public function preFoo(Event $e)
|
346 |
-
{
|
347 |
-
$this->preFooInvoked = true;
|
348 |
-
}
|
349 |
-
|
350 |
-
public function postFoo(Event $e)
|
351 |
-
{
|
352 |
-
$this->postFooInvoked = true;
|
353 |
-
|
354 |
-
$e->stopPropagation();
|
355 |
-
}
|
356 |
-
}
|
357 |
-
|
358 |
-
class TestWithDispatcher
|
359 |
-
{
|
360 |
-
public $name;
|
361 |
-
public $dispatcher;
|
362 |
-
|
363 |
-
public function foo(Event $e, $name, $dispatcher)
|
364 |
-
{
|
365 |
-
$this->name = $name;
|
366 |
-
$this->dispatcher = $dispatcher;
|
367 |
-
}
|
368 |
-
}
|
369 |
-
|
370 |
-
class TestEventSubscriber implements EventSubscriberInterface
|
371 |
-
{
|
372 |
-
public static function getSubscribedEvents()
|
373 |
-
{
|
374 |
-
return array('pre.foo' => 'preFoo', 'post.foo' => 'postFoo');
|
375 |
-
}
|
376 |
-
}
|
377 |
-
|
378 |
-
class TestEventSubscriberWithPriorities implements EventSubscriberInterface
|
379 |
-
{
|
380 |
-
public static function getSubscribedEvents()
|
381 |
-
{
|
382 |
-
return array(
|
383 |
-
'pre.foo' => array('preFoo', 10),
|
384 |
-
'post.foo' => array('postFoo'),
|
385 |
-
);
|
386 |
-
}
|
387 |
-
}
|
388 |
-
|
389 |
-
class TestEventSubscriberWithMultipleListeners implements EventSubscriberInterface
|
390 |
-
{
|
391 |
-
public static function getSubscribedEvents()
|
392 |
-
{
|
393 |
-
return array('pre.foo' => array(
|
394 |
-
array('preFoo1'),
|
395 |
-
array('preFoo2', 10),
|
396 |
-
));
|
397 |
-
}
|
398 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,277 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests;
|
13 |
-
|
14 |
-
use Symfony\Component\DependencyInjection\Container;
|
15 |
-
use Symfony\Component\DependencyInjection\Scope;
|
16 |
-
use Symfony\Component\EventDispatcher\ContainerAwareEventDispatcher;
|
17 |
-
use Symfony\Component\EventDispatcher\Event;
|
18 |
-
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
19 |
-
|
20 |
-
class ContainerAwareEventDispatcherTest extends AbstractEventDispatcherTest
|
21 |
-
{
|
22 |
-
protected function createEventDispatcher()
|
23 |
-
{
|
24 |
-
$container = new Container();
|
25 |
-
|
26 |
-
return new ContainerAwareEventDispatcher($container);
|
27 |
-
}
|
28 |
-
|
29 |
-
public function testAddAListenerService()
|
30 |
-
{
|
31 |
-
$event = new Event();
|
32 |
-
|
33 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
34 |
-
|
35 |
-
$service
|
36 |
-
->expects($this->once())
|
37 |
-
->method('onEvent')
|
38 |
-
->with($event)
|
39 |
-
;
|
40 |
-
|
41 |
-
$container = new Container();
|
42 |
-
$container->set('service.listener', $service);
|
43 |
-
|
44 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
45 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
|
46 |
-
|
47 |
-
$dispatcher->dispatch('onEvent', $event);
|
48 |
-
}
|
49 |
-
|
50 |
-
public function testAddASubscriberService()
|
51 |
-
{
|
52 |
-
$event = new Event();
|
53 |
-
|
54 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\SubscriberService')->getMock();
|
55 |
-
|
56 |
-
$service
|
57 |
-
->expects($this->once())
|
58 |
-
->method('onEvent')
|
59 |
-
->with($event)
|
60 |
-
;
|
61 |
-
|
62 |
-
$service
|
63 |
-
->expects($this->once())
|
64 |
-
->method('onEventWithPriority')
|
65 |
-
->with($event)
|
66 |
-
;
|
67 |
-
|
68 |
-
$service
|
69 |
-
->expects($this->once())
|
70 |
-
->method('onEventNested')
|
71 |
-
->with($event)
|
72 |
-
;
|
73 |
-
|
74 |
-
$container = new Container();
|
75 |
-
$container->set('service.subscriber', $service);
|
76 |
-
|
77 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
78 |
-
$dispatcher->addSubscriberService('service.subscriber', 'Symfony\Component\EventDispatcher\Tests\SubscriberService');
|
79 |
-
|
80 |
-
$dispatcher->dispatch('onEvent', $event);
|
81 |
-
$dispatcher->dispatch('onEventWithPriority', $event);
|
82 |
-
$dispatcher->dispatch('onEventNested', $event);
|
83 |
-
}
|
84 |
-
|
85 |
-
public function testPreventDuplicateListenerService()
|
86 |
-
{
|
87 |
-
$event = new Event();
|
88 |
-
|
89 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
90 |
-
|
91 |
-
$service
|
92 |
-
->expects($this->once())
|
93 |
-
->method('onEvent')
|
94 |
-
->with($event)
|
95 |
-
;
|
96 |
-
|
97 |
-
$container = new Container();
|
98 |
-
$container->set('service.listener', $service);
|
99 |
-
|
100 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
101 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'), 5);
|
102 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'), 10);
|
103 |
-
|
104 |
-
$dispatcher->dispatch('onEvent', $event);
|
105 |
-
}
|
106 |
-
|
107 |
-
/**
|
108 |
-
* @expectedException \InvalidArgumentException
|
109 |
-
* @group legacy
|
110 |
-
*/
|
111 |
-
public function testTriggerAListenerServiceOutOfScope()
|
112 |
-
{
|
113 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
114 |
-
|
115 |
-
$scope = new Scope('scope');
|
116 |
-
$container = new Container();
|
117 |
-
$container->addScope($scope);
|
118 |
-
$container->enterScope('scope');
|
119 |
-
|
120 |
-
$container->set('service.listener', $service, 'scope');
|
121 |
-
|
122 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
123 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
|
124 |
-
|
125 |
-
$container->leaveScope('scope');
|
126 |
-
$dispatcher->dispatch('onEvent');
|
127 |
-
}
|
128 |
-
|
129 |
-
/**
|
130 |
-
* @group legacy
|
131 |
-
*/
|
132 |
-
public function testReEnteringAScope()
|
133 |
-
{
|
134 |
-
$event = new Event();
|
135 |
-
|
136 |
-
$service1 = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
137 |
-
|
138 |
-
$service1
|
139 |
-
->expects($this->exactly(2))
|
140 |
-
->method('onEvent')
|
141 |
-
->with($event)
|
142 |
-
;
|
143 |
-
|
144 |
-
$scope = new Scope('scope');
|
145 |
-
$container = new Container();
|
146 |
-
$container->addScope($scope);
|
147 |
-
$container->enterScope('scope');
|
148 |
-
|
149 |
-
$container->set('service.listener', $service1, 'scope');
|
150 |
-
|
151 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
152 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
|
153 |
-
$dispatcher->dispatch('onEvent', $event);
|
154 |
-
|
155 |
-
$service2 = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
156 |
-
|
157 |
-
$service2
|
158 |
-
->expects($this->once())
|
159 |
-
->method('onEvent')
|
160 |
-
->with($event)
|
161 |
-
;
|
162 |
-
|
163 |
-
$container->enterScope('scope');
|
164 |
-
$container->set('service.listener', $service2, 'scope');
|
165 |
-
|
166 |
-
$dispatcher->dispatch('onEvent', $event);
|
167 |
-
|
168 |
-
$container->leaveScope('scope');
|
169 |
-
|
170 |
-
$dispatcher->dispatch('onEvent');
|
171 |
-
}
|
172 |
-
|
173 |
-
public function testHasListenersOnLazyLoad()
|
174 |
-
{
|
175 |
-
$event = new Event();
|
176 |
-
|
177 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
178 |
-
|
179 |
-
$container = new Container();
|
180 |
-
$container->set('service.listener', $service);
|
181 |
-
|
182 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
183 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
|
184 |
-
|
185 |
-
$event->setDispatcher($dispatcher);
|
186 |
-
$event->setName('onEvent');
|
187 |
-
|
188 |
-
$service
|
189 |
-
->expects($this->once())
|
190 |
-
->method('onEvent')
|
191 |
-
->with($event)
|
192 |
-
;
|
193 |
-
|
194 |
-
$this->assertTrue($dispatcher->hasListeners());
|
195 |
-
|
196 |
-
if ($dispatcher->hasListeners('onEvent')) {
|
197 |
-
$dispatcher->dispatch('onEvent');
|
198 |
-
}
|
199 |
-
}
|
200 |
-
|
201 |
-
public function testGetListenersOnLazyLoad()
|
202 |
-
{
|
203 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
204 |
-
|
205 |
-
$container = new Container();
|
206 |
-
$container->set('service.listener', $service);
|
207 |
-
|
208 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
209 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
|
210 |
-
|
211 |
-
$listeners = $dispatcher->getListeners();
|
212 |
-
|
213 |
-
$this->assertArrayHasKey('onEvent', $listeners);
|
214 |
-
|
215 |
-
$this->assertCount(1, $dispatcher->getListeners('onEvent'));
|
216 |
-
}
|
217 |
-
|
218 |
-
public function testRemoveAfterDispatch()
|
219 |
-
{
|
220 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
221 |
-
|
222 |
-
$container = new Container();
|
223 |
-
$container->set('service.listener', $service);
|
224 |
-
|
225 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
226 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
|
227 |
-
|
228 |
-
$dispatcher->dispatch('onEvent', new Event());
|
229 |
-
$dispatcher->removeListener('onEvent', array($container->get('service.listener'), 'onEvent'));
|
230 |
-
$this->assertFalse($dispatcher->hasListeners('onEvent'));
|
231 |
-
}
|
232 |
-
|
233 |
-
public function testRemoveBeforeDispatch()
|
234 |
-
{
|
235 |
-
$service = $this->getMockBuilder('Symfony\Component\EventDispatcher\Tests\Service')->getMock();
|
236 |
-
|
237 |
-
$container = new Container();
|
238 |
-
$container->set('service.listener', $service);
|
239 |
-
|
240 |
-
$dispatcher = new ContainerAwareEventDispatcher($container);
|
241 |
-
$dispatcher->addListenerService('onEvent', array('service.listener', 'onEvent'));
|
242 |
-
|
243 |
-
$dispatcher->removeListener('onEvent', array($container->get('service.listener'), 'onEvent'));
|
244 |
-
$this->assertFalse($dispatcher->hasListeners('onEvent'));
|
245 |
-
}
|
246 |
-
}
|
247 |
-
|
248 |
-
class Service
|
249 |
-
{
|
250 |
-
public function onEvent(Event $e)
|
251 |
-
{
|
252 |
-
}
|
253 |
-
}
|
254 |
-
|
255 |
-
class SubscriberService implements EventSubscriberInterface
|
256 |
-
{
|
257 |
-
public static function getSubscribedEvents()
|
258 |
-
{
|
259 |
-
return array(
|
260 |
-
'onEvent' => 'onEvent',
|
261 |
-
'onEventWithPriority' => array('onEventWithPriority', 10),
|
262 |
-
'onEventNested' => array(array('onEventNested')),
|
263 |
-
);
|
264 |
-
}
|
265 |
-
|
266 |
-
public function onEvent(Event $e)
|
267 |
-
{
|
268 |
-
}
|
269 |
-
|
270 |
-
public function onEventWithPriority(Event $e)
|
271 |
-
{
|
272 |
-
}
|
273 |
-
|
274 |
-
public function onEventNested(Event $e)
|
275 |
-
{
|
276 |
-
}
|
277 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,254 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests\Debug;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher;
|
16 |
-
use Symfony\Component\EventDispatcher\Debug\WrappedListener;
|
17 |
-
use Symfony\Component\EventDispatcher\Event;
|
18 |
-
use Symfony\Component\EventDispatcher\EventDispatcher;
|
19 |
-
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
20 |
-
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
21 |
-
use Symfony\Component\Stopwatch\Stopwatch;
|
22 |
-
|
23 |
-
class TraceableEventDispatcherTest extends TestCase
|
24 |
-
{
|
25 |
-
public function testAddRemoveListener()
|
26 |
-
{
|
27 |
-
$dispatcher = new EventDispatcher();
|
28 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
|
29 |
-
|
30 |
-
$tdispatcher->addListener('foo', $listener = function () {});
|
31 |
-
$listeners = $dispatcher->getListeners('foo');
|
32 |
-
$this->assertCount(1, $listeners);
|
33 |
-
$this->assertSame($listener, $listeners[0]);
|
34 |
-
|
35 |
-
$tdispatcher->removeListener('foo', $listener);
|
36 |
-
$this->assertCount(0, $dispatcher->getListeners('foo'));
|
37 |
-
}
|
38 |
-
|
39 |
-
public function testGetListeners()
|
40 |
-
{
|
41 |
-
$dispatcher = new EventDispatcher();
|
42 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
|
43 |
-
|
44 |
-
$tdispatcher->addListener('foo', $listener = function () {});
|
45 |
-
$this->assertSame($dispatcher->getListeners('foo'), $tdispatcher->getListeners('foo'));
|
46 |
-
}
|
47 |
-
|
48 |
-
public function testHasListeners()
|
49 |
-
{
|
50 |
-
$dispatcher = new EventDispatcher();
|
51 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
|
52 |
-
|
53 |
-
$this->assertFalse($dispatcher->hasListeners('foo'));
|
54 |
-
$this->assertFalse($tdispatcher->hasListeners('foo'));
|
55 |
-
|
56 |
-
$tdispatcher->addListener('foo', $listener = function () {});
|
57 |
-
$this->assertTrue($dispatcher->hasListeners('foo'));
|
58 |
-
$this->assertTrue($tdispatcher->hasListeners('foo'));
|
59 |
-
}
|
60 |
-
|
61 |
-
public function testGetListenerPriority()
|
62 |
-
{
|
63 |
-
$dispatcher = new EventDispatcher();
|
64 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
|
65 |
-
|
66 |
-
$tdispatcher->addListener('foo', function () {}, 123);
|
67 |
-
|
68 |
-
$listeners = $dispatcher->getListeners('foo');
|
69 |
-
$this->assertSame(123, $tdispatcher->getListenerPriority('foo', $listeners[0]));
|
70 |
-
|
71 |
-
// Verify that priority is preserved when listener is removed and re-added
|
72 |
-
// in preProcess() and postProcess().
|
73 |
-
$tdispatcher->dispatch('foo', new Event());
|
74 |
-
$listeners = $dispatcher->getListeners('foo');
|
75 |
-
$this->assertSame(123, $tdispatcher->getListenerPriority('foo', $listeners[0]));
|
76 |
-
}
|
77 |
-
|
78 |
-
public function testGetListenerPriorityReturnsZeroWhenWrappedMethodDoesNotExist()
|
79 |
-
{
|
80 |
-
$dispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock();
|
81 |
-
$traceableEventDispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
|
82 |
-
$traceableEventDispatcher->addListener('foo', function () {}, 123);
|
83 |
-
$listeners = $traceableEventDispatcher->getListeners('foo');
|
84 |
-
|
85 |
-
$this->assertSame(0, $traceableEventDispatcher->getListenerPriority('foo', $listeners[0]));
|
86 |
-
}
|
87 |
-
|
88 |
-
public function testAddRemoveSubscriber()
|
89 |
-
{
|
90 |
-
$dispatcher = new EventDispatcher();
|
91 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
|
92 |
-
|
93 |
-
$subscriber = new EventSubscriber();
|
94 |
-
|
95 |
-
$tdispatcher->addSubscriber($subscriber);
|
96 |
-
$listeners = $dispatcher->getListeners('foo');
|
97 |
-
$this->assertCount(1, $listeners);
|
98 |
-
$this->assertSame(array($subscriber, 'call'), $listeners[0]);
|
99 |
-
|
100 |
-
$tdispatcher->removeSubscriber($subscriber);
|
101 |
-
$this->assertCount(0, $dispatcher->getListeners('foo'));
|
102 |
-
}
|
103 |
-
|
104 |
-
/**
|
105 |
-
* @dataProvider isWrappedDataProvider
|
106 |
-
*
|
107 |
-
* @param bool $isWrapped
|
108 |
-
*/
|
109 |
-
public function testGetCalledListeners($isWrapped)
|
110 |
-
{
|
111 |
-
$dispatcher = new EventDispatcher();
|
112 |
-
$stopWatch = new Stopwatch();
|
113 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, $stopWatch);
|
114 |
-
|
115 |
-
$listener = function () {};
|
116 |
-
if ($isWrapped) {
|
117 |
-
$listener = new WrappedListener($listener, 'foo', $stopWatch, $dispatcher);
|
118 |
-
}
|
119 |
-
|
120 |
-
$tdispatcher->addListener('foo', $listener, 5);
|
121 |
-
|
122 |
-
$this->assertEquals(array(), $tdispatcher->getCalledListeners());
|
123 |
-
$this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure', 'priority' => 5)), $tdispatcher->getNotCalledListeners());
|
124 |
-
|
125 |
-
$tdispatcher->dispatch('foo');
|
126 |
-
|
127 |
-
$this->assertEquals(array('foo.closure' => array('event' => 'foo', 'type' => 'Closure', 'pretty' => 'closure', 'priority' => 5)), $tdispatcher->getCalledListeners());
|
128 |
-
$this->assertEquals(array(), $tdispatcher->getNotCalledListeners());
|
129 |
-
}
|
130 |
-
|
131 |
-
public function isWrappedDataProvider()
|
132 |
-
{
|
133 |
-
return array(
|
134 |
-
array(false),
|
135 |
-
array(true),
|
136 |
-
);
|
137 |
-
}
|
138 |
-
|
139 |
-
public function testGetCalledListenersNested()
|
140 |
-
{
|
141 |
-
$tdispatcher = null;
|
142 |
-
$dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
|
143 |
-
$dispatcher->addListener('foo', function (Event $event, $eventName, $dispatcher) use (&$tdispatcher) {
|
144 |
-
$tdispatcher = $dispatcher;
|
145 |
-
$dispatcher->dispatch('bar');
|
146 |
-
});
|
147 |
-
$dispatcher->addListener('bar', function (Event $event) {});
|
148 |
-
$dispatcher->dispatch('foo');
|
149 |
-
$this->assertSame($dispatcher, $tdispatcher);
|
150 |
-
$this->assertCount(2, $dispatcher->getCalledListeners());
|
151 |
-
}
|
152 |
-
|
153 |
-
public function testLogger()
|
154 |
-
{
|
155 |
-
$logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock();
|
156 |
-
|
157 |
-
$dispatcher = new EventDispatcher();
|
158 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
|
159 |
-
$tdispatcher->addListener('foo', $listener1 = function () {});
|
160 |
-
$tdispatcher->addListener('foo', $listener2 = function () {});
|
161 |
-
|
162 |
-
$logger->expects($this->at(0))->method('debug')->with('Notified event "foo" to listener "closure".');
|
163 |
-
$logger->expects($this->at(1))->method('debug')->with('Notified event "foo" to listener "closure".');
|
164 |
-
|
165 |
-
$tdispatcher->dispatch('foo');
|
166 |
-
}
|
167 |
-
|
168 |
-
public function testLoggerWithStoppedEvent()
|
169 |
-
{
|
170 |
-
$logger = $this->getMockBuilder('Psr\Log\LoggerInterface')->getMock();
|
171 |
-
|
172 |
-
$dispatcher = new EventDispatcher();
|
173 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch(), $logger);
|
174 |
-
$tdispatcher->addListener('foo', $listener1 = function (Event $event) { $event->stopPropagation(); });
|
175 |
-
$tdispatcher->addListener('foo', $listener2 = function () {});
|
176 |
-
|
177 |
-
$logger->expects($this->at(0))->method('debug')->with('Notified event "foo" to listener "closure".');
|
178 |
-
$logger->expects($this->at(1))->method('debug')->with('Listener "closure" stopped propagation of the event "foo".');
|
179 |
-
$logger->expects($this->at(2))->method('debug')->with('Listener "closure" was not called for event "foo".');
|
180 |
-
|
181 |
-
$tdispatcher->dispatch('foo');
|
182 |
-
}
|
183 |
-
|
184 |
-
public function testDispatchCallListeners()
|
185 |
-
{
|
186 |
-
$called = array();
|
187 |
-
|
188 |
-
$dispatcher = new EventDispatcher();
|
189 |
-
$tdispatcher = new TraceableEventDispatcher($dispatcher, new Stopwatch());
|
190 |
-
$tdispatcher->addListener('foo', function () use (&$called) { $called[] = 'foo1'; }, 10);
|
191 |
-
$tdispatcher->addListener('foo', function () use (&$called) { $called[] = 'foo2'; }, 20);
|
192 |
-
|
193 |
-
$tdispatcher->dispatch('foo');
|
194 |
-
|
195 |
-
$this->assertSame(array('foo2', 'foo1'), $called);
|
196 |
-
}
|
197 |
-
|
198 |
-
public function testDispatchNested()
|
199 |
-
{
|
200 |
-
$dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
|
201 |
-
$loop = 1;
|
202 |
-
$dispatchedEvents = 0;
|
203 |
-
$dispatcher->addListener('foo', $listener1 = function () use ($dispatcher, &$loop) {
|
204 |
-
++$loop;
|
205 |
-
if (2 == $loop) {
|
206 |
-
$dispatcher->dispatch('foo');
|
207 |
-
}
|
208 |
-
});
|
209 |
-
$dispatcher->addListener('foo', function () use (&$dispatchedEvents) {
|
210 |
-
++$dispatchedEvents;
|
211 |
-
});
|
212 |
-
|
213 |
-
$dispatcher->dispatch('foo');
|
214 |
-
|
215 |
-
$this->assertSame(2, $dispatchedEvents);
|
216 |
-
}
|
217 |
-
|
218 |
-
public function testDispatchReusedEventNested()
|
219 |
-
{
|
220 |
-
$nestedCall = false;
|
221 |
-
$dispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
|
222 |
-
$dispatcher->addListener('foo', function (Event $e) use ($dispatcher) {
|
223 |
-
$dispatcher->dispatch('bar', $e);
|
224 |
-
});
|
225 |
-
$dispatcher->addListener('bar', function (Event $e) use (&$nestedCall) {
|
226 |
-
$nestedCall = true;
|
227 |
-
});
|
228 |
-
|
229 |
-
$this->assertFalse($nestedCall);
|
230 |
-
$dispatcher->dispatch('foo');
|
231 |
-
$this->assertTrue($nestedCall);
|
232 |
-
}
|
233 |
-
|
234 |
-
public function testListenerCanRemoveItselfWhenExecuted()
|
235 |
-
{
|
236 |
-
$eventDispatcher = new TraceableEventDispatcher(new EventDispatcher(), new Stopwatch());
|
237 |
-
$listener1 = function ($event, $eventName, EventDispatcherInterface $dispatcher) use (&$listener1) {
|
238 |
-
$dispatcher->removeListener('foo', $listener1);
|
239 |
-
};
|
240 |
-
$eventDispatcher->addListener('foo', $listener1);
|
241 |
-
$eventDispatcher->addListener('foo', function () {});
|
242 |
-
$eventDispatcher->dispatch('foo');
|
243 |
-
|
244 |
-
$this->assertCount(1, $eventDispatcher->getListeners('foo'), 'expected listener1 to be removed');
|
245 |
-
}
|
246 |
-
}
|
247 |
-
|
248 |
-
class EventSubscriber implements EventSubscriberInterface
|
249 |
-
{
|
250 |
-
public static function getSubscribedEvents()
|
251 |
-
{
|
252 |
-
return array('foo' => 'call');
|
253 |
-
}
|
254 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,154 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests\DependencyInjection;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
16 |
-
use Symfony\Component\EventDispatcher\DependencyInjection\RegisterListenersPass;
|
17 |
-
|
18 |
-
class RegisterListenersPassTest extends TestCase
|
19 |
-
{
|
20 |
-
/**
|
21 |
-
* Tests that event subscribers not implementing EventSubscriberInterface
|
22 |
-
* trigger an exception.
|
23 |
-
*
|
24 |
-
* @expectedException \InvalidArgumentException
|
25 |
-
*/
|
26 |
-
public function testEventSubscriberWithoutInterface()
|
27 |
-
{
|
28 |
-
$builder = new ContainerBuilder();
|
29 |
-
$builder->register('event_dispatcher');
|
30 |
-
$builder->register('my_event_subscriber', 'stdClass')
|
31 |
-
->addTag('kernel.event_subscriber');
|
32 |
-
|
33 |
-
$registerListenersPass = new RegisterListenersPass();
|
34 |
-
$registerListenersPass->process($builder);
|
35 |
-
}
|
36 |
-
|
37 |
-
public function testValidEventSubscriber()
|
38 |
-
{
|
39 |
-
$services = array(
|
40 |
-
'my_event_subscriber' => array(0 => array()),
|
41 |
-
);
|
42 |
-
|
43 |
-
$builder = new ContainerBuilder();
|
44 |
-
$eventDispatcherDefinition = $builder->register('event_dispatcher');
|
45 |
-
$builder->register('my_event_subscriber', 'Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService')
|
46 |
-
->addTag('kernel.event_subscriber');
|
47 |
-
|
48 |
-
$registerListenersPass = new RegisterListenersPass();
|
49 |
-
$registerListenersPass->process($builder);
|
50 |
-
|
51 |
-
$this->assertEquals(array(array('addSubscriberService', array('my_event_subscriber', 'Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService'))), $eventDispatcherDefinition->getMethodCalls());
|
52 |
-
}
|
53 |
-
|
54 |
-
/**
|
55 |
-
* @expectedException \InvalidArgumentException
|
56 |
-
* @expectedExceptionMessage The service "foo" must be public as event listeners are lazy-loaded.
|
57 |
-
*/
|
58 |
-
public function testPrivateEventListener()
|
59 |
-
{
|
60 |
-
$container = new ContainerBuilder();
|
61 |
-
$container->register('foo', 'stdClass')->setPublic(false)->addTag('kernel.event_listener', array());
|
62 |
-
$container->register('event_dispatcher', 'stdClass');
|
63 |
-
|
64 |
-
$registerListenersPass = new RegisterListenersPass();
|
65 |
-
$registerListenersPass->process($container);
|
66 |
-
}
|
67 |
-
|
68 |
-
/**
|
69 |
-
* @expectedException \InvalidArgumentException
|
70 |
-
* @expectedExceptionMessage The service "foo" must be public as event subscribers are lazy-loaded.
|
71 |
-
*/
|
72 |
-
public function testPrivateEventSubscriber()
|
73 |
-
{
|
74 |
-
$container = new ContainerBuilder();
|
75 |
-
$container->register('foo', 'stdClass')->setPublic(false)->addTag('kernel.event_subscriber', array());
|
76 |
-
$container->register('event_dispatcher', 'stdClass');
|
77 |
-
|
78 |
-
$registerListenersPass = new RegisterListenersPass();
|
79 |
-
$registerListenersPass->process($container);
|
80 |
-
}
|
81 |
-
|
82 |
-
/**
|
83 |
-
* @expectedException \InvalidArgumentException
|
84 |
-
* @expectedExceptionMessage The service "foo" must not be abstract as event listeners are lazy-loaded.
|
85 |
-
*/
|
86 |
-
public function testAbstractEventListener()
|
87 |
-
{
|
88 |
-
$container = new ContainerBuilder();
|
89 |
-
$container->register('foo', 'stdClass')->setAbstract(true)->addTag('kernel.event_listener', array());
|
90 |
-
$container->register('event_dispatcher', 'stdClass');
|
91 |
-
|
92 |
-
$registerListenersPass = new RegisterListenersPass();
|
93 |
-
$registerListenersPass->process($container);
|
94 |
-
}
|
95 |
-
|
96 |
-
/**
|
97 |
-
* @expectedException \InvalidArgumentException
|
98 |
-
* @expectedExceptionMessage The service "foo" must not be abstract as event subscribers are lazy-loaded.
|
99 |
-
*/
|
100 |
-
public function testAbstractEventSubscriber()
|
101 |
-
{
|
102 |
-
$container = new ContainerBuilder();
|
103 |
-
$container->register('foo', 'stdClass')->setAbstract(true)->addTag('kernel.event_subscriber', array());
|
104 |
-
$container->register('event_dispatcher', 'stdClass');
|
105 |
-
|
106 |
-
$registerListenersPass = new RegisterListenersPass();
|
107 |
-
$registerListenersPass->process($container);
|
108 |
-
}
|
109 |
-
|
110 |
-
public function testEventSubscriberResolvableClassName()
|
111 |
-
{
|
112 |
-
$container = new ContainerBuilder();
|
113 |
-
|
114 |
-
$container->setParameter('subscriber.class', 'Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService');
|
115 |
-
$container->register('foo', '%subscriber.class%')->addTag('kernel.event_subscriber', array());
|
116 |
-
$container->register('event_dispatcher', 'stdClass');
|
117 |
-
|
118 |
-
$registerListenersPass = new RegisterListenersPass();
|
119 |
-
$registerListenersPass->process($container);
|
120 |
-
|
121 |
-
$definition = $container->getDefinition('event_dispatcher');
|
122 |
-
$expected_calls = array(
|
123 |
-
array(
|
124 |
-
'addSubscriberService',
|
125 |
-
array(
|
126 |
-
'foo',
|
127 |
-
'Symfony\Component\EventDispatcher\Tests\DependencyInjection\SubscriberService',
|
128 |
-
),
|
129 |
-
),
|
130 |
-
);
|
131 |
-
$this->assertSame($expected_calls, $definition->getMethodCalls());
|
132 |
-
}
|
133 |
-
|
134 |
-
/**
|
135 |
-
* @expectedException \InvalidArgumentException
|
136 |
-
* @expectedExceptionMessage You have requested a non-existent parameter "subscriber.class"
|
137 |
-
*/
|
138 |
-
public function testEventSubscriberUnresolvableClassName()
|
139 |
-
{
|
140 |
-
$container = new ContainerBuilder();
|
141 |
-
$container->register('foo', '%subscriber.class%')->addTag('kernel.event_subscriber', array());
|
142 |
-
$container->register('event_dispatcher', 'stdClass');
|
143 |
-
|
144 |
-
$registerListenersPass = new RegisterListenersPass();
|
145 |
-
$registerListenersPass->process($container);
|
146 |
-
}
|
147 |
-
}
|
148 |
-
|
149 |
-
class SubscriberService implements \Symfony\Component\EventDispatcher\EventSubscriberInterface
|
150 |
-
{
|
151 |
-
public static function getSubscribedEvents()
|
152 |
-
{
|
153 |
-
}
|
154 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,22 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests;
|
13 |
-
|
14 |
-
use Symfony\Component\EventDispatcher\EventDispatcher;
|
15 |
-
|
16 |
-
class EventDispatcherTest extends AbstractEventDispatcherTest
|
17 |
-
{
|
18 |
-
protected function createEventDispatcher()
|
19 |
-
{
|
20 |
-
return new EventDispatcher();
|
21 |
-
}
|
22 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,97 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\EventDispatcher\Event;
|
16 |
-
use Symfony\Component\EventDispatcher\EventDispatcher;
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Test class for Event.
|
20 |
-
*/
|
21 |
-
class EventTest extends TestCase
|
22 |
-
{
|
23 |
-
/**
|
24 |
-
* @var \Symfony\Component\EventDispatcher\Event
|
25 |
-
*/
|
26 |
-
protected $event;
|
27 |
-
|
28 |
-
/**
|
29 |
-
* @var \Symfony\Component\EventDispatcher\EventDispatcher
|
30 |
-
*/
|
31 |
-
protected $dispatcher;
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Sets up the fixture, for example, opens a network connection.
|
35 |
-
* This method is called before a test is executed.
|
36 |
-
*/
|
37 |
-
protected function setUp()
|
38 |
-
{
|
39 |
-
$this->event = new Event();
|
40 |
-
$this->dispatcher = new EventDispatcher();
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Tears down the fixture, for example, closes a network connection.
|
45 |
-
* This method is called after a test is executed.
|
46 |
-
*/
|
47 |
-
protected function tearDown()
|
48 |
-
{
|
49 |
-
$this->event = null;
|
50 |
-
$this->dispatcher = null;
|
51 |
-
}
|
52 |
-
|
53 |
-
public function testIsPropagationStopped()
|
54 |
-
{
|
55 |
-
$this->assertFalse($this->event->isPropagationStopped());
|
56 |
-
}
|
57 |
-
|
58 |
-
public function testStopPropagationAndIsPropagationStopped()
|
59 |
-
{
|
60 |
-
$this->event->stopPropagation();
|
61 |
-
$this->assertTrue($this->event->isPropagationStopped());
|
62 |
-
}
|
63 |
-
|
64 |
-
/**
|
65 |
-
* @group legacy
|
66 |
-
*/
|
67 |
-
public function testLegacySetDispatcher()
|
68 |
-
{
|
69 |
-
$this->event->setDispatcher($this->dispatcher);
|
70 |
-
$this->assertSame($this->dispatcher, $this->event->getDispatcher());
|
71 |
-
}
|
72 |
-
|
73 |
-
/**
|
74 |
-
* @group legacy
|
75 |
-
*/
|
76 |
-
public function testLegacyGetDispatcher()
|
77 |
-
{
|
78 |
-
$this->assertNull($this->event->getDispatcher());
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* @group legacy
|
83 |
-
*/
|
84 |
-
public function testLegacyGetName()
|
85 |
-
{
|
86 |
-
$this->assertNull($this->event->getName());
|
87 |
-
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* @group legacy
|
91 |
-
*/
|
92 |
-
public function testLegacySetName()
|
93 |
-
{
|
94 |
-
$this->event->setName('foo');
|
95 |
-
$this->assertEquals('foo', $this->event->getName());
|
96 |
-
}
|
97 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,136 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\EventDispatcher\GenericEvent;
|
16 |
-
|
17 |
-
/**
|
18 |
-
* Test class for Event.
|
19 |
-
*/
|
20 |
-
class GenericEventTest extends TestCase
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* @var GenericEvent
|
24 |
-
*/
|
25 |
-
private $event;
|
26 |
-
|
27 |
-
private $subject;
|
28 |
-
|
29 |
-
/**
|
30 |
-
* Prepares the environment before running a test.
|
31 |
-
*/
|
32 |
-
protected function setUp()
|
33 |
-
{
|
34 |
-
$this->subject = new \stdClass();
|
35 |
-
$this->event = new GenericEvent($this->subject, array('name' => 'Event'));
|
36 |
-
}
|
37 |
-
|
38 |
-
/**
|
39 |
-
* Cleans up the environment after running a test.
|
40 |
-
*/
|
41 |
-
protected function tearDown()
|
42 |
-
{
|
43 |
-
$this->subject = null;
|
44 |
-
$this->event = null;
|
45 |
-
}
|
46 |
-
|
47 |
-
public function testConstruct()
|
48 |
-
{
|
49 |
-
$this->assertEquals($this->event, new GenericEvent($this->subject, array('name' => 'Event')));
|
50 |
-
}
|
51 |
-
|
52 |
-
/**
|
53 |
-
* Tests Event->getArgs().
|
54 |
-
*/
|
55 |
-
public function testGetArguments()
|
56 |
-
{
|
57 |
-
// test getting all
|
58 |
-
$this->assertSame(array('name' => 'Event'), $this->event->getArguments());
|
59 |
-
}
|
60 |
-
|
61 |
-
public function testSetArguments()
|
62 |
-
{
|
63 |
-
$result = $this->event->setArguments(array('foo' => 'bar'));
|
64 |
-
$this->assertAttributeSame(array('foo' => 'bar'), 'arguments', $this->event);
|
65 |
-
$this->assertSame($this->event, $result);
|
66 |
-
}
|
67 |
-
|
68 |
-
public function testSetArgument()
|
69 |
-
{
|
70 |
-
$result = $this->event->setArgument('foo2', 'bar2');
|
71 |
-
$this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event);
|
72 |
-
$this->assertEquals($this->event, $result);
|
73 |
-
}
|
74 |
-
|
75 |
-
public function testGetArgument()
|
76 |
-
{
|
77 |
-
// test getting key
|
78 |
-
$this->assertEquals('Event', $this->event->getArgument('name'));
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* @expectedException \InvalidArgumentException
|
83 |
-
*/
|
84 |
-
public function testGetArgException()
|
85 |
-
{
|
86 |
-
$this->event->getArgument('nameNotExist');
|
87 |
-
}
|
88 |
-
|
89 |
-
public function testOffsetGet()
|
90 |
-
{
|
91 |
-
// test getting key
|
92 |
-
$this->assertEquals('Event', $this->event['name']);
|
93 |
-
|
94 |
-
// test getting invalid arg
|
95 |
-
$this->{method_exists($this, $_ = 'expectException') ? $_ : 'setExpectedException'}('InvalidArgumentException');
|
96 |
-
$this->assertFalse($this->event['nameNotExist']);
|
97 |
-
}
|
98 |
-
|
99 |
-
public function testOffsetSet()
|
100 |
-
{
|
101 |
-
$this->event['foo2'] = 'bar2';
|
102 |
-
$this->assertAttributeSame(array('name' => 'Event', 'foo2' => 'bar2'), 'arguments', $this->event);
|
103 |
-
}
|
104 |
-
|
105 |
-
public function testOffsetUnset()
|
106 |
-
{
|
107 |
-
unset($this->event['name']);
|
108 |
-
$this->assertAttributeSame(array(), 'arguments', $this->event);
|
109 |
-
}
|
110 |
-
|
111 |
-
public function testOffsetIsset()
|
112 |
-
{
|
113 |
-
$this->assertArrayHasKey('name', $this->event);
|
114 |
-
$this->assertArrayNotHasKey('nameNotExist', $this->event);
|
115 |
-
}
|
116 |
-
|
117 |
-
public function testHasArgument()
|
118 |
-
{
|
119 |
-
$this->assertTrue($this->event->hasArgument('name'));
|
120 |
-
$this->assertFalse($this->event->hasArgument('nameNotExist'));
|
121 |
-
}
|
122 |
-
|
123 |
-
public function testGetSubject()
|
124 |
-
{
|
125 |
-
$this->assertSame($this->subject, $this->event->getSubject());
|
126 |
-
}
|
127 |
-
|
128 |
-
public function testHasIterator()
|
129 |
-
{
|
130 |
-
$data = array();
|
131 |
-
foreach ($this->event as $key => $value) {
|
132 |
-
$data[$key] = $value;
|
133 |
-
}
|
134 |
-
$this->assertEquals(array('name' => 'Event'), $data);
|
135 |
-
}
|
136 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,106 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\EventDispatcher\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\EventDispatcher\Event;
|
16 |
-
use Symfony\Component\EventDispatcher\ImmutableEventDispatcher;
|
17 |
-
|
18 |
-
/**
|
19 |
-
* @author Bernhard Schussek <bschussek@gmail.com>
|
20 |
-
*/
|
21 |
-
class ImmutableEventDispatcherTest extends TestCase
|
22 |
-
{
|
23 |
-
/**
|
24 |
-
* @var \PHPUnit_Framework_MockObject_MockObject
|
25 |
-
*/
|
26 |
-
private $innerDispatcher;
|
27 |
-
|
28 |
-
/**
|
29 |
-
* @var ImmutableEventDispatcher
|
30 |
-
*/
|
31 |
-
private $dispatcher;
|
32 |
-
|
33 |
-
protected function setUp()
|
34 |
-
{
|
35 |
-
$this->innerDispatcher = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventDispatcherInterface')->getMock();
|
36 |
-
$this->dispatcher = new ImmutableEventDispatcher($this->innerDispatcher);
|
37 |
-
}
|
38 |
-
|
39 |
-
public function testDispatchDelegates()
|
40 |
-
{
|
41 |
-
$event = new Event();
|
42 |
-
|
43 |
-
$this->innerDispatcher->expects($this->once())
|
44 |
-
->method('dispatch')
|
45 |
-
->with('event', $event)
|
46 |
-
->will($this->returnValue('result'));
|
47 |
-
|
48 |
-
$this->assertSame('result', $this->dispatcher->dispatch('event', $event));
|
49 |
-
}
|
50 |
-
|
51 |
-
public function testGetListenersDelegates()
|
52 |
-
{
|
53 |
-
$this->innerDispatcher->expects($this->once())
|
54 |
-
->method('getListeners')
|
55 |
-
->with('event')
|
56 |
-
->will($this->returnValue('result'));
|
57 |
-
|
58 |
-
$this->assertSame('result', $this->dispatcher->getListeners('event'));
|
59 |
-
}
|
60 |
-
|
61 |
-
public function testHasListenersDelegates()
|
62 |
-
{
|
63 |
-
$this->innerDispatcher->expects($this->once())
|
64 |
-
->method('hasListeners')
|
65 |
-
->with('event')
|
66 |
-
->will($this->returnValue('result'));
|
67 |
-
|
68 |
-
$this->assertSame('result', $this->dispatcher->hasListeners('event'));
|
69 |
-
}
|
70 |
-
|
71 |
-
/**
|
72 |
-
* @expectedException \BadMethodCallException
|
73 |
-
*/
|
74 |
-
public function testAddListenerDisallowed()
|
75 |
-
{
|
76 |
-
$this->dispatcher->addListener('event', function () { return 'foo'; });
|
77 |
-
}
|
78 |
-
|
79 |
-
/**
|
80 |
-
* @expectedException \BadMethodCallException
|
81 |
-
*/
|
82 |
-
public function testAddSubscriberDisallowed()
|
83 |
-
{
|
84 |
-
$subscriber = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventSubscriberInterface')->getMock();
|
85 |
-
|
86 |
-
$this->dispatcher->addSubscriber($subscriber);
|
87 |
-
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* @expectedException \BadMethodCallException
|
91 |
-
*/
|
92 |
-
public function testRemoveListenerDisallowed()
|
93 |
-
{
|
94 |
-
$this->dispatcher->removeListener('event', function () { return 'foo'; });
|
95 |
-
}
|
96 |
-
|
97 |
-
/**
|
98 |
-
* @expectedException \BadMethodCallException
|
99 |
-
*/
|
100 |
-
public function testRemoveSubscriberDisallowed()
|
101 |
-
{
|
102 |
-
$subscriber = $this->getMockBuilder('Symfony\Component\EventDispatcher\EventSubscriberInterface')->getMock();
|
103 |
-
|
104 |
-
$this->dispatcher->removeSubscriber($subscriber);
|
105 |
-
}
|
106 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -427,6 +427,7 @@ class Process implements \IteratorAggregate
|
|
427 |
} while ($running);
|
428 |
|
429 |
while ($this->isRunning()) {
|
|
|
430 |
usleep(1000);
|
431 |
}
|
432 |
|
427 |
} while ($running);
|
428 |
|
429 |
while ($this->isRunning()) {
|
430 |
+
$this->checkTimeout();
|
431 |
usleep(1000);
|
432 |
}
|
433 |
|
@@ -1,178 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\Process\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\Process\ExecutableFinder;
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @author Chris Smith <chris@cs278.org>
|
19 |
-
*/
|
20 |
-
class ExecutableFinderTest extends TestCase
|
21 |
-
{
|
22 |
-
private $path;
|
23 |
-
|
24 |
-
protected function tearDown()
|
25 |
-
{
|
26 |
-
if ($this->path) {
|
27 |
-
// Restore path if it was changed.
|
28 |
-
putenv('PATH='.$this->path);
|
29 |
-
}
|
30 |
-
}
|
31 |
-
|
32 |
-
private function setPath($path)
|
33 |
-
{
|
34 |
-
$this->path = getenv('PATH');
|
35 |
-
putenv('PATH='.$path);
|
36 |
-
}
|
37 |
-
|
38 |
-
public function testFind()
|
39 |
-
{
|
40 |
-
if (ini_get('open_basedir')) {
|
41 |
-
$this->markTestSkipped('Cannot test when open_basedir is set');
|
42 |
-
}
|
43 |
-
|
44 |
-
$this->setPath(\dirname(PHP_BINARY));
|
45 |
-
|
46 |
-
$finder = new ExecutableFinder();
|
47 |
-
$result = $finder->find($this->getPhpBinaryName());
|
48 |
-
|
49 |
-
$this->assertSamePath(PHP_BINARY, $result);
|
50 |
-
}
|
51 |
-
|
52 |
-
public function testFindWithDefault()
|
53 |
-
{
|
54 |
-
if (ini_get('open_basedir')) {
|
55 |
-
$this->markTestSkipped('Cannot test when open_basedir is set');
|
56 |
-
}
|
57 |
-
|
58 |
-
$expected = 'defaultValue';
|
59 |
-
|
60 |
-
$this->setPath('');
|
61 |
-
|
62 |
-
$finder = new ExecutableFinder();
|
63 |
-
$result = $finder->find('foo', $expected);
|
64 |
-
|
65 |
-
$this->assertEquals($expected, $result);
|
66 |
-
}
|
67 |
-
|
68 |
-
public function testFindWithNullAsDefault()
|
69 |
-
{
|
70 |
-
if (ini_get('open_basedir')) {
|
71 |
-
$this->markTestSkipped('Cannot test when open_basedir is set');
|
72 |
-
}
|
73 |
-
|
74 |
-
$this->setPath('');
|
75 |
-
|
76 |
-
$finder = new ExecutableFinder();
|
77 |
-
|
78 |
-
$result = $finder->find('foo');
|
79 |
-
|
80 |
-
$this->assertNull($result);
|
81 |
-
}
|
82 |
-
|
83 |
-
public function testFindWithExtraDirs()
|
84 |
-
{
|
85 |
-
if (ini_get('open_basedir')) {
|
86 |
-
$this->markTestSkipped('Cannot test when open_basedir is set');
|
87 |
-
}
|
88 |
-
|
89 |
-
$this->setPath('');
|
90 |
-
|
91 |
-
$extraDirs = [\dirname(PHP_BINARY)];
|
92 |
-
|
93 |
-
$finder = new ExecutableFinder();
|
94 |
-
$result = $finder->find($this->getPhpBinaryName(), null, $extraDirs);
|
95 |
-
|
96 |
-
$this->assertSamePath(PHP_BINARY, $result);
|
97 |
-
}
|
98 |
-
|
99 |
-
public function testFindWithOpenBaseDir()
|
100 |
-
{
|
101 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
102 |
-
$this->markTestSkipped('Cannot run test on windows');
|
103 |
-
}
|
104 |
-
|
105 |
-
if (ini_get('open_basedir')) {
|
106 |
-
$this->markTestSkipped('Cannot test when open_basedir is set');
|
107 |
-
}
|
108 |
-
|
109 |
-
$this->iniSet('open_basedir', \dirname(PHP_BINARY).(!\defined('HHVM_VERSION') || HHVM_VERSION_ID >= 30800 ? PATH_SEPARATOR.'/' : ''));
|
110 |
-
|
111 |
-
$finder = new ExecutableFinder();
|
112 |
-
$result = $finder->find($this->getPhpBinaryName());
|
113 |
-
|
114 |
-
$this->assertSamePath(PHP_BINARY, $result);
|
115 |
-
}
|
116 |
-
|
117 |
-
public function testFindProcessInOpenBasedir()
|
118 |
-
{
|
119 |
-
if (ini_get('open_basedir')) {
|
120 |
-
$this->markTestSkipped('Cannot test when open_basedir is set');
|
121 |
-
}
|
122 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
123 |
-
$this->markTestSkipped('Cannot run test on windows');
|
124 |
-
}
|
125 |
-
|
126 |
-
$this->setPath('');
|
127 |
-
$this->iniSet('open_basedir', PHP_BINARY.(!\defined('HHVM_VERSION') || HHVM_VERSION_ID >= 30800 ? PATH_SEPARATOR.'/' : ''));
|
128 |
-
|
129 |
-
$finder = new ExecutableFinder();
|
130 |
-
$result = $finder->find($this->getPhpBinaryName(), false);
|
131 |
-
|
132 |
-
$this->assertSamePath(PHP_BINARY, $result);
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* @requires PHP 5.4
|
137 |
-
*/
|
138 |
-
public function testFindBatchExecutableOnWindows()
|
139 |
-
{
|
140 |
-
if (ini_get('open_basedir')) {
|
141 |
-
$this->markTestSkipped('Cannot test when open_basedir is set');
|
142 |
-
}
|
143 |
-
if ('\\' !== \DIRECTORY_SEPARATOR) {
|
144 |
-
$this->markTestSkipped('Can be only tested on windows');
|
145 |
-
}
|
146 |
-
|
147 |
-
$target = tempnam(sys_get_temp_dir(), 'example-windows-executable');
|
148 |
-
|
149 |
-
touch($target);
|
150 |
-
touch($target.'.BAT');
|
151 |
-
|
152 |
-
$this->assertFalse(is_executable($target));
|
153 |
-
|
154 |
-
$this->setPath(sys_get_temp_dir());
|
155 |
-
|
156 |
-
$finder = new ExecutableFinder();
|
157 |
-
$result = $finder->find(basename($target), false);
|
158 |
-
|
159 |
-
unlink($target);
|
160 |
-
unlink($target.'.BAT');
|
161 |
-
|
162 |
-
$this->assertSamePath($target.'.BAT', $result);
|
163 |
-
}
|
164 |
-
|
165 |
-
private function assertSamePath($expected, $tested)
|
166 |
-
{
|
167 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
168 |
-
$this->assertEquals(strtolower($expected), strtolower($tested));
|
169 |
-
} else {
|
170 |
-
$this->assertEquals($expected, $tested);
|
171 |
-
}
|
172 |
-
}
|
173 |
-
|
174 |
-
private function getPhpBinaryName()
|
175 |
-
{
|
176 |
-
return basename(PHP_BINARY, '\\' === \DIRECTORY_SEPARATOR ? '.exe' : '');
|
177 |
-
}
|
178 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,47 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
/**
|
13 |
-
* Runs a PHP script that can be stopped only with a SIGKILL (9) signal for 3 seconds.
|
14 |
-
*
|
15 |
-
* @args duration Run this script with a custom duration
|
16 |
-
*
|
17 |
-
* @example `php NonStopableProcess.php 42` will run the script for 42 seconds
|
18 |
-
*/
|
19 |
-
function handleSignal($signal)
|
20 |
-
{
|
21 |
-
switch ($signal) {
|
22 |
-
case SIGTERM:
|
23 |
-
$name = 'SIGTERM';
|
24 |
-
break;
|
25 |
-
case SIGINT:
|
26 |
-
$name = 'SIGINT';
|
27 |
-
break;
|
28 |
-
default:
|
29 |
-
$name = $signal.' (unknown)';
|
30 |
-
break;
|
31 |
-
}
|
32 |
-
|
33 |
-
echo "signal $name\n";
|
34 |
-
}
|
35 |
-
|
36 |
-
pcntl_signal(SIGTERM, 'handleSignal');
|
37 |
-
pcntl_signal(SIGINT, 'handleSignal');
|
38 |
-
|
39 |
-
echo 'received ';
|
40 |
-
|
41 |
-
$duration = isset($argv[1]) ? (int) $argv[1] : 3;
|
42 |
-
$start = microtime(true);
|
43 |
-
|
44 |
-
while ($duration > (microtime(true) - $start)) {
|
45 |
-
usleep(10000);
|
46 |
-
pcntl_signal_dispatch();
|
47 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,72 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\Process\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\Process\PhpExecutableFinder;
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @author Robert Schönthal <seroscho@googlemail.com>
|
19 |
-
*/
|
20 |
-
class PhpExecutableFinderTest extends TestCase
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* tests find() with the constant PHP_BINARY.
|
24 |
-
*/
|
25 |
-
public function testFind()
|
26 |
-
{
|
27 |
-
if (\defined('HHVM_VERSION')) {
|
28 |
-
$this->markTestSkipped('Should not be executed in HHVM context.');
|
29 |
-
}
|
30 |
-
|
31 |
-
$f = new PhpExecutableFinder();
|
32 |
-
|
33 |
-
$current = PHP_BINARY;
|
34 |
-
$args = 'phpdbg' === \PHP_SAPI ? ' -qrr' : '';
|
35 |
-
|
36 |
-
$this->assertEquals($current.$args, $f->find(), '::find() returns the executable PHP');
|
37 |
-
$this->assertEquals($current, $f->find(false), '::find() returns the executable PHP');
|
38 |
-
}
|
39 |
-
|
40 |
-
/**
|
41 |
-
* tests find() with the env var / constant PHP_BINARY with HHVM.
|
42 |
-
*/
|
43 |
-
public function testFindWithHHVM()
|
44 |
-
{
|
45 |
-
if (!\defined('HHVM_VERSION')) {
|
46 |
-
$this->markTestSkipped('Should be executed in HHVM context.');
|
47 |
-
}
|
48 |
-
|
49 |
-
$f = new PhpExecutableFinder();
|
50 |
-
|
51 |
-
$current = getenv('PHP_BINARY') ?: PHP_BINARY;
|
52 |
-
|
53 |
-
$this->assertEquals($current.' --php', $f->find(), '::find() returns the executable PHP');
|
54 |
-
$this->assertEquals($current, $f->find(false), '::find() returns the executable PHP');
|
55 |
-
}
|
56 |
-
|
57 |
-
/**
|
58 |
-
* tests find() with the env var PHP_PATH.
|
59 |
-
*/
|
60 |
-
public function testFindArguments()
|
61 |
-
{
|
62 |
-
$f = new PhpExecutableFinder();
|
63 |
-
|
64 |
-
if (\defined('HHVM_VERSION')) {
|
65 |
-
$this->assertEquals($f->findArguments(), ['--php'], '::findArguments() returns HHVM arguments');
|
66 |
-
} elseif ('phpdbg' === \PHP_SAPI) {
|
67 |
-
$this->assertEquals($f->findArguments(), ['-qrr'], '::findArguments() returns phpdbg arguments');
|
68 |
-
} else {
|
69 |
-
$this->assertEquals($f->findArguments(), [], '::findArguments() returns no arguments');
|
70 |
-
}
|
71 |
-
}
|
72 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,48 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\Process\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\Process\PhpProcess;
|
16 |
-
|
17 |
-
class PhpProcessTest extends TestCase
|
18 |
-
{
|
19 |
-
public function testNonBlockingWorks()
|
20 |
-
{
|
21 |
-
$expected = 'hello world!';
|
22 |
-
$process = new PhpProcess(<<<PHP
|
23 |
-
<?php echo '$expected';
|
24 |
-
PHP
|
25 |
-
);
|
26 |
-
$process->start();
|
27 |
-
$process->wait();
|
28 |
-
$this->assertEquals($expected, $process->getOutput());
|
29 |
-
}
|
30 |
-
|
31 |
-
public function testCommandLine()
|
32 |
-
{
|
33 |
-
$process = new PhpProcess(<<<'PHP'
|
34 |
-
<?php echo phpversion().PHP_SAPI;
|
35 |
-
PHP
|
36 |
-
);
|
37 |
-
|
38 |
-
$commandLine = $process->getCommandLine();
|
39 |
-
|
40 |
-
$process->start();
|
41 |
-
$this->assertContains($commandLine, $process->getCommandLine(), '::getCommandLine() returns the command line of PHP after start');
|
42 |
-
|
43 |
-
$process->wait();
|
44 |
-
$this->assertContains($commandLine, $process->getCommandLine(), '::getCommandLine() returns the command line of PHP after wait');
|
45 |
-
|
46 |
-
$this->assertSame(PHP_VERSION.\PHP_SAPI, $process->getOutput());
|
47 |
-
}
|
48 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,72 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
define('ERR_SELECT_FAILED', 1);
|
13 |
-
define('ERR_TIMEOUT', 2);
|
14 |
-
define('ERR_READ_FAILED', 3);
|
15 |
-
define('ERR_WRITE_FAILED', 4);
|
16 |
-
|
17 |
-
$read = [STDIN];
|
18 |
-
$write = [STDOUT, STDERR];
|
19 |
-
|
20 |
-
stream_set_blocking(STDIN, 0);
|
21 |
-
stream_set_blocking(STDOUT, 0);
|
22 |
-
stream_set_blocking(STDERR, 0);
|
23 |
-
|
24 |
-
$out = $err = '';
|
25 |
-
while ($read || $write) {
|
26 |
-
$r = $read;
|
27 |
-
$w = $write;
|
28 |
-
$e = null;
|
29 |
-
$n = stream_select($r, $w, $e, 5);
|
30 |
-
|
31 |
-
if (false === $n) {
|
32 |
-
die(ERR_SELECT_FAILED);
|
33 |
-
} elseif ($n < 1) {
|
34 |
-
die(ERR_TIMEOUT);
|
35 |
-
}
|
36 |
-
|
37 |
-
if (in_array(STDOUT, $w) && strlen($out) > 0) {
|
38 |
-
$written = fwrite(STDOUT, (string) $out, 32768);
|
39 |
-
if (false === $written) {
|
40 |
-
die(ERR_WRITE_FAILED);
|
41 |
-
}
|
42 |
-
$out = (string) substr($out, $written);
|
43 |
-
}
|
44 |
-
if (null === $read && '' === $out) {
|
45 |
-
$write = array_diff($write, [STDOUT]);
|
46 |
-
}
|
47 |
-
|
48 |
-
if (in_array(STDERR, $w) && strlen($err) > 0) {
|
49 |
-
$written = fwrite(STDERR, (string) $err, 32768);
|
50 |
-
if (false === $written) {
|
51 |
-
die(ERR_WRITE_FAILED);
|
52 |
-
}
|
53 |
-
$err = (string) substr($err, $written);
|
54 |
-
}
|
55 |
-
if (null === $read && '' === $err) {
|
56 |
-
$write = array_diff($write, [STDERR]);
|
57 |
-
}
|
58 |
-
|
59 |
-
if ($r) {
|
60 |
-
$str = fread(STDIN, 32768);
|
61 |
-
if (false !== $str) {
|
62 |
-
$out .= $str;
|
63 |
-
$err .= $str;
|
64 |
-
}
|
65 |
-
if (false === $str || feof(STDIN)) {
|
66 |
-
$read = null;
|
67 |
-
if (!feof(STDIN)) {
|
68 |
-
die(ERR_READ_FAILED);
|
69 |
-
}
|
70 |
-
}
|
71 |
-
}
|
72 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,226 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\Process\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\Process\ProcessBuilder;
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @group legacy
|
19 |
-
*/
|
20 |
-
class ProcessBuilderTest extends TestCase
|
21 |
-
{
|
22 |
-
public function testInheritEnvironmentVars()
|
23 |
-
{
|
24 |
-
$proc = ProcessBuilder::create()
|
25 |
-
->add('foo')
|
26 |
-
->getProcess();
|
27 |
-
|
28 |
-
$this->assertTrue($proc->areEnvironmentVariablesInherited());
|
29 |
-
|
30 |
-
$proc = ProcessBuilder::create()
|
31 |
-
->add('foo')
|
32 |
-
->inheritEnvironmentVariables(false)
|
33 |
-
->getProcess();
|
34 |
-
|
35 |
-
$this->assertFalse($proc->areEnvironmentVariablesInherited());
|
36 |
-
}
|
37 |
-
|
38 |
-
public function testAddEnvironmentVariables()
|
39 |
-
{
|
40 |
-
$pb = new ProcessBuilder();
|
41 |
-
$env = [
|
42 |
-
'foo' => 'bar',
|
43 |
-
'foo2' => 'bar2',
|
44 |
-
];
|
45 |
-
$proc = $pb
|
46 |
-
->add('command')
|
47 |
-
->setEnv('foo', 'bar2')
|
48 |
-
->addEnvironmentVariables($env)
|
49 |
-
->getProcess()
|
50 |
-
;
|
51 |
-
|
52 |
-
$this->assertSame($env, $proc->getEnv());
|
53 |
-
}
|
54 |
-
|
55 |
-
/**
|
56 |
-
* @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
|
57 |
-
*/
|
58 |
-
public function testNegativeTimeoutFromSetter()
|
59 |
-
{
|
60 |
-
$pb = new ProcessBuilder();
|
61 |
-
$pb->setTimeout(-1);
|
62 |
-
}
|
63 |
-
|
64 |
-
public function testNullTimeout()
|
65 |
-
{
|
66 |
-
$pb = new ProcessBuilder();
|
67 |
-
$pb->setTimeout(10);
|
68 |
-
$pb->setTimeout(null);
|
69 |
-
|
70 |
-
$r = new \ReflectionObject($pb);
|
71 |
-
$p = $r->getProperty('timeout');
|
72 |
-
$p->setAccessible(true);
|
73 |
-
|
74 |
-
$this->assertNull($p->getValue($pb));
|
75 |
-
}
|
76 |
-
|
77 |
-
public function testShouldSetArguments()
|
78 |
-
{
|
79 |
-
$pb = new ProcessBuilder(['initial']);
|
80 |
-
$pb->setArguments(['second']);
|
81 |
-
|
82 |
-
$proc = $pb->getProcess();
|
83 |
-
|
84 |
-
$this->assertContains('second', $proc->getCommandLine());
|
85 |
-
}
|
86 |
-
|
87 |
-
public function testPrefixIsPrependedToAllGeneratedProcess()
|
88 |
-
{
|
89 |
-
$pb = new ProcessBuilder();
|
90 |
-
$pb->setPrefix('/usr/bin/php');
|
91 |
-
|
92 |
-
$proc = $pb->setArguments(['-v'])->getProcess();
|
93 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
94 |
-
$this->assertEquals('"/usr/bin/php" -v', $proc->getCommandLine());
|
95 |
-
} else {
|
96 |
-
$this->assertEquals("'/usr/bin/php' '-v'", $proc->getCommandLine());
|
97 |
-
}
|
98 |
-
|
99 |
-
$proc = $pb->setArguments(['-i'])->getProcess();
|
100 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
101 |
-
$this->assertEquals('"/usr/bin/php" -i', $proc->getCommandLine());
|
102 |
-
} else {
|
103 |
-
$this->assertEquals("'/usr/bin/php' '-i'", $proc->getCommandLine());
|
104 |
-
}
|
105 |
-
}
|
106 |
-
|
107 |
-
public function testArrayPrefixesArePrependedToAllGeneratedProcess()
|
108 |
-
{
|
109 |
-
$pb = new ProcessBuilder();
|
110 |
-
$pb->setPrefix(['/usr/bin/php', 'composer.phar']);
|
111 |
-
|
112 |
-
$proc = $pb->setArguments(['-v'])->getProcess();
|
113 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
114 |
-
$this->assertEquals('"/usr/bin/php" composer.phar -v', $proc->getCommandLine());
|
115 |
-
} else {
|
116 |
-
$this->assertEquals("'/usr/bin/php' 'composer.phar' '-v'", $proc->getCommandLine());
|
117 |
-
}
|
118 |
-
|
119 |
-
$proc = $pb->setArguments(['-i'])->getProcess();
|
120 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
121 |
-
$this->assertEquals('"/usr/bin/php" composer.phar -i', $proc->getCommandLine());
|
122 |
-
} else {
|
123 |
-
$this->assertEquals("'/usr/bin/php' 'composer.phar' '-i'", $proc->getCommandLine());
|
124 |
-
}
|
125 |
-
}
|
126 |
-
|
127 |
-
public function testShouldEscapeArguments()
|
128 |
-
{
|
129 |
-
$pb = new ProcessBuilder(['%path%', 'foo " bar', '%baz%baz']);
|
130 |
-
$proc = $pb->getProcess();
|
131 |
-
|
132 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
133 |
-
$this->assertSame('""^%"path"^%"" "foo "" bar" ""^%"baz"^%"baz"', $proc->getCommandLine());
|
134 |
-
} else {
|
135 |
-
$this->assertSame("'%path%' 'foo \" bar' '%baz%baz'", $proc->getCommandLine());
|
136 |
-
}
|
137 |
-
}
|
138 |
-
|
139 |
-
public function testShouldEscapeArgumentsAndPrefix()
|
140 |
-
{
|
141 |
-
$pb = new ProcessBuilder(['arg']);
|
142 |
-
$pb->setPrefix('%prefix%');
|
143 |
-
$proc = $pb->getProcess();
|
144 |
-
|
145 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
146 |
-
$this->assertSame('""^%"prefix"^%"" arg', $proc->getCommandLine());
|
147 |
-
} else {
|
148 |
-
$this->assertSame("'%prefix%' 'arg'", $proc->getCommandLine());
|
149 |
-
}
|
150 |
-
}
|
151 |
-
|
152 |
-
/**
|
153 |
-
* @expectedException \Symfony\Component\Process\Exception\LogicException
|
154 |
-
*/
|
155 |
-
public function testShouldThrowALogicExceptionIfNoPrefixAndNoArgument()
|
156 |
-
{
|
157 |
-
ProcessBuilder::create()->getProcess();
|
158 |
-
}
|
159 |
-
|
160 |
-
public function testShouldNotThrowALogicExceptionIfNoArgument()
|
161 |
-
{
|
162 |
-
$process = ProcessBuilder::create()
|
163 |
-
->setPrefix('/usr/bin/php')
|
164 |
-
->getProcess();
|
165 |
-
|
166 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
167 |
-
$this->assertEquals('"/usr/bin/php"', $process->getCommandLine());
|
168 |
-
} else {
|
169 |
-
$this->assertEquals("'/usr/bin/php'", $process->getCommandLine());
|
170 |
-
}
|
171 |
-
}
|
172 |
-
|
173 |
-
public function testShouldNotThrowALogicExceptionIfNoPrefix()
|
174 |
-
{
|
175 |
-
$process = ProcessBuilder::create(['/usr/bin/php'])
|
176 |
-
->getProcess();
|
177 |
-
|
178 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
179 |
-
$this->assertEquals('"/usr/bin/php"', $process->getCommandLine());
|
180 |
-
} else {
|
181 |
-
$this->assertEquals("'/usr/bin/php'", $process->getCommandLine());
|
182 |
-
}
|
183 |
-
}
|
184 |
-
|
185 |
-
public function testShouldReturnProcessWithDisabledOutput()
|
186 |
-
{
|
187 |
-
$process = ProcessBuilder::create(['/usr/bin/php'])
|
188 |
-
->disableOutput()
|
189 |
-
->getProcess();
|
190 |
-
|
191 |
-
$this->assertTrue($process->isOutputDisabled());
|
192 |
-
}
|
193 |
-
|
194 |
-
public function testShouldReturnProcessWithEnabledOutput()
|
195 |
-
{
|
196 |
-
$process = ProcessBuilder::create(['/usr/bin/php'])
|
197 |
-
->disableOutput()
|
198 |
-
->enableOutput()
|
199 |
-
->getProcess();
|
200 |
-
|
201 |
-
$this->assertFalse($process->isOutputDisabled());
|
202 |
-
}
|
203 |
-
|
204 |
-
/**
|
205 |
-
* @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
|
206 |
-
* @expectedExceptionMessage Symfony\Component\Process\ProcessBuilder::setInput only accepts strings, Traversable objects or stream resources.
|
207 |
-
*/
|
208 |
-
public function testInvalidInput()
|
209 |
-
{
|
210 |
-
$builder = ProcessBuilder::create();
|
211 |
-
$builder->setInput([]);
|
212 |
-
}
|
213 |
-
|
214 |
-
public function testDoesNotPrefixExec()
|
215 |
-
{
|
216 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
217 |
-
$this->markTestSkipped('This test cannot run on Windows.');
|
218 |
-
}
|
219 |
-
|
220 |
-
$builder = ProcessBuilder::create(['command', '-v', 'ls']);
|
221 |
-
$process = $builder->getProcess();
|
222 |
-
$process->run();
|
223 |
-
|
224 |
-
$this->assertTrue($process->isSuccessful());
|
225 |
-
}
|
226 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,137 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\Process\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\Process\Exception\ProcessFailedException;
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @author Sebastian Marek <proofek@gmail.com>
|
19 |
-
*/
|
20 |
-
class ProcessFailedExceptionTest extends TestCase
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* tests ProcessFailedException throws exception if the process was successful.
|
24 |
-
*/
|
25 |
-
public function testProcessFailedExceptionThrowsException()
|
26 |
-
{
|
27 |
-
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful'])->setConstructorArgs(['php'])->getMock();
|
28 |
-
$process->expects($this->once())
|
29 |
-
->method('isSuccessful')
|
30 |
-
->will($this->returnValue(true));
|
31 |
-
|
32 |
-
if (method_exists($this, 'expectException')) {
|
33 |
-
$this->expectException(\InvalidArgumentException::class);
|
34 |
-
$this->expectExceptionMessage('Expected a failed process, but the given process was successful.');
|
35 |
-
} else {
|
36 |
-
$this->setExpectedException(\InvalidArgumentException::class, 'Expected a failed process, but the given process was successful.');
|
37 |
-
}
|
38 |
-
|
39 |
-
new ProcessFailedException($process);
|
40 |
-
}
|
41 |
-
|
42 |
-
/**
|
43 |
-
* tests ProcessFailedException uses information from process output
|
44 |
-
* to generate exception message.
|
45 |
-
*/
|
46 |
-
public function testProcessFailedExceptionPopulatesInformationFromProcessOutput()
|
47 |
-
{
|
48 |
-
$cmd = 'php';
|
49 |
-
$exitCode = 1;
|
50 |
-
$exitText = 'General error';
|
51 |
-
$output = 'Command output';
|
52 |
-
$errorOutput = 'FATAL: Unexpected error';
|
53 |
-
$workingDirectory = getcwd();
|
54 |
-
|
55 |
-
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful', 'getOutput', 'getErrorOutput', 'getExitCode', 'getExitCodeText', 'isOutputDisabled', 'getWorkingDirectory'])->setConstructorArgs([$cmd])->getMock();
|
56 |
-
$process->expects($this->once())
|
57 |
-
->method('isSuccessful')
|
58 |
-
->will($this->returnValue(false));
|
59 |
-
|
60 |
-
$process->expects($this->once())
|
61 |
-
->method('getOutput')
|
62 |
-
->will($this->returnValue($output));
|
63 |
-
|
64 |
-
$process->expects($this->once())
|
65 |
-
->method('getErrorOutput')
|
66 |
-
->will($this->returnValue($errorOutput));
|
67 |
-
|
68 |
-
$process->expects($this->once())
|
69 |
-
->method('getExitCode')
|
70 |
-
->will($this->returnValue($exitCode));
|
71 |
-
|
72 |
-
$process->expects($this->once())
|
73 |
-
->method('getExitCodeText')
|
74 |
-
->will($this->returnValue($exitText));
|
75 |
-
|
76 |
-
$process->expects($this->once())
|
77 |
-
->method('isOutputDisabled')
|
78 |
-
->will($this->returnValue(false));
|
79 |
-
|
80 |
-
$process->expects($this->once())
|
81 |
-
->method('getWorkingDirectory')
|
82 |
-
->will($this->returnValue($workingDirectory));
|
83 |
-
|
84 |
-
$exception = new ProcessFailedException($process);
|
85 |
-
|
86 |
-
$this->assertEquals(
|
87 |
-
"The command \"$cmd\" failed.\n\nExit Code: $exitCode($exitText)\n\nWorking directory: {$workingDirectory}\n\nOutput:\n================\n{$output}\n\nError Output:\n================\n{$errorOutput}",
|
88 |
-
$exception->getMessage()
|
89 |
-
);
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* Tests that ProcessFailedException does not extract information from
|
94 |
-
* process output if it was previously disabled.
|
95 |
-
*/
|
96 |
-
public function testDisabledOutputInFailedExceptionDoesNotPopulateOutput()
|
97 |
-
{
|
98 |
-
$cmd = 'php';
|
99 |
-
$exitCode = 1;
|
100 |
-
$exitText = 'General error';
|
101 |
-
$workingDirectory = getcwd();
|
102 |
-
|
103 |
-
$process = $this->getMockBuilder('Symfony\Component\Process\Process')->setMethods(['isSuccessful', 'isOutputDisabled', 'getExitCode', 'getExitCodeText', 'getOutput', 'getErrorOutput', 'getWorkingDirectory'])->setConstructorArgs([$cmd])->getMock();
|
104 |
-
$process->expects($this->once())
|
105 |
-
->method('isSuccessful')
|
106 |
-
->will($this->returnValue(false));
|
107 |
-
|
108 |
-
$process->expects($this->never())
|
109 |
-
->method('getOutput');
|
110 |
-
|
111 |
-
$process->expects($this->never())
|
112 |
-
->method('getErrorOutput');
|
113 |
-
|
114 |
-
$process->expects($this->once())
|
115 |
-
->method('getExitCode')
|
116 |
-
->will($this->returnValue($exitCode));
|
117 |
-
|
118 |
-
$process->expects($this->once())
|
119 |
-
->method('getExitCodeText')
|
120 |
-
->will($this->returnValue($exitText));
|
121 |
-
|
122 |
-
$process->expects($this->once())
|
123 |
-
->method('isOutputDisabled')
|
124 |
-
->will($this->returnValue(true));
|
125 |
-
|
126 |
-
$process->expects($this->once())
|
127 |
-
->method('getWorkingDirectory')
|
128 |
-
->will($this->returnValue($workingDirectory));
|
129 |
-
|
130 |
-
$exception = new ProcessFailedException($process);
|
131 |
-
|
132 |
-
$this->assertEquals(
|
133 |
-
"The command \"$cmd\" failed.\n\nExit Code: $exitCode($exitText)\n\nWorking directory: {$workingDirectory}",
|
134 |
-
$exception->getMessage()
|
135 |
-
);
|
136 |
-
}
|
137 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,1618 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\Process\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\Process\Exception\LogicException;
|
16 |
-
use Symfony\Component\Process\Exception\ProcessTimedOutException;
|
17 |
-
use Symfony\Component\Process\Exception\RuntimeException;
|
18 |
-
use Symfony\Component\Process\InputStream;
|
19 |
-
use Symfony\Component\Process\PhpExecutableFinder;
|
20 |
-
use Symfony\Component\Process\Pipes\PipesInterface;
|
21 |
-
use Symfony\Component\Process\Process;
|
22 |
-
|
23 |
-
/**
|
24 |
-
* @author Robert Schönthal <seroscho@googlemail.com>
|
25 |
-
*/
|
26 |
-
class ProcessTest extends TestCase
|
27 |
-
{
|
28 |
-
private static $phpBin;
|
29 |
-
private static $process;
|
30 |
-
private static $sigchild;
|
31 |
-
private static $notEnhancedSigchild = false;
|
32 |
-
|
33 |
-
public static function setUpBeforeClass()
|
34 |
-
{
|
35 |
-
$phpBin = new PhpExecutableFinder();
|
36 |
-
self::$phpBin = getenv('SYMFONY_PROCESS_PHP_TEST_BINARY') ?: ('phpdbg' === \PHP_SAPI ? 'php' : $phpBin->find());
|
37 |
-
|
38 |
-
ob_start();
|
39 |
-
phpinfo(INFO_GENERAL);
|
40 |
-
self::$sigchild = false !== strpos(ob_get_clean(), '--enable-sigchild');
|
41 |
-
}
|
42 |
-
|
43 |
-
protected function tearDown()
|
44 |
-
{
|
45 |
-
if (self::$process) {
|
46 |
-
self::$process->stop(0);
|
47 |
-
self::$process = null;
|
48 |
-
}
|
49 |
-
}
|
50 |
-
|
51 |
-
/**
|
52 |
-
* @group legacy
|
53 |
-
* @expectedDeprecation The provided cwd does not exist. Command is currently ran against getcwd(). This behavior is deprecated since Symfony 3.4 and will be removed in 4.0.
|
54 |
-
*/
|
55 |
-
public function testInvalidCwd()
|
56 |
-
{
|
57 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
58 |
-
$this->markTestSkipped('False-positive on Windows/appveyor.');
|
59 |
-
}
|
60 |
-
|
61 |
-
// Check that it works fine if the CWD exists
|
62 |
-
$cmd = new Process('echo test', __DIR__);
|
63 |
-
$cmd->run();
|
64 |
-
|
65 |
-
$cmd = new Process('echo test', __DIR__.'/notfound/');
|
66 |
-
$cmd->run();
|
67 |
-
}
|
68 |
-
|
69 |
-
public function testThatProcessDoesNotThrowWarningDuringRun()
|
70 |
-
{
|
71 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
72 |
-
$this->markTestSkipped('This test is transient on Windows');
|
73 |
-
}
|
74 |
-
@trigger_error('Test Error', E_USER_NOTICE);
|
75 |
-
$process = $this->getProcessForCode('sleep(3)');
|
76 |
-
$process->run();
|
77 |
-
$actualError = error_get_last();
|
78 |
-
$this->assertEquals('Test Error', $actualError['message']);
|
79 |
-
$this->assertEquals(E_USER_NOTICE, $actualError['type']);
|
80 |
-
}
|
81 |
-
|
82 |
-
/**
|
83 |
-
* @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
|
84 |
-
*/
|
85 |
-
public function testNegativeTimeoutFromConstructor()
|
86 |
-
{
|
87 |
-
$this->getProcess('', null, null, null, -1);
|
88 |
-
}
|
89 |
-
|
90 |
-
/**
|
91 |
-
* @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
|
92 |
-
*/
|
93 |
-
public function testNegativeTimeoutFromSetter()
|
94 |
-
{
|
95 |
-
$p = $this->getProcess('');
|
96 |
-
$p->setTimeout(-1);
|
97 |
-
}
|
98 |
-
|
99 |
-
public function testFloatAndNullTimeout()
|
100 |
-
{
|
101 |
-
$p = $this->getProcess('');
|
102 |
-
|
103 |
-
$p->setTimeout(10);
|
104 |
-
$this->assertSame(10.0, $p->getTimeout());
|
105 |
-
|
106 |
-
$p->setTimeout(null);
|
107 |
-
$this->assertNull($p->getTimeout());
|
108 |
-
|
109 |
-
$p->setTimeout(0.0);
|
110 |
-
$this->assertNull($p->getTimeout());
|
111 |
-
}
|
112 |
-
|
113 |
-
/**
|
114 |
-
* @requires extension pcntl
|
115 |
-
*/
|
116 |
-
public function testStopWithTimeoutIsActuallyWorking()
|
117 |
-
{
|
118 |
-
$p = $this->getProcess([self::$phpBin, __DIR__.'/NonStopableProcess.php', 30]);
|
119 |
-
$p->start();
|
120 |
-
|
121 |
-
while (false === strpos($p->getOutput(), 'received')) {
|
122 |
-
usleep(1000);
|
123 |
-
}
|
124 |
-
$start = microtime(true);
|
125 |
-
$p->stop(0.1);
|
126 |
-
|
127 |
-
$p->wait();
|
128 |
-
|
129 |
-
$this->assertLessThan(15, microtime(true) - $start);
|
130 |
-
}
|
131 |
-
|
132 |
-
public function testAllOutputIsActuallyReadOnTermination()
|
133 |
-
{
|
134 |
-
// this code will result in a maximum of 2 reads of 8192 bytes by calling
|
135 |
-
// start() and isRunning(). by the time getOutput() is called the process
|
136 |
-
// has terminated so the internal pipes array is already empty. normally
|
137 |
-
// the call to start() will not read any data as the process will not have
|
138 |
-
// generated output, but this is non-deterministic so we must count it as
|
139 |
-
// a possibility. therefore we need 2 * PipesInterface::CHUNK_SIZE plus
|
140 |
-
// another byte which will never be read.
|
141 |
-
$expectedOutputSize = PipesInterface::CHUNK_SIZE * 2 + 2;
|
142 |
-
|
143 |
-
$code = sprintf('echo str_repeat(\'*\', %d);', $expectedOutputSize);
|
144 |
-
$p = $this->getProcessForCode($code);
|
145 |
-
|
146 |
-
$p->start();
|
147 |
-
|
148 |
-
// Don't call Process::run nor Process::wait to avoid any read of pipes
|
149 |
-
$h = new \ReflectionProperty($p, 'process');
|
150 |
-
$h->setAccessible(true);
|
151 |
-
$h = $h->getValue($p);
|
152 |
-
$s = @proc_get_status($h);
|
153 |
-
|
154 |
-
while (!empty($s['running'])) {
|
155 |
-
usleep(1000);
|
156 |
-
$s = proc_get_status($h);
|
157 |
-
}
|
158 |
-
|
159 |
-
$o = $p->getOutput();
|
160 |
-
|
161 |
-
$this->assertEquals($expectedOutputSize, \strlen($o));
|
162 |
-
}
|
163 |
-
|
164 |
-
public function testCallbacksAreExecutedWithStart()
|
165 |
-
{
|
166 |
-
$process = $this->getProcess('echo foo');
|
167 |
-
$process->start(function ($type, $buffer) use (&$data) {
|
168 |
-
$data .= $buffer;
|
169 |
-
});
|
170 |
-
|
171 |
-
$process->wait();
|
172 |
-
|
173 |
-
$this->assertSame('foo'.PHP_EOL, $data);
|
174 |
-
}
|
175 |
-
|
176 |
-
/**
|
177 |
-
* tests results from sub processes.
|
178 |
-
*
|
179 |
-
* @dataProvider responsesCodeProvider
|
180 |
-
*/
|
181 |
-
public function testProcessResponses($expected, $getter, $code)
|
182 |
-
{
|
183 |
-
$p = $this->getProcessForCode($code);
|
184 |
-
$p->run();
|
185 |
-
|
186 |
-
$this->assertSame($expected, $p->$getter());
|
187 |
-
}
|
188 |
-
|
189 |
-
/**
|
190 |
-
* tests results from sub processes.
|
191 |
-
*
|
192 |
-
* @dataProvider pipesCodeProvider
|
193 |
-
*/
|
194 |
-
public function testProcessPipes($code, $size)
|
195 |
-
{
|
196 |
-
$expected = str_repeat(str_repeat('*', 1024), $size).'!';
|
197 |
-
$expectedLength = (1024 * $size) + 1;
|
198 |
-
|
199 |
-
$p = $this->getProcessForCode($code);
|
200 |
-
$p->setInput($expected);
|
201 |
-
$p->run();
|
202 |
-
|
203 |
-
$this->assertEquals($expectedLength, \strlen($p->getOutput()));
|
204 |
-
$this->assertEquals($expectedLength, \strlen($p->getErrorOutput()));
|
205 |
-
}
|
206 |
-
|
207 |
-
/**
|
208 |
-
* @dataProvider pipesCodeProvider
|
209 |
-
*/
|
210 |
-
public function testSetStreamAsInput($code, $size)
|
211 |
-
{
|
212 |
-
$expected = str_repeat(str_repeat('*', 1024), $size).'!';
|
213 |
-
$expectedLength = (1024 * $size) + 1;
|
214 |
-
|
215 |
-
$stream = fopen('php://temporary', 'w+');
|
216 |
-
fwrite($stream, $expected);
|
217 |
-
rewind($stream);
|
218 |
-
|
219 |
-
$p = $this->getProcessForCode($code);
|
220 |
-
$p->setInput($stream);
|
221 |
-
$p->run();
|
222 |
-
|
223 |
-
fclose($stream);
|
224 |
-
|
225 |
-
$this->assertEquals($expectedLength, \strlen($p->getOutput()));
|
226 |
-
$this->assertEquals($expectedLength, \strlen($p->getErrorOutput()));
|
227 |
-
}
|
228 |
-
|
229 |
-
public function testLiveStreamAsInput()
|
230 |
-
{
|
231 |
-
$stream = fopen('php://memory', 'r+');
|
232 |
-
fwrite($stream, 'hello');
|
233 |
-
rewind($stream);
|
234 |
-
|
235 |
-
$p = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);');
|
236 |
-
$p->setInput($stream);
|
237 |
-
$p->start(function ($type, $data) use ($stream) {
|
238 |
-
if ('hello' === $data) {
|
239 |
-
fclose($stream);
|
240 |
-
}
|
241 |
-
});
|
242 |
-
$p->wait();
|
243 |
-
|
244 |
-
$this->assertSame('hello', $p->getOutput());
|
245 |
-
}
|
246 |
-
|
247 |
-
/**
|
248 |
-
* @expectedException \Symfony\Component\Process\Exception\LogicException
|
249 |
-
* @expectedExceptionMessage Input can not be set while the process is running.
|
250 |
-
*/
|
251 |
-
public function testSetInputWhileRunningThrowsAnException()
|
252 |
-
{
|
253 |
-
$process = $this->getProcessForCode('sleep(30);');
|
254 |
-
$process->start();
|
255 |
-
try {
|
256 |
-
$process->setInput('foobar');
|
257 |
-
$process->stop();
|
258 |
-
$this->fail('A LogicException should have been raised.');
|
259 |
-
} catch (LogicException $e) {
|
260 |
-
}
|
261 |
-
$process->stop();
|
262 |
-
|
263 |
-
throw $e;
|
264 |
-
}
|
265 |
-
|
266 |
-
/**
|
267 |
-
* @dataProvider provideInvalidInputValues
|
268 |
-
* @expectedException \Symfony\Component\Process\Exception\InvalidArgumentException
|
269 |
-
* @expectedExceptionMessage Symfony\Component\Process\Process::setInput only accepts strings, Traversable objects or stream resources.
|
270 |
-
*/
|
271 |
-
public function testInvalidInput($value)
|
272 |
-
{
|
273 |
-
$process = $this->getProcess('foo');
|
274 |
-
$process->setInput($value);
|
275 |
-
}
|
276 |
-
|
277 |
-
public function provideInvalidInputValues()
|
278 |
-
{
|
279 |
-
return [
|
280 |
-
[[]],
|
281 |
-
[new NonStringifiable()],
|
282 |
-
];
|
283 |
-
}
|
284 |
-
|
285 |
-
/**
|
286 |
-
* @dataProvider provideInputValues
|
287 |
-
*/
|
288 |
-
public function testValidInput($expected, $value)
|
289 |
-
{
|
290 |
-
$process = $this->getProcess('foo');
|
291 |
-
$process->setInput($value);
|
292 |
-
$this->assertSame($expected, $process->getInput());
|
293 |
-
}
|
294 |
-
|
295 |
-
public function provideInputValues()
|
296 |
-
{
|
297 |
-
return [
|
298 |
-
[null, null],
|
299 |
-
['24.5', 24.5],
|
300 |
-
['input data', 'input data'],
|
301 |
-
];
|
302 |
-
}
|
303 |
-
|
304 |
-
public function chainedCommandsOutputProvider()
|
305 |
-
{
|
306 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
307 |
-
return [
|
308 |
-
["2 \r\n2\r\n", '&&', '2'],
|
309 |
-
];
|
310 |
-
}
|
311 |
-
|
312 |
-
return [
|
313 |
-
["1\n1\n", ';', '1'],
|
314 |
-
["2\n2\n", '&&', '2'],
|
315 |
-
];
|
316 |
-
}
|
317 |
-
|
318 |
-
/**
|
319 |
-
* @dataProvider chainedCommandsOutputProvider
|
320 |
-
*/
|
321 |
-
public function testChainedCommandsOutput($expected, $operator, $input)
|
322 |
-
{
|
323 |
-
$process = $this->getProcess(sprintf('echo %s %s echo %s', $input, $operator, $input));
|
324 |
-
$process->run();
|
325 |
-
$this->assertEquals($expected, $process->getOutput());
|
326 |
-
}
|
327 |
-
|
328 |
-
public function testCallbackIsExecutedForOutput()
|
329 |
-
{
|
330 |
-
$p = $this->getProcessForCode('echo \'foo\';');
|
331 |
-
|
332 |
-
$called = false;
|
333 |
-
$p->run(function ($type, $buffer) use (&$called) {
|
334 |
-
$called = 'foo' === $buffer;
|
335 |
-
});
|
336 |
-
|
337 |
-
$this->assertTrue($called, 'The callback should be executed with the output');
|
338 |
-
}
|
339 |
-
|
340 |
-
public function testCallbackIsExecutedForOutputWheneverOutputIsDisabled()
|
341 |
-
{
|
342 |
-
$p = $this->getProcessForCode('echo \'foo\';');
|
343 |
-
$p->disableOutput();
|
344 |
-
|
345 |
-
$called = false;
|
346 |
-
$p->run(function ($type, $buffer) use (&$called) {
|
347 |
-
$called = 'foo' === $buffer;
|
348 |
-
});
|
349 |
-
|
350 |
-
$this->assertTrue($called, 'The callback should be executed with the output');
|
351 |
-
}
|
352 |
-
|
353 |
-
public function testGetErrorOutput()
|
354 |
-
{
|
355 |
-
$p = $this->getProcessForCode('$n = 0; while ($n < 3) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; }');
|
356 |
-
|
357 |
-
$p->run();
|
358 |
-
$this->assertEquals(3, preg_match_all('/ERROR/', $p->getErrorOutput(), $matches));
|
359 |
-
}
|
360 |
-
|
361 |
-
public function testFlushErrorOutput()
|
362 |
-
{
|
363 |
-
$p = $this->getProcessForCode('$n = 0; while ($n < 3) { file_put_contents(\'php://stderr\', \'ERROR\'); $n++; }');
|
364 |
-
|
365 |
-
$p->run();
|
366 |
-
$p->clearErrorOutput();
|
367 |
-
$this->assertEmpty($p->getErrorOutput());
|
368 |
-
}
|
369 |
-
|
370 |
-
/**
|
371 |
-
* @dataProvider provideIncrementalOutput
|
372 |
-
*/
|
373 |
-
public function testIncrementalOutput($getOutput, $getIncrementalOutput, $uri)
|
374 |
-
{
|
375 |
-
$lock = tempnam(sys_get_temp_dir(), __FUNCTION__);
|
376 |
-
|
377 |
-
$p = $this->getProcessForCode('file_put_contents($s = \''.$uri.'\', \'foo\'); flock(fopen('.var_export($lock, true).', \'r\'), LOCK_EX); file_put_contents($s, \'bar\');');
|
378 |
-
|
379 |
-
$h = fopen($lock, 'w');
|
380 |
-
flock($h, LOCK_EX);
|
381 |
-
|
382 |
-
$p->start();
|
383 |
-
|
384 |
-
foreach (['foo', 'bar'] as $s) {
|
385 |
-
while (false === strpos($p->$getOutput(), $s)) {
|
386 |
-
usleep(1000);
|
387 |
-
}
|
388 |
-
|
389 |
-
$this->assertSame($s, $p->$getIncrementalOutput());
|
390 |
-
$this->assertSame('', $p->$getIncrementalOutput());
|
391 |
-
|
392 |
-
flock($h, LOCK_UN);
|
393 |
-
}
|
394 |
-
|
395 |
-
fclose($h);
|
396 |
-
}
|
397 |
-
|
398 |
-
public function provideIncrementalOutput()
|
399 |
-
{
|
400 |
-
return [
|
401 |
-
['getOutput', 'getIncrementalOutput', 'php://stdout'],
|
402 |
-
['getErrorOutput', 'getIncrementalErrorOutput', 'php://stderr'],
|
403 |
-
];
|
404 |
-
}
|
405 |
-
|
406 |
-
public function testGetOutput()
|
407 |
-
{
|
408 |
-
$p = $this->getProcessForCode('$n = 0; while ($n < 3) { echo \' foo \'; $n++; }');
|
409 |
-
|
410 |
-
$p->run();
|
411 |
-
$this->assertEquals(3, preg_match_all('/foo/', $p->getOutput(), $matches));
|
412 |
-
}
|
413 |
-
|
414 |
-
public function testFlushOutput()
|
415 |
-
{
|
416 |
-
$p = $this->getProcessForCode('$n=0;while ($n<3) {echo \' foo \';$n++;}');
|
417 |
-
|
418 |
-
$p->run();
|
419 |
-
$p->clearOutput();
|
420 |
-
$this->assertEmpty($p->getOutput());
|
421 |
-
}
|
422 |
-
|
423 |
-
public function testZeroAsOutput()
|
424 |
-
{
|
425 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
426 |
-
// see http://stackoverflow.com/questions/7105433/windows-batch-echo-without-new-line
|
427 |
-
$p = $this->getProcess('echo | set /p dummyName=0');
|
428 |
-
} else {
|
429 |
-
$p = $this->getProcess('printf 0');
|
430 |
-
}
|
431 |
-
|
432 |
-
$p->run();
|
433 |
-
$this->assertSame('0', $p->getOutput());
|
434 |
-
}
|
435 |
-
|
436 |
-
public function testExitCodeCommandFailed()
|
437 |
-
{
|
438 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
439 |
-
$this->markTestSkipped('Windows does not support POSIX exit code');
|
440 |
-
}
|
441 |
-
$this->skipIfNotEnhancedSigchild();
|
442 |
-
|
443 |
-
// such command run in bash return an exitcode 127
|
444 |
-
$process = $this->getProcess('nonexistingcommandIhopeneversomeonewouldnameacommandlikethis');
|
445 |
-
$process->run();
|
446 |
-
|
447 |
-
$this->assertGreaterThan(0, $process->getExitCode());
|
448 |
-
}
|
449 |
-
|
450 |
-
public function testTTYCommand()
|
451 |
-
{
|
452 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
453 |
-
$this->markTestSkipped('Windows does not have /dev/tty support');
|
454 |
-
}
|
455 |
-
|
456 |
-
$process = $this->getProcess('echo "foo" >> /dev/null && '.$this->getProcessForCode('usleep(100000);')->getCommandLine());
|
457 |
-
$process->setTty(true);
|
458 |
-
$process->start();
|
459 |
-
$this->assertTrue($process->isRunning());
|
460 |
-
$process->wait();
|
461 |
-
|
462 |
-
$this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
|
463 |
-
}
|
464 |
-
|
465 |
-
public function testTTYCommandExitCode()
|
466 |
-
{
|
467 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
468 |
-
$this->markTestSkipped('Windows does have /dev/tty support');
|
469 |
-
}
|
470 |
-
$this->skipIfNotEnhancedSigchild();
|
471 |
-
|
472 |
-
$process = $this->getProcess('echo "foo" >> /dev/null');
|
473 |
-
$process->setTty(true);
|
474 |
-
$process->run();
|
475 |
-
|
476 |
-
$this->assertTrue($process->isSuccessful());
|
477 |
-
}
|
478 |
-
|
479 |
-
/**
|
480 |
-
* @expectedException \Symfony\Component\Process\Exception\RuntimeException
|
481 |
-
* @expectedExceptionMessage TTY mode is not supported on Windows platform.
|
482 |
-
*/
|
483 |
-
public function testTTYInWindowsEnvironment()
|
484 |
-
{
|
485 |
-
if ('\\' !== \DIRECTORY_SEPARATOR) {
|
486 |
-
$this->markTestSkipped('This test is for Windows platform only');
|
487 |
-
}
|
488 |
-
|
489 |
-
$process = $this->getProcess('echo "foo" >> /dev/null');
|
490 |
-
$process->setTty(false);
|
491 |
-
$process->setTty(true);
|
492 |
-
}
|
493 |
-
|
494 |
-
public function testExitCodeTextIsNullWhenExitCodeIsNull()
|
495 |
-
{
|
496 |
-
$this->skipIfNotEnhancedSigchild();
|
497 |
-
|
498 |
-
$process = $this->getProcess('');
|
499 |
-
$this->assertNull($process->getExitCodeText());
|
500 |
-
}
|
501 |
-
|
502 |
-
public function testPTYCommand()
|
503 |
-
{
|
504 |
-
if (!Process::isPtySupported()) {
|
505 |
-
$this->markTestSkipped('PTY is not supported on this operating system.');
|
506 |
-
}
|
507 |
-
|
508 |
-
$process = $this->getProcess('echo "foo"');
|
509 |
-
$process->setPty(true);
|
510 |
-
$process->run();
|
511 |
-
|
512 |
-
$this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
|
513 |
-
$this->assertEquals("foo\r\n", $process->getOutput());
|
514 |
-
}
|
515 |
-
|
516 |
-
public function testMustRun()
|
517 |
-
{
|
518 |
-
$this->skipIfNotEnhancedSigchild();
|
519 |
-
|
520 |
-
$process = $this->getProcess('echo foo');
|
521 |
-
|
522 |
-
$this->assertSame($process, $process->mustRun());
|
523 |
-
$this->assertEquals('foo'.PHP_EOL, $process->getOutput());
|
524 |
-
}
|
525 |
-
|
526 |
-
public function testSuccessfulMustRunHasCorrectExitCode()
|
527 |
-
{
|
528 |
-
$this->skipIfNotEnhancedSigchild();
|
529 |
-
|
530 |
-
$process = $this->getProcess('echo foo')->mustRun();
|
531 |
-
$this->assertEquals(0, $process->getExitCode());
|
532 |
-
}
|
533 |
-
|
534 |
-
/**
|
535 |
-
* @expectedException \Symfony\Component\Process\Exception\ProcessFailedException
|
536 |
-
*/
|
537 |
-
public function testMustRunThrowsException()
|
538 |
-
{
|
539 |
-
$this->skipIfNotEnhancedSigchild();
|
540 |
-
|
541 |
-
$process = $this->getProcess('exit 1');
|
542 |
-
$process->mustRun();
|
543 |
-
}
|
544 |
-
|
545 |
-
public function testExitCodeText()
|
546 |
-
{
|
547 |
-
$this->skipIfNotEnhancedSigchild();
|
548 |
-
|
549 |
-
$process = $this->getProcess('');
|
550 |
-
$r = new \ReflectionObject($process);
|
551 |
-
$p = $r->getProperty('exitcode');
|
552 |
-
$p->setAccessible(true);
|
553 |
-
|
554 |
-
$p->setValue($process, 2);
|
555 |
-
$this->assertEquals('Misuse of shell builtins', $process->getExitCodeText());
|
556 |
-
}
|
557 |
-
|
558 |
-
public function testStartIsNonBlocking()
|
559 |
-
{
|
560 |
-
$process = $this->getProcessForCode('usleep(500000);');
|
561 |
-
$start = microtime(true);
|
562 |
-
$process->start();
|
563 |
-
$end = microtime(true);
|
564 |
-
$this->assertLessThan(0.4, $end - $start);
|
565 |
-
$process->stop();
|
566 |
-
}
|
567 |
-
|
568 |
-
public function testUpdateStatus()
|
569 |
-
{
|
570 |
-
$process = $this->getProcess('echo foo');
|
571 |
-
$process->run();
|
572 |
-
$this->assertGreaterThan(0, \strlen($process->getOutput()));
|
573 |
-
}
|
574 |
-
|
575 |
-
public function testGetExitCodeIsNullOnStart()
|
576 |
-
{
|
577 |
-
$this->skipIfNotEnhancedSigchild();
|
578 |
-
|
579 |
-
$process = $this->getProcessForCode('usleep(100000);');
|
580 |
-
$this->assertNull($process->getExitCode());
|
581 |
-
$process->start();
|
582 |
-
$this->assertNull($process->getExitCode());
|
583 |
-
$process->wait();
|
584 |
-
$this->assertEquals(0, $process->getExitCode());
|
585 |
-
}
|
586 |
-
|
587 |
-
public function testGetExitCodeIsNullOnWhenStartingAgain()
|
588 |
-
{
|
589 |
-
$this->skipIfNotEnhancedSigchild();
|
590 |
-
|
591 |
-
$process = $this->getProcessForCode('usleep(100000);');
|
592 |
-
$process->run();
|
593 |
-
$this->assertEquals(0, $process->getExitCode());
|
594 |
-
$process->start();
|
595 |
-
$this->assertNull($process->getExitCode());
|
596 |
-
$process->wait();
|
597 |
-
$this->assertEquals(0, $process->getExitCode());
|
598 |
-
}
|
599 |
-
|
600 |
-
public function testGetExitCode()
|
601 |
-
{
|
602 |
-
$this->skipIfNotEnhancedSigchild();
|
603 |
-
|
604 |
-
$process = $this->getProcess('echo foo');
|
605 |
-
$process->run();
|
606 |
-
$this->assertSame(0, $process->getExitCode());
|
607 |
-
}
|
608 |
-
|
609 |
-
public function testStatus()
|
610 |
-
{
|
611 |
-
$process = $this->getProcessForCode('usleep(100000);');
|
612 |
-
$this->assertFalse($process->isRunning());
|
613 |
-
$this->assertFalse($process->isStarted());
|
614 |
-
$this->assertFalse($process->isTerminated());
|
615 |
-
$this->assertSame(Process::STATUS_READY, $process->getStatus());
|
616 |
-
$process->start();
|
617 |
-
$this->assertTrue($process->isRunning());
|
618 |
-
$this->assertTrue($process->isStarted());
|
619 |
-
$this->assertFalse($process->isTerminated());
|
620 |
-
$this->assertSame(Process::STATUS_STARTED, $process->getStatus());
|
621 |
-
$process->wait();
|
622 |
-
$this->assertFalse($process->isRunning());
|
623 |
-
$this->assertTrue($process->isStarted());
|
624 |
-
$this->assertTrue($process->isTerminated());
|
625 |
-
$this->assertSame(Process::STATUS_TERMINATED, $process->getStatus());
|
626 |
-
}
|
627 |
-
|
628 |
-
public function testStop()
|
629 |
-
{
|
630 |
-
$process = $this->getProcessForCode('sleep(31);');
|
631 |
-
$process->start();
|
632 |
-
$this->assertTrue($process->isRunning());
|
633 |
-
$process->stop();
|
634 |
-
$this->assertFalse($process->isRunning());
|
635 |
-
}
|
636 |
-
|
637 |
-
public function testIsSuccessful()
|
638 |
-
{
|
639 |
-
$this->skipIfNotEnhancedSigchild();
|
640 |
-
|
641 |
-
$process = $this->getProcess('echo foo');
|
642 |
-
$process->run();
|
643 |
-
$this->assertTrue($process->isSuccessful());
|
644 |
-
}
|
645 |
-
|
646 |
-
public function testIsSuccessfulOnlyAfterTerminated()
|
647 |
-
{
|
648 |
-
$this->skipIfNotEnhancedSigchild();
|
649 |
-
|
650 |
-
$process = $this->getProcessForCode('usleep(100000);');
|
651 |
-
$process->start();
|
652 |
-
|
653 |
-
$this->assertFalse($process->isSuccessful());
|
654 |
-
|
655 |
-
$process->wait();
|
656 |
-
|
657 |
-
$this->assertTrue($process->isSuccessful());
|
658 |
-
}
|
659 |
-
|
660 |
-
public function testIsNotSuccessful()
|
661 |
-
{
|
662 |
-
$this->skipIfNotEnhancedSigchild();
|
663 |
-
|
664 |
-
$process = $this->getProcessForCode('throw new \Exception(\'BOUM\');');
|
665 |
-
$process->run();
|
666 |
-
$this->assertFalse($process->isSuccessful());
|
667 |
-
}
|
668 |
-
|
669 |
-
public function testProcessIsNotSignaled()
|
670 |
-
{
|
671 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
672 |
-
$this->markTestSkipped('Windows does not support POSIX signals');
|
673 |
-
}
|
674 |
-
$this->skipIfNotEnhancedSigchild();
|
675 |
-
|
676 |
-
$process = $this->getProcess('echo foo');
|
677 |
-
$process->run();
|
678 |
-
$this->assertFalse($process->hasBeenSignaled());
|
679 |
-
}
|
680 |
-
|
681 |
-
public function testProcessWithoutTermSignal()
|
682 |
-
{
|
683 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
684 |
-
$this->markTestSkipped('Windows does not support POSIX signals');
|
685 |
-
}
|
686 |
-
$this->skipIfNotEnhancedSigchild();
|
687 |
-
|
688 |
-
$process = $this->getProcess('echo foo');
|
689 |
-
$process->run();
|
690 |
-
$this->assertEquals(0, $process->getTermSignal());
|
691 |
-
}
|
692 |
-
|
693 |
-
public function testProcessIsSignaledIfStopped()
|
694 |
-
{
|
695 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
696 |
-
$this->markTestSkipped('Windows does not support POSIX signals');
|
697 |
-
}
|
698 |
-
$this->skipIfNotEnhancedSigchild();
|
699 |
-
|
700 |
-
$process = $this->getProcessForCode('sleep(32);');
|
701 |
-
$process->start();
|
702 |
-
$process->stop();
|
703 |
-
$this->assertTrue($process->hasBeenSignaled());
|
704 |
-
$this->assertEquals(15, $process->getTermSignal()); // SIGTERM
|
705 |
-
}
|
706 |
-
|
707 |
-
/**
|
708 |
-
* @expectedException \Symfony\Component\Process\Exception\RuntimeException
|
709 |
-
* @expectedExceptionMessage The process has been signaled
|
710 |
-
*/
|
711 |
-
public function testProcessThrowsExceptionWhenExternallySignaled()
|
712 |
-
{
|
713 |
-
if (!\function_exists('posix_kill')) {
|
714 |
-
$this->markTestSkipped('Function posix_kill is required.');
|
715 |
-
}
|
716 |
-
$this->skipIfNotEnhancedSigchild(false);
|
717 |
-
|
718 |
-
$process = $this->getProcessForCode('sleep(32.1);');
|
719 |
-
$process->start();
|
720 |
-
posix_kill($process->getPid(), 9); // SIGKILL
|
721 |
-
|
722 |
-
$process->wait();
|
723 |
-
}
|
724 |
-
|
725 |
-
public function testRestart()
|
726 |
-
{
|
727 |
-
$process1 = $this->getProcessForCode('echo getmypid();');
|
728 |
-
$process1->run();
|
729 |
-
$process2 = $process1->restart();
|
730 |
-
|
731 |
-
$process2->wait(); // wait for output
|
732 |
-
|
733 |
-
// Ensure that both processed finished and the output is numeric
|
734 |
-
$this->assertFalse($process1->isRunning());
|
735 |
-
$this->assertFalse($process2->isRunning());
|
736 |
-
$this->assertInternalType('numeric', $process1->getOutput());
|
737 |
-
$this->assertInternalType('numeric', $process2->getOutput());
|
738 |
-
|
739 |
-
// Ensure that restart returned a new process by check that the output is different
|
740 |
-
$this->assertNotEquals($process1->getOutput(), $process2->getOutput());
|
741 |
-
}
|
742 |
-
|
743 |
-
/**
|
744 |
-
* @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
|
745 |
-
* @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
|
746 |
-
*/
|
747 |
-
public function testRunProcessWithTimeout()
|
748 |
-
{
|
749 |
-
$process = $this->getProcessForCode('sleep(30);');
|
750 |
-
$process->setTimeout(0.1);
|
751 |
-
$start = microtime(true);
|
752 |
-
try {
|
753 |
-
$process->run();
|
754 |
-
$this->fail('A RuntimeException should have been raised');
|
755 |
-
} catch (RuntimeException $e) {
|
756 |
-
}
|
757 |
-
|
758 |
-
$this->assertLessThan(15, microtime(true) - $start);
|
759 |
-
|
760 |
-
throw $e;
|
761 |
-
}
|
762 |
-
|
763 |
-
/**
|
764 |
-
* @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
|
765 |
-
* @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
|
766 |
-
*/
|
767 |
-
public function testIterateOverProcessWithTimeout()
|
768 |
-
{
|
769 |
-
$process = $this->getProcessForCode('sleep(30);');
|
770 |
-
$process->setTimeout(0.1);
|
771 |
-
$start = microtime(true);
|
772 |
-
try {
|
773 |
-
$process->start();
|
774 |
-
foreach ($process as $buffer);
|
775 |
-
$this->fail('A RuntimeException should have been raised');
|
776 |
-
} catch (RuntimeException $e) {
|
777 |
-
}
|
778 |
-
|
779 |
-
$this->assertLessThan(15, microtime(true) - $start);
|
780 |
-
|
781 |
-
throw $e;
|
782 |
-
}
|
783 |
-
|
784 |
-
public function testCheckTimeoutOnNonStartedProcess()
|
785 |
-
{
|
786 |
-
$process = $this->getProcess('echo foo');
|
787 |
-
$this->assertNull($process->checkTimeout());
|
788 |
-
}
|
789 |
-
|
790 |
-
public function testCheckTimeoutOnTerminatedProcess()
|
791 |
-
{
|
792 |
-
$process = $this->getProcess('echo foo');
|
793 |
-
$process->run();
|
794 |
-
$this->assertNull($process->checkTimeout());
|
795 |
-
}
|
796 |
-
|
797 |
-
/**
|
798 |
-
* @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
|
799 |
-
* @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
|
800 |
-
*/
|
801 |
-
public function testCheckTimeoutOnStartedProcess()
|
802 |
-
{
|
803 |
-
$process = $this->getProcessForCode('sleep(33);');
|
804 |
-
$process->setTimeout(0.1);
|
805 |
-
|
806 |
-
$process->start();
|
807 |
-
$start = microtime(true);
|
808 |
-
|
809 |
-
try {
|
810 |
-
while ($process->isRunning()) {
|
811 |
-
$process->checkTimeout();
|
812 |
-
usleep(100000);
|
813 |
-
}
|
814 |
-
$this->fail('A ProcessTimedOutException should have been raised');
|
815 |
-
} catch (ProcessTimedOutException $e) {
|
816 |
-
}
|
817 |
-
|
818 |
-
$this->assertLessThan(15, microtime(true) - $start);
|
819 |
-
|
820 |
-
throw $e;
|
821 |
-
}
|
822 |
-
|
823 |
-
public function testIdleTimeout()
|
824 |
-
{
|
825 |
-
$process = $this->getProcessForCode('sleep(34);');
|
826 |
-
$process->setTimeout(60);
|
827 |
-
$process->setIdleTimeout(0.1);
|
828 |
-
|
829 |
-
try {
|
830 |
-
$process->run();
|
831 |
-
|
832 |
-
$this->fail('A timeout exception was expected.');
|
833 |
-
} catch (ProcessTimedOutException $e) {
|
834 |
-
$this->assertTrue($e->isIdleTimeout());
|
835 |
-
$this->assertFalse($e->isGeneralTimeout());
|
836 |
-
$this->assertEquals(0.1, $e->getExceededTimeout());
|
837 |
-
}
|
838 |
-
}
|
839 |
-
|
840 |
-
public function testIdleTimeoutNotExceededWhenOutputIsSent()
|
841 |
-
{
|
842 |
-
$process = $this->getProcessForCode('while (true) {echo \'foo \'; usleep(1000);}');
|
843 |
-
$process->setTimeout(1);
|
844 |
-
$process->start();
|
845 |
-
|
846 |
-
while (false === strpos($process->getOutput(), 'foo')) {
|
847 |
-
usleep(1000);
|
848 |
-
}
|
849 |
-
|
850 |
-
$process->setIdleTimeout(0.5);
|
851 |
-
|
852 |
-
try {
|
853 |
-
$process->wait();
|
854 |
-
$this->fail('A timeout exception was expected.');
|
855 |
-
} catch (ProcessTimedOutException $e) {
|
856 |
-
$this->assertTrue($e->isGeneralTimeout(), 'A general timeout is expected.');
|
857 |
-
$this->assertFalse($e->isIdleTimeout(), 'No idle timeout is expected.');
|
858 |
-
$this->assertEquals(1, $e->getExceededTimeout());
|
859 |
-
}
|
860 |
-
}
|
861 |
-
|
862 |
-
/**
|
863 |
-
* @expectedException \Symfony\Component\Process\Exception\ProcessTimedOutException
|
864 |
-
* @expectedExceptionMessage exceeded the timeout of 0.1 seconds.
|
865 |
-
*/
|
866 |
-
public function testStartAfterATimeout()
|
867 |
-
{
|
868 |
-
$process = $this->getProcessForCode('sleep(35);');
|
869 |
-
$process->setTimeout(0.1);
|
870 |
-
|
871 |
-
try {
|
872 |
-
$process->run();
|
873 |
-
$this->fail('A ProcessTimedOutException should have been raised.');
|
874 |
-
} catch (ProcessTimedOutException $e) {
|
875 |
-
}
|
876 |
-
$this->assertFalse($process->isRunning());
|
877 |
-
$process->start();
|
878 |
-
$this->assertTrue($process->isRunning());
|
879 |
-
$process->stop(0);
|
880 |
-
|
881 |
-
throw $e;
|
882 |
-
}
|
883 |
-
|
884 |
-
public function testGetPid()
|
885 |
-
{
|
886 |
-
$process = $this->getProcessForCode('sleep(36);');
|
887 |
-
$process->start();
|
888 |
-
$this->assertGreaterThan(0, $process->getPid());
|
889 |
-
$process->stop(0);
|
890 |
-
}
|
891 |
-
|
892 |
-
public function testGetPidIsNullBeforeStart()
|
893 |
-
{
|
894 |
-
$process = $this->getProcess('foo');
|
895 |
-
$this->assertNull($process->getPid());
|
896 |
-
}
|
897 |
-
|
898 |
-
public function testGetPidIsNullAfterRun()
|
899 |
-
{
|
900 |
-
$process = $this->getProcess('echo foo');
|
901 |
-
$process->run();
|
902 |
-
$this->assertNull($process->getPid());
|
903 |
-
}
|
904 |
-
|
905 |
-
/**
|
906 |
-
* @requires extension pcntl
|
907 |
-
*/
|
908 |
-
public function testSignal()
|
909 |
-
{
|
910 |
-
$process = $this->getProcess([self::$phpBin, __DIR__.'/SignalListener.php']);
|
911 |
-
$process->start();
|
912 |
-
|
913 |
-
while (false === strpos($process->getOutput(), 'Caught')) {
|
914 |
-
usleep(1000);
|
915 |
-
}
|
916 |
-
$process->signal(SIGUSR1);
|
917 |
-
$process->wait();
|
918 |
-
|
919 |
-
$this->assertEquals('Caught SIGUSR1', $process->getOutput());
|
920 |
-
}
|
921 |
-
|
922 |
-
/**
|
923 |
-
* @requires extension pcntl
|
924 |
-
*/
|
925 |
-
public function testExitCodeIsAvailableAfterSignal()
|
926 |
-
{
|
927 |
-
$this->skipIfNotEnhancedSigchild();
|
928 |
-
|
929 |
-
$process = $this->getProcess('sleep 4');
|
930 |
-
$process->start();
|
931 |
-
$process->signal(SIGKILL);
|
932 |
-
|
933 |
-
while ($process->isRunning()) {
|
934 |
-
usleep(10000);
|
935 |
-
}
|
936 |
-
|
937 |
-
$this->assertFalse($process->isRunning());
|
938 |
-
$this->assertTrue($process->hasBeenSignaled());
|
939 |
-
$this->assertFalse($process->isSuccessful());
|
940 |
-
$this->assertEquals(137, $process->getExitCode());
|
941 |
-
}
|
942 |
-
|
943 |
-
/**
|
944 |
-
* @expectedException \Symfony\Component\Process\Exception\LogicException
|
945 |
-
* @expectedExceptionMessage Can not send signal on a non running process.
|
946 |
-
*/
|
947 |
-
public function testSignalProcessNotRunning()
|
948 |
-
{
|
949 |
-
$process = $this->getProcess('foo');
|
950 |
-
$process->signal(1); // SIGHUP
|
951 |
-
}
|
952 |
-
|
953 |
-
/**
|
954 |
-
* @dataProvider provideMethodsThatNeedARunningProcess
|
955 |
-
*/
|
956 |
-
public function testMethodsThatNeedARunningProcess($method)
|
957 |
-
{
|
958 |
-
$process = $this->getProcess('foo');
|
959 |
-
|
960 |
-
if (method_exists($this, 'expectException')) {
|
961 |
-
$this->expectException('Symfony\Component\Process\Exception\LogicException');
|
962 |
-
$this->expectExceptionMessage(sprintf('Process must be started before calling %s.', $method));
|
963 |
-
} else {
|
964 |
-
$this->setExpectedException('Symfony\Component\Process\Exception\LogicException', sprintf('Process must be started before calling %s.', $method));
|
965 |
-
}
|
966 |
-
|
967 |
-
$process->{$method}();
|
968 |
-
}
|
969 |
-
|
970 |
-
public function provideMethodsThatNeedARunningProcess()
|
971 |
-
{
|
972 |
-
return [
|
973 |
-
['getOutput'],
|
974 |
-
['getIncrementalOutput'],
|
975 |
-
['getErrorOutput'],
|
976 |
-
['getIncrementalErrorOutput'],
|
977 |
-
['wait'],
|
978 |
-
];
|
979 |
-
}
|
980 |
-
|
981 |
-
/**
|
982 |
-
* @dataProvider provideMethodsThatNeedATerminatedProcess
|
983 |
-
* @expectedException \Symfony\Component\Process\Exception\LogicException
|
984 |
-
* @expectedExceptionMessage Process must be terminated before calling
|
985 |
-
*/
|
986 |
-
public function testMethodsThatNeedATerminatedProcess($method)
|
987 |
-
{
|
988 |
-
$process = $this->getProcessForCode('sleep(37);');
|
989 |
-
$process->start();
|
990 |
-
try {
|
991 |
-
$process->{$method}();
|
992 |
-
$process->stop(0);
|
993 |
-
$this->fail('A LogicException must have been thrown');
|
994 |
-
} catch (\Exception $e) {
|
995 |
-
}
|
996 |
-
$process->stop(0);
|
997 |
-
|
998 |
-
throw $e;
|
999 |
-
}
|
1000 |
-
|
1001 |
-
public function provideMethodsThatNeedATerminatedProcess()
|
1002 |
-
{
|
1003 |
-
return [
|
1004 |
-
['hasBeenSignaled'],
|
1005 |
-
['getTermSignal'],
|
1006 |
-
['hasBeenStopped'],
|
1007 |
-
['getStopSignal'],
|
1008 |
-
];
|
1009 |
-
}
|
1010 |
-
|
1011 |
-
/**
|
1012 |
-
* @dataProvider provideWrongSignal
|
1013 |
-
* @expectedException \Symfony\Component\Process\Exception\RuntimeException
|
1014 |
-
*/
|
1015 |
-
public function testWrongSignal($signal)
|
1016 |
-
{
|
1017 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
1018 |
-
$this->markTestSkipped('POSIX signals do not work on Windows');
|
1019 |
-
}
|
1020 |
-
|
1021 |
-
$process = $this->getProcessForCode('sleep(38);');
|
1022 |
-
$process->start();
|
1023 |
-
try {
|
1024 |
-
$process->signal($signal);
|
1025 |
-
$this->fail('A RuntimeException must have been thrown');
|
1026 |
-
} catch (RuntimeException $e) {
|
1027 |
-
$process->stop(0);
|
1028 |
-
}
|
1029 |
-
|
1030 |
-
throw $e;
|
1031 |
-
}
|
1032 |
-
|
1033 |
-
public function provideWrongSignal()
|
1034 |
-
{
|
1035 |
-
return [
|
1036 |
-
[-4],
|
1037 |
-
['Céphalopodes'],
|
1038 |
-
];
|
1039 |
-
}
|
1040 |
-
|
1041 |
-
public function testDisableOutputDisablesTheOutput()
|
1042 |
-
{
|
1043 |
-
$p = $this->getProcess('foo');
|
1044 |
-
$this->assertFalse($p->isOutputDisabled());
|
1045 |
-
$p->disableOutput();
|
1046 |
-
$this->assertTrue($p->isOutputDisabled());
|
1047 |
-
$p->enableOutput();
|
1048 |
-
$this->assertFalse($p->isOutputDisabled());
|
1049 |
-
}
|
1050 |
-
|
1051 |
-
/**
|
1052 |
-
* @expectedException \Symfony\Component\Process\Exception\RuntimeException
|
1053 |
-
* @expectedExceptionMessage Disabling output while the process is running is not possible.
|
1054 |
-
*/
|
1055 |
-
public function testDisableOutputWhileRunningThrowsException()
|
1056 |
-
{
|
1057 |
-
$p = $this->getProcessForCode('sleep(39);');
|
1058 |
-
$p->start();
|
1059 |
-
$p->disableOutput();
|
1060 |
-
}
|
1061 |
-
|
1062 |
-
/**
|
1063 |
-
* @expectedException \Symfony\Component\Process\Exception\RuntimeException
|
1064 |
-
* @expectedExceptionMessage Enabling output while the process is running is not possible.
|
1065 |
-
*/
|
1066 |
-
public function testEnableOutputWhileRunningThrowsException()
|
1067 |
-
{
|
1068 |
-
$p = $this->getProcessForCode('sleep(40);');
|
1069 |
-
$p->disableOutput();
|
1070 |
-
$p->start();
|
1071 |
-
$p->enableOutput();
|
1072 |
-
}
|
1073 |
-
|
1074 |
-
public function testEnableOrDisableOutputAfterRunDoesNotThrowException()
|
1075 |
-
{
|
1076 |
-
$p = $this->getProcess('echo foo');
|
1077 |
-
$p->disableOutput();
|
1078 |
-
$p->run();
|
1079 |
-
$p->enableOutput();
|
1080 |
-
$p->disableOutput();
|
1081 |
-
$this->assertTrue($p->isOutputDisabled());
|
1082 |
-
}
|
1083 |
-
|
1084 |
-
/**
|
1085 |
-
* @expectedException \Symfony\Component\Process\Exception\LogicException
|
1086 |
-
* @expectedExceptionMessage Output can not be disabled while an idle timeout is set.
|
1087 |
-
*/
|
1088 |
-
public function testDisableOutputWhileIdleTimeoutIsSet()
|
1089 |
-
{
|
1090 |
-
$process = $this->getProcess('foo');
|
1091 |
-
$process->setIdleTimeout(1);
|
1092 |
-
$process->disableOutput();
|
1093 |
-
}
|
1094 |
-
|
1095 |
-
/**
|
1096 |
-
* @expectedException \Symfony\Component\Process\Exception\LogicException
|
1097 |
-
* @expectedExceptionMessage timeout can not be set while the output is disabled.
|
1098 |
-
*/
|
1099 |
-
public function testSetIdleTimeoutWhileOutputIsDisabled()
|
1100 |
-
{
|
1101 |
-
$process = $this->getProcess('foo');
|
1102 |
-
$process->disableOutput();
|
1103 |
-
$process->setIdleTimeout(1);
|
1104 |
-
}
|
1105 |
-
|
1106 |
-
public function testSetNullIdleTimeoutWhileOutputIsDisabled()
|
1107 |
-
{
|
1108 |
-
$process = $this->getProcess('foo');
|
1109 |
-
$process->disableOutput();
|
1110 |
-
$this->assertSame($process, $process->setIdleTimeout(null));
|
1111 |
-
}
|
1112 |
-
|
1113 |
-
/**
|
1114 |
-
* @dataProvider provideOutputFetchingMethods
|
1115 |
-
* @expectedException \Symfony\Component\Process\Exception\LogicException
|
1116 |
-
* @expectedExceptionMessage Output has been disabled.
|
1117 |
-
*/
|
1118 |
-
public function testGetOutputWhileDisabled($fetchMethod)
|
1119 |
-
{
|
1120 |
-
$p = $this->getProcessForCode('sleep(41);');
|
1121 |
-
$p->disableOutput();
|
1122 |
-
$p->start();
|
1123 |
-
$p->{$fetchMethod}();
|
1124 |
-
}
|
1125 |
-
|
1126 |
-
public function provideOutputFetchingMethods()
|
1127 |
-
{
|
1128 |
-
return [
|
1129 |
-
['getOutput'],
|
1130 |
-
['getIncrementalOutput'],
|
1131 |
-
['getErrorOutput'],
|
1132 |
-
['getIncrementalErrorOutput'],
|
1133 |
-
];
|
1134 |
-
}
|
1135 |
-
|
1136 |
-
public function testStopTerminatesProcessCleanly()
|
1137 |
-
{
|
1138 |
-
$process = $this->getProcessForCode('echo 123; sleep(42);');
|
1139 |
-
$process->run(function () use ($process) {
|
1140 |
-
$process->stop();
|
1141 |
-
});
|
1142 |
-
$this->assertTrue(true, 'A call to stop() is not expected to cause wait() to throw a RuntimeException');
|
1143 |
-
}
|
1144 |
-
|
1145 |
-
public function testKillSignalTerminatesProcessCleanly()
|
1146 |
-
{
|
1147 |
-
$process = $this->getProcessForCode('echo 123; sleep(43);');
|
1148 |
-
$process->run(function () use ($process) {
|
1149 |
-
$process->signal(9); // SIGKILL
|
1150 |
-
});
|
1151 |
-
$this->assertTrue(true, 'A call to signal() is not expected to cause wait() to throw a RuntimeException');
|
1152 |
-
}
|
1153 |
-
|
1154 |
-
public function testTermSignalTerminatesProcessCleanly()
|
1155 |
-
{
|
1156 |
-
$process = $this->getProcessForCode('echo 123; sleep(44);');
|
1157 |
-
$process->run(function () use ($process) {
|
1158 |
-
$process->signal(15); // SIGTERM
|
1159 |
-
});
|
1160 |
-
$this->assertTrue(true, 'A call to signal() is not expected to cause wait() to throw a RuntimeException');
|
1161 |
-
}
|
1162 |
-
|
1163 |
-
public function responsesCodeProvider()
|
1164 |
-
{
|
1165 |
-
return [
|
1166 |
-
//expected output / getter / code to execute
|
1167 |
-
//[1,'getExitCode','exit(1);'],
|
1168 |
-
//[true,'isSuccessful','exit();'],
|
1169 |
-
['output', 'getOutput', 'echo \'output\';'],
|
1170 |
-
];
|
1171 |
-
}
|
1172 |
-
|
1173 |
-
public function pipesCodeProvider()
|
1174 |
-
{
|
1175 |
-
$variations = [
|
1176 |
-
'fwrite(STDOUT, $in = file_get_contents(\'php://stdin\')); fwrite(STDERR, $in);',
|
1177 |
-
'include \''.__DIR__.'/PipeStdinInStdoutStdErrStreamSelect.php\';',
|
1178 |
-
];
|
1179 |
-
|
1180 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
1181 |
-
// Avoid XL buffers on Windows because of https://bugs.php.net/bug.php?id=65650
|
1182 |
-
$sizes = [1, 2, 4, 8];
|
1183 |
-
} else {
|
1184 |
-
$sizes = [1, 16, 64, 1024, 4096];
|
1185 |
-
}
|
1186 |
-
|
1187 |
-
$codes = [];
|
1188 |
-
foreach ($sizes as $size) {
|
1189 |
-
foreach ($variations as $code) {
|
1190 |
-
$codes[] = [$code, $size];
|
1191 |
-
}
|
1192 |
-
}
|
1193 |
-
|
1194 |
-
return $codes;
|
1195 |
-
}
|
1196 |
-
|
1197 |
-
/**
|
1198 |
-
* @dataProvider provideVariousIncrementals
|
1199 |
-
*/
|
1200 |
-
public function testIncrementalOutputDoesNotRequireAnotherCall($stream, $method)
|
1201 |
-
{
|
1202 |
-
$process = $this->getProcessForCode('$n = 0; while ($n < 3) { file_put_contents(\''.$stream.'\', $n, 1); $n++; usleep(1000); }', null, null, null, null);
|
1203 |
-
$process->start();
|
1204 |
-
$result = '';
|
1205 |
-
$limit = microtime(true) + 3;
|
1206 |
-
$expected = '012';
|
1207 |
-
|
1208 |
-
while ($result !== $expected && microtime(true) < $limit) {
|
1209 |
-
$result .= $process->$method();
|
1210 |
-
}
|
1211 |
-
|
1212 |
-
$this->assertSame($expected, $result);
|
1213 |
-
$process->stop();
|
1214 |
-
}
|
1215 |
-
|
1216 |
-
public function provideVariousIncrementals()
|
1217 |
-
{
|
1218 |
-
return [
|
1219 |
-
['php://stdout', 'getIncrementalOutput'],
|
1220 |
-
['php://stderr', 'getIncrementalErrorOutput'],
|
1221 |
-
];
|
1222 |
-
}
|
1223 |
-
|
1224 |
-
public function testIteratorInput()
|
1225 |
-
{
|
1226 |
-
$input = function () {
|
1227 |
-
yield 'ping';
|
1228 |
-
yield 'pong';
|
1229 |
-
};
|
1230 |
-
|
1231 |
-
$process = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);', null, null, $input());
|
1232 |
-
$process->run();
|
1233 |
-
$this->assertSame('pingpong', $process->getOutput());
|
1234 |
-
}
|
1235 |
-
|
1236 |
-
public function testSimpleInputStream()
|
1237 |
-
{
|
1238 |
-
$input = new InputStream();
|
1239 |
-
|
1240 |
-
$process = $this->getProcessForCode('echo \'ping\'; echo fread(STDIN, 4); echo fread(STDIN, 4);');
|
1241 |
-
$process->setInput($input);
|
1242 |
-
|
1243 |
-
$process->start(function ($type, $data) use ($input) {
|
1244 |
-
if ('ping' === $data) {
|
1245 |
-
$input->write('pang');
|
1246 |
-
} elseif (!$input->isClosed()) {
|
1247 |
-
$input->write('pong');
|
1248 |
-
$input->close();
|
1249 |
-
}
|
1250 |
-
});
|
1251 |
-
|
1252 |
-
$process->wait();
|
1253 |
-
$this->assertSame('pingpangpong', $process->getOutput());
|
1254 |
-
}
|
1255 |
-
|
1256 |
-
public function testInputStreamWithCallable()
|
1257 |
-
{
|
1258 |
-
$i = 0;
|
1259 |
-
$stream = fopen('php://memory', 'w+');
|
1260 |
-
$stream = function () use ($stream, &$i) {
|
1261 |
-
if ($i < 3) {
|
1262 |
-
rewind($stream);
|
1263 |
-
fwrite($stream, ++$i);
|
1264 |
-
rewind($stream);
|
1265 |
-
|
1266 |
-
return $stream;
|
1267 |
-
}
|
1268 |
-
};
|
1269 |
-
|
1270 |
-
$input = new InputStream();
|
1271 |
-
$input->onEmpty($stream);
|
1272 |
-
$input->write($stream());
|
1273 |
-
|
1274 |
-
$process = $this->getProcessForCode('echo fread(STDIN, 3);');
|
1275 |
-
$process->setInput($input);
|
1276 |
-
$process->start(function ($type, $data) use ($input) {
|
1277 |
-
$input->close();
|
1278 |
-
});
|
1279 |
-
|
1280 |
-
$process->wait();
|
1281 |
-
$this->assertSame('123', $process->getOutput());
|
1282 |
-
}
|
1283 |
-
|
1284 |
-
public function testInputStreamWithGenerator()
|
1285 |
-
{
|
1286 |
-
$input = new InputStream();
|
1287 |
-
$input->onEmpty(function ($input) {
|
1288 |
-
yield 'pong';
|
1289 |
-
$input->close();
|
1290 |
-
});
|
1291 |
-
|
1292 |
-
$process = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);');
|
1293 |
-
$process->setInput($input);
|
1294 |
-
$process->start();
|
1295 |
-
$input->write('ping');
|
1296 |
-
$process->wait();
|
1297 |
-
$this->assertSame('pingpong', $process->getOutput());
|
1298 |
-
}
|
1299 |
-
|
1300 |
-
public function testInputStreamOnEmpty()
|
1301 |
-
{
|
1302 |
-
$i = 0;
|
1303 |
-
$input = new InputStream();
|
1304 |
-
$input->onEmpty(function () use (&$i) { ++$i; });
|
1305 |
-
|
1306 |
-
$process = $this->getProcessForCode('echo 123; echo fread(STDIN, 1); echo 456;');
|
1307 |
-
$process->setInput($input);
|
1308 |
-
$process->start(function ($type, $data) use ($input) {
|
1309 |
-
if ('123' === $data) {
|
1310 |
-
$input->close();
|
1311 |
-
}
|
1312 |
-
});
|
1313 |
-
$process->wait();
|
1314 |
-
|
1315 |
-
$this->assertSame(0, $i, 'InputStream->onEmpty callback should be called only when the input *becomes* empty');
|
1316 |
-
$this->assertSame('123456', $process->getOutput());
|
1317 |
-
}
|
1318 |
-
|
1319 |
-
public function testIteratorOutput()
|
1320 |
-
{
|
1321 |
-
$input = new InputStream();
|
1322 |
-
|
1323 |
-
$process = $this->getProcessForCode('fwrite(STDOUT, 123); fwrite(STDERR, 234); flush(); usleep(10000); fwrite(STDOUT, fread(STDIN, 3)); fwrite(STDERR, 456);');
|
1324 |
-
$process->setInput($input);
|
1325 |
-
$process->start();
|
1326 |
-
$output = [];
|
1327 |
-
|
1328 |
-
foreach ($process as $type => $data) {
|
1329 |
-
$output[] = [$type, $data];
|
1330 |
-
break;
|
1331 |
-
}
|
1332 |
-
$expectedOutput = [
|
1333 |
-
[$process::OUT, '123'],
|
1334 |
-
];
|
1335 |
-
$this->assertSame($expectedOutput, $output);
|
1336 |
-
|
1337 |
-
$input->write(345);
|
1338 |
-
|
1339 |
-
foreach ($process as $type => $data) {
|
1340 |
-
$output[] = [$type, $data];
|
1341 |
-
}
|
1342 |
-
|
1343 |
-
$this->assertSame('', $process->getOutput());
|
1344 |
-
$this->assertFalse($process->isRunning());
|
1345 |
-
|
1346 |
-
$expectedOutput = [
|
1347 |
-
[$process::OUT, '123'],
|
1348 |
-
[$process::ERR, '234'],
|
1349 |
-
[$process::OUT, '345'],
|
1350 |
-
[$process::ERR, '456'],
|
1351 |
-
];
|
1352 |
-
$this->assertSame($expectedOutput, $output);
|
1353 |
-
}
|
1354 |
-
|
1355 |
-
public function testNonBlockingNorClearingIteratorOutput()
|
1356 |
-
{
|
1357 |
-
$input = new InputStream();
|
1358 |
-
|
1359 |
-
$process = $this->getProcessForCode('fwrite(STDOUT, fread(STDIN, 3));');
|
1360 |
-
$process->setInput($input);
|
1361 |
-
$process->start();
|
1362 |
-
$output = [];
|
1363 |
-
|
1364 |
-
foreach ($process->getIterator($process::ITER_NON_BLOCKING | $process::ITER_KEEP_OUTPUT) as $type => $data) {
|
1365 |
-
$output[] = [$type, $data];
|
1366 |
-
break;
|
1367 |
-
}
|
1368 |
-
$expectedOutput = [
|
1369 |
-
[$process::OUT, ''],
|
1370 |
-
];
|
1371 |
-
$this->assertSame($expectedOutput, $output);
|
1372 |
-
|
1373 |
-
$input->write(123);
|
1374 |
-
|
1375 |
-
foreach ($process->getIterator($process::ITER_NON_BLOCKING | $process::ITER_KEEP_OUTPUT) as $type => $data) {
|
1376 |
-
if ('' !== $data) {
|
1377 |
-
$output[] = [$type, $data];
|
1378 |
-
}
|
1379 |
-
}
|
1380 |
-
|
1381 |
-
$this->assertSame('123', $process->getOutput());
|
1382 |
-
$this->assertFalse($process->isRunning());
|
1383 |
-
|
1384 |
-
$expectedOutput = [
|
1385 |
-
[$process::OUT, ''],
|
1386 |
-
[$process::OUT, '123'],
|
1387 |
-
];
|
1388 |
-
$this->assertSame($expectedOutput, $output);
|
1389 |
-
}
|
1390 |
-
|
1391 |
-
public function testChainedProcesses()
|
1392 |
-
{
|
1393 |
-
$p1 = $this->getProcessForCode('fwrite(STDERR, 123); fwrite(STDOUT, 456);');
|
1394 |
-
$p2 = $this->getProcessForCode('stream_copy_to_stream(STDIN, STDOUT);');
|
1395 |
-
$p2->setInput($p1);
|
1396 |
-
|
1397 |
-
$p1->start();
|
1398 |
-
$p2->run();
|
1399 |
-
|
1400 |
-
$this->assertSame('123', $p1->getErrorOutput());
|
1401 |
-
$this->assertSame('', $p1->getOutput());
|
1402 |
-
$this->assertSame('', $p2->getErrorOutput());
|
1403 |
-
$this->assertSame('456', $p2->getOutput());
|
1404 |
-
}
|
1405 |
-
|
1406 |
-
public function testSetBadEnv()
|
1407 |
-
{
|
1408 |
-
$process = $this->getProcess('echo hello');
|
1409 |
-
$process->setEnv(['bad%%' => '123']);
|
1410 |
-
$process->inheritEnvironmentVariables(true);
|
1411 |
-
|
1412 |
-
$process->run();
|
1413 |
-
|
1414 |
-
$this->assertSame('hello'.PHP_EOL, $process->getOutput());
|
1415 |
-
$this->assertSame('', $process->getErrorOutput());
|
1416 |
-
}
|
1417 |
-
|
1418 |
-
public function testEnvBackupDoesNotDeleteExistingVars()
|
1419 |
-
{
|
1420 |
-
putenv('existing_var=foo');
|
1421 |
-
$_ENV['existing_var'] = 'foo';
|
1422 |
-
$process = $this->getProcess('php -r "echo getenv(\'new_test_var\');"');
|
1423 |
-
$process->setEnv(['existing_var' => 'bar', 'new_test_var' => 'foo']);
|
1424 |
-
$process->inheritEnvironmentVariables();
|
1425 |
-
|
1426 |
-
$process->run();
|
1427 |
-
|
1428 |
-
$this->assertSame('foo', $process->getOutput());
|
1429 |
-
$this->assertSame('foo', getenv('existing_var'));
|
1430 |
-
$this->assertFalse(getenv('new_test_var'));
|
1431 |
-
|
1432 |
-
putenv('existing_var');
|
1433 |
-
unset($_ENV['existing_var']);
|
1434 |
-
}
|
1435 |
-
|
1436 |
-
public function testEnvIsInherited()
|
1437 |
-
{
|
1438 |
-
$process = $this->getProcessForCode('echo serialize($_SERVER);', null, ['BAR' => 'BAZ', 'EMPTY' => '']);
|
1439 |
-
|
1440 |
-
putenv('FOO=BAR');
|
1441 |
-
$_ENV['FOO'] = 'BAR';
|
1442 |
-
|
1443 |
-
$process->run();
|
1444 |
-
|
1445 |
-
$expected = ['BAR' => 'BAZ', 'EMPTY' => '', 'FOO' => 'BAR'];
|
1446 |
-
$env = array_intersect_key(unserialize($process->getOutput()), $expected);
|
1447 |
-
|
1448 |
-
$this->assertEquals($expected, $env);
|
1449 |
-
|
1450 |
-
putenv('FOO');
|
1451 |
-
unset($_ENV['FOO']);
|
1452 |
-
}
|
1453 |
-
|
1454 |
-
/**
|
1455 |
-
* @group legacy
|
1456 |
-
*/
|
1457 |
-
public function testInheritEnvDisabled()
|
1458 |
-
{
|
1459 |
-
$process = $this->getProcessForCode('echo serialize($_SERVER);', null, ['BAR' => 'BAZ']);
|
1460 |
-
|
1461 |
-
putenv('FOO=BAR');
|
1462 |
-
$_ENV['FOO'] = 'BAR';
|
1463 |
-
|
1464 |
-
$this->assertSame($process, $process->inheritEnvironmentVariables(false));
|
1465 |
-
$this->assertFalse($process->areEnvironmentVariablesInherited());
|
1466 |
-
|
1467 |
-
$process->run();
|
1468 |
-
|
1469 |
-
$expected = ['BAR' => 'BAZ', 'FOO' => 'BAR'];
|
1470 |
-
$env = array_intersect_key(unserialize($process->getOutput()), $expected);
|
1471 |
-
unset($expected['FOO']);
|
1472 |
-
|
1473 |
-
$this->assertSame($expected, $env);
|
1474 |
-
|
1475 |
-
putenv('FOO');
|
1476 |
-
unset($_ENV['FOO']);
|
1477 |
-
}
|
1478 |
-
|
1479 |
-
public function testGetCommandLine()
|
1480 |
-
{
|
1481 |
-
$p = new Process(['/usr/bin/php']);
|
1482 |
-
|
1483 |
-
$expected = '\\' === \DIRECTORY_SEPARATOR ? '"/usr/bin/php"' : "'/usr/bin/php'";
|
1484 |
-
$this->assertSame($expected, $p->getCommandLine());
|
1485 |
-
}
|
1486 |
-
|
1487 |
-
/**
|
1488 |
-
* @dataProvider provideEscapeArgument
|
1489 |
-
*/
|
1490 |
-
public function testEscapeArgument($arg)
|
1491 |
-
{
|
1492 |
-
$p = new Process([self::$phpBin, '-r', 'echo $argv[1];', $arg]);
|
1493 |
-
$p->run();
|
1494 |
-
|
1495 |
-
$this->assertSame((string) $arg, $p->getOutput());
|
1496 |
-
}
|
1497 |
-
|
1498 |
-
/**
|
1499 |
-
* @dataProvider provideEscapeArgument
|
1500 |
-
* @group legacy
|
1501 |
-
*/
|
1502 |
-
public function testEscapeArgumentWhenInheritEnvDisabled($arg)
|
1503 |
-
{
|
1504 |
-
$p = new Process([self::$phpBin, '-r', 'echo $argv[1];', $arg], null, ['BAR' => 'BAZ']);
|
1505 |
-
$p->inheritEnvironmentVariables(false);
|
1506 |
-
$p->run();
|
1507 |
-
|
1508 |
-
$this->assertSame((string) $arg, $p->getOutput());
|
1509 |
-
}
|
1510 |
-
|
1511 |
-
public function testRawCommandLine()
|
1512 |
-
{
|
1513 |
-
$p = new Process(sprintf('"%s" -r %s "a" "" "b"', self::$phpBin, escapeshellarg('print_r($argv);')));
|
1514 |
-
$p->run();
|
1515 |
-
|
1516 |
-
$expected = <<<EOTXT
|
1517 |
-
Array
|
1518 |
-
(
|
1519 |
-
[0] => -
|
1520 |
-
[1] => a
|
1521 |
-
[2] =>
|
1522 |
-
[3] => b
|
1523 |
-
)
|
1524 |
-
|
1525 |
-
EOTXT;
|
1526 |
-
$this->assertSame($expected, str_replace('Standard input code', '-', $p->getOutput()));
|
1527 |
-
}
|
1528 |
-
|
1529 |
-
public function provideEscapeArgument()
|
1530 |
-
{
|
1531 |
-
yield ['a"b%c%'];
|
1532 |
-
yield ['a"b^c^'];
|
1533 |
-
yield ["a\nb'c"];
|
1534 |
-
yield ['a^b c!'];
|
1535 |
-
yield ["a!b\tc"];
|
1536 |
-
yield ['a\\\\"\\"'];
|
1537 |
-
yield ['éÉèÈàÀöä'];
|
1538 |
-
yield [null];
|
1539 |
-
yield [1];
|
1540 |
-
yield [1.1];
|
1541 |
-
}
|
1542 |
-
|
1543 |
-
public function testEnvArgument()
|
1544 |
-
{
|
1545 |
-
$env = ['FOO' => 'Foo', 'BAR' => 'Bar'];
|
1546 |
-
$cmd = '\\' === \DIRECTORY_SEPARATOR ? 'echo !FOO! !BAR! !BAZ!' : 'echo $FOO $BAR $BAZ';
|
1547 |
-
$p = new Process($cmd, null, $env);
|
1548 |
-
$p->run(null, ['BAR' => 'baR', 'BAZ' => 'baZ']);
|
1549 |
-
|
1550 |
-
$this->assertSame('Foo baR baZ', rtrim($p->getOutput()));
|
1551 |
-
$this->assertSame($env, $p->getEnv());
|
1552 |
-
}
|
1553 |
-
|
1554 |
-
/**
|
1555 |
-
* @param string $commandline
|
1556 |
-
* @param string|null $cwd
|
1557 |
-
* @param array|null $env
|
1558 |
-
* @param string|null $input
|
1559 |
-
* @param int $timeout
|
1560 |
-
* @param array $options
|
1561 |
-
*
|
1562 |
-
* @return Process
|
1563 |
-
*/
|
1564 |
-
private function getProcess($commandline, $cwd = null, array $env = null, $input = null, $timeout = 60)
|
1565 |
-
{
|
1566 |
-
$process = new Process($commandline, $cwd, $env, $input, $timeout);
|
1567 |
-
$process->inheritEnvironmentVariables();
|
1568 |
-
|
1569 |
-
if (false !== $enhance = getenv('ENHANCE_SIGCHLD')) {
|
1570 |
-
try {
|
1571 |
-
$process->setEnhanceSigchildCompatibility(false);
|
1572 |
-
$process->getExitCode();
|
1573 |
-
$this->fail('ENHANCE_SIGCHLD must be used together with a sigchild-enabled PHP.');
|
1574 |
-
} catch (RuntimeException $e) {
|
1575 |
-
$this->assertSame('This PHP has been compiled with --enable-sigchild. You must use setEnhanceSigchildCompatibility() to use this method.', $e->getMessage());
|
1576 |
-
if ($enhance) {
|
1577 |
-
$process->setEnhanceSigchildCompatibility(true);
|
1578 |
-
} else {
|
1579 |
-
self::$notEnhancedSigchild = true;
|
1580 |
-
}
|
1581 |
-
}
|
1582 |
-
}
|
1583 |
-
|
1584 |
-
if (self::$process) {
|
1585 |
-
self::$process->stop(0);
|
1586 |
-
}
|
1587 |
-
|
1588 |
-
return self::$process = $process;
|
1589 |
-
}
|
1590 |
-
|
1591 |
-
/**
|
1592 |
-
* @return Process
|
1593 |
-
*/
|
1594 |
-
private function getProcessForCode($code, $cwd = null, array $env = null, $input = null, $timeout = 60)
|
1595 |
-
{
|
1596 |
-
return $this->getProcess([self::$phpBin, '-r', $code], $cwd, $env, $input, $timeout);
|
1597 |
-
}
|
1598 |
-
|
1599 |
-
private function skipIfNotEnhancedSigchild($expectException = true)
|
1600 |
-
{
|
1601 |
-
if (self::$sigchild) {
|
1602 |
-
if (!$expectException) {
|
1603 |
-
$this->markTestSkipped('PHP is compiled with --enable-sigchild.');
|
1604 |
-
} elseif (self::$notEnhancedSigchild) {
|
1605 |
-
if (method_exists($this, 'expectException')) {
|
1606 |
-
$this->expectException('Symfony\Component\Process\Exception\RuntimeException');
|
1607 |
-
$this->expectExceptionMessage('This PHP has been compiled with --enable-sigchild.');
|
1608 |
-
} else {
|
1609 |
-
$this->setExpectedException('Symfony\Component\Process\Exception\RuntimeException', 'This PHP has been compiled with --enable-sigchild.');
|
1610 |
-
}
|
1611 |
-
}
|
1612 |
-
}
|
1613 |
-
}
|
1614 |
-
}
|
1615 |
-
|
1616 |
-
class NonStringifiable
|
1617 |
-
{
|
1618 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,53 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
namespace Symfony\Component\Process\Tests;
|
13 |
-
|
14 |
-
use PHPUnit\Framework\TestCase;
|
15 |
-
use Symfony\Component\Process\ProcessUtils;
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @group legacy
|
19 |
-
*/
|
20 |
-
class ProcessUtilsTest extends TestCase
|
21 |
-
{
|
22 |
-
/**
|
23 |
-
* @dataProvider dataArguments
|
24 |
-
*/
|
25 |
-
public function testEscapeArgument($result, $argument)
|
26 |
-
{
|
27 |
-
$this->assertSame($result, ProcessUtils::escapeArgument($argument));
|
28 |
-
}
|
29 |
-
|
30 |
-
public function dataArguments()
|
31 |
-
{
|
32 |
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
33 |
-
return [
|
34 |
-
['"\"php\" \"-v\""', '"php" "-v"'],
|
35 |
-
['"foo bar"', 'foo bar'],
|
36 |
-
['^%"path"^%', '%path%'],
|
37 |
-
['"<|>\\" \\"\'f"', '<|>" "\'f'],
|
38 |
-
['""', ''],
|
39 |
-
['"with\trailingbs\\\\"', 'with\trailingbs\\'],
|
40 |
-
];
|
41 |
-
}
|
42 |
-
|
43 |
-
return [
|
44 |
-
["'\"php\" \"-v\"'", '"php" "-v"'],
|
45 |
-
["'foo bar'", 'foo bar'],
|
46 |
-
["'%path%'", '%path%'],
|
47 |
-
["'<|>\" \"'\\''f'", '<|>" "\'f'],
|
48 |
-
["''", ''],
|
49 |
-
["'with\\trailingbs\\'", 'with\trailingbs\\'],
|
50 |
-
["'withNonAsciiAccentLikeéÉèÈàÀöä'", 'withNonAsciiAccentLikeéÉèÈàÀöä'],
|
51 |
-
];
|
52 |
-
}
|
53 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,21 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* This file is part of the Symfony package.
|
5 |
-
*
|
6 |
-
* (c) Fabien Potencier <fabien@symfony.com>
|
7 |
-
*
|
8 |
-
* For the full copyright and license information, please view the LICENSE
|
9 |
-
* file that was distributed with this source code.
|
10 |
-
*/
|
11 |
-
|
12 |
-
pcntl_signal(SIGUSR1, function () { echo 'SIGUSR1'; exit; });
|
13 |
-
|
14 |
-
echo 'Caught ';
|
15 |
-
|
16 |
-
$n = 0;
|
17 |
-
|
18 |
-
while ($n++ < 400) {
|
19 |
-
usleep(10000);
|
20 |
-
pcntl_signal_dispatch();
|
21 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|