Version Description
- 2013/06/06 =
- FEATURE: News blog - http://updraftplus.com/news/ - please subscribe if you want to stay up to date with news of new features, tips, and special offers. RSS link: http://feeds.feedburner.com/UpdraftPlus
- FEATURE: Restoration/migration now copes with a change of table prefix, and asks WordPress to recreate your .htaccess/web.config file
- FEATURE: Add support for DreamHost DreamObjects (http://dreamhost.com/cloud/dreamobjects/)
- FEATURE: Polski / Polish (pl_PL) translation: thanks to Bartosz Kaczmarek (barth.kaczmarek at gmail.com)
- FEATURE: Add expert options to count expected uncompressed backup size, show/delete active jobs, and PHP info
- FEATURE: Send backup reports to multiple addresses (comma-separate the addresses you wish to use)
- FIX: Inform users of Dropbox tokens which stop working
- FIX: Don't flag an error if mu-plugins are selected, but none are found and WordPress agrees that none exist
- COMPATIBILITY: WordPress multisite post-3.5 does not store blog uploads separately from main uploads directory
- COMPATIBILITY: Now marked as compatible with WordPress 3.6
- TWEAK: When errors occur, list them in the notification email and attach the log file
- TWEAK: Use only one transient per job, and clean it up upon completion
- TWEAK: Added a "Clone/Migrate" button to give a visual clue for people wanting to do this
- TWEAK: More verbose error reporting from PclZip
- TWEAK: After database restoration, permalinks are flushed (often helps regenerate .htaccess+web.config files)
- TWEAK: Database backups now put the options table first, to allow earlier changing of site URL upon migration
- TWEAK: Show PHP + web server versions in the debug information
- TWEAK: More sophisticated attempts to get a writable backup directory, and more helpful messages if we can't
- TWEAK: Some more logging, data-gathering and algorithm-tweaking to especially improve the chances for people with astonishingly slow web hosting, but also tweaks that improve efficiency everywhere, especially for larger backup sets.
- TWEAK: Migrator plugin now does search+replace after each table (instead of after them all)
- TWEAK: Clean up temporary files earlier where safe+possible (can lower disk space requirements)
- TWEAK: Re-scan of known sets now removes those known to be gone from the list
- TWEAK: Made a few things use AJAX instead of full page loads
- TWEAK: Replace Rackspace logo with current version
- TWEAK: Make missing PHP component warnings more prominent
- TWEAK: Warn users if they have W3 Total Cache's object cache (which has a bug that affects scheduled tasks) active.
- TWEAK: Add a notice for users who have turned on debugging (some forget to turn it off, then ask for support when they see lots of debugging notices)
Download this release
Release Info
Developer | DavidAnderson |
Plugin | UpdraftPlus WordPress Backup Plugin |
Version | 1.6.17 |
Comparing to | |
See all releases |
Code changes from version 1.6.2 to 1.6.17
- admin.php +461 -102
- backup.php +254 -15
- images/dreamobjects_logo-horiz-2013.png +0 -0
- images/rackspacecloud-logo.png +0 -0
- includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php +8 -1
- includes/Dropbox/OAuth/Storage/Encrypter.php +9 -2
- includes/S3.php +7 -2
- includes/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- includes/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- includes/images/ui-bg_flat_10_000000_40x100.png +0 -0
- includes/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- includes/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- includes/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- includes/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- includes/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- includes/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- includes/images/ui-icons_222222_256x240.png +0 -0
- includes/images/ui-icons_228ef1_256x240.png +0 -0
- includes/images/ui-icons_ef8c08_256x240.png +0 -0
- includes/images/ui-icons_ffd27a_256x240.png +0 -0
- includes/images/ui-icons_ffffff_256x240.png +0 -0
- includes/updraft-restorer.php +327 -18
- index.html +67 -0
- languages/updraftplus-it_IT.mo +0 -0
- languages/updraftplus-it_IT.po +2256 -0
- languages/updraftplus-pl_PL.mo +0 -0
- languages/updraftplus-pl_PL.po +2020 -0
- languages/updraftplus.pot +715 -496
- methods/cloudfiles.php +16 -17
- methods/dreamobjects.php +35 -0
- methods/dropbox.php +23 -21
- methods/email.php +3 -1
- methods/ftp.php +3 -3
- methods/googledrive.php +18 -4
- methods/s3.php +141 -79
- options.php +4 -0
- readme.txt +48 -16
- updraftplus.php +265 -88
admin.php
CHANGED
@@ -27,6 +27,7 @@ class UpdraftPlus_Admin {
|
|
27 |
add_action('wp_ajax_plupload_action2', array($this,'plupload_action2'));
|
28 |
|
29 |
global $updraftplus, $wp_version, $pagenow;
|
|
|
30 |
|
31 |
// First, the checks that are on all (admin) pages:
|
32 |
|
@@ -40,12 +41,26 @@ class UpdraftPlus_Admin {
|
|
40 |
|
41 |
if (UpdraftPlus_Options::user_can_manage() && $this->disk_space_check(1024*1024*35) === false) add_action('admin_notices', array($this, 'show_admin_warning_diskspace'));
|
42 |
|
|
|
|
|
|
|
43 |
// Next, the actions that only come on the UpdraftPlus page
|
44 |
if ($pagenow != 'options-general.php' || !isset($_REQUEST['page']) || 'updraftplus' != $_REQUEST['page']) return;
|
45 |
|
46 |
if(UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) {
|
47 |
@ini_set('display_errors',1);
|
48 |
@error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
}
|
50 |
|
51 |
// LiteSpeed has a generic problem with terminating cron jobs
|
@@ -106,6 +121,13 @@ class UpdraftPlus_Admin {
|
|
106 |
var updraft_downloader_nonce = '<?php wp_create_nonce("updraftplus_download"); ?>'
|
107 |
</script>
|
108 |
<style type="text/css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
.drag-drop #drag-drop-area2 {
|
110 |
border: 4px dashed #ddd;
|
111 |
height: 200px;
|
@@ -182,6 +204,15 @@ class UpdraftPlus_Admin {
|
|
182 |
$this->show_admin_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('Your website is hosted using the %s web server.','updraftplus'),'LiteSpeed').' <a href="http://updraftplus.com/faqs/i-am-having-trouble-backing-up-and-my-web-hosting-company-uses-the-litespeed-webserver/">'.__('Please consult this FAQ if you have problems backing up.', 'updraftplus').'</a>');
|
183 |
}
|
184 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
function show_admin_warning_dropbox() {
|
186 |
$this->show_admin_warning('<strong>'.__('UpdraftPlus notice:','updraftplus').'</strong> <a href="options-general.php?page=updraftplus&action=updraftmethod-dropbox-auth&updraftplus_dropboxauth=doit">'.sprintf(__('Click here to authenticate your %s account (you will not be able to back up to %s without it).','updraftplus'),'Dropbox','Dropbox').'</a>');
|
187 |
}
|
@@ -276,7 +307,7 @@ class UpdraftPlus_Admin {
|
|
276 |
$updraftplus->log('The file was found locally and matched the recorded size from the backup history ('.round($known_size/1024,1).' Kb)');
|
277 |
} else {
|
278 |
$updraftplus->log('No file size was found recorded in the backup history. We will assume the local one is complete.');
|
279 |
-
$known_size
|
280 |
}
|
281 |
|
282 |
// The AJAX responder that updates on progress wants to see this
|
@@ -348,16 +379,61 @@ class UpdraftPlus_Admin {
|
|
348 |
|
349 |
global $updraftplus;
|
350 |
|
351 |
-
// Test the nonce
|
352 |
$nonce = (empty($_REQUEST['nonce'])) ? "" : $_REQUEST['nonce'];
|
353 |
if (! wp_verify_nonce($nonce, 'updraftplus-credentialtest-nonce') || empty($_REQUEST['subaction'])) die('Security check');
|
354 |
|
355 |
if ('lastlog' == $_GET['subaction']) {
|
356 |
echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', '('.__('Nothing yet logged', 'updraftplus').')'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
357 |
} elseif ('lastbackup' == $_GET['subaction']) {
|
358 |
echo $this->last_backup_html();
|
359 |
-
} elseif ('
|
360 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
} elseif ('historystatus' == $_GET['subaction']) {
|
362 |
$rescan = (isset($_GET['rescan']) && $_GET['rescan'] == 1);
|
363 |
if ($rescan) $this->rebuild_backup_history();
|
@@ -608,11 +684,13 @@ class UpdraftPlus_Admin {
|
|
608 |
*/
|
609 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'updraft_restore' && isset($_REQUEST['backup_timestamp'])) {
|
610 |
$backup_success = $this->restore_backup($_REQUEST['backup_timestamp']);
|
611 |
-
if(empty($updraftplus->errors) && $backup_success
|
|
|
|
|
612 |
echo '<p><strong>'.__('Restore successful!','updraftplus').'</strong></p>';
|
613 |
echo '<b>'.__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus&updraft_restore_success=true">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
614 |
return;
|
615 |
-
}
|
616 |
echo '<p>Restore failed...</p><ul style="list-style: disc inside;">';
|
617 |
foreach ($updraftplus->errors as $err) {
|
618 |
if (is_wp_error($err)) {
|
@@ -627,6 +705,9 @@ class UpdraftPlus_Admin {
|
|
627 |
}
|
628 |
echo '</ul><b>Actions:</b> <a href="options-general.php?page=updraftplus">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
629 |
return;
|
|
|
|
|
|
|
630 |
}
|
631 |
//uncomment the below once i figure out how i want the flow of a restoration to work.
|
632 |
//echo '<b>'__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus">Return to UpdraftPlus Configuration</a>';
|
@@ -652,27 +733,23 @@ class UpdraftPlus_Admin {
|
|
652 |
if(isset($_GET['error'])) $this->show_admin_warning(htmlspecialchars($_GET['error']), 'error');
|
653 |
if(isset($_GET['message'])) $this->show_admin_warning(htmlspecialchars($_GET['message']));
|
654 |
|
655 |
-
if(isset($_GET['action']) && $_GET['action'] == 'updraft_create_backup_dir') {
|
656 |
-
|
657 |
-
|
658 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
659 |
echo '<p>'.__('Backup directory successfully created.','updraftplus').'</p><br/>';
|
660 |
}
|
661 |
echo '<b>'.__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
662 |
return;
|
663 |
}
|
664 |
|
665 |
-
|
666 |
-
// For unknown reasons, the <script> runs twice if put inside the <div>
|
667 |
-
echo '<div class="updated fade" style="max-width: 800px; font-size:140%; line-height: 140%; padding:14px; clear:left;"><strong>',__('Schedule backup','updraftplus').':</strong> ';
|
668 |
-
if (wp_schedule_single_event(time()+5, 'updraft_backup_all') === false) {
|
669 |
-
$updraftplus->log("A backup run failed to schedule");
|
670 |
-
echo __("Failed.",'updraftplus')."</div>";
|
671 |
-
} else {
|
672 |
-
echo htmlspecialchars(__('OK. Now load any page from your site to make sure the schedule can trigger. You should then see activity in the "Last log message" field below.','updraftplus'))." <a href=\"http://updraftplus.com/faqs/my-scheduled-backups-and-pressing-backup-now-does-nothing-however-pressing-debug-backup-does-produce-a-backup/\">".__('Nothing happening? Follow this link for help.','updraftplus')."</a></div><script>setTimeout(function(){updraft_showlastbackup();}, 7000);</script>";
|
673 |
-
$updraftplus->log("A backup run has been scheduled");
|
674 |
-
}
|
675 |
-
}
|
676 |
|
677 |
// updraft_file_ids is not deleted
|
678 |
if(isset($_POST['action']) && $_POST['action'] == 'updraft_backup_debug_all') { $updraftplus->boot_backup(true,true); }
|
@@ -690,12 +767,10 @@ class UpdraftPlus_Admin {
|
|
690 |
<div class="wrap">
|
691 |
<h1><?php echo $updraftplus->plugin_title; ?></h1>
|
692 |
|
693 |
-
<?php _e('By UpdraftPlus.Com','updraftplus')?> ( <a href="http://updraftplus.com">UpdraftPlus.Com</a> | <a href="http://david.dw-perspective.org.uk"><?php _e("Lead developer's homepage",'updraftplus');?></a> | <?php if (!defined('UPDRAFTPLUS_NOADS')) { ?><a href="http://wordshell.net">WordShell - WordPress command line</a> | <a href="http://david.dw-perspective.org.uk/donate"><?php _e('Donate','updraftplus');?></a> | <?php } ?><a href="http://updraftplus.com/support/frequently-asked-questions/">FAQs</a> | <a href="http://profiles.wordpress.org/davidanderson/"><?php _e('Other WordPress plugins','updraftplus');?></a>). <?php _e('Version','updraftplus');?>: <?php echo $updraftplus->version; ?>
|
694 |
<br>
|
695 |
<?php
|
696 |
if(isset($_GET['updraft_restore_success'])) {
|
697 |
-
// If we restored the database, then that will have out-of-date information which may confuse the user - so automatically re-scan for them.
|
698 |
-
$this->rebuild_backup_history();
|
699 |
echo "<div class=\"updated fade\" style=\"padding:8px;\"><strong>".__('Your backup has been restored.','updraftplus').'</strong> '.__('Your old (themes, uploads, plugins, whatever) directories have been retained with "-old" appended to their name. Remove them when you are satisfied that the backup worked properly.')."</div>";
|
700 |
}
|
701 |
|
@@ -787,21 +862,24 @@ class UpdraftPlus_Admin {
|
|
787 |
<td id="updraft_last_backup"><?php echo $last_backup_html ?></td>
|
788 |
</tr>
|
789 |
</table>
|
790 |
-
<div style="float:left; width:200px;
|
791 |
-
<
|
792 |
-
|
793 |
-
|
794 |
-
|
|
|
795 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
796 |
$backup_history = (is_array($backup_history))?$backup_history:array();
|
797 |
-
|
798 |
-
|
799 |
-
|
|
|
|
|
800 |
</div>
|
801 |
</div>
|
802 |
<br style="clear:both" />
|
803 |
<table class="form-table">
|
804 |
-
<tr>
|
805 |
<th><?php _e('Last log message','updraftplus');?>:</th>
|
806 |
<td>
|
807 |
<span id="updraft_lastlogcontainer"><?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', __('(Nothing yet logged)','updraftplus'))); ?></span><br>
|
@@ -810,10 +888,21 @@ class UpdraftPlus_Admin {
|
|
810 |
</tr>
|
811 |
<tr>
|
812 |
<th><?php echo htmlspecialchars(__('Backups, logs & restoring','updraftplus')); ?>:</th>
|
813 |
-
<td><a id="updraft_showbackups" href="#" title="<?php _e('Press to see available backups','updraftplus');?>" onclick="jQuery('.download-backups').
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
814 |
</tr>
|
|
|
|
|
|
|
815 |
<tr>
|
816 |
-
<td
|
|
|
817 |
<p style="max-width: 740px;"><ul style="list-style: disc inside;">
|
818 |
<li><strong><?php _e('Downloading','updraftplus');?>:</strong> <?php _e("Pressing a button for Database/Plugins/Themes/Uploads/Others will make UpdraftPlus try to bring the backup file back from the remote storage (if any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then you will be allowed to download it to your computer. If the fetch from the remote storage stops progressing (wait 30 seconds to make sure), then press again to resume. Remember that you can also visit the cloud storage vendor's website directly.",'updraftplus');?></li>
|
819 |
<li><strong><?php _e('Restoring','updraftplus');?>:</strong> <?php _e("Press the button for the backup you wish to restore. If your site is large and you are using remote storage, then you should first click on each entity in order to retrieve it back to the webserver. This will prevent time-outs from occuring during the restore process itself.",'updraftplus');?> <?php _e('More tasks:','updraftplus');?> <a href="#" onclick="jQuery('#updraft-plupload-modal').slideToggle(); return false;"><?php _e('upload backup files','updraftplus');?></a> | <a href="#" onclick="updraft_updatehistory(1); return false;" title="<?php _e('Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded. The location of this directory is set in the expert settings, below.','updraftplus'); ?>"><?php _e('rescan folder for new backup sets','updraftplus');?></a></li>
|
@@ -824,7 +913,7 @@ class UpdraftPlus_Admin {
|
|
824 |
<li title="<?php _e('This is a count of the contents of your Updraft directory','updraftplus');?>"><strong><?php _e('Web-server disk space in use by UpdraftPlus','updraftplus');?>:</strong> <span id="updraft_diskspaceused"><em>(calculating...)</em></span> <a href="#" onclick="updraftplus_diskspace(); return false;"><?php _e('refresh','updraftplus');?></a></li></ul>
|
825 |
|
826 |
<div id="updraft-plupload-modal" title="<?php _e('UpdraftPlus - Upload backup files','updraftplus'); ?>" style="width: 75%; margin: 16px; display:none; margin-left: 100px;">
|
827 |
-
<p><em><?php _e("Upload files into UpdraftPlus. Use this to import backups made on a different WordPress installation." ,'updraftplus');?></em></p>
|
828 |
<div id="plupload-upload-ui" style="width: 70%;">
|
829 |
<div id="drag-drop-area">
|
830 |
<div class="drag-drop-inside">
|
@@ -843,7 +932,7 @@ class UpdraftPlus_Admin {
|
|
843 |
<script>
|
844 |
function updraftplus_diskspace() {
|
845 |
jQuery('#updraft_diskspaceused').html('<em><?php _e('calculating...','updraftplus');?></em>');
|
846 |
-
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'diskspaceused', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>' }, function(response) {
|
847 |
jQuery('#updraft_diskspaceused').html(response);
|
848 |
});
|
849 |
}
|
@@ -871,9 +960,9 @@ class UpdraftPlus_Admin {
|
|
871 |
// Create somewhere for the status to be found
|
872 |
var stid = base+nonce+'_'+what;
|
873 |
if (!jQuery('#'+stid).length) {
|
874 |
-
jQuery('#ud_downloadstatus').append('<div style="clear:left; border: 1px solid; padding: 8px; margin-top: 4px; max-width:840px;" id="'+stid+'"><button onclick="jQuery(\'#'+stid+'\').fadeOut().remove();" type="button" style="float:right; margin-bottom: 8px;">X</button><strong>Download '+what+' ('+nonce+')</strong>:<div class="raw"
|
875 |
// <b><span class="dlname">??</span></b> (<span class="dlsofar">?? KB</span>/<span class="dlsize">??</span> KB)
|
876 |
-
setTimeout(function(){updraft_downloader_status(base, nonce, what)}, 300);
|
877 |
}
|
878 |
// Now send the actual request to kick it all off
|
879 |
jQuery.post(ajaxurl, jQuery('#uddownloadform_'+what+'_'+nonce).serialize());
|
@@ -920,7 +1009,7 @@ class UpdraftPlus_Admin {
|
|
920 |
alert('<?php _e('Download error: the server sent us a response (JSON) which we did not understand', 'updraftplus'); ?> ('+response+')');
|
921 |
cancel_repeat = 1;
|
922 |
}
|
923 |
-
if (cancel_repeat == 0) { setTimeout(function(){updraft_downloader_status(base, nonce, what)}, nexttimer); }
|
924 |
} catch(err) {
|
925 |
alert('<?php _e('Download error: the server sent us a response which we did not understand.', 'updraftplus'); ?> <?php _e("Error:",'updraftplus');?> '+err);
|
926 |
}
|
@@ -937,6 +1026,21 @@ class UpdraftPlus_Admin {
|
|
937 |
</tr>
|
938 |
</table>
|
939 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
940 |
<div id="updraft-restore-modal" title="UpdraftPlus - <?php _e('Restore backup','updraftplus');?>">
|
941 |
<p><strong><?php _e('Restore backup from','updraftplus');?>:</strong> <span id="updraft_restore_date"></span></p>
|
942 |
<p><?php _e("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).",'updraftplus');?> <?php _e('Choose the components to restore','updraftplus');?>:</p>
|
@@ -1000,12 +1104,25 @@ class UpdraftPlus_Admin {
|
|
1000 |
<p><em><a href="http://updraftplus.com/faqs/what-should-i-understand-before-undertaking-a-restoration/" target="_new"><?php _e('Do read this helpful article of useful things to know before restoring.','updraftplus');?></a></em></p>
|
1001 |
</div>
|
1002 |
|
1003 |
-
<div id="updraft-
|
1004 |
-
<p><?php _e("This will schedule a one-time backup. To proceed, press 'Backup Now', then wait 10 seconds, then visit any page on your site. WordPress should then start the backup running in the background.",'updraftplus');?></p>
|
1005 |
|
1006 |
-
|
1007 |
-
|
1008 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1009 |
|
1010 |
<p><?php _e('Does nothing happen when you schedule backups?','updraftplus');?> <a href="http://updraftplus.com/faqs/my-scheduled-backups-and-pressing-backup-now-does-nothing-however-pressing-debug-backup-does-produce-a-backup/"><?php _e('Go here for help.','updraft');?></a></p>
|
1011 |
</div>
|
@@ -1022,52 +1139,133 @@ class UpdraftPlus_Admin {
|
|
1022 |
</tr>
|
1023 |
</table>
|
1024 |
<?php } ?>
|
1025 |
-
<h2><?php _e('Configure Backup Contents And Schedule','updraftplus');?></h2>
|
1026 |
<?php UpdraftPlus_Options::options_form_begin(); ?>
|
1027 |
<?php $this->settings_formcontents($last_backup_html); ?>
|
1028 |
</form>
|
1029 |
<div style="padding-top: 40px; display:none;" class="expertmode">
|
1030 |
<hr>
|
1031 |
-
<
|
1032 |
<p>
|
1033 |
<?php
|
|
|
1034 |
$peak_memory_usage = memory_get_peak_usage(true)/1024/1024;
|
1035 |
$memory_usage = memory_get_usage(true)/1024/1024;
|
1036 |
echo __('Peak memory usage','updraftplus').': '.$peak_memory_usage.' MB<br/>';
|
1037 |
echo __('Current memory usage','updraftplus').': '.$memory_usage.' MB<br/>';
|
1038 |
echo __('PHP memory limit','updraftplus').': '.ini_get('memory_limit').' <br/>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1039 |
?>
|
|
|
1040 |
</p>
|
1041 |
-
<p style="max-width: 600px;"><?php _e('The buttons below will immediately execute a backup run, independently of WordPress\'s scheduler. If these work whilst your scheduled backups and the "Backup Now" button do absolutely nothing (i.e. not even produce a log file), then it means that your scheduler is broken. You should then disable all your other plugins, and try the "Backup Now" button. If that fails, then contact your web hosting company and ask them if they have disabled wp-cron. If it succeeds, then re-activate your other plugins one-by-one, and find the one that is the problem and report a bug to them.','updraftplus');?></p>
|
1042 |
|
|
|
|
|
|
|
|
|
1043 |
<form method="post">
|
1044 |
<input type="hidden" name="action" value="updraft_backup_debug_all" />
|
1045 |
<p><input type="submit" class="button-primary" <?php echo $backup_disabled ?> value="<?php _e('Debug Full Backup','updraftplus');?>" onclick="return(confirm('<?php echo htmlspecialchars(__('This will cause an immediate backup. The page will stall loading until it finishes (ie, unscheduled).','updraftplus'));?>'))" /></p>
|
1046 |
</form>
|
|
|
1047 |
<form method="post">
|
1048 |
<input type="hidden" name="action" value="updraft_backup_debug_db" />
|
1049 |
<p><input type="submit" class="button-primary" <?php echo $backup_disabled ?> value="<?php _e('Debug Database Backup','updraftplus');?>" onclick="return(confirm('<?php echo htmlspecialchars(__('This will cause an immediate DB backup. The page will stall loading until it finishes (ie, unscheduled). The backup may well run out of time; really this button is only helpful for checking that the backup is able to get through the initial stages, or for small WordPress sites..','updraftplus'));?>'))" /></p>
|
1050 |
</form>
|
|
|
|
|
|
|
|
|
1051 |
<h3><?php _e('Wipe Settings','updraftplus');?></h3>
|
1052 |
<p style="max-width: 600px;"><?php _e('This button will delete all UpdraftPlus settings (but not any of your existing backups from your cloud storage). You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish.','updraftplus');?></p>
|
1053 |
<form method="post">
|
1054 |
<input type="hidden" name="action" value="updraft_wipesettings" />
|
1055 |
<p><input type="submit" class="button-primary" value="<?php _e('Wipe All Settings','updraftplus'); ?>" onclick="return(confirm('<?php echo htmlspecialchars(__('This will delete all your UpdraftPlus settings - are you sure you want to do this?'));?>'))" /></p>
|
1056 |
</form>
|
|
|
|
|
|
|
|
|
1057 |
</div>
|
1058 |
|
1059 |
<script type="text/javascript">
|
1060 |
/* <![CDATA[ */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1061 |
jQuery(document).ready(function() {
|
|
|
1062 |
jQuery('#updraft-service').change(function() {
|
1063 |
jQuery('.updraftplusmethod').hide();
|
1064 |
var active_class = jQuery(this).val();
|
1065 |
jQuery('.'+active_class).show();
|
1066 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
1067 |
})
|
1068 |
jQuery(window).load(function() {
|
1069 |
//this is for hiding the restore progress at the top after it is done
|
1070 |
-
setTimeout('jQuery("#updraft-restore-progress").toggle(1000)',3000)
|
1071 |
jQuery('#updraft-restore-progress-toggle').click(function() {
|
1072 |
jQuery('#updraft-restore-progress').toggle(500)
|
1073 |
})
|
@@ -1077,6 +1275,29 @@ class UpdraftPlus_Admin {
|
|
1077 |
<?php
|
1078 |
}
|
1079 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1080 |
//deletes the -old directories that are created when a backup is restored.
|
1081 |
function delete_old_dirs() {
|
1082 |
global $wp_filesystem;
|
@@ -1109,21 +1330,56 @@ class UpdraftPlus_Admin {
|
|
1109 |
return $return_code;
|
1110 |
}
|
1111 |
|
|
|
1112 |
function create_backup_dir() {
|
|
|
1113 |
global $wp_filesystem, $updraftplus;
|
1114 |
-
|
1115 |
-
|
1116 |
-
|
1117 |
-
|
1118 |
-
|
|
|
|
|
|
|
|
|
1119 |
}
|
1120 |
|
1121 |
$updraft_dir = $updraftplus->backups_dir_location();
|
1122 |
|
1123 |
-
$default_backup_dir = $wp_filesystem->find_folder($updraft_dir);
|
1124 |
-
$updraft_dir = ($updraft_dir)?$updraft_dir:$default_backup_dir;
|
1125 |
|
1126 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1127 |
|
1128 |
return true;
|
1129 |
}
|
@@ -1137,7 +1393,7 @@ class UpdraftPlus_Admin {
|
|
1137 |
function scan_old_dirs() {
|
1138 |
$dirArr = scandir(WP_CONTENT_DIR);
|
1139 |
foreach($dirArr as $dir) {
|
1140 |
-
if(
|
1141 |
}
|
1142 |
return false;
|
1143 |
}
|
@@ -1275,7 +1531,7 @@ ENDHERE;
|
|
1275 |
</tr>
|
1276 |
<tr>
|
1277 |
<th><?php _e('Email','updraftplus'); ?>:</th>
|
1278 |
-
<td><input type="text" style="width:260px" name="updraft_email" value="<?php echo UpdraftPlus_Options::get_updraft_option('updraft_email'); ?>" /> <br><?php _e('Enter an address here to have a report sent (and the whole backup, if you choose) to it.','updraftplus'); ?></td>
|
1279 |
</tr>
|
1280 |
|
1281 |
<tr>
|
@@ -1353,11 +1609,11 @@ ENDHERE;
|
|
1353 |
subaction: 'lastlog',
|
1354 |
nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>'
|
1355 |
};
|
1356 |
-
function updraft_showlastlog(){
|
1357 |
jQuery.get(ajaxurl, lastlog_sdata, function(response) {
|
1358 |
nexttimer = 1500;
|
1359 |
if (lastlog_lastmessage == response) { nexttimer = 4500; }
|
1360 |
-
setTimeout(function(){updraft_showlastlog()}, nexttimer);
|
1361 |
jQuery('#updraft_lastlogcontainer').html(response);
|
1362 |
lastlog_lastmessage = response;
|
1363 |
});
|
@@ -1367,11 +1623,11 @@ ENDHERE;
|
|
1367 |
subaction: 'lastbackup',
|
1368 |
nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>'
|
1369 |
};
|
1370 |
-
var lastbackup_laststatus = '<?php echo $last_backup_html
|
1371 |
function updraft_showlastbackup(){
|
1372 |
jQuery.get(ajaxurl, lastbackup_sdata, function(response) {
|
1373 |
if (lastbackup_laststatus == response) {
|
1374 |
-
setTimeout(function(){updraft_showlastbackup()}, 7000);
|
1375 |
} else {
|
1376 |
jQuery('#updraft_last_backup').html(response);
|
1377 |
}
|
@@ -1395,7 +1651,7 @@ ENDHERE;
|
|
1395 |
}
|
1396 |
function updraft_updatehistory(rescan) {
|
1397 |
if (rescan == 1) {
|
1398 |
-
jQuery('#updraft_existing_backups').html('<p style="text-align:center;"><em
|
1399 |
}
|
1400 |
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'historystatus', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>', rescan: rescan }, function(response) {
|
1401 |
jQuery('#updraft_existing_backups').html(response);
|
@@ -1414,6 +1670,16 @@ ENDHERE;
|
|
1414 |
|
1415 |
updraft_check_same_times();
|
1416 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1417 |
jQuery( "#updraft-restore-modal" ).dialog({
|
1418 |
autoOpen: false, height: 505, width: 590, modal: true,
|
1419 |
buttons: {
|
@@ -1435,22 +1701,53 @@ ENDHERE;
|
|
1435 |
}
|
1436 |
});
|
1437 |
|
1438 |
-
jQuery(
|
1439 |
-
autoOpen: false, height:
|
|
|
|
|
|
|
|
|
|
|
1440 |
buttons: {
|
1441 |
'<?php _e('Backup Now','updraftplus');?>': function() {
|
1442 |
-
jQuery(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1443 |
},
|
1444 |
'<?php _e('Cancel','updraftplus');?>': function() { jQuery(this).dialog("close"); }
|
1445 |
}
|
1446 |
});
|
1447 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1448 |
jQuery('#enableexpertmode').click(function() {
|
1449 |
jQuery('.expertmode').fadeIn();
|
|
|
|
|
|
|
1450 |
return false;
|
1451 |
});
|
1452 |
<?php if (!@is_writable($updraft_dir)) echo "jQuery('.backupdirrow').show();\n"; ?>
|
1453 |
-
setTimeout(function(){updraft_showlastlog();}, 1200);
|
1454 |
jQuery('.updraftplusmethod').hide();
|
1455 |
<?php
|
1456 |
if ($active_service) echo "jQuery('.${active_service}').show();";
|
@@ -1473,7 +1770,7 @@ ENDHERE;
|
|
1473 |
</tr>
|
1474 |
<tr>
|
1475 |
<th><?php _e('Expert settings','updraftplus');?>:</th>
|
1476 |
-
<td><a id="enableexpertmode" href="#"><?php _e('Show expert settings','updraftplus');?></a> - <?php _e("click this to show some further options; don't bother with this unless you have a problem or are curious.",'updraftplus');?> <?php do_action('updraftplus_expertsettingsdescription'); ?></td>
|
1477 |
</tr>
|
1478 |
<?php
|
1479 |
$delete_local = UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1);
|
@@ -1496,7 +1793,7 @@ ENDHERE;
|
|
1496 |
if(@is_writable($updraft_dir)) {
|
1497 |
$dir_info = '<span style="color:green">'.__('Backup directory specified is writable, which is good.','updraftplus').'</span>';
|
1498 |
} else {
|
1499 |
-
$dir_info = '<span style="color:red">'.__('Backup directory specified is <b>not</b> writable, or does not exist.','updraftplus').' <span style="font-size:110%;font-weight:bold"><a href="options-general.php?page=updraftplus&action=updraft_create_backup_dir">'.__('Click here to attempt to create the directory and set the permissions','updraftplus').'</a></span>, '.__('or, to reset this option','updraftplus').' <a href="#" onclick="jQuery(\'#updraft_dir\').val(\''.WP_CONTENT_DIR.'/updraft\'); return false;">'.__('click here','updraftplus').'</a>. '.__('If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.','updraftplus').'</span>';
|
1500 |
}
|
1501 |
|
1502 |
echo $dir_info.' '.__("This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. Typically you'll want to have it inside your wp-content folder (this is the default). <b>Do not</b> place it inside your uploads dir, as that will cause recursion issues (backups of backups of backups of...).",'updraftplus');?></td>
|
@@ -1545,10 +1842,22 @@ ENDHERE;
|
|
1545 |
<?php
|
1546 |
}
|
1547 |
|
1548 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1549 |
// Check requirements
|
1550 |
if (!function_exists("curl_init")) {
|
1551 |
-
|
|
|
|
|
1552 |
} else {
|
1553 |
$curl_version = curl_version();
|
1554 |
$curl_ssl_supported= ($curl_version['features'] & CURL_VERSION_SSL);
|
@@ -1556,7 +1865,7 @@ ENDHERE;
|
|
1556 |
if ($has_fallback) {
|
1557 |
?><p><strong><?php _e('Warning','updraftplus'); ?>:</strong> <?php echo sprintf(__("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).",'updraftplus'),$service);?></p><?php
|
1558 |
} else {
|
1559 |
-
|
1560 |
}
|
1561 |
} else {
|
1562 |
?><p><em><?php echo sprintf(__("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.", 'updraftplus'),$service);?></em></p><?php
|
@@ -1564,7 +1873,28 @@ ENDHERE;
|
|
1564 |
}
|
1565 |
}
|
1566 |
|
1567 |
-
function recursive_directory_size($
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1568 |
$size = 0;
|
1569 |
if(substr($directory,-1) == '/') $directory = substr($directory,0,-1);
|
1570 |
|
@@ -1577,22 +1907,16 @@ ENDHERE;
|
|
1577 |
if(is_file($path)) {
|
1578 |
$size += filesize($path);
|
1579 |
} elseif(is_dir($path)) {
|
1580 |
-
$handlesize = $this->
|
1581 |
-
if($handlesize >= 0) { $size += $handlesize; } else { return -1; }
|
1582 |
}
|
1583 |
}
|
1584 |
}
|
1585 |
closedir($handle);
|
1586 |
}
|
1587 |
-
|
1588 |
-
|
1589 |
-
|
1590 |
-
return round($size / 1048576, 1).' Mb';
|
1591 |
-
} elseif ($size > 1024) {
|
1592 |
-
return round($size / 1024, 1).' Kb';
|
1593 |
-
} else {
|
1594 |
-
return round($size, 1).' b';
|
1595 |
-
}
|
1596 |
}
|
1597 |
|
1598 |
function existing_backup_table($backup_history = false) {
|
@@ -1616,7 +1940,7 @@ ENDHERE;
|
|
1616 |
$entities = '';
|
1617 |
?>
|
1618 |
<tr>
|
1619 |
-
<td><b><?php echo $pretty_date?></b></td>
|
1620 |
<td>
|
1621 |
<?php if (isset($value['db'])) {
|
1622 |
$entities .= '/db/';
|
@@ -1670,6 +1994,11 @@ ENDHERE;
|
|
1670 |
</td>
|
1671 |
</tr>
|
1672 |
<script>
|
|
|
|
|
|
|
|
|
|
|
1673 |
function updraft_restore_setoptions(entities) {
|
1674 |
var howmany = 0;
|
1675 |
jQuery('input[name="updraft_restore[]"]').each(function(x,y){
|
@@ -1702,21 +2031,31 @@ ENDHERE;
|
|
1702 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
1703 |
if (!is_array($backup_history)) $backup_history = array();
|
1704 |
|
|
|
|
|
|
|
1705 |
// Accumulate a list of known files
|
1706 |
foreach ($backup_history as $btime => $bdata) {
|
|
|
1707 |
foreach ($bdata as $key => $value) {
|
1708 |
// Record which set this file is found in
|
1709 |
if (preg_match('/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+\.(zip|gz|gz\.crypt)$/i', $value, $matches)) {
|
1710 |
$nonce = $matches[2];
|
1711 |
-
|
1712 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
1713 |
}
|
1714 |
}
|
|
|
|
|
|
|
|
|
1715 |
}
|
1716 |
-
|
1717 |
-
$updraft_dir = $updraftplus->backups_dir_location();
|
1718 |
-
|
1719 |
-
if (!is_dir($updraft_dir)) return;
|
1720 |
|
1721 |
if (!$handle = opendir($updraft_dir)) return;
|
1722 |
|
@@ -1731,7 +2070,8 @@ ENDHERE;
|
|
1731 |
$type = $matches[3];
|
1732 |
// The time from the filename does not include seconds. Need to identify the seconds to get the right time
|
1733 |
if (isset($known_nonces[$nonce])) $btime = $known_nonces[$nonce];
|
1734 |
-
|
|
|
1735 |
$backup_history[$btime][$type] = $entry;
|
1736 |
$backup_history[$btime][$type.'-size'] = filesize($updraft_dir.'/'.$entry);
|
1737 |
$backup_history[$btime]['nonce'] = $nonce;
|
@@ -1746,6 +2086,7 @@ ENDHERE;
|
|
1746 |
|
1747 |
}
|
1748 |
|
|
|
1749 |
function restore_backup($timestamp) {
|
1750 |
|
1751 |
@set_time_limit(900);
|
@@ -1754,7 +2095,7 @@ ENDHERE;
|
|
1754 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
1755 |
if(!is_array($backup_history[$timestamp])) {
|
1756 |
echo '<p>'.__('This backup does not exist in the backup history - restoration aborted. Timestamp:','updraftplus')." $timestamp</p><br/>";
|
1757 |
-
return
|
1758 |
}
|
1759 |
|
1760 |
// request_filesystem_credentials passes on fields just via hidden name/value pairs.
|
@@ -1806,7 +2147,7 @@ ENDHERE;
|
|
1806 |
if (count($_POST['updraft_restore']) == 0) {
|
1807 |
echo '<p>'.__('ABORT: Could not find the information on which entities to restore.', 'updraftplus').'</p>';
|
1808 |
echo '<p>'.__('If making a request for support, please include this information:','updraftplus').' '.count($_POST).' : '.htmlspecialchars(serialize($_POST)).'</p>';
|
1809 |
-
return
|
1810 |
}
|
1811 |
|
1812 |
/*
|
@@ -1816,7 +2157,15 @@ ENDHERE;
|
|
1816 |
|
1817 |
$backupable_entities = $updraftplus->get_backupable_file_entities(true, true);
|
1818 |
|
1819 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1820 |
// All restorable entities must be given explicitly, as we can store other arbitrary data in the history array
|
1821 |
|
1822 |
if (!isset($backupable_entities[$type]) && 'db' != $type) continue;
|
@@ -1834,6 +2183,11 @@ ENDHERE;
|
|
1834 |
continue;
|
1835 |
}
|
1836 |
|
|
|
|
|
|
|
|
|
|
|
1837 |
$fullpath = $updraft_dir.$file;
|
1838 |
|
1839 |
echo "Looking for $type archive: file name: ".htmlspecialchars($file)."<br>";
|
@@ -1857,18 +2211,17 @@ ENDHERE;
|
|
1857 |
# Types: uploads, themes, plugins, others, db
|
1858 |
if(is_readable($fullpath)) {
|
1859 |
|
1860 |
-
if(!class_exists('WP_Upgrader')) require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
1861 |
-
require_once(UPDRAFTPLUS_DIR.'/includes/updraft-restorer.php');
|
1862 |
-
$restorer = new Updraft_Restorer();
|
1863 |
-
|
1864 |
$info = (isset($backupable_entities[$type])) ? $backupable_entities[$type] : array();
|
1865 |
-
|
1866 |
$val = $restorer->restore_backup($file, $type, $service, $info);
|
1867 |
|
1868 |
if(is_wp_error($val)) {
|
1869 |
foreach ($val->get_error_messages() as $msg) {
|
1870 |
echo '<strong>'.__('Error message', 'updraftplus').':</strong> '.htmlspecialchars($msg).'<br>';
|
1871 |
}
|
|
|
|
|
|
|
1872 |
echo '</div>'; //close the updraft_restore_progress div even if we error
|
1873 |
return false;
|
1874 |
}
|
@@ -1881,7 +2234,13 @@ ENDHERE;
|
|
1881 |
return true;
|
1882 |
}
|
1883 |
|
1884 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1885 |
|
1886 |
}
|
1887 |
|
27 |
add_action('wp_ajax_plupload_action2', array($this,'plupload_action2'));
|
28 |
|
29 |
global $updraftplus, $wp_version, $pagenow;
|
30 |
+
add_filter('updraftplus_dirlist_others', array($updraftplus, 'backup_others_dirlist'));
|
31 |
|
32 |
// First, the checks that are on all (admin) pages:
|
33 |
|
41 |
|
42 |
if (UpdraftPlus_Options::user_can_manage() && $this->disk_space_check(1024*1024*35) === false) add_action('admin_notices', array($this, 'show_admin_warning_diskspace'));
|
43 |
|
44 |
+
// Next, the actions that only come on settings pages
|
45 |
+
// if ($pagenow != 'options-general.php') return;
|
46 |
+
|
47 |
// Next, the actions that only come on the UpdraftPlus page
|
48 |
if ($pagenow != 'options-general.php' || !isset($_REQUEST['page']) || 'updraftplus' != $_REQUEST['page']) return;
|
49 |
|
50 |
if(UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) {
|
51 |
@ini_set('display_errors',1);
|
52 |
@error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED);
|
53 |
+
add_action('admin_notices', array($this, 'show_admin_debug_warning'));
|
54 |
+
}
|
55 |
+
|
56 |
+
// W3 Total Cache's object cache eats transients during cron jobs. Reported to them many times by multiple people.
|
57 |
+
if (defined('W3TC') && W3TC == true) {
|
58 |
+
if (function_exists('w3_instance')) {
|
59 |
+
$modules = w3_instance('W3_ModuleStatus');
|
60 |
+
if ($modules->is_enabled('objectcache')) {
|
61 |
+
add_action('admin_notices', array($this, 'show_admin_warning_w3_total_cache'));
|
62 |
+
}
|
63 |
+
}
|
64 |
}
|
65 |
|
66 |
// LiteSpeed has a generic problem with terminating cron jobs
|
121 |
var updraft_downloader_nonce = '<?php wp_create_nonce("updraftplus_download"); ?>'
|
122 |
</script>
|
123 |
<style type="text/css">
|
124 |
+
.updraftplus-remove {
|
125 |
+
color: red;
|
126 |
+
}
|
127 |
+
.updraftplus-remove:hover {
|
128 |
+
background-color: red;
|
129 |
+
color: #fff;
|
130 |
+
}
|
131 |
.drag-drop #drag-drop-area2 {
|
132 |
border: 4px dashed #ddd;
|
133 |
height: 200px;
|
204 |
$this->show_admin_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('Your website is hosted using the %s web server.','updraftplus'),'LiteSpeed').' <a href="http://updraftplus.com/faqs/i-am-having-trouble-backing-up-and-my-web-hosting-company-uses-the-litespeed-webserver/">'.__('Please consult this FAQ if you have problems backing up.', 'updraftplus').'</a>');
|
205 |
}
|
206 |
|
207 |
+
function show_admin_debug_warning() {
|
208 |
+
$this->show_admin_warning('<strong>'.__('Notice','updraftplus').':</strong> '.__('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.', 'updraftplus').'</a>');
|
209 |
+
}
|
210 |
+
|
211 |
+
function show_admin_warning_w3_total_cache() {
|
212 |
+
$url = (is_multisite()) ? network_admin_url('admin.php?page=w3tc_general') : admin_url('admin.php?page=w3tc_general');
|
213 |
+
$this->show_admin_warning('<strong>'.__('Warning','updraftplus').':</strong> '.__('W3 Total Cache\'s object cache is active. This is known to have a bug that messes with all scheduled tasks (including backup jobs).','updraftplus').' <a href="'.$url.'#object_cache">'.__('Go here to turn it off.','updraftplus').'</a> '.sprintf(__('<a href="%s">Go here</a> for more information.', 'updraftplus'),'http://updraftplus.com/faqs/whats-the-deal-with-w3-total-caches-object-cache/'));
|
214 |
+
}
|
215 |
+
|
216 |
function show_admin_warning_dropbox() {
|
217 |
$this->show_admin_warning('<strong>'.__('UpdraftPlus notice:','updraftplus').'</strong> <a href="options-general.php?page=updraftplus&action=updraftmethod-dropbox-auth&updraftplus_dropboxauth=doit">'.sprintf(__('Click here to authenticate your %s account (you will not be able to back up to %s without it).','updraftplus'),'Dropbox','Dropbox').'</a>');
|
218 |
}
|
307 |
$updraftplus->log('The file was found locally and matched the recorded size from the backup history ('.round($known_size/1024,1).' Kb)');
|
308 |
} else {
|
309 |
$updraftplus->log('No file size was found recorded in the backup history. We will assume the local one is complete.');
|
310 |
+
$known_size = filesize($fullpath);
|
311 |
}
|
312 |
|
313 |
// The AJAX responder that updates on progress wants to see this
|
379 |
|
380 |
global $updraftplus;
|
381 |
|
382 |
+
// Test the nonce
|
383 |
$nonce = (empty($_REQUEST['nonce'])) ? "" : $_REQUEST['nonce'];
|
384 |
if (! wp_verify_nonce($nonce, 'updraftplus-credentialtest-nonce') || empty($_REQUEST['subaction'])) die('Security check');
|
385 |
|
386 |
if ('lastlog' == $_GET['subaction']) {
|
387 |
echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', '('.__('Nothing yet logged', 'updraftplus').')'));
|
388 |
+
} elseif ('phpinfo' == $_REQUEST['subaction']) {
|
389 |
+
phpinfo(INFO_ALL ^ (INFO_CREDITS | INFO_LICENSE));
|
390 |
+
} elseif ('backupnow' == $_REQUEST['subaction']) {
|
391 |
+
echo '<strong>',__('Schedule backup','updraftplus').':</strong> ';
|
392 |
+
if (wp_schedule_single_event(time()+5, 'updraft_backup_all') === false) {
|
393 |
+
$updraftplus->log("A backup run failed to schedule");
|
394 |
+
echo __("Failed.",'updraftplus')."</div>";
|
395 |
+
} else {
|
396 |
+
// For unknown reasons, the <script> runs twice if put inside the <div>
|
397 |
+
echo htmlspecialchars(__('OK. You should soon see activity in the "Last log message" field below.','updraftplus'))." <a href=\"http://updraftplus.com/faqs/my-scheduled-backups-and-pressing-backup-now-does-nothing-however-pressing-debug-backup-does-produce-a-backup/\">".__('Nothing happening? Follow this link for help.','updraftplus')."</a></div><script>setTimeout(function(){updraft_showlastbackup();}, 7000);</script>";
|
398 |
+
$updraftplus->log("A backup run has been scheduled");
|
399 |
+
}
|
400 |
+
|
401 |
} elseif ('lastbackup' == $_GET['subaction']) {
|
402 |
echo $this->last_backup_html();
|
403 |
+
} elseif ('activejobs_list' == $_GET['subaction']) {
|
404 |
+
$this->print_active_jobs();
|
405 |
+
} elseif ('activejobs_delete' == $_GET['subaction'] && isset($_GET['jobid'])) {
|
406 |
+
|
407 |
+
$cron = get_option('cron');
|
408 |
+
$found_it = 0;
|
409 |
+
foreach ($cron as $time => $job) {
|
410 |
+
if (isset($job['updraft_backup_resume'])) {
|
411 |
+
foreach ($job['updraft_backup_resume'] as $hook => $info) {
|
412 |
+
if (isset($info['args'][1]) && $info['args'][1] == $_GET['jobid']) {
|
413 |
+
$found_it = 1;
|
414 |
+
$args = $cron[$time]['updraft_backup_resume'][$hook]['args'];
|
415 |
+
wp_unschedule_event($time, 'updraft_backup_resume', $args);
|
416 |
+
echo 'Y:'.__('Job deleted', 'updraftplus');
|
417 |
+
}
|
418 |
+
}
|
419 |
+
}
|
420 |
+
}
|
421 |
+
|
422 |
+
if (!$found_it) { echo 'X:'.__('Could not find that job - perhaps it has already finished?', 'updraftplus'); }
|
423 |
+
|
424 |
+
|
425 |
+
} elseif ('diskspaceused' == $_GET['subaction'] && isset($_GET['entity'])) {
|
426 |
+
if ($_GET['entity'] == 'updraft') {
|
427 |
+
echo $this->recursive_directory_size($updraftplus->backups_dir_location());
|
428 |
+
} else {
|
429 |
+
$backupable_entities = $updraftplus->get_backupable_file_entities(true, false);
|
430 |
+
if (!empty($backupable_entities[$_GET['entity']])) {
|
431 |
+
$dirs = apply_filters('updraftplus_dirlist_'.$_GET['entity'], $backupable_entities[$_GET['entity']]);
|
432 |
+
echo $this->recursive_directory_size($dirs);
|
433 |
+
} else {
|
434 |
+
_e('Error','updraftplus');
|
435 |
+
}
|
436 |
+
}
|
437 |
} elseif ('historystatus' == $_GET['subaction']) {
|
438 |
$rescan = (isset($_GET['rescan']) && $_GET['rescan'] == 1);
|
439 |
if ($rescan) $this->rebuild_backup_history();
|
684 |
*/
|
685 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'updraft_restore' && isset($_REQUEST['backup_timestamp'])) {
|
686 |
$backup_success = $this->restore_backup($_REQUEST['backup_timestamp']);
|
687 |
+
if(empty($updraftplus->errors) && $backup_success === true) {
|
688 |
+
// If we restored the database, then that will have out-of-date information which may confuse the user - so automatically re-scan for them.
|
689 |
+
$this->rebuild_backup_history();
|
690 |
echo '<p><strong>'.__('Restore successful!','updraftplus').'</strong></p>';
|
691 |
echo '<b>'.__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus&updraft_restore_success=true">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
692 |
return;
|
693 |
+
} elseif (is_wp_error($backup_success)) {
|
694 |
echo '<p>Restore failed...</p><ul style="list-style: disc inside;">';
|
695 |
foreach ($updraftplus->errors as $err) {
|
696 |
if (is_wp_error($err)) {
|
705 |
}
|
706 |
echo '</ul><b>Actions:</b> <a href="options-general.php?page=updraftplus">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
707 |
return;
|
708 |
+
} elseif (false === $backup_success) {
|
709 |
+
# This means, "not yet - but stay on the page because we may be able to do it later, e.g. if the user types in the requested information"
|
710 |
+
return;
|
711 |
}
|
712 |
//uncomment the below once i figure out how i want the flow of a restoration to work.
|
713 |
//echo '<b>'__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus">Return to UpdraftPlus Configuration</a>';
|
733 |
if(isset($_GET['error'])) $this->show_admin_warning(htmlspecialchars($_GET['error']), 'error');
|
734 |
if(isset($_GET['message'])) $this->show_admin_warning(htmlspecialchars($_GET['message']));
|
735 |
|
736 |
+
if(isset($_GET['action']) && $_GET['action'] == 'updraft_create_backup_dir' && isset($_GET['nonce']) && wp_verify_nonce($_GET['nonce'], 'create_backup_dir')) {
|
737 |
+
$created = $this->create_backup_dir();
|
738 |
+
if(is_wp_error($created)) {
|
739 |
+
echo '<p>'.__('Backup directory could not be created','updraftplus').'...<br/>';
|
740 |
+
echo '<ul style="list-style: disc inside;">';
|
741 |
+
foreach ($created->get_error_messages() as $key => $msg) {
|
742 |
+
echo '<li>'.htmlspecialchars($msg).'</li>';
|
743 |
+
}
|
744 |
+
echo '</ul></p>';
|
745 |
+
} elseif ($created !== false) {
|
746 |
echo '<p>'.__('Backup directory successfully created.','updraftplus').'</p><br/>';
|
747 |
}
|
748 |
echo '<b>'.__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
749 |
return;
|
750 |
}
|
751 |
|
752 |
+
echo '<div id="updraft_backup_started" class="updated fade" style="display:none; max-width: 800px; font-size:140%; line-height: 140%; padding:14px; clear:left;"></div>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
753 |
|
754 |
// updraft_file_ids is not deleted
|
755 |
if(isset($_POST['action']) && $_POST['action'] == 'updraft_backup_debug_all') { $updraftplus->boot_backup(true,true); }
|
767 |
<div class="wrap">
|
768 |
<h1><?php echo $updraftplus->plugin_title; ?></h1>
|
769 |
|
770 |
+
<?php _e('By UpdraftPlus.Com','updraftplus')?> ( <a href="http://updraftplus.com">UpdraftPlus.Com</a> | <a href="http://updraftplus.com/news/"><?php _e('News','updraftplus');?></a> | <?php if (!defined('UPDRAFTPLUS_NOADS')) { ?><a href="http://updraftplus.com/shop/"><?php _e("Premium",'updraftplus');?></a> | <?php } ?><a href="http://david.dw-perspective.org.uk"><?php _e("Lead developer's homepage",'updraftplus');?></a> | <?php if (1==0 && !defined('UPDRAFTPLUS_NOADS')) { ?><a href="http://wordshell.net">WordShell - WordPress command line</a> | <a href="http://david.dw-perspective.org.uk/donate"><?php _e('Donate','updraftplus');?></a> | <?php } ?><a href="http://updraftplus.com/support/frequently-asked-questions/">FAQs</a> | <a href="http://profiles.wordpress.org/davidanderson/"><?php _e('Other WordPress plugins','updraftplus');?></a>). <?php _e('Version','updraftplus');?>: <?php echo $updraftplus->version; ?>
|
771 |
<br>
|
772 |
<?php
|
773 |
if(isset($_GET['updraft_restore_success'])) {
|
|
|
|
|
774 |
echo "<div class=\"updated fade\" style=\"padding:8px;\"><strong>".__('Your backup has been restored.','updraftplus').'</strong> '.__('Your old (themes, uploads, plugins, whatever) directories have been retained with "-old" appended to their name. Remove them when you are satisfied that the backup worked properly.')."</div>";
|
775 |
}
|
776 |
|
862 |
<td id="updraft_last_backup"><?php echo $last_backup_html ?></td>
|
863 |
</tr>
|
864 |
</table>
|
865 |
+
<div style="float:left; width:200px; margin-top: <?php echo (class_exists('UpdraftPlus_Addons_Migrator')) ? "20" : "0" ?>px;">
|
866 |
+
<div style="margin-bottom: 10px;">
|
867 |
+
<button type="button" <?php echo $backup_disabled ?> class="button-primary" style="padding-top:2px;padding-bottom:2px;font-size:22px !important; min-height: 32px; min-width: 170px;" onclick="jQuery('#updraft-backupnow-modal').dialog('open');"><?php _e('Backup Now','updraftplus');?></button>
|
868 |
+
</div>
|
869 |
+
<div style="margin-bottom: 10px;">
|
870 |
+
<?php
|
871 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
872 |
$backup_history = (is_array($backup_history))?$backup_history:array();
|
873 |
+
?>
|
874 |
+
<input type="button" class="button-primary" value="<?php _e('Restore','updraftplus');?>" style="padding-top:2px;padding-bottom:2px;font-size:22px !important; min-height: 32px; min-width: 170px;" onclick="jQuery('.download-backups').slideDown(); updraft_historytimertoggle(1); jQuery('html,body').animate({scrollTop: jQuery('#updraft_lastlogcontainer').offset().top},'slow');">
|
875 |
+
</div>
|
876 |
+
<div>
|
877 |
+
<button type="button" class="button-primary" style="padding-top:2px;padding-bottom:2px;font-size:22px !important; min-height: 32px; min-width: 170px;" onclick="jQuery('#updraft-migrate-modal').dialog('open');"><?php _e('Clone/Migrate','updraftplus');?></button>
|
878 |
</div>
|
879 |
</div>
|
880 |
<br style="clear:both" />
|
881 |
<table class="form-table">
|
882 |
+
<tr id="updraft_lastlogmessagerow">
|
883 |
<th><?php _e('Last log message','updraftplus');?>:</th>
|
884 |
<td>
|
885 |
<span id="updraft_lastlogcontainer"><?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', __('(Nothing yet logged)','updraftplus'))); ?></span><br>
|
888 |
</tr>
|
889 |
<tr>
|
890 |
<th><?php echo htmlspecialchars(__('Backups, logs & restoring','updraftplus')); ?>:</th>
|
891 |
+
<td><a id="updraft_showbackups" href="#" title="<?php _e('Press to see available backups','updraftplus');?>" onclick="jQuery('.download-backups').fadeToggle(); updraft_historytimertoggle(0);"><?php echo sprintf(__('%d set(s) available', 'updraftplus'), count($backup_history)); ?></a></td>
|
892 |
+
</tr>
|
893 |
+
<?php
|
894 |
+
if (defined('UPDRAFTPLUS_EXPERIMENTAL_MISC') && UPDRAFTPLUS_EXPERIMENTAL_MISC == true) {
|
895 |
+
?>
|
896 |
+
<tr>
|
897 |
+
<th><?php echo __('Latest UpdraftPlus.com news:', 'updraftplus'); ?></th>
|
898 |
+
<td>Blah blah blah. Move to right-hand col?</td>
|
899 |
</tr>
|
900 |
+
<?php } ?>
|
901 |
+
</table>
|
902 |
+
<table class="form-table">
|
903 |
<tr>
|
904 |
+
<td style=""> </td><td class="download-backups" style="display:none; border: 2px dashed #aaa;">
|
905 |
+
<h2><?php echo __('Downloading and restoring', 'updraftplus'); ?></h2>
|
906 |
<p style="max-width: 740px;"><ul style="list-style: disc inside;">
|
907 |
<li><strong><?php _e('Downloading','updraftplus');?>:</strong> <?php _e("Pressing a button for Database/Plugins/Themes/Uploads/Others will make UpdraftPlus try to bring the backup file back from the remote storage (if any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then you will be allowed to download it to your computer. If the fetch from the remote storage stops progressing (wait 30 seconds to make sure), then press again to resume. Remember that you can also visit the cloud storage vendor's website directly.",'updraftplus');?></li>
|
908 |
<li><strong><?php _e('Restoring','updraftplus');?>:</strong> <?php _e("Press the button for the backup you wish to restore. If your site is large and you are using remote storage, then you should first click on each entity in order to retrieve it back to the webserver. This will prevent time-outs from occuring during the restore process itself.",'updraftplus');?> <?php _e('More tasks:','updraftplus');?> <a href="#" onclick="jQuery('#updraft-plupload-modal').slideToggle(); return false;"><?php _e('upload backup files','updraftplus');?></a> | <a href="#" onclick="updraft_updatehistory(1); return false;" title="<?php _e('Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded. The location of this directory is set in the expert settings, below.','updraftplus'); ?>"><?php _e('rescan folder for new backup sets','updraftplus');?></a></li>
|
913 |
<li title="<?php _e('This is a count of the contents of your Updraft directory','updraftplus');?>"><strong><?php _e('Web-server disk space in use by UpdraftPlus','updraftplus');?>:</strong> <span id="updraft_diskspaceused"><em>(calculating...)</em></span> <a href="#" onclick="updraftplus_diskspace(); return false;"><?php _e('refresh','updraftplus');?></a></li></ul>
|
914 |
|
915 |
<div id="updraft-plupload-modal" title="<?php _e('UpdraftPlus - Upload backup files','updraftplus'); ?>" style="width: 75%; margin: 16px; display:none; margin-left: 100px;">
|
916 |
+
<p style="max-width: 600px;"><em><?php _e("Upload files into UpdraftPlus. Use this to import backups made on a different WordPress installation." ,'updraftplus');?> <?php echo htmlspecialchars(__('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.', 'updraftplus'));?></em></p>
|
917 |
<div id="plupload-upload-ui" style="width: 70%;">
|
918 |
<div id="drag-drop-area">
|
919 |
<div class="drag-drop-inside">
|
932 |
<script>
|
933 |
function updraftplus_diskspace() {
|
934 |
jQuery('#updraft_diskspaceused').html('<em><?php _e('calculating...','updraftplus');?></em>');
|
935 |
+
jQuery.get(ajaxurl, { action: 'updraft_ajax', entity: 'updraft', subaction: 'diskspaceused', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>' }, function(response) {
|
936 |
jQuery('#updraft_diskspaceused').html(response);
|
937 |
});
|
938 |
}
|
960 |
// Create somewhere for the status to be found
|
961 |
var stid = base+nonce+'_'+what;
|
962 |
if (!jQuery('#'+stid).length) {
|
963 |
+
jQuery('#ud_downloadstatus').append('<div style="clear:left; border: 1px solid; padding: 8px; margin-top: 4px; max-width:840px;" id="'+stid+'"><button onclick="jQuery(\'#'+stid+'\').fadeOut().remove();" type="button" style="float:right; margin-bottom: 8px;">X</button><strong>Download '+what+' ('+nonce+')</strong>:<div class="raw"><?php _e('Begun looking for this entity','updraftplus');?></div><div class="file" id="'+stid+'_st"><div class="dlfileprogress" style="width: 0;"></div></div>');
|
964 |
// <b><span class="dlname">??</span></b> (<span class="dlsofar">?? KB</span>/<span class="dlsize">??</span> KB)
|
965 |
+
setTimeout(function(){updraft_downloader_status(base, nonce, what);}, 300);
|
966 |
}
|
967 |
// Now send the actual request to kick it all off
|
968 |
jQuery.post(ajaxurl, jQuery('#uddownloadform_'+what+'_'+nonce).serialize());
|
1009 |
alert('<?php _e('Download error: the server sent us a response (JSON) which we did not understand', 'updraftplus'); ?> ('+response+')');
|
1010 |
cancel_repeat = 1;
|
1011 |
}
|
1012 |
+
if (cancel_repeat == 0) { setTimeout(function(){updraft_downloader_status(base, nonce, what);}, nexttimer); }
|
1013 |
} catch(err) {
|
1014 |
alert('<?php _e('Download error: the server sent us a response which we did not understand.', 'updraftplus'); ?> <?php _e("Error:",'updraftplus');?> '+err);
|
1015 |
}
|
1026 |
</tr>
|
1027 |
</table>
|
1028 |
|
1029 |
+
<div id="updraft-delete-modal" title="<?php _e('Delete backup set', 'updraftplus');?>">
|
1030 |
+
<form id="updraft_delete_form" method="post">
|
1031 |
+
<p>
|
1032 |
+
<?php _e('Are you sure that you wish to delete this backup set?', 'updraftplus'); ?>
|
1033 |
+
</p>
|
1034 |
+
<fieldset>
|
1035 |
+
<input type="hidden" name="action" value="updraft_delete">
|
1036 |
+
<input type="hidden" name="backup_timestamp" value="0" id="updraft_delete_timestamp">
|
1037 |
+
<input type="hidden" name="backup_nonce" value="0" id="updraft_delete_nonce">
|
1038 |
+
<input type="checkbox" name="" id=""> <label for=""><?php _e('Delete from remote storage (if any)', 'updraftplus');?></label><br>
|
1039 |
+
<input type="checkbox" name="" id=""> <label for=""><?php _e('Delete from UpdraftPlus\'s memory', 'updraftplus');?></label>
|
1040 |
+
</fieldset>
|
1041 |
+
</form>
|
1042 |
+
</div>
|
1043 |
+
|
1044 |
<div id="updraft-restore-modal" title="UpdraftPlus - <?php _e('Restore backup','updraftplus');?>">
|
1045 |
<p><strong><?php _e('Restore backup from','updraftplus');?>:</strong> <span id="updraft_restore_date"></span></p>
|
1046 |
<p><?php _e("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).",'updraftplus');?> <?php _e('Choose the components to restore','updraftplus');?>:</p>
|
1104 |
<p><em><a href="http://updraftplus.com/faqs/what-should-i-understand-before-undertaking-a-restoration/" target="_new"><?php _e('Do read this helpful article of useful things to know before restoring.','updraftplus');?></a></em></p>
|
1105 |
</div>
|
1106 |
|
1107 |
+
<div id="updraft-migrate-modal" title="<?php _e('Migrate Site', 'updraftplus'); ?>">
|
|
|
1108 |
|
1109 |
+
<?php
|
1110 |
+
if (class_exists('UpdraftPlus_Addons_Migrator')) {
|
1111 |
+
echo '<p>'.str_replace('"', """, __('Migration of data from another site happens through the "Restore" button. A "migration" is ultimately the same as a restoration - but using backup archives that you import from another site. UpdraftPlus modifies the restoration operation appropriately, to fit the backup data to the new site.', 'updraftplus')).' '.sprintf(__('<a href="%s">Read this article to see step-by-step how it\'s done.</a>', 'updraftplus'),'http://updraftplus.com/faqs/how-do-i-migrate-to-a-new-site-location/');
|
1112 |
+
} else {
|
1113 |
+
echo '<p>'.__('Do you want to migrate or clone/duplicate a site?', 'updraftplus').'</p><p>'.__('Then, try out our "Migrator" add-on. After using it once, you\'ll have saved the purchase price compared to the time needed to copy a site by hand.', 'updraftplus').'</p><p><a href="http://updraftplus.com/shop/migrator/">'.__('Get it here.', 'updraftplus').'</a>';
|
1114 |
+
}
|
1115 |
+
?>
|
1116 |
+
</p>
|
1117 |
+
</div>
|
1118 |
+
|
1119 |
+
<div id="updraft-iframe-modal">
|
1120 |
+
<div id="updraft-iframe-modal-innards">
|
1121 |
+
</div>
|
1122 |
+
</div>
|
1123 |
+
|
1124 |
+
<div id="updraft-backupnow-modal" title="UpdraftPlus - <?php _e('Perform a one-time backup','updraftplus'); ?>">
|
1125 |
+
<p><?php _e("To proceed, press 'Backup Now'. Then, watch the 'Last Log Message' field for activity after about 10 seconds. WordPress should start the backup running in the background.",'updraftplus');?></p>
|
1126 |
|
1127 |
<p><?php _e('Does nothing happen when you schedule backups?','updraftplus');?> <a href="http://updraftplus.com/faqs/my-scheduled-backups-and-pressing-backup-now-does-nothing-however-pressing-debug-backup-does-produce-a-backup/"><?php _e('Go here for help.','updraft');?></a></p>
|
1128 |
</div>
|
1139 |
</tr>
|
1140 |
</table>
|
1141 |
<?php } ?>
|
1142 |
+
<h2 style="margin-top: 6px;"><?php _e('Configure Backup Contents And Schedule','updraftplus');?></h2>
|
1143 |
<?php UpdraftPlus_Options::options_form_begin(); ?>
|
1144 |
<?php $this->settings_formcontents($last_backup_html); ?>
|
1145 |
</form>
|
1146 |
<div style="padding-top: 40px; display:none;" class="expertmode">
|
1147 |
<hr>
|
1148 |
+
<h2><?php _e('Debug Information And Expert Options','updraftplus');?></h2>
|
1149 |
<p>
|
1150 |
<?php
|
1151 |
+
echo sprintf(__('Web server:','updraftplus'), 'PHP').' '.htmlspecialchars($_SERVER["SERVER_SOFTWARE"]).' ('.htmlspecialchars(php_uname()).')<br />';
|
1152 |
$peak_memory_usage = memory_get_peak_usage(true)/1024/1024;
|
1153 |
$memory_usage = memory_get_usage(true)/1024/1024;
|
1154 |
echo __('Peak memory usage','updraftplus').': '.$peak_memory_usage.' MB<br/>';
|
1155 |
echo __('Current memory usage','updraftplus').': '.$memory_usage.' MB<br/>';
|
1156 |
echo __('PHP memory limit','updraftplus').': '.ini_get('memory_limit').' <br/>';
|
1157 |
+
echo sprintf(__('%s version:','updraftplus'), 'PHP').' '.phpversion().' - ';
|
1158 |
+
echo '<a href="admin-ajax.php?page=updraftplus&action=updraft_ajax&subaction=phpinfo&nonce='.wp_create_nonce('updraftplus-credentialtest-nonce').'" id="updraftplus-phpinfo">'.__('show PHP information (phpinfo)', 'updraftplus').'</a><br/>';
|
1159 |
+
|
1160 |
+
if (version_compare(phpversion(), '5.2.0', '>=') && extension_loaded('zip')) {
|
1161 |
+
$ziparchive_exists .= __('Yes', 'updraftplus');
|
1162 |
+
} else {
|
1163 |
+
$ziparchive_exists .= (method_exists('ZipArchive', 'addFile')) ? __('Yes', 'updraftplus') : __('No', 'updraftplus');
|
1164 |
+
}
|
1165 |
+
|
1166 |
+
echo __('PHP has support for ZipArchive::addFile:', 'updraftplus').' '.$ziparchive_exists.'<br>';
|
1167 |
+
|
1168 |
+
$binzip = $updraftplus->find_working_bin_zip(false);
|
1169 |
+
|
1170 |
+
echo __('zip executable found:', 'updraftplus').' '.((is_string($binzip)) ? __('Yes').': '.$binzip : __('No')).'<br>';
|
1171 |
+
|
1172 |
+
echo '<h3>'.__('Total (uncompressed) on-disk data:','updraftplus').'</h3>';
|
1173 |
+
echo '<p style="clear: left; max-width: 600px;"><em>'.__('N.B. This count is based upon what was, or was not, excluded the last time you saved the options.', 'updraftplus').'</em></p>';
|
1174 |
+
|
1175 |
+
foreach ($backupable_entities as $key => $info) {
|
1176 |
+
|
1177 |
+
$sdescrip = preg_replace('/ \(.*\)$/', '', $info['description']);
|
1178 |
+
if (strlen($sdescrip) > 20 && isset($info['shortdescription'])) $sdescrip = $info['shortdescription'];
|
1179 |
+
|
1180 |
+
echo '<div style="clear: left;float:left; width:150px;">'.ucfirst($sdescrip).':</strong></div><div style="float:left;"><span id="updraft_diskspaceused_'.$key.'"><em></em></span> <a href="#" onclick="updraftplus_diskspace_entity(\''.$key.'\'); return false;">'.__('count','updraftplus').'</a></div>';
|
1181 |
+
}
|
1182 |
+
|
1183 |
?>
|
1184 |
+
|
1185 |
</p>
|
1186 |
+
<p style="clear: left; padding-top: 20px; max-width: 600px; margin:0;"><?php _e('The buttons below will immediately execute a backup run, independently of WordPress\'s scheduler. If these work whilst your scheduled backups and the "Backup Now" button do absolutely nothing (i.e. not even produce a log file), then it means that your scheduler is broken. You should then disable all your other plugins, and try the "Backup Now" button. If that fails, then contact your web hosting company and ask them if they have disabled wp-cron. If it succeeds, then re-activate your other plugins one-by-one, and find the one that is the problem and report a bug to them.','updraftplus');?></p>
|
1187 |
|
1188 |
+
<table border="0" style="border: none;">
|
1189 |
+
<tbody>
|
1190 |
+
<tr>
|
1191 |
+
<td>
|
1192 |
<form method="post">
|
1193 |
<input type="hidden" name="action" value="updraft_backup_debug_all" />
|
1194 |
<p><input type="submit" class="button-primary" <?php echo $backup_disabled ?> value="<?php _e('Debug Full Backup','updraftplus');?>" onclick="return(confirm('<?php echo htmlspecialchars(__('This will cause an immediate backup. The page will stall loading until it finishes (ie, unscheduled).','updraftplus'));?>'))" /></p>
|
1195 |
</form>
|
1196 |
+
</td><td>
|
1197 |
<form method="post">
|
1198 |
<input type="hidden" name="action" value="updraft_backup_debug_db" />
|
1199 |
<p><input type="submit" class="button-primary" <?php echo $backup_disabled ?> value="<?php _e('Debug Database Backup','updraftplus');?>" onclick="return(confirm('<?php echo htmlspecialchars(__('This will cause an immediate DB backup. The page will stall loading until it finishes (ie, unscheduled). The backup may well run out of time; really this button is only helpful for checking that the backup is able to get through the initial stages, or for small WordPress sites..','updraftplus'));?>'))" /></p>
|
1200 |
</form>
|
1201 |
+
</td>
|
1202 |
+
</tr>
|
1203 |
+
</tbody>
|
1204 |
+
</table>
|
1205 |
<h3><?php _e('Wipe Settings','updraftplus');?></h3>
|
1206 |
<p style="max-width: 600px;"><?php _e('This button will delete all UpdraftPlus settings (but not any of your existing backups from your cloud storage). You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish.','updraftplus');?></p>
|
1207 |
<form method="post">
|
1208 |
<input type="hidden" name="action" value="updraft_wipesettings" />
|
1209 |
<p><input type="submit" class="button-primary" value="<?php _e('Wipe All Settings','updraftplus'); ?>" onclick="return(confirm('<?php echo htmlspecialchars(__('This will delete all your UpdraftPlus settings - are you sure you want to do this?'));?>'))" /></p>
|
1210 |
</form>
|
1211 |
+
<h3><?php _e('Active jobs', 'updraftplus');?></h3>
|
1212 |
+
<div id="updraft_activejobs">
|
1213 |
+
<?php $this->print_active_jobs(); ?>
|
1214 |
+
</div>
|
1215 |
</div>
|
1216 |
|
1217 |
<script type="text/javascript">
|
1218 |
/* <![CDATA[ */
|
1219 |
+
|
1220 |
+
function updraft_activejobs_delete(jobid) {
|
1221 |
+
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'activejobs_delete', jobid: jobid, nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>' }, function(response) {
|
1222 |
+
if (response.substr(0,2) == 'Y:') {
|
1223 |
+
jQuery('#updraft-jobid-'+jobid).html(response.substr(2)).fadeOut('slow', function() {
|
1224 |
+
jQuery(this).remove();
|
1225 |
+
});
|
1226 |
+
} else if (response.substr(0,2) == 'X:') {
|
1227 |
+
alert(response.substr(2));
|
1228 |
+
} else {
|
1229 |
+
alert('<?php _e('Unknown response:', 'updraftplus'); ?> '+response);
|
1230 |
+
}
|
1231 |
+
});
|
1232 |
+
}
|
1233 |
+
|
1234 |
+
function updraft_activejobs_update() {
|
1235 |
+
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'activejobs_list', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>' }, function(response) {
|
1236 |
+
jQuery('#updraft_activejobs').html(response);
|
1237 |
+
});
|
1238 |
+
}
|
1239 |
+
|
1240 |
+
function updraftplus_diskspace_entity(key) {
|
1241 |
+
jQuery('#updraft_diskspaceused_'+key).html('<em><?php _e('calculating...','updraftplus');?></em>');
|
1242 |
+
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'diskspaceused', entity: key, nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>' }, function(response) {
|
1243 |
+
jQuery('#updraft_diskspaceused_'+key).html(response);
|
1244 |
+
});
|
1245 |
+
}
|
1246 |
+
|
1247 |
+
function updraft_iframe_modal(getwhat, title) {
|
1248 |
+
jQuery('#updraft-iframe-modal-innards').html('<iframe width="100%" height="440px" src="'+ajaxurl+'?action=updraft_ajax&subaction='+getwhat+'&nonce=<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>"></iframe>');
|
1249 |
+
jQuery('#updraft-iframe-modal').dialog('option', 'title', title).dialog('open');
|
1250 |
+
}
|
1251 |
+
|
1252 |
jQuery(document).ready(function() {
|
1253 |
+
|
1254 |
jQuery('#updraft-service').change(function() {
|
1255 |
jQuery('.updraftplusmethod').hide();
|
1256 |
var active_class = jQuery(this).val();
|
1257 |
jQuery('.'+active_class).show();
|
1258 |
});
|
1259 |
+
|
1260 |
+
jQuery('#updraftplus-phpinfo').click(function(e) {
|
1261 |
+
e.preventDefault();
|
1262 |
+
updraft_iframe_modal('phpinfo', '<?php _e('PHP information', 'updraftplus'); ?>');
|
1263 |
+
});
|
1264 |
+
|
1265 |
})
|
1266 |
jQuery(window).load(function() {
|
1267 |
//this is for hiding the restore progress at the top after it is done
|
1268 |
+
setTimeout('jQuery("#updraft-restore-progress").toggle(1000);',3000)
|
1269 |
jQuery('#updraft-restore-progress-toggle').click(function() {
|
1270 |
jQuery('#updraft-restore-progress').toggle(500)
|
1271 |
})
|
1275 |
<?php
|
1276 |
}
|
1277 |
|
1278 |
+
function print_active_jobs() {
|
1279 |
+
$cron = get_option('cron');
|
1280 |
+
$found_jobs = 0;
|
1281 |
+
foreach ($cron as $time => $job) {
|
1282 |
+
if (isset($job['updraft_backup_resume'])) {
|
1283 |
+
foreach ($job['updraft_backup_resume'] as $hook => $info) {
|
1284 |
+
if (isset($info['args'][1])) {
|
1285 |
+
$found_jobs++;
|
1286 |
+
$job_id = $info['args'][1];
|
1287 |
+
$jobdata = get_transient("updraft_jobdata_".$job_id);
|
1288 |
+
if (!is_array($jobdata)) $jobdata = array();
|
1289 |
+
$began_at = (isset($jobdata['backup_time'])) ? get_date_from_gmt(gmdate('Y-m-d H:i:s', $jobdata['backup_time']), 'D, F j, Y H:i') : '?';
|
1290 |
+
echo '<div style="clear:left; float:left;" id="updraft-jobid-'.$job_id.'">'.sprintf(__("%s: began at: %s; next resumption: %d (after %ss)", 'updraftplus'), $job_id, $began_at, $info['args'][0], $time-time()).' - <a href="?page=updraftplus&action=downloadlog&updraftplus_backup_nonce='.$job_id.'">'.__('show log', 'updraftplus').'</a> - <a href="javascript:updraft_activejobs_delete(\''.$job_id.'\')">'.__('delete schedule', 'updraftplus').'</a></div>';;
|
1291 |
+
// echo str_replace("\n", "<br>", print_r($job, true));
|
1292 |
+
}
|
1293 |
+
}
|
1294 |
+
}
|
1295 |
+
}
|
1296 |
+
if (0 == $found_jobs) {
|
1297 |
+
echo '<p><em>'.__('(None)', 'updraftplus').'</em></p>';
|
1298 |
+
}
|
1299 |
+
}
|
1300 |
+
|
1301 |
//deletes the -old directories that are created when a backup is restored.
|
1302 |
function delete_old_dirs() {
|
1303 |
global $wp_filesystem;
|
1330 |
return $return_code;
|
1331 |
}
|
1332 |
|
1333 |
+
// The aim is to get a directory that is writable by the webserver, because that's the only way we can create zip files
|
1334 |
function create_backup_dir() {
|
1335 |
+
|
1336 |
global $wp_filesystem, $updraftplus;
|
1337 |
+
|
1338 |
+
if (false === ($credentials = request_filesystem_credentials('options-general.php?page=updraftplus&action=updraft_create_backup_dir&nonce='.wp_create_nonce('create_backup_dir')))) {
|
1339 |
+
return false;
|
1340 |
+
}
|
1341 |
+
|
1342 |
+
if ( ! WP_Filesystem($credentials) ) {
|
1343 |
+
// our credentials were no good, ask the user for them again
|
1344 |
+
request_filesystem_credentials('options-general.php?page=updraftplus&action=updraft_create_backup_dir&nonce='.wp_create_nonce('create_backup_dir'), '', true);
|
1345 |
+
return false;
|
1346 |
}
|
1347 |
|
1348 |
$updraft_dir = $updraftplus->backups_dir_location();
|
1349 |
|
1350 |
+
$default_backup_dir = $wp_filesystem->find_folder(dirname($updraft_dir)).basename($updraft_dir);
|
|
|
1351 |
|
1352 |
+
$updraft_dir = ($updraft_dir) ? $wp_filesystem->find_folder(dirname($updraft_dir)).basename($updraft_dir) : $default_backup_dir;
|
1353 |
+
|
1354 |
+
if (!$wp_filesystem->is_dir($default_backup_dir) && !$wp_filesystem->mkdir($default_backup_dir, 0775)) {
|
1355 |
+
$wperr = new WP_Error;
|
1356 |
+
if ( $wp_filesystem->errors->get_error_code() ) {
|
1357 |
+
foreach ( $wp_filesystem->errors->get_error_messages() as $message ) {
|
1358 |
+
$wperr->add('mkdir_error', $message);
|
1359 |
+
}
|
1360 |
+
return $wperr;
|
1361 |
+
} else {
|
1362 |
+
return new WP_Error('mkdir_error', __('The request to the filesystem to create the directory failed.', 'updraftplus'));
|
1363 |
+
}
|
1364 |
+
}
|
1365 |
+
|
1366 |
+
if ($wp_filesystem->is_dir($default_backup_dir)) {
|
1367 |
+
|
1368 |
+
if (is_writable($updraft_dir)) return true;
|
1369 |
+
|
1370 |
+
@$wp_filesystem->chmod($default_backup_dir, 0775);
|
1371 |
+
if (is_writable($updraft_dir)) return true;
|
1372 |
+
|
1373 |
+
@$wp_filesystem->chmod($default_backup_dir, 0777);
|
1374 |
+
|
1375 |
+
if (is_writable($updraft_dir)) {
|
1376 |
+
echo '<p>'.__('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', 'updraftplus').'</p>';
|
1377 |
+
return true;
|
1378 |
+
} else {
|
1379 |
+
@$wp_filesystem->chmod($default_backup_dir, 0775);
|
1380 |
+
return new WP_Error('writable_error', __('The folder exists, but your webserver does not have permission to write to it.', 'updraftplus').' '.__('You will need to consult with your web hosting provider to find out to set permissions for a WordPress plugin to write to the directory.', 'updraftplus'));
|
1381 |
+
}
|
1382 |
+
}
|
1383 |
|
1384 |
return true;
|
1385 |
}
|
1393 |
function scan_old_dirs() {
|
1394 |
$dirArr = scandir(WP_CONTENT_DIR);
|
1395 |
foreach($dirArr as $dir) {
|
1396 |
+
if (preg_match('/-old$/', $dir)) return true;
|
1397 |
}
|
1398 |
return false;
|
1399 |
}
|
1531 |
</tr>
|
1532 |
<tr>
|
1533 |
<th><?php _e('Email','updraftplus'); ?>:</th>
|
1534 |
+
<td><input type="text" title="<?php _e('To send to more than one address, separate each address with a comma.', 'updraftplus'); ?>" style="width:260px" name="updraft_email" value="<?php echo UpdraftPlus_Options::get_updraft_option('updraft_email'); ?>" /> <br><?php _e('Enter an address here to have a report sent (and the whole backup, if you choose) to it.','updraftplus'); ?></td>
|
1535 |
</tr>
|
1536 |
|
1537 |
<tr>
|
1609 |
subaction: 'lastlog',
|
1610 |
nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>'
|
1611 |
};
|
1612 |
+
function updraft_showlastlog(repeat){
|
1613 |
jQuery.get(ajaxurl, lastlog_sdata, function(response) {
|
1614 |
nexttimer = 1500;
|
1615 |
if (lastlog_lastmessage == response) { nexttimer = 4500; }
|
1616 |
+
if (repeat) { setTimeout(function(){updraft_showlastlog(true);}, nexttimer);}
|
1617 |
jQuery('#updraft_lastlogcontainer').html(response);
|
1618 |
lastlog_lastmessage = response;
|
1619 |
});
|
1623 |
subaction: 'lastbackup',
|
1624 |
nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>'
|
1625 |
};
|
1626 |
+
var lastbackup_laststatus = '<?php echo esc_html($last_backup_html);?>';
|
1627 |
function updraft_showlastbackup(){
|
1628 |
jQuery.get(ajaxurl, lastbackup_sdata, function(response) {
|
1629 |
if (lastbackup_laststatus == response) {
|
1630 |
+
setTimeout(function(){updraft_showlastbackup();}, 7000);
|
1631 |
} else {
|
1632 |
jQuery('#updraft_last_backup').html(response);
|
1633 |
}
|
1651 |
}
|
1652 |
function updraft_updatehistory(rescan) {
|
1653 |
if (rescan == 1) {
|
1654 |
+
jQuery('#updraft_existing_backups').html('<p style="text-align:center;"><em><?php _e('Rescanning (looking for backups that you have uploaded manually into the internal backup store)...', 'updraftplus'); ?></em></p>');
|
1655 |
}
|
1656 |
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'historystatus', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>', rescan: rescan }, function(response) {
|
1657 |
jQuery('#updraft_existing_backups').html(response);
|
1670 |
|
1671 |
updraft_check_same_times();
|
1672 |
|
1673 |
+
jQuery( "#updraft-delete-modal" ).dialog({
|
1674 |
+
autoOpen: false, height: 260, width: 430, modal: true,
|
1675 |
+
buttons: {
|
1676 |
+
'<?php _e('Delete','updraftplus');?>': function() {
|
1677 |
+
alert("TODO");
|
1678 |
+
},
|
1679 |
+
'<?php _e('Cancel','updraftplus');?>': function() { jQuery(this).dialog("close"); }
|
1680 |
+
}
|
1681 |
+
});
|
1682 |
+
|
1683 |
jQuery( "#updraft-restore-modal" ).dialog({
|
1684 |
autoOpen: false, height: 505, width: 590, modal: true,
|
1685 |
buttons: {
|
1701 |
}
|
1702 |
});
|
1703 |
|
1704 |
+
jQuery("#updraft-iframe-modal" ).dialog({
|
1705 |
+
autoOpen: false, height: 500, width: 780, modal: true
|
1706 |
+
});
|
1707 |
+
|
1708 |
+
|
1709 |
+
jQuery("#updraft-backupnow-modal" ).dialog({
|
1710 |
+
autoOpen: false, height: 265, width: 390, modal: true,
|
1711 |
buttons: {
|
1712 |
'<?php _e('Backup Now','updraftplus');?>': function() {
|
1713 |
+
jQuery(this).dialog("close");
|
1714 |
+
jQuery('#updraft_backup_started').html('<em><?php _e('Requesting start of backup...', 'updraftplus');?></em>').slideDown('');
|
1715 |
+
jQuery.post(ajaxurl, { action: 'updraft_ajax', subaction: 'backupnow', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>' }, function(response) {
|
1716 |
+
jQuery('#updraft_backup_started').html(response);
|
1717 |
+
setTimeout(function() {jQuery.get('<?php echo site_url(); ?>');}, 5100);
|
1718 |
+
setTimeout(function() {updraft_showlastlog();}, 6000);
|
1719 |
+
setTimeout(function() {updraft_activejobs_update();}, 6000);
|
1720 |
+
setTimeout(function() {
|
1721 |
+
jQuery('#updraft_lastlogmessagerow').fadeOut('slow', function() {
|
1722 |
+
jQuery(this).fadeIn('slow');
|
1723 |
+
});
|
1724 |
+
},
|
1725 |
+
3200
|
1726 |
+
);
|
1727 |
+
setTimeout(function() {jQuery('#updraft_backup_started').fadeOut('slow');}, 60000);
|
1728 |
+
// Should be redundant (because of the polling for the last log line), but harmless (invokes page load)
|
1729 |
+
});
|
1730 |
},
|
1731 |
'<?php _e('Cancel','updraftplus');?>': function() { jQuery(this).dialog("close"); }
|
1732 |
}
|
1733 |
});
|
1734 |
|
1735 |
+
jQuery( "#updraft-migrate-modal" ).dialog({
|
1736 |
+
autoOpen: false, height: 265, width: 390, modal: true,
|
1737 |
+
buttons: {
|
1738 |
+
'<?php _e('Close','updraftplus');?>': function() { jQuery(this).dialog("close"); }
|
1739 |
+
}
|
1740 |
+
});
|
1741 |
+
|
1742 |
jQuery('#enableexpertmode').click(function() {
|
1743 |
jQuery('.expertmode').fadeIn();
|
1744 |
+
updraft_activejobs_update();
|
1745 |
+
setInterval(function() {updraft_activejobs_update()}, 15000);
|
1746 |
+
jQuery('#enableexpertmode').off('click');
|
1747 |
return false;
|
1748 |
});
|
1749 |
<?php if (!@is_writable($updraft_dir)) echo "jQuery('.backupdirrow').show();\n"; ?>
|
1750 |
+
setTimeout(function(){updraft_showlastlog(true);}, 1200);
|
1751 |
jQuery('.updraftplusmethod').hide();
|
1752 |
<?php
|
1753 |
if ($active_service) echo "jQuery('.${active_service}').show();";
|
1770 |
</tr>
|
1771 |
<tr>
|
1772 |
<th><?php _e('Expert settings','updraftplus');?>:</th>
|
1773 |
+
<td><a id="enableexpertmode" href="#enableexpertmode"><?php _e('Show expert settings','updraftplus');?></a> - <?php _e("click this to show some further options; don't bother with this unless you have a problem or are curious.",'updraftplus');?> <?php do_action('updraftplus_expertsettingsdescription'); ?></td>
|
1774 |
</tr>
|
1775 |
<?php
|
1776 |
$delete_local = UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1);
|
1793 |
if(@is_writable($updraft_dir)) {
|
1794 |
$dir_info = '<span style="color:green">'.__('Backup directory specified is writable, which is good.','updraftplus').'</span>';
|
1795 |
} else {
|
1796 |
+
$dir_info = '<span style="color:red">'.__('Backup directory specified is <b>not</b> writable, or does not exist.','updraftplus').' <span style="font-size:110%;font-weight:bold"><a href="options-general.php?page=updraftplus&action=updraft_create_backup_dir&nonce='.wp_create_nonce('create_backup_dir').'">'.__('Click here to attempt to create the directory and set the permissions','updraftplus').'</a></span>, '.__('or, to reset this option','updraftplus').' <a href="#" onclick="jQuery(\'#updraft_dir\').val(\''.WP_CONTENT_DIR.'/updraft\'); return false;">'.__('click here','updraftplus').'</a>. '.__('If that is unsuccessful check the permissions on your server or change it to another directory that is writable by your web server process.','updraftplus').'</span>';
|
1797 |
}
|
1798 |
|
1799 |
echo $dir_info.' '.__("This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. Typically you'll want to have it inside your wp-content folder (this is the default). <b>Do not</b> place it inside your uploads dir, as that will cause recursion issues (backups of backups of backups of...).",'updraftplus');?></td>
|
1842 |
<?php
|
1843 |
}
|
1844 |
|
1845 |
+
function show_double_warning($text, $extraclass = '') {
|
1846 |
+
|
1847 |
+
?><div class="error updraftplusmethod <?php echo $extraclass; ?>"><p><?php echo $text; ?></p></div>
|
1848 |
+
|
1849 |
+
<p><?php echo $text; ?></p>
|
1850 |
+
|
1851 |
+
<?php
|
1852 |
+
|
1853 |
+
}
|
1854 |
+
|
1855 |
+
function curl_check($service, $has_fallback = false, $extraclass = '') {
|
1856 |
// Check requirements
|
1857 |
if (!function_exists("curl_init")) {
|
1858 |
+
|
1859 |
+
$this->show_double_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('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.', 'updraftplus'), $service, 'Curl').' '.sprintf(__("Your options are 1) Install/enable %s or 2) Change web hosting companies - %s is a standard PHP component, and required by all cloud backup plugins that we know of.",'updraftplus'), 'Curl', 'Curl'), $extraclass);
|
1860 |
+
|
1861 |
} else {
|
1862 |
$curl_version = curl_version();
|
1863 |
$curl_ssl_supported= ($curl_version['features'] & CURL_VERSION_SSL);
|
1865 |
if ($has_fallback) {
|
1866 |
?><p><strong><?php _e('Warning','updraftplus'); ?>:</strong> <?php echo sprintf(__("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).",'updraftplus'),$service);?></p><?php
|
1867 |
} else {
|
1868 |
+
$this->show_double_warning('<p><strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__("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.",'updraftplus'),$service).'</p>', $extraclass);
|
1869 |
}
|
1870 |
} else {
|
1871 |
?><p><em><?php echo sprintf(__("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.", 'updraftplus'),$service);?></em></p><?php
|
1873 |
}
|
1874 |
}
|
1875 |
|
1876 |
+
function recursive_directory_size($directories) {
|
1877 |
+
|
1878 |
+
if (is_string($directories)) $directories = array($directories);
|
1879 |
+
|
1880 |
+
$size = 0;
|
1881 |
+
|
1882 |
+
foreach ($directories as $dir) $size += $this->recursive_directory_size_raw($dir);
|
1883 |
+
|
1884 |
+
if ($size > 1073741824) {
|
1885 |
+
return round($size / 1073741824, 1).' Gb';
|
1886 |
+
} elseif ($size > 1048576) {
|
1887 |
+
return round($size / 1048576, 1).' Mb';
|
1888 |
+
} elseif ($size > 1024) {
|
1889 |
+
return round($size / 1024, 1).' Kb';
|
1890 |
+
} else {
|
1891 |
+
return round($size, 1).' b';
|
1892 |
+
}
|
1893 |
+
|
1894 |
+
}
|
1895 |
+
|
1896 |
+
function recursive_directory_size_raw($directory) {
|
1897 |
+
|
1898 |
$size = 0;
|
1899 |
if(substr($directory,-1) == '/') $directory = substr($directory,0,-1);
|
1900 |
|
1907 |
if(is_file($path)) {
|
1908 |
$size += filesize($path);
|
1909 |
} elseif(is_dir($path)) {
|
1910 |
+
$handlesize = $this->recursive_directory_size_raw($path);
|
1911 |
+
if($handlesize >= 0) { $size += $handlesize; }# else { return -1; }
|
1912 |
}
|
1913 |
}
|
1914 |
}
|
1915 |
closedir($handle);
|
1916 |
}
|
1917 |
+
|
1918 |
+
return $size;
|
1919 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
1920 |
}
|
1921 |
|
1922 |
function existing_backup_table($backup_history = false) {
|
1940 |
$entities = '';
|
1941 |
?>
|
1942 |
<tr>
|
1943 |
+
<td><a href="javascript:updraft_delete('<?php echo $key;?>', '<?php echo $value['nonce']; ?>');" class="updraftplus-remove" style="display: none;border-radius:100%; -moz-border-radius: 100%; -webkit-border-radius: 100%; font-size: 1.5em; width: 1em; height: 1em;text-align:center;text-decoration:none;font-weight:bold;line-height: 1;" title="<?php echo __('Delete this backup set', 'updraftplus');?>">×</a></td><td><b><?php echo $pretty_date?></b></td>
|
1944 |
<td>
|
1945 |
<?php if (isset($value['db'])) {
|
1946 |
$entities .= '/db/';
|
1994 |
</td>
|
1995 |
</tr>
|
1996 |
<script>
|
1997 |
+
function updraft_delete(key, nonce) {
|
1998 |
+
jQuery('#updraft_delete_timestamp').val(key);
|
1999 |
+
jQuery('#updraft_delete_nonce').val(nonce);
|
2000 |
+
jQuery('#updraft-delete-modal').dialog('open');
|
2001 |
+
}
|
2002 |
function updraft_restore_setoptions(entities) {
|
2003 |
var howmany = 0;
|
2004 |
jQuery('input[name="updraft_restore[]"]').each(function(x,y){
|
2031 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
2032 |
if (!is_array($backup_history)) $backup_history = array();
|
2033 |
|
2034 |
+
$updraft_dir = $updraftplus->backups_dir_location();
|
2035 |
+
if (!is_dir($updraft_dir)) return;
|
2036 |
+
|
2037 |
// Accumulate a list of known files
|
2038 |
foreach ($backup_history as $btime => $bdata) {
|
2039 |
+
$found_file = false;
|
2040 |
foreach ($bdata as $key => $value) {
|
2041 |
// Record which set this file is found in
|
2042 |
if (preg_match('/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+\.(zip|gz|gz\.crypt)$/i', $value, $matches)) {
|
2043 |
$nonce = $matches[2];
|
2044 |
+
// if (empty($bdata['service']) && !is_file($updraft_dir.'/'.$value)) {
|
2045 |
+
if (isset($bdata['service']) && $bdata['service'] == 'none' && !is_file($updraft_dir.'/'.$value)) {
|
2046 |
+
# File no longer present
|
2047 |
+
} else {
|
2048 |
+
$found_file = true;
|
2049 |
+
$known_files[$value] = $nonce;
|
2050 |
+
$known_nonces[$nonce] = $btime;
|
2051 |
+
}
|
2052 |
}
|
2053 |
}
|
2054 |
+
if (!$found_file) {
|
2055 |
+
unset($backup_history[$btime]);
|
2056 |
+
$changes = true;
|
2057 |
+
}
|
2058 |
}
|
|
|
|
|
|
|
|
|
2059 |
|
2060 |
if (!$handle = opendir($updraft_dir)) return;
|
2061 |
|
2070 |
$type = $matches[3];
|
2071 |
// The time from the filename does not include seconds. Need to identify the seconds to get the right time
|
2072 |
if (isset($known_nonces[$nonce])) $btime = $known_nonces[$nonce];
|
2073 |
+
// No cloud backup known of this file
|
2074 |
+
if (!isset($backup_history[$btime])) $backup_history[$btime] = array( 'service' => 'none' );
|
2075 |
$backup_history[$btime][$type] = $entry;
|
2076 |
$backup_history[$btime][$type.'-size'] = filesize($updraft_dir.'/'.$entry);
|
2077 |
$backup_history[$btime]['nonce'] = $nonce;
|
2086 |
|
2087 |
}
|
2088 |
|
2089 |
+
// Return values: false = 'not yet' (not necessarily terminal); WP_Error = terminal failure; true = success
|
2090 |
function restore_backup($timestamp) {
|
2091 |
|
2092 |
@set_time_limit(900);
|
2095 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
2096 |
if(!is_array($backup_history[$timestamp])) {
|
2097 |
echo '<p>'.__('This backup does not exist in the backup history - restoration aborted. Timestamp:','updraftplus')." $timestamp</p><br/>";
|
2098 |
+
return new WP_Error('does_not_exist', 'Backup does not exist in the backup history');
|
2099 |
}
|
2100 |
|
2101 |
// request_filesystem_credentials passes on fields just via hidden name/value pairs.
|
2147 |
if (count($_POST['updraft_restore']) == 0) {
|
2148 |
echo '<p>'.__('ABORT: Could not find the information on which entities to restore.', 'updraftplus').'</p>';
|
2149 |
echo '<p>'.__('If making a request for support, please include this information:','updraftplus').' '.count($_POST).' : '.htmlspecialchars(serialize($_POST)).'</p>';
|
2150 |
+
return new WP_Error('missing_info', 'Backup information not found');
|
2151 |
}
|
2152 |
|
2153 |
/*
|
2157 |
|
2158 |
$backupable_entities = $updraftplus->get_backupable_file_entities(true, true);
|
2159 |
|
2160 |
+
$backup_set = $backup_history[$timestamp];
|
2161 |
+
uksort($backup_set, array($this, 'sort_restoration_entities'));
|
2162 |
+
|
2163 |
+
// We use a single object for each entity, because we want to store information about the backup set
|
2164 |
+
if(!class_exists('WP_Upgrader')) require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
2165 |
+
require_once(UPDRAFTPLUS_DIR.'/includes/updraft-restorer.php');
|
2166 |
+
$restorer = new Updraft_Restorer();
|
2167 |
+
|
2168 |
+
foreach($backup_set as $type => $file) {
|
2169 |
// All restorable entities must be given explicitly, as we can store other arbitrary data in the history array
|
2170 |
|
2171 |
if (!isset($backupable_entities[$type]) && 'db' != $type) continue;
|
2183 |
continue;
|
2184 |
}
|
2185 |
|
2186 |
+
if ($type == 'wpcore' && is_multisite() && 0 === $restorer->ud_backup_is_multisite) {
|
2187 |
+
echo "<p>$type: <strong>".__('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.', 'updraftplus')."</strong></p>";
|
2188 |
+
continue;
|
2189 |
+
}
|
2190 |
+
|
2191 |
$fullpath = $updraft_dir.$file;
|
2192 |
|
2193 |
echo "Looking for $type archive: file name: ".htmlspecialchars($file)."<br>";
|
2211 |
# Types: uploads, themes, plugins, others, db
|
2212 |
if(is_readable($fullpath)) {
|
2213 |
|
|
|
|
|
|
|
|
|
2214 |
$info = (isset($backupable_entities[$type])) ? $backupable_entities[$type] : array();
|
2215 |
+
|
2216 |
$val = $restorer->restore_backup($file, $type, $service, $info);
|
2217 |
|
2218 |
if(is_wp_error($val)) {
|
2219 |
foreach ($val->get_error_messages() as $msg) {
|
2220 |
echo '<strong>'.__('Error message', 'updraftplus').':</strong> '.htmlspecialchars($msg).'<br>';
|
2221 |
}
|
2222 |
+
echo '</div>'; //close the updraft_restore_progress div even if we error
|
2223 |
+
return $val;
|
2224 |
+
} elseif (false === $val) {
|
2225 |
echo '</div>'; //close the updraft_restore_progress div even if we error
|
2226 |
return false;
|
2227 |
}
|
2234 |
return true;
|
2235 |
}
|
2236 |
|
2237 |
+
function sort_restoration_entities($a, $b) {
|
2238 |
+
if ($a == $b) return 0;
|
2239 |
+
# Put the database first
|
2240 |
+
if ($a == 'db') return -1;
|
2241 |
+
if ($b == 'db') return 1;
|
2242 |
+
return strcmp($a, $b);
|
2243 |
+
}
|
2244 |
|
2245 |
}
|
2246 |
|
backup.php
CHANGED
@@ -19,6 +19,8 @@ class UpdraftPlus_Backup {
|
|
19 |
|
20 |
var $zip_preferpcl = false;
|
21 |
|
|
|
|
|
22 |
// This function recursively packs the zip, dereferencing symlinks but packing into a single-parent tree for universal unpacking
|
23 |
function makezip_recursive_add($zipfile, $fullpath, $use_path_when_storing, $original_fullpath) {
|
24 |
|
@@ -109,15 +111,87 @@ class UpdraftPlus_Backup {
|
|
109 |
if ($this->zip_preferpcl || (!extension_loaded('zip') && !method_exists('ZipArchive', 'AddFile'))) {
|
110 |
if(!class_exists('PclZip')) require_once(ABSPATH.'/wp-admin/includes/class-pclzip.php');
|
111 |
$zip_object = new PclZip($destination);
|
|
|
112 |
$zipcode = $zip_object->create($source, PCLZIP_OPT_REMOVE_PATH, WP_CONTENT_DIR);
|
113 |
if ($zipcode == 0 ) {
|
114 |
-
$updraftplus->log("PclZip Error: ".$zip_object->
|
115 |
return $zip_object->errorCode();
|
116 |
} else {
|
117 |
return true;
|
118 |
}
|
119 |
}
|
120 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
121 |
$this->existing_files = array();
|
122 |
|
123 |
// If the file exists, then we should grab its index of files inside, and sizes
|
@@ -125,12 +199,14 @@ class UpdraftPlus_Backup {
|
|
125 |
if (file_exists($destination) && is_readable($destination)) {
|
126 |
$zip = new ZipArchive;
|
127 |
$zip->open($destination);
|
128 |
-
|
129 |
-
for ($i=0; $i
|
130 |
$si = $zip->statIndex($i);
|
131 |
$name = $si['name'];
|
132 |
$this->existing_files[$name] = $si['size'];
|
133 |
}
|
|
|
|
|
134 |
} elseif (file_exists($destination)) {
|
135 |
$updraftplus->log("Zip file already exists, but is not readable; will remove: $destination");
|
136 |
@unlink($destination);
|
@@ -188,6 +264,9 @@ class UpdraftPlus_Backup {
|
|
188 |
|
189 |
global $updraftplus;
|
190 |
|
|
|
|
|
|
|
191 |
// Short-circuit the null case, because we want to detect later if something useful happenned
|
192 |
if (count($this->zipfiles_dirbatched) == 0 && count($this->zipfiles_batched) == 0) return true;
|
193 |
|
@@ -195,7 +274,7 @@ class UpdraftPlus_Backup {
|
|
195 |
|
196 |
$data_added_since_reopen = 0;
|
197 |
|
198 |
-
$zip = new ZipArchive
|
199 |
if (file_exists($zipfile)) {
|
200 |
$opencode = $zip->open($zipfile);
|
201 |
$original_size = filesize($zipfile);
|
@@ -210,43 +289,187 @@ class UpdraftPlus_Backup {
|
|
210 |
while ($dir = array_pop($this->zipfiles_dirbatched)) {
|
211 |
$zip->addEmptyDir($dir);
|
212 |
}
|
|
|
213 |
foreach ($this->zipfiles_batched as $file => $add_as) {
|
214 |
$fsize = filesize($file);
|
|
|
|
|
|
|
215 |
if (!isset($this->existing_files[$add_as]) || $this->existing_files[$add_as] != $fsize) {
|
216 |
|
217 |
@touch($zipfile);
|
218 |
$zip->addFile($file, $add_as);
|
|
|
219 |
|
220 |
$data_added_since_reopen += $fsize;
|
221 |
# 25Mb - force a write-out and re-open
|
222 |
-
if ($data_added_since_reopen >
|
|
|
|
|
223 |
|
224 |
$before_size = filesize($zipfile);
|
225 |
clearstatcache();
|
226 |
|
227 |
-
if ($data_added_since_reopen >
|
228 |
-
|
|
|
|
|
|
|
|
|
229 |
} else {
|
230 |
-
$updraftplus->log("Adding batch to zip file: over
|
231 |
}
|
232 |
if (!$zip->close()) {
|
233 |
-
$updraftplus->log("
|
234 |
}
|
235 |
unset($zip);
|
236 |
-
$zip = new ZipArchive
|
237 |
$opencode = $zip->open($zipfile);
|
238 |
if ($opencode !== true) return array($opencode, 0);
|
239 |
-
$data_added_since_reopen = 0;
|
240 |
-
$this->zipfiles_lastwritetime = time();
|
241 |
// Call here, in case we've got so many big files that we don't complete the whole routine
|
242 |
-
if (filesize($zipfile) > $before_size)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
243 |
clearstatcache();
|
|
|
244 |
}
|
245 |
}
|
246 |
$this->zipfiles_added++;
|
247 |
// Don't call something_useful_happened() here - nothing necessarily happens until close() is called
|
248 |
if ($this->zipfiles_added % 100 == 0) $updraftplus->log("Zip: ".basename($zipfile).": ".$this->zipfiles_added." files added (on-disk size: ".round(filesize($zipfile)/1024,1)." Kb)");
|
249 |
}
|
|
|
250 |
// Reset the array
|
251 |
$this->zipfiles_batched = array();
|
252 |
$ret = $zip->close();
|
@@ -264,6 +487,21 @@ class UpdraftPlus_Backup {
|
|
264 |
|
265 |
if ($whichone != "others") $updraftplus->log("Beginning creation of dump of $whichone");
|
266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
$full_path = $create_in_dir.'/'.$backup_file_basename.'-'.$whichone.'.zip';
|
268 |
$time_now = time();
|
269 |
|
@@ -305,10 +543,11 @@ class UpdraftPlus_Backup {
|
|
305 |
$kbsize = filesize($full_path)/1024;
|
306 |
$rate = round($kbsize/$timetaken, 1);
|
307 |
$updraftplus->log("Created $whichone zip - file size is ".round($kbsize,1)." Kb in ".round($timetaken,1)." s ($rate Kb/s)");
|
|
|
|
|
308 |
}
|
309 |
|
310 |
return basename($full_path);
|
311 |
}
|
312 |
|
313 |
-
|
314 |
-
}
|
19 |
|
20 |
var $zip_preferpcl = false;
|
21 |
|
22 |
+
var $binzip = false;
|
23 |
+
|
24 |
// This function recursively packs the zip, dereferencing symlinks but packing into a single-parent tree for universal unpacking
|
25 |
function makezip_recursive_add($zipfile, $fullpath, $use_path_when_storing, $original_fullpath) {
|
26 |
|
111 |
if ($this->zip_preferpcl || (!extension_loaded('zip') && !method_exists('ZipArchive', 'AddFile'))) {
|
112 |
if(!class_exists('PclZip')) require_once(ABSPATH.'/wp-admin/includes/class-pclzip.php');
|
113 |
$zip_object = new PclZip($destination);
|
114 |
+
// TODO: WP_CONTENT_DIR: may not apply
|
115 |
$zipcode = $zip_object->create($source, PCLZIP_OPT_REMOVE_PATH, WP_CONTENT_DIR);
|
116 |
if ($zipcode == 0 ) {
|
117 |
+
$updraftplus->log("PclZip Error: ".$zip_object->errorInfo(true));
|
118 |
return $zip_object->errorCode();
|
119 |
} else {
|
120 |
return true;
|
121 |
}
|
122 |
}
|
123 |
|
124 |
+
// TODO: Experimental: make live
|
125 |
+
if (defined('UPDRAFTPLUS_EXPERIMENTAL_BINZIP') && UPDRAFTPLUS_EXPERIMENTAL_BINZIP == true && $this->binzip === false) {
|
126 |
+
$updraftplus->log('Checking if we have a zip executable available');
|
127 |
+
$binzip = $updraftplus->find_working_bin_zip();
|
128 |
+
if (is_string($binzip)) {
|
129 |
+
$updraftplus->log("Found one: $binzip");
|
130 |
+
$this->binzip = $binzip;
|
131 |
+
}
|
132 |
+
}
|
133 |
+
|
134 |
+
// TODO: Handle stderr?
|
135 |
+
if (defined('UPDRAFTPLUS_EXPERIMENTAL_BINZIP') && UPDRAFTPLUS_EXPERIMENTAL_BINZIP == true && is_string($this->binzip)) {
|
136 |
+
|
137 |
+
if (is_string($source)) $source = array($source);
|
138 |
+
|
139 |
+
$all_ok = true;
|
140 |
+
|
141 |
+
$debug = UpdraftPlus_Options::get_updraft_option('updraft_debug_mode');
|
142 |
+
|
143 |
+
# Don't use -q, as we rely on output to process to detect useful activity
|
144 |
+
# Don't use -v either: the extra logging makes things much slower
|
145 |
+
$zip_params = ($debug) ? '-v' : '';
|
146 |
+
|
147 |
+
$orig_size = file_exists($destination) ? filesize($destination) : 0;
|
148 |
+
clearstatcache();
|
149 |
+
|
150 |
+
foreach ($source as $s) {
|
151 |
+
|
152 |
+
$exec = "cd ".escapeshellarg(dirname($s))."; /usr/bin/zip $zip_params -u -r ".escapeshellarg($destination)." ".escapeshellarg(basename($s))." ";
|
153 |
+
|
154 |
+
$updraftplus->log("Attempting binary zip ($exec)");
|
155 |
+
|
156 |
+
$handle = popen($exec, "r");
|
157 |
+
|
158 |
+
$something_useful_happened = $updraftplus->something_useful_happened;
|
159 |
+
|
160 |
+
if ($handle) {
|
161 |
+
while (!feof($handle)) {
|
162 |
+
$w = fgets($handle, 1024);
|
163 |
+
if ($w && $debug) $updraftplus->log("Output from zip: ".trim($w), false);
|
164 |
+
if (!$something_useful_happened && file_exists($destination)) {
|
165 |
+
$new_size = filesize($destination);
|
166 |
+
if ($new_size > $orig_size + 20) {
|
167 |
+
$updraftplus->something_useful_happened();
|
168 |
+
$something_useful_happened = true;
|
169 |
+
}
|
170 |
+
clearstatcache();
|
171 |
+
}
|
172 |
+
}
|
173 |
+
$ret = pclose($handle);
|
174 |
+
if ($ret != 0) {
|
175 |
+
$updraftplus->log("Binary zip: error (code: $ret)");
|
176 |
+
if ($w && !$debug) $updraftplus->log("Last output from zip: ".trim($w), false);
|
177 |
+
$all_ok = false;
|
178 |
+
}
|
179 |
+
} else {
|
180 |
+
$updraftplus->log("Error: popen failed");
|
181 |
+
$all_ok = false;
|
182 |
+
}
|
183 |
+
|
184 |
+
}
|
185 |
+
|
186 |
+
if ($all_ok) {
|
187 |
+
$updraftplus->log("Binary zip: apparently successful");
|
188 |
+
return true;
|
189 |
+
} else {
|
190 |
+
$updraftplus->log("Binary zip: an error occured, so we will run over again with ZipArchive");
|
191 |
+
}
|
192 |
+
|
193 |
+
}
|
194 |
+
|
195 |
$this->existing_files = array();
|
196 |
|
197 |
// If the file exists, then we should grab its index of files inside, and sizes
|
199 |
if (file_exists($destination) && is_readable($destination)) {
|
200 |
$zip = new ZipArchive;
|
201 |
$zip->open($destination);
|
202 |
+
|
203 |
+
for ($i=0; $i < $zip->numFiles; $i++) {
|
204 |
$si = $zip->statIndex($i);
|
205 |
$name = $si['name'];
|
206 |
$this->existing_files[$name] = $si['size'];
|
207 |
}
|
208 |
+
|
209 |
+
$updraftplus->log(basename($destination).": Zip file already exists, with ".count($this->existing_files)." files");
|
210 |
} elseif (file_exists($destination)) {
|
211 |
$updraftplus->log("Zip file already exists, but is not readable; will remove: $destination");
|
212 |
@unlink($destination);
|
264 |
|
265 |
global $updraftplus;
|
266 |
|
267 |
+
$maxzipbatch = $updraftplus->jobdata_get('maxzipbatch', 26214400);
|
268 |
+
if ((int)$maxzipbatch < 1) $maxzipbatch = 26214400;
|
269 |
+
|
270 |
// Short-circuit the null case, because we want to detect later if something useful happenned
|
271 |
if (count($this->zipfiles_dirbatched) == 0 && count($this->zipfiles_batched) == 0) return true;
|
272 |
|
274 |
|
275 |
$data_added_since_reopen = 0;
|
276 |
|
277 |
+
$zip = new ZipArchive;
|
278 |
if (file_exists($zipfile)) {
|
279 |
$opencode = $zip->open($zipfile);
|
280 |
$original_size = filesize($zipfile);
|
289 |
while ($dir = array_pop($this->zipfiles_dirbatched)) {
|
290 |
$zip->addEmptyDir($dir);
|
291 |
}
|
292 |
+
|
293 |
foreach ($this->zipfiles_batched as $file => $add_as) {
|
294 |
$fsize = filesize($file);
|
295 |
+
|
296 |
+
$sofar = 0;
|
297 |
+
|
298 |
if (!isset($this->existing_files[$add_as]) || $this->existing_files[$add_as] != $fsize) {
|
299 |
|
300 |
@touch($zipfile);
|
301 |
$zip->addFile($file, $add_as);
|
302 |
+
$sofar++;
|
303 |
|
304 |
$data_added_since_reopen += $fsize;
|
305 |
# 25Mb - force a write-out and re-open
|
306 |
+
if ($data_added_since_reopen > $maxzipbatch || (time() - $this->zipfiles_lastwritetime) > 1.5) {
|
307 |
+
|
308 |
+
$something_useful_sizetest = false;
|
309 |
|
310 |
$before_size = filesize($zipfile);
|
311 |
clearstatcache();
|
312 |
|
313 |
+
if ($data_added_since_reopen > $maxzipbatch) {
|
314 |
+
|
315 |
+
$something_useful_sizetest = true;
|
316 |
+
|
317 |
+
$updraftplus->log("Adding batch to zip file: over ".round($maxzipbatch/1048576,1)." Mb added on this batch (".round($data_added_since_reopen/1048576,1)." Mb, ".count($this->zipfiles_batched)." files batched, $sofar added so far); re-opening (prior size: ".round($before_size/1024,1).' Kb)');
|
318 |
+
|
319 |
} else {
|
320 |
+
$updraftplus->log("Adding batch to zip file: over 1.5 seconds have passed since the last write (".round($data_added_since_reopen/1048576,1)." Mb); re-opening (prior size: ".round($before_size/1024,1).' Kb)');
|
321 |
}
|
322 |
if (!$zip->close()) {
|
323 |
+
$updraftplus->log("ZipArchive::Close returned an error");
|
324 |
}
|
325 |
unset($zip);
|
326 |
+
$zip = new ZipArchive;
|
327 |
$opencode = $zip->open($zipfile);
|
328 |
if ($opencode !== true) return array($opencode, 0);
|
|
|
|
|
329 |
// Call here, in case we've got so many big files that we don't complete the whole routine
|
330 |
+
if (filesize($zipfile) > $before_size) {
|
331 |
+
|
332 |
+
# Need to make sure that something_useful_happened() is always called
|
333 |
+
|
334 |
+
# How long since the current run began? If it's taken long (and we're in danger of not making it at all), or if that is forseeable in future because of general slowness, then we should reduce the parameters.
|
335 |
+
if (!$something_useful_sizetest) {
|
336 |
+
$updraftplus->something_useful_happened();
|
337 |
+
} else {
|
338 |
+
|
339 |
+
// Do this as early as possible
|
340 |
+
$updraftplus->something_useful_happened();
|
341 |
+
|
342 |
+
$time_since_began = max(microtime(true)- $this->zipfiles_lastwritetime, 0.000001);
|
343 |
+
$normalised_time_since_began = $time_since_began*($maxzipbatch/$data_added_since_reopen);
|
344 |
+
|
345 |
+
// Don't measure speed until after ZipArchive::close()
|
346 |
+
$rate = round($data_added_since_reopen/$time_since_began, 1);
|
347 |
+
|
348 |
+
$updraftplus->log(sprintf("A useful amount of data was added after this amount of zip processing: %s s (normalised: %s s, rate: %s Kb/s)", round($time_since_began, 1), round($normalised_time_since_began, 1), round($rate/1024, 1)));
|
349 |
+
|
350 |
+
// We want to detect not only that we need to reduce the size of batches, but also the capability to increase them. This is particularly important because of ZipArchive()'s (understandable, given the tendency of PHP processes being terminated without notice) practice of first creating a temporary zip file via copying before acting on that zip file (so the information is atomic). Unfortunately, once the size of the zip file gets over 100Mb, the copy operation beguns to be significant. By the time you've hit 500Mb on many web hosts the copy is the majority of the time taken. So we want to do more in between these copies if possible.
|
351 |
+
|
352 |
+
/* "Could have done more" - detect as:
|
353 |
+
- A batch operation would still leave a "good chunk" of time in a run
|
354 |
+
- "Good chunk" means that the time we took to add the batch is less than 50% of a run time
|
355 |
+
- We can do that on any run after the first (when at least one ceiling on the maximum time is known)
|
356 |
+
- But in the case where a max_execution_time is long (so that resumptions are never needed), and we're always on run 0, we will automatically increase chunk size if the batch took less than 6 seconds.
|
357 |
+
*/
|
358 |
+
|
359 |
+
// At one stage we had a strategy of not allowing check-ins to have more than 20s between them. However, once the zip file got to a certain size, PHP's habit of copying the entire zip file first meant that it *always* went over 18s, and thence a drop in the max size was inevitable - which was bad, because with the copy time being something that only grew, the outcome was less data being copied every time
|
360 |
+
|
361 |
+
// Gather the data. We try not to do this unless necessary (may be time-sensitive)
|
362 |
+
if ($updraftplus->current_resumption >= 1) {
|
363 |
+
$time_passed = $updraftplus->jobdata_get('run_times');
|
364 |
+
if (!is_array($time_passed)) $time_passed = array();
|
365 |
+
list($max_time, $timings_string, $run_times_known) = $updraftplus->max_time_passed($time_passed, $updraftplus->current_resumption-1);
|
366 |
+
} else {
|
367 |
+
$run_times_known = 0;
|
368 |
+
$max_time = -1;
|
369 |
+
}
|
370 |
+
|
371 |
+
// How many is the most seconds we
|
372 |
+
// $max_tolerate_seconds =
|
373 |
+
|
374 |
+
// We set at 18, to allow approximately unexpected 10% extra in the batch to take it to 20s
|
375 |
+
// if (($run_times_known <1 && $normalised_time_since_began > 18) || ($run_times_known >=1 && $normalised_time_since_began > $max_time)) {
|
376 |
+
// TODO: This is disabled via 1==0 - remove it properly
|
377 |
+
if (1==0 && $normalised_time_since_began > 18) {
|
378 |
+
|
379 |
+
// Don't do more than would have accounted for 18 normalised seconds at the same rate
|
380 |
+
// The line below means, do whichever-is-least-of 10% less, or what would have accounted for 18 normalised seconds - but never go lower than 1Mb.
|
381 |
+
$new_maxzipbatch = max( floor(min($maxzipbatch*(18/$normalised_time_since_began), $maxzipbatch*0.9)), 1048576);
|
382 |
+
if ($new_maxzipbatch < $maxzipbatch) {
|
383 |
+
$updraftplus->jobdata_set("maxzipbatch", $new_maxzipbatch);
|
384 |
+
$updraftplus->log("More than 18 (normalised) seconds passed since the last check-in, so we will adjust the amount of data we attempt in each batch (time_passed=$time_since_began, normalised_time_passed=$normalised_time_since_began, old_max_bytes=$maxzipbatch, new_max_bytes=$new_maxzipbatch)");
|
385 |
+
$maxzipbatch = $new_maxzipbatch;
|
386 |
+
} else {
|
387 |
+
$updraftplus->log("More than 18 (normalised) seconds passed since the last check-in, but the zip-writing threshold is already at its lower limit (1Mb), so will not be further reduced (max_bytes=$maxzipbatch, time_passed=$time_since_began, normalised_time_passed=$normalised_time_since_began)");
|
388 |
+
}
|
389 |
+
} else {
|
390 |
+
|
391 |
+
if ($normalised_time_since_began<6 || ($updraftplus->current_resumption >=1 && $run_times_known >=1 && $time_since_began < 0.6*$max_time )) {
|
392 |
+
|
393 |
+
// How much can we increase it by?
|
394 |
+
if ($normalised_time_since_began <6) {
|
395 |
+
if ($run_times_known > 0 && $max_time >0) {
|
396 |
+
$new_maxzipbatch = min(floor(max(
|
397 |
+
$maxzipbatch*6/$normalised_time_since_began, $maxzipbatch*((0.6*$max_time)/$normalised_time_since_began))),
|
398 |
+
200*1024*1024
|
399 |
+
);
|
400 |
+
} else {
|
401 |
+
# Maximum of 200Mb in a batch
|
402 |
+
$new_maxzipbatch = min( floor($maxzipbatch*6/$normalised_time_since_began),
|
403 |
+
200*1024*1024
|
404 |
+
);
|
405 |
+
}
|
406 |
+
} else {
|
407 |
+
// Use up to 60% of available time
|
408 |
+
$new_maxzipbatch = min(
|
409 |
+
floor($maxzipbatch*((0.6*$max_time)/$normalised_time_since_began)),
|
410 |
+
200*1024*1024
|
411 |
+
);
|
412 |
+
}
|
413 |
+
|
414 |
+
# Throttle increases - don't increase by more than 2x in one go - ???
|
415 |
+
# $new_maxzipbatch = floor(min(2*$maxzipbatch, $new_maxzipbatch));
|
416 |
+
# Also don't allow anything that is going to be more than 18 seconds - actually, that's harmful because of the basically fixed time taken to copy the file
|
417 |
+
# $new_maxzipbatch = floor(min(18*$rate ,$new_maxzipbatch));
|
418 |
+
|
419 |
+
// Final sanity check
|
420 |
+
if ($new_maxzipbatch > 1024*1024) $updraftplus->jobdata_set("maxzipbatch", $new_maxzipbatch);
|
421 |
+
|
422 |
+
if ($new_maxzipbatch <= 1024*1024) {
|
423 |
+
$updraftplus->log("Unexpected new_maxzipbatch value obtained (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, old_max_bytes=$maxzipbatch, new_max_bytes=$new_maxzipbatch)");
|
424 |
+
} elseif ($new_maxzipbatch > $maxzipbatch) {
|
425 |
+
$updraftplus->log("Performance is good - will increase the amount of data we attempt to batch (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, old_max_bytes=$maxzipbatch, new_max_bytes=$new_maxzipbatch)");
|
426 |
+
} elseif ($new_maxzipbatch < $maxzipbatch) {
|
427 |
+
// Ironically, we thought we were speedy...
|
428 |
+
$updraftplus->log("Adjust: Reducing maximum amount of batched data (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, new_max_bytes=$new_maxzipbatch, old_max_bytes=$maxzipbatch)");
|
429 |
+
} else {
|
430 |
+
$updraftplus->log("Performance is good - but we will not increase the amount of data we batch, as we are already at the present limit (time=$time_since_began, normalised_time=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, max_bytes=$maxzipbatch)");
|
431 |
+
}
|
432 |
+
|
433 |
+
if ($new_maxzipbatch > 1024*1024) $maxzipbatch = $new_maxzipbatch;
|
434 |
+
}
|
435 |
+
|
436 |
+
// Detect excessive slowness
|
437 |
+
// Don't do this until we're on at least resumption 7, as we want to allow some time for things to settle down and the maxiumum time to be accurately known (since reducing the batch size unnecessarily can itself cause extra slowness, due to PHP's usage of temporary zip files)
|
438 |
+
|
439 |
+
// We use a percentage-based system as much as possible, to avoid the various criteria being in conflict with each other (i.e. a run being both 'slow' and 'fast' at the same time, which is increasingly likely as max_time gets smaller).
|
440 |
+
|
441 |
+
if (!$updraftplus->something_useful_happened && $updraftplus->current_resumption >= 7) {
|
442 |
+
|
443 |
+
$updraftplus->something_useful_happened();
|
444 |
+
|
445 |
+
if ($run_times_known >= 5 && ($time_since_began > 0.8 * $max_time || $time_since_began + 7 > $max_time)) {
|
446 |
+
|
447 |
+
$new_maxzipbatch = max(floor($maxzipbatch*0.8), 20971520);
|
448 |
+
if ($new_maxzipbatch < $maxzipbatch) {
|
449 |
+
$maxzipbatch = $new_maxzipbatch;
|
450 |
+
$updraftplus->jobdata_set("maxzipbatch", $new_maxzipbatch);
|
451 |
+
$updraftplus->log("We are within a small amount of the expected maximum amount of time available; the zip-writing thresholds will be reduced (time_passed=$time_since_began, normalised_time_passed=$normalised_time_since_began, max_time=$max_time, data points known=$run_times_known, old_max_bytes=$maxzipbatch, new_max_bytes=$new_maxzipbatch)");
|
452 |
+
} else {
|
453 |
+
$updraftplus->log("We are within a small amount of the expected maximum amount of time available, but the zip-writing threshold is already at its lower limit (20Mb), so will not be further reduced (max_time=$max_time, data points known=$run_times_known, max_bytes=$maxzipbatch)");
|
454 |
+
}
|
455 |
+
}
|
456 |
+
|
457 |
+
} else {
|
458 |
+
$updraftplus->something_useful_happened();
|
459 |
+
}
|
460 |
+
}
|
461 |
+
}
|
462 |
+
$data_added_since_reopen = 0;
|
463 |
+
}
|
464 |
clearstatcache();
|
465 |
+
$this->zipfiles_lastwritetime = time();
|
466 |
}
|
467 |
}
|
468 |
$this->zipfiles_added++;
|
469 |
// Don't call something_useful_happened() here - nothing necessarily happens until close() is called
|
470 |
if ($this->zipfiles_added % 100 == 0) $updraftplus->log("Zip: ".basename($zipfile).": ".$this->zipfiles_added." files added (on-disk size: ".round(filesize($zipfile)/1024,1)." Kb)");
|
471 |
}
|
472 |
+
|
473 |
// Reset the array
|
474 |
$this->zipfiles_batched = array();
|
475 |
$ret = $zip->close();
|
487 |
|
488 |
if ($whichone != "others") $updraftplus->log("Beginning creation of dump of $whichone");
|
489 |
|
490 |
+
if (is_string($create_from_dir) && !file_exists($create_from_dir)) {
|
491 |
+
$flag_error = true;
|
492 |
+
$updraftplus->log("Does not exist: $create_from_dir");
|
493 |
+
if ('mu-plugins' == $whichone) {
|
494 |
+
if (!function_exists('get_mu_plugins')) require_once(ABSPATH.'wp-admin/includes/plugin.php');
|
495 |
+
$mu_plugins = get_mu_plugins();
|
496 |
+
if (count($mu_plugins) == 0) {
|
497 |
+
$updraftplus->log("There appear to be no mu-plugins to back up. Will not raise an error.");
|
498 |
+
$flag_error = false;
|
499 |
+
}
|
500 |
+
}
|
501 |
+
if ($flag_error) $updraftplus->error(sprintf(__("%s - could not back this entity up; the corresponding directory does not exist (%s)", 'updraftplus'), $whichone, $create_from_dir));
|
502 |
+
return false;
|
503 |
+
}
|
504 |
+
|
505 |
$full_path = $create_in_dir.'/'.$backup_file_basename.'-'.$whichone.'.zip';
|
506 |
$time_now = time();
|
507 |
|
543 |
$kbsize = filesize($full_path)/1024;
|
544 |
$rate = round($kbsize/$timetaken, 1);
|
545 |
$updraftplus->log("Created $whichone zip - file size is ".round($kbsize,1)." Kb in ".round($timetaken,1)." s ($rate Kb/s)");
|
546 |
+
// We can now remove any left-over temporary files from this job
|
547 |
+
$updraftplus->clean_temporary_files('_'.$updraftplus->nonce."-$whichone");
|
548 |
}
|
549 |
|
550 |
return basename($full_path);
|
551 |
}
|
552 |
|
553 |
+
}
|
|
images/dreamobjects_logo-horiz-2013.png
ADDED
Binary file
|
images/rackspacecloud-logo.png
CHANGED
Binary file
|
includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php
CHANGED
@@ -48,6 +48,8 @@ abstract class Dropbox_ConsumerAbstract
|
|
48 |
try {
|
49 |
$this->getAccessToken();
|
50 |
} catch(Dropbox_Exception $e) {
|
|
|
|
|
51 |
$this->getRequestToken();
|
52 |
$this->authorise();
|
53 |
}
|
@@ -78,11 +80,16 @@ abstract class Dropbox_ConsumerAbstract
|
|
78 |
private function authorise()
|
79 |
{
|
80 |
// Only redirect if using CLI
|
81 |
-
if (PHP_SAPI !== 'cli') {
|
82 |
$url = $this->getAuthoriseUrl();
|
83 |
header('Location: ' . $url);
|
84 |
exit;
|
85 |
}
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
|
88 |
/**
|
48 |
try {
|
49 |
$this->getAccessToken();
|
50 |
} catch(Dropbox_Exception $e) {
|
51 |
+
global $updraftplus;
|
52 |
+
$updraftplus->log($e->getMessage().' - need to reauthenticate with Dropbox');
|
53 |
$this->getRequestToken();
|
54 |
$this->authorise();
|
55 |
}
|
80 |
private function authorise()
|
81 |
{
|
82 |
// Only redirect if using CLI
|
83 |
+
if (PHP_SAPI !== 'cli' && (!defined('DOING_CRON') || !DOING_CRON)) {
|
84 |
$url = $this->getAuthoriseUrl();
|
85 |
header('Location: ' . $url);
|
86 |
exit;
|
87 |
}
|
88 |
+
global $updraftplus;
|
89 |
+
$updraftplus->log('Dropbox reauthorisation needed, but running from cron or CLI, so not possible');
|
90 |
+
UpdraftPlus_Options::update_updraft_option("updraft_dropboxtk_request_token",'');
|
91 |
+
$updraftplus->error(sprintf(__('You need to re-authenticate with %s, as your existing credentials are not working.', 'updraftplus'), 'Dropbox'));
|
92 |
+
exit;
|
93 |
}
|
94 |
|
95 |
/**
|
includes/Dropbox/OAuth/Storage/Encrypter.php
CHANGED
@@ -32,7 +32,7 @@ class Dropbox_Encrypter
|
|
32 |
public function __construct($key)
|
33 |
{
|
34 |
if (!extension_loaded('mcrypt')) {
|
35 |
-
throw new Dropbox_Exception('The storage encrypter requires the MCrypt extension');
|
36 |
} elseif (($length = mb_strlen($key, '8bit')) !== self::KEY_SIZE) {
|
37 |
throw new Dropbox_Exception('Expecting a ' . self::KEY_SIZE . ' byte key, got ' . $length);
|
38 |
} else {
|
@@ -48,15 +48,22 @@ class Dropbox_Encrypter
|
|
48 |
*/
|
49 |
public function encrypt($token)
|
50 |
{
|
|
|
51 |
// Only MCRYPT_RAND is available on Windows prior to PHP 5.3
|
52 |
if (version_compare(phpversion(), '5.3.0', '<') && strtoupper(substr(php_uname('s'), 0, 3)) === 'WIN') {
|
53 |
$crypt_source = MCRYPT_RAND;
|
54 |
} elseif (@is_readable("/dev/urandom")) {
|
|
|
55 |
$crypt_source = MCRYPT_DEV_URANDOM;
|
56 |
} else {
|
57 |
$crypt_source = MCRYPT_RAND;
|
58 |
}
|
59 |
-
$iv = mcrypt_create_iv(self::IV_SIZE, $crypt_source);
|
|
|
|
|
|
|
|
|
|
|
60 |
$cipherText = @mcrypt_encrypt(self::CIPHER, $this->key, $token, self::MODE, $iv);
|
61 |
return base64_encode($iv . $cipherText);
|
62 |
}
|
32 |
public function __construct($key)
|
33 |
{
|
34 |
if (!extension_loaded('mcrypt')) {
|
35 |
+
throw new Dropbox_Exception('The storage encrypter requires the PHP MCrypt extension to be available. Please check your PHP configuration.');
|
36 |
} elseif (($length = mb_strlen($key, '8bit')) !== self::KEY_SIZE) {
|
37 |
throw new Dropbox_Exception('Expecting a ' . self::KEY_SIZE . ' byte key, got ' . $length);
|
38 |
} else {
|
48 |
*/
|
49 |
public function encrypt($token)
|
50 |
{
|
51 |
+
// This now sends all Windows users to MCRYPT_RAND - used to send PHP>5.3 to MCRYPT_DEV_URANDOM, but we came across a user this failed for
|
52 |
// Only MCRYPT_RAND is available on Windows prior to PHP 5.3
|
53 |
if (version_compare(phpversion(), '5.3.0', '<') && strtoupper(substr(php_uname('s'), 0, 3)) === 'WIN') {
|
54 |
$crypt_source = MCRYPT_RAND;
|
55 |
} elseif (@is_readable("/dev/urandom")) {
|
56 |
+
// Note that is_readable is not a true test of whether the mcrypt_create_iv call would work, because when open_basedir restrictions exist, is_readable returns false, but mcrypt_create_iv is not subject to that restriction internally, so would actually have succeeded.
|
57 |
$crypt_source = MCRYPT_DEV_URANDOM;
|
58 |
} else {
|
59 |
$crypt_source = MCRYPT_RAND;
|
60 |
}
|
61 |
+
$iv = @mcrypt_create_iv(self::IV_SIZE, $crypt_source);
|
62 |
+
|
63 |
+
if ($iv === false && $crypt_source != MCRYPT_RAND) {
|
64 |
+
$iv = mcrypt_create_iv(self::IV_SIZE, MCRYPT_RAND);
|
65 |
+
}
|
66 |
+
|
67 |
$cipherText = @mcrypt_encrypt(self::CIPHER, $this->key, $token, self::MODE, $iv);
|
68 |
return base64_encode($iv . $cipherText);
|
69 |
}
|
includes/S3.php
CHANGED
@@ -496,7 +496,12 @@ class S3
|
|
496 |
return false;
|
497 |
} elseif (isset($rest->response->body))
|
498 |
{
|
499 |
-
|
|
|
|
|
|
|
|
|
|
|
500 |
return (string) $body->UploadId;
|
501 |
}
|
502 |
|
@@ -2048,7 +2053,7 @@ final class S3Request
|
|
2048 |
$this->resource
|
2049 |
);
|
2050 |
}
|
2051 |
-
|
2052 |
|
2053 |
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
2054 |
curl_setopt($curl, CURLOPT_HEADER, false);
|
496 |
return false;
|
497 |
} elseif (isset($rest->response->body))
|
498 |
{
|
499 |
+
// DreamObjects already returns a SimpleXMLElement here. Not sure how that works.
|
500 |
+
if (is_a($rest->response->body, 'SimpleXMLElement')) {
|
501 |
+
$body = $rest->response->body;
|
502 |
+
} else {
|
503 |
+
$body = new SimpleXMLElement($rest->response->body);
|
504 |
+
}
|
505 |
return (string) $body->UploadId;
|
506 |
}
|
507 |
|
2053 |
$this->resource
|
2054 |
);
|
2055 |
}
|
2056 |
+
}
|
2057 |
|
2058 |
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
|
2059 |
curl_setopt($curl, CURLOPT_HEADER, false);
|
includes/images/ui-bg_diagonals-thick_18_b81900_40x40.png
ADDED
Binary file
|
includes/images/ui-bg_diagonals-thick_20_666666_40x40.png
ADDED
Binary file
|
includes/images/ui-bg_flat_10_000000_40x100.png
ADDED
Binary file
|
includes/images/ui-bg_glass_100_f6f6f6_1x400.png
ADDED
Binary file
|
includes/images/ui-bg_glass_100_fdf5ce_1x400.png
ADDED
Binary file
|
includes/images/ui-bg_glass_65_ffffff_1x400.png
ADDED
Binary file
|
includes/images/ui-bg_gloss-wave_35_f6a828_500x100.png
ADDED
Binary file
|
includes/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
ADDED
Binary file
|
includes/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
ADDED
Binary file
|
includes/images/ui-icons_222222_256x240.png
ADDED
Binary file
|
includes/images/ui-icons_228ef1_256x240.png
ADDED
Binary file
|
includes/images/ui-icons_ef8c08_256x240.png
ADDED
Binary file
|
includes/images/ui-icons_ffd27a_256x240.png
ADDED
Binary file
|
includes/images/ui-icons_ffffff_256x240.png
ADDED
Binary file
|
includes/updraft-restorer.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?php
|
2 |
class Updraft_Restorer extends WP_Upgrader {
|
3 |
|
|
|
|
|
4 |
function backup_strings() {
|
5 |
$this->strings['not_possible'] = __('UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually.','updraftplus');
|
6 |
$this->strings['no_package'] = __('Backup file not available.','updraftplus');
|
@@ -16,6 +18,7 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
16 |
$this->strings['old_move_failed'] = __('Could not delete old directory.','updraftplus');
|
17 |
$this->strings['new_move_failed'] = __('Could not move new directory into place. Check your wp-content/upgrade folder.','updraftplus');
|
18 |
$this->strings['delete_failed'] = __('Failed to delete working directory after restoring.','updraftplus');
|
|
|
19 |
}
|
20 |
|
21 |
// This returns a wp_filesystem location (and we musn't change that, as we must retain compatibility with the class parent)
|
@@ -100,7 +103,8 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
100 |
// The only purpose of the $type parameter is 1) to detect 'others' and apply a historical bugfix 2) to detect wpcore, and apply the setting for what to do with wp-config.php
|
101 |
// Must use only wp_filesystem
|
102 |
// $dest_dir must already have a trailing slash
|
103 |
-
|
|
|
104 |
|
105 |
global $wp_filesystem;
|
106 |
|
@@ -136,11 +140,11 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
136 |
if (!in_array($file, $do_not_overwrite)) {
|
137 |
# First, move the existing one, if necessary (may not be present)
|
138 |
if ($wp_filesystem->exists($dest_dir.$file)) {
|
139 |
-
if ($
|
140 |
if ( !$wp_filesystem->move($dest_dir.$file, $dest_dir.$file.'-old', true) ) {
|
141 |
return new WP_Error('old_move_failed', $this->strings['old_move_failed']." (wp-content/$file)");
|
142 |
}
|
143 |
-
}
|
144 |
if (!$wp_filesystem->delete($dest_dir.$file, true)) {
|
145 |
return new WP_Error('old_delete_failed', $this->strings['old_delete_failed']." ($file)");
|
146 |
}
|
@@ -150,8 +154,15 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
150 |
}
|
151 |
}
|
152 |
# Now, move in the new one
|
153 |
-
if (
|
154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
155 |
}
|
156 |
}
|
157 |
}
|
@@ -161,6 +172,11 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
161 |
|
162 |
}
|
163 |
|
|
|
|
|
|
|
|
|
|
|
164 |
// $backup_file is just the basename
|
165 |
function restore_backup($backup_file, $type, $service, $info) {
|
166 |
|
@@ -169,7 +185,7 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
169 |
return;
|
170 |
}
|
171 |
|
172 |
-
global $wp_filesystem;
|
173 |
$this->init();
|
174 |
$this->backup_strings();
|
175 |
|
@@ -177,6 +193,7 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
177 |
if(!$res) exit;
|
178 |
|
179 |
$wp_dir = trailingslashit($wp_filesystem->abspath());
|
|
|
180 |
|
181 |
@set_time_limit(1800);
|
182 |
|
@@ -192,16 +209,62 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
192 |
if (is_wp_error($working_dir)) return $working_dir;
|
193 |
$working_dir_filesystem = WP_CONTENT_DIR.'/upgrade/'.basename($working_dir);
|
194 |
|
|
|
|
|
|
|
|
|
195 |
@set_time_limit(1800);
|
196 |
|
197 |
-
if ($type == 'others'
|
198 |
|
199 |
$dirname = basename($info['path']);
|
200 |
|
201 |
// In this special case, the backup contents are not in a folder, so it is not simply a case of moving the folder around, but rather looping over all that we find
|
202 |
|
203 |
-
$this->move_backup_in($working_dir, $
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
204 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
205 |
} elseif ('db' == $type) {
|
206 |
|
207 |
do_action('updraftplus_restore_db_pre');
|
@@ -256,11 +319,53 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
256 |
|
257 |
$start_time = microtime(true);
|
258 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
while (!gzeof($dbhandle)) {
|
260 |
// Up to 1Mb
|
261 |
$buffer = rtrim(gzgets($dbhandle, 1048576));
|
262 |
// Discard comments
|
263 |
-
if (substr($buffer, 0, 1) == '#'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
264 |
|
265 |
$sql_line .= $buffer;
|
266 |
|
@@ -270,10 +375,67 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
270 |
$line++;
|
271 |
|
272 |
# The timed overhead of this is negligible
|
273 |
-
if (preg_match('/^\s*
|
274 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
}
|
276 |
-
|
277 |
if ($use_wpdb) {
|
278 |
$req = $wpdb->query($sql_line);
|
279 |
if (!$req) $last_error = $wpdb->last_error;
|
@@ -301,6 +463,9 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
301 |
$sql_line = '';
|
302 |
|
303 |
}
|
|
|
|
|
|
|
304 |
$time_taken = microtime(true) - $start_time;
|
305 |
echo sprintf(__('Finished: lines processed: %d in %.2f seconds','updraftplus'),$line, $time_taken)."<br>";
|
306 |
gzclose($dbhandle);
|
@@ -308,21 +473,29 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
308 |
|
309 |
} else {
|
310 |
|
|
|
|
|
311 |
$dirname = basename($info['path']);
|
312 |
|
313 |
show_message($this->strings['moving_old']);
|
314 |
|
315 |
-
$movedin = apply_filters('updraftplus_restore_movein_'.$type, $working_dir, $wp_dir);
|
316 |
// A filter, to allow add-ons to perform the install of non-standard entities, or to indicate that it's not possible
|
317 |
if ($movedin === false) {
|
318 |
show_message($this->strings['not_possible']);
|
319 |
} elseif ($movedin !== true) {
|
320 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
321 |
return new WP_Error('old_move_failed', $this->strings['old_move_failed']);
|
322 |
}
|
323 |
|
324 |
show_message($this->strings['moving_backup']);
|
325 |
-
if ( !$wp_filesystem->move($working_dir . "/$dirname", $
|
326 |
return new WP_Error('new_move_failed', $this->strings['new_move_failed']);
|
327 |
}
|
328 |
}
|
@@ -337,16 +510,152 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
337 |
switch($type) {
|
338 |
case 'wpcore':
|
339 |
@$wp_filesystem->chmod($wp_dir, FS_CHMOD_DIR);
|
|
|
|
|
340 |
break;
|
341 |
case 'uploads':
|
342 |
-
@$wp_filesystem->chmod($
|
343 |
break;
|
344 |
case 'db':
|
345 |
-
do_action('updraftplus_restored_db');
|
|
|
346 |
break;
|
347 |
default:
|
348 |
-
@$wp_filesystem->chmod($
|
349 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
}
|
351 |
|
352 |
}
|
1 |
<?php
|
2 |
class Updraft_Restorer extends WP_Upgrader {
|
3 |
|
4 |
+
var $ud_backup_is_multisite = -1;
|
5 |
+
|
6 |
function backup_strings() {
|
7 |
$this->strings['not_possible'] = __('UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually.','updraftplus');
|
8 |
$this->strings['no_package'] = __('Backup file not available.','updraftplus');
|
18 |
$this->strings['old_move_failed'] = __('Could not delete old directory.','updraftplus');
|
19 |
$this->strings['new_move_failed'] = __('Could not move new directory into place. Check your wp-content/upgrade folder.','updraftplus');
|
20 |
$this->strings['delete_failed'] = __('Failed to delete working directory after restoring.','updraftplus');
|
21 |
+
$this->strings['multisite_error'] = __('You are running on WordPress multisite - but your backup is not of a multisite site.', 'updraftplus');
|
22 |
}
|
23 |
|
24 |
// This returns a wp_filesystem location (and we musn't change that, as we must retain compatibility with the class parent)
|
103 |
// The only purpose of the $type parameter is 1) to detect 'others' and apply a historical bugfix 2) to detect wpcore, and apply the setting for what to do with wp-config.php
|
104 |
// Must use only wp_filesystem
|
105 |
// $dest_dir must already have a trailing slash
|
106 |
+
// $preserve_existing: 0 = overwrite with no backup; 1 = make backup of existing; 2 = do nothing if there is existing
|
107 |
+
function move_backup_in($working_dir, $dest_dir, $preserve_existing = 1, $do_not_overwrite = array('plugins', 'themes', 'uploads', 'upgrade'), $type = 'not-others', $send_actions = false) {
|
108 |
|
109 |
global $wp_filesystem;
|
110 |
|
140 |
if (!in_array($file, $do_not_overwrite)) {
|
141 |
# First, move the existing one, if necessary (may not be present)
|
142 |
if ($wp_filesystem->exists($dest_dir.$file)) {
|
143 |
+
if ($preserve_existing == 1) {
|
144 |
if ( !$wp_filesystem->move($dest_dir.$file, $dest_dir.$file.'-old', true) ) {
|
145 |
return new WP_Error('old_move_failed', $this->strings['old_move_failed']." (wp-content/$file)");
|
146 |
}
|
147 |
+
} elseif ($preserve_existing == 0) {
|
148 |
if (!$wp_filesystem->delete($dest_dir.$file, true)) {
|
149 |
return new WP_Error('old_delete_failed', $this->strings['old_delete_failed']." ($file)");
|
150 |
}
|
154 |
}
|
155 |
}
|
156 |
# Now, move in the new one
|
157 |
+
if (2 == $preserve_existing && $wp_filesystem->exists($dest_dir.$file)) {
|
158 |
+
# Remove it - so that we are clean later
|
159 |
+
@$wp_filesystem->delete($working_dir.'/'.$file, true);
|
160 |
+
} else {
|
161 |
+
if ($wp_filesystem->move($working_dir . "/".$file, $dest_dir.$file, true) ) {
|
162 |
+
if ($send_actions) do_action('updraftplus_restored_'.$type.'_one', $file);
|
163 |
+
} else {
|
164 |
+
return new WP_Error('new_move_failed', $this->strings['new_move_failed']);
|
165 |
+
}
|
166 |
}
|
167 |
}
|
168 |
}
|
172 |
|
173 |
}
|
174 |
|
175 |
+
function str_replace_once($needle, $replace, $haystack) {
|
176 |
+
$pos = strpos($haystack,$needle);
|
177 |
+
return ($pos !== false) ? substr_replace($haystack,$replace,$pos,strlen($needle)) : $haystack;
|
178 |
+
}
|
179 |
+
|
180 |
// $backup_file is just the basename
|
181 |
function restore_backup($backup_file, $type, $service, $info) {
|
182 |
|
185 |
return;
|
186 |
}
|
187 |
|
188 |
+
global $wp_filesystem, $updraftplus_addons_migrator;
|
189 |
$this->init();
|
190 |
$this->backup_strings();
|
191 |
|
193 |
if(!$res) exit;
|
194 |
|
195 |
$wp_dir = trailingslashit($wp_filesystem->abspath());
|
196 |
+
$wp_content_dir = trailingslashit($wp_filesystem->wp_content_dir());
|
197 |
|
198 |
@set_time_limit(1800);
|
199 |
|
209 |
if (is_wp_error($working_dir)) return $working_dir;
|
210 |
$working_dir_filesystem = WP_CONTENT_DIR.'/upgrade/'.basename($working_dir);
|
211 |
|
212 |
+
global $table_prefix;
|
213 |
+
// We copy the variable because we may be importing with a different prefix (e.g. on multisite imports of individual blog data)
|
214 |
+
$import_table_prefix = $table_prefix;
|
215 |
+
|
216 |
@set_time_limit(1800);
|
217 |
|
218 |
+
if ($type == 'others') {
|
219 |
|
220 |
$dirname = basename($info['path']);
|
221 |
|
222 |
// In this special case, the backup contents are not in a folder, so it is not simply a case of moving the folder around, but rather looping over all that we find
|
223 |
|
224 |
+
$this->move_backup_in($working_dir, $wp_content_dir, true, array('plugins', 'themes', 'uploads', 'upgrade'), 'others');
|
225 |
+
|
226 |
+
} elseif (is_multisite() && $this->ud_backup_is_multisite === 0 && ( ( 'plugins' == $type || 'themes' == $type ) || ( 'uploads' == $type && isset($updraftplus_addons_migrator['new_blogid'])) ) && $wp_filesystem->is_dir($working_dir.'/'.$type)) {
|
227 |
+
# Migrating a single site into a multisite
|
228 |
+
if ('plugins' == $type || 'themes' == $type) {
|
229 |
+
// Only move in entities that are not already there (2)
|
230 |
+
$this->move_backup_in($working_dir.'/'.$type, $wp_content_dir.$type.'/', 2, array(), $type, true);
|
231 |
+
@$wp_filesystem->delete($working_dir.'/'.$type);
|
232 |
+
} else {
|
233 |
+
// Uploads
|
234 |
+
|
235 |
+
show_message($this->strings['moving_old']);
|
236 |
+
|
237 |
+
switch_to_blog($updraftplus_addons_migrator['new_blogid']);
|
238 |
+
|
239 |
+
$ud = wp_upload_dir();
|
240 |
+
$wpud = $ud['basedir'];
|
241 |
+
$fsud = trailingslashit($wp_filesystem->find_folder($wpud));
|
242 |
+
restore_current_blog();
|
243 |
|
244 |
+
// TODO: What is below will move the entire uploads directory if blog id is 1. Detect this situation. (Can that happen? We created a new blog, so should not be possible).
|
245 |
+
|
246 |
+
// TODO: the upload dir is not necessarily reachable through wp_filesystem - try ordinary method instead
|
247 |
+
if (is_string($fsud)) {
|
248 |
+
// This is not expected to exist, since we created a new blog
|
249 |
+
|
250 |
+
if ( $wp_filesystem->exists($fsud) && !$wp_filesystem->move($fsud, untrailingslashit($fsud)."-old", true) ) {
|
251 |
+
return new WP_Error('old_move_failed', $this->strings['old_move_failed']);
|
252 |
+
}
|
253 |
+
|
254 |
+
show_message($this->strings['moving_backup']);
|
255 |
+
|
256 |
+
if ( !$wp_filesystem->move($working_dir . "/".$type, $fsud, true) ) {
|
257 |
+
return new WP_Error('new_move_failed', $this->strings['new_move_failed']);
|
258 |
+
}
|
259 |
+
/*
|
260 |
+
$this->move_backup_in($working_dir.'/'.$type, $wp_content_dir.$type.'/', 1, array(), $type);
|
261 |
+
@$wp_filesystem->delete($working_dir.'/'.$type);*/
|
262 |
+
} else {
|
263 |
+
return new WP_Error('move_failed', $this->strings['new_move_failed']);
|
264 |
+
}
|
265 |
+
|
266 |
+
|
267 |
+
}
|
268 |
} elseif ('db' == $type) {
|
269 |
|
270 |
do_action('updraftplus_restore_db_pre');
|
319 |
|
320 |
$start_time = microtime(true);
|
321 |
|
322 |
+
// TODO: Print a warning if restoring to a different WP version
|
323 |
+
$old_wpversion = '';
|
324 |
+
$old_siteurl = '';
|
325 |
+
$old_table_prefix = '';
|
326 |
+
$old_siteinfo = array();
|
327 |
+
$gathering_siteinfo = true;
|
328 |
+
|
329 |
+
$restoring_table = '';
|
330 |
+
|
331 |
while (!gzeof($dbhandle)) {
|
332 |
// Up to 1Mb
|
333 |
$buffer = rtrim(gzgets($dbhandle, 1048576));
|
334 |
// Discard comments
|
335 |
+
if (empty($buffer) || substr($buffer, 0, 1) == '#') {
|
336 |
+
if ('' == $old_siteurl && preg_match('/^\# Backup of: (http(.*))$/', $buffer, $matches)) {
|
337 |
+
$old_siteurl = $matches[1];
|
338 |
+
echo '<strong>'.__('Backup of:', 'updraftplus').'</strong> '.htmlspecialchars($old_siteurl).'<br>';
|
339 |
+
do_action('updraftplus_restore_db_record_old_siteurl', $old_siteurl);
|
340 |
+
} elseif ('' == $old_table_prefix && preg_match('/^\# Table prefix: (\S+)$/', $buffer, $matches)) {
|
341 |
+
$old_table_prefix = $matches[1];
|
342 |
+
echo '<strong>'.__('Old table prefix:', 'updraftplus').'</strong> '.htmlspecialchars($old_table_prefix).'<br>';
|
343 |
+
} elseif ($gathering_siteinfo && preg_match('/^\# Site info: (\S+)$/', $buffer, $matches)) {
|
344 |
+
if ('end' == $matches[1]) {
|
345 |
+
$gathering_siteinfo = false;
|
346 |
+
// Sanity checks
|
347 |
+
if (isset($old_siteinfo['multisite']) && !$old_siteinfo['multisite'] && is_multisite()) {
|
348 |
+
// Just need to check that you're crazy
|
349 |
+
if (!defined('UPDRAFTPLUS_EXPERIMENTAL_IMPORTINTOMULTISITE') || UPDRAFTPLUS_EXPERIMENTAL_IMPORTINTOMULTISITE != true) {
|
350 |
+
return new WP_Error('multisite_error', $this->strings['multisite_error']);
|
351 |
+
}
|
352 |
+
// Got the needed code?
|
353 |
+
if (!class_exists('UpdraftPlusAddOn_MultiSite') || !class_exists('UpdraftPlus_Addons_Migrator')) {
|
354 |
+
return new WP_Error('missing_addons', __('To import an ordinary WordPress site into a multisite installation requires both the multisite and migrator add-ons.', 'updraftplus'));
|
355 |
+
}
|
356 |
+
}
|
357 |
+
} elseif (preg_match('/^([^=]+)=(.*)$/', $matches[1], $kvmatches)) {
|
358 |
+
$key = $kvmatches[1];
|
359 |
+
$val = $kvmatches[2];
|
360 |
+
echo '<strong>'.__('Site information:','updraftplus').'</strong>'.' '.htmlspecialchars($key).' = '.htmlspecialchars($val).'<br>';
|
361 |
+
$old_siteinfo[$key]=$val;
|
362 |
+
if ('multisite') {
|
363 |
+
if ($val) { $this->ud_backup_is_multisite=1; } else { $this->ud_backup_is_multisite = 0;}
|
364 |
+
}
|
365 |
+
}
|
366 |
+
}
|
367 |
+
continue;
|
368 |
+
}
|
369 |
|
370 |
$sql_line .= $buffer;
|
371 |
|
375 |
$line++;
|
376 |
|
377 |
# The timed overhead of this is negligible
|
378 |
+
if (preg_match('/^\s*drop table if exists \`?([^\`]*)\`?\s*;/i', $sql_line, $matches)) {
|
379 |
+
|
380 |
+
if (!isset($printed_new_table_prefix)) {
|
381 |
+
$import_table_prefix = $this->pre_sql_actions($import_table_prefix);
|
382 |
+
if (false===$import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix;
|
383 |
+
$printed_new_table_prefix = true;
|
384 |
+
}
|
385 |
+
|
386 |
+
$table_name = $matches[1];
|
387 |
+
// Legacy, less reliable - in case it was not caught before
|
388 |
+
if ($old_table_prefix == '' && preg_match('/^([a-z0-9]+)_.*$/i', $table_name, $tmatches)) {
|
389 |
+
$old_table_prefix = $tmatches[1].'_';
|
390 |
+
echo '<strong>'.__('Old table prefix:', 'updraftplus').'</strong> '.htmlspecialchars($old_table_prefix).'<br>';
|
391 |
+
}
|
392 |
+
if ('' != $old_table_prefix && $import_table_prefix != $old_table_prefix) {
|
393 |
+
$sql_line = $this->str_replace_once($old_table_prefix, $import_table_prefix, $sql_line);
|
394 |
+
}
|
395 |
+
} elseif (preg_match('/^\s*create table \`?([^\`\(]*)\`?\s*\(/i', $sql_line, $matches)) {
|
396 |
+
|
397 |
+
if (!isset($printed_new_table_prefix)) {
|
398 |
+
$import_table_prefix = $this->pre_sql_actions($import_table_prefix);
|
399 |
+
if (false===$import_table_prefix || is_wp_error($import_table_prefix)) return $import_table_prefix;
|
400 |
+
$printed_new_table_prefix = true;
|
401 |
+
}
|
402 |
+
|
403 |
+
if ($restoring_table) {
|
404 |
+
|
405 |
+
$this->restored_table($restoring_table, $import_table_prefix, $old_table_prefix);
|
406 |
+
|
407 |
+
// After restoring the options table, we can set old_siteurl if on legacy (i.e. not already set)
|
408 |
+
if ($restoring_table == $import_table_prefix.'options') {
|
409 |
+
|
410 |
+
if ('' == $old_siteurl) {
|
411 |
+
global $updraftplus_addons_migrator;
|
412 |
+
if (isset($updraftplus_addon_migrator['new_blogid'])) switch_to_blog($updraftplus_addon_migrator['new_blogid']);
|
413 |
+
|
414 |
+
$old_siteurl = $wpdb->get_row("SELECT option_value FROM $wpdb->options WHERE option_name='siteurl'")->option_value;
|
415 |
+
do_action('updraftplus_restore_db_record_old_siteurl', $old_siteurl);
|
416 |
+
|
417 |
+
if (isset($updraftplus_addon_migrator['new_blogid'])) restore_current_blog();
|
418 |
+
}
|
419 |
+
|
420 |
+
}
|
421 |
+
|
422 |
+
}
|
423 |
+
|
424 |
+
$table_name = $matches[1];
|
425 |
+
echo '<strong>'.__('Restoring table','updraftplus').":</strong> ".htmlspecialchars($table_name);
|
426 |
+
if ('' != $old_table_prefix && $import_table_prefix != $old_table_prefix) {
|
427 |
+
$new_table_name = $this->str_replace_once($old_table_prefix, $import_table_prefix, $table_name);
|
428 |
+
echo ' - '.__('will restore as:', 'updraftplus').' '.htmlspecialchars($new_table_name);
|
429 |
+
$sql_line = $this->str_replace_once($old_table_prefix, $import_table_prefix, $sql_line);
|
430 |
+
} else {
|
431 |
+
$new_table_name = $table_name;
|
432 |
+
}
|
433 |
+
$restoring_table = $new_table_name;
|
434 |
+
echo '<br>';
|
435 |
+
} elseif ('' != $old_table_prefix && preg_match('/^\s*insert into \`?([^\`]*)\`?\s+values/i', $sql_line, $matches)) {
|
436 |
+
if ($import_table_prefix != $old_table_prefix) $sql_line = $this->str_replace_once($old_table_prefix, $import_table_prefix, $sql_line);
|
437 |
}
|
438 |
+
|
439 |
if ($use_wpdb) {
|
440 |
$req = $wpdb->query($sql_line);
|
441 |
if (!$req) $last_error = $wpdb->last_error;
|
463 |
$sql_line = '';
|
464 |
|
465 |
}
|
466 |
+
|
467 |
+
if ($restoring_table) $this->restored_table($restoring_table, $import_table_prefix, $old_table_prefix);
|
468 |
+
|
469 |
$time_taken = microtime(true) - $start_time;
|
470 |
echo sprintf(__('Finished: lines processed: %d in %.2f seconds','updraftplus'),$line, $time_taken)."<br>";
|
471 |
gzclose($dbhandle);
|
473 |
|
474 |
} else {
|
475 |
|
476 |
+
// Default action: used for plugins, themes and uploads
|
477 |
+
|
478 |
$dirname = basename($info['path']);
|
479 |
|
480 |
show_message($this->strings['moving_old']);
|
481 |
|
482 |
+
$movedin = apply_filters('updraftplus_restore_movein_'.$type, $working_dir, $wp_dir, $wp_content_dir);
|
483 |
// A filter, to allow add-ons to perform the install of non-standard entities, or to indicate that it's not possible
|
484 |
if ($movedin === false) {
|
485 |
show_message($this->strings['not_possible']);
|
486 |
} elseif ($movedin !== true) {
|
487 |
+
if ($wp_filesystem->exists($wp_content_dir.$dirname."-old")) {
|
488 |
+
// Is better to warn and delete the backup than abort mid-restore and leave inconsistent site
|
489 |
+
echo $wp_content_dir.$dirname."-old: ".__('This directory already exists, and will be replaced', 'updraftplus').'<br>';
|
490 |
+
# In theory, supply true as the 3rd parameter of true achieves this; in practice, not always so (leads to support requests)
|
491 |
+
$wp_filesystem->delete($wp_content_dir.$dirname."-old", true);
|
492 |
+
}
|
493 |
+
if ( !$wp_filesystem->move($wp_content_dir . $dirname, $wp_content_dir."$dirname-old", false) ) {
|
494 |
return new WP_Error('old_move_failed', $this->strings['old_move_failed']);
|
495 |
}
|
496 |
|
497 |
show_message($this->strings['moving_backup']);
|
498 |
+
if ( !$wp_filesystem->move($working_dir . "/$dirname", $wp_content_dir.$dirname, true) ) {
|
499 |
return new WP_Error('new_move_failed', $this->strings['new_move_failed']);
|
500 |
}
|
501 |
}
|
510 |
switch($type) {
|
511 |
case 'wpcore':
|
512 |
@$wp_filesystem->chmod($wp_dir, FS_CHMOD_DIR);
|
513 |
+
// In case we restored a .htaccess which is incorrect for the local setup
|
514 |
+
$this->flush_rewrite_rules();
|
515 |
break;
|
516 |
case 'uploads':
|
517 |
+
@$wp_filesystem->chmod($wp_content_dir.$dirname, 0775, true);
|
518 |
break;
|
519 |
case 'db':
|
520 |
+
do_action('updraftplus_restored_db', array('expected_oldsiteurl' => $old_siteurl), $import_table_prefix);
|
521 |
+
$this->flush_rewrite_rules();
|
522 |
break;
|
523 |
default:
|
524 |
+
@$wp_filesystem->chmod($wp_content_dir.$dirname, FS_CHMOD_DIR);
|
525 |
}
|
526 |
+
|
527 |
+
return true;
|
528 |
+
|
529 |
+
}
|
530 |
+
|
531 |
+
function pre_sql_actions($import_table_prefix) {
|
532 |
+
|
533 |
+
$import_table_prefix = apply_filters('updraftplus_restore_set_table_prefix', $import_table_prefix, $this->ud_backup_is_multisite);
|
534 |
+
|
535 |
+
if (!is_string($import_table_prefix)) {
|
536 |
+
if ($import_table_prefix === false) {
|
537 |
+
echo '<p>'.__('Please supply the requested information, and then continue.', 'updraftplus').'</p>';
|
538 |
+
return false;
|
539 |
+
} else {
|
540 |
+
return new WP_Error('invalid_table_prefix', __('Error:', 'updraftplus').' '.serialize($import_table_prefix));
|
541 |
+
}
|
542 |
+
}
|
543 |
+
|
544 |
+
echo '<strong>'.__('New table prefix:', 'updraftplus').'</strong> '.htmlspecialchars($import_table_prefix).'<br>';
|
545 |
+
|
546 |
+
return $import_table_prefix;
|
547 |
+
|
548 |
+
}
|
549 |
+
|
550 |
+
function option_filter_get($which) {
|
551 |
+
global $wpdb;
|
552 |
+
$row = $wpdb->get_row($wpdb->prepare("SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $which));
|
553 |
+
// Has to be get_row instead of get_var because of funkiness with 0, false, null values
|
554 |
+
if (is_object($row)) {
|
555 |
+
return $row->option_value;
|
556 |
+
}
|
557 |
+
return false;
|
558 |
+
}
|
559 |
+
|
560 |
+
function option_filter_permalink_structure($val) {
|
561 |
+
return $this->option_filter_get('permalink_structure');
|
562 |
+
}
|
563 |
+
|
564 |
+
function option_filter_page_on_front($val) {
|
565 |
+
return $this->option_filter_get('page_on_front');
|
566 |
+
}
|
567 |
+
|
568 |
+
function option_filter_rewrite_rules($val) {
|
569 |
+
return $this->option_filter_get('rewrite_rules');
|
570 |
+
}
|
571 |
+
|
572 |
+
// function option_filter($which) {
|
573 |
+
// if (strpos($which, 'pre_option') !== false) { echo "OPT_FILT: $which<br>\n"; }
|
574 |
+
// return false;
|
575 |
+
// }
|
576 |
+
|
577 |
+
function flush_rewrite_rules() {
|
578 |
+
|
579 |
+
// We have to deal with the fact that the procedures used call get_option, which could be looking at the wrong table prefix, or have the wrong thing cached
|
580 |
+
|
581 |
+
// add_filter('all', array($this, 'option_filter'));
|
582 |
+
|
583 |
+
global $updraftplus_addons_migrator;
|
584 |
+
if (isset($updraftplus_addon_migrator['new_blogid'])) switch_to_blog($updraftplus_addon_migrator['new_blogid']);
|
585 |
+
|
586 |
+
foreach (array('permalink_structure', 'rewrite_rules', 'page_on_front') as $opt) {
|
587 |
+
add_filter('pre_option_'.$opt, array($this, 'option_filter_'.$opt));
|
588 |
+
}
|
589 |
+
|
590 |
+
global $wp_rewrite;
|
591 |
+
$wp_rewrite->init();
|
592 |
+
flush_rewrite_rules(true);
|
593 |
+
|
594 |
+
foreach (array('permalink_structure', 'rewrite_rules', 'page_on_front') as $opt) {
|
595 |
+
remove_filter('pre_option_'.$opt, array($this, 'option_filter_'.$opt));
|
596 |
+
}
|
597 |
+
|
598 |
+
if (isset($updraftplus_addon_migrator['new_blogid'])) restore_current_blog();
|
599 |
+
|
600 |
+
// remove_filter('all', array($this, 'option_filter'));
|
601 |
+
|
602 |
+
}
|
603 |
+
|
604 |
+
function restored_table($table, $import_table_prefix, $old_table_prefix) {
|
605 |
+
|
606 |
+
global $wpdb;
|
607 |
+
|
608 |
+
// WordPress has an option name predicated upon the table prefix. Yuk.
|
609 |
+
if ($table == $import_table_prefix.'options' && $import_table_prefix != $old_table_prefix) {
|
610 |
+
echo sprintf(__('Table prefix has changed: changing %s table field(s) accordingly:', 'updraftplus'),'option').' ';
|
611 |
+
if (false === $wpdb->query("UPDATE $wpdb->options SET option_name='${import_table_prefix}user_roles' WHERE option_name='${old_table_prefix}user_roles' LIMIT 1")) {
|
612 |
+
echo __('Error','updraftplus');
|
613 |
+
} else {
|
614 |
+
echo __('OK', 'updraftplus');
|
615 |
+
}
|
616 |
+
echo '<br>';
|
617 |
+
} elseif ($table == $import_table_prefix.'usermeta' && $import_table_prefix != $old_table_prefix) {
|
618 |
+
|
619 |
+
echo sprintf(__('Table prefix has changed: changing %s table field(s) accordingly:', 'updraftplus'),'usermeta').' ';
|
620 |
+
|
621 |
+
$meta_keys = $wpdb->get_results("SELECT umeta_id, meta_key
|
622 |
+
FROM ${import_table_prefix}usermeta
|
623 |
+
WHERE meta_key
|
624 |
+
LIKE '".str_replace('_', '\_', $old_table_prefix)."%'");
|
625 |
+
|
626 |
+
$old_prefix_length = strlen($old_table_prefix);
|
627 |
+
|
628 |
+
$errors_occurred = false;
|
629 |
+
foreach ($meta_keys as $meta_key ) {
|
630 |
+
|
631 |
+
//Create new meta key
|
632 |
+
$new_meta_key = $import_table_prefix . substr($meta_key->meta_key, $old_prefix_length);
|
633 |
+
|
634 |
+
$query = "UPDATE " . $import_table_prefix . "usermeta
|
635 |
+
SET meta_key='".$new_meta_key."'
|
636 |
+
WHERE umeta_id=".$meta_key->umeta_id;
|
637 |
+
|
638 |
+
if (false === $wpdb->query($query)) {
|
639 |
+
$errors_occurred = true;
|
640 |
+
}
|
641 |
+
|
642 |
+
}
|
643 |
+
if ($errors_occurred) {
|
644 |
+
echo __('Error', 'updraftplus');
|
645 |
+
} else {
|
646 |
+
echo __('OK', 'updraftplus');
|
647 |
+
}
|
648 |
+
echo "<br>";
|
649 |
+
|
650 |
+
}
|
651 |
+
|
652 |
+
do_action('updraftplus_restored_db_table', $table);
|
653 |
+
|
654 |
+
// Re-generate permalinks. Do this last - i.e. make sure everything else is fixed up first.
|
655 |
+
if ($table == $import_table_prefix.'options') {
|
656 |
+
$this->flush_rewrite_rules();
|
657 |
+
}
|
658 |
+
|
659 |
}
|
660 |
|
661 |
}
|
index.html
ADDED
@@ -0,0 +1,67 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
2 |
+
<html>
|
3 |
+
<head>
|
4 |
+
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
|
5 |
+
<title>UpdraftPlus backup/restore/clone/migrate for WordPress</title>
|
6 |
+
</head>
|
7 |
+
<body>
|
8 |
+
|
9 |
+
<h1>UpdraftPlus Backup / Restore / Clone / Migrate plugin for WordPress</h1>
|
10 |
+
|
11 |
+
<div class="block-content"><p><a href="http://updraftplus.com" rel="nofollow">UpdraftPlus, a backup/restore/clone/migration plugin for WordPress</a> simplifies backups (and restoration). Backup into the cloud (Amazon S3, Dropbox, Google Drive, Rackspace Cloud, DreamObjects, FTP, SFTP, WebDAV and email) and restore with a single click. Backups of files and database can have separate schedules.</p>
|
12 |
+
|
13 |
+
<ul>
|
14 |
+
<li>Thousands of users: widely tested and reliable (over 140,000 downloads). Ranks in the top 1% on rankwp.com (228 out of 25,000 plugins).</li>
|
15 |
+
<li>Top-quality: ranks 45th out of 25,000 plugins for quality on rankwp.com (top 0.25% - last checked 23rd May 2013).</li>
|
16 |
+
<li>Supports backups to Amazon S3, Dropbox, Rackspace Cloud Files, Google Drive, DreamHost DreamObjects, FTP and email. Also (via an add-on) FTP over SSL, SFTP and WebDAV. (Note: Microsoft forbid SkyDrive to be used by backup software). </li>
|
17 |
+
<li>Quick restore (both file and database backups)</li>
|
18 |
+
<li>Backup automatically on a repeating schedule</li>
|
19 |
+
<li>Site duplicator/migrator: can copy sites, and (with add-on) move them to new locations</li>
|
20 |
+
<li>Files and databases can have separate schedules</li>
|
21 |
+
<li>Failed uploads are automatically resumed/retried</li>
|
22 |
+
<li>Select which files to backup (plugins, themes, content, other)</li>
|
23 |
+
<li>Select which components of a backup to restore</li>
|
24 |
+
<li>Download backup archives direct from your WordPress dashboard</li>
|
25 |
+
<li>Database backups can be encrypted for security</li>
|
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="http://updraftplus.com" rel="nofollow">http://updraftplus.com</a></li>
|
29 |
+
<li>Tested and supported on all current PHP versions (5.2, 5.3, 5.4)</li>
|
30 |
+
</ul>
|
31 |
+
|
32 |
+
<h4>Don't Risk Anything Less</h4>
|
33 |
+
|
34 |
+
<p>Your backups are worth the same as your entire investment in your website. The day may come when you get hacked, or your hosting company does, or they go bust - without good backups, you lose everything. Do you really want to entrust all your work to plugins with only a few thousand downloads, or that has no professional backup or support? Believe us - writing a reliable backup plugin that works consistently across the huge range of WordPress deployments is hard.</p>
|
35 |
+
|
36 |
+
<h4>UpdraftPlus Addons And Premium</h4>
|
37 |
+
|
38 |
+
<p>UpdraftPlus is not crippled in any way - it is fully functional, with no annoying omissions. What we do have is various extra features, and guaranteed support, available <a href="http://updraftplus.com/" rel="nofollow">from our website, updraftplus.com</a>.</p>
|
39 |
+
|
40 |
+
<p>If you need WordPress multisite compatibility (you'll know if you do), <a href="http://updraftplus.com/shop/" rel="nofollow">then you need UpdraftPlus Premium</a>.</p>
|
41 |
+
|
42 |
+
<h4>Professional / Enterprise support agreements available</h4>
|
43 |
+
|
44 |
+
<p>UpdraftPlus is written by professional WordPress developers. If your site needs guaranteed support, then we are available. Just <a href="http://updraftplus.com/shop/" rel="nofollow">go to our shop.</a></p>
|
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="http://updraftplus.com/translate/" rel="nofollow">http://updraftplus.com/translate/</a>. (Or if you're an expert WordPress translator already, then just pick out the .pot file from the wp-content/plugins/updraftplus/languages/ directory).</p>
|
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 |
+
|
62 |
+
<p>We hang out in the support forum for this plugin - <a href="http://wordpress.org/support/plugin/updraftplus" rel="nofollow">http://wordpress.org/support/plugin/updraftplus</a> - however, to save our time so that we can spend it on development, please read the plugin's Frequently Asked Questions - <a href="http://updraftplus.com/support/frequently-asked-questions/" rel="nofollow">http://updraftplus.com/support/frequently-asked-questions/</a> - before going there, and ensure that you have updated to the latest released version of UpdraftPlus.</p>
|
63 |
+
|
64 |
+
</div>
|
65 |
+
|
66 |
+
</body>
|
67 |
+
</html>
|
languages/updraftplus-it_IT.mo
ADDED
Binary file
|
languages/updraftplus-it_IT.po
ADDED
@@ -0,0 +1,2256 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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: 2013-06-18 14:03:22+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/0.1\n"
|
11 |
+
"Project-Id-Version: UpdraftPlus\n"
|
12 |
+
|
13 |
+
#: addons/migrator.php:447
|
14 |
+
msgid "<strong>Search and replacing table:</strong> %s"
|
15 |
+
msgstr "<strong>Ricerca e sostituizione della tabella:</strong> %s"
|
16 |
+
|
17 |
+
#: addons/migrator.php:93
|
18 |
+
msgid "Site Name:"
|
19 |
+
msgstr "Nome Sito:"
|
20 |
+
|
21 |
+
#: addons/migrator.php:95
|
22 |
+
msgid "Site Domain:"
|
23 |
+
msgstr "Nome Dominio:"
|
24 |
+
|
25 |
+
#: addons/migrator.php:112
|
26 |
+
msgid "Migrated site (from UpdraftPlus)"
|
27 |
+
msgstr "Sito migrato (da UpdraftPlus)"
|
28 |
+
|
29 |
+
#: addons/migrator.php:141
|
30 |
+
msgid "<strong>ERROR</strong>: Site URL already taken."
|
31 |
+
msgstr "<strong>ERRORE</strong>: URL del sito già preso."
|
32 |
+
|
33 |
+
#: addons/migrator.php:148
|
34 |
+
msgid "New site:"
|
35 |
+
msgstr "Nuovo Sito:"
|
36 |
+
|
37 |
+
#: addons/migrator.php:80
|
38 |
+
msgid "Information needed to continue:"
|
39 |
+
msgstr "Informazioni necessarie per continuare:"
|
40 |
+
|
41 |
+
#: addons/migrator.php:81
|
42 |
+
msgid "Please supply the following information:"
|
43 |
+
msgstr "Prego, inserire le seguenti informazioni:"
|
44 |
+
|
45 |
+
#: addons/migrator.php:84
|
46 |
+
msgid "Enter details for where this new site is to live within your multisite install:"
|
47 |
+
msgstr "Inserire i dettagli per il nuovo sito all'interno di una installazione multi-sito:"
|
48 |
+
|
49 |
+
#: addons/migrator.php:38
|
50 |
+
msgid "Processed plugin:"
|
51 |
+
msgstr "Plugin processato:"
|
52 |
+
|
53 |
+
#: addons/migrator.php:46
|
54 |
+
msgid "Network activating theme:"
|
55 |
+
msgstr "Attivazione del tema da rete: "
|
56 |
+
|
57 |
+
#: addons/sftp.php:23
|
58 |
+
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 happenning, then go into the \"Expert Options\" (below) and turn off SSL there."
|
59 |
+
msgstr "Alcuni server pubblicizzano che l'FTP criptato è disponibile, ma poi ritornano un errore di time-out (dopo un lungo periodo di tempo) quando si prova ad utilizzarlo. Se questo dovesse succedere, vai in \"Opzioni Avanzate\" (sotto) e disabilitare SSL."
|
60 |
+
|
61 |
+
#: addons/sftp.php:50
|
62 |
+
msgid "Check your file permissions: Could not successfully create and enter directory:"
|
63 |
+
msgstr "Controlla i tuoi permessi di accesso al file: non è possibile creare ed accedere alla cartella:"
|
64 |
+
|
65 |
+
#: methods/dropbox.php:271
|
66 |
+
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."
|
67 |
+
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."
|
68 |
+
|
69 |
+
#: methods/s3.php:469
|
70 |
+
msgid "Please check your access credentials."
|
71 |
+
msgstr "Si prega di verificare i propri dati di accesso."
|
72 |
+
|
73 |
+
#: methods/s3.php:447
|
74 |
+
msgid "The error reported by %s was:"
|
75 |
+
msgstr "L'errore riportato da %s è:"
|
76 |
+
|
77 |
+
#: includes/updraft-restorer.php:586
|
78 |
+
msgid "Please supply the requested information, and then continue."
|
79 |
+
msgstr "Si prega di fornire le informazioni richieste, e quindi di continuare."
|
80 |
+
|
81 |
+
#: includes/updraft-restorer.php:593
|
82 |
+
msgid "New table prefix:"
|
83 |
+
msgstr "Nuovo prefisso di tabella:"
|
84 |
+
|
85 |
+
#: includes/updraft-restorer.php:490
|
86 |
+
msgid "Cannot drop tables, so deleting instead (%s)"
|
87 |
+
msgstr "Impossibile eliminare le tabelle dal database, la cancellazione avverrà tramite comando DELETE (%s)"
|
88 |
+
|
89 |
+
#: includes/updraft-restorer.php:394
|
90 |
+
msgid "To import an ordinary WordPress site into a multisite installation requires both the multisite and migrator add-ons."
|
91 |
+
msgstr "Per importare un sito WordPress comune in una installazione multi-sito è necessario sia il multisite che il migrator add-on."
|
92 |
+
|
93 |
+
#: includes/updraft-restorer.php:400
|
94 |
+
msgid "Site information:"
|
95 |
+
msgstr "Informazioni sul sito:"
|
96 |
+
|
97 |
+
#: includes/updraft-restorer.php:485
|
98 |
+
msgid "Cannot create new tables, so skipping this command (%s)"
|
99 |
+
msgstr "Impossibile creare nuove tabelle, il comando è tralasciato (%s)"
|
100 |
+
|
101 |
+
#: includes/updraft-restorer.php:350 includes/updraft-restorer.php:365
|
102 |
+
msgid "Warning:"
|
103 |
+
msgstr "Attenzione:"
|
104 |
+
|
105 |
+
#: includes/updraft-restorer.php:350
|
106 |
+
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."
|
107 |
+
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."
|
108 |
+
|
109 |
+
#: includes/updraft-restorer.php:365
|
110 |
+
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"
|
111 |
+
msgstr "Il tuo utente del database non dispone dell'autorizzazione per eliminare tabelle. Cercheremo di ripristinare semplicemente svuotando le tabelle; questo dovrebbe funzionare fino a quando si esegue il ripristino da una versione di WordPress con la stessa struttura del database."
|
112 |
+
|
113 |
+
#: includes/updraft-restorer.php:21
|
114 |
+
msgid "You are running on WordPress multisite - but your backup is not of a multisite site."
|
115 |
+
msgstr "Esecuzione su un sito WordPress multi-sito - ma il tuo backup non è per un sito multi-sito. "
|
116 |
+
|
117 |
+
#: admin.php:2300
|
118 |
+
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."
|
119 |
+
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."
|
120 |
+
|
121 |
+
#: admin.php:1967
|
122 |
+
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."
|
123 |
+
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."
|
124 |
+
|
125 |
+
#: admin.php:1967
|
126 |
+
msgid "Your options are 1) Install/enable %s or 2) Change web hosting companies - %s is a standard PHP component, and required by all cloud backup plugins that we know of."
|
127 |
+
msgstr "Le opzioni disponibili sono: 1) Installare/abilitare %s oppure 2) Cambiare società di web hosting -%s è un componente standard di PHP, ed è richiesto da tutti i plug-in di cloud backup conosciuti."
|
128 |
+
|
129 |
+
#: admin.php:1846
|
130 |
+
msgid "Close"
|
131 |
+
msgstr "Chiudi"
|
132 |
+
|
133 |
+
#: admin.php:1774
|
134 |
+
msgid "Unexpected response:"
|
135 |
+
msgstr "Risposta sconosciuta:"
|
136 |
+
|
137 |
+
#: admin.php:1623
|
138 |
+
msgid "To send to more than one address, separate each address with a comma."
|
139 |
+
msgstr "Per inviare a più di un indirizzo, separate ognuno da una virgola."
|
140 |
+
|
141 |
+
#: admin.php:1351
|
142 |
+
msgid "PHP information"
|
143 |
+
msgstr "Informazioni PHP"
|
144 |
+
|
145 |
+
#: admin.php:1247
|
146 |
+
msgid "show PHP information (phpinfo)"
|
147 |
+
msgstr "Mostra informazioni PHP (phpinfo)"
|
148 |
+
|
149 |
+
#: admin.php:1259
|
150 |
+
msgid "zip executable found:"
|
151 |
+
msgstr "zip eseguibile trovato:"
|
152 |
+
|
153 |
+
#: admin.php:1196
|
154 |
+
msgid "Migrate Site"
|
155 |
+
msgstr "Migrare sito"
|
156 |
+
|
157 |
+
#: admin.php:1200
|
158 |
+
msgid "Migration of data from another site happens through the \"Restore\" button. A \"migration\" is ultimately the same as a restoration - but using backup archives that you import from another site. UpdraftPlus modifies the restoration operation appropriately, to fit the backup data to the new site."
|
159 |
+
msgstr "La migrazione dei dati da un altro sito avviene attraverso il pulsante \"Ripristina\". Un \"migrazione\" è in definitiva la stessa cosa di un ripristino, ma utilizzando gli archivi di backup che si importano da un altro sito. UpdraftPlus modifica l'operazione di ripristino in modo appropriato, per soddisfare i dati di backup al nuovo sito."
|
160 |
+
|
161 |
+
#: admin.php:1200
|
162 |
+
msgid "<a href=\"%s\">Read this article to see step-by-step how it's done.</a>"
|
163 |
+
msgstr "<a href=\"%s\">Leggi questo articolo per vedere passo-passo com'è fatto.</a>"
|
164 |
+
|
165 |
+
#: admin.php:1202
|
166 |
+
msgid "Do you want to migrate or clone/duplicate a site?"
|
167 |
+
msgstr "Vuoi migrare o clonare/duplicare un sito?"
|
168 |
+
|
169 |
+
#: admin.php:1202
|
170 |
+
msgid "Then, try out our \"Migrator\" add-on. After using it once, you'll have saved the purchase price compared to the time needed to copy a site by hand."
|
171 |
+
msgstr "Prova il nostro \"Migrator\" add-on. Dopo averlo usato una volta, avrete ammortizzato il costo di acquisto rispetto al tempo necessario per copiare un sito a mano."
|
172 |
+
|
173 |
+
#: admin.php:1202
|
174 |
+
msgid "Get it here."
|
175 |
+
msgstr "Lo trovi qui."
|
176 |
+
|
177 |
+
#: admin.php:1127
|
178 |
+
msgid "Deleting... please allow time for the communications with the remote storage to complete."
|
179 |
+
msgstr "Eliminazione ... Si prega di lasciare il tempo per le comunicazioni con l'archiviazione remota per completare"
|
180 |
+
|
181 |
+
#: admin.php:1126
|
182 |
+
msgid "Also delete from remote storage"
|
183 |
+
msgstr "Cancellazione anche dall'archiviazione remota"
|
184 |
+
|
185 |
+
#: admin.php:983
|
186 |
+
msgid "Latest UpdraftPlus.com news:"
|
187 |
+
msgstr "Ultime notizie da UpdraftPlus.com:"
|
188 |
+
|
189 |
+
#: admin.php:963
|
190 |
+
msgid "Clone/Migrate"
|
191 |
+
msgstr "Clona/Migra"
|
192 |
+
|
193 |
+
#: admin.php:856
|
194 |
+
msgid "News"
|
195 |
+
msgstr "Notizie"
|
196 |
+
|
197 |
+
#: admin.php:856
|
198 |
+
msgid "Premium"
|
199 |
+
msgstr "Premium"
|
200 |
+
|
201 |
+
#: admin.php:469
|
202 |
+
msgid "Local archives deleted: %d"
|
203 |
+
msgstr "Archivi locali cancellati: %d"
|
204 |
+
|
205 |
+
#: admin.php:470
|
206 |
+
msgid "Remote archives deleted: %d"
|
207 |
+
msgstr "Archivi remoti cancellati: %d"
|
208 |
+
|
209 |
+
#: backup.php:498
|
210 |
+
msgid "%s - could not back this entity up; the corresponding directory does not exist (%s)"
|
211 |
+
msgstr "%s - impossibile eseguire il backup di questo; la cartella corrispondente non esiste (%s) "
|
212 |
+
|
213 |
+
#: admin.php:392
|
214 |
+
msgid "Backup set not found"
|
215 |
+
msgstr "Set di backup non trovato"
|
216 |
+
|
217 |
+
#: admin.php:468
|
218 |
+
msgid "The backup set has been removed."
|
219 |
+
msgstr "Il backup è stato rimosso."
|
220 |
+
|
221 |
+
#: updraftplus.php:2034
|
222 |
+
msgid "Subscribe to the UpdraftPlus blog to get up-to-date news and offers"
|
223 |
+
msgstr "Iscriviti al blog di UpdraftPlus per avere le ultime notizie e le offerte"
|
224 |
+
|
225 |
+
#: updraftplus.php:2034
|
226 |
+
msgid "Blog link"
|
227 |
+
msgstr "Collegamento al Blog"
|
228 |
+
|
229 |
+
#: updraftplus.php:2034
|
230 |
+
msgid "RSS link"
|
231 |
+
msgstr "Collegamento RSS"
|
232 |
+
|
233 |
+
#: methods/s3.php:315
|
234 |
+
msgid "Testing %s Settings..."
|
235 |
+
msgstr "Analisi impostazioni di %s..."
|
236 |
+
|
237 |
+
#: admin.php:1002
|
238 |
+
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."
|
239 |
+
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."
|
240 |
+
|
241 |
+
#: admin.php:208
|
242 |
+
msgid "Notice"
|
243 |
+
msgstr "Nota"
|
244 |
+
|
245 |
+
#: admin.php:208
|
246 |
+
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."
|
247 |
+
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."
|
248 |
+
|
249 |
+
#: admin.php:213
|
250 |
+
msgid "W3 Total Cache's object cache is active. This is known to have a bug that messes with all scheduled tasks (including backup jobs)."
|
251 |
+
msgstr "W3 Total Cache è attivo. E' noto che questo componente ha un bug che scombussola tutti i task schedulati (inclusi i processi di backup)"
|
252 |
+
|
253 |
+
#: admin.php:213
|
254 |
+
msgid "Go here to turn it off."
|
255 |
+
msgstr "Vai qui per disattivarlo."
|
256 |
+
|
257 |
+
#: admin.php:213
|
258 |
+
msgid "<a href=\"%s\">Go here</a> for more information."
|
259 |
+
msgstr "<a href=\"%s\">Vai qui</a> per maggiori informazioni."
|
260 |
+
|
261 |
+
#: updraftplus.php:987
|
262 |
+
msgid "Errors encountered:"
|
263 |
+
msgstr "Errori riscontrati:"
|
264 |
+
|
265 |
+
#: admin.php:1743
|
266 |
+
msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..."
|
267 |
+
msgstr "Rescan in corsco (ricerca di backup uploadati manualmente nello spazio interno di archiviazione).."
|
268 |
+
|
269 |
+
#: admin.php:1049
|
270 |
+
msgid "Begun looking for this entity"
|
271 |
+
msgstr "Inizio ricerca di questo termine"
|
272 |
+
|
273 |
+
#: addons/migrator.php:387
|
274 |
+
msgid "SQL update commands run:"
|
275 |
+
msgstr "Comandi di aggiornamento SQL eseguiti:"
|
276 |
+
|
277 |
+
#: addons/migrator.php:388
|
278 |
+
msgid "Errors:"
|
279 |
+
msgstr "Errori:"
|
280 |
+
|
281 |
+
#: addons/migrator.php:389
|
282 |
+
msgid "Time taken (seconds):"
|
283 |
+
msgstr "Tempo necessario (secondi):"
|
284 |
+
|
285 |
+
#: addons/migrator.php:476
|
286 |
+
msgid "rows: %d"
|
287 |
+
msgstr "linee: %d"
|
288 |
+
|
289 |
+
#: addons/migrator.php:541
|
290 |
+
msgid "\"%s\" has no primary key, manual change needed on row %s."
|
291 |
+
msgstr "\"%s\" non ha una chiave primaria, necessaria modifica manuale sulla linea %s."
|
292 |
+
|
293 |
+
#: addons/dropbox-folders.php:21
|
294 |
+
msgid "Store at"
|
295 |
+
msgstr "Archivia in"
|
296 |
+
|
297 |
+
#: addons/migrator.php:302
|
298 |
+
msgid "Nothing to do: the site URL is already: %s"
|
299 |
+
msgstr "Nessuna modifica: l'URL del sito è già: %s"
|
300 |
+
|
301 |
+
#: addons/migrator.php:307
|
302 |
+
msgid "Warning: the database's site URL (%s) is different to what we expected (%s)"
|
303 |
+
msgstr "Attenzione: l'URL del database del sito (%s) è differente dalla posizione originale (%s)"
|
304 |
+
|
305 |
+
#: addons/migrator.php:314
|
306 |
+
msgid "Database search and replace: replace %s in backup dump with %s"
|
307 |
+
msgstr "Ricerca e sostituzione del database: sostituisci %s nel backup con %s"
|
308 |
+
|
309 |
+
#: addons/migrator.php:332
|
310 |
+
msgid "Could not get list of tables"
|
311 |
+
msgstr "Impossibile caricare la lista delle tabelle"
|
312 |
+
|
313 |
+
#: addons/migrator.php:343
|
314 |
+
msgid "<strong>Search and replacing table:</strong> %s: already done"
|
315 |
+
msgstr "<strong>Ricerca e Sostituzione Tabella:</strong> %s: già fatto"
|
316 |
+
|
317 |
+
#: addons/migrator.php:384
|
318 |
+
msgid "Tables examined:"
|
319 |
+
msgstr "Tabelle esaminate:"
|
320 |
+
|
321 |
+
#: addons/migrator.php:385
|
322 |
+
msgid "Rows examined:"
|
323 |
+
msgstr "Righe esaminate:"
|
324 |
+
|
325 |
+
#: addons/migrator.php:386
|
326 |
+
msgid "Changes made:"
|
327 |
+
msgstr "Cambiamenti fatti:"
|
328 |
+
|
329 |
+
#: addons/sftp.php:139
|
330 |
+
msgid "%s Error: Failed to download"
|
331 |
+
msgstr "Errore %s: download fallito"
|
332 |
+
|
333 |
+
#: addons/sftp.php:183
|
334 |
+
msgid "Resuming partial uploads is not supported, so you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file."
|
335 |
+
msgstr "Non è possibile riprendere upload parziali, è quindi necessario assicurarsi che il vostro server web permetta ai processi PHP di funzionare abbastanza a lungo per caricare il vostro file di backup più grande."
|
336 |
+
|
337 |
+
#: addons/sftp.php:188
|
338 |
+
msgid "Host"
|
339 |
+
msgstr "Host"
|
340 |
+
|
341 |
+
#: addons/sftp.php:195
|
342 |
+
msgid "Port"
|
343 |
+
msgstr "Porta"
|
344 |
+
|
345 |
+
#: addons/sftp.php:209
|
346 |
+
msgid "Password"
|
347 |
+
msgstr "Password"
|
348 |
+
|
349 |
+
#: addons/sftp.php:225
|
350 |
+
msgid "Directory path"
|
351 |
+
msgstr "Percorso cartella"
|
352 |
+
|
353 |
+
#: addons/sftp.php:227
|
354 |
+
msgid "Where to change directory to after logging in - often this is relative to your home directory."
|
355 |
+
msgstr "Dove cambiare cartella dopo il login - spesso questo è relativo alla vostra cartella di home."
|
356 |
+
|
357 |
+
#: addons/sftp.php:263
|
358 |
+
msgid "host name"
|
359 |
+
msgstr "Nome Host"
|
360 |
+
|
361 |
+
#: addons/sftp.php:267
|
362 |
+
msgid "username"
|
363 |
+
msgstr "Nome Utente"
|
364 |
+
|
365 |
+
#: addons/sftp.php:271
|
366 |
+
msgid "password"
|
367 |
+
msgstr "Password"
|
368 |
+
|
369 |
+
#: addons/sftp.php:276
|
370 |
+
msgid "Failure: Port must be an integer."
|
371 |
+
msgstr "Errore: la porta deve essere un numero intero."
|
372 |
+
|
373 |
+
#: addons/sftp.php:316
|
374 |
+
msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully created a file in that location."
|
375 |
+
msgstr "Errore: Abbiamo fatto il log-in e siamo passati alla cartella indicata, ma non si è riuscito a creare un file in quella posizione."
|
376 |
+
|
377 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
378 |
+
msgid "starting from next time it is"
|
379 |
+
msgstr "Inizio prossima volta è "
|
380 |
+
|
381 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
382 |
+
msgid "Enter in format HH:MM (e.g. 14:22)"
|
383 |
+
msgstr "Inserire in formato HH:MM (esmpio 14:22)"
|
384 |
+
|
385 |
+
#: addons/multisite.php:121
|
386 |
+
msgid "Multisite Install"
|
387 |
+
msgstr "Installazione Multi-sito"
|
388 |
+
|
389 |
+
#: addons/multisite.php:127
|
390 |
+
msgid "You do not have sufficient permissions to access this page."
|
391 |
+
msgstr "Non si dispone di autorizzazioni sufficienti per accedere a questa pagina."
|
392 |
+
|
393 |
+
#: addons/multisite.php:146
|
394 |
+
msgid "You do not have permission to access this page."
|
395 |
+
msgstr "Non hai il permesso di accedere a questa pagina."
|
396 |
+
|
397 |
+
#: addons/multisite.php:208
|
398 |
+
msgid "Must-use plugins"
|
399 |
+
msgstr "Plugin essenziali"
|
400 |
+
|
401 |
+
#: addons/multisite.php:215
|
402 |
+
msgid "Blog uploads"
|
403 |
+
msgstr "Caricamenti dal blog"
|
404 |
+
|
405 |
+
#: addons/migrator.php:164
|
406 |
+
msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s"
|
407 |
+
msgstr "Tutti i riferimenti alla posizione del sito nel database saranno sostituiti con l'URL del sito attuale, che è:%s"
|
408 |
+
|
409 |
+
#: addons/migrator.php:164
|
410 |
+
msgid "Search and replace site location in the database (migrate)"
|
411 |
+
msgstr "Ricerca e sostituzione della posizione del sito nel database (migrazione)"
|
412 |
+
|
413 |
+
#: addons/migrator.php:164
|
414 |
+
msgid "(learn more)"
|
415 |
+
msgstr "(ulteriori informazioni)"
|
416 |
+
|
417 |
+
#: addons/migrator.php:251 addons/migrator.php:365
|
418 |
+
msgid "Failed: the %s operation was not able to start."
|
419 |
+
msgstr "Errore: Non è stato possibile avviare l'operazione %s"
|
420 |
+
|
421 |
+
#: addons/migrator.php:253 addons/migrator.php:367
|
422 |
+
msgid "Failed: we did not understand the result returned by the %s operation."
|
423 |
+
msgstr "Errore: Codice di ritorno dell'operazione %s non conosciuto."
|
424 |
+
|
425 |
+
#: addons/migrator.php:274
|
426 |
+
msgid "Database: search and replace site URL"
|
427 |
+
msgstr "Database: ricerca e sostituzione dell'URL del sito"
|
428 |
+
|
429 |
+
#: addons/migrator.php:277
|
430 |
+
msgid "This option was not selected."
|
431 |
+
msgstr "Questa opzione non è stata selezionata."
|
432 |
+
|
433 |
+
#: addons/migrator.php:292 addons/migrator.php:297
|
434 |
+
msgid "Error: unexpected empty parameter (%s, %s)"
|
435 |
+
msgstr "Errore: parametro vuoto inatteso (%s, %s)"
|
436 |
+
|
437 |
+
#: addons/morefiles.php:63
|
438 |
+
msgid "The above files comprise everything in a WordPress installation."
|
439 |
+
msgstr "I file sopra comprendono tutto in una installazione di WordPress"
|
440 |
+
|
441 |
+
#: addons/morefiles.php:70
|
442 |
+
msgid "WordPress core (including any additions to your WordPress root directory)"
|
443 |
+
msgstr "WordPress core (comprese le eventuali aggiunte alla cartella principale di WordPress)"
|
444 |
+
|
445 |
+
#: addons/morefiles.php:82
|
446 |
+
msgid "Any other directory on your server that you wish to back up"
|
447 |
+
msgstr "Ogni altra cartella sul tuo server che vorresti fosse backuppata"
|
448 |
+
|
449 |
+
#: addons/morefiles.php:83
|
450 |
+
msgid "More Files"
|
451 |
+
msgstr "Altri files"
|
452 |
+
|
453 |
+
#: addons/morefiles.php:98
|
454 |
+
msgid "Enter the directory:"
|
455 |
+
msgstr "Inserire la catrella"
|
456 |
+
|
457 |
+
#: addons/morefiles.php:102
|
458 |
+
msgid "If you are not sure what this option is for, then you will not want it, and should turn it off."
|
459 |
+
msgstr "Se non si è sicuri di cosa serva questa opzione, si consiglia di disattivarla."
|
460 |
+
|
461 |
+
#: addons/morefiles.php:102
|
462 |
+
msgid "If using it, enter an absolute path (it is not relative to your WordPress install)."
|
463 |
+
msgstr "Se utilizzato, inserire un percorso assoluto (non è relativo alla vostra installazione di WordPress)."
|
464 |
+
|
465 |
+
#: addons/morefiles.php:104
|
466 |
+
msgid "Be careful what you enter - if you enter / then it really will try to create a zip containing your entire webserver."
|
467 |
+
msgstr "Fare attenzione a ciò che si inserisce: se si inserisce / allora verrà creato un file .zip contenente il tuo intero webserver"
|
468 |
+
|
469 |
+
#: addons/morefiles.php:134
|
470 |
+
msgid "If entering multiple files/directories, then separate them with commas."
|
471 |
+
msgstr "Se si immettono files e/o cartelle multiple, separateli con una virgola."
|
472 |
+
|
473 |
+
#: addons/morefiles.php:176 addons/morefiles.php:253
|
474 |
+
msgid "No backup of %s directories: there was nothing found to back up"
|
475 |
+
msgstr "Nessun backup della cartella %s: non si è trovato nulla da backuppare"
|
476 |
+
|
477 |
+
#: addons/morefiles.php:176
|
478 |
+
msgid "more"
|
479 |
+
msgstr "altro"
|
480 |
+
|
481 |
+
#: addons/sftp.php:23
|
482 |
+
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."
|
483 |
+
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."
|
484 |
+
|
485 |
+
#: addons/sftp.php:23
|
486 |
+
msgid "Explicit encryption is used by default. To force implicit encryption (port 990), add :990 to your FTP server below."
|
487 |
+
msgstr "La crittografia esplicita viene utilizzato come impostazione predefinita. Per forzare la crittografia implicita (porta 990), aggiungere: 990 al vostro server FTP sotto."
|
488 |
+
|
489 |
+
#: addons/sftp.php:30 addons/sftp.php:31 addons/sftp.php:32
|
490 |
+
msgid "No %s found"
|
491 |
+
msgstr "%s non trovato"
|
492 |
+
|
493 |
+
#: addons/sftp.php:30
|
494 |
+
msgid "SFTP host setting"
|
495 |
+
msgstr "Settaggi dell'host SFTP"
|
496 |
+
|
497 |
+
#: addons/sftp.php:31
|
498 |
+
msgid "SFTP user setting"
|
499 |
+
msgstr "Settaggio utente SFTP"
|
500 |
+
|
501 |
+
#: addons/sftp.php:32
|
502 |
+
msgid "SFTP password"
|
503 |
+
msgstr "Password SFTP"
|
504 |
+
|
505 |
+
#: addons/sftp.php:302
|
506 |
+
msgid "Check your file permissions: Could not successfully create and enter:"
|
507 |
+
msgstr "Controllare le autorizzazioni file: Impossibile creare ed entrare con successo:"
|
508 |
+
|
509 |
+
#: methods/ftp.php:170
|
510 |
+
msgid "FTP Server"
|
511 |
+
msgstr "Server FTP"
|
512 |
+
|
513 |
+
#: methods/ftp.php:174
|
514 |
+
msgid "FTP Login"
|
515 |
+
msgstr "Login FTP"
|
516 |
+
|
517 |
+
#: methods/ftp.php:178
|
518 |
+
msgid "FTP Password"
|
519 |
+
msgstr "Password FTP"
|
520 |
+
|
521 |
+
#: methods/ftp.php:182
|
522 |
+
msgid "Remote Path"
|
523 |
+
msgstr "Percorso Remoto"
|
524 |
+
|
525 |
+
#: methods/ftp.php:183
|
526 |
+
msgid "Needs to already exist"
|
527 |
+
msgstr "Deve essere esistente"
|
528 |
+
|
529 |
+
#: methods/ftp.php:204
|
530 |
+
msgid "Failure: No server details were given."
|
531 |
+
msgstr "Errore: Nessun dettaglio sul server è stato fornito."
|
532 |
+
|
533 |
+
#: methods/ftp.php:219
|
534 |
+
msgid "Failure: we did not successfully log in with those credentials."
|
535 |
+
msgstr "Errore: Non è possibile eseguire il log-in con queste credenziali"
|
536 |
+
|
537 |
+
#: methods/ftp.php:227
|
538 |
+
msgid "Failure: an unexpected internal UpdraftPlus error occurred when testing the credentials - please contact the developer"
|
539 |
+
msgstr "Errore: si è verificato un errore interno imprevisto di UpdraftPlus durante la prova le credenziali - si prega di contattare lo sviluppatore"
|
540 |
+
|
541 |
+
#: methods/ftp.php:231
|
542 |
+
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
543 |
+
msgstr "Abbiamo effettuato correttamente il login, e confermato la nostra capacità di creare un file nella directory data (tipo di accesso:"
|
544 |
+
|
545 |
+
#: methods/ftp.php:234
|
546 |
+
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
547 |
+
msgstr "Errore: Log-in eseguito correttamente, ma non siamo riusciti a creare un file nella directory data."
|
548 |
+
|
549 |
+
#: addons/webdav.php:40 addons/webdav.php:148 addons/webdav.php:181
|
550 |
+
#: addons/sftp.php:28
|
551 |
+
msgid "No %s settings were found"
|
552 |
+
msgstr "Non sono state trovate impostazioni di %s"
|
553 |
+
|
554 |
+
#: addons/webdav.php:116 addons/webdav.php:120
|
555 |
+
msgid "Chunk %s: A %s error occurred"
|
556 |
+
msgstr "Parte %s: rilevato errore %s "
|
557 |
+
|
558 |
+
#: addons/webdav.php:193 addons/webdav.php:199 addons/webdav.php:211
|
559 |
+
msgid "WebDAV Error"
|
560 |
+
msgstr "Errore WebDAV"
|
561 |
+
|
562 |
+
#: addons/webdav.php:199
|
563 |
+
msgid "Error opening remote file: Failed to download"
|
564 |
+
msgstr "Errore nell'apertura di file remoto: impossibile eseguire il download"
|
565 |
+
|
566 |
+
#: addons/webdav.php:211
|
567 |
+
msgid "Local write failed: Failed to download"
|
568 |
+
msgstr "Scrittura locale non riuscita: impossibile eseguire il download"
|
569 |
+
|
570 |
+
#: addons/webdav.php:245
|
571 |
+
msgid "WebDAV URL"
|
572 |
+
msgstr "URL WebDAV"
|
573 |
+
|
574 |
+
#: addons/webdav.php:249
|
575 |
+
msgid "Enter a complete URL, beginning with webdav:// or webdavs:// and including path, username, password and port as required - e.g.%s"
|
576 |
+
msgstr "Inserire un URL completo, che inizi con webdav:// o webdavs:// completo di percorso, nome utente, password e della porta come richiesto - ad esempio %s"
|
577 |
+
|
578 |
+
#: addons/webdav.php:291 addons/sftp.php:290
|
579 |
+
msgid "Failed"
|
580 |
+
msgstr "Errore"
|
581 |
+
|
582 |
+
#: addons/webdav.php:305
|
583 |
+
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
584 |
+
msgstr "Errore: impossibile copiare un file in quella directory - controlla le tue autorizzazioni"
|
585 |
+
|
586 |
+
#: addons/morefiles.php:40 addons/morefiles.php:253
|
587 |
+
msgid "WordPress Core"
|
588 |
+
msgstr "Core WordPerss"
|
589 |
+
|
590 |
+
#: addons/morefiles.php:44
|
591 |
+
msgid "Over-write wp-config.php"
|
592 |
+
msgstr "Sovrascrittura wp-config.php"
|
593 |
+
|
594 |
+
#: addons/morefiles.php:44
|
595 |
+
msgid "(learn more about this important option)"
|
596 |
+
msgstr "(ulteriori informazioni riguardo questa importante opzione)"
|
597 |
+
|
598 |
+
#: methods/dropbox.php:288
|
599 |
+
msgid "Authenticate with Dropbox"
|
600 |
+
msgstr "Autenticazione con DropBox"
|
601 |
+
|
602 |
+
#: methods/dropbox.php:289
|
603 |
+
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 Dropbox."
|
604 |
+
msgstr "<strong>Dopo</strong> aver salvato le impostazioni (facendo clic su 'Salva modifiche' sotto), fare clic su questo link per completare l'autenticazione con Dropbox."
|
605 |
+
|
606 |
+
#: methods/dropbox.php:332
|
607 |
+
msgid "you have authenticated your %s account"
|
608 |
+
msgstr "Hai autenticato il tuo account %s"
|
609 |
+
|
610 |
+
#: methods/dropbox.php:335
|
611 |
+
msgid "though part of the returned information was not as expected - your mileage may vary"
|
612 |
+
msgstr "anche se parte delle informazioni restituite non era come previsto - la situazione potrebbe essere diversa"
|
613 |
+
|
614 |
+
#: methods/dropbox.php:338
|
615 |
+
msgid "Your %s account name: %s"
|
616 |
+
msgstr "Nome del tuo account %s: %s"
|
617 |
+
|
618 |
+
#: methods/ftp.php:44 methods/ftp.php:115
|
619 |
+
msgid "FTP login failure"
|
620 |
+
msgstr "Errore login FTP"
|
621 |
+
|
622 |
+
#: methods/ftp.php:63
|
623 |
+
msgid "FTP upload failed"
|
624 |
+
msgstr "Errore upload FTP"
|
625 |
+
|
626 |
+
#: methods/ftp.php:150
|
627 |
+
msgid "Settings test result"
|
628 |
+
msgstr "Settaggio del risultato del test"
|
629 |
+
|
630 |
+
#: methods/ftp.php:166
|
631 |
+
msgid "Only non-encrypted FTP is supported by regular UpdraftPlus."
|
632 |
+
msgstr "UpdraftPlus regolare supporta solo FTP non cifrato."
|
633 |
+
|
634 |
+
#: methods/ftp.php:166
|
635 |
+
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
636 |
+
msgstr "Se si desidera la crittografia (ad esempio per memorizzare dati aziendali sensibili), è disponibile un add-on."
|
637 |
+
|
638 |
+
#: methods/s3.php:299
|
639 |
+
msgid "%s Error: Failed to download %s. Check your permissions and credentials."
|
640 |
+
msgstr "Errore %s: Impossibile eseguire il download di %s. Controllare le autorizzazioni e le credenziali."
|
641 |
+
|
642 |
+
#: methods/s3.php:243 methods/s3.php:303
|
643 |
+
msgid "%s Error: Failed to access bucket %s. Check your permissions and credentials."
|
644 |
+
msgstr "Errore %s: Impossibile accedere al bucket %s. Controllare le autorizzazioni e le credenziali."
|
645 |
+
|
646 |
+
#: methods/s3.php:365
|
647 |
+
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."
|
648 |
+
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à."
|
649 |
+
|
650 |
+
#: methods/s3.php:365
|
651 |
+
msgid "If you see errors about SSL certificates, then please go here for help."
|
652 |
+
msgstr "Se si trovano errori sui certificati SSL, allora vai qui per un aiuto."
|
653 |
+
|
654 |
+
#: methods/s3.php:368
|
655 |
+
msgid "%s access key"
|
656 |
+
msgstr "Chiave di accesso %s"
|
657 |
+
|
658 |
+
#: methods/s3.php:372
|
659 |
+
msgid "%s secret key"
|
660 |
+
msgstr "Chiave segreta %s"
|
661 |
+
|
662 |
+
#: methods/s3.php:376
|
663 |
+
msgid "%s location"
|
664 |
+
msgstr "posizione %s"
|
665 |
+
|
666 |
+
#: methods/s3.php:377
|
667 |
+
msgid "Enter only a bucket name or a bucket and path. Examples: mybucket, mybucket/mypath"
|
668 |
+
msgstr "Inserire solo il nome del bucket oppure il bucket e il percorso. Esempi: mybucket, mybucket/mypath"
|
669 |
+
|
670 |
+
#: methods/s3.php:398
|
671 |
+
msgid "API secret"
|
672 |
+
msgstr "API segreto"
|
673 |
+
|
674 |
+
#: methods/s3.php:418
|
675 |
+
msgid "Failure: No bucket details were given."
|
676 |
+
msgstr "Errore: Nessun dettaglio del bucket è stato inserito."
|
677 |
+
|
678 |
+
#: methods/s3.php:429
|
679 |
+
msgid "Region"
|
680 |
+
msgstr "regione"
|
681 |
+
|
682 |
+
#: methods/s3.php:446
|
683 |
+
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)."
|
684 |
+
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)."
|
685 |
+
|
686 |
+
#: methods/s3.php:458 methods/s3.php:469
|
687 |
+
msgid "Failure"
|
688 |
+
msgstr "Errore"
|
689 |
+
|
690 |
+
#: methods/s3.php:458 methods/s3.php:469
|
691 |
+
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
692 |
+
msgstr "Accesso al bucket ottenuto, ma il tentativo di creare un file in esso è fallito."
|
693 |
+
|
694 |
+
#: methods/s3.php:460
|
695 |
+
msgid "We accessed the bucket, and were able to create files within it."
|
696 |
+
msgstr "Accesso al bucket ottenuto, ed è stato possibile creare files al suo interno."
|
697 |
+
|
698 |
+
#: methods/s3.php:462
|
699 |
+
msgid "The communication with %s was encrypted."
|
700 |
+
msgstr "La comunicazione con %s era cifrata"
|
701 |
+
|
702 |
+
#: methods/s3.php:464
|
703 |
+
msgid "The communication with %s was not encrypted."
|
704 |
+
msgstr "La comunicazione con %s non era cifrata."
|
705 |
+
|
706 |
+
#: methods/dropbox.php:35
|
707 |
+
msgid "The %s PHP module is not installed"
|
708 |
+
msgstr "Il modulo PHP %s non è installato"
|
709 |
+
|
710 |
+
#: methods/dropbox.php:41 methods/dropbox.php:210
|
711 |
+
msgid "You do not appear to be authenticated with Dropbox"
|
712 |
+
msgstr "Sembra che non si sia autenticati con Dropbox"
|
713 |
+
|
714 |
+
#: methods/dropbox.php:52
|
715 |
+
msgid "error: %s (see log file for more)"
|
716 |
+
msgstr "errore: %s (vedi il file di log per maggiori informazioni)"
|
717 |
+
|
718 |
+
#: methods/dropbox.php:139 methods/dropbox.php:144
|
719 |
+
msgid "error: failed to upload file to %s (see log file for more)"
|
720 |
+
msgstr "Errore: Impossibile caricare il file %s (vedi il file di log per maggiori informazioni)"
|
721 |
+
|
722 |
+
#: methods/dropbox.php:283
|
723 |
+
msgid "Need to use sub-folders?"
|
724 |
+
msgstr "Si vuole utilizzare le sotto-cartelle?"
|
725 |
+
|
726 |
+
#: methods/dropbox.php:283
|
727 |
+
msgid "Backups are saved in"
|
728 |
+
msgstr "I backup vengono salvati in"
|
729 |
+
|
730 |
+
#: methods/dropbox.php:283
|
731 |
+
msgid "If you back up several sites into the same Dropbox and want to organise with sub-folders, then "
|
732 |
+
msgstr "Se si esegue il backup di più siti nello stesso Dropbox e si vuole organizzare con sottocartelle, allora"
|
733 |
+
|
734 |
+
#: methods/dropbox.php:283
|
735 |
+
msgid "there's an add-on for that."
|
736 |
+
msgstr "c'è un add-on per questo."
|
737 |
+
|
738 |
+
#: methods/cloudfiles.php:400
|
739 |
+
msgid "US or UK Cloud"
|
740 |
+
msgstr "Cloud USA oppure UK"
|
741 |
+
|
742 |
+
#: methods/cloudfiles.php:406
|
743 |
+
msgid "US (default)"
|
744 |
+
msgstr "USA (default)"
|
745 |
+
|
746 |
+
#: methods/cloudfiles.php:407
|
747 |
+
msgid "UK"
|
748 |
+
msgstr "UK"
|
749 |
+
|
750 |
+
#: methods/cloudfiles.php:412
|
751 |
+
msgid "Cloud Files username"
|
752 |
+
msgstr "Nome utente per file Cloud"
|
753 |
+
|
754 |
+
#: methods/cloudfiles.php:416
|
755 |
+
msgid "Cloud Files API key"
|
756 |
+
msgstr "Chiave API Cloud Files"
|
757 |
+
|
758 |
+
#: methods/cloudfiles.php:420
|
759 |
+
msgid "Cloud Files container"
|
760 |
+
msgstr "Contenitore di files remoti"
|
761 |
+
|
762 |
+
#: methods/googledrive.php:422 methods/cloudfiles.php:386
|
763 |
+
msgid "UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative."
|
764 |
+
msgstr "il modulo %s di UpdraftPlus <strong>richiede</strong> %s. Si prega di non presentare alcuna richiesta di supporto, non ci sono alternative."
|
765 |
+
|
766 |
+
#: methods/cloudfiles.php:434 methods/cloudfiles.php:439
|
767 |
+
msgid "Failure: No %s was given."
|
768 |
+
msgstr "Errore: %s non è stato fornito."
|
769 |
+
|
770 |
+
#: methods/cloudfiles.php:434
|
771 |
+
msgid "API key"
|
772 |
+
msgstr "Chiave API"
|
773 |
+
|
774 |
+
#: methods/cloudfiles.php:439
|
775 |
+
msgid "Username"
|
776 |
+
msgstr "Username"
|
777 |
+
|
778 |
+
#: methods/cloudfiles.php:459
|
779 |
+
msgid "Failure: No container details were given."
|
780 |
+
msgstr "Errore: nessun dettaglio sul contenitore è stato dato."
|
781 |
+
|
782 |
+
#: methods/cloudfiles.php:485
|
783 |
+
msgid "Cloud Files error - we accessed the container, but failed to create a file within it"
|
784 |
+
msgstr "Errore File remoto - abbiamo accede al contenitore, ma è impossiile creare un file all'interno di esso"
|
785 |
+
|
786 |
+
#: methods/cloudfiles.php:489
|
787 |
+
msgid "We accessed the container, and were able to create files within it."
|
788 |
+
msgstr "Si può accedere al contenitore, ed è possibile creare files al suo interno."
|
789 |
+
|
790 |
+
#: methods/email.php:16
|
791 |
+
msgid "WordPress Backup"
|
792 |
+
msgstr "Backup di WordPress"
|
793 |
+
|
794 |
+
#: methods/email.php:16
|
795 |
+
msgid "Backup is of:"
|
796 |
+
msgstr "Il backup è di:"
|
797 |
+
|
798 |
+
#: methods/email.php:16
|
799 |
+
msgid "Be wary; email backups may fail because of file size limitations on mail servers."
|
800 |
+
msgstr "Attenzione: il backup via email potrebbe fallire a causa di limiti di dimensione dei file sui server di posta."
|
801 |
+
|
802 |
+
#: methods/email.php:26
|
803 |
+
msgid "Note:"
|
804 |
+
msgstr "Nota:"
|
805 |
+
|
806 |
+
#: methods/email.php:27
|
807 |
+
msgid "The email address entered above will be used. If choosing \"E-Mail\", then <strong>be aware</strong> that mail servers tend to have size limits; typically around 10-20Mb; backups larger than any limits will not arrive. If you really need a large backup via email, then you could fund a new feature (to break the backup set into configurable-size pieces) - but the demand has not yet existed for such a feature."
|
808 |
+
msgstr "Verrà utilizzato l'indirizzo email inserito sopra. Se si sceglie \"E-Mail\", <strong>fare attenzione</strong> che i server di posta tendono ad avere limiti di dimensione, in genere intorno a 10-20Mb; i backup più grandi del limite non arriveranno. Se davvero si necessita di un backup grande via email, allora si potrebbe finanziare una nuova funzionalità (per dividere il set di backup in pezzi di dimensione configurabile) - ma ancora non esiste una tale funzione."
|
809 |
+
|
810 |
+
#: methods/s3.php:145
|
811 |
+
msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details"
|
812 |
+
msgstr "upload di %s: impossibile ottenere l'uploadID per il caricamento multiparte - vedere il file di log per maggiori dettagli"
|
813 |
+
|
814 |
+
#: methods/s3.php:168
|
815 |
+
msgid "%s error: file %s was shortened unexpectedly"
|
816 |
+
msgstr "Errore %s: il file %s è stato accorciato in modo imprevisto"
|
817 |
+
|
818 |
+
#: methods/s3.php:178
|
819 |
+
msgid "%s chunk %s: upload failed"
|
820 |
+
msgstr "%s parte %s: caricamento fallito"
|
821 |
+
|
822 |
+
#: methods/s3.php:192
|
823 |
+
msgid "%s upload (%s): re-assembly failed (see log for more details)"
|
824 |
+
msgstr "Caricamento di %s (%s) riassemblaggio fallito (vedere il log per maggiori dettagli)"
|
825 |
+
|
826 |
+
#: methods/s3.php:196
|
827 |
+
msgid "%s re-assembly error (%s): (see log file for more)"
|
828 |
+
msgstr "%s re-assembly error (%s): (guarda il file di log per più informazioni)"
|
829 |
+
|
830 |
+
#: methods/s3.php:208
|
831 |
+
msgid "%s Error: Failed to create bucket %s. Check your permissions and credentials."
|
832 |
+
msgstr "Errore %s: Impossibile creare il bucket %s. Controllare le autorizzazioni e le credenziali."
|
833 |
+
|
834 |
+
#: methods/googledrive.php:432
|
835 |
+
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
836 |
+
msgstr "Per informazioni più esaustive, compresi screenshot, segui questo collegamento. La descrizione che segue è sufficiente per gli utenti più esperti."
|
837 |
+
|
838 |
+
#: methods/googledrive.php:433
|
839 |
+
msgid "Follow this link to your Google API Console, and there create a Client ID in the API Access section."
|
840 |
+
msgstr "Segui questo link per la vostra Google API Console, e ci crea un ID cliente nella sezione Accesso API."
|
841 |
+
|
842 |
+
#: methods/googledrive.php:433
|
843 |
+
msgid "Select 'Web Application' as the application type."
|
844 |
+
msgstr "Selezionare 'Applicazione Web' come il tipo di applicazione."
|
845 |
+
|
846 |
+
#: methods/googledrive.php:433
|
847 |
+
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
848 |
+
msgstr "È necessario aggiungere quanto segue come reindirizzamento autorizzato URI (alla voce \"Altre opzioni\") quando richiesto"
|
849 |
+
|
850 |
+
#: methods/googledrive.php:433
|
851 |
+
msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your client ID; you must create a new one from your Google API console for each site."
|
852 |
+
msgstr "N.B. Se si installa UpdraftPlus su diversi siti WordPress, allora non si può riutilizzare il vostro ID cliente, è necessario crearne uno nuovo per ogni sito dalla vostra console Google API."
|
853 |
+
|
854 |
+
#: methods/googledrive.php:436
|
855 |
+
msgid "You do not have the SimpleXMLElement installed. Google Drive backups will <b>not</b> work until you do."
|
856 |
+
msgstr "SimpleXMLElement non è installato. Il backups su Google Drive <b>NON</b> funziona senza di esso."
|
857 |
+
|
858 |
+
#: methods/googledrive.php:443
|
859 |
+
msgid "Client ID"
|
860 |
+
msgstr "ID Cliente"
|
861 |
+
|
862 |
+
#: methods/googledrive.php:444
|
863 |
+
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
864 |
+
msgstr "Se Google in seguito visualizzerà il messaggio \"invalid_client\", allora non si è inserito un ID cliente valido."
|
865 |
+
|
866 |
+
#: methods/googledrive.php:447
|
867 |
+
msgid "Client Secret"
|
868 |
+
msgstr "Segreto del Client"
|
869 |
+
|
870 |
+
#: methods/googledrive.php:451
|
871 |
+
msgid "Folder ID"
|
872 |
+
msgstr "ID Cartella"
|
873 |
+
|
874 |
+
#: methods/googledrive.php:452
|
875 |
+
msgid "<strong>This is NOT a folder name</strong>. To get a folder's ID navigate to that folder in Google Drive in your web browser and copy the ID from your browser's address bar. It is the part that comes after <kbd>#folders/.</kbd> Leave empty to use your root folder)"
|
876 |
+
msgstr "<strong> Questo NON è il nome della cartella</strong>. Per ottenere l'ID di una cartella accedere alla cartella in Google Drive da web browser e copiare l'ID dalla barra degli indirizzi del browser. E' la parte che viene dopo <kbd>#folders/.</kbd> Lasciare vuoto per usare la cartella principale)"
|
877 |
+
|
878 |
+
#: methods/googledrive.php:455
|
879 |
+
msgid "Authenticate with Google"
|
880 |
+
msgstr "Autentica con Google"
|
881 |
+
|
882 |
+
#: methods/googledrive.php:456
|
883 |
+
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 Google."
|
884 |
+
msgstr "<strong>Dopo</strong> aver salvato le impostazioni (facendo clic su 'Salva modifiche' sotto), fare clic su questo collegamento per completare l'autenticazione con Google."
|
885 |
+
|
886 |
+
#: methods/cloudfiles.php:53 methods/cloudfiles.php:57
|
887 |
+
#: methods/cloudfiles.php:208 methods/cloudfiles.php:256
|
888 |
+
#: methods/cloudfiles.php:260 methods/cloudfiles.php:469
|
889 |
+
#: methods/cloudfiles.php:472 methods/cloudfiles.php:475
|
890 |
+
msgid "Cloud Files authentication failed"
|
891 |
+
msgstr "Autenticazione dei file remoti fallita"
|
892 |
+
|
893 |
+
#: methods/cloudfiles.php:61 methods/cloudfiles.php:264
|
894 |
+
#: methods/cloudfiles.php:282
|
895 |
+
msgid "Cloud Files error - failed to create and access the container"
|
896 |
+
msgstr "Errore Files remoti - impossibile creare ed accedere al contenitore"
|
897 |
+
|
898 |
+
#: methods/cloudfiles.php:88
|
899 |
+
msgid "%s Error: Failed to open local file"
|
900 |
+
msgstr "Errore %s: Impossibile aprire il file locale"
|
901 |
+
|
902 |
+
#: methods/cloudfiles.php:105 methods/cloudfiles.php:147
|
903 |
+
msgid "%s Error: Failed to upload"
|
904 |
+
msgstr "Errore %s: Impossibile caricare il file."
|
905 |
+
|
906 |
+
#: methods/cloudfiles.php:169
|
907 |
+
msgid "Cloud Files error - failed to re-assemble chunks"
|
908 |
+
msgstr "Errore File remoti - impossibile riassemblare il blocco di dati."
|
909 |
+
|
910 |
+
#: methods/cloudfiles.php:178 methods/cloudfiles.php:179
|
911 |
+
msgid "Cloud Files error - failed to upload file"
|
912 |
+
msgstr "Errore File remoti - impossibile caricare il file"
|
913 |
+
|
914 |
+
#: methods/cloudfiles.php:310 methods/cloudfiles.php:327
|
915 |
+
msgid "Cloud Files Error"
|
916 |
+
msgstr "Errore File remoti"
|
917 |
+
|
918 |
+
#: methods/cloudfiles.php:310
|
919 |
+
msgid "Error opening local file: Failed to download"
|
920 |
+
msgstr "Errore durante l'apertura del file locale: Impossibile fare il download"
|
921 |
+
|
922 |
+
#: methods/cloudfiles.php:327
|
923 |
+
msgid "Error downloading remote file: Failed to download ("
|
924 |
+
msgstr "Errore durante il download del file remoto: Impossibile scaricare ("
|
925 |
+
|
926 |
+
#: methods/cloudfiles.php:336
|
927 |
+
msgid "Cloud Files error - no such file exists at Cloud Files"
|
928 |
+
msgstr "Errore File remoti - il file non esiste tra i file remoti"
|
929 |
+
|
930 |
+
#: methods/cloudfiles.php:340
|
931 |
+
msgid "Cloud Files error - failed to download the file"
|
932 |
+
msgstr "Errore File remoti - impossibile scaricare il file"
|
933 |
+
|
934 |
+
#: methods/cloudfiles.php:349
|
935 |
+
msgid "Testing - Please Wait..."
|
936 |
+
msgstr "Verifica - attendere prego..."
|
937 |
+
|
938 |
+
#: methods/cloudfiles.php:363 methods/cloudfiles.php:426
|
939 |
+
msgid "Test %s Settings"
|
940 |
+
msgstr "Settaggi del test %s"
|
941 |
+
|
942 |
+
#: methods/cloudfiles.php:396
|
943 |
+
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."
|
944 |
+
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à."
|
945 |
+
|
946 |
+
#: methods/cloudfiles.php:396
|
947 |
+
msgid "Also, you should read this important FAQ."
|
948 |
+
msgstr "Inoltre, si dovrebbe leggere questa importante FAQ."
|
949 |
+
|
950 |
+
#: methods/googledrive.php:191
|
951 |
+
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes"
|
952 |
+
msgstr "Account pieno: il tuo account %s ha solamente %d bytes liberi, ma il file da caricare è di %d bytes"
|
953 |
+
|
954 |
+
#: methods/googledrive.php:201
|
955 |
+
msgid "Failed to upload to %s"
|
956 |
+
msgstr "Impossibile caricare su %s"
|
957 |
+
|
958 |
+
#: methods/googledrive.php:305
|
959 |
+
msgid "An error occurred during %s upload (see log for more details)"
|
960 |
+
msgstr "Si è verificato un errore durante il caricamento di %s (vedi log per maggiori dettagli)"
|
961 |
+
|
962 |
+
#: methods/googledrive.php:344
|
963 |
+
msgid "Google Drive error: %d: could not download: could not find a record of the Google Drive file ID for this file"
|
964 |
+
msgstr "Errore di Google Drive: %d: impossibile scaricare: impossibile trovare un record del file di ID di Google Drive per questo file"
|
965 |
+
|
966 |
+
#: methods/googledrive.php:349
|
967 |
+
msgid "Could not find %s in order to download it"
|
968 |
+
msgstr "Impossibile trovare %s per poterlo scaricare"
|
969 |
+
|
970 |
+
#: methods/googledrive.php:361
|
971 |
+
msgid "Google Drive "
|
972 |
+
msgstr "Google Drive"
|
973 |
+
|
974 |
+
#: methods/googledrive.php:361
|
975 |
+
msgid "error: zero-size file was downloaded"
|
976 |
+
msgstr "errore: è stato caricato un file di dimensione nulla."
|
977 |
+
|
978 |
+
#: methods/googledrive.php:379
|
979 |
+
msgid "Account is not authorized."
|
980 |
+
msgstr "Account non autorizzato."
|
981 |
+
|
982 |
+
#: methods/googledrive.php:412 methods/cloudfiles.php:376
|
983 |
+
msgid "%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts."
|
984 |
+
msgstr "%s è una buona scelta, perché UpdraftPlus supporta i caricamenti frammentati - non importa quanto sia grande il vostro sito, UpdraftPlus può caricare un po 'alla volta, senza avere problemi con il timeout."
|
985 |
+
|
986 |
+
#: includes/updraft-restorer.php:472
|
987 |
+
msgid "will restore as:"
|
988 |
+
msgstr "sarà ripristinato come:"
|
989 |
+
|
990 |
+
#: includes/updraft-restorer.php:502
|
991 |
+
msgid "An error (%s) occured:"
|
992 |
+
msgstr "Si è verificato un errore (%s)"
|
993 |
+
|
994 |
+
#: includes/updraft-restorer.php:502
|
995 |
+
msgid "the database query being run was:"
|
996 |
+
msgstr "la query di database in corso di esecuzione è:"
|
997 |
+
|
998 |
+
#: includes/updraft-restorer.php:505
|
999 |
+
msgid "Too many database errors have occurred - aborting restoration (you will need to restore manually)"
|
1000 |
+
msgstr "Si sono verificati troppi errori di database - ripristino annullato (è necessario ripristinare manualmente)"
|
1001 |
+
|
1002 |
+
#: includes/updraft-restorer.php:512
|
1003 |
+
msgid "Database lines processed: %d in %.2f seconds"
|
1004 |
+
msgstr "Linee di database processate: %d in %.2f secondi"
|
1005 |
+
|
1006 |
+
#: includes/updraft-restorer.php:525
|
1007 |
+
msgid "Finished: lines processed: %d in %.2f seconds"
|
1008 |
+
msgstr "Finito: linee processate: %d in %.2f secondi"
|
1009 |
+
|
1010 |
+
#: includes/updraft-restorer.php:659 includes/updraft-restorer.php:668
|
1011 |
+
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
1012 |
+
msgstr "Il prefisso di tabella è cambiato: cambio in accordo i campo(i) della tabella %s:"
|
1013 |
+
|
1014 |
+
#: includes/updraft-restorer.php:663 includes/updraft-restorer.php:695
|
1015 |
+
msgid "OK"
|
1016 |
+
msgstr "OK"
|
1017 |
+
|
1018 |
+
#: includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php:91
|
1019 |
+
msgid "You need to re-authenticate with %s, as your existing credentials are not working."
|
1020 |
+
msgstr "È necessario autenticare nuovamente con %s, le credenziali esistenti non funzionano."
|
1021 |
+
|
1022 |
+
#: methods/webdav.php:13 methods/webdav.php:34 methods/webdav.php:50
|
1023 |
+
#: methods/sftp.php:13 methods/sftp.php:34 methods/sftp.php:50
|
1024 |
+
msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s"
|
1025 |
+
msgstr "L'add-on %s di UpdraftPlus non è installato - ottenerlo da %s"
|
1026 |
+
|
1027 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
1028 |
+
msgid "%s support is available as an add-on"
|
1029 |
+
msgstr "Il supporto a %s è disponibile con un add-on"
|
1030 |
+
|
1031 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
1032 |
+
msgid "follow this link to get it"
|
1033 |
+
msgstr "Clicca su questo collegamento per averlo."
|
1034 |
+
|
1035 |
+
#: methods/googledrive.php:111
|
1036 |
+
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."
|
1037 |
+
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."
|
1038 |
+
|
1039 |
+
#: methods/googledrive.php:116
|
1040 |
+
msgid "Authorization failed"
|
1041 |
+
msgstr "Autorizzazione fallita"
|
1042 |
+
|
1043 |
+
#: methods/googledrive.php:137
|
1044 |
+
msgid "Your %s quota usage: %s %% used, %s available"
|
1045 |
+
msgstr "Quota di utilizzo %s: %s %% utilizzata, %s disponibile"
|
1046 |
+
|
1047 |
+
#: methods/googledrive.php:143 methods/cloudfiles.php:489
|
1048 |
+
msgid "Success"
|
1049 |
+
msgstr "Success"
|
1050 |
+
|
1051 |
+
#: methods/googledrive.php:143
|
1052 |
+
msgid "you have authenticated your %s account."
|
1053 |
+
msgstr "hai autenticato il tuo account %s."
|
1054 |
+
|
1055 |
+
#: methods/googledrive.php:159 methods/googledrive.php:220
|
1056 |
+
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
1057 |
+
msgstr "Non si è ancora ottenuto un token di accesso da parte di Google - è necessario autorizzare o ri-autorizzare la connessione a Google Drive."
|
1058 |
+
|
1059 |
+
#: methods/googledrive.php:160 methods/googledrive.php:334
|
1060 |
+
msgid "Have not yet obtained an access token from Google (has the user authorised?)"
|
1061 |
+
msgstr "Non si è ancora ottenuto il token di accesso da Google (l'utente potrebbe non essere autorizzato)"
|
1062 |
+
|
1063 |
+
#: includes/updraft-restorer.php:134
|
1064 |
+
msgid "wp-config.php from backup: restoring (as per user's request)"
|
1065 |
+
msgstr "wp-config.php da backup: ripristino (come da richiesta dell'utente)"
|
1066 |
+
|
1067 |
+
#: includes/updraft-restorer.php:202
|
1068 |
+
msgid "Will not delete the archive after unpacking it, because there was no cloud storage for this backup"
|
1069 |
+
msgstr "Non verrà cancellato l'archivio dopo l'estrazione, perché il cloud storage per questo backup non è presente"
|
1070 |
+
|
1071 |
+
#: includes/updraft-restorer.php:276
|
1072 |
+
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."
|
1073 |
+
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."
|
1074 |
+
|
1075 |
+
#: includes/updraft-restorer.php:281
|
1076 |
+
msgid "Failed to find database file"
|
1077 |
+
msgstr "Impossibile trovare il file del database"
|
1078 |
+
|
1079 |
+
#: includes/updraft-restorer.php:287
|
1080 |
+
msgid "Failed to open database file"
|
1081 |
+
msgstr "Impossibile aprire il file del database"
|
1082 |
+
|
1083 |
+
#: includes/updraft-restorer.php:311
|
1084 |
+
msgid "Database access: Direct MySQL access is not available, so we are falling back to wpdb (this will be considerably slower)"
|
1085 |
+
msgstr "Accesso al database: l'accesso diretto a MySQL non è disponibile, quindi si utilizzerà wpdb (sarà notevolmente più lento)"
|
1086 |
+
|
1087 |
+
#: includes/updraft-restorer.php:378
|
1088 |
+
msgid "Backup of:"
|
1089 |
+
msgstr "Backup di:"
|
1090 |
+
|
1091 |
+
#: includes/updraft-restorer.php:382 includes/updraft-restorer.php:432
|
1092 |
+
msgid "Old table prefix:"
|
1093 |
+
msgstr "Vecchio prefisso di tabella"
|
1094 |
+
|
1095 |
+
#: includes/updraft-restorer.php:469
|
1096 |
+
msgid "Restoring table"
|
1097 |
+
msgstr "Ripristino tabella"
|
1098 |
+
|
1099 |
+
#: admin.php:2308
|
1100 |
+
msgid "File is not locally present - needs retrieving from remote storage (for large files, it is better to do this in advance from the download console)"
|
1101 |
+
msgstr "Il file non è localmente presente - occorrerà recuperarlo da storage remoto (per file di grandi dimensioni, è meglio farlo in anticipo dalla console di download)"
|
1102 |
+
|
1103 |
+
#: admin.php:2314
|
1104 |
+
msgid "Archive is expected to be size:"
|
1105 |
+
msgstr "Dimensione stimata dell'archivio:"
|
1106 |
+
|
1107 |
+
#: admin.php:2319
|
1108 |
+
msgid "ERROR"
|
1109 |
+
msgstr "ERRORE"
|
1110 |
+
|
1111 |
+
#: admin.php:2322
|
1112 |
+
msgid "The backup records do not contain information about the proper size of this file."
|
1113 |
+
msgstr "I registri di backup non contengono informazioni valide sulle dimensioni di questo file."
|
1114 |
+
|
1115 |
+
#: admin.php:2333
|
1116 |
+
msgid "Error message"
|
1117 |
+
msgstr "Messaggio d'errore"
|
1118 |
+
|
1119 |
+
#: admin.php:2342 admin.php:2343
|
1120 |
+
msgid "Could not find one of the files for restoration"
|
1121 |
+
msgstr "Impossibile trovare uno dei file per il ripristino"
|
1122 |
+
|
1123 |
+
#: includes/updraft-restorer.php:7
|
1124 |
+
msgid "UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually."
|
1125 |
+
msgstr "UpdraftPlus non è in grado di ripristinare direttamente questo tipo di entità. Il ripristino deve essere fatto manualmente."
|
1126 |
+
|
1127 |
+
#: includes/updraft-restorer.php:8
|
1128 |
+
msgid "Backup file not available."
|
1129 |
+
msgstr "File di backup non disponibile."
|
1130 |
+
|
1131 |
+
#: includes/updraft-restorer.php:9
|
1132 |
+
msgid "Copying this entity failed."
|
1133 |
+
msgstr "Copia di questa entità non è riuscita."
|
1134 |
+
|
1135 |
+
#: includes/updraft-restorer.php:10
|
1136 |
+
msgid "Unpacking backup..."
|
1137 |
+
msgstr "Scompattamento del backup..."
|
1138 |
+
|
1139 |
+
#: includes/updraft-restorer.php:11
|
1140 |
+
msgid "Decrypting database (can take a while)..."
|
1141 |
+
msgstr "Decriptaggio database (potrebbe richiedere un po' di tempo)..."
|
1142 |
+
|
1143 |
+
#: includes/updraft-restorer.php:12
|
1144 |
+
msgid "Database successfully decrypted."
|
1145 |
+
msgstr "Il database decriptato con successo."
|
1146 |
+
|
1147 |
+
#: includes/updraft-restorer.php:13
|
1148 |
+
msgid "Moving old directory out of the way..."
|
1149 |
+
msgstr "Sposta le vecchie cartelle..."
|
1150 |
+
|
1151 |
+
#: includes/updraft-restorer.php:14
|
1152 |
+
msgid "Moving unpacked backup in place..."
|
1153 |
+
msgstr "Spostamento del backup decompresso in corso..."
|
1154 |
+
|
1155 |
+
#: includes/updraft-restorer.php:15
|
1156 |
+
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)..."
|
1157 |
+
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) ..."
|
1158 |
+
|
1159 |
+
#: includes/updraft-restorer.php:16
|
1160 |
+
msgid "Cleaning up rubbish..."
|
1161 |
+
msgstr "Pulizia del sistema..."
|
1162 |
+
|
1163 |
+
#: includes/updraft-restorer.php:17
|
1164 |
+
msgid "Could not move old directory out of the way. Perhaps you already have -old directories that need deleting first?"
|
1165 |
+
msgstr "Impossibile spostare le vecchie cartelle. Forse hai già cartelle -old che devono essere eliminate?"
|
1166 |
+
|
1167 |
+
#: includes/updraft-restorer.php:18
|
1168 |
+
msgid "Could not delete old directory."
|
1169 |
+
msgstr "Impossibile cancellare le vecchie cartelle."
|
1170 |
+
|
1171 |
+
#: includes/updraft-restorer.php:19
|
1172 |
+
msgid "Could not move new directory into place. Check your wp-content/upgrade folder."
|
1173 |
+
msgstr "Impossibile muovere la nuova cartella in posizione. Controlla la cartella wp-content/upgrade"
|
1174 |
+
|
1175 |
+
#: includes/updraft-restorer.php:20
|
1176 |
+
msgid "Failed to delete working directory after restoring."
|
1177 |
+
msgstr "Impossibile cancellare la catrella di lavoro dopo il rispristino."
|
1178 |
+
|
1179 |
+
#: includes/updraft-restorer.php:60
|
1180 |
+
msgid "Failed to create a temporary directory"
|
1181 |
+
msgstr "Impossibile creare una cartella temporanea"
|
1182 |
+
|
1183 |
+
#: includes/updraft-restorer.php:78
|
1184 |
+
msgid "Failed to write out the decrypted database to the filesystem"
|
1185 |
+
msgstr "Impossibile scrivere il database decodificato sul filesystem"
|
1186 |
+
|
1187 |
+
#: includes/updraft-restorer.php:130
|
1188 |
+
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
1189 |
+
msgstr "wp-config.php dal backup: verrà ripristinato come wp-config-backup.php"
|
1190 |
+
|
1191 |
+
#: admin.php:1922
|
1192 |
+
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."
|
1193 |
+
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."
|
1194 |
+
|
1195 |
+
#: admin.php:1946
|
1196 |
+
msgid "Save Changes"
|
1197 |
+
msgstr "Salva i cambiamenti"
|
1198 |
+
|
1199 |
+
#: methods/googledrive.php:422 methods/cloudfiles.php:386
|
1200 |
+
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support."
|
1201 |
+
msgstr "L'installazione di PHP sull tuo server web non ha incluso un modulo necessario (%s). Contattare il supporto del provider di web hosting."
|
1202 |
+
|
1203 |
+
#: admin.php:1974
|
1204 |
+
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)."
|
1205 |
+
msgstr "L'installazione PHP/Curl sul server web non supporta l'accesso tramite HTTPS. Le comunicazioni con %s saranno crittografate. chiedete al vostro host web di installare Curl/SSL al fine di poter utilizzare la cifratura (tramite un add-on)."
|
1206 |
+
|
1207 |
+
#: admin.php:1976
|
1208 |
+
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."
|
1209 |
+
msgstr ""
|
1210 |
+
"L'installazione del web server PHP/Curl non supporta l'accesso tramite HTTPS.\n"
|
1211 |
+
"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."
|
1212 |
+
|
1213 |
+
#: admin.php:1979
|
1214 |
+
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."
|
1215 |
+
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."
|
1216 |
+
|
1217 |
+
#: admin.php:2051
|
1218 |
+
msgid "Delete this backup set"
|
1219 |
+
msgstr "Cancella questo set di backup"
|
1220 |
+
|
1221 |
+
#: admin.php:2080
|
1222 |
+
msgid "Press here to download"
|
1223 |
+
msgstr "Premi qui per il download"
|
1224 |
+
|
1225 |
+
#: admin.php:2082
|
1226 |
+
msgid "(No %s)"
|
1227 |
+
msgstr "(Nessun %s)"
|
1228 |
+
|
1229 |
+
#: admin.php:2092
|
1230 |
+
msgid "Backup Log"
|
1231 |
+
msgstr "Backup Log"
|
1232 |
+
|
1233 |
+
#: admin.php:2100
|
1234 |
+
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
1235 |
+
msgstr "Dopo aver premuto questo pulsante, si potrà scegliere quali componenti si desidera ripristinare"
|
1236 |
+
|
1237 |
+
#: admin.php:2210
|
1238 |
+
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
1239 |
+
msgstr "Questo backup non esiste nella Cronologia Backup - ripristino interrotto. Timestamp:"
|
1240 |
+
|
1241 |
+
#: admin.php:2239
|
1242 |
+
msgid "UpdraftPlus Restoration: Progress"
|
1243 |
+
msgstr "UpdraftPlus Ripristino: avanzamento"
|
1244 |
+
|
1245 |
+
#: admin.php:2261
|
1246 |
+
msgid "ABORT: Could not find the information on which entities to restore."
|
1247 |
+
msgstr "ANNULLATO: Impossibile trovare le informazioni sulle entità da ripristinare."
|
1248 |
+
|
1249 |
+
#: admin.php:2262
|
1250 |
+
msgid "If making a request for support, please include this information:"
|
1251 |
+
msgstr "Se si fa la richiesta di assistenza, si prega di includere le seguenti informazioni:"
|
1252 |
+
|
1253 |
+
#: admin.php:2295
|
1254 |
+
msgid "This component was not selected for restoration - skipping."
|
1255 |
+
msgstr "Questo componente non è stato selezionato per il ripristino - tralasciato."
|
1256 |
+
|
1257 |
+
#: admin.php:1916
|
1258 |
+
msgid "Do not verify SSL certificates"
|
1259 |
+
msgstr "Non verificare i certificati SSL"
|
1260 |
+
|
1261 |
+
#: admin.php:1917
|
1262 |
+
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."
|
1263 |
+
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."
|
1264 |
+
|
1265 |
+
#: admin.php:1917
|
1266 |
+
msgid "Note that not all cloud backup methods are necessarily using SSL authentication."
|
1267 |
+
msgstr "Ricorda che non tutti i metodi di backup su Cloud utilizzano obbligatoriamente un autenticazione SSL."
|
1268 |
+
|
1269 |
+
#: admin.php:1921
|
1270 |
+
msgid "Disable SSL entirely where possible"
|
1271 |
+
msgstr "Disattivare SSL del tutto, se possibile"
|
1272 |
+
|
1273 |
+
#: admin.php:1880
|
1274 |
+
msgid "Expert settings"
|
1275 |
+
msgstr "Impostazioni avanzate"
|
1276 |
+
|
1277 |
+
#: admin.php:1881
|
1278 |
+
msgid "Show expert settings"
|
1279 |
+
msgstr "Mostra impostazioni avanzate"
|
1280 |
+
|
1281 |
+
#: admin.php:1881
|
1282 |
+
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
1283 |
+
msgstr "fare clic su questo elemento per mostrare ulteriori opzioni, non perdete tempo a meno che non hai un problema o sei curioso."
|
1284 |
+
|
1285 |
+
#: admin.php:1888
|
1286 |
+
msgid "Delete local backup"
|
1287 |
+
msgstr "Cancella backup locale"
|
1288 |
+
|
1289 |
+
#: admin.php:1889
|
1290 |
+
msgid "Uncheck this to prevent deletion of any superfluous backup files from your server after the backup run finishes (i.e. any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)."
|
1291 |
+
msgstr "Deselezionare questa opzione per evitare la cancellazione di alcuni file di backup superflui dal server al termine dell'esecuzione del backup (cioè tutti i file spediti in remoto rimarranno anche a livello locale, e ogni i file a livello locale non sarà soggetti a limiti di mantenimento)."
|
1292 |
+
|
1293 |
+
#: admin.php:1894
|
1294 |
+
msgid "Backup directory"
|
1295 |
+
msgstr "Cartella di Backup"
|
1296 |
+
|
1297 |
+
#: admin.php:1902
|
1298 |
+
msgid "Backup directory specified is writable, which is good."
|
1299 |
+
msgstr "La cartella di backup specificata è scrivibile, che è buona cosa."
|
1300 |
+
|
1301 |
+
#: admin.php:1904
|
1302 |
+
msgid "Backup directory specified is <b>not</b> writable, or does not exist."
|
1303 |
+
msgstr "La cartella di backup specificata <b>NON</b> è scrivibile, o non esiste."
|
1304 |
+
|
1305 |
+
#: admin.php:1904
|
1306 |
+
msgid "Click here to attempt to create the directory and set the permissions"
|
1307 |
+
msgstr "Clicca qui per tentare di creare la directory e impostare le autorizzazioni"
|
1308 |
+
|
1309 |
+
#: admin.php:1904
|
1310 |
+
msgid "or, to reset this option"
|
1311 |
+
msgstr "o, per resettare questa opzione"
|
1312 |
+
|
1313 |
+
#: admin.php:1904
|
1314 |
+
msgid "click here"
|
1315 |
+
msgstr "Clicca qui"
|
1316 |
+
|
1317 |
+
#: admin.php:1904
|
1318 |
+
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."
|
1319 |
+
msgstr "Se questo è infruttuoso controllare i permessi sul vostro server o cambiarlo in un'altra cartella che sia scrivibile dal tuo web server."
|
1320 |
+
|
1321 |
+
#: admin.php:1907
|
1322 |
+
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. Typically you'll want to have it inside your wp-content folder (this is the default). <b>Do not</b> place it inside your uploads dir, as that will cause recursion issues (backups of backups of backups of...)."
|
1323 |
+
msgstr "Questo è dove UpdraftPlus scriverà i file zip che crea inizialmente. Questa cartella deve essere scrivibile dal server web. In genere si desidera avere la cartella all'interno della cartella wp-content (questa è l'impostazione predefinita). <b>Non</b> inserirlo dentro le cartelle di upload, perché causerà problemi di ricorsione (backup di backup di backup di ...)."
|
1324 |
+
|
1325 |
+
#: admin.php:1911
|
1326 |
+
msgid "Use the server's SSL certificates"
|
1327 |
+
msgstr "Utilizza i certificati SSL del server"
|
1328 |
+
|
1329 |
+
#: admin.php:1912
|
1330 |
+
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."
|
1331 |
+
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) ."
|
1332 |
+
|
1333 |
+
#: admin.php:1618
|
1334 |
+
msgid "Use WordShell for automatic backup, version control and patching"
|
1335 |
+
msgstr "Utilizza WordShell per il backup automatico, il controllo di versione e per gestire le patch"
|
1336 |
+
|
1337 |
+
#: admin.php:1622
|
1338 |
+
msgid "Email"
|
1339 |
+
msgstr "E-mail"
|
1340 |
+
|
1341 |
+
#: admin.php:1623
|
1342 |
+
msgid "Enter an address here to have a report sent (and the whole backup, if you choose) to it."
|
1343 |
+
msgstr "Inserire un indirizzo qui per avere l'invio del rapporto (e l'intero backup, se scelto)."
|
1344 |
+
|
1345 |
+
#: admin.php:1627
|
1346 |
+
msgid "Database encryption phrase"
|
1347 |
+
msgstr "Frase di crittografia del database"
|
1348 |
+
|
1349 |
+
#: admin.php:1634
|
1350 |
+
msgid "If you enter text here, it is used to encrypt 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> Presently, only the database file is encrypted. 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)."
|
1351 |
+
msgstr "Se si immette del testo qui, verrà utilizzato per cifrare i backup (Rijndael). <strong>Si prega di fare una copia separata di essa e di non perderla, o tutti i backup <em>saranno inutili</em>. </strong> Al momento, solo il file di database è crittografato. Questa è anche la chiave utilizzata per decifrare i backup da questa interfaccia di amministrazione (quindi se la si cambia, la decrittografia automatica non funzionerà fino a quando non si cambia di nuovo)."
|
1352 |
+
|
1353 |
+
#: admin.php:1634
|
1354 |
+
msgid "You can also decrypt a database manually here."
|
1355 |
+
msgstr "Qui puoi anche decrittare manualmente un database."
|
1356 |
+
|
1357 |
+
#: admin.php:1637
|
1358 |
+
msgid "Manually decrypt a database backup file"
|
1359 |
+
msgstr "Decifra manualmente un file di backup del database"
|
1360 |
+
|
1361 |
+
#: admin.php:1641
|
1362 |
+
msgid "Drop encrypted database files (db.crypt.gz files) here to upload them for decryption"
|
1363 |
+
msgstr "Eliminare i file di database crittografati (file db.crypt.gz) qui per caricarli per la decrittazione"
|
1364 |
+
|
1365 |
+
#: admin.php:1644
|
1366 |
+
msgid "Use decryption key"
|
1367 |
+
msgstr "Utilizzo chiave di decrittazione"
|
1368 |
+
|
1369 |
+
#: admin.php:1658
|
1370 |
+
msgid "Copying Your Backup To Remote Storage"
|
1371 |
+
msgstr "Copia del backup per archiviazione remota"
|
1372 |
+
|
1373 |
+
#: admin.php:1662
|
1374 |
+
msgid "Choose your remote storage"
|
1375 |
+
msgstr "Scegli il tuo Storage Remoto"
|
1376 |
+
|
1377 |
+
#: admin.php:1674
|
1378 |
+
msgid "None"
|
1379 |
+
msgstr "Nessuno"
|
1380 |
+
|
1381 |
+
#: admin.php:1787 admin.php:1808 admin.php:1839
|
1382 |
+
msgid "Cancel"
|
1383 |
+
msgstr "Annulla"
|
1384 |
+
|
1385 |
+
#: admin.php:1822
|
1386 |
+
msgid "Requesting start of backup..."
|
1387 |
+
msgstr "Inizio del backup richiesto..."
|
1388 |
+
|
1389 |
+
#: admin.php:1873
|
1390 |
+
msgid "Advanced / Debugging Settings"
|
1391 |
+
msgstr "Impostazioni Avanzate e di Debug"
|
1392 |
+
|
1393 |
+
#: admin.php:1876
|
1394 |
+
msgid "Debug mode"
|
1395 |
+
msgstr "Debug mode"
|
1396 |
+
|
1397 |
+
#: admin.php:1877
|
1398 |
+
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong. You <strong>must</strong> send us this log if you are filing a bug report."
|
1399 |
+
msgstr "Spunta qui per ricevere maggiori informazioni e email sul processo di backup - utile se qualcosa è andato storto. <strong>Si deve</strong> inviare questo log se si sta inoltrando una segnalazione di bug."
|
1400 |
+
|
1401 |
+
#: admin.php:1618
|
1402 |
+
msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org."
|
1403 |
+
msgstr "Le cartelle sopra contengono tutto, tranne il core di WordPress che può essere scaricato da WordPress.org."
|
1404 |
+
|
1405 |
+
#: admin.php:1618
|
1406 |
+
msgid "Or, get the \"More Files\" add-on from our shop."
|
1407 |
+
msgstr "Oppure, ottenere l'add-on \"More Files\" dal nostro negozio online."
|
1408 |
+
|
1409 |
+
#: admin.php:1535
|
1410 |
+
msgid "Daily"
|
1411 |
+
msgstr "Giornaliero"
|
1412 |
+
|
1413 |
+
#: admin.php:1535
|
1414 |
+
msgid "Weekly"
|
1415 |
+
msgstr "Settimanale"
|
1416 |
+
|
1417 |
+
#: admin.php:1535
|
1418 |
+
msgid "Fortnightly"
|
1419 |
+
msgstr "Quindicinale"
|
1420 |
+
|
1421 |
+
#: admin.php:1535
|
1422 |
+
msgid "Monthly"
|
1423 |
+
msgstr "Mensile"
|
1424 |
+
|
1425 |
+
#: admin.php:1544 admin.php:1562
|
1426 |
+
msgid "and retain this many backups"
|
1427 |
+
msgstr "e conservare questo numero di backup"
|
1428 |
+
|
1429 |
+
#: admin.php:1551
|
1430 |
+
msgid "Database backup intervals"
|
1431 |
+
msgstr "Intervalli di backup del batabase"
|
1432 |
+
|
1433 |
+
#: admin.php:1569
|
1434 |
+
msgid "If you would like to automatically schedule backups, choose schedules from the dropdowns above. Backups will occur at the intervals specified. If the two schedules are the same, then the two backups will take place together. If you choose \"manual\" then you must click the \"Backup Now\" button whenever you wish a backup to occur."
|
1435 |
+
msgstr "Se si desidera pianificare automaticamente i backup, scegliere la pianificazione dal menu a tendina sopra. I backup avverranno agli intervalli indicati. Se due pianificazioni coincidono, avverranno entrambi insieme. Se si sceglie \"manuale\", allora sarà necessario fare clic sul pulsante \"Esegui Backup\" ogni volta che si desidera una copia di backup."
|
1436 |
+
|
1437 |
+
#: admin.php:1570
|
1438 |
+
msgid "To fix the time at which a backup should take place,"
|
1439 |
+
msgstr "Fissare il momento in cui un backup deve avvenire,"
|
1440 |
+
|
1441 |
+
#: admin.php:1570
|
1442 |
+
msgid "e.g. if your server is busy at day and you want to run overnight"
|
1443 |
+
msgstr "ad esempio, se il server è occupato di giorno si può eseguirlo durante la notte"
|
1444 |
+
|
1445 |
+
#: admin.php:1570
|
1446 |
+
msgid "use the \"Fix Time\" add-on"
|
1447 |
+
msgstr "utilizzare il \"Fix Time\" add-on"
|
1448 |
+
|
1449 |
+
#: admin.php:1574
|
1450 |
+
msgid "Include in files backup"
|
1451 |
+
msgstr "Includere nei files di backup"
|
1452 |
+
|
1453 |
+
#: admin.php:1584
|
1454 |
+
msgid "Any other directories found inside wp-content"
|
1455 |
+
msgstr "Eventuali altre directory trovati dentro wp-content"
|
1456 |
+
|
1457 |
+
#: admin.php:1590
|
1458 |
+
msgid "Exclude these:"
|
1459 |
+
msgstr "Escludi questi:"
|
1460 |
+
|
1461 |
+
#: admin.php:1592
|
1462 |
+
msgid "If entering multiple files/directories, then separate them with commas"
|
1463 |
+
msgstr "Se si immettono più file / cartelle, separarli con le virgole"
|
1464 |
+
|
1465 |
+
#: admin.php:1288
|
1466 |
+
msgid "Debug Database Backup"
|
1467 |
+
msgstr "Debug Database Backup"
|
1468 |
+
|
1469 |
+
#: admin.php:1288
|
1470 |
+
msgid "This will cause an immediate DB backup. The page will stall loading until it finishes (ie, unscheduled). The backup may well run out of time; really this button is only helpful for checking that the backup is able to get through the initial stages, or for small WordPress sites.."
|
1471 |
+
msgstr "Questo causerà un backup immediato del database. La pagina non riuscirà a caricarsi fino a che non finisce il processo(cioè, non in programma). Il backup potrebbe andare in timeout; in realtà questo pulsante è solo utile per verificare che il backup sia in grado di passare le fasi iniziali, o per piccoli siti WordPress .."
|
1472 |
+
|
1473 |
+
#: admin.php:1294
|
1474 |
+
msgid "Wipe Settings"
|
1475 |
+
msgstr "Pulizia dei settaggi"
|
1476 |
+
|
1477 |
+
#: admin.php:1295
|
1478 |
+
msgid "This button will delete all UpdraftPlus settings (but not any of your existing backups from your cloud storage). You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish."
|
1479 |
+
msgstr "Questo pulsante consente di cancellare tutte le impostazioni di UpdraftPlus (ma non i vostri backup esistenti nel vostro cloud storage). Sarà quindi necessario inserire di nuovo tutte le impostazioni. Se lo si desidera è possibile farlo prima della disattivazione / disinstallazione di UpdraftPlus."
|
1480 |
+
|
1481 |
+
#: admin.php:1298
|
1482 |
+
msgid "Wipe All Settings"
|
1483 |
+
msgstr "Pulizia di tutti i settaggi"
|
1484 |
+
|
1485 |
+
#: admin.php:1298
|
1486 |
+
msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?"
|
1487 |
+
msgstr "Questa operazione eliminerà tutte le impostazioni di UpdraftPlus - si è sicuri di volerlo fare?"
|
1488 |
+
|
1489 |
+
#: admin.php:1300
|
1490 |
+
msgid "Active jobs"
|
1491 |
+
msgstr "Processi attivi"
|
1492 |
+
|
1493 |
+
#: admin.php:1379
|
1494 |
+
msgid "%s: began at: %s; next resumption: %d (after %ss)"
|
1495 |
+
msgstr "%s: iniziata a: %s; prossima ripresa: %d (dopo %ss)"
|
1496 |
+
|
1497 |
+
#: admin.php:1379
|
1498 |
+
msgid "show log"
|
1499 |
+
msgstr "Mostra log"
|
1500 |
+
|
1501 |
+
#: admin.php:1379
|
1502 |
+
msgid "delete schedule"
|
1503 |
+
msgstr "elimina programmazione"
|
1504 |
+
|
1505 |
+
#: admin.php:1386
|
1506 |
+
msgid "(None)"
|
1507 |
+
msgstr "(Nessuno)"
|
1508 |
+
|
1509 |
+
#: admin.php:1318
|
1510 |
+
msgid "Unknown response:"
|
1511 |
+
msgstr "Risposta sconosciuta"
|
1512 |
+
|
1513 |
+
#: admin.php:1409 admin.php:1765
|
1514 |
+
msgid "Delete"
|
1515 |
+
msgstr "Cancella"
|
1516 |
+
|
1517 |
+
#: admin.php:1451
|
1518 |
+
msgid "The request to the filesystem to create the directory failed."
|
1519 |
+
msgstr "La richiesta di creazione della cartella al file system è fallita."
|
1520 |
+
|
1521 |
+
#: admin.php:1465
|
1522 |
+
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"
|
1523 |
+
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"
|
1524 |
+
|
1525 |
+
#: admin.php:1469
|
1526 |
+
msgid "The folder exists, but your webserver does not have permission to write to it."
|
1527 |
+
msgstr "La cartella esiste, ma il server web non ha il permesso di scrivere."
|
1528 |
+
|
1529 |
+
#: admin.php:1469
|
1530 |
+
msgid "You will need to consult with your web hosting provider to find out to set permissions for a WordPress plugin to write to the directory."
|
1531 |
+
msgstr "È necessario consultare il proprio web hosting provider per sapere come impostare le autorizzazioni per permettere a un plugin di WordPress di scrivere nella cartella."
|
1532 |
+
|
1533 |
+
#: admin.php:1509
|
1534 |
+
msgid "Download log file"
|
1535 |
+
msgstr "Scarica il file di log"
|
1536 |
+
|
1537 |
+
#: admin.php:1515
|
1538 |
+
msgid "No backup has been completed."
|
1539 |
+
msgstr "Nessun backup è stato completato."
|
1540 |
+
|
1541 |
+
#: admin.php:1532
|
1542 |
+
msgid "File backup intervals"
|
1543 |
+
msgstr "Intervallo di creazione backup"
|
1544 |
+
|
1545 |
+
#: admin.php:1535
|
1546 |
+
msgid "Manual"
|
1547 |
+
msgstr "Manuale"
|
1548 |
+
|
1549 |
+
#: admin.php:1535
|
1550 |
+
msgid "Every 4 hours"
|
1551 |
+
msgstr "Ogni 4 ore"
|
1552 |
+
|
1553 |
+
#: admin.php:1535
|
1554 |
+
msgid "Every 8 hours"
|
1555 |
+
msgstr "Ogni 8 ore"
|
1556 |
+
|
1557 |
+
#: admin.php:1535
|
1558 |
+
msgid "Every 12 hours"
|
1559 |
+
msgstr "Ogni 12 ore"
|
1560 |
+
|
1561 |
+
#: admin.php:1214
|
1562 |
+
msgid "To proceed, press 'Backup Now'. Then, watch the 'Last Log Message' field for activity after about 10 seconds. WordPress should start the backup running in the background."
|
1563 |
+
msgstr "Per continuare, premere 'Esegui Backup'. Poi, guarda il campo 'Ultimo Messaggio di log' per l'attività dopo circa 10 secondi. WordPress dovrebbe avviare il backup in esecuzione in background."
|
1564 |
+
|
1565 |
+
#: admin.php:1216
|
1566 |
+
msgid "Does nothing happen when you schedule backups?"
|
1567 |
+
msgstr "Non succede nulla quando si pianifica i backup?"
|
1568 |
+
|
1569 |
+
#: admin.php:1216
|
1570 |
+
msgid "Go here for help."
|
1571 |
+
msgstr "Vai qui per l'aiuto."
|
1572 |
+
|
1573 |
+
#: admin.php:1222
|
1574 |
+
msgid "Multisite"
|
1575 |
+
msgstr "Multi-sito"
|
1576 |
+
|
1577 |
+
#: admin.php:1226
|
1578 |
+
msgid "Do you need WordPress Multisite support?"
|
1579 |
+
msgstr "Hai bisogno di supporto per WordPress multi-sito?"
|
1580 |
+
|
1581 |
+
#: admin.php:1226
|
1582 |
+
msgid "Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
1583 |
+
msgstr "Si prega di verificare UpdraftPlus Premium, oppure l'add-on stand-alone multi-sito."
|
1584 |
+
|
1585 |
+
#: admin.php:1231
|
1586 |
+
msgid "Configure Backup Contents And Schedule"
|
1587 |
+
msgstr "Configurare Contenuti di backup e Pianificazione"
|
1588 |
+
|
1589 |
+
#: admin.php:1237
|
1590 |
+
msgid "Debug Information And Expert Options"
|
1591 |
+
msgstr "Informazioni di debug e Opzioni Avanzate"
|
1592 |
+
|
1593 |
+
#: admin.php:1240
|
1594 |
+
msgid "Web server:"
|
1595 |
+
msgstr "Web server:"
|
1596 |
+
|
1597 |
+
#: admin.php:1243
|
1598 |
+
msgid "Peak memory usage"
|
1599 |
+
msgstr "Utilizzo di memoria (picco)"
|
1600 |
+
|
1601 |
+
#: admin.php:1244
|
1602 |
+
msgid "Current memory usage"
|
1603 |
+
msgstr "Utilizzo di memoria attuale"
|
1604 |
+
|
1605 |
+
#: admin.php:1245
|
1606 |
+
msgid "PHP memory limit"
|
1607 |
+
msgstr "Limite di memoria PHP"
|
1608 |
+
|
1609 |
+
#: admin.php:1246
|
1610 |
+
msgid "%s version:"
|
1611 |
+
msgstr "Versione %s"
|
1612 |
+
|
1613 |
+
#: admin.php:1250 admin.php:1252 admin.php:1259
|
1614 |
+
msgid "Yes"
|
1615 |
+
msgstr "Si"
|
1616 |
+
|
1617 |
+
#: admin.php:1252 admin.php:1259
|
1618 |
+
msgid "No"
|
1619 |
+
msgstr "No"
|
1620 |
+
|
1621 |
+
#: admin.php:1255
|
1622 |
+
msgid "PHP has support for ZipArchive::addFile:"
|
1623 |
+
msgstr "PHP supporta ZipArchive::addFile:"
|
1624 |
+
|
1625 |
+
#: admin.php:1261
|
1626 |
+
msgid "Total (uncompressed) on-disk data:"
|
1627 |
+
msgstr "Totale (non compresso) dati su disco:"
|
1628 |
+
|
1629 |
+
#: admin.php:1262
|
1630 |
+
msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options."
|
1631 |
+
msgstr "N.B. Questo conteggio si basa su quello che era, o non era, escluso l'ultima volta che sono state salvate le opzioni."
|
1632 |
+
|
1633 |
+
#: admin.php:1269
|
1634 |
+
msgid "count"
|
1635 |
+
msgstr "conteggio"
|
1636 |
+
|
1637 |
+
#: admin.php:1275
|
1638 |
+
msgid "The buttons below will immediately execute a backup run, independently of WordPress's scheduler. If these work whilst your scheduled backups and the \"Backup Now\" button do absolutely nothing (i.e. not even produce a log file), then it means that your scheduler is broken. You should then disable all your other plugins, and try the \"Backup Now\" button. If that fails, then contact your web hosting company and ask them if they have disabled wp-cron. If it succeeds, then re-activate your other plugins one-by-one, and find the one that is the problem and report a bug to them."
|
1639 |
+
msgstr "I pulsanti sotto eseguono immediatamente un backup, indipendentemente dallo scheduler di WordPress. Se questi funzionano, mentre i backup schedulati e il pulsante \"Backup Now\" non fanno assolutamente nulla (cioè nemmeno produrre un file di log), allora significa che lo scheduler non funziona. Si dovrebbe quindi disabilitare tutti gli altri plugin, e provare a premere il pulsante \"Esegui Backup\". Se non funziona, allora contattare la società di web hosting e chiedere loro se hanno disabilitato wp-cron. Se invece funziona, ri-attivare tutti gli altri plugin uno per uno, in modo da trovare quello che genera il problema e segnalare il bug allo sviluppatore."
|
1640 |
+
|
1641 |
+
#: admin.php:1283
|
1642 |
+
msgid "Debug Full Backup"
|
1643 |
+
msgstr "Debug backup completo"
|
1644 |
+
|
1645 |
+
#: admin.php:1283
|
1646 |
+
msgid "This will cause an immediate backup. The page will stall loading until it finishes (ie, unscheduled)."
|
1647 |
+
msgstr "Questo causerà un backup immediato. La pagina non verrà caricata fino a che non finirà il backup(cioè, non programmato)."
|
1648 |
+
|
1649 |
+
#: admin.php:1001
|
1650 |
+
msgid "UpdraftPlus - Upload backup files"
|
1651 |
+
msgstr "UpdraftPlus - Carica file di backup"
|
1652 |
+
|
1653 |
+
#: admin.php:1002
|
1654 |
+
msgid "Upload files into UpdraftPlus. Use this to import backups made on a different WordPress installation."
|
1655 |
+
msgstr "Carica file in UpdraftPlus. Utilizzare questa funzione per importare i backup fatti su una diversa installazione di WordPress."
|
1656 |
+
|
1657 |
+
#: admin.php:1006
|
1658 |
+
msgid "Drop backup zips here"
|
1659 |
+
msgstr "Eliminare file zip di backup qui"
|
1660 |
+
|
1661 |
+
#: admin.php:1007 admin.php:1642
|
1662 |
+
msgid "or"
|
1663 |
+
msgstr "oppure"
|
1664 |
+
|
1665 |
+
#: admin.php:1020 admin.php:1330
|
1666 |
+
msgid "calculating..."
|
1667 |
+
msgstr "sto calcolando..."
|
1668 |
+
|
1669 |
+
#: admin.php:1078 admin.php:1100 admin.php:1778
|
1670 |
+
#: includes/updraft-restorer.php:589
|
1671 |
+
msgid "Error:"
|
1672 |
+
msgstr "Errore:"
|
1673 |
+
|
1674 |
+
#: admin.php:1088
|
1675 |
+
msgid "You should:"
|
1676 |
+
msgstr "Dovresti:"
|
1677 |
+
|
1678 |
+
#: admin.php:1095
|
1679 |
+
msgid "Download error: the server sent us a response (JSON) which we did not understand"
|
1680 |
+
msgstr "Errore di Download: il server ha inviato una risposta (JSON) non conosciuta."
|
1681 |
+
|
1682 |
+
#: admin.php:1100
|
1683 |
+
msgid "Download error: the server sent us a response which we did not understand."
|
1684 |
+
msgstr "Errore di Download: il server ha inviato una risposta non conosciuta."
|
1685 |
+
|
1686 |
+
#: admin.php:1115
|
1687 |
+
msgid "Delete backup set"
|
1688 |
+
msgstr "Cancellazione del set di backup"
|
1689 |
+
|
1690 |
+
#: admin.php:1118
|
1691 |
+
msgid "Are you sure that you wish to delete this backup set?"
|
1692 |
+
msgstr "Sei sicuro di voler cancellare questo set di backup?"
|
1693 |
+
|
1694 |
+
#: admin.php:1133
|
1695 |
+
msgid "Restore backup"
|
1696 |
+
msgstr "Ripristina backup"
|
1697 |
+
|
1698 |
+
#: admin.php:1134
|
1699 |
+
msgid "Restore backup from"
|
1700 |
+
msgstr "Ripristina backup da"
|
1701 |
+
|
1702 |
+
#: admin.php:1135
|
1703 |
+
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)."
|
1704 |
+
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)."
|
1705 |
+
|
1706 |
+
#: admin.php:1135
|
1707 |
+
msgid "Choose the components to restore"
|
1708 |
+
msgstr "Scegli i componenti da ripristinare"
|
1709 |
+
|
1710 |
+
#: admin.php:1144
|
1711 |
+
msgid "Your web server has PHP's so-called safe_mode active."
|
1712 |
+
msgstr "Il tuo server web ha il safe_mode PHP attivo."
|
1713 |
+
|
1714 |
+
#: admin.php:1144
|
1715 |
+
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, <a href=\"http://updraftplus.com/faqs/i-want-to-restore-but-have-either-cannot-or-have-failed-to-do-so-from-the-wp-admin-console/\">or to restore manually</a>."
|
1716 |
+
msgstr "Questo rende i time-out molto più probabili. Si consiglia di disabilitare il safe_mode, oppure di ripristinare una sola entità per volta,<a href=\"http://updraftplus.com/faqs/i-want-to-restore-but-have-either-cannot-or-have-failed-to-do-so-from-the-wp-admin-console/\">oppure di fare il ripristino manualmente</a>."
|
1717 |
+
|
1718 |
+
#: admin.php:1157
|
1719 |
+
msgid "The following entity cannot be restored automatically: \"%s\"."
|
1720 |
+
msgstr "Le seguenti entità non può essere ripristinata automaticamente: \"%s\"."
|
1721 |
+
|
1722 |
+
#: admin.php:1157
|
1723 |
+
msgid "You will need to restore it manually."
|
1724 |
+
msgstr "Sarà necessario fare il ripristino manualmente."
|
1725 |
+
|
1726 |
+
#: admin.php:1164
|
1727 |
+
msgid "%s restoration options:"
|
1728 |
+
msgstr "Opzione di ripristino %s:"
|
1729 |
+
|
1730 |
+
#: admin.php:1172
|
1731 |
+
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"
|
1732 |
+
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"
|
1733 |
+
|
1734 |
+
#: admin.php:1193
|
1735 |
+
msgid "Do read this helpful article of useful things to know before restoring."
|
1736 |
+
msgstr "Si prega di leggere questo articolo esplicativo di cose utili da sapere prima di ripristinare."
|
1737 |
+
|
1738 |
+
#: admin.php:1213
|
1739 |
+
msgid "Perform a one-time backup"
|
1740 |
+
msgstr "Eseguire un backup singolo"
|
1741 |
+
|
1742 |
+
#: admin.php:943
|
1743 |
+
msgid "Time now"
|
1744 |
+
msgstr "Ora attuale"
|
1745 |
+
|
1746 |
+
#: admin.php:947
|
1747 |
+
msgid "Last finished backup run"
|
1748 |
+
msgstr "Ultimo backup eseguito"
|
1749 |
+
|
1750 |
+
#: admin.php:953 admin.php:1820
|
1751 |
+
msgid "Backup Now"
|
1752 |
+
msgstr "Esegui Backup"
|
1753 |
+
|
1754 |
+
#: admin.php:960 admin.php:1794 admin.php:2100
|
1755 |
+
msgid "Restore"
|
1756 |
+
msgstr "Ripristino"
|
1757 |
+
|
1758 |
+
#: admin.php:969
|
1759 |
+
msgid "Last log message"
|
1760 |
+
msgstr "Ultimo messaggio di Log"
|
1761 |
+
|
1762 |
+
#: admin.php:971
|
1763 |
+
msgid "(Nothing yet logged)"
|
1764 |
+
msgstr "(Niente è stato loggato)"
|
1765 |
+
|
1766 |
+
#: admin.php:972
|
1767 |
+
msgid "Download most recently modified log file"
|
1768 |
+
msgstr "Scarica il file di log più recente"
|
1769 |
+
|
1770 |
+
#: admin.php:976
|
1771 |
+
msgid "Backups, logs & restoring"
|
1772 |
+
msgstr "Backups, logs & rispristino"
|
1773 |
+
|
1774 |
+
#: admin.php:977
|
1775 |
+
msgid "Press to see available backups"
|
1776 |
+
msgstr "Premi per vedere backup disponibili"
|
1777 |
+
|
1778 |
+
#: admin.php:977
|
1779 |
+
msgid "%d set(s) available"
|
1780 |
+
msgstr "%d set Disponibili"
|
1781 |
+
|
1782 |
+
#: admin.php:991
|
1783 |
+
msgid "Downloading and restoring"
|
1784 |
+
msgstr "Download e Ripristino."
|
1785 |
+
|
1786 |
+
#: admin.php:993
|
1787 |
+
msgid "Downloading"
|
1788 |
+
msgstr "Download"
|
1789 |
+
|
1790 |
+
#: admin.php:993
|
1791 |
+
msgid "Pressing a button for Database/Plugins/Themes/Uploads/Others will make UpdraftPlus try to bring the backup file back from the remote storage (if any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then you will be allowed to download it to your computer. If the fetch from the remote storage stops progressing (wait 30 seconds to make sure), then press again to resume. Remember that you can also visit the cloud storage vendor's website directly."
|
1792 |
+
msgstr "La pressione di un pulsante per il Database/Plugins/Temi/Uploads/Altri farà in modo che UpdraftPlus provi a prendere il file di backup dallo storage remoto (se presente - ad esempio Amazon S3, Dropbox, Google Drive, FTP) verso il server web. Poi vi sarà possibile scaricarlo sul computer locale. Se l'operazione di recupero da memoria remota smettesse di progredire (attendere 30 secondi per essere sicuri), premere di nuovo per riprendere. Ricorda che puoi anche visitare direttamente il sito del servizio di cloud storage."
|
1793 |
+
|
1794 |
+
#: admin.php:994
|
1795 |
+
msgid "Restoring"
|
1796 |
+
msgstr "Ripristino"
|
1797 |
+
|
1798 |
+
#: admin.php:994
|
1799 |
+
msgid "Press the button for the backup you wish to restore. If your site is large and you are using remote storage, then you should first click on each entity in order to retrieve it back to the webserver. This will prevent time-outs from occuring during the restore process itself."
|
1800 |
+
msgstr "Premere il pulsante per il backup che si desidera ripristinare. Se il sito è di grandi dimensioni e si utilizza lo storage remoto, allora si deve prima fare clic su ciascuna entità, al fine di recuperarlo di nuovo nel server web. Questo consentirà di evitare timeout che possono verificarsi durante il processo di ripristino stesso."
|
1801 |
+
|
1802 |
+
#: admin.php:994
|
1803 |
+
msgid "More tasks:"
|
1804 |
+
msgstr "Altre attività: "
|
1805 |
+
|
1806 |
+
#: admin.php:994
|
1807 |
+
msgid "upload backup files"
|
1808 |
+
msgstr "Carica i file di backup"
|
1809 |
+
|
1810 |
+
#: admin.php:994
|
1811 |
+
msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded. The location of this directory is set in the expert settings, below."
|
1812 |
+
msgstr "Premere qui per guardare dentro la cartella UpdraftPlus (nel tuo spazio web hosting) per ogni nuovo set di backup che hai caricato. La posizione di questa cartella è impostata nelle impostazioni avanzate, di seguito."
|
1813 |
+
|
1814 |
+
#: admin.php:994
|
1815 |
+
msgid "rescan folder for new backup sets"
|
1816 |
+
msgstr "ri-analizza la cartella per nuovi set di backup"
|
1817 |
+
|
1818 |
+
#: admin.php:995
|
1819 |
+
msgid "Opera web browser"
|
1820 |
+
msgstr "Browser web Opera"
|
1821 |
+
|
1822 |
+
#: admin.php:995
|
1823 |
+
msgid "If you are using this, then turn Turbo/Road mode off."
|
1824 |
+
msgstr "Se stai utilizzando questo, allora imposta Turbo/Road Mode su off"
|
1825 |
+
|
1826 |
+
#: admin.php:997
|
1827 |
+
msgid "Google Drive"
|
1828 |
+
msgstr "Google Drive"
|
1829 |
+
|
1830 |
+
#: admin.php:997
|
1831 |
+
msgid "Google changed their permissions setup recently (April 2013). To download or restore from Google Drive, you <strong>must</strong> first re-authenticate (using the link in the Google Drive configuration section)."
|
1832 |
+
msgstr "Google ha cambiato la loro impostazione di autorizzazioni di recente (aprile 2013). Per scaricare o ripristinare da Google Drive, <strong>è necessario</strong>autenticarsi nuovamente (utilizzando il link nella sezione di configurazione di Google Drive)."
|
1833 |
+
|
1834 |
+
#: admin.php:999
|
1835 |
+
msgid "This is a count of the contents of your Updraft directory"
|
1836 |
+
msgstr "Questo è un conteggio dei contenuti della cartella Updraft"
|
1837 |
+
|
1838 |
+
#: admin.php:999
|
1839 |
+
msgid "Web-server disk space in use by UpdraftPlus"
|
1840 |
+
msgstr "Spazio sul server web in uso da UpdraftPlus"
|
1841 |
+
|
1842 |
+
#: admin.php:999
|
1843 |
+
msgid "refresh"
|
1844 |
+
msgstr "aggiorna"
|
1845 |
+
|
1846 |
+
#: admin.php:856
|
1847 |
+
msgid "By UpdraftPlus.Com"
|
1848 |
+
msgstr "By UpdraftPlus.Com"
|
1849 |
+
|
1850 |
+
#: admin.php:856
|
1851 |
+
msgid "Lead developer's homepage"
|
1852 |
+
msgstr "Vai alla homepage dello sviluppatore"
|
1853 |
+
|
1854 |
+
#: admin.php:856
|
1855 |
+
msgid "Donate"
|
1856 |
+
msgstr "Dona"
|
1857 |
+
|
1858 |
+
#: admin.php:856
|
1859 |
+
msgid "Other WordPress plugins"
|
1860 |
+
msgstr "Altri plugin WordPress"
|
1861 |
+
|
1862 |
+
#: admin.php:856
|
1863 |
+
msgid "Version"
|
1864 |
+
msgstr "Versione"
|
1865 |
+
|
1866 |
+
#: admin.php:860
|
1867 |
+
msgid "Your backup has been restored."
|
1868 |
+
msgstr "Il backup è stato ripristinato."
|
1869 |
+
|
1870 |
+
#: admin.php:860
|
1871 |
+
msgid "Your old (themes, uploads, plugins, whatever) directories have been retained with \"-old\" appended to their name. Remove them when you are satisfied that the backup worked properly."
|
1872 |
+
msgstr "Le cartelle vecchie (temi, upload, plugin, quali che siano) sono state mantenute con \"-old\" aggiunto al nome. Rimuoverli quando si è soddisfatti che il backup è andato a buon fine."
|
1873 |
+
|
1874 |
+
#: admin.php:866
|
1875 |
+
msgid "Old directories successfully deleted."
|
1876 |
+
msgstr "Vecchie cartelle cancellate correttamente."
|
1877 |
+
|
1878 |
+
#: admin.php:869
|
1879 |
+
msgid "Your PHP memory limit (set by your web hosting company) is quite 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 bhe successful with a 32Mb limit - your experience may vary)."
|
1880 |
+
msgstr "Il tuo limite di memoria PHP (fissato dalla società di web hosting) è piuttosto basso. UpdraftPlus ha provato ad alzarlo, ma senza successo. Questo plugin può funzionare con un limite di memoria di meno di 64 Mb - soprattutto se si dispone di file di grandi dimensioni caricati (anche se d'altra parte, molti siti funzionano anche con un limite di 32Mb - il comportamento potrebbe essere differente a seconda dei casi)."
|
1881 |
+
|
1882 |
+
#: admin.php:869
|
1883 |
+
msgid "Current limit is:"
|
1884 |
+
msgstr "Il limite corrente è:"
|
1885 |
+
|
1886 |
+
#: admin.php:873
|
1887 |
+
msgid "Your PHP max_execution_time is less than 60 seconds. This possibly means you're running in safe_mode. Either disable safe_mode or modify your php.ini to set max_execution_time to a higher number. If you do not, then longer will be needed to complete a backup (but that is all). Present limit is:"
|
1888 |
+
msgstr "Il tuo max_execution_time di PHP è inferiore a 60 secondi. Questo significa forse che si sta eseguendo in safe_mode. Disabilitare safe_mode o modificare il file php.ini per impostare max_execution_time ad un numero più alto. Se non lo fai, sarà necessario di più per completare un backup. Il limite attuale è:"
|
1889 |
+
|
1890 |
+
#: admin.php:873
|
1891 |
+
msgid "seconds"
|
1892 |
+
msgstr "secondi"
|
1893 |
+
|
1894 |
+
#: admin.php:878
|
1895 |
+
msgid "You have old directories from a previous backup (technical information: these are found in wp-content, and suffixed with -old). Use this button to delete them (if you have verified that the restoration worked)."
|
1896 |
+
msgstr "Sono state trovate vecchie cartelle di un backup precedente (informazione tecnica: questi si trovano in wp-content, e con suffisso -old). Utilizzare questo pulsante per eliminarle (se si è verificato che il ripristino ha funzionato)."
|
1897 |
+
|
1898 |
+
#: admin.php:882
|
1899 |
+
msgid "Delete Old Directories"
|
1900 |
+
msgstr "Elimina Vecchie Cartelle"
|
1901 |
+
|
1902 |
+
#: admin.php:882
|
1903 |
+
msgid "Are you sure you want to delete the old directories? This cannot be undone."
|
1904 |
+
msgstr "Sei sicuro di voler cancellare le vecchie cartelle? Questa operazione non può essere annullata."
|
1905 |
+
|
1906 |
+
#: admin.php:896
|
1907 |
+
msgid "Existing Schedule And Backups"
|
1908 |
+
msgstr "Pianificazione e backup esistenti"
|
1909 |
+
|
1910 |
+
#: admin.php:900
|
1911 |
+
msgid "JavaScript warning"
|
1912 |
+
msgstr "Notifiche JavaScript"
|
1913 |
+
|
1914 |
+
#: admin.php:901
|
1915 |
+
msgid "This admin interface uses JavaScript heavily. You either need to activate it within your browser, or to use a JavaScript-capable browser."
|
1916 |
+
msgstr "Questa interfaccia di amministrazione utilizza JavaScript. È necessario attivarne la gestione all'interno del tuo browser, oppure utilizzare un browser che supporti JavaScript."
|
1917 |
+
|
1918 |
+
#: admin.php:914 admin.php:927
|
1919 |
+
msgid "Nothing currently scheduled"
|
1920 |
+
msgstr "Nessuna schedulazione."
|
1921 |
+
|
1922 |
+
#: admin.php:919
|
1923 |
+
msgid "At the same time as the files backup"
|
1924 |
+
msgstr "Contemporaneamente al backup dei file"
|
1925 |
+
|
1926 |
+
#: admin.php:939
|
1927 |
+
msgid "All the times shown in this section are using WordPress's configured time zone, which you can set in Settings -> General"
|
1928 |
+
msgstr "Tutti gli orari riportati in questa sezione utilizzano il fuso orario configurato di WordPress, che è possibile impostare in Impostazioni -> Generali"
|
1929 |
+
|
1930 |
+
#: admin.php:939
|
1931 |
+
msgid "Next scheduled backups"
|
1932 |
+
msgstr "Prossimo Backup programmato"
|
1933 |
+
|
1934 |
+
#: admin.php:941
|
1935 |
+
msgid "Files"
|
1936 |
+
msgstr "Files"
|
1937 |
+
|
1938 |
+
#: admin.php:942 admin.php:1161 admin.php:1164 admin.php:2055 admin.php:2062
|
1939 |
+
#: admin.php:2289
|
1940 |
+
msgid "Database"
|
1941 |
+
msgstr "Database"
|
1942 |
+
|
1943 |
+
#: admin.php:204
|
1944 |
+
msgid "Your website is hosted using the %s web server."
|
1945 |
+
msgstr "Il tuo sito web è ospitato utilizzando il web server %s."
|
1946 |
+
|
1947 |
+
#: admin.php:204
|
1948 |
+
msgid "Please consult this FAQ if you have problems backing up."
|
1949 |
+
msgstr "Si prega di consultare questa FAQ se hai problemi di backup."
|
1950 |
+
|
1951 |
+
#: admin.php:217 admin.php:221
|
1952 |
+
msgid "Click here to authenticate your %s account (you will not be able to back up to %s without it)."
|
1953 |
+
msgstr "Clicca qui per autenticare il tuo account %s (non sarai in grado di eseguire il backup su %s senza di essa)."
|
1954 |
+
|
1955 |
+
#: admin.php:372
|
1956 |
+
msgid "The backup archive for restoring this file could not be found. The remote storage method in use (%s) does not allow us to retrieve files. To proceed with this restoration, you need to obtain a copy of this file and place it inside UpdraftPlus's working folder"
|
1957 |
+
msgstr "L'archivio di backup per il ripristino di questo file non è stato trovato. Il metodo di archiviazione remota in uso (%s) non ci permette di recuperare i file. Per procedere con questo ripristino, è necessario ottenere una copia di questo file e posizionarlo all'interno della cartella di lavoro di UpdraftPlus"
|
1958 |
+
|
1959 |
+
#: admin.php:387
|
1960 |
+
msgid "Nothing yet logged"
|
1961 |
+
msgstr "Niente ancora loggato"
|
1962 |
+
|
1963 |
+
#: admin.php:477
|
1964 |
+
msgid "Schedule backup"
|
1965 |
+
msgstr "backup programmato"
|
1966 |
+
|
1967 |
+
#: admin.php:480
|
1968 |
+
msgid "Failed."
|
1969 |
+
msgstr "Fallito."
|
1970 |
+
|
1971 |
+
#: admin.php:483
|
1972 |
+
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
1973 |
+
msgstr "OK. A breve si dovrebbe vedere l'attività nel campo \"Ultimo Messaggio di log\" di seguito."
|
1974 |
+
|
1975 |
+
#: admin.php:483
|
1976 |
+
msgid "Nothing happening? Follow this link for help."
|
1977 |
+
msgstr "Non succede niente? Segui questo collegamento per un aiuto."
|
1978 |
+
|
1979 |
+
#: admin.php:502
|
1980 |
+
msgid "Job deleted"
|
1981 |
+
msgstr "Processo cancellato"
|
1982 |
+
|
1983 |
+
#: admin.php:508
|
1984 |
+
msgid "Could not find that job - perhaps it has already finished?"
|
1985 |
+
msgstr "Impossibile trovare il processo - forse è già stata completata."
|
1986 |
+
|
1987 |
+
#: admin.php:520 includes/updraft-restorer.php:661
|
1988 |
+
#: includes/updraft-restorer.php:693
|
1989 |
+
msgid "Error"
|
1990 |
+
msgstr "Errore"
|
1991 |
+
|
1992 |
+
#: admin.php:535
|
1993 |
+
msgid "Download failed"
|
1994 |
+
msgstr "Download fallito"
|
1995 |
+
|
1996 |
+
#: admin.php:549 admin.php:1088
|
1997 |
+
msgid "File ready."
|
1998 |
+
msgstr "File pronto."
|
1999 |
+
|
2000 |
+
#: admin.php:557
|
2001 |
+
msgid "Download in progress"
|
2002 |
+
msgstr "Download in corso"
|
2003 |
+
|
2004 |
+
#: admin.php:560
|
2005 |
+
msgid "No local copy present."
|
2006 |
+
msgstr "Nessuna copia locale presente."
|
2007 |
+
|
2008 |
+
#: admin.php:668
|
2009 |
+
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
2010 |
+
msgstr "Errore nel formato del nome del file - questo file sembra non sia stato creato da UpdraftPlus"
|
2011 |
+
|
2012 |
+
#: admin.php:747
|
2013 |
+
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
2014 |
+
msgstr "Errore nel formato del nome del file - questo file non sembra un file di database crittografato e creato da UpdraftPlus"
|
2015 |
+
|
2016 |
+
#: admin.php:776
|
2017 |
+
msgid "Restore successful!"
|
2018 |
+
msgstr "Ripristino avvenuto con successo!"
|
2019 |
+
|
2020 |
+
#: admin.php:777 admin.php:815 admin.php:834
|
2021 |
+
msgid "Actions"
|
2022 |
+
msgstr "Azioni"
|
2023 |
+
|
2024 |
+
#: admin.php:777 admin.php:792 admin.php:815 admin.php:834
|
2025 |
+
msgid "Return to UpdraftPlus Configuration"
|
2026 |
+
msgstr "Ritorno a Configurazione di UpdraftPlus"
|
2027 |
+
|
2028 |
+
#: admin.php:804
|
2029 |
+
msgid "Remove old directories"
|
2030 |
+
msgstr "Rimuove vecchie cartelle"
|
2031 |
+
|
2032 |
+
#: admin.php:810
|
2033 |
+
msgid "Old directories successfully removed."
|
2034 |
+
msgstr "Vecchie cartelle rimosse con successo."
|
2035 |
+
|
2036 |
+
#: admin.php:813
|
2037 |
+
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
2038 |
+
msgstr "Problemi nella rimozione della vecchia cartella, prova a cancellarla manualmente."
|
2039 |
+
|
2040 |
+
#: admin.php:825
|
2041 |
+
msgid "Backup directory could not be created"
|
2042 |
+
msgstr "Impossibile creare la cartella di backup"
|
2043 |
+
|
2044 |
+
#: admin.php:832
|
2045 |
+
msgid "Backup directory successfully created."
|
2046 |
+
msgstr "Cartella di backup creata con successo."
|
2047 |
+
|
2048 |
+
#: admin.php:849
|
2049 |
+
msgid "Your settings have been wiped."
|
2050 |
+
msgstr "Le tue impostazioni sono state cancellate."
|
2051 |
+
|
2052 |
+
#: updraftplus.php:2014 updraftplus.php:2020
|
2053 |
+
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org"
|
2054 |
+
msgstr "Si prega di aiutare UpdraftPlus dando un giudizio positivo su wordpress.org"
|
2055 |
+
|
2056 |
+
#: updraftplus.php:2027
|
2057 |
+
msgid "Need even more features and support? Check out UpdraftPlus Premium"
|
2058 |
+
msgstr "Hai bisogno di ancora più funzionalità e supporto? Scopri UpdraftPlus Premium"
|
2059 |
+
|
2060 |
+
#: updraftplus.php:2037
|
2061 |
+
msgid "Check out UpdraftPlus.Com for help, add-ons and support"
|
2062 |
+
msgstr "Scopri UpdraftPlus.Com per aiuto, add-on e supporto"
|
2063 |
+
|
2064 |
+
#: updraftplus.php:2040
|
2065 |
+
msgid "Want to say thank-you for UpdraftPlus?"
|
2066 |
+
msgstr "Vuoi ringraziare per UpdraftPlus?"
|
2067 |
+
|
2068 |
+
#: updraftplus.php:2040
|
2069 |
+
msgid "Please buy our very cheap 'no adverts' add-on."
|
2070 |
+
msgstr "Si prega di acquistare il nostro economicissimo add-on 'no adverts' (senza pubblicità)"
|
2071 |
+
|
2072 |
+
#: backup.php:35
|
2073 |
+
msgid "Infinite recursion: consult your log for more information"
|
2074 |
+
msgstr "Ricursione infinita: consultare il log per maggiori informazioni"
|
2075 |
+
|
2076 |
+
#: backup.php:535
|
2077 |
+
msgid "Could not create %s zip. Consult the log file for more information."
|
2078 |
+
msgstr "Impossibile creare il file zip %s. Consultare il file di registro per ulteriori informazioni."
|
2079 |
+
|
2080 |
+
#: admin.php:100 admin.php:117
|
2081 |
+
msgid "Allowed Files"
|
2082 |
+
msgstr "File consentiti"
|
2083 |
+
|
2084 |
+
#: admin.php:180
|
2085 |
+
msgid "Settings"
|
2086 |
+
msgstr "Settaggi"
|
2087 |
+
|
2088 |
+
#: admin.php:184
|
2089 |
+
msgid "Add-Ons / Pro Support"
|
2090 |
+
msgstr "Add-Ons / Supporto Versione Pro"
|
2091 |
+
|
2092 |
+
#: admin.php:196 admin.php:200 admin.php:204 admin.php:213 admin.php:1967
|
2093 |
+
#: admin.php:1974 admin.php:1976
|
2094 |
+
msgid "Warning"
|
2095 |
+
msgstr "Attenzione"
|
2096 |
+
|
2097 |
+
#: admin.php:196
|
2098 |
+
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."
|
2099 |
+
msgstr "Hai meno di %s di spazio libero su disco che UpdraftPlus può utilizzare per creare copie di backup. UpdraftPlus potrebbero ben esaurire lo spazio disponibile. Contattare il gestore del server (ad esempio, la vostra società di web hosting) per risolvere questo problema."
|
2100 |
+
|
2101 |
+
#: admin.php:200
|
2102 |
+
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."
|
2103 |
+
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."
|
2104 |
+
|
2105 |
+
#: updraftplus.php:935
|
2106 |
+
msgid "The backup has not finished; a resumption is scheduled within 5 minutes"
|
2107 |
+
msgstr "Il backup non è terminato, verrà ripreso entro 5 minuti"
|
2108 |
+
|
2109 |
+
#: updraftplus.php:1006
|
2110 |
+
msgid "Backed up"
|
2111 |
+
msgstr "Backup eseguito"
|
2112 |
+
|
2113 |
+
#: updraftplus.php:1006
|
2114 |
+
msgid "WordPress backup is complete"
|
2115 |
+
msgstr "WordPress backup è completo"
|
2116 |
+
|
2117 |
+
#: updraftplus.php:1006
|
2118 |
+
msgid "Backup contains"
|
2119 |
+
msgstr "Il backup contiene"
|
2120 |
+
|
2121 |
+
#: updraftplus.php:1006
|
2122 |
+
msgid "Latest status"
|
2123 |
+
msgstr "Ultimo stato"
|
2124 |
+
|
2125 |
+
#: updraftplus.php:1260
|
2126 |
+
msgid "Backup directory (%s) is not writable, or does not exist."
|
2127 |
+
msgstr "La cartella di backup (%s) non è scrivibile o non esiste."
|
2128 |
+
|
2129 |
+
#: updraftplus.php:1408
|
2130 |
+
msgid "Could not read the directory"
|
2131 |
+
msgstr "Impossibile leggere la cartella."
|
2132 |
+
|
2133 |
+
#: updraftplus.php:1425
|
2134 |
+
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
2135 |
+
msgstr "Impossibile salvare la cronologia di backup perché non c'è un backup array. Backup probabilmente fallito."
|
2136 |
+
|
2137 |
+
#: updraftplus.php:1454
|
2138 |
+
msgid "Could not open the backup file for writing"
|
2139 |
+
msgstr "Impossibile aprire il file di backup per la scrittura"
|
2140 |
+
|
2141 |
+
#: updraftplus.php:1472
|
2142 |
+
msgid "Generated: %s"
|
2143 |
+
msgstr "Generato: %s"
|
2144 |
+
|
2145 |
+
#: updraftplus.php:1473
|
2146 |
+
msgid "Hostname: %s"
|
2147 |
+
msgstr "Nome Host: %s"
|
2148 |
+
|
2149 |
+
#: updraftplus.php:1474
|
2150 |
+
msgid "Database: %s"
|
2151 |
+
msgstr "atabase: %s"
|
2152 |
+
|
2153 |
+
#: updraftplus.php:1534
|
2154 |
+
msgid "The backup directory is not writable."
|
2155 |
+
msgstr "La cartella di backup non è scrivibile."
|
2156 |
+
|
2157 |
+
#: updraftplus.php:1555
|
2158 |
+
msgid "Table: %s"
|
2159 |
+
msgstr "Tabella: %s"
|
2160 |
+
|
2161 |
+
#: updraftplus.php:1560
|
2162 |
+
msgid "Skipping non-WP table: %s"
|
2163 |
+
msgstr "Salta tabelle non-WP: %s"
|
2164 |
+
|
2165 |
+
#: updraftplus.php:1655
|
2166 |
+
msgid "Delete any existing table %s"
|
2167 |
+
msgstr "Elimina ogni tabella esistente %s"
|
2168 |
+
|
2169 |
+
#: updraftplus.php:1664
|
2170 |
+
msgid "Table structure of table %s"
|
2171 |
+
msgstr "Struttura della tabella %s"
|
2172 |
+
|
2173 |
+
#: updraftplus.php:1670
|
2174 |
+
msgid "Error with SHOW CREATE TABLE for %s."
|
2175 |
+
msgstr "Errore con SHOW CREATE TABLE per %s."
|
2176 |
+
|
2177 |
+
#: updraftplus.php:1761
|
2178 |
+
msgid "End of data contents of table %s"
|
2179 |
+
msgstr "Fine del contenuto dati di tabella%s"
|
2180 |
+
|
2181 |
+
#: updraftplus.php:1934 includes/updraft-restorer.php:66
|
2182 |
+
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
2183 |
+
msgstr "Decifratura fallita. Il file di database è criptato, ma non è immesso nessuna chiave di crittografia."
|
2184 |
+
|
2185 |
+
#: updraftplus.php:1947 includes/updraft-restorer.php:81
|
2186 |
+
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
2187 |
+
msgstr "Decriptaggio fallito: La causa più probabile è che sia stata utilizzata una chiave errata."
|
2188 |
+
|
2189 |
+
#: updraftplus.php:1947
|
2190 |
+
msgid "The decryption key used:"
|
2191 |
+
msgstr "La chiave di decriptaggio utilizzata è:"
|
2192 |
+
|
2193 |
+
#: updraftplus.php:1962
|
2194 |
+
msgid "File not found"
|
2195 |
+
msgstr "File non trovato"
|
2196 |
+
|
2197 |
+
#: updraftplus.php:2012
|
2198 |
+
msgid "Can you translate? Want to improve UpdraftPlus for speakers of your language?"
|
2199 |
+
msgstr "Puoi tradurre? Vuoi migliorare UpdraftPlus per chi parla della tua lingua?"
|
2200 |
+
|
2201 |
+
#: updraftplus.php:2014 updraftplus.php:2020
|
2202 |
+
msgid "Like UpdraftPlus and can spare one minute?"
|
2203 |
+
msgstr "Ti piace UpdraftPlus e puoi dedicarci un minuto?"
|
2204 |
+
|
2205 |
+
#: updraftplus.php:521
|
2206 |
+
msgid "Themes"
|
2207 |
+
msgstr "Temi"
|
2208 |
+
|
2209 |
+
#: updraftplus.php:522
|
2210 |
+
msgid "Uploads"
|
2211 |
+
msgstr "Uploads"
|
2212 |
+
|
2213 |
+
#: updraftplus.php:537
|
2214 |
+
msgid "Others"
|
2215 |
+
msgstr "Altri"
|
2216 |
+
|
2217 |
+
#: updraftplus.php:823
|
2218 |
+
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
2219 |
+
msgstr "Impossibile creare files nella cartella di backup. Il backup è annullato - controlla i settaggi di UpdraftPlus"
|
2220 |
+
|
2221 |
+
#: updraftplus.php:893
|
2222 |
+
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
2223 |
+
msgstr "Errore di crittografia durante la crittografia del database. Crittografia interrotta."
|
2224 |
+
|
2225 |
+
#: updraftplus.php:929
|
2226 |
+
msgid "The backup apparently succeeded and is now complete"
|
2227 |
+
msgstr "Il backup apparentemente è riuscito ed ora è completo"
|
2228 |
+
|
2229 |
+
#: updraftplus.php:932
|
2230 |
+
msgid "The backup attempt has finished, apparently unsuccessfully"
|
2231 |
+
msgstr "Il tentativo di backup è terminato, a quanto pare senza successo"
|
2232 |
+
|
2233 |
+
#: options.php:26
|
2234 |
+
msgid "UpdraftPlus Backups"
|
2235 |
+
msgstr "Backup di UpdraftPlus "
|
2236 |
+
|
2237 |
+
#: updraftplus.php:306 updraftplus.php:311 updraftplus.php:316 admin.php:217
|
2238 |
+
#: admin.php:221
|
2239 |
+
msgid "UpdraftPlus notice:"
|
2240 |
+
msgstr "Note di UpdraftPlus:"
|
2241 |
+
|
2242 |
+
#: updraftplus.php:306
|
2243 |
+
msgid "The log file could not be read."
|
2244 |
+
msgstr "Il file di log non può essere letto."
|
2245 |
+
|
2246 |
+
#: updraftplus.php:311
|
2247 |
+
msgid "No log files were found."
|
2248 |
+
msgstr "Nessun file di log trovato."
|
2249 |
+
|
2250 |
+
#: updraftplus.php:316
|
2251 |
+
msgid "The given file could not be read."
|
2252 |
+
msgstr "Il file passato non può essere letto"
|
2253 |
+
|
2254 |
+
#: updraftplus.php:520
|
2255 |
+
msgid "Plugins"
|
2256 |
+
msgstr "Plugins"
|
languages/updraftplus-pl_PL.mo
ADDED
Binary file
|
languages/updraftplus-pl_PL.po
ADDED
@@ -0,0 +1,2020 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Translation of UpdraftPlus in Polish
|
2 |
+
# This file is distributed under the same license as the UpdraftPlus package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"PO-Revision-Date: 2013-05-20 18:57:52+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=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
10 |
+
"X-Generator: GlotPress/0.1\n"
|
11 |
+
"Project-Id-Version: UpdraftPlus\n"
|
12 |
+
|
13 |
+
#: addons/migrator.php:245
|
14 |
+
msgid "SQL update commands run:"
|
15 |
+
msgstr "Uruchomiona aktualizacja poleceń SQL:"
|
16 |
+
|
17 |
+
#: addons/migrator.php:246
|
18 |
+
msgid "Errors:"
|
19 |
+
msgstr "Błędy:"
|
20 |
+
|
21 |
+
#: addons/migrator.php:247
|
22 |
+
msgid "Time taken (seconds):"
|
23 |
+
msgstr "Upłynęło czasu (sekundy):"
|
24 |
+
|
25 |
+
#: addons/migrator.php:305
|
26 |
+
msgid "Search and replacing table: %s"
|
27 |
+
msgstr "Wyszukiwanie i zastępowanie tabeli: %s"
|
28 |
+
|
29 |
+
#: addons/migrator.php:334
|
30 |
+
msgid "rows: %d"
|
31 |
+
msgstr "wiersze: %d"
|
32 |
+
|
33 |
+
#: addons/migrator.php:399
|
34 |
+
msgid "\"%s\" has no primary key, manual change needed on row %s."
|
35 |
+
msgstr "\"%s\" nie ma klucza podstawowego, potrzebna instrukcja zmiany w szeregu %s."
|
36 |
+
|
37 |
+
#: addons/dropbox-folders.php:21
|
38 |
+
msgid "Store at"
|
39 |
+
msgstr "Przechowuj w"
|
40 |
+
|
41 |
+
#: addons/migrator.php:159
|
42 |
+
msgid "Nothing to do: the site URL is already: %s"
|
43 |
+
msgstr "Nic nie zrobiono: strona URL jest już: %s"
|
44 |
+
|
45 |
+
#: addons/migrator.php:164
|
46 |
+
msgid "Warning: the database's site URL (%s) is different to what we expected (%s)"
|
47 |
+
msgstr "Ostrzeżenie: adres URL bazy danych (%s) jest inny od tego, którego oczekiwaliśmy (%s). "
|
48 |
+
|
49 |
+
#: addons/migrator.php:171
|
50 |
+
msgid "Database search and replace: replace %s in backup dump with %s"
|
51 |
+
msgstr "Szukaj w bazie danych i zastąp: zastąp %s w zrzucie kopii zapasowej %s"
|
52 |
+
|
53 |
+
#: addons/migrator.php:190
|
54 |
+
msgid "Could not get list of tables"
|
55 |
+
msgstr "Nie udało się uzyskać listy tabel"
|
56 |
+
|
57 |
+
#: addons/migrator.php:201
|
58 |
+
msgid "<strong>Search and replacing table:</strong> %s: already done"
|
59 |
+
msgstr "<strong>Wyszukiwanie i zastępowanie tabeli:</strong> %s: ciągle takie samo"
|
60 |
+
|
61 |
+
#: addons/migrator.php:242
|
62 |
+
msgid "Tables examined:"
|
63 |
+
msgstr "Badane tabele:"
|
64 |
+
|
65 |
+
#: addons/migrator.php:243
|
66 |
+
msgid "Rows examined:"
|
67 |
+
msgstr "Badane wiersze:"
|
68 |
+
|
69 |
+
#: addons/migrator.php:244
|
70 |
+
msgid "Changes made:"
|
71 |
+
msgstr "Zmiany dokonane:"
|
72 |
+
|
73 |
+
#: addons/sftp.php:128
|
74 |
+
msgid "%s Error: Failed to download"
|
75 |
+
msgstr "%s Błąd: Nie udało się pobrać"
|
76 |
+
|
77 |
+
#: addons/sftp.php:172
|
78 |
+
msgid "Resuming partial uploads is not supported, so you will need to ensure that your webserver allows PHP processes to run long enough to upload your largest backup file."
|
79 |
+
msgstr "Cześciowe wznawianie przesyłanych nie jest obsługiwane, więc musisz upewnić się, że serwer WWW umożliwia PHP uruchomienie procesów wystarczająco długo, aby załadować swój największy plik kopii zapasowej."
|
80 |
+
|
81 |
+
#: addons/sftp.php:177
|
82 |
+
msgid "Host"
|
83 |
+
msgstr "Host"
|
84 |
+
|
85 |
+
#: addons/sftp.php:184
|
86 |
+
msgid "Port"
|
87 |
+
msgstr "Port"
|
88 |
+
|
89 |
+
#: addons/sftp.php:198
|
90 |
+
msgid "Password"
|
91 |
+
msgstr "Hasło"
|
92 |
+
|
93 |
+
#: addons/sftp.php:214
|
94 |
+
msgid "Directory path"
|
95 |
+
msgstr "ścieżka do katalogu"
|
96 |
+
|
97 |
+
#: addons/sftp.php:216
|
98 |
+
msgid "Where to change directory to after logging in - often this is relative to your home directory."
|
99 |
+
msgstr "Gdzie zmienić katalog po zalogowaniu się - często jest to w katalogu domowym."
|
100 |
+
|
101 |
+
#: addons/sftp.php:252
|
102 |
+
msgid "host name"
|
103 |
+
msgstr "nazwa hosta"
|
104 |
+
|
105 |
+
#: addons/sftp.php:256
|
106 |
+
msgid "username"
|
107 |
+
msgstr "nazwa użytkownika"
|
108 |
+
|
109 |
+
#: addons/sftp.php:260
|
110 |
+
msgid "password"
|
111 |
+
msgstr "hasło"
|
112 |
+
|
113 |
+
#: addons/sftp.php:265
|
114 |
+
msgid "Failure: Port must be an integer."
|
115 |
+
msgstr "Awaria: Port musi być liczbą całkowitą."
|
116 |
+
|
117 |
+
#: addons/sftp.php:305
|
118 |
+
msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully created a file in that location."
|
119 |
+
msgstr "Niepowodzenie: byliśmy w stanie zalogować się i przejść do wskazanego katalogu, ale nie udało się pomyślnie utworzony pliku w tej lokalizacji."
|
120 |
+
|
121 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
122 |
+
msgid "starting from next time it is"
|
123 |
+
msgstr "począwszy od jej kolejnego"
|
124 |
+
|
125 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
126 |
+
msgid "Enter in format HH:MM (e.g. 14:22)"
|
127 |
+
msgstr "Wprowadź w formacie HH: MM (np. 14:22)"
|
128 |
+
|
129 |
+
#: addons/multisite.php:121
|
130 |
+
msgid "Multisite Install"
|
131 |
+
msgstr "Instalacja na wielu serwerach"
|
132 |
+
|
133 |
+
#: addons/multisite.php:127
|
134 |
+
msgid "You do not have sufficient permissions to access this page."
|
135 |
+
msgstr "Nie masz wystarczających uprawnień, aby uzyskać dostęp do tej strony."
|
136 |
+
|
137 |
+
#: addons/multisite.php:146
|
138 |
+
msgid "You do not have permission to access this page."
|
139 |
+
msgstr "Nie masz dostępu do tej części strony."
|
140 |
+
|
141 |
+
#: addons/multisite.php:204
|
142 |
+
msgid "Must-use plugins"
|
143 |
+
msgstr "Musisz-użyć wtyczek"
|
144 |
+
|
145 |
+
#: addons/multisite.php:205
|
146 |
+
msgid "Blog uploads"
|
147 |
+
msgstr "Przesłane pliki bloga"
|
148 |
+
|
149 |
+
#: addons/migrator.php:25
|
150 |
+
msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s"
|
151 |
+
msgstr "Wszystkie odniesienia do lokalizacji witryny w bazie danych zostaną zastąpione aktualnym adresem URL witryny, która jest: %s"
|
152 |
+
|
153 |
+
#: addons/migrator.php:25
|
154 |
+
msgid "Search and replace site location in the database (migrate)"
|
155 |
+
msgstr "Znajdź i zastąpić lokalizację witryny w bazie danych (migracja)"
|
156 |
+
|
157 |
+
#: addons/migrator.php:25
|
158 |
+
msgid "(learn more)"
|
159 |
+
msgstr "(dowiedz się więcej)"
|
160 |
+
|
161 |
+
#: addons/migrator.php:110 addons/migrator.php:223
|
162 |
+
msgid "Failed: the %s operation was not able to start."
|
163 |
+
msgstr "Nie powiodło się: operacja %s nie była w stanie wystartować."
|
164 |
+
|
165 |
+
#: addons/migrator.php:112 addons/migrator.php:225
|
166 |
+
msgid "Failed: we did not understand the result returned by the %s operation."
|
167 |
+
msgstr "Nie powiodło się: nie rozumiem wyniku zwróconego przez %s operację."
|
168 |
+
|
169 |
+
#: addons/migrator.php:133
|
170 |
+
msgid "Database: search and replace site URL"
|
171 |
+
msgstr "Baza danych: wyszukiwanie i zamiana strony URL"
|
172 |
+
|
173 |
+
#: addons/migrator.php:136
|
174 |
+
msgid "This option was not selected."
|
175 |
+
msgstr "Ta opcja nie została wybrana."
|
176 |
+
|
177 |
+
#: addons/migrator.php:149 addons/migrator.php:154
|
178 |
+
msgid "Error: unexpected empty parameter (%s, %s)"
|
179 |
+
msgstr "Błąd: nieoczekiwanie pusty parametr (%s, %s)"
|
180 |
+
|
181 |
+
#: addons/morefiles.php:63
|
182 |
+
msgid "The above files comprise everything in a WordPress installation."
|
183 |
+
msgstr "Powyższe pliki zawierają wszystko, co w instalacji WordPress."
|
184 |
+
|
185 |
+
#: addons/morefiles.php:70
|
186 |
+
msgid "WordPress core (including any additions to your WordPress root directory)"
|
187 |
+
msgstr "Jądro WordPressa (w tym wszelkie dodatki do katalogu głównego WordPressa)"
|
188 |
+
|
189 |
+
#: addons/morefiles.php:82
|
190 |
+
msgid "Any other directory on your server that you wish to back up"
|
191 |
+
msgstr "Każdy inny katalog na serwerze, który chcesz utworzyć kopię zapasową"
|
192 |
+
|
193 |
+
#: addons/morefiles.php:83
|
194 |
+
msgid "More Files"
|
195 |
+
msgstr "Więcej plików"
|
196 |
+
|
197 |
+
#: addons/morefiles.php:98
|
198 |
+
msgid "Enter the directory:"
|
199 |
+
msgstr "Wpisz katalog:"
|
200 |
+
|
201 |
+
#: addons/morefiles.php:102
|
202 |
+
msgid "If you are not sure what this option is for, then you will not want it, and should turn it off."
|
203 |
+
msgstr "Jeśli nie jesteś pewien czy ta opcja istnieje, wtedy nie będzie tego chciał i powinien to wyłączyć."
|
204 |
+
|
205 |
+
#: addons/morefiles.php:102
|
206 |
+
msgid "If using it, enter an absolute path (it is not relative to your WordPress install)."
|
207 |
+
msgstr "Jeśli używasz tego, wpisz ścieżkę bezwzględną (nie pozostaje w stosunku do Twojej instalacji WordPressa)."
|
208 |
+
|
209 |
+
#: addons/morefiles.php:104
|
210 |
+
msgid "Be careful what you enter - if you enter / then it really will try to create a zip containing your entire webserver."
|
211 |
+
msgstr "Uważaj, co wpisujesz - jeśli wpiszesz / to naprawdę spróbuje utworzyć paczkę zip zawierającą całość serwera WWW."
|
212 |
+
|
213 |
+
#: addons/morefiles.php:134
|
214 |
+
msgid "If entering multiple files/directories, then separate them with commas."
|
215 |
+
msgstr "W przypadku wprowadzania wielu plików/katalogów, rozdziel je przecinkami."
|
216 |
+
|
217 |
+
#: addons/morefiles.php:176 addons/morefiles.php:253
|
218 |
+
msgid "No backup of %s directories: there was nothing found to back up"
|
219 |
+
msgstr "Brak kopii zapasowej z %s katalogów: nie znaleziono tutaj kopii zapasowych"
|
220 |
+
|
221 |
+
#: addons/morefiles.php:176
|
222 |
+
msgid "more"
|
223 |
+
msgstr "więcej"
|
224 |
+
|
225 |
+
#: addons/sftp.php:23
|
226 |
+
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."
|
227 |
+
msgstr "Szyfrowanie FTP jest dostępne, więc będzie automatycznie próbował szyfrować (przed wycofaniem się bez szyfrowania, jeśli się nie powiedzie), chyba, że je wyłączysz za pomocą opcji ekspertów. Przycisk Test 'ftp login' powie, jaki typ połączenia jest używany."
|
228 |
+
|
229 |
+
#: addons/sftp.php:23
|
230 |
+
msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time, by which time when you attempt to use it. If you find this happenning, then go into the \"Expert Options\" (below) and turn off SSL there."
|
231 |
+
msgstr "Niektóre serwery reklamują szyfrowanie FTP jako dostępne, ale potem kończy się czas (w czasie, w którym próbował z niego korzystać. Jeśli znajdziesz to zdarzenie, a następnie przejdziesz do \"Opcje Zaawansowane\" (poniżej) i wyłączysz SSL."
|
232 |
+
|
233 |
+
#: addons/sftp.php:23
|
234 |
+
msgid "Explicit encryption is used by default. To force implicit encryption (port 990), add :990 to your FTP server below."
|
235 |
+
msgstr "Jawne szyfrowanie jest używane domyślnie: aby wymusić niejawne szyfrowanie (port 990), dodaj :990 do serwera FTP poniżej."
|
236 |
+
|
237 |
+
#: addons/sftp.php:30 addons/sftp.php:31 addons/sftp.php:32
|
238 |
+
msgid "No %s found"
|
239 |
+
msgstr "Nie %s znaleziono"
|
240 |
+
|
241 |
+
#: addons/sftp.php:30
|
242 |
+
msgid "SFTP host setting"
|
243 |
+
msgstr "Ustawienia hosta SFTP"
|
244 |
+
|
245 |
+
#: addons/sftp.php:31
|
246 |
+
msgid "SFTP user setting"
|
247 |
+
msgstr "Ustawienia użytkownika SFTP"
|
248 |
+
|
249 |
+
#: addons/sftp.php:32
|
250 |
+
msgid "SFTP password"
|
251 |
+
msgstr "hasło SFTP:"
|
252 |
+
|
253 |
+
#: addons/sftp.php:50 addons/sftp.php:291
|
254 |
+
msgid "Check your file permissions: Could not successfully create and enter:"
|
255 |
+
msgstr "Sprawdź swoje uprawnienia do plików: nie można pomyślnie utworzyć i zatwierdzić:"
|
256 |
+
|
257 |
+
#: methods/ftp.php:151
|
258 |
+
msgid "FTP Server"
|
259 |
+
msgstr "Serwer FTP"
|
260 |
+
|
261 |
+
#: methods/ftp.php:155
|
262 |
+
msgid "FTP Login"
|
263 |
+
msgstr "Login FTP"
|
264 |
+
|
265 |
+
#: methods/ftp.php:159
|
266 |
+
msgid "FTP Password"
|
267 |
+
msgstr "Hasło FTP"
|
268 |
+
|
269 |
+
#: methods/ftp.php:163
|
270 |
+
msgid "Remote Path"
|
271 |
+
msgstr "Ścieżka zdalna"
|
272 |
+
|
273 |
+
#: methods/ftp.php:164
|
274 |
+
msgid "Needs to already exist"
|
275 |
+
msgstr "Musi już istnieć"
|
276 |
+
|
277 |
+
#: methods/ftp.php:185
|
278 |
+
msgid "Failure: No server details were given."
|
279 |
+
msgstr "Awaria: brak podanych danych serwera."
|
280 |
+
|
281 |
+
#: methods/ftp.php:200
|
282 |
+
msgid "Failure: we did not successfully log in with those credentials."
|
283 |
+
msgstr "Awaria: logowanie niepomyślne do tych mandatów."
|
284 |
+
|
285 |
+
#: methods/ftp.php:208
|
286 |
+
msgid "Failure: an unexpected internal UpdraftPlus error occurred when testing the credentials - please contact the developer"
|
287 |
+
msgstr "Awaria: nieoczekiwany błąd wewnętrzny UpdraftPlus wystąpił podczas testowania poświadczenia - skontaktuj się z deweloperem"
|
288 |
+
|
289 |
+
#: methods/ftp.php:212
|
290 |
+
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
291 |
+
msgstr "Sukces: udało nam się zalogować i potwierdzić naszą zdolność do tworzenia pliku w danym katalogu (wpisz login:"
|
292 |
+
|
293 |
+
#: methods/ftp.php:215
|
294 |
+
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
295 |
+
msgstr "Awaria: logowanie pomyślne, ale nie był w stanie utworzyć pliku w danym katalogu."
|
296 |
+
|
297 |
+
#: addons/webdav.php:40 addons/webdav.php:170 addons/sftp.php:28
|
298 |
+
msgid "No %s settings were found"
|
299 |
+
msgstr "Nie znaleziono %s ustawień"
|
300 |
+
|
301 |
+
#: addons/webdav.php:116 addons/webdav.php:120
|
302 |
+
msgid "Chunk %s: A %s error occurred"
|
303 |
+
msgstr "Klocek %s: wystąpił %s błąd"
|
304 |
+
|
305 |
+
#: addons/webdav.php:182 addons/webdav.php:188 addons/webdav.php:200
|
306 |
+
msgid "WebDAV Error"
|
307 |
+
msgstr "Błąd WebDAV"
|
308 |
+
|
309 |
+
#: addons/webdav.php:188
|
310 |
+
msgid "Error opening remote file: Failed to download"
|
311 |
+
msgstr "Błąd otwarcia pliku zdalnego: Nie udało się pobrać"
|
312 |
+
|
313 |
+
#: addons/webdav.php:200
|
314 |
+
msgid "Local write failed: Failed to download"
|
315 |
+
msgstr "Zapis lokalny nie powiódł się: Nie udało się pobrać"
|
316 |
+
|
317 |
+
#: addons/webdav.php:234
|
318 |
+
msgid "WebDAV URL"
|
319 |
+
msgstr "WebDAV URL"
|
320 |
+
|
321 |
+
#: addons/webdav.php:238
|
322 |
+
msgid "Enter a complete URL, beginning with webdav:// or webdavs:// and including path, username, password and port as required - e.g.%s"
|
323 |
+
msgstr "Wprowadź pełny adres URL zaczynając z webdav:// lub webdavs:// w tym ścieżkę, nazwę użytkownika, hasło i port jest wymagane - na przykład %s"
|
324 |
+
|
325 |
+
#: addons/webdav.php:280 addons/sftp.php:279
|
326 |
+
msgid "Failed"
|
327 |
+
msgstr "Niepowodzenie"
|
328 |
+
|
329 |
+
#: addons/webdav.php:294
|
330 |
+
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
331 |
+
msgstr "Niepowodzenie: Nie byliśmy w stanie umieścić pliku w tym katalogu - proszę sprawdzić swoje dane."
|
332 |
+
|
333 |
+
#: addons/morefiles.php:40 addons/morefiles.php:253
|
334 |
+
msgid "WordPress Core"
|
335 |
+
msgstr "Jądro WordPressa"
|
336 |
+
|
337 |
+
#: addons/morefiles.php:44
|
338 |
+
msgid "Over-write wp-config.php"
|
339 |
+
msgstr "Nadpisz wp-config.php"
|
340 |
+
|
341 |
+
#: addons/morefiles.php:44
|
342 |
+
msgid "(learn more about this important option)"
|
343 |
+
msgstr "(dowiedz się więcej o tej ważnej opcji)"
|
344 |
+
|
345 |
+
#: methods/dropbox.php:269
|
346 |
+
msgid "Authenticate with Dropbox"
|
347 |
+
msgstr "Uwierzytelnianie z Dropbox"
|
348 |
+
|
349 |
+
#: methods/dropbox.php:270
|
350 |
+
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 Dropbox."
|
351 |
+
msgstr "<strong> Po </ strong> zapisaniu ustawień (kliknij poniżej \"Zapisz zmiany\"), a następnie wróć tu raz i kliknij na ten link, aby zakończyć uwierzytelnianie z Dropbox."
|
352 |
+
|
353 |
+
#: methods/dropbox.php:327
|
354 |
+
msgid "you have authenticated your %s account"
|
355 |
+
msgstr "uwierzytelnianie Twojego %s konta"
|
356 |
+
|
357 |
+
#: methods/dropbox.php:330
|
358 |
+
msgid "though part of the returned information was not as expected - your mileage may vary"
|
359 |
+
msgstr "choć nie było części zwróconej informacji jak się spodziewano - przebieg może się wahać"
|
360 |
+
|
361 |
+
#: methods/dropbox.php:333
|
362 |
+
msgid "Your %s account name: %s"
|
363 |
+
msgstr "Twoja %s nazwa konta: %s"
|
364 |
+
|
365 |
+
#: methods/ftp.php:44 methods/ftp.php:96
|
366 |
+
msgid "FTP login failure"
|
367 |
+
msgstr "Błąd logowania FTP"
|
368 |
+
|
369 |
+
#: methods/ftp.php:63
|
370 |
+
msgid "FTP upload failed"
|
371 |
+
msgstr "Przesłanie plików FTP zakończone niepowodzeniem"
|
372 |
+
|
373 |
+
#: methods/ftp.php:131
|
374 |
+
msgid "Settings test result"
|
375 |
+
msgstr "Wynik testu ustawień"
|
376 |
+
|
377 |
+
#: methods/ftp.php:147
|
378 |
+
msgid "Only non-encrypted FTP is supported by regular UpdraftPlus."
|
379 |
+
msgstr "Tylko nieszyfrowane FTP jest obsługiwane regularnie przez UpdraftPlus."
|
380 |
+
|
381 |
+
#: methods/ftp.php:147
|
382 |
+
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
383 |
+
msgstr "Jeśli chcesz szyfrowania (np. jprzechowujesz poufne dane biznesowe), to dodatek jest dostępny."
|
384 |
+
|
385 |
+
#: methods/s3.php:271
|
386 |
+
msgid "%s Error: Failed to download %s. Check your permissions and credentials."
|
387 |
+
msgstr "%s Błąd: nie udało się pobrać %s. Sprawdź swoje uprawnienia i poświadczenia. "
|
388 |
+
|
389 |
+
#: methods/s3.php:275
|
390 |
+
msgid "%s Error: Failed to access bucket %s. Check your permissions and credentials."
|
391 |
+
msgstr "%s Błąd: brak dostępu do pojemnika %s. Sprawdź swoje uprawnienia i poświadczenia. "
|
392 |
+
|
393 |
+
#: methods/s3.php:323
|
394 |
+
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."
|
395 |
+
msgstr "Zdobądź klucz dostępu i tajny klucz <a href=\"%s\">z Twojej %s konsoli</a>, następnie (wyjątkowy - wszyscy %s użytkownicy) nazwę pojemnika (litery i cyfry) (i opcjonalnie ścieżkę) aby używać do przechowywania. Ten pojemnik zostanie utworzony dla Ciebie, jeśli już nie istnieje. "
|
396 |
+
|
397 |
+
#: methods/s3.php:323
|
398 |
+
msgid "If you see errors about SSL certificates, then please go here for help."
|
399 |
+
msgstr "Jeśli widzisz błędy dotyczące certyfikatów SSL, przejdź tutaj aby uzyskać pomoc."
|
400 |
+
|
401 |
+
#: methods/s3.php:326
|
402 |
+
msgid "%s access key"
|
403 |
+
msgstr "%s klucz dostępu "
|
404 |
+
|
405 |
+
#: methods/s3.php:330
|
406 |
+
msgid "%s secret key"
|
407 |
+
msgstr "%s tajny klucz"
|
408 |
+
|
409 |
+
#: methods/s3.php:334
|
410 |
+
msgid "%s location"
|
411 |
+
msgstr "%s lokalizacja"
|
412 |
+
|
413 |
+
#: methods/s3.php:335
|
414 |
+
msgid "Enter only a bucket name or a bucket and path. Examples: mybucket, mybucket/mypath"
|
415 |
+
msgstr "Wprowadź tylko nazwę pojemnika lub pojemnika i ścieżki. Przykłady: mójpojemnik, mójpojemnik/mojaścieżka. "
|
416 |
+
|
417 |
+
#: methods/s3.php:362
|
418 |
+
msgid "API secret"
|
419 |
+
msgstr "API poufne"
|
420 |
+
|
421 |
+
#: methods/s3.php:382
|
422 |
+
msgid "Failure: No bucket details were given."
|
423 |
+
msgstr "Awaria: brak podanych danych pojemnika."
|
424 |
+
|
425 |
+
#: methods/s3.php:393
|
426 |
+
msgid "Region"
|
427 |
+
msgstr "Region"
|
428 |
+
|
429 |
+
#: methods/s3.php:403
|
430 |
+
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)."
|
431 |
+
msgstr "Niepowodzenie: nie mogliśmy uzyskać dostępu lub stworzyć takiego pojemnika. Prosimy o sprawdzenie poświadczeń dostępu, a jeśli te są poprawne, to spróbuj innej nazwy pojemnika (jako inny %s użytkownik może już podjąć swoje imię). "
|
432 |
+
|
433 |
+
#: methods/s3.php:414 methods/s3.php:425
|
434 |
+
msgid "Failure"
|
435 |
+
msgstr "Niepowodzenie"
|
436 |
+
|
437 |
+
#: methods/s3.php:414 methods/s3.php:425
|
438 |
+
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
439 |
+
msgstr "Z powodzeniem obejrzano pojemnik, ale próba utworzenia w nich pliku zakończyła się niepowodzeniem."
|
440 |
+
|
441 |
+
#: methods/s3.php:416
|
442 |
+
msgid "We accessed the bucket, and were able to create files within it."
|
443 |
+
msgstr "Mamy dostęp do pojemnika i byliśmy w stanie tworzyć w nim pliki."
|
444 |
+
|
445 |
+
#: methods/s3.php:418
|
446 |
+
msgid "The communication with %s was encrypted."
|
447 |
+
msgstr "Komunikacja z %s była szyfrowana."
|
448 |
+
|
449 |
+
#: methods/s3.php:420
|
450 |
+
msgid "The communication with %s was not encrypted."
|
451 |
+
msgstr "Komunikacja z %s nie była szyfrowana."
|
452 |
+
|
453 |
+
#: methods/dropbox.php:35
|
454 |
+
msgid "The %s PHP module is not installed"
|
455 |
+
msgstr "%s Moduł PHP nie jest zainstalowany"
|
456 |
+
|
457 |
+
#: methods/dropbox.php:41 methods/dropbox.php:208
|
458 |
+
msgid "You do not appear to be authenticated with Dropbox"
|
459 |
+
msgstr "Nie wygląda na to, aby była autoryzacja z Dropboxem"
|
460 |
+
|
461 |
+
#: methods/dropbox.php:52
|
462 |
+
msgid "error: %s (see log file for more)"
|
463 |
+
msgstr "błąd: %s (zajrzyj w plik dziennika, by dowiedzieć się więcej)"
|
464 |
+
|
465 |
+
#: methods/dropbox.php:139 methods/dropbox.php:144
|
466 |
+
msgid "error: failed to upload file to %s (see log file for more)"
|
467 |
+
msgstr "Błąd: nie udało się załadować pliku do %s (zajrzyj do pliku dziennika, by zobaczyć więcej)"
|
468 |
+
|
469 |
+
#: methods/dropbox.php:264
|
470 |
+
msgid "Need to use sub-folders?"
|
471 |
+
msgstr "Potrzebujesz użyć podfolderów?"
|
472 |
+
|
473 |
+
#: methods/dropbox.php:264
|
474 |
+
msgid "Backups are saved in"
|
475 |
+
msgstr "Kopie zapasowe są zapisywane w"
|
476 |
+
|
477 |
+
#: methods/dropbox.php:264
|
478 |
+
msgid "If you back up several sites into the same Dropbox and want to organise with sub-folders, then "
|
479 |
+
msgstr "Jeśli masz kopie zapasowe kilku stron w tym samym Dropboxie i chcesz zorganizować podfoldery, wówczas"
|
480 |
+
|
481 |
+
#: methods/dropbox.php:264
|
482 |
+
msgid "there's an add-on for that."
|
483 |
+
msgstr "tam jest dodatek do tego."
|
484 |
+
|
485 |
+
#: methods/cloudfiles.php:370
|
486 |
+
msgid "US or UK Cloud"
|
487 |
+
msgstr "US lub UK chmura"
|
488 |
+
|
489 |
+
#: methods/cloudfiles.php:376
|
490 |
+
msgid "US (default)"
|
491 |
+
msgstr "US (domyślnie)"
|
492 |
+
|
493 |
+
#: methods/cloudfiles.php:377
|
494 |
+
msgid "UK"
|
495 |
+
msgstr "UK"
|
496 |
+
|
497 |
+
#: methods/cloudfiles.php:382
|
498 |
+
msgid "Cloud Files username"
|
499 |
+
msgstr "Nazwa użytkownika wirtualnej chmury"
|
500 |
+
|
501 |
+
#: methods/cloudfiles.php:386
|
502 |
+
msgid "Cloud Files API key"
|
503 |
+
msgstr "Klucz API wirtualnej chmury"
|
504 |
+
|
505 |
+
#: methods/cloudfiles.php:390
|
506 |
+
msgid "Cloud Files container"
|
507 |
+
msgstr "Pojemnik plików wirtualnej chmury"
|
508 |
+
|
509 |
+
#: methods/cloudfiles.php:400
|
510 |
+
msgid "UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative."
|
511 |
+
msgstr "Moduł %s UpdraftPlusa <strong> wymagany </ strong> s%. Proszę nie zgłaszać próśb o wsparcie; nie ma alternatywy."
|
512 |
+
|
513 |
+
#: methods/cloudfiles.php:418 methods/cloudfiles.php:423
|
514 |
+
msgid "Failure: No %s was given."
|
515 |
+
msgstr "Awaria: nie %s została podana."
|
516 |
+
|
517 |
+
#: methods/cloudfiles.php:418
|
518 |
+
msgid "API key"
|
519 |
+
msgstr "Klucz API"
|
520 |
+
|
521 |
+
#: methods/cloudfiles.php:423
|
522 |
+
msgid "Username"
|
523 |
+
msgstr "Nazwa użytkownika"
|
524 |
+
|
525 |
+
#: methods/cloudfiles.php:443
|
526 |
+
msgid "Failure: No container details were given."
|
527 |
+
msgstr "Awaria: brak danych pojemnika."
|
528 |
+
|
529 |
+
#: methods/cloudfiles.php:469
|
530 |
+
msgid "Cloud Files error - we accessed the container, but failed to create a file within it"
|
531 |
+
msgstr "Błąd plików w chmurze - mamy dostęp do pojemnika, ale nie udało się utworzyć w nim plików"
|
532 |
+
|
533 |
+
#: methods/cloudfiles.php:473
|
534 |
+
msgid "We accessed the container, and were able to create files within it."
|
535 |
+
msgstr "Mamy dostęp do pojemnika i byliśmy w stanie tworzyć w nim pliki."
|
536 |
+
|
537 |
+
#: methods/email.php:15
|
538 |
+
msgid "WordPress Backup"
|
539 |
+
msgstr "Kopia zapasowa WordPressa"
|
540 |
+
|
541 |
+
#: methods/email.php:15
|
542 |
+
msgid "Backup is of:"
|
543 |
+
msgstr "Kopia zapasowa jest z:"
|
544 |
+
|
545 |
+
#: methods/email.php:15
|
546 |
+
msgid "Be wary; email backups may fail because of file size limitations on mail servers."
|
547 |
+
msgstr "Uważaj, e-mail kopii zapasowej może nie zapisać się na serwerze pocztowym z powodu ograniczenia rozmiaru plików na tymże."
|
548 |
+
|
549 |
+
#: methods/email.php:24
|
550 |
+
msgid "Note:"
|
551 |
+
msgstr "Uwaga:"
|
552 |
+
|
553 |
+
#: methods/email.php:25
|
554 |
+
msgid "The email address entered above will be used. If choosing \"E-Mail\", then <strong>be aware</strong> that mail servers tend to have size limits; typically around 10-20Mb; backups larger than any limits will not arrive. If you really need a large backup via email, then you could fund a new feature (to break the backup set into configurable-size pieces) - but the demand has not yet existed for such a feature."
|
555 |
+
msgstr "Wprowadzony powyżej adres e-mail zostanie użyty. Jeśli wybierzesz \"E-Mail\", to <strong>należy pamiętać</strong>, że serwery pocztowe mają tendencję do ograniczenia wielkości, zwykle około 10-20Mb; większe kopie przez te ograniczenia nie przejdą. Jeśli naprawdę potrzebujesz dużej kopii zapasowej, aby przesłać za pośrednictwem poczty elektronicznej, możesz finansować nową funkcję (podzielenie zestawu kopii zapasowych do konfiguracji wielkości kawałków) - ale popyt na taką cechę jeszcze nie istnieje."
|
556 |
+
|
557 |
+
#: methods/s3.php:145
|
558 |
+
msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details"
|
559 |
+
msgstr "%s przesyłanie: przesyłanie identyfikatora dla wielu części zakończone niepowodzeniem - zobacz plik dziennika, by uzyskać więcej informacji. "
|
560 |
+
|
561 |
+
#: methods/s3.php:168
|
562 |
+
msgid "%s error: file %s was shortened unexpectedly"
|
563 |
+
msgstr "%s błąd: plik %s był niespodziewanie skrócony "
|
564 |
+
|
565 |
+
#: methods/s3.php:178
|
566 |
+
msgid "%s chunk %s: upload failed"
|
567 |
+
msgstr "%s kawałek %s: przesyłanie zakończone niepowodzeniem "
|
568 |
+
|
569 |
+
#: methods/s3.php:192
|
570 |
+
msgid "%s upload (%s): re-assembly failed (see log for more details)"
|
571 |
+
msgstr "%s przesłane (%s): ponowne niepowodzenie (zobacz plik dziennika, by uzyskać więcej informacji) "
|
572 |
+
|
573 |
+
#: methods/s3.php:196
|
574 |
+
msgid "%s re-assembly error (%s): (see log file for more)"
|
575 |
+
msgstr "%s ponowny błąd (%s): (zobacz plik dziennika, by uzyskać więcej informacji) "
|
576 |
+
|
577 |
+
#: methods/s3.php:208
|
578 |
+
msgid "%s Error: Failed to create bucket %s. Check your permissions and credentials."
|
579 |
+
msgstr "%s Błąd: nie udało się utworzyć pojemnika %s. Sprawdź swoje uprawnienia i poświadczenia. "
|
580 |
+
|
581 |
+
#: methods/googledrive.php:401
|
582 |
+
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
583 |
+
msgstr "Dla większej pomocy, w tym zrzuty ekranu, kliknij na ten link. Poniższy opis jest wystarczający dla bardziej zaawansowanych użytkowników."
|
584 |
+
|
585 |
+
#: methods/googledrive.php:402
|
586 |
+
msgid "Follow this link to your Google API Console, and there create a Client ID in the API Access section."
|
587 |
+
msgstr "Śledź ten link do konsoli Google API i tam utwórz identyfikator klienta w sekcji dostęp API (API Access)."
|
588 |
+
|
589 |
+
#: methods/googledrive.php:402
|
590 |
+
msgid "Select 'Web Application' as the application type."
|
591 |
+
msgstr "Wybierz 'aplikację www' jako typ aplikacji."
|
592 |
+
|
593 |
+
#: methods/googledrive.php:402
|
594 |
+
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
595 |
+
msgstr "Musisz dodać kolejne upoważnienie kiedy zapyta o przekierowanie URL (pod \"Więcej opcji\")"
|
596 |
+
|
597 |
+
#: methods/googledrive.php:402
|
598 |
+
msgid "N.B. If you install UpdraftPlus on several WordPress sites, then you cannot re-use your client ID; you must create a new one from your Google API console for each site."
|
599 |
+
msgstr "Nota bene jeśli zainstalujesz UpdraftPlus na kilku stronach WordPressa, to nie możesz ponownie użyć identyfikatora klienta; należy utworzyć nowy w każdym miejscu z konsoli Google API."
|
600 |
+
|
601 |
+
#: methods/googledrive.php:405
|
602 |
+
msgid "You do not have the SimpleXMLElement installed. Google Drive backups will <b>not</b> work until you do."
|
603 |
+
msgstr "Nie masz zanstalowanego SimpleXMLElement. Kopie zapasowe Google Drive nie <b>będą</ b> działać, dopóki tego nie zrobisz."
|
604 |
+
|
605 |
+
#: methods/googledrive.php:412
|
606 |
+
msgid "Client ID"
|
607 |
+
msgstr "Cleint ID (identyfikator)"
|
608 |
+
|
609 |
+
#: methods/googledrive.php:413
|
610 |
+
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
611 |
+
msgstr "Jeśli Google później pokazał komunikat \"invalid_client\", to nie wprowadzono poprawnego identyfikatora klienta (client ID)."
|
612 |
+
|
613 |
+
#: methods/googledrive.php:416
|
614 |
+
msgid "Client Secret"
|
615 |
+
msgstr "Tajemniczy klient."
|
616 |
+
|
617 |
+
#: methods/googledrive.php:420
|
618 |
+
msgid "Folder ID"
|
619 |
+
msgstr "Folder ID (identyfikator folderu)"
|
620 |
+
|
621 |
+
#: methods/googledrive.php:421
|
622 |
+
msgid "<strong>This is NOT a folder name</strong>. To get a folder's ID navigate to that folder in Google Drive in your web browser and copy the ID from your browser's address bar. It is the part that comes after <kbd>#folders/.</kbd> Leave empty to use your root folder)"
|
623 |
+
msgstr "<strong>To NIE jest nazwa folderu</ strong>. Aby uzyskać identyfikator folderu przejdź do tego folderu w Google Drive w przeglądarce internetowej i skopiuj identyfikator z przeglądarki w pasku adresu. Jest to część, która przychodzi po <kbd>#folders/.</kbd> Zostaw puste, aby użyć folderu głównego)"
|
624 |
+
|
625 |
+
#: methods/googledrive.php:424
|
626 |
+
msgid "Authenticate with Google"
|
627 |
+
msgstr "Uwierzytelnianie z Google"
|
628 |
+
|
629 |
+
#: methods/googledrive.php:425
|
630 |
+
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 Google."
|
631 |
+
msgstr "<strong>Po</ strong> zapisaniu ustawień (kliknij poniżej \"Zapisz zmiany\"), a następnie wróć tu raz i kliknij na ten link, aby zakończyć uwierzytelnianie z Google."
|
632 |
+
|
633 |
+
#: methods/cloudfiles.php:53 methods/cloudfiles.php:57
|
634 |
+
#: methods/cloudfiles.php:238 methods/cloudfiles.php:242
|
635 |
+
#: methods/cloudfiles.php:453 methods/cloudfiles.php:456
|
636 |
+
#: methods/cloudfiles.php:459
|
637 |
+
msgid "Cloud Files authentication failed"
|
638 |
+
msgstr "Uwierzytelnianie plików z wirtualnej chmury nie powiodło się"
|
639 |
+
|
640 |
+
#: methods/cloudfiles.php:61 methods/cloudfiles.php:246
|
641 |
+
#: methods/cloudfiles.php:264
|
642 |
+
msgid "Cloud Files error - failed to create and access the container"
|
643 |
+
msgstr "Błąd plików chmury - nie udało się utworzyć i uzyskać dostępu"
|
644 |
+
|
645 |
+
#: methods/cloudfiles.php:88
|
646 |
+
msgid "%s Error: Failed to open local file"
|
647 |
+
msgstr "%s Błąd: Nie udało się otworzyć pliku lokalnego"
|
648 |
+
|
649 |
+
#: methods/cloudfiles.php:105 methods/cloudfiles.php:147
|
650 |
+
msgid "%s Error: Failed to upload"
|
651 |
+
msgstr "%s Błąd: Nie udało się przesłać"
|
652 |
+
|
653 |
+
#: methods/cloudfiles.php:169
|
654 |
+
msgid "Cloud Files error - failed to re-assemble chunks"
|
655 |
+
msgstr "Błąd plików w chmurze - nie udało się ponownie zebrać klocków"
|
656 |
+
|
657 |
+
#: methods/cloudfiles.php:178 methods/cloudfiles.php:179
|
658 |
+
msgid "Cloud Files error - failed to upload file"
|
659 |
+
msgstr "Błąd plików w chmurze - nie udało siię załadować pliku"
|
660 |
+
|
661 |
+
#: methods/cloudfiles.php:292 methods/cloudfiles.php:309
|
662 |
+
msgid "Cloud Files Error"
|
663 |
+
msgstr "Błąd plików w chmurze"
|
664 |
+
|
665 |
+
#: methods/cloudfiles.php:292
|
666 |
+
msgid "Error opening local file: Failed to download"
|
667 |
+
msgstr "Błąd otwarcia pliku lokalnego: Nie udało się pobrać"
|
668 |
+
|
669 |
+
#: methods/cloudfiles.php:309
|
670 |
+
msgid "Error downloading remote file: Failed to download ("
|
671 |
+
msgstr "Błąd podczas pobierania pliku zdalnego: Nie udało się pobrać ("
|
672 |
+
|
673 |
+
#: methods/cloudfiles.php:318
|
674 |
+
msgid "Cloud Files error - no such file exists at Cloud Files"
|
675 |
+
msgstr "Błąd plików w chmurze - plik nie istnieje w chmurze"
|
676 |
+
|
677 |
+
#: methods/cloudfiles.php:322
|
678 |
+
msgid "Cloud Files error - failed to download the file"
|
679 |
+
msgstr "Błąd plików w chmurze - nie udało się pobrać pliku"
|
680 |
+
|
681 |
+
#: methods/cloudfiles.php:331
|
682 |
+
msgid "Testing - Please Wait..."
|
683 |
+
msgstr "Testowanie - Proszę czekać..."
|
684 |
+
|
685 |
+
#: methods/cloudfiles.php:345 methods/cloudfiles.php:410
|
686 |
+
msgid "Test %s Settings"
|
687 |
+
msgstr "Test %s Ustawienia"
|
688 |
+
|
689 |
+
#: methods/cloudfiles.php:366
|
690 |
+
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."
|
691 |
+
msgstr "Zdobądź swój klucz API <a href=\"https://mycloud.rackspace.com/\"> z konsoli chmury Rackspace</a> (przeczytaj instrukcje <a href=\"http://www.rackspace.com/knowledge_center/article/rackspace-cloud-essentials-1-generating-your-api-key\">here</a>), a następnie wybierz nazwę pojemnika używanego do przechowywania. Pojemnik ten zostanie utworzony dla ciebie, jeśli nie istnieje."
|
692 |
+
|
693 |
+
#: methods/cloudfiles.php:366
|
694 |
+
msgid "Also, you should read this important FAQ."
|
695 |
+
msgstr "Ponadto, powinieneś przeczytać FAQ."
|
696 |
+
|
697 |
+
#: methods/googledrive.php:191
|
698 |
+
msgid "Account full: your %s account has only %d bytes left, but the file to be uploaded is %d bytes"
|
699 |
+
msgstr "Konto pełne: na Twoim %s koncie zostało tylko%d bajtów, a plik do przesłania ma %d bajtów."
|
700 |
+
|
701 |
+
#: methods/googledrive.php:201
|
702 |
+
msgid "Failed to upload to %s"
|
703 |
+
msgstr "Nie udało się przesłać do %s"
|
704 |
+
|
705 |
+
#: methods/googledrive.php:289
|
706 |
+
msgid "An error occurred during %s upload (see log for more details)"
|
707 |
+
msgstr "Wystąpił błąd podczas %s przesyłania (zobacz dziennik, by uzyskać więcej szczegółów)"
|
708 |
+
|
709 |
+
#: methods/googledrive.php:328
|
710 |
+
msgid "Google Drive error: %d: could not download: could not find a record of the Google Drive file ID for this file"
|
711 |
+
msgstr "Błąd Google Drive: %d: nie można pobrać: nie można znaleźć zapisu ID z Google Drive dla tego pliku"
|
712 |
+
|
713 |
+
#: methods/googledrive.php:333
|
714 |
+
msgid "Could not find %s in order to download it"
|
715 |
+
msgstr "Nie można znaleźć %s aby to pobrać"
|
716 |
+
|
717 |
+
#: methods/googledrive.php:345
|
718 |
+
msgid "Google Drive "
|
719 |
+
msgstr "Google Drive"
|
720 |
+
|
721 |
+
#: methods/googledrive.php:345
|
722 |
+
msgid "error: zero-size file was downloaded"
|
723 |
+
msgstr "błąd: zeo-rozmiar pliku został pobrany"
|
724 |
+
|
725 |
+
#: methods/googledrive.php:363
|
726 |
+
msgid "Account is not authorized."
|
727 |
+
msgstr "Konto nie ma uprawnień."
|
728 |
+
|
729 |
+
#: methods/googledrive.php:395 methods/cloudfiles.php:358
|
730 |
+
msgid "%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts."
|
731 |
+
msgstr "%s jest doskonałym wyborem, ponieważ UpdraftPlus obsługuje pofragmentowane przesłane pliki - bez względu na to, jak duża jest witryna, UpdraftPlus może przesłać to w krótkim czasie i nie dać się udaremnić przez jego limity."
|
732 |
+
|
733 |
+
#: includes/updraft-restorer.php:328
|
734 |
+
msgid "will restore as:"
|
735 |
+
msgstr "przywróć jako:"
|
736 |
+
|
737 |
+
#: includes/updraft-restorer.php:348
|
738 |
+
msgid "An error (%s) occured:"
|
739 |
+
msgstr "Wystąpił (%s) błąd:"
|
740 |
+
|
741 |
+
#: includes/updraft-restorer.php:348
|
742 |
+
msgid "the database query being run was:"
|
743 |
+
msgstr "Wprowadzone zapytanie do bazy danych:"
|
744 |
+
|
745 |
+
#: includes/updraft-restorer.php:351
|
746 |
+
msgid "Too many database errors have occurred - aborting restoration (you will need to restore manually)"
|
747 |
+
msgstr "Wystąpiło zbyt wiele błędów bazy danych - przerywanie przywracania (trzeba będzie przywrócić ręcznie)"
|
748 |
+
|
749 |
+
#: includes/updraft-restorer.php:358
|
750 |
+
msgid "Database lines processed: %d in %.2f seconds"
|
751 |
+
msgstr "Przetwarzanie bazy danych: %d w %.2f secondach"
|
752 |
+
|
753 |
+
#: includes/updraft-restorer.php:370
|
754 |
+
msgid "Finished: lines processed: %d in %.2f seconds"
|
755 |
+
msgstr "Zakończone: przetwarzane: %d w %.2f secondach"
|
756 |
+
|
757 |
+
#: includes/updraft-restorer.php:475 includes/updraft-restorer.php:484
|
758 |
+
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
759 |
+
msgstr "Zmieniono prefiks tabeli: zmiana %s obszaru tabel:"
|
760 |
+
|
761 |
+
#: includes/updraft-restorer.php:479 includes/updraft-restorer.php:513
|
762 |
+
msgid "OK"
|
763 |
+
msgstr "OK"
|
764 |
+
|
765 |
+
#: includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php:91
|
766 |
+
msgid "You need to re-authenticate with %s, as your existing credentials are not working."
|
767 |
+
msgstr "Potrzebujesz do ponownej autoryzacji z %s, jako że Twoje istniejące poświadczenia nie działają. "
|
768 |
+
|
769 |
+
#: methods/webdav.php:13 methods/webdav.php:34 methods/webdav.php:50
|
770 |
+
#: methods/sftp.php:13 methods/sftp.php:34 methods/sftp.php:50
|
771 |
+
msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s"
|
772 |
+
msgstr "Nie masz zainstalowanego dodatku %s UpdraftPlus - dostań go z %s"
|
773 |
+
|
774 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
775 |
+
msgid "%s support is available as an add-on"
|
776 |
+
msgstr "%s wsparcie jest dostępne jako dodatek"
|
777 |
+
|
778 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
779 |
+
msgid "follow this link to get it"
|
780 |
+
msgstr "przestrzegaj tego łącza, aby je zdobyć"
|
781 |
+
|
782 |
+
#: methods/googledrive.php:111
|
783 |
+
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."
|
784 |
+
msgstr "Nie odświeżono Google. To często oznacza, że wprowadzono błędnie identyfikator klienta lub, że nie został ponownie uwierzytelniony (poniżej) od czasu skorygowania tego. Sprawdź ponownie, a następnie kliknij jeszcze raz link uwierzytelniania. W końcu jeśli to nie pomoże, należy użyć trybu eksperta, aby wymazać wszystkie ustawienia i utworzyć nowy identyfikator klienta Google i zacząć od nowa."
|
785 |
+
|
786 |
+
#: methods/googledrive.php:116
|
787 |
+
msgid "Authorization failed"
|
788 |
+
msgstr "Autoryzacja nie powiodła się"
|
789 |
+
|
790 |
+
#: methods/googledrive.php:137
|
791 |
+
msgid "Your %s quota usage: %s %% used, %s available"
|
792 |
+
msgstr "Twoje %s wykorzystanie kontyngentu: %s %% używane, %s dostępne"
|
793 |
+
|
794 |
+
#: methods/googledrive.php:143 methods/cloudfiles.php:473
|
795 |
+
msgid "Success"
|
796 |
+
msgstr "Sukces"
|
797 |
+
|
798 |
+
#: methods/googledrive.php:143
|
799 |
+
msgid "you have authenticated your %s account."
|
800 |
+
msgstr "Uwierzytelnianie Twojego %s konta."
|
801 |
+
|
802 |
+
#: methods/googledrive.php:159
|
803 |
+
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
804 |
+
msgstr "Jeszcze nie otrzymano tokena dostępu z Google - potrzebujesz autoryzacji lub ponownie zezwól na połączenie z Google Drive."
|
805 |
+
|
806 |
+
#: methods/googledrive.php:160 methods/googledrive.php:318
|
807 |
+
msgid "Have not yet obtained an access token from Google (has the user authorised?)"
|
808 |
+
msgstr "Jeszcze nie otrzymano tokena dostępu z Google (jesteś oprawnionym użytkownikiem?)"
|
809 |
+
|
810 |
+
#: includes/updraft-restorer.php:130
|
811 |
+
msgid "wp-config.php from backup: restoring (as per user's request)"
|
812 |
+
msgstr "wp-config.php z kopii zapasowej: przywracanie (na życzenie użytkownika)"
|
813 |
+
|
814 |
+
#: includes/updraft-restorer.php:190
|
815 |
+
msgid "Will not delete the archive after unpacking it, because there was no cloud storage for this backup"
|
816 |
+
msgstr "Czy nie usuwać archiwum po rozpakowaniu go, ponieważ nie było miejsca w chmuerze dla kopii zapasowej"
|
817 |
+
|
818 |
+
#: includes/updraft-restorer.php:218
|
819 |
+
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."
|
820 |
+
msgstr "Ostrzeżenie: PHP tryb_bezpieczny jest aktywny na serwerze. Limity czasu są bardzo prawdopodobne. Jeśli to nastąpi, to będzie trzeba ręcznie przywrócić plik za pomocą phpMyAdmin lub inny sposób."
|
821 |
+
|
822 |
+
#: includes/updraft-restorer.php:223
|
823 |
+
msgid "Failed to find database file"
|
824 |
+
msgstr "Nie udało się znaleźć pliku bazy danych"
|
825 |
+
|
826 |
+
#: includes/updraft-restorer.php:229
|
827 |
+
msgid "Failed to open database file"
|
828 |
+
msgstr "Nie udało się otworzyć pliku bazy danych"
|
829 |
+
|
830 |
+
#: includes/updraft-restorer.php:253
|
831 |
+
msgid "Database access: Direct MySQL access is not available, so we are falling back to wpdb (this will be considerably slower)"
|
832 |
+
msgstr "Dostęp do bazy danych: Bezpośredni dostęp do MySQL nie jest dostępny, więc spadają z powrotem do wpdb (to będzie znacznie wolniejsze)"
|
833 |
+
|
834 |
+
#: includes/updraft-restorer.php:279
|
835 |
+
msgid "Backup of:"
|
836 |
+
msgstr "Kopia zapasowa z:"
|
837 |
+
|
838 |
+
#: includes/updraft-restorer.php:283 includes/updraft-restorer.php:301
|
839 |
+
msgid "Old table prefix:"
|
840 |
+
msgstr "Prefiks starej tabeli:"
|
841 |
+
|
842 |
+
#: includes/updraft-restorer.php:325
|
843 |
+
msgid "Restoring table"
|
844 |
+
msgstr "Przywracanie tabeli"
|
845 |
+
|
846 |
+
#: admin.php:2071
|
847 |
+
msgid "File is not locally present - needs retrieving from remote storage (for large files, it is better to do this in advance from the download console)"
|
848 |
+
msgstr "Plik nie występuje lokalnie - wymaga pobierania z magazynu zdalnego (dla dużych plików lepiej to zrobić wcześniej z konsoli do pobrania)"
|
849 |
+
|
850 |
+
#: admin.php:2077
|
851 |
+
msgid "Archive is expected to be size:"
|
852 |
+
msgstr "Archiwum ma mieć rozmiar:"
|
853 |
+
|
854 |
+
#: admin.php:2082
|
855 |
+
msgid "ERROR"
|
856 |
+
msgstr "BŁĄD"
|
857 |
+
|
858 |
+
#: admin.php:2085
|
859 |
+
msgid "The backup records do not contain information about the proper size of this file."
|
860 |
+
msgstr "Zapisy kopii zapasowej nie zawierają informacji na temat właściwego rozmiaru tego pliku."
|
861 |
+
|
862 |
+
#: admin.php:2100
|
863 |
+
msgid "Error message"
|
864 |
+
msgstr "Komunikat o błędzie"
|
865 |
+
|
866 |
+
#: admin.php:2106 admin.php:2107
|
867 |
+
msgid "Could not find one of the files for restoration"
|
868 |
+
msgstr "Nie można znaleźć jednego z plików do przywrócenia"
|
869 |
+
|
870 |
+
#: includes/updraft-restorer.php:5
|
871 |
+
msgid "UpdraftPlus is not able to directly restore this kind of entity. It must be restored manually."
|
872 |
+
msgstr "UpdraftPlus nie jest w stanie bezpośrednio przywrócić tego rodzaju jednostki. Musi zostać przywrócona ręcznie."
|
873 |
+
|
874 |
+
#: includes/updraft-restorer.php:6
|
875 |
+
msgid "Backup file not available."
|
876 |
+
msgstr "Plik kopii zapasowej nie jest dostępny."
|
877 |
+
|
878 |
+
#: includes/updraft-restorer.php:7
|
879 |
+
msgid "Copying this entity failed."
|
880 |
+
msgstr "Kopiowanie jednostki nie powiodło się."
|
881 |
+
|
882 |
+
#: includes/updraft-restorer.php:8
|
883 |
+
msgid "Unpacking backup..."
|
884 |
+
msgstr "Rozpakowywanie kopii zapasowej..."
|
885 |
+
|
886 |
+
#: includes/updraft-restorer.php:9
|
887 |
+
msgid "Decrypting database (can take a while)..."
|
888 |
+
msgstr "Odszyfrowywanie danych (może chwilę potrwać)..."
|
889 |
+
|
890 |
+
#: includes/updraft-restorer.php:10
|
891 |
+
msgid "Database successfully decrypted."
|
892 |
+
msgstr "Baza danych pomyślnie odszyfrowana."
|
893 |
+
|
894 |
+
#: includes/updraft-restorer.php:11
|
895 |
+
msgid "Moving old directory out of the way..."
|
896 |
+
msgstr "Przenoszenie starego katalogu..."
|
897 |
+
|
898 |
+
#: includes/updraft-restorer.php:12
|
899 |
+
msgid "Moving unpacked backup in place..."
|
900 |
+
msgstr "Przenoszenie rozpakowanej kopii zapasowej w miejscu..."
|
901 |
+
|
902 |
+
#: includes/updraft-restorer.php:13
|
903 |
+
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)..."
|
904 |
+
msgstr "Przywracanie bazy danych (na dużej stronie może to zająć dużo czasu - jeśli czas dobiegnie końca(co może się zdarzyć, jeśli firma hostingowa nie skonfigurowała hostingu ograniczającego zasoby), należy użyć innej metody, np. phpMyAdmin)..."
|
905 |
+
|
906 |
+
#: includes/updraft-restorer.php:14
|
907 |
+
msgid "Cleaning up rubbish..."
|
908 |
+
msgstr "Sprzątanie śmieci..."
|
909 |
+
|
910 |
+
#: includes/updraft-restorer.php:15
|
911 |
+
msgid "Could not move old directory out of the way. Perhaps you already have -old directories that need deleting first?"
|
912 |
+
msgstr "Nie można przenieść stary katalog z tej ścieżki. Być może masz już -stare katalogi, które wymagają usunięcia w pierwszej kolejności?"
|
913 |
+
|
914 |
+
#: includes/updraft-restorer.php:16
|
915 |
+
msgid "Could not delete old directory."
|
916 |
+
msgstr "Nie można usunąć starego katalogu."
|
917 |
+
|
918 |
+
#: includes/updraft-restorer.php:17
|
919 |
+
msgid "Could not move new directory into place. Check your wp-content/upgrade folder."
|
920 |
+
msgstr "Nie można przenieść nowego katalogu w to miejsce. Sprawdź folder wp-content/upgrade."
|
921 |
+
|
922 |
+
#: includes/updraft-restorer.php:18
|
923 |
+
msgid "Failed to delete working directory after restoring."
|
924 |
+
msgstr "Nie udało się usunąć katalogu roboczego po przywróceniu."
|
925 |
+
|
926 |
+
#: includes/updraft-restorer.php:57
|
927 |
+
msgid "Failed to create a temporary directory"
|
928 |
+
msgstr "Nie udało się utworzyć katalogu tymczasowego"
|
929 |
+
|
930 |
+
#: includes/updraft-restorer.php:75
|
931 |
+
msgid "Failed to write out the decrypted database to the filesystem"
|
932 |
+
msgstr "Nie udało się zapisać odszyfrowanej bazy danych do systemu plików"
|
933 |
+
|
934 |
+
#: includes/updraft-restorer.php:126
|
935 |
+
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
936 |
+
msgstr "wp-config.php z kopii zapasowej: przywróć jako wp-config-backup.php"
|
937 |
+
|
938 |
+
#: admin.php:1716
|
939 |
+
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."
|
940 |
+
msgstr "Wybranie tej opcji obniża bezpieczeństwo zatrzymując UpdraftPlus z wykorzystaniem SSL do uwierzytelniania i zaszyfrowanych danych, tam gdzie to możliwe. Należy pamiętać, że niektórzy dostawcy pamięci w chmurze na to nie pozwalają (np. Dropbox), więc u tych dostawców to ustawienie nie będzie miało na nic wpływu."
|
941 |
+
|
942 |
+
#: admin.php:1740
|
943 |
+
msgid "Save Changes"
|
944 |
+
msgstr "Zapisz zmiany"
|
945 |
+
|
946 |
+
#: admin.php:1750
|
947 |
+
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support."
|
948 |
+
msgstr "Serwer sieci instalacji PHP nie zawiera wymaganego modułu (%s). Prosimy o kontakt z dostawcą usługi hostingowej."
|
949 |
+
|
950 |
+
#: admin.php:1750
|
951 |
+
msgid "UpdraftPlus's %s module <strong>requires</strong> Curl. Your only options to get this working are 1) Install/enable curl or 2) Hire us or someone else to code additional support options into UpdraftPlus. 3) Wait, possibly forever, for someone else to do this."
|
952 |
+
msgstr "UpdraftPlus %s wymaga <strong> modułu </ strong> Curl. Jedynymi opcjami zdobycia tego działania są: 1) Zainstaluj/włącz falowanie lub 2) Zatrudnij nas lub kogoś innego do dodania kodu opcji wsparcia w UpdraftPlus. 3) Poczekaj na kogoś innego, aby to zrobił."
|
953 |
+
|
954 |
+
#: admin.php:1756
|
955 |
+
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)."
|
956 |
+
msgstr "Serwer sieci Web w PHP/instalacji Curl nie obsługuje połączenia HTTPS. Komunikacja z %s będzie nieszyfrowana. Zapytaj sieć hostingową o zainstalowanie Curl/SSL w celu uzyskania zdolności do szyfrowania (poprzez dodatki)."
|
957 |
+
|
958 |
+
#: admin.php:1758
|
959 |
+
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."
|
960 |
+
msgstr "Serwer sieci Web w PHP/instalacja Curl nie obsługuje połączenia HTTPS. Nie możemy przejść %s bez tego wsparcia. Prosimy o kontakt z Twoim dostawcą usługi hostingowej. %s <strong wymaga</ strong> Curl + https. Proszę nie składać żadnych próśb o wsparcie, nie ma tutaj alternatywy."
|
961 |
+
|
962 |
+
#: admin.php:1761
|
963 |
+
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."
|
964 |
+
msgstr "Dobre wiadomości: komunikacja witryny z %s może być szyfrowana. Jeśli pojawią się jakieś błędy z szyfrowaniem, spójrz w \"Ustawienia zaawansowane\", aby uzyskać pomoc."
|
965 |
+
|
966 |
+
#: admin.php:1833
|
967 |
+
msgid "Delete this backup set"
|
968 |
+
msgstr "Usuń ten zestaw kopii zapasowej "
|
969 |
+
|
970 |
+
#: admin.php:1862
|
971 |
+
msgid "Press here to download"
|
972 |
+
msgstr "Naciśnij tutaj, aby pobrać"
|
973 |
+
|
974 |
+
#: admin.php:1864
|
975 |
+
msgid "(No %s)"
|
976 |
+
msgstr "(Nie %s)"
|
977 |
+
|
978 |
+
#: admin.php:1874
|
979 |
+
msgid "Backup Log"
|
980 |
+
msgstr "Dziennik kopii zapasowej"
|
981 |
+
|
982 |
+
#: admin.php:1882
|
983 |
+
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
984 |
+
msgstr "Po naciśnięciu tego przycisku, będziesz mieć możliwość wyboru, które składniki chcesz przywrócić"
|
985 |
+
|
986 |
+
#: admin.php:1986
|
987 |
+
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
988 |
+
msgstr "Ta kopia zapasowa nie istnieje w historii kopii zapasowych - przywracanie przerwane. Datownik:"
|
989 |
+
|
990 |
+
#: admin.php:2015
|
991 |
+
msgid "UpdraftPlus Restoration: Progress"
|
992 |
+
msgstr "UpdraftPlus Przywracanie: w toku"
|
993 |
+
|
994 |
+
#: admin.php:2037
|
995 |
+
msgid "ABORT: Could not find the information on which entities to restore."
|
996 |
+
msgstr "UWAGA: nie można znaleźć informacji, których podmioty są do przywrócenia."
|
997 |
+
|
998 |
+
#: admin.php:2038
|
999 |
+
msgid "If making a request for support, please include this information:"
|
1000 |
+
msgstr "W przypadku składania wniosku o wsparcie, należy podać następujące informacje:"
|
1001 |
+
|
1002 |
+
#: admin.php:2063
|
1003 |
+
msgid "This component was not selected for restoration - skipping."
|
1004 |
+
msgstr "Składnik ten nie został wybrany do przywrócenia - pomijajam."
|
1005 |
+
|
1006 |
+
#: admin.php:1710
|
1007 |
+
msgid "Do not verify SSL certificates"
|
1008 |
+
msgstr "Brak weryfikacji certyfikatów SSL"
|
1009 |
+
|
1010 |
+
#: admin.php:1711
|
1011 |
+
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."
|
1012 |
+
msgstr "Wybranie tej opcji obniża bezpieczeństwo powodując zatrzymanie UpdraftPlus z weryfikowania tożsamości zaszyfrowanych stron, które łączą się np. z Dropboxem czy Google Drive. Oznacza to, że UpdraftPlus będzie działał tylko za pomocą protokołu SSL do szyfrowania ruchu, a nie do uwierzytelniania."
|
1013 |
+
|
1014 |
+
#: admin.php:1711
|
1015 |
+
msgid "Note that not all cloud backup methods are necessarily using SSL authentication."
|
1016 |
+
msgstr "Należy pamiętać, że nie wszystkie metody tworzenia kopii zapasowych w chmurze zawsze używają uwierzytelniania protokołu SSL."
|
1017 |
+
|
1018 |
+
#: admin.php:1715
|
1019 |
+
msgid "Disable SSL entirely where possible"
|
1020 |
+
msgstr "Wyłącz SSL całkowiecie, kiedy jest to możliwe"
|
1021 |
+
|
1022 |
+
#: admin.php:1674
|
1023 |
+
msgid "Expert settings"
|
1024 |
+
msgstr "Ustawienia dla ekspertów"
|
1025 |
+
|
1026 |
+
#: admin.php:1675
|
1027 |
+
msgid "Show expert settings"
|
1028 |
+
msgstr "Pokaż ustawienia dla ekspertów"
|
1029 |
+
|
1030 |
+
#: admin.php:1675
|
1031 |
+
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
1032 |
+
msgstr "kliknij, aby zobaczyć jakieś inne opcje; nie przejmuj się tym, chyba że masz wątpliwości lub jesteś ciekawy."
|
1033 |
+
|
1034 |
+
#: admin.php:1682
|
1035 |
+
msgid "Delete local backup"
|
1036 |
+
msgstr "Skasuj lokalne kopie zapasowe"
|
1037 |
+
|
1038 |
+
#: admin.php:1683
|
1039 |
+
msgid "Uncheck this to prevent deletion of any superfluous backup files from your server after the backup run finishes (i.e. any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)."
|
1040 |
+
msgstr "Usuń zaznaczenie tego, aby zapobiec usunięciu wszelkich zbędnych plików kopii zapasowej z serwera po zakończeniu tworzenia kopii zapasowej (wszystkie pliki wysyłane zdalnie również pozostaną na miejscu, a wszystkie pliki przechowywane lokalnie nie będą podlegały ograniczeniom retencyjnych)."
|
1041 |
+
|
1042 |
+
#: admin.php:1688
|
1043 |
+
msgid "Backup directory"
|
1044 |
+
msgstr "Katalog kopii zapasowej"
|
1045 |
+
|
1046 |
+
#: admin.php:1696
|
1047 |
+
msgid "Backup directory specified is writable, which is good."
|
1048 |
+
msgstr "Określony katalog kopii zapasowej jest zapisany, czyli w porządku."
|
1049 |
+
|
1050 |
+
#: admin.php:1698
|
1051 |
+
msgid "Backup directory specified is <b>not</b> writable, or does not exist."
|
1052 |
+
msgstr "Archiwizacja danych katalogu nie <b>jest</ b> zapisana, lub nie istnieje."
|
1053 |
+
|
1054 |
+
#: admin.php:1698
|
1055 |
+
msgid "Click here to attempt to create the directory and set the permissions"
|
1056 |
+
msgstr "Kliknij tutaj, aby próbować utworzyć katalog i ustawić uprawnienia"
|
1057 |
+
|
1058 |
+
#: admin.php:1698
|
1059 |
+
msgid "or, to reset this option"
|
1060 |
+
msgstr "lub, aby zresetować tą opcję"
|
1061 |
+
|
1062 |
+
#: admin.php:1698
|
1063 |
+
msgid "click here"
|
1064 |
+
msgstr "kliknij tutaj"
|
1065 |
+
|
1066 |
+
#: admin.php:1698
|
1067 |
+
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."
|
1068 |
+
msgstr "Jeśli to nie pomoże sprawdź uprawnienia na serwerze lub zmień to do innego katalogu, który jest zapisywalny przez proces serwera WWW."
|
1069 |
+
|
1070 |
+
#: admin.php:1701
|
1071 |
+
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. Typically you'll want to have it inside your wp-content folder (this is the default). <b>Do not</b> place it inside your uploads dir, as that will cause recursion issues (backups of backups of backups of...)."
|
1072 |
+
msgstr "Miejsce, gdzie UpdraftPlus zapisze pliki początkowe. Katalog ten musi być zapisywalny przez serwer WWW. Zazwyczaj będziesz go miał wewnątrz folderu wp-content (jest to ustawienie domyślne). <b> Nie </ b> umieszczenie przesłanego polecenia dir wewnątrz, będzie powodować problemy rekursji (tworzenie kopii zapasowych kopii zapasowych kopii zapasowych ...)."
|
1073 |
+
|
1074 |
+
#: admin.php:1705
|
1075 |
+
msgid "Use the server's SSL certificates"
|
1076 |
+
msgstr "Korzystanie z serwera z certyfikatem SSL"
|
1077 |
+
|
1078 |
+
#: admin.php:1706
|
1079 |
+
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."
|
1080 |
+
msgstr "Domyślnie UpdraftPlus wykorzystuje własny magazyn certyfikatów SSL w celu weryfikacji tożsamości odległych miejsc (np. aby upewnić się, że komunikuje się z prawdziwym Dropbox, Amazon S3, itd., a nie z wrogiem). Trzymamy to na bieżąco. Jednak, jeśli masz błąd SSL, a następnie wybierzesz tą opcję (co powoduje, że Updraft będzie używało Twojego serwera) może to pomóc."
|
1081 |
+
|
1082 |
+
#: admin.php:1447
|
1083 |
+
msgid "Use WordShell for automatic backup, version control and patching"
|
1084 |
+
msgstr "Użyj WordShell do automatycznego tworzenia kopii zapasowych, kontroli wersji i patchowania (łatania)."
|
1085 |
+
|
1086 |
+
#: admin.php:1451
|
1087 |
+
msgid "Email"
|
1088 |
+
msgstr "Email"
|
1089 |
+
|
1090 |
+
#: admin.php:1452
|
1091 |
+
msgid "Enter an address here to have a report sent (and the whole backup, if you choose) to it."
|
1092 |
+
msgstr "Aby wysłać raport (i cały backup, jeśli zdecydujesz) wpisz tutaj swój adres."
|
1093 |
+
|
1094 |
+
#: admin.php:1456
|
1095 |
+
msgid "Database encryption phrase"
|
1096 |
+
msgstr "Zwrot szyfrowania bazy danych"
|
1097 |
+
|
1098 |
+
#: admin.php:1463
|
1099 |
+
msgid "If you enter text here, it is used to encrypt 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> Presently, only the database file is encrypted. 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)."
|
1100 |
+
msgstr "Wprowadź tutaj tekst, który jest używany do szyfrowania kopii zapasowych (Rijndael). <strong> Zrób oddzielny rejestr, aby nie stracić ani jego ani wszystkich kopii zapasowych <em> będą </ em> bezużyteczne. </ strong> Obecnie tylko plik bazy danych jest szyfrowany. To także klucz używany do tworzenia kopii zapasowych deszyfrowania z tego interfejsu administratora (jeśli więc chcesz go zmienić, wtedy automatyczne deszyfrowanie nie będzie działać dopóki nie zostanie ono zmienione z powrotem)."
|
1101 |
+
|
1102 |
+
#: admin.php:1463
|
1103 |
+
msgid "You can also decrypt a database manually here."
|
1104 |
+
msgstr "Można również odszyfrować tutaj bazy danych ręcznie."
|
1105 |
+
|
1106 |
+
#: admin.php:1466
|
1107 |
+
msgid "Manually decrypt a database backup file"
|
1108 |
+
msgstr "Ręcznie odszyfrowuj plik kopii zapasowej bazy danych"
|
1109 |
+
|
1110 |
+
#: admin.php:1470
|
1111 |
+
msgid "Drop encrypted database files (db.crypt.gz files) here to upload them for decryption"
|
1112 |
+
msgstr "Przeciągnij zaszyfrowane pliki baz danych (pliki db.crypt.gz), żeby wysłać je do deszyfrowania"
|
1113 |
+
|
1114 |
+
#: admin.php:1473
|
1115 |
+
msgid "Use decryption key"
|
1116 |
+
msgstr "Użyj klucza deszyfrowania"
|
1117 |
+
|
1118 |
+
#: admin.php:1487
|
1119 |
+
msgid "Copying Your Backup To Remote Storage"
|
1120 |
+
msgstr "Kopiowanie Twojej kopii zapasowej do magazynu zdalnego"
|
1121 |
+
|
1122 |
+
#: admin.php:1491
|
1123 |
+
msgid "Choose your remote storage"
|
1124 |
+
msgstr "Wybierz miejsce zdalnego przechowywania"
|
1125 |
+
|
1126 |
+
#: admin.php:1503
|
1127 |
+
msgid "None"
|
1128 |
+
msgstr "Żaden"
|
1129 |
+
|
1130 |
+
#: admin.php:1597 admin.php:1618 admin.php:1643
|
1131 |
+
msgid "Cancel"
|
1132 |
+
msgstr "Anuluj"
|
1133 |
+
|
1134 |
+
#: admin.php:1627
|
1135 |
+
msgid "Requesting start of backup..."
|
1136 |
+
msgstr "Żądanie rozpoczęcia tworzenia kopii zapasowej... "
|
1137 |
+
|
1138 |
+
#: admin.php:1667
|
1139 |
+
msgid "Advanced / Debugging Settings"
|
1140 |
+
msgstr "Zaawansowanie/ustawienia debugowania"
|
1141 |
+
|
1142 |
+
#: admin.php:1670
|
1143 |
+
msgid "Debug mode"
|
1144 |
+
msgstr "Tryb debugowania"
|
1145 |
+
|
1146 |
+
#: admin.php:1671
|
1147 |
+
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong. You <strong>must</strong> send us this log if you are filing a bug report."
|
1148 |
+
msgstr "Sprawdź to, aby otrzymać więcej informacji i e-maile w procesie tworzenia kopii zapasowej - przydatne, jeśli coś jest nie tak. Wówczas <strong> musisz </ strong> wysłać nam ten dziennik, jeśli wykryjesz błąd."
|
1149 |
+
|
1150 |
+
#: admin.php:1447
|
1151 |
+
msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org."
|
1152 |
+
msgstr "Wszystkie powyższe katalogi, z wyjątkiem samego jądra WordPressa, które można pobrać na nowo z WordPress.org."
|
1153 |
+
|
1154 |
+
#: admin.php:1447
|
1155 |
+
msgid "Or, get the \"More Files\" add-on from our shop."
|
1156 |
+
msgstr "Albo dostać \"więcej plików\" dodatki w naszym sklepie."
|
1157 |
+
|
1158 |
+
#: admin.php:1364
|
1159 |
+
msgid "Daily"
|
1160 |
+
msgstr "Codziennie"
|
1161 |
+
|
1162 |
+
#: admin.php:1364
|
1163 |
+
msgid "Weekly"
|
1164 |
+
msgstr "Co tydzień"
|
1165 |
+
|
1166 |
+
#: admin.php:1364
|
1167 |
+
msgid "Fortnightly"
|
1168 |
+
msgstr "Co 2 tygodnie"
|
1169 |
+
|
1170 |
+
#: admin.php:1364
|
1171 |
+
msgid "Monthly"
|
1172 |
+
msgstr "Co miesiąc"
|
1173 |
+
|
1174 |
+
#: admin.php:1373 admin.php:1391
|
1175 |
+
msgid "and retain this many backups"
|
1176 |
+
msgstr "i zachowaj dla wielu kopii zapasowych"
|
1177 |
+
|
1178 |
+
#: admin.php:1380
|
1179 |
+
msgid "Database backup intervals"
|
1180 |
+
msgstr "Częstotliwość tworzenia kopii zapasowych bazy danych"
|
1181 |
+
|
1182 |
+
#: admin.php:1398
|
1183 |
+
msgid "If you would like to automatically schedule backups, choose schedules from the dropdowns above. Backups will occur at the intervals specified. If the two schedules are the same, then the two backups will take place together. If you choose \"manual\" then you must click the \"Backup Now\" button whenever you wish a backup to occur."
|
1184 |
+
msgstr "Jeśli chcesz zaplanować automatyczne wykonywanie kopii zapasowych, wybierz to powyżej z rozwijanego menu harmonogramu. Kopie zapasowe będą występować w określonych odstępach. Jeżeli dwa schematy są takie same, wówczas obie kopie odbędą się razem. Jeśli wybierzesz \"Backup Now\", następnie należy kliknąć przycisk \"Backup Now\", gdy chcesz wystąpienie kopii zapasowych."
|
1185 |
+
|
1186 |
+
#: admin.php:1399
|
1187 |
+
msgid "To fix the time at which a backup should take place,"
|
1188 |
+
msgstr "Aby ustalić czas, w którym kopia zapasowa powinna nastąpić,"
|
1189 |
+
|
1190 |
+
#: admin.php:1399
|
1191 |
+
msgid "e.g. if your server is busy at day and you want to run overnight"
|
1192 |
+
msgstr "na przykład jeśli serwer jest zajęty w dzień i chcesz uruchomić w ciągu nocy"
|
1193 |
+
|
1194 |
+
#: admin.php:1399
|
1195 |
+
msgid "use the \"Fix Time\" add-on"
|
1196 |
+
msgstr "użyj dodatku \"Fix Time\""
|
1197 |
+
|
1198 |
+
#: admin.php:1403
|
1199 |
+
msgid "Include in files backup"
|
1200 |
+
msgstr "Uwzględnij pliki w kopii zapasowej"
|
1201 |
+
|
1202 |
+
#: admin.php:1413
|
1203 |
+
msgid "Any other directories found inside wp-content"
|
1204 |
+
msgstr "Wszelkie inne katalogi znajdź wewnątrz wp-content"
|
1205 |
+
|
1206 |
+
#: admin.php:1419
|
1207 |
+
msgid "Exclude these:"
|
1208 |
+
msgstr "Wyłączyć te:"
|
1209 |
+
|
1210 |
+
#: admin.php:1421
|
1211 |
+
msgid "If entering multiple files/directories, then separate them with commas"
|
1212 |
+
msgstr "W przypadku wprowadzania wielu plików/katalogów rozdziel je przecinkami"
|
1213 |
+
|
1214 |
+
#: admin.php:1138
|
1215 |
+
msgid "Debug Database Backup"
|
1216 |
+
msgstr "Debuguj bazę danych kopii zapasowej"
|
1217 |
+
|
1218 |
+
#: admin.php:1138
|
1219 |
+
msgid "This will cause an immediate DB backup. The page will stall loading until it finishes (ie, unscheduled). The backup may well run out of time; really this button is only helpful for checking that the backup is able to get through the initial stages, or for small WordPress sites.."
|
1220 |
+
msgstr "Spowoduje to natychmiastową kopię zapasową bazy danych. Strona zacznie się ładować aż do zakończenia (tj. nieplanowane). Backupowi może również zabraknąć czasu, naprawdę ten przycisk jest przydatny tylko dla sprawdzenia, że tworzenie kopii zapasowych jest w stanie dotrzeć na początkowych etapach, lub dla małych witryn WordPress .."
|
1221 |
+
|
1222 |
+
#: admin.php:1144
|
1223 |
+
msgid "Wipe Settings"
|
1224 |
+
msgstr "Ustawienia wipe"
|
1225 |
+
|
1226 |
+
#: admin.php:1145
|
1227 |
+
msgid "This button will delete all UpdraftPlus settings (but not any of your existing backups from your cloud storage). You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish."
|
1228 |
+
msgstr "Ten przycisk usuwa wszystkie ustawienia UpdraftPlus (ale nie każde z istniejących kopii zapasowych z pamięci masowej w chmurze). Następnie należy wprowadzić wszystkie ustawienia ponownie. Możesz to zrobić także przed wyłączeniem/deinstalacją UpdraftPlus jeśli chcesz."
|
1229 |
+
|
1230 |
+
#: admin.php:1148
|
1231 |
+
msgid "Wipe All Settings"
|
1232 |
+
msgstr "Wszystkie ustawienia wipe"
|
1233 |
+
|
1234 |
+
#: admin.php:1148
|
1235 |
+
msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?"
|
1236 |
+
msgstr "Spowoduje to usunięcie wszystkich ustawień UpdraftPlus - czy na pewno chcesz to zrobić?"
|
1237 |
+
|
1238 |
+
#: admin.php:1150
|
1239 |
+
msgid "Active jobs"
|
1240 |
+
msgstr "Aktywne zadania"
|
1241 |
+
|
1242 |
+
#: admin.php:1151
|
1243 |
+
msgid "Refresh your page in order to update this list."
|
1244 |
+
msgstr "Odśwież stronę w celu aktualizacji listy. "
|
1245 |
+
|
1246 |
+
#: admin.php:1164
|
1247 |
+
msgid "%s: began at: %s; next resumption: %d (after %ss)"
|
1248 |
+
msgstr "%s: rozpoczął się: %s; następne wznowienie: %d (po %ss) "
|
1249 |
+
|
1250 |
+
#: admin.php:1164
|
1251 |
+
msgid "show log"
|
1252 |
+
msgstr "pokaż plik dziennika"
|
1253 |
+
|
1254 |
+
#: admin.php:1164
|
1255 |
+
msgid "delete schedule"
|
1256 |
+
msgstr "usuń harmonogram "
|
1257 |
+
|
1258 |
+
#: admin.php:1171
|
1259 |
+
msgid "(None)"
|
1260 |
+
msgstr "(Żadne) "
|
1261 |
+
|
1262 |
+
#: admin.php:1188
|
1263 |
+
msgid "Unknown response:"
|
1264 |
+
msgstr "Nieznane odpowiedzi:"
|
1265 |
+
|
1266 |
+
#: admin.php:1238 admin.php:1594
|
1267 |
+
msgid "Delete"
|
1268 |
+
msgstr "Usuń"
|
1269 |
+
|
1270 |
+
#: admin.php:1280
|
1271 |
+
msgid "The request to the filesystem to create the directory failed."
|
1272 |
+
msgstr "Żądanie, aby utworzyć system plików nie powiodło się."
|
1273 |
+
|
1274 |
+
#: admin.php:1294
|
1275 |
+
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"
|
1276 |
+
msgstr "Folder został stworzony, ale musieliśmy zmienić jego uprawnienia do plików na 777 (prawa zapisu), aby móc to zapisać. Należy skontaktować się z dostawcą usług hostingowych, aby nie spowodowało to żadnych problemów."
|
1277 |
+
|
1278 |
+
#: admin.php:1298
|
1279 |
+
msgid "The folder exists, but your webserver does not have permission to write to it."
|
1280 |
+
msgstr "Folder istnieje, ale twój serwer www nie ma uprawnień do jego zapisu."
|
1281 |
+
|
1282 |
+
#: admin.php:1298
|
1283 |
+
msgid "You will need to consult with your web hosting provider to find out to set permissions for a WordPress plugin to write to the directory."
|
1284 |
+
msgstr "Musisz skontaktować się z dostawcą usługi hostingowej, aby dowiedzieć się jak ustawić uprawnienia dla wtyczki Wordpressa, aby zapisać do tego katalogu."
|
1285 |
+
|
1286 |
+
#: admin.php:1338
|
1287 |
+
msgid "Download log file"
|
1288 |
+
msgstr "Pobieranie pliku dziennika"
|
1289 |
+
|
1290 |
+
#: admin.php:1344
|
1291 |
+
msgid "No backup has been completed."
|
1292 |
+
msgstr "Kopia zapasowa nie została ukończona."
|
1293 |
+
|
1294 |
+
#: admin.php:1361
|
1295 |
+
msgid "File backup intervals"
|
1296 |
+
msgstr "Okresy tworzenia kopii zapasowych plików"
|
1297 |
+
|
1298 |
+
#: admin.php:1364
|
1299 |
+
msgid "Manual"
|
1300 |
+
msgstr "Ręczny"
|
1301 |
+
|
1302 |
+
#: admin.php:1364
|
1303 |
+
msgid "Every 4 hours"
|
1304 |
+
msgstr "Co 4 godziny"
|
1305 |
+
|
1306 |
+
#: admin.php:1364
|
1307 |
+
msgid "Every 8 hours"
|
1308 |
+
msgstr "Co 8 godzn"
|
1309 |
+
|
1310 |
+
#: admin.php:1364
|
1311 |
+
msgid "Every 12 hours"
|
1312 |
+
msgstr "Co 12 godzin"
|
1313 |
+
|
1314 |
+
#: admin.php:1067
|
1315 |
+
msgid "To proceed, press 'Backup Now'. Then, watch the 'Last Log Message' field for activity after about 10 seconds. WordPress should start the backup running in the background."
|
1316 |
+
msgstr "Aby kontynuować, naciśnij 'Backup Now' (twórz kopię teraz). Następnie obejrzyj 'ostatnią wiadomość dziennika' aktywności po około 10 sekundach. WordPress powinien rozpocząć tworzenie kopii zapasowej w tle. "
|
1317 |
+
|
1318 |
+
#: admin.php:1069
|
1319 |
+
msgid "Does nothing happen when you schedule backups?"
|
1320 |
+
msgstr "Co zrobić, gdy zaplanowane tworzenie kopii zapasowej się nie wydarzy?"
|
1321 |
+
|
1322 |
+
#: admin.php:1069
|
1323 |
+
msgid "Go here for help."
|
1324 |
+
msgstr "Przyjdź tutaj, jeśli potrzebujesz pomocy."
|
1325 |
+
|
1326 |
+
#: admin.php:1075
|
1327 |
+
msgid "Multisite"
|
1328 |
+
msgstr "Wiele stron"
|
1329 |
+
|
1330 |
+
#: admin.php:1079
|
1331 |
+
msgid "Do you need WordPress Multisite support?"
|
1332 |
+
msgstr "Czy potrzebujesz wsparcia Wordpress Multisite (wiele stron)?"
|
1333 |
+
|
1334 |
+
#: admin.php:1079
|
1335 |
+
msgid "Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
1336 |
+
msgstr "Proszę sprawdzić UpdraftPlus Premium lub samodzielnie dodatki dla wielu stron (Multisite)."
|
1337 |
+
|
1338 |
+
#: admin.php:1084
|
1339 |
+
msgid "Configure Backup Contents And Schedule"
|
1340 |
+
msgstr "Skonfiguruj harmonogram tworzenia kopii zapasowych i zawartości"
|
1341 |
+
|
1342 |
+
#: admin.php:1090
|
1343 |
+
msgid "Debug Information And Expert Options"
|
1344 |
+
msgstr "Debuguj informacje i opcje ekspert."
|
1345 |
+
|
1346 |
+
#: admin.php:1093
|
1347 |
+
msgid "Web server:"
|
1348 |
+
msgstr "Serwer sieci:"
|
1349 |
+
|
1350 |
+
#: admin.php:1096
|
1351 |
+
msgid "Peak memory usage"
|
1352 |
+
msgstr "Maksymalne wykorzystanie pamięci"
|
1353 |
+
|
1354 |
+
#: admin.php:1097
|
1355 |
+
msgid "Current memory usage"
|
1356 |
+
msgstr "Aktualne zużycie pamięci"
|
1357 |
+
|
1358 |
+
#: admin.php:1098
|
1359 |
+
msgid "PHP memory limit"
|
1360 |
+
msgstr "Limit pamięci PHP"
|
1361 |
+
|
1362 |
+
#: admin.php:1099
|
1363 |
+
msgid "%s version:"
|
1364 |
+
msgstr "%s wersja:"
|
1365 |
+
|
1366 |
+
#: admin.php:1102 admin.php:1104 admin.php:1109
|
1367 |
+
msgid "Yes"
|
1368 |
+
msgstr "Tak"
|
1369 |
+
|
1370 |
+
#: admin.php:1104 admin.php:1109
|
1371 |
+
msgid "No"
|
1372 |
+
msgstr "Nie"
|
1373 |
+
|
1374 |
+
#: admin.php:1107
|
1375 |
+
msgid "PHP has support for ZipArchive::addFile:"
|
1376 |
+
msgstr "PHP posiada wsparcie dla ZipArchive (archiwum ZIP)::dodajPlik: "
|
1377 |
+
|
1378 |
+
#: admin.php:1109
|
1379 |
+
msgid "/usr/bin/zip can be executed:"
|
1380 |
+
msgstr "/usr/bin/zip może być wykonane: "
|
1381 |
+
|
1382 |
+
#: admin.php:1111
|
1383 |
+
msgid "Total (uncompressed) on-disk data:"
|
1384 |
+
msgstr "Wszystkie (nieskompresowane) dane na dysku: "
|
1385 |
+
|
1386 |
+
#: admin.php:1112
|
1387 |
+
msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options."
|
1388 |
+
msgstr "Nota bene ilość ta była oparta, lub nie, o ostatnie zapisane opcje. "
|
1389 |
+
|
1390 |
+
#: admin.php:1119
|
1391 |
+
msgid "count"
|
1392 |
+
msgstr "obliczanie"
|
1393 |
+
|
1394 |
+
#: admin.php:1125
|
1395 |
+
msgid "The buttons below will immediately execute a backup run, independently of WordPress's scheduler. If these work whilst your scheduled backups and the \"Backup Now\" button do absolutely nothing (i.e. not even produce a log file), then it means that your scheduler is broken. You should then disable all your other plugins, and try the \"Backup Now\" button. If that fails, then contact your web hosting company and ask them if they have disabled wp-cron. If it succeeds, then re-activate your other plugins one-by-one, and find the one that is the problem and report a bug to them."
|
1396 |
+
msgstr "Przyciski poniżej wykonują natychmiast kopię zapasową, niezależnie od harmonogramu WordPressa. Jeśli te prace podczas zaplanowanych kopii zapasowych i \"Backup Now \" nie przynoszą rezultatu (tj. nie wytwarzają nawet pliku dziennika), to oznacza to, że harmonogram jest uszkodzony. Następnie należy wyłączyć wszystkie inne wtyczki i spróbować nacisnąć \"Backup Now \". Jeśli to się nie powiedzie, skontaktuj się z firmą hostingową i zapytaj, czy mają wyłączony wp-cron. Jeśli to się uda, a następnie ponownie aktywujesz inne wtyczki jeden po drugim, i znajdziesz ten, który jest problemem, zgłoś błąd do nich."
|
1397 |
+
|
1398 |
+
#: admin.php:1133
|
1399 |
+
msgid "Debug Full Backup"
|
1400 |
+
msgstr "Debuguj pełną kopię zapasową"
|
1401 |
+
|
1402 |
+
#: admin.php:1133
|
1403 |
+
msgid "This will cause an immediate backup. The page will stall loading until it finishes (ie, unscheduled)."
|
1404 |
+
msgstr "Spowoduje to natychmiastową kopię. Strona zacznie się ładować aż do zakończenia (tj. nieplanowane)."
|
1405 |
+
|
1406 |
+
#: admin.php:874
|
1407 |
+
msgid "UpdraftPlus - Upload backup files"
|
1408 |
+
msgstr "UpdraftPlus - przesyłanie plików kopii zapasowej"
|
1409 |
+
|
1410 |
+
#: admin.php:875
|
1411 |
+
msgid "Upload files into UpdraftPlus. Use this to import backups made on a different WordPress installation."
|
1412 |
+
msgstr "Prześlij pliki do UpdraftPlus. Służy to do importowania kopii zapasowych wykonanych na innej instalacji WordPressa."
|
1413 |
+
|
1414 |
+
#: admin.php:879
|
1415 |
+
msgid "Drop backup zips here"
|
1416 |
+
msgstr "Wrzuć kopię zapasową tutaj"
|
1417 |
+
|
1418 |
+
#: admin.php:880 admin.php:1471
|
1419 |
+
msgid "or"
|
1420 |
+
msgstr "lub"
|
1421 |
+
|
1422 |
+
#: admin.php:893 admin.php:1194
|
1423 |
+
msgid "calculating..."
|
1424 |
+
msgstr "obliczanie..."
|
1425 |
+
|
1426 |
+
#: admin.php:951 admin.php:973
|
1427 |
+
msgid "Error:"
|
1428 |
+
msgstr "Błąd:"
|
1429 |
+
|
1430 |
+
#: admin.php:961
|
1431 |
+
msgid "You should:"
|
1432 |
+
msgstr "Powinieneś:"
|
1433 |
+
|
1434 |
+
#: admin.php:968
|
1435 |
+
msgid "Download error: the server sent us a response (JSON) which we did not understand"
|
1436 |
+
msgstr "Pobierz błąd: serwer wysłał nam odpowiedź (JSON), które nie rozumie"
|
1437 |
+
|
1438 |
+
#: admin.php:973
|
1439 |
+
msgid "Download error: the server sent us a response which we did not understand."
|
1440 |
+
msgstr "Pobierz błąd: serwer wysłał nam odpowiedź, które nie rozumie."
|
1441 |
+
|
1442 |
+
#: admin.php:988
|
1443 |
+
msgid "Delete backup set"
|
1444 |
+
msgstr "Usuń zestaw kopii zapasowych "
|
1445 |
+
|
1446 |
+
#: admin.php:991
|
1447 |
+
msgid "Are you sure that you wish to delete this backup set?"
|
1448 |
+
msgstr "Czy jesteś pewien, że chcesz usunąć ten zestaw kopii zapasowych? "
|
1449 |
+
|
1450 |
+
#: admin.php:997
|
1451 |
+
msgid "Delete from remote storage (if any)"
|
1452 |
+
msgstr "Usuń z magazynu zdalnego (jeśli są) "
|
1453 |
+
|
1454 |
+
#: admin.php:998
|
1455 |
+
msgid "Delete from UpdraftPlus's memory"
|
1456 |
+
msgstr "Usuń z pamięci UpdraftPlus. "
|
1457 |
+
|
1458 |
+
#: admin.php:1003
|
1459 |
+
msgid "Restore backup"
|
1460 |
+
msgstr "Przywróć kopię zapasową"
|
1461 |
+
|
1462 |
+
#: admin.php:1004
|
1463 |
+
msgid "Restore backup from"
|
1464 |
+
msgstr "Przywróć kopię zapasową z"
|
1465 |
+
|
1466 |
+
#: admin.php:1005
|
1467 |
+
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)."
|
1468 |
+
msgstr "Przywracanie zastąpi w tej witrynie motywy, wtyczki, przesłane pliki, bazę danych i/lub inne katalogi zawartości (zgodnie z tym co jest zawarte w zestawie kopii zapasowych, i Twojej selekcji)."
|
1469 |
+
|
1470 |
+
#: admin.php:1005
|
1471 |
+
msgid "Choose the components to restore"
|
1472 |
+
msgstr "Wybierz składniki do przywrócenia"
|
1473 |
+
|
1474 |
+
#: admin.php:1014
|
1475 |
+
msgid "Your web server has PHP's so-called safe_mode active."
|
1476 |
+
msgstr "Twój serwer PHP musi mieć aktywny tryb_bezpieczny."
|
1477 |
+
|
1478 |
+
#: admin.php:1014
|
1479 |
+
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, <a href=\"http://updraftplus.com/faqs/i-want-to-restore-but-have-either-cannot-or-have-failed-to-do-so-from-the-wp-admin-console/\">or to restore manually</a>."
|
1480 |
+
msgstr "To powoduje, że prawdopodobnie skończył się czas. Zaleca się wyłączyć tryb_bezpieczny lub przywrócić tylko jeden podmiot, <a href=\"http://updraftplus.com/faqs/i-want-to-restore-but-have-either-cannot-or-have-failed-to-do-so-from-the-wp-admin-console/\">lub przywrócić manualnie</a>."
|
1481 |
+
|
1482 |
+
#: admin.php:1027
|
1483 |
+
msgid "The following entity cannot be restored automatically: \"%s\"."
|
1484 |
+
msgstr "Poniższa jednostka nie może zostać przywrócona automatycznie: \"%s\"."
|
1485 |
+
|
1486 |
+
#: admin.php:1027
|
1487 |
+
msgid "You will need to restore it manually."
|
1488 |
+
msgstr "Będziesz musiał przywrócić to ręcznie."
|
1489 |
+
|
1490 |
+
#: admin.php:1034
|
1491 |
+
msgid "%s restoration options:"
|
1492 |
+
msgstr "%s opcje przywracania:"
|
1493 |
+
|
1494 |
+
#: admin.php:1042
|
1495 |
+
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"
|
1496 |
+
msgstr "Możesz wyszukać i zastąpić bazy danych (dla migracji witryny do nowej lokalizacji/URL) z migratora dodatków - tu łlink, aby uzyskać więcej informacji"
|
1497 |
+
|
1498 |
+
#: admin.php:1063
|
1499 |
+
msgid "Do read this helpful article of useful things to know before restoring."
|
1500 |
+
msgstr "Przeczytaj artykuł o przydatnych rzeczach, jakie powinieneś wiedzieć przed przywracaniem."
|
1501 |
+
|
1502 |
+
#: admin.php:1066
|
1503 |
+
msgid "Perform a one-time backup"
|
1504 |
+
msgstr "Wykonywanie kopii zapasowej w jednym czasie"
|
1505 |
+
|
1506 |
+
#: admin.php:827
|
1507 |
+
msgid "Time now"
|
1508 |
+
msgstr "Czas teraz"
|
1509 |
+
|
1510 |
+
#: admin.php:831
|
1511 |
+
msgid "Last finished backup run"
|
1512 |
+
msgstr "Ostatnia zakończona kopia zapasowa"
|
1513 |
+
|
1514 |
+
#: admin.php:836 admin.php:1625
|
1515 |
+
msgid "Backup Now"
|
1516 |
+
msgstr "Zrób kopię teraz"
|
1517 |
+
|
1518 |
+
#: admin.php:843 admin.php:1604 admin.php:1882
|
1519 |
+
msgid "Restore"
|
1520 |
+
msgstr "Przywróć"
|
1521 |
+
|
1522 |
+
#: admin.php:850
|
1523 |
+
msgid "Last log message"
|
1524 |
+
msgstr "Ostatni plik dziennika"
|
1525 |
+
|
1526 |
+
#: admin.php:852
|
1527 |
+
msgid "(Nothing yet logged)"
|
1528 |
+
msgstr "(Jeszcze nie zalogowano)"
|
1529 |
+
|
1530 |
+
#: admin.php:853
|
1531 |
+
msgid "Download most recently modified log file"
|
1532 |
+
msgstr "Pobierz ostatnio zmodyfikowany plik dziennika"
|
1533 |
+
|
1534 |
+
#: admin.php:857
|
1535 |
+
msgid "Backups, logs & restoring"
|
1536 |
+
msgstr "Kopie zapasowe, logi & przywracanie"
|
1537 |
+
|
1538 |
+
#: admin.php:858
|
1539 |
+
msgid "Press to see available backups"
|
1540 |
+
msgstr "Naciśnij, aby zobaczyć dostępne kopie zapasowe"
|
1541 |
+
|
1542 |
+
#: admin.php:858
|
1543 |
+
msgid "%d set(s) available"
|
1544 |
+
msgstr "%d dostępne zestaw(y)"
|
1545 |
+
|
1546 |
+
#: admin.php:864
|
1547 |
+
msgid "Downloading and restoring"
|
1548 |
+
msgstr "Pobieranie i przywracanie "
|
1549 |
+
|
1550 |
+
#: admin.php:866
|
1551 |
+
msgid "Downloading"
|
1552 |
+
msgstr "Pobieranie"
|
1553 |
+
|
1554 |
+
#: admin.php:866
|
1555 |
+
msgid "Pressing a button for Database/Plugins/Themes/Uploads/Others will make UpdraftPlus try to bring the backup file back from the remote storage (if any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then you will be allowed to download it to your computer. If the fetch from the remote storage stops progressing (wait 30 seconds to make sure), then press again to resume. Remember that you can also visit the cloud storage vendor's website directly."
|
1556 |
+
msgstr "Naciśnięcie przycisku dla Baza danych/Wtyczki/Motywy/Przesłane/Inne spowoduje, że UpdraftPlus będzie starał się doprowadzić plik kopii zapasowej z powrotem z magazynu zdalnego (jeśli w ogóle - np. Amazon S3, Dropbox, Google Drive, FTP) na serwer. Potem będziesz mógł ściągnąć go na swój komputer. Jeśli sprowadzanie z magazynu zdalnego zatrzymało się (odczekaj 30 sekund, aby się upewnić), a następnie naciśnij przycisk, aby wznowić. Pamiętaj, że możesz również odwiedzić bezpośrednio dostawcę pamięci w chmurze."
|
1557 |
+
|
1558 |
+
#: admin.php:867
|
1559 |
+
msgid "Restoring"
|
1560 |
+
msgstr "Przywracanie"
|
1561 |
+
|
1562 |
+
#: admin.php:867
|
1563 |
+
msgid "Press the button for the backup you wish to restore. If your site is large and you are using remote storage, then you should first click on each entity in order to retrieve it back to the webserver. This will prevent time-outs from occuring during the restore process itself."
|
1564 |
+
msgstr "Naciśnij przycisk dla kopii zapasowej, którą chcesz przywrócić. Jeśli witryna jest duża i używasz magazynu zdalnego, to należy najpierw kliknąć na każdy podmiot w celu pobrania go z powrotem na serwer. Zapobiegnie to limitowi czasu od występującego podczas procesu odnawiania."
|
1565 |
+
|
1566 |
+
#: admin.php:867
|
1567 |
+
msgid "More tasks:"
|
1568 |
+
msgstr "Więcej zadań:"
|
1569 |
+
|
1570 |
+
#: admin.php:867
|
1571 |
+
msgid "upload backup files"
|
1572 |
+
msgstr "Prześlij pliki kopii zapasowej"
|
1573 |
+
|
1574 |
+
#: admin.php:867
|
1575 |
+
msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded. The location of this directory is set in the expert settings, below."
|
1576 |
+
msgstr "Naciśnij tutaj, aby zajrzeć do swojego katalogu UpdraftPlus (w internetowej przestrzeni hostingowej) dla każdej nowej kopii zapasowej, która została przesłana. Lokalizacja tego katalogu znajduje się w ustawieniach dla ekspertów - poniżej."
|
1577 |
+
|
1578 |
+
#: admin.php:867
|
1579 |
+
msgid "rescan folder for new backup sets"
|
1580 |
+
msgstr "Przeskanuj folder dla nowych zestawów kopii zapasowych"
|
1581 |
+
|
1582 |
+
#: admin.php:868
|
1583 |
+
msgid "Opera web browser"
|
1584 |
+
msgstr "Przeglądarka Opera"
|
1585 |
+
|
1586 |
+
#: admin.php:868
|
1587 |
+
msgid "If you are using this, then turn Turbo/Road mode off."
|
1588 |
+
msgstr "Jeśli tego używaszu, przełącz tryb Turbo/Road w tryb off."
|
1589 |
+
|
1590 |
+
#: admin.php:870
|
1591 |
+
msgid "Google Drive"
|
1592 |
+
msgstr "Google Drive"
|
1593 |
+
|
1594 |
+
#: admin.php:870
|
1595 |
+
msgid "Google changed their permissions setup recently (April 2013). To download or restore from Google Drive, you <strong>must</strong> first re-authenticate (using the link in the Google Drive configuration section)."
|
1596 |
+
msgstr "Google niedawno zmieniło swoje uprawnienia konfiguracji (kwiecień 2013 r.). Aby pobrać lub przywrócić z dysku Google, <strong> musisz </ strong> najpierw uwierzytelnić (za pomocą łącza w sekcji konfiguracji Drive Google)."
|
1597 |
+
|
1598 |
+
#: admin.php:872
|
1599 |
+
msgid "This is a count of the contents of your Updraft directory"
|
1600 |
+
msgstr "To jest zawartość katalogu Updraft"
|
1601 |
+
|
1602 |
+
#: admin.php:872
|
1603 |
+
msgid "Web-server disk space in use by UpdraftPlus"
|
1604 |
+
msgstr "Web-server miejsce na dysku używane przez UpdraftPlus"
|
1605 |
+
|
1606 |
+
#: admin.php:872
|
1607 |
+
msgid "refresh"
|
1608 |
+
msgstr "odśwież"
|
1609 |
+
|
1610 |
+
#: admin.php:740
|
1611 |
+
msgid "By UpdraftPlus.Com"
|
1612 |
+
msgstr "przez UpdraftPlus.Com"
|
1613 |
+
|
1614 |
+
#: admin.php:740
|
1615 |
+
msgid "Lead developer's homepage"
|
1616 |
+
msgstr "Załaduj stronę developera"
|
1617 |
+
|
1618 |
+
#: admin.php:740
|
1619 |
+
msgid "Donate"
|
1620 |
+
msgstr "Dotacja"
|
1621 |
+
|
1622 |
+
#: admin.php:740
|
1623 |
+
msgid "Other WordPress plugins"
|
1624 |
+
msgstr "Inne wtyczki Wordpressa"
|
1625 |
+
|
1626 |
+
#: admin.php:740
|
1627 |
+
msgid "Version"
|
1628 |
+
msgstr "Wersja"
|
1629 |
+
|
1630 |
+
#: admin.php:744
|
1631 |
+
msgid "Your backup has been restored."
|
1632 |
+
msgstr "Twoja kopia zapasowa została przywrócona."
|
1633 |
+
|
1634 |
+
#: admin.php:744
|
1635 |
+
msgid "Your old (themes, uploads, plugins, whatever) directories have been retained with \"-old\" appended to their name. Remove them when you are satisfied that the backup worked properly."
|
1636 |
+
msgstr "Twoje stare (motywy, przesłane pliki, wtyczki, cokolwiek) katalogi zostały zachowane z \"-stare\" starą nazwą. Usuń je, jeśli jesteś zadowolony z przywracania plików."
|
1637 |
+
|
1638 |
+
#: admin.php:750
|
1639 |
+
msgid "Old directories successfully deleted."
|
1640 |
+
msgstr "Stare katalogi zostały pomyślnie usunięte."
|
1641 |
+
|
1642 |
+
#: admin.php:753
|
1643 |
+
msgid "Your PHP memory limit (set by your web hosting company) is quite 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 bhe successful with a 32Mb limit - your experience may vary)."
|
1644 |
+
msgstr "Limit pamięci PHP (ustawiony przez firmę hostingową) jest bardzo niski. UpdraftPlus próbował ją podnieść, ale nie powiodło się. Wtyczka może walczyć z limitem pamięci mniejszej niż 64 Mb - zwłaszcza jeśli masz bardzo duże prezsłane pliki (choć z drugiej strony, wiele stron będzie bhe sukces z limitem 32 MB - Twoje doświadczenia mogą ulec zmianie)."
|
1645 |
+
|
1646 |
+
#: admin.php:753
|
1647 |
+
msgid "Current limit is:"
|
1648 |
+
msgstr "Obecny limit wynosi:"
|
1649 |
+
|
1650 |
+
#: admin.php:757
|
1651 |
+
msgid "Your PHP max_execution_time is less than 60 seconds. This possibly means you're running in safe_mode. Either disable safe_mode or modify your php.ini to set max_execution_time to a higher number. If you do not, then longer will be needed to complete a backup (but that is all). Present limit is:"
|
1652 |
+
msgstr "Maksymalny_czas_realzacji PHP wynosi mniej niż 60 sekund. To prawdopodobnie znaczy, że działa w trybie_bezpiecznym. Aby wyłączyć tryb_bezpieczny lub zmodyfikować php.ini- ustaw maksymalny_czas_realizacji do wyższej liczby. Jeśli tego nie zrobisz, potem będzie potrzebne do wykonania kopii zapasowej (ale to wszystko). Obecny limit wynosi:"
|
1653 |
+
|
1654 |
+
#: admin.php:757
|
1655 |
+
msgid "seconds"
|
1656 |
+
msgstr "sekunda"
|
1657 |
+
|
1658 |
+
#: admin.php:762
|
1659 |
+
msgid "You have old directories from a previous backup (technical information: these are found in wp-content, and suffixed with -old). Use this button to delete them (if you have verified that the restoration worked)."
|
1660 |
+
msgstr "Masz stare katalogi z poprzedniej kopii zapasowej (informacja techniczna: te znajdują się w wp-content, przyrostek z -old). Użyj tego przycisku, aby je usunąć (po sprawdzeniu, że przywrócenie pracowało)."
|
1661 |
+
|
1662 |
+
#: admin.php:766
|
1663 |
+
msgid "Delete Old Directories"
|
1664 |
+
msgstr "Usuń stare katalogi"
|
1665 |
+
|
1666 |
+
#: admin.php:766
|
1667 |
+
msgid "Are you sure you want to delete the old directories? This cannot be undone."
|
1668 |
+
msgstr "Jesteś pewny, że chcesz usunąć stare katalogi? Ta czynność jest nieodwracalna."
|
1669 |
+
|
1670 |
+
#: admin.php:780
|
1671 |
+
msgid "Existing Schedule And Backups"
|
1672 |
+
msgstr "Istniejący harmonogram i kopie zapasowe"
|
1673 |
+
|
1674 |
+
#: admin.php:784
|
1675 |
+
msgid "JavaScript warning"
|
1676 |
+
msgstr "Ostrzeżenie JavaScript"
|
1677 |
+
|
1678 |
+
#: admin.php:785
|
1679 |
+
msgid "This admin interface uses JavaScript heavily. You either need to activate it within your browser, or to use a JavaScript-capable browser."
|
1680 |
+
msgstr "Ten interfejs administratora wykorzystuje JavaScript. Musisz włączyć go w swojej przeglądarce, lub użyj przeglądarki obsługującej JavaScript."
|
1681 |
+
|
1682 |
+
#: admin.php:798 admin.php:811
|
1683 |
+
msgid "Nothing currently scheduled"
|
1684 |
+
msgstr "Nic nie zostało zaplanowane"
|
1685 |
+
|
1686 |
+
#: admin.php:803
|
1687 |
+
msgid "At the same time as the files backup"
|
1688 |
+
msgstr "W tym samym czasie, co kopii zapasowych plików"
|
1689 |
+
|
1690 |
+
#: admin.php:823
|
1691 |
+
msgid "All the times shown in this section are using WordPress's configured time zone, which you can set in Settings -> General"
|
1692 |
+
msgstr "Wszystkie czasy podane w tej sekcji używają skonfigurowanej strefy czasowej WordPressa, które można ustawić w Ustawienia -> Ogólne"
|
1693 |
+
|
1694 |
+
#: admin.php:823
|
1695 |
+
msgid "Next scheduled backups"
|
1696 |
+
msgstr "Następne zaplanowane tworzenie kopii zapasowej"
|
1697 |
+
|
1698 |
+
#: admin.php:825
|
1699 |
+
msgid "Files"
|
1700 |
+
msgstr "Pliki"
|
1701 |
+
|
1702 |
+
#: admin.php:826 admin.php:1031 admin.php:1034 admin.php:1837 admin.php:1844
|
1703 |
+
#: admin.php:2057
|
1704 |
+
msgid "Database"
|
1705 |
+
msgstr "Baza danych"
|
1706 |
+
|
1707 |
+
#: admin.php:190
|
1708 |
+
msgid "Your website is hosted using the %s web server."
|
1709 |
+
msgstr "Twoja strona jest hostingowana przez %s serwer www."
|
1710 |
+
|
1711 |
+
#: admin.php:190
|
1712 |
+
msgid "Please consult this FAQ if you have problems backing up."
|
1713 |
+
msgstr "Proszę zapoznać się z FAQ, jeśli masz problemy z przywracaniem."
|
1714 |
+
|
1715 |
+
#: admin.php:194 admin.php:198
|
1716 |
+
msgid "Click here to authenticate your %s account (you will not be able to back up to %s without it)."
|
1717 |
+
msgstr "Kliknij tutaj, aby uwierzytelnić konto %s (nie będzie można tego zrobić %s bez tego)."
|
1718 |
+
|
1719 |
+
#: admin.php:349
|
1720 |
+
msgid "The backup archive for restoring this file could not be found. The remote storage method in use (%s) does not allow us to retrieve files. To proceed with this restoration, you need to obtain a copy of this file and place it inside UpdraftPlus's working folder"
|
1721 |
+
msgstr "Nie można znaleźć archiwum kopii zapasowej w celu przywrócenia tego pliku. Zdalna metoda przechowywania w użyciu (% s) nie pozwala na pobieranie plików. Aby dokonać renowacji, trzeba uzyskać kopię tego pliku i umieścić go wewnątrz folderu roboczego UpdraftPlus."
|
1722 |
+
|
1723 |
+
#: admin.php:364
|
1724 |
+
msgid "Nothing yet logged"
|
1725 |
+
msgstr "Jeszcze nie zalogowany"
|
1726 |
+
|
1727 |
+
#: admin.php:366
|
1728 |
+
msgid "Schedule backup"
|
1729 |
+
msgstr "Harmonogram kopii zapasowej."
|
1730 |
+
|
1731 |
+
#: admin.php:369
|
1732 |
+
msgid "Failed."
|
1733 |
+
msgstr "Nie powiodło się."
|
1734 |
+
|
1735 |
+
#: admin.php:372
|
1736 |
+
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
1737 |
+
msgstr "OK. Powinieneś zobaczyć wkrótce w 'ostatniej wiadomości dziennika' poniżej. "
|
1738 |
+
|
1739 |
+
#: admin.php:372
|
1740 |
+
msgid "Nothing happening? Follow this link for help."
|
1741 |
+
msgstr "Nic się nie dzieje? Kliknij ten link, aby uzyskać pomoc."
|
1742 |
+
|
1743 |
+
#: admin.php:389
|
1744 |
+
msgid "Job deleted"
|
1745 |
+
msgstr "Zadanie usunięte. "
|
1746 |
+
|
1747 |
+
#: admin.php:395
|
1748 |
+
msgid "Could not find that job - perhaps it has already finished?"
|
1749 |
+
msgstr "Nie można znaleźć zadania - być może jest już gotowe? "
|
1750 |
+
|
1751 |
+
#: admin.php:407 includes/updraft-restorer.php:477
|
1752 |
+
#: includes/updraft-restorer.php:511
|
1753 |
+
msgid "Error"
|
1754 |
+
msgstr "Błąd"
|
1755 |
+
|
1756 |
+
#: admin.php:422
|
1757 |
+
msgid "Download failed"
|
1758 |
+
msgstr "Pobieranie nie powiodło się"
|
1759 |
+
|
1760 |
+
#: admin.php:436 admin.php:961
|
1761 |
+
msgid "File ready."
|
1762 |
+
msgstr "Plik gotowy."
|
1763 |
+
|
1764 |
+
#: admin.php:444
|
1765 |
+
msgid "Download in progress"
|
1766 |
+
msgstr "Pobieranie w toku"
|
1767 |
+
|
1768 |
+
#: admin.php:447
|
1769 |
+
msgid "No local copy present."
|
1770 |
+
msgstr "Brak kopii obecnego pliku."
|
1771 |
+
|
1772 |
+
#: admin.php:555
|
1773 |
+
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
1774 |
+
msgstr "Zły format pliku - to nie wygląda jak plik utworzony przez UpdraftPlus"
|
1775 |
+
|
1776 |
+
#: admin.php:634
|
1777 |
+
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
1778 |
+
msgstr "Zły format pliku - to nie wygląda jak zaszyfrowany plik bazy danych stworzonej przez UpdraftPlus"
|
1779 |
+
|
1780 |
+
#: admin.php:663
|
1781 |
+
msgid "Restore successful!"
|
1782 |
+
msgstr "Przywracanie zakończone powodzeniem!"
|
1783 |
+
|
1784 |
+
#: admin.php:664 admin.php:699 admin.php:718
|
1785 |
+
msgid "Actions"
|
1786 |
+
msgstr "Akcje"
|
1787 |
+
|
1788 |
+
#: admin.php:664 admin.php:679 admin.php:699 admin.php:718
|
1789 |
+
msgid "Return to UpdraftPlus Configuration"
|
1790 |
+
msgstr "Powróć do konfiguracji UpdraftPlus"
|
1791 |
+
|
1792 |
+
#: admin.php:688
|
1793 |
+
msgid "Remove old directories"
|
1794 |
+
msgstr "Usuń stare katalogi"
|
1795 |
+
|
1796 |
+
#: admin.php:694
|
1797 |
+
msgid "Old directories successfully removed."
|
1798 |
+
msgstr "Stare katalogi pomyślnie usunięte."
|
1799 |
+
|
1800 |
+
#: admin.php:697
|
1801 |
+
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
1802 |
+
msgstr "Stare katalogi nie zostały usunięte z jakiegoś powodu. Można to zrobić ręcznie."
|
1803 |
+
|
1804 |
+
#: admin.php:709
|
1805 |
+
msgid "Backup directory could not be created"
|
1806 |
+
msgstr "Kopia zapasowa katalogów nie została utworzone"
|
1807 |
+
|
1808 |
+
#: admin.php:716
|
1809 |
+
msgid "Backup directory successfully created."
|
1810 |
+
msgstr "Kopia zapasowa katalogów pomyślnie utworzona."
|
1811 |
+
|
1812 |
+
#: admin.php:733
|
1813 |
+
msgid "Your settings have been wiped."
|
1814 |
+
msgstr "Twoje ustawienia zostały wymazane."
|
1815 |
+
|
1816 |
+
#: updraftplus.php:1903 updraftplus.php:1909
|
1817 |
+
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org"
|
1818 |
+
msgstr "Proszę pomóż UpdraftPlus dając pozytywną opinię na wordpress.org"
|
1819 |
+
|
1820 |
+
#: updraftplus.php:1916
|
1821 |
+
msgid "Need even more features and support? Check out UpdraftPlus Premium"
|
1822 |
+
msgstr "Potrzebujesz jeszcze więcej funkcji i wsparcia? Sprawdź UpdraftPlus Premium"
|
1823 |
+
|
1824 |
+
#: updraftplus.php:1925
|
1825 |
+
msgid "Check out UpdraftPlus.Com for help, add-ons and support"
|
1826 |
+
msgstr "Sprawdź UpdraftPlus.Com dla pomocy, dodatków oraz wsparcia"
|
1827 |
+
|
1828 |
+
#: updraftplus.php:1928
|
1829 |
+
msgid "Want to say thank-you for UpdraftPlus?"
|
1830 |
+
msgstr "Chcesz podziękować za UpdraftPlus?"
|
1831 |
+
|
1832 |
+
#: updraftplus.php:1928
|
1833 |
+
msgid "Please buy our very cheap 'no adverts' add-on."
|
1834 |
+
msgstr "Proszę kupić nasz bardzo tani bez reklam."
|
1835 |
+
|
1836 |
+
#: backup.php:33
|
1837 |
+
msgid "Infinite recursion: consult your log for more information"
|
1838 |
+
msgstr "Nieskończonej rekursja: przejrzyj dzienniek, aby uzyskać więcej informacji"
|
1839 |
+
|
1840 |
+
#: backup.php:492
|
1841 |
+
msgid "Could not create %s zip. Consult the log file for more information."
|
1842 |
+
msgstr "Nie można utworzyć %s ZIP. Przejrzyj plik dziennika, aby uzyskać więcej informacji."
|
1843 |
+
|
1844 |
+
#: admin.php:88 admin.php:105
|
1845 |
+
msgid "Allowed Files"
|
1846 |
+
msgstr "Dozwolone pliki"
|
1847 |
+
|
1848 |
+
#: admin.php:166
|
1849 |
+
msgid "Settings"
|
1850 |
+
msgstr "Ustawienia"
|
1851 |
+
|
1852 |
+
#: admin.php:170
|
1853 |
+
msgid "Add-Ons / Pro Support"
|
1854 |
+
msgstr "Dodatki / profesjonalne wsparcie"
|
1855 |
+
|
1856 |
+
#: admin.php:182 admin.php:186 admin.php:190 admin.php:1750 admin.php:1756
|
1857 |
+
#: admin.php:1758
|
1858 |
+
msgid "Warning"
|
1859 |
+
msgstr "Ostrzeżenie"
|
1860 |
+
|
1861 |
+
#: admin.php:182
|
1862 |
+
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."
|
1863 |
+
msgstr "Masz mniej niż %s wolnego miejsca na dysku twardym, który UpdraftPlus potrezbuje do tworzenia kopii zapasowych. UpdraftPlus może zabraknąć miejsca. Skontaktuj się z operatorem serwera (np. firmą hostingową), aby rozwiązać ten problem."
|
1864 |
+
|
1865 |
+
#: admin.php:186
|
1866 |
+
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."
|
1867 |
+
msgstr "UpdraftPlus oficjalnie nie obsługuje wersji WordPressa przed %s. Może on pracować u Ciebie, ale jeśli nie, to proszę pamiętać, że nie będzie dostępne do czasu uaktualnienia WordPressa."
|
1868 |
+
|
1869 |
+
#: updraftplus.php:853
|
1870 |
+
msgid "The backup has not finished; a resumption is scheduled within 5 minutes"
|
1871 |
+
msgstr "Przywracanie nie zostało zakończone. Planowane wznowienie w ciągu 5 minut."
|
1872 |
+
|
1873 |
+
#: updraftplus.php:904
|
1874 |
+
msgid "Backed up"
|
1875 |
+
msgstr "Wspierane"
|
1876 |
+
|
1877 |
+
#: updraftplus.php:904
|
1878 |
+
msgid "WordPress backup is complete"
|
1879 |
+
msgstr "Przywracanie WordPressa zakończone."
|
1880 |
+
|
1881 |
+
#: updraftplus.php:904
|
1882 |
+
msgid "Backup contains"
|
1883 |
+
msgstr "Kopia zapasowa zawiera"
|
1884 |
+
|
1885 |
+
#: updraftplus.php:904
|
1886 |
+
msgid "Latest status"
|
1887 |
+
msgstr "Ostatni status"
|
1888 |
+
|
1889 |
+
#: updraftplus.php:1152
|
1890 |
+
msgid "Backup directory (%s) is not writable, or does not exist."
|
1891 |
+
msgstr "Katalog backup (% s) nie jest zapisywalny, lub nie istnieje."
|
1892 |
+
|
1893 |
+
#: updraftplus.php:1300
|
1894 |
+
msgid "Could not read the directory"
|
1895 |
+
msgstr "Nie można odczytać katalogu"
|
1896 |
+
|
1897 |
+
#: updraftplus.php:1317
|
1898 |
+
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
1899 |
+
msgstr "Nie można zapisać kopii zapasowej historii, bo nie mamy kopii zapasowej szeregu. Archiwizacja prawdopodobnie nie powiodła się."
|
1900 |
+
|
1901 |
+
#: updraftplus.php:1346
|
1902 |
+
msgid "Could not open the backup file for writing"
|
1903 |
+
msgstr "Nie można otworzyć pliku kopii zapasowej"
|
1904 |
+
|
1905 |
+
#: updraftplus.php:1362
|
1906 |
+
msgid "Generated: %s"
|
1907 |
+
msgstr "Wygenerowane: %s"
|
1908 |
+
|
1909 |
+
#: updraftplus.php:1363
|
1910 |
+
msgid "Hostname: %s"
|
1911 |
+
msgstr "Nazwa hosta: %s"
|
1912 |
+
|
1913 |
+
#: updraftplus.php:1364
|
1914 |
+
msgid "Database: %s"
|
1915 |
+
msgstr "Baza danych: %s"
|
1916 |
+
|
1917 |
+
#: updraftplus.php:1424
|
1918 |
+
msgid "The backup directory is not writable."
|
1919 |
+
msgstr "Katalog kopii zapasowej nie jest zapisywalny."
|
1920 |
+
|
1921 |
+
#: updraftplus.php:1445
|
1922 |
+
msgid "Table: %s"
|
1923 |
+
msgstr "Tabela: %s"
|
1924 |
+
|
1925 |
+
#: updraftplus.php:1450
|
1926 |
+
msgid "Skipping non-WP table: %s"
|
1927 |
+
msgstr "Pomijanietabeli nie-WP:% s"
|
1928 |
+
|
1929 |
+
#: updraftplus.php:1545
|
1930 |
+
msgid "Delete any existing table %s"
|
1931 |
+
msgstr "Usuń wszystkie istniejące tabeli %s"
|
1932 |
+
|
1933 |
+
#: updraftplus.php:1554
|
1934 |
+
msgid "Table structure of table %s"
|
1935 |
+
msgstr "Struktura tabeli z tabeli %s"
|
1936 |
+
|
1937 |
+
#: updraftplus.php:1560
|
1938 |
+
msgid "Error with SHOW CREATE TABLE for %s."
|
1939 |
+
msgstr "Błąd z POKAZANIEM UTWORZONEJ TABELI dla %s."
|
1940 |
+
|
1941 |
+
#: updraftplus.php:1651
|
1942 |
+
msgid "End of data contents of table %s"
|
1943 |
+
msgstr "Koniec treści danych z tabeli %s"
|
1944 |
+
|
1945 |
+
#: updraftplus.php:1823 includes/updraft-restorer.php:63
|
1946 |
+
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
1947 |
+
msgstr "Rozszyfrowanie nie powiodło się. Plik bazy danych jest szyfrowany, ale nie masz wprowadzonego klucza szyfrowania."
|
1948 |
+
|
1949 |
+
#: updraftplus.php:1836 includes/updraft-restorer.php:78
|
1950 |
+
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
1951 |
+
msgstr "Rozszyfrowanie nie powiodło się. Najbardziej prawdopodobną przyczyną jest to, że użyłeś niewłaściwego klucza."
|
1952 |
+
|
1953 |
+
#: updraftplus.php:1836
|
1954 |
+
msgid "The decryption key used:"
|
1955 |
+
msgstr "Wykorzystany klucz deszyfrowania:"
|
1956 |
+
|
1957 |
+
#: updraftplus.php:1851
|
1958 |
+
msgid "File not found"
|
1959 |
+
msgstr "Nie znaleziono pliku"
|
1960 |
+
|
1961 |
+
#: updraftplus.php:1901
|
1962 |
+
msgid "Can you translate? Want to improve UpdraftPlus for speakers of your language?"
|
1963 |
+
msgstr "Potrafisz tłumaczyć i chcesz ulepszyć UpdraftPlus?"
|
1964 |
+
|
1965 |
+
#: updraftplus.php:1903 updraftplus.php:1909
|
1966 |
+
msgid "Like UpdraftPlus and can spare one minute?"
|
1967 |
+
msgstr "Jak UpdraftPlus może oszczędzić jedną minutę?"
|
1968 |
+
|
1969 |
+
#: updraftplus.php:441
|
1970 |
+
msgid "Themes"
|
1971 |
+
msgstr "Motywy"
|
1972 |
+
|
1973 |
+
#: updraftplus.php:442
|
1974 |
+
msgid "Uploads"
|
1975 |
+
msgstr "Przesłane"
|
1976 |
+
|
1977 |
+
#: updraftplus.php:457
|
1978 |
+
msgid "Others"
|
1979 |
+
msgstr "Inne"
|
1980 |
+
|
1981 |
+
#: updraftplus.php:743
|
1982 |
+
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
1983 |
+
msgstr "Nie można stworzyć plików w katalogu kopii zapasowych. Kopia zapasowa przerwana - sprawdź ustawienia UpdraftPlus."
|
1984 |
+
|
1985 |
+
#: updraftplus.php:813
|
1986 |
+
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
1987 |
+
msgstr "Wystąpił błąd podczas szyfrowania danych. Szyfrowanie przerwane."
|
1988 |
+
|
1989 |
+
#: updraftplus.php:847
|
1990 |
+
msgid "The backup apparently succeeded and is now complete"
|
1991 |
+
msgstr "Udało się wykonać i zakończyć przywracanie."
|
1992 |
+
|
1993 |
+
#: updraftplus.php:850
|
1994 |
+
msgid "The backup attempt has finished, apparently unsuccessfully"
|
1995 |
+
msgstr "Próba przywracania zakończona niepomyślnie."
|
1996 |
+
|
1997 |
+
#: options.php:26
|
1998 |
+
msgid "UpdraftPlus Backups"
|
1999 |
+
msgstr "UpdraftPlus Backups"
|
2000 |
+
|
2001 |
+
#: updraftplus.php:294 updraftplus.php:299 updraftplus.php:304 admin.php:194
|
2002 |
+
#: admin.php:198
|
2003 |
+
msgid "UpdraftPlus notice:"
|
2004 |
+
msgstr "UpdraftPlus obwieszczenie:"
|
2005 |
+
|
2006 |
+
#: updraftplus.php:294
|
2007 |
+
msgid "The log file could not be read."
|
2008 |
+
msgstr "Plik dziennika nie może być odczytany."
|
2009 |
+
|
2010 |
+
#: updraftplus.php:299
|
2011 |
+
msgid "No log files were found."
|
2012 |
+
msgstr "Nie znaleziono plików dziennika."
|
2013 |
+
|
2014 |
+
#: updraftplus.php:304
|
2015 |
+
msgid "The given file could not be read."
|
2016 |
+
msgstr "Nie można odczytać podanego pliku."
|
2017 |
+
|
2018 |
+
#: updraftplus.php:440
|
2019 |
+
msgid "Plugins"
|
2020 |
+
msgstr "Wtyczki"
|
languages/updraftplus.pot
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: UpdraftPlus\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2013-
|
6 |
-
"PO-Revision-Date: 2013-
|
7 |
"Last-Translator: David Anderson <contact@updraftplus.com>\n"
|
8 |
"Language-Team: <contact@updraftplus.com>\n"
|
9 |
"Language: \n"
|
@@ -18,195 +18,193 @@ msgstr ""
|
|
18 |
msgid "UpdraftPlus Backups"
|
19 |
msgstr ""
|
20 |
|
21 |
-
#: updraftplus.php:
|
22 |
-
#: updraftplus.php:
|
23 |
-
#: updraftplus.php:
|
24 |
-
#: admin.php:
|
25 |
-
#: admin.php:
|
26 |
msgid "UpdraftPlus notice:"
|
27 |
msgstr ""
|
28 |
|
29 |
-
#: updraftplus.php:
|
30 |
msgid "The log file could not be read."
|
31 |
msgstr ""
|
32 |
|
33 |
-
#: updraftplus.php:
|
34 |
msgid "No log files were found."
|
35 |
msgstr ""
|
36 |
|
37 |
-
#: updraftplus.php:
|
38 |
msgid "The given file could not be read."
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: updraftplus.php:
|
42 |
msgid "Plugins"
|
43 |
msgstr ""
|
44 |
|
45 |
-
#: updraftplus.php:
|
46 |
msgid "Themes"
|
47 |
msgstr ""
|
48 |
|
49 |
-
#: updraftplus.php:
|
50 |
msgid "Uploads"
|
51 |
msgstr ""
|
52 |
|
53 |
-
#: updraftplus.php:
|
54 |
msgid "Others"
|
55 |
msgstr ""
|
56 |
|
57 |
-
#: updraftplus.php:
|
58 |
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: updraftplus.php:
|
62 |
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: updraftplus.php:
|
66 |
msgid "The backup apparently succeeded and is now complete"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: updraftplus.php:
|
70 |
msgid "The backup attempt has finished, apparently unsuccessfully"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: updraftplus.php:
|
74 |
msgid "The backup has not finished; a resumption is scheduled within 5 minutes"
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: updraftplus.php:
|
|
|
|
|
|
|
|
|
78 |
msgid "Backed up"
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: updraftplus.php:
|
82 |
msgid "WordPress backup is complete"
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: updraftplus.php:
|
86 |
msgid "Backup contains"
|
87 |
msgstr ""
|
88 |
|
89 |
-
#: updraftplus.php:
|
90 |
msgid "Latest status"
|
91 |
msgstr ""
|
92 |
|
93 |
-
#: updraftplus.php:
|
94 |
#, php-format
|
95 |
msgid "Backup directory (%s) is not writable, or does not exist."
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: updraftplus.php:
|
99 |
msgid "Could not read the directory"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: updraftplus.php:
|
103 |
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: updraftplus.php:
|
107 |
msgid "Could not open the backup file for writing"
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: updraftplus.php:
|
111 |
#, php-format
|
112 |
msgid "Generated: %s"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: updraftplus.php:
|
116 |
#, php-format
|
117 |
msgid "Hostname: %s"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: updraftplus.php:
|
121 |
#, php-format
|
122 |
msgid "Database: %s"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: updraftplus.php:
|
126 |
msgid "The backup directory is not writable."
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: updraftplus.php:
|
130 |
#, php-format
|
131 |
msgid "Table: %s"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: updraftplus.php:
|
135 |
#, php-format
|
136 |
msgid "Skipping non-WP table: %s"
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: updraftplus.php:
|
140 |
#, php-format
|
141 |
msgid "Delete any existing table %s"
|
142 |
msgstr ""
|
143 |
|
144 |
-
#: updraftplus.php:
|
145 |
#, php-format
|
146 |
msgid "Table structure of table %s"
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: updraftplus.php:
|
150 |
#, php-format
|
151 |
msgid "Error with SHOW CREATE TABLE for %s."
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: updraftplus.php:
|
155 |
#, php-format
|
156 |
msgid "End of data contents of table %s"
|
157 |
msgstr ""
|
158 |
|
159 |
-
#: updraftplus.php:
|
160 |
-
#: includes/updraft-restorer.php:
|
161 |
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
162 |
msgstr ""
|
163 |
|
164 |
-
#: updraftplus.php:
|
165 |
-
#: includes/updraft-restorer.php:
|
166 |
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: updraftplus.php:
|
170 |
msgid "The decryption key used:"
|
171 |
msgstr ""
|
172 |
|
173 |
-
#: updraftplus.php:
|
174 |
msgid "File not found"
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: updraftplus.php:
|
178 |
msgid "Can you translate? Want to improve UpdraftPlus for speakers of your language?"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: updraftplus.php:
|
182 |
-
|
183 |
-
msgstr ""
|
184 |
-
|
185 |
-
#: updraftplus.php:1806
|
186 |
-
msgid "Please make a donation"
|
187 |
-
msgstr ""
|
188 |
-
|
189 |
-
#: updraftplus.php:1811
|
190 |
msgid "Like UpdraftPlus and can spare one minute?"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: updraftplus.php:
|
|
|
194 |
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: updraftplus.php:
|
198 |
msgid "Need even more features and support? Check out UpdraftPlus Premium"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: updraftplus.php:
|
202 |
msgid "Check out UpdraftPlus.Com for help, add-ons and support"
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: updraftplus.php:
|
206 |
msgid "Want to say thank-you for UpdraftPlus?"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: updraftplus.php:
|
210 |
msgid "Please buy our very cheap 'no adverts' add-on."
|
211 |
msgstr ""
|
212 |
|
@@ -214,845 +212,1013 @@ msgstr ""
|
|
214 |
msgid "Infinite recursion: consult your log for more information"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: backup.php:
|
218 |
#, php-format
|
219 |
msgid "Could not create %s zip. Consult the log file for more information."
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: admin.php:
|
223 |
-
#: admin.php:
|
224 |
msgid "Allowed Files"
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: admin.php:
|
228 |
msgid "Settings"
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: admin.php:
|
232 |
msgid "Add-Ons / Pro Support"
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: admin.php:
|
236 |
-
#: admin.php:
|
237 |
-
#: admin.php:
|
238 |
-
#: admin.php:
|
239 |
-
#: admin.php:
|
240 |
-
#: admin.php:
|
|
|
241 |
msgid "Warning"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: admin.php:
|
245 |
#, php-format
|
246 |
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."
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: admin.php:
|
250 |
#, php-format
|
251 |
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."
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: admin.php:
|
255 |
#, php-format
|
256 |
msgid "Your website is hosted using the %s web server."
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: admin.php:
|
260 |
msgid "Please consult this FAQ if you have problems backing up."
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: admin.php:
|
264 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
#, php-format
|
266 |
msgid "Click here to authenticate your %s account (you will not be able to back up to %s without it)."
|
267 |
msgstr ""
|
268 |
|
269 |
-
#: admin.php:
|
270 |
#, php-format
|
271 |
msgid "The backup archive for restoring this file could not be found. The remote storage method in use (%s) does not allow us to retrieve files. To proceed with this restoration, you need to obtain a copy of this file and place it inside UpdraftPlus's working folder"
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: admin.php:
|
275 |
msgid "Nothing yet logged"
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
msgid "Download failed"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: admin.php:
|
283 |
-
#: admin.php:
|
284 |
msgid "File ready."
|
285 |
msgstr ""
|
286 |
|
287 |
-
#: admin.php:
|
288 |
msgid "Download in progress"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: admin.php:
|
292 |
msgid "No local copy present."
|
293 |
msgstr ""
|
294 |
|
295 |
-
#: admin.php:
|
296 |
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
297 |
msgstr ""
|
298 |
|
299 |
-
#: admin.php:
|
300 |
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: admin.php:
|
304 |
msgid "Restore successful!"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: admin.php:
|
308 |
-
#: admin.php:
|
309 |
-
#: admin.php:
|
310 |
msgid "Actions"
|
311 |
msgstr ""
|
312 |
|
313 |
-
#: admin.php:
|
314 |
-
#: admin.php:
|
315 |
-
#: admin.php:
|
316 |
-
#: admin.php:
|
317 |
msgid "Return to UpdraftPlus Configuration"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: admin.php:
|
321 |
msgid "Remove old directories"
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: admin.php:
|
325 |
msgid "Old directories successfully removed."
|
326 |
msgstr ""
|
327 |
|
328 |
-
#: admin.php:
|
329 |
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
330 |
msgstr ""
|
331 |
|
332 |
-
#: admin.php:
|
333 |
msgid "Backup directory could not be created"
|
334 |
msgstr ""
|
335 |
|
336 |
-
#: admin.php:
|
337 |
msgid "Backup directory successfully created."
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: admin.php:
|
341 |
-
msgid "Schedule backup"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: admin.php:665
|
345 |
-
msgid "Failed."
|
346 |
-
msgstr ""
|
347 |
-
|
348 |
-
#: admin.php:667
|
349 |
-
msgid "OK. Now load any page from your site to make sure the schedule can trigger. You should then see activity in the \"Last log message\" field below."
|
350 |
-
msgstr ""
|
351 |
-
|
352 |
-
#: admin.php:667
|
353 |
-
msgid "Nothing happening? Follow this link for help."
|
354 |
-
msgstr ""
|
355 |
-
|
356 |
-
#: admin.php:681
|
357 |
msgid "Your settings have been wiped."
|
358 |
msgstr ""
|
359 |
|
360 |
-
#: admin.php:
|
361 |
msgid "By UpdraftPlus.Com"
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: admin.php:
|
365 |
msgid "Lead developer's homepage"
|
366 |
msgstr ""
|
367 |
|
368 |
-
#: admin.php:
|
369 |
msgid "Donate"
|
370 |
msgstr ""
|
371 |
|
372 |
-
#: admin.php:
|
373 |
msgid "Other WordPress plugins"
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: admin.php:
|
377 |
msgid "Version"
|
378 |
msgstr ""
|
379 |
|
380 |
-
#: admin.php:
|
381 |
msgid "Your backup has been restored."
|
382 |
msgstr ""
|
383 |
|
384 |
-
#: admin.php:
|
385 |
msgid "Your old (themes, uploads, plugins, whatever) directories have been retained with \"-old\" appended to their name. Remove them when you are satisfied that the backup worked properly."
|
386 |
msgstr ""
|
387 |
|
388 |
-
#: admin.php:
|
389 |
msgid "Old directories successfully deleted."
|
390 |
msgstr ""
|
391 |
|
392 |
-
#: admin.php:
|
393 |
msgid "Your PHP memory limit (set by your web hosting company) is quite 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 bhe successful with a 32Mb limit - your experience may vary)."
|
394 |
msgstr ""
|
395 |
|
396 |
-
#: admin.php:
|
397 |
msgid "Current limit is:"
|
398 |
msgstr ""
|
399 |
|
400 |
-
#: admin.php:
|
401 |
msgid "Your PHP max_execution_time is less than 60 seconds. This possibly means you're running in safe_mode. Either disable safe_mode or modify your php.ini to set max_execution_time to a higher number. If you do not, then longer will be needed to complete a backup (but that is all). Present limit is:"
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: admin.php:
|
405 |
msgid "seconds"
|
406 |
msgstr ""
|
407 |
|
408 |
-
#: admin.php:
|
409 |
msgid "You have old directories from a previous backup (technical information: these are found in wp-content, and suffixed with -old). Use this button to delete them (if you have verified that the restoration worked)."
|
410 |
msgstr ""
|
411 |
|
412 |
-
#: admin.php:
|
413 |
msgid "Delete Old Directories"
|
414 |
msgstr ""
|
415 |
|
416 |
-
#: admin.php:
|
417 |
msgid "Are you sure you want to delete the old directories? This cannot be undone."
|
418 |
msgstr ""
|
419 |
|
420 |
-
#: admin.php:
|
421 |
msgid "Existing Schedule And Backups"
|
422 |
msgstr ""
|
423 |
|
424 |
-
#: admin.php:
|
425 |
msgid "JavaScript warning"
|
426 |
msgstr ""
|
427 |
|
428 |
-
#: admin.php:
|
429 |
msgid "This admin interface uses JavaScript heavily. You either need to activate it within your browser, or to use a JavaScript-capable browser."
|
430 |
msgstr ""
|
431 |
|
432 |
-
#: admin.php:
|
433 |
-
#: admin.php:
|
434 |
msgid "Nothing currently scheduled"
|
435 |
msgstr ""
|
436 |
|
437 |
-
#: admin.php:
|
438 |
msgid "At the same time as the files backup"
|
439 |
msgstr ""
|
440 |
|
441 |
-
#: admin.php:
|
442 |
msgid "All the times shown in this section are using WordPress's configured time zone, which you can set in Settings -> General"
|
443 |
msgstr ""
|
444 |
|
445 |
-
#: admin.php:
|
446 |
msgid "Next scheduled backups"
|
447 |
msgstr ""
|
448 |
|
449 |
-
#: admin.php:
|
450 |
msgid "Files"
|
451 |
msgstr ""
|
452 |
|
453 |
-
#: admin.php:
|
454 |
-
#: admin.php:
|
455 |
-
#: admin.php:
|
456 |
-
#: admin.php:
|
457 |
-
#: admin.php:
|
458 |
-
#: admin.php:
|
459 |
msgid "Database"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: admin.php:
|
463 |
msgid "Time now"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: admin.php:
|
467 |
msgid "Last finished backup run"
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: admin.php:
|
471 |
-
#: admin.php:
|
472 |
msgid "Backup Now"
|
473 |
msgstr ""
|
474 |
|
475 |
-
#: admin.php:
|
476 |
-
#: admin.php:
|
477 |
-
#: admin.php:
|
478 |
msgid "Restore"
|
479 |
msgstr ""
|
480 |
|
481 |
-
#: admin.php:
|
482 |
msgid "Last log message"
|
483 |
msgstr ""
|
484 |
|
485 |
-
#: admin.php:
|
486 |
msgid "(Nothing yet logged)"
|
487 |
msgstr ""
|
488 |
|
489 |
-
#: admin.php:
|
490 |
msgid "Download most recently modified log file"
|
491 |
msgstr ""
|
492 |
|
493 |
-
#: admin.php:
|
494 |
msgid "Backups, logs & restoring"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: admin.php:
|
498 |
msgid "Press to see available backups"
|
499 |
msgstr ""
|
500 |
|
501 |
-
#: admin.php:
|
502 |
#, php-format
|
503 |
msgid "%d set(s) available"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
507 |
msgid "Downloading"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: admin.php:
|
511 |
msgid "Pressing a button for Database/Plugins/Themes/Uploads/Others will make UpdraftPlus try to bring the backup file back from the remote storage (if any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then you will be allowed to download it to your computer. If the fetch from the remote storage stops progressing (wait 30 seconds to make sure), then press again to resume. Remember that you can also visit the cloud storage vendor's website directly."
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: admin.php:
|
515 |
msgid "Restoring"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: admin.php:
|
519 |
msgid "Press the button for the backup you wish to restore. If your site is large and you are using remote storage, then you should first click on each entity in order to retrieve it back to the webserver. This will prevent time-outs from occuring during the restore process itself."
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: admin.php:
|
523 |
msgid "More tasks:"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: admin.php:
|
527 |
msgid "upload backup files"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: admin.php:
|
531 |
msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded. The location of this directory is set in the expert settings, below."
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: admin.php:
|
535 |
msgid "rescan folder for new backup sets"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: admin.php:
|
539 |
msgid "Opera web browser"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: admin.php:
|
543 |
msgid "If you are using this, then turn Turbo/Road mode off."
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
547 |
msgid "This is a count of the contents of your Updraft directory"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: admin.php:
|
551 |
msgid "Web-server disk space in use by UpdraftPlus"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: admin.php:
|
555 |
msgid "refresh"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: admin.php:
|
559 |
msgid "UpdraftPlus - Upload backup files"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: admin.php:
|
563 |
msgid "Upload files into UpdraftPlus. Use this to import backups made on a different WordPress installation."
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
567 |
msgid "Drop backup zips here"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: admin.php:
|
571 |
-
#: admin.php:
|
572 |
msgid "or"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: admin.php:
|
|
|
576 |
msgid "calculating..."
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: admin.php:
|
580 |
-
|
|
|
|
|
|
|
|
|
581 |
msgid "Error:"
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: admin.php:
|
585 |
msgid "You should:"
|
586 |
msgstr ""
|
587 |
|
588 |
-
#: admin.php:
|
589 |
msgid "Download error: the server sent us a response (JSON) which we did not understand"
|
590 |
msgstr ""
|
591 |
|
592 |
-
#: admin.php:
|
593 |
msgid "Download error: the server sent us a response which we did not understand."
|
594 |
msgstr ""
|
595 |
|
596 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
597 |
msgid "Restore backup"
|
598 |
msgstr ""
|
599 |
|
600 |
-
#: admin.php:
|
601 |
msgid "Restore backup from"
|
602 |
msgstr ""
|
603 |
|
604 |
-
#: admin.php:
|
605 |
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)."
|
606 |
msgstr ""
|
607 |
|
608 |
-
#: admin.php:
|
609 |
msgid "Choose the components to restore"
|
610 |
msgstr ""
|
611 |
|
612 |
-
#: admin.php:
|
613 |
msgid "Your web server has PHP's so-called safe_mode active."
|
614 |
msgstr ""
|
615 |
|
616 |
-
#: admin.php:
|
617 |
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, <a href=\"http://updraftplus.com/faqs/i-want-to-restore-but-have-either-cannot-or-have-failed-to-do-so-from-the-wp-admin-console/\">or to restore manually</a>."
|
618 |
msgstr ""
|
619 |
|
620 |
-
#: admin.php:
|
621 |
#, php-format
|
622 |
msgid "The following entity cannot be restored automatically: \"%s\"."
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: admin.php:
|
626 |
msgid "You will need to restore it manually."
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: admin.php:
|
630 |
#, php-format
|
631 |
msgid "%s restoration options:"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: admin.php:
|
635 |
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"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: admin.php:
|
639 |
msgid "Do read this helpful article of useful things to know before restoring."
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: admin.php:
|
643 |
-
msgid "Perform a backup
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: admin.php:
|
647 |
-
msgid "
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: admin.php:
|
651 |
msgid "Does nothing happen when you schedule backups?"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: admin.php:
|
655 |
msgid "Go here for help."
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: admin.php:
|
659 |
msgid "Multisite"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: admin.php:
|
663 |
msgid "Do you need WordPress Multisite support?"
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: admin.php:
|
667 |
msgid "Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: admin.php:
|
671 |
msgid "Configure Backup Contents And Schedule"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: admin.php:
|
675 |
msgid "Debug Information And Expert Options"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
679 |
msgid "Peak memory usage"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: admin.php:
|
683 |
msgid "Current memory usage"
|
684 |
msgstr ""
|
685 |
|
686 |
-
#: admin.php:
|
687 |
msgid "PHP memory limit"
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
691 |
msgid "The buttons below will immediately execute a backup run, independently of WordPress's scheduler. If these work whilst your scheduled backups and the \"Backup Now\" button do absolutely nothing (i.e. not even produce a log file), then it means that your scheduler is broken. You should then disable all your other plugins, and try the \"Backup Now\" button. If that fails, then contact your web hosting company and ask them if they have disabled wp-cron. If it succeeds, then re-activate your other plugins one-by-one, and find the one that is the problem and report a bug to them."
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: admin.php:
|
695 |
msgid "Debug Full Backup"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: admin.php:
|
699 |
msgid "This will cause an immediate backup. The page will stall loading until it finishes (ie, unscheduled)."
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: admin.php:
|
703 |
msgid "Debug Database Backup"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: admin.php:
|
707 |
msgid "This will cause an immediate DB backup. The page will stall loading until it finishes (ie, unscheduled). The backup may well run out of time; really this button is only helpful for checking that the backup is able to get through the initial stages, or for small WordPress sites.."
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: admin.php:
|
711 |
msgid "Wipe Settings"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: admin.php:
|
715 |
msgid "This button will delete all UpdraftPlus settings (but not any of your existing backups from your cloud storage). You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish."
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: admin.php:
|
719 |
msgid "Wipe All Settings"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: admin.php:
|
723 |
msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
msgid "Delete"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
731 |
msgid "Download log file"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: admin.php:
|
735 |
msgid "No backup has been completed."
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: admin.php:
|
739 |
msgid "File backup intervals"
|
740 |
msgstr ""
|
741 |
|
742 |
-
#: admin.php:
|
743 |
msgid "Manual"
|
744 |
msgstr ""
|
745 |
|
746 |
-
#: admin.php:
|
747 |
msgid "Every 4 hours"
|
748 |
msgstr ""
|
749 |
|
750 |
-
#: admin.php:
|
751 |
msgid "Every 8 hours"
|
752 |
msgstr ""
|
753 |
|
754 |
-
#: admin.php:
|
755 |
msgid "Every 12 hours"
|
756 |
msgstr ""
|
757 |
|
758 |
-
#: admin.php:
|
759 |
msgid "Daily"
|
760 |
msgstr ""
|
761 |
|
762 |
-
#: admin.php:
|
763 |
msgid "Weekly"
|
764 |
msgstr ""
|
765 |
|
766 |
-
#: admin.php:
|
767 |
msgid "Fortnightly"
|
768 |
msgstr ""
|
769 |
|
770 |
-
#: admin.php:
|
771 |
msgid "Monthly"
|
772 |
msgstr ""
|
773 |
|
774 |
-
#: admin.php:
|
775 |
-
#: admin.php:
|
776 |
msgid "and retain this many backups"
|
777 |
msgstr ""
|
778 |
|
779 |
-
#: admin.php:
|
780 |
msgid "Database backup intervals"
|
781 |
msgstr ""
|
782 |
|
783 |
-
#: admin.php:
|
784 |
msgid "If you would like to automatically schedule backups, choose schedules from the dropdowns above. Backups will occur at the intervals specified. If the two schedules are the same, then the two backups will take place together. If you choose \"manual\" then you must click the \"Backup Now\" button whenever you wish a backup to occur."
|
785 |
msgstr ""
|
786 |
|
787 |
-
#: admin.php:
|
788 |
msgid "To fix the time at which a backup should take place,"
|
789 |
msgstr ""
|
790 |
|
791 |
-
#: admin.php:
|
792 |
msgid "e.g. if your server is busy at day and you want to run overnight"
|
793 |
msgstr ""
|
794 |
|
795 |
-
#: admin.php:
|
796 |
msgid "use the \"Fix Time\" add-on"
|
797 |
msgstr ""
|
798 |
|
799 |
-
#: admin.php:
|
800 |
msgid "Include in files backup"
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: admin.php:
|
804 |
msgid "Any other directories found inside wp-content"
|
805 |
msgstr ""
|
806 |
|
807 |
-
#: admin.php:
|
808 |
msgid "Exclude these:"
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: admin.php:
|
812 |
msgid "If entering multiple files/directories, then separate them with commas"
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: admin.php:
|
816 |
msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org."
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: admin.php:
|
820 |
msgid "Or, get the \"More Files\" add-on from our shop."
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: admin.php:
|
824 |
msgid "Use WordShell for automatic backup, version control and patching"
|
825 |
msgstr ""
|
826 |
|
827 |
-
#: admin.php:
|
828 |
msgid "Email"
|
829 |
msgstr ""
|
830 |
|
831 |
-
#: admin.php:
|
832 |
msgid "Enter an address here to have a report sent (and the whole backup, if you choose) to it."
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: admin.php:
|
836 |
msgid "Database encryption phrase"
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: admin.php:
|
840 |
msgid "If you enter text here, it is used to encrypt 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> Presently, only the database file is encrypted. 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)."
|
841 |
msgstr ""
|
842 |
|
843 |
-
#: admin.php:
|
844 |
msgid "You can also decrypt a database manually here."
|
845 |
msgstr ""
|
846 |
|
847 |
-
#: admin.php:
|
848 |
msgid "Manually decrypt a database backup file"
|
849 |
msgstr ""
|
850 |
|
851 |
-
#: admin.php:
|
852 |
msgid "Drop encrypted database files (db.crypt.gz files) here to upload them for decryption"
|
853 |
msgstr ""
|
854 |
|
855 |
-
#: admin.php:
|
856 |
msgid "Use decryption key"
|
857 |
msgstr ""
|
858 |
|
859 |
-
#: admin.php:
|
860 |
msgid "Copying Your Backup To Remote Storage"
|
861 |
msgstr ""
|
862 |
|
863 |
-
#: admin.php:
|
864 |
msgid "Choose your remote storage"
|
865 |
msgstr ""
|
866 |
|
867 |
-
#: admin.php:
|
868 |
msgid "None"
|
869 |
msgstr ""
|
870 |
|
871 |
-
#: admin.php:
|
872 |
-
|
|
|
|
|
|
|
|
|
|
|
873 |
msgid "Cancel"
|
874 |
msgstr ""
|
875 |
|
876 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
877 |
msgid "Advanced / Debugging Settings"
|
878 |
msgstr ""
|
879 |
|
880 |
-
#: admin.php:
|
881 |
msgid "Debug mode"
|
882 |
msgstr ""
|
883 |
|
884 |
-
#: admin.php:
|
885 |
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong. You <strong>must</strong> send us this log if you are filing a bug report."
|
886 |
msgstr ""
|
887 |
|
888 |
-
#: admin.php:
|
889 |
msgid "Expert settings"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: admin.php:
|
893 |
msgid "Show expert settings"
|
894 |
msgstr ""
|
895 |
|
896 |
-
#: admin.php:
|
897 |
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
898 |
msgstr ""
|
899 |
|
900 |
-
#: admin.php:
|
901 |
msgid "Delete local backup"
|
902 |
msgstr ""
|
903 |
|
904 |
-
#: admin.php:
|
905 |
msgid "Uncheck this to prevent deletion of any superfluous backup files from your server after the backup run finishes (i.e. any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)."
|
906 |
msgstr ""
|
907 |
|
908 |
-
#: admin.php:
|
909 |
msgid "Backup directory"
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: admin.php:
|
913 |
msgid "Backup directory specified is writable, which is good."
|
914 |
msgstr ""
|
915 |
|
916 |
-
#: admin.php:
|
917 |
msgid "Backup directory specified is <b>not</b> writable, or does not exist."
|
918 |
msgstr ""
|
919 |
|
920 |
-
#: admin.php:
|
921 |
msgid "Click here to attempt to create the directory and set the permissions"
|
922 |
msgstr ""
|
923 |
|
924 |
-
#: admin.php:
|
925 |
msgid "or, to reset this option"
|
926 |
msgstr ""
|
927 |
|
928 |
-
#: admin.php:
|
929 |
msgid "click here"
|
930 |
msgstr ""
|
931 |
|
932 |
-
#: admin.php:
|
933 |
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."
|
934 |
msgstr ""
|
935 |
|
936 |
-
#: admin.php:
|
937 |
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. Typically you'll want to have it inside your wp-content folder (this is the default). <b>Do not</b> place it inside your uploads dir, as that will cause recursion issues (backups of backups of backups of...)."
|
938 |
msgstr ""
|
939 |
|
940 |
-
#: admin.php:
|
941 |
msgid "Use the server's SSL certificates"
|
942 |
msgstr ""
|
943 |
|
944 |
-
#: admin.php:
|
945 |
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."
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: admin.php:
|
949 |
msgid "Do not verify SSL certificates"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: admin.php:
|
953 |
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."
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: admin.php:
|
957 |
msgid "Note that not all cloud backup methods are necessarily using SSL authentication."
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: admin.php:
|
961 |
msgid "Disable SSL entirely where possible"
|
962 |
msgstr ""
|
963 |
|
964 |
-
#: admin.php:
|
965 |
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."
|
966 |
msgstr ""
|
967 |
|
968 |
-
#: admin.php:
|
969 |
msgid "Save Changes"
|
970 |
msgstr ""
|
971 |
|
972 |
-
#: admin.php:
|
973 |
#, php-format
|
974 |
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support."
|
975 |
msgstr ""
|
976 |
|
977 |
-
#: admin.php:
|
978 |
#, php-format
|
979 |
msgid "UpdraftPlus's %s module <strong>requires</strong> Curl. Your only options to get this working are 1) Install/enable curl or 2) Hire us or someone else to code additional support options into UpdraftPlus. 3) Wait, possibly forever, for someone else to do this."
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: admin.php:
|
983 |
#, php-format
|
984 |
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)."
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: admin.php:
|
988 |
#, php-format
|
989 |
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."
|
990 |
msgstr ""
|
991 |
|
992 |
-
#: admin.php:
|
993 |
#, php-format
|
994 |
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."
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: admin.php:
|
|
|
|
|
|
|
|
|
998 |
msgid "Press here to download"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: admin.php:
|
1002 |
#, php-format
|
1003 |
msgid "(No %s)"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: admin.php:
|
1007 |
msgid "Backup Log"
|
1008 |
msgstr ""
|
1009 |
|
1010 |
-
#: admin.php:
|
1011 |
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
1012 |
msgstr ""
|
1013 |
|
1014 |
-
#: admin.php:
|
1015 |
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
1016 |
msgstr ""
|
1017 |
|
1018 |
-
#: admin.php:
|
1019 |
msgid "UpdraftPlus Restoration: Progress"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: admin.php:
|
1023 |
msgid "ABORT: Could not find the information on which entities to restore."
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: admin.php:
|
1027 |
msgid "If making a request for support, please include this information:"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: admin.php:
|
1031 |
msgid "This component was not selected for restoration - skipping."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: admin.php:
|
1035 |
msgid "File is not locally present - needs retrieving from remote storage (for large files, it is better to do this in advance from the download console)"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: admin.php:
|
1039 |
msgid "Archive is expected to be size:"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: admin.php:
|
1043 |
msgid "ERROR"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: admin.php:
|
1047 |
msgid "The backup records do not contain information about the proper size of this file."
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: admin.php:
|
1051 |
msgid "Error message"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
-
#: admin.php:
|
1055 |
-
#: admin.php:
|
1056 |
msgid "Could not find one of the files for restoration"
|
1057 |
msgstr ""
|
1058 |
|
@@ -1065,112 +1231,145 @@ msgid "Backup file not available."
|
|
1065 |
msgstr ""
|
1066 |
|
1067 |
#: includes/updraft-restorer.php:7
|
1068 |
-
msgid "
|
1069 |
msgstr ""
|
1070 |
|
1071 |
#: includes/updraft-restorer.php:8
|
1072 |
-
msgid "
|
1073 |
msgstr ""
|
1074 |
|
1075 |
#: includes/updraft-restorer.php:9
|
1076 |
-
msgid "
|
1077 |
msgstr ""
|
1078 |
|
1079 |
#: includes/updraft-restorer.php:10
|
1080 |
-
msgid "
|
1081 |
msgstr ""
|
1082 |
|
1083 |
#: includes/updraft-restorer.php:11
|
1084 |
-
msgid "Moving
|
1085 |
msgstr ""
|
1086 |
|
1087 |
#: includes/updraft-restorer.php:12
|
1088 |
-
msgid "
|
1089 |
msgstr ""
|
1090 |
|
1091 |
#: includes/updraft-restorer.php:13
|
1092 |
-
msgid "
|
1093 |
msgstr ""
|
1094 |
|
1095 |
#: includes/updraft-restorer.php:14
|
1096 |
-
msgid "
|
1097 |
msgstr ""
|
1098 |
|
1099 |
#: includes/updraft-restorer.php:15
|
1100 |
-
msgid "Could not
|
1101 |
msgstr ""
|
1102 |
|
1103 |
#: includes/updraft-restorer.php:16
|
1104 |
-
msgid "Could not
|
1105 |
msgstr ""
|
1106 |
|
1107 |
#: includes/updraft-restorer.php:17
|
|
|
|
|
|
|
|
|
1108 |
msgid "Failed to delete working directory after restoring."
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: includes/updraft-restorer.php:
|
1112 |
msgid "Failed to create a temporary directory"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: includes/updraft-restorer.php:
|
1116 |
msgid "Failed to write out the decrypted database to the filesystem"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: includes/updraft-restorer.php:
|
1120 |
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
1121 |
msgstr ""
|
1122 |
|
1123 |
-
#: includes/updraft-restorer.php:
|
1124 |
msgid "wp-config.php from backup: restoring (as per user's request)"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: includes/updraft-restorer.php:
|
1128 |
msgid "Will not delete the archive after unpacking it, because there was no cloud storage for this backup"
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: includes/updraft-restorer.php:
|
1132 |
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."
|
1133 |
msgstr ""
|
1134 |
|
1135 |
-
#: includes/updraft-restorer.php:
|
1136 |
msgid "Failed to find database file"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
-
#: includes/updraft-restorer.php:
|
1140 |
msgid "Failed to open database file"
|
1141 |
msgstr ""
|
1142 |
|
1143 |
-
#: includes/updraft-restorer.php:
|
1144 |
msgid "Database access: Direct MySQL access is not available, so we are falling back to wpdb (this will be considerably slower)"
|
1145 |
msgstr ""
|
1146 |
|
1147 |
-
#: includes/updraft-restorer.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1148 |
msgid "Restoring table"
|
1149 |
msgstr ""
|
1150 |
|
1151 |
-
#: includes/updraft-restorer.php:
|
|
|
|
|
|
|
|
|
1152 |
#, php-format
|
1153 |
msgid "An error (%s) occured:"
|
1154 |
msgstr ""
|
1155 |
|
1156 |
-
#: includes/updraft-restorer.php:
|
1157 |
msgid "the database query being run was:"
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: includes/updraft-restorer.php:
|
1161 |
msgid "Too many database errors have occurred - aborting restoration (you will need to restore manually)"
|
1162 |
msgstr ""
|
1163 |
|
1164 |
-
#: includes/updraft-restorer.php:
|
1165 |
#, php-format
|
1166 |
msgid "Database lines processed: %d in %.2f seconds"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
-
#: includes/updraft-restorer.php:
|
1170 |
#, php-format
|
1171 |
msgid "Finished: lines processed: %d in %.2f seconds"
|
1172 |
msgstr ""
|
1173 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1174 |
#: methods/webdav.php:13
|
1175 |
#: methods/webdav.php:34
|
1176 |
#: methods/webdav.php:50
|
@@ -1206,7 +1405,7 @@ msgid "Your %s quota usage: %s %% used, %s available"
|
|
1206 |
msgstr ""
|
1207 |
|
1208 |
#: methods/googledrive.php:143
|
1209 |
-
#: methods/cloudfiles.php:
|
1210 |
msgid "Success"
|
1211 |
msgstr ""
|
1212 |
|
@@ -1215,15 +1414,6 @@ msgstr ""
|
|
1215 |
msgid "you have authenticated your %s account."
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#: methods/googledrive.php:143
|
1219 |
-
#: methods/googledrive.php:392
|
1220 |
-
#: methods/googledrive.php:394
|
1221 |
-
#: methods/googledrive.php:412
|
1222 |
-
#: methods/googledrive.php:416
|
1223 |
-
#: methods/googledrive.php:420
|
1224 |
-
msgid "Google Drive"
|
1225 |
-
msgstr ""
|
1226 |
-
|
1227 |
#: methods/googledrive.php:159
|
1228 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
1229 |
msgstr ""
|
@@ -1243,10 +1433,6 @@ msgstr ""
|
|
1243 |
msgid "Failed to upload to %s"
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#: methods/googledrive.php:253
|
1247 |
-
msgid "Error"
|
1248 |
-
msgstr ""
|
1249 |
-
|
1250 |
#: methods/googledrive.php:289
|
1251 |
#, php-format
|
1252 |
msgid "An error occurred during %s upload (see log for more details)"
|
@@ -1275,7 +1461,7 @@ msgid "Account is not authorized."
|
|
1275 |
msgstr ""
|
1276 |
|
1277 |
#: methods/googledrive.php:395
|
1278 |
-
#: methods/cloudfiles.php:
|
1279 |
#, php-format
|
1280 |
msgid "%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts."
|
1281 |
msgstr ""
|
@@ -1332,133 +1518,133 @@ msgstr ""
|
|
1332 |
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 Google."
|
1333 |
msgstr ""
|
1334 |
|
1335 |
-
#: methods/cloudfiles.php:
|
1336 |
-
#: methods/cloudfiles.php:
|
|
|
1337 |
#: methods/cloudfiles.php:242
|
1338 |
-
#: methods/cloudfiles.php:
|
1339 |
-
#: methods/cloudfiles.php:
|
1340 |
-
#: methods/cloudfiles.php:
|
1341 |
-
#: methods/cloudfiles.php:463
|
1342 |
msgid "Cloud Files authentication failed"
|
1343 |
msgstr ""
|
1344 |
|
1345 |
-
#: methods/cloudfiles.php:
|
1346 |
-
#: methods/cloudfiles.php:
|
1347 |
-
#: methods/cloudfiles.php:
|
1348 |
msgid "Cloud Files error - failed to create and access the container"
|
1349 |
msgstr ""
|
1350 |
|
1351 |
-
#: methods/cloudfiles.php:
|
1352 |
#, php-format
|
1353 |
msgid "%s Error: Failed to open local file"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
-
#: methods/cloudfiles.php:
|
1357 |
-
#: methods/cloudfiles.php:
|
1358 |
#, php-format
|
1359 |
msgid "%s Error: Failed to upload"
|
1360 |
msgstr ""
|
1361 |
|
1362 |
-
#: methods/cloudfiles.php:
|
1363 |
msgid "Cloud Files error - failed to re-assemble chunks"
|
1364 |
msgstr ""
|
1365 |
|
1366 |
-
#: methods/cloudfiles.php:
|
1367 |
-
#: methods/cloudfiles.php:
|
1368 |
msgid "Cloud Files error - failed to upload file"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
-
#: methods/cloudfiles.php:
|
1372 |
-
#: methods/cloudfiles.php:
|
1373 |
msgid "Cloud Files Error"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
-
#: methods/cloudfiles.php:
|
1377 |
msgid "Error opening local file: Failed to download"
|
1378 |
msgstr ""
|
1379 |
|
1380 |
-
#: methods/cloudfiles.php:
|
1381 |
msgid "Error downloading remote file: Failed to download ("
|
1382 |
msgstr ""
|
1383 |
|
1384 |
-
#: methods/cloudfiles.php:
|
1385 |
msgid "Cloud Files error - no such file exists at Cloud Files"
|
1386 |
msgstr ""
|
1387 |
|
1388 |
-
#: methods/cloudfiles.php:
|
1389 |
msgid "Cloud Files error - failed to download the file"
|
1390 |
msgstr ""
|
1391 |
|
1392 |
-
#: methods/cloudfiles.php:
|
1393 |
msgid "Testing - Please Wait..."
|
1394 |
msgstr ""
|
1395 |
|
1396 |
-
#: methods/cloudfiles.php:
|
1397 |
-
#: methods/cloudfiles.php:
|
1398 |
#, php-format
|
1399 |
msgid "Test %s Settings"
|
1400 |
msgstr ""
|
1401 |
|
1402 |
-
#: methods/cloudfiles.php:
|
1403 |
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."
|
1404 |
msgstr ""
|
1405 |
|
1406 |
-
#: methods/cloudfiles.php:
|
1407 |
msgid "Also, you should read this important FAQ."
|
1408 |
msgstr ""
|
1409 |
|
1410 |
-
#: methods/cloudfiles.php:
|
1411 |
msgid "US or UK Cloud"
|
1412 |
msgstr ""
|
1413 |
|
1414 |
-
#: methods/cloudfiles.php:
|
1415 |
msgid "US (default)"
|
1416 |
msgstr ""
|
1417 |
|
1418 |
-
#: methods/cloudfiles.php:
|
1419 |
msgid "UK"
|
1420 |
msgstr ""
|
1421 |
|
1422 |
-
#: methods/cloudfiles.php:
|
1423 |
msgid "Cloud Files username"
|
1424 |
msgstr ""
|
1425 |
|
1426 |
-
#: methods/cloudfiles.php:
|
1427 |
msgid "Cloud Files API key"
|
1428 |
msgstr ""
|
1429 |
|
1430 |
-
#: methods/cloudfiles.php:
|
1431 |
msgid "Cloud Files container"
|
1432 |
msgstr ""
|
1433 |
|
1434 |
-
#: methods/cloudfiles.php:
|
1435 |
#, php-format
|
1436 |
msgid "UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative."
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#: methods/cloudfiles.php:
|
1440 |
-
#: methods/cloudfiles.php:
|
1441 |
#, php-format
|
1442 |
msgid "Failure: No %s was given."
|
1443 |
msgstr ""
|
1444 |
|
1445 |
-
#: methods/cloudfiles.php:
|
1446 |
msgid "API key"
|
1447 |
msgstr ""
|
1448 |
|
1449 |
-
#: methods/cloudfiles.php:
|
1450 |
msgid "Username"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: methods/cloudfiles.php:
|
1454 |
msgid "Failure: No container details were given."
|
1455 |
msgstr ""
|
1456 |
|
1457 |
-
#: methods/cloudfiles.php:
|
1458 |
msgid "Cloud Files error - we accessed the container, but failed to create a file within it"
|
1459 |
msgstr ""
|
1460 |
|
1461 |
-
#: methods/cloudfiles.php:
|
1462 |
msgid "We accessed the container, and were able to create files within it."
|
1463 |
msgstr ""
|
1464 |
|
@@ -1482,96 +1668,116 @@ msgstr ""
|
|
1482 |
msgid "The email address entered above will be used. If choosing \"E-Mail\", then <strong>be aware</strong> that mail servers tend to have size limits; typically around 10-20Mb; backups larger than any limits will not arrive. If you really need a large backup via email, then you could fund a new feature (to break the backup set into configurable-size pieces) - but the demand has not yet existed for such a feature."
|
1483 |
msgstr ""
|
1484 |
|
1485 |
-
#: methods/s3.php:
|
1486 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: methods/s3.php:
|
1490 |
#, php-format
|
1491 |
-
msgid "
|
1492 |
msgstr ""
|
1493 |
|
1494 |
-
#: methods/s3.php:
|
1495 |
#, php-format
|
1496 |
-
msgid "
|
1497 |
msgstr ""
|
1498 |
|
1499 |
-
#: methods/s3.php:
|
1500 |
#, php-format
|
1501 |
-
msgid "
|
1502 |
msgstr ""
|
1503 |
|
1504 |
-
#: methods/s3.php:
|
1505 |
#, php-format
|
1506 |
-
msgid "
|
1507 |
msgstr ""
|
1508 |
|
1509 |
-
#: methods/s3.php:
|
1510 |
#, php-format
|
1511 |
-
msgid "
|
1512 |
msgstr ""
|
1513 |
|
1514 |
-
#: methods/s3.php:
|
1515 |
#, php-format
|
1516 |
-
msgid "
|
1517 |
msgstr ""
|
1518 |
|
1519 |
-
#: methods/s3.php:
|
1520 |
-
|
|
|
1521 |
msgstr ""
|
1522 |
|
1523 |
-
#: methods/s3.php:
|
1524 |
msgid "If you see errors about SSL certificates, then please go here for help."
|
1525 |
msgstr ""
|
1526 |
|
1527 |
-
#: methods/s3.php:
|
1528 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1529 |
msgstr ""
|
1530 |
|
1531 |
-
#: methods/s3.php:
|
1532 |
-
|
|
|
1533 |
msgstr ""
|
1534 |
|
1535 |
-
#: methods/s3.php:
|
1536 |
-
msgid "
|
1537 |
msgstr ""
|
1538 |
|
1539 |
-
#: methods/s3.php:
|
1540 |
msgid "API secret"
|
1541 |
msgstr ""
|
1542 |
|
1543 |
-
#: methods/s3.php:
|
1544 |
msgid "Failure: No bucket details were given."
|
1545 |
msgstr ""
|
1546 |
|
1547 |
-
#: methods/s3.php:
|
1548 |
-
msgid "
|
1549 |
msgstr ""
|
1550 |
|
1551 |
-
#: methods/s3.php:
|
1552 |
-
|
|
|
1553 |
msgstr ""
|
1554 |
|
1555 |
-
#: methods/s3.php:
|
1556 |
-
#: methods/s3.php:
|
1557 |
msgid "Failure"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
-
#: methods/s3.php:
|
1561 |
-
#: methods/s3.php:
|
1562 |
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
1563 |
msgstr ""
|
1564 |
|
1565 |
-
#: methods/s3.php:
|
1566 |
msgid "We accessed the bucket, and were able to create files within it."
|
1567 |
msgstr ""
|
1568 |
|
1569 |
-
#: methods/s3.php:
|
1570 |
#, php-format
|
1571 |
msgid "The communication with %s was encrypted."
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#: methods/s3.php:
|
1575 |
#, php-format
|
1576 |
msgid "The communication with %s was not encrypted."
|
1577 |
msgstr ""
|
@@ -1582,7 +1788,7 @@ msgid "The %s PHP module is not installed"
|
|
1582 |
msgstr ""
|
1583 |
|
1584 |
#: methods/dropbox.php:41
|
1585 |
-
#: methods/dropbox.php:
|
1586 |
msgid "You do not appear to be authenticated with Dropbox"
|
1587 |
msgstr ""
|
1588 |
|
@@ -1591,108 +1797,108 @@ msgstr ""
|
|
1591 |
msgid "error: %s (see log file for more)"
|
1592 |
msgstr ""
|
1593 |
|
1594 |
-
#: methods/dropbox.php:
|
1595 |
-
#: methods/dropbox.php:
|
1596 |
#, php-format
|
1597 |
msgid "error: failed to upload file to %s (see log file for more)"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
-
#: methods/dropbox.php:
|
1601 |
msgid "Need to use sub-folders?"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
-
#: methods/dropbox.php:
|
1605 |
msgid "Backups are saved in"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
-
#: methods/dropbox.php:
|
1609 |
msgid "If you back up several sites into the same Dropbox and want to organise with sub-folders, then "
|
1610 |
msgstr ""
|
1611 |
|
1612 |
-
#: methods/dropbox.php:
|
1613 |
msgid "there's an add-on for that."
|
1614 |
msgstr ""
|
1615 |
|
1616 |
-
#: methods/dropbox.php:
|
1617 |
msgid "Authenticate with Dropbox"
|
1618 |
msgstr ""
|
1619 |
|
1620 |
-
#: methods/dropbox.php:
|
1621 |
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 Dropbox."
|
1622 |
msgstr ""
|
1623 |
|
1624 |
-
#: methods/dropbox.php:
|
1625 |
#, php-format
|
1626 |
msgid "you have authenticated your %s account"
|
1627 |
msgstr ""
|
1628 |
|
1629 |
-
#: methods/dropbox.php:
|
1630 |
msgid "though part of the returned information was not as expected - your mileage may vary"
|
1631 |
msgstr ""
|
1632 |
|
1633 |
-
#: methods/dropbox.php:
|
1634 |
#, php-format
|
1635 |
msgid "Your %s account name: %s"
|
1636 |
msgstr ""
|
1637 |
|
1638 |
-
#: methods/ftp.php:
|
1639 |
-
#: methods/ftp.php:
|
1640 |
msgid "FTP login failure"
|
1641 |
msgstr ""
|
1642 |
|
1643 |
-
#: methods/ftp.php:
|
1644 |
msgid "FTP upload failed"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
-
#: methods/ftp.php:
|
1648 |
msgid "Settings test result"
|
1649 |
msgstr ""
|
1650 |
|
1651 |
-
#: methods/ftp.php:
|
1652 |
msgid "Only non-encrypted FTP is supported by regular UpdraftPlus."
|
1653 |
msgstr ""
|
1654 |
|
1655 |
-
#: methods/ftp.php:
|
1656 |
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
1657 |
msgstr ""
|
1658 |
|
1659 |
-
#: methods/ftp.php:
|
1660 |
msgid "FTP Server"
|
1661 |
msgstr ""
|
1662 |
|
1663 |
-
#: methods/ftp.php:
|
1664 |
msgid "FTP Login"
|
1665 |
msgstr ""
|
1666 |
|
1667 |
-
#: methods/ftp.php:
|
1668 |
msgid "FTP Password"
|
1669 |
msgstr ""
|
1670 |
|
1671 |
-
#: methods/ftp.php:
|
1672 |
msgid "Remote Path"
|
1673 |
msgstr ""
|
1674 |
|
1675 |
-
#: methods/ftp.php:
|
1676 |
msgid "Needs to already exist"
|
1677 |
msgstr ""
|
1678 |
|
1679 |
-
#: methods/ftp.php:
|
1680 |
msgid "Failure: No server details were given."
|
1681 |
msgstr ""
|
1682 |
|
1683 |
-
#: methods/ftp.php:
|
1684 |
msgid "Failure: we did not successfully log in with those credentials."
|
1685 |
msgstr ""
|
1686 |
|
1687 |
-
#: methods/ftp.php:
|
1688 |
msgid "Failure: an unexpected internal UpdraftPlus error occurred when testing the credentials - please contact the developer"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#: methods/ftp.php:
|
1692 |
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#: methods/ftp.php:
|
1696 |
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
1697 |
msgstr ""
|
1698 |
|
@@ -1741,62 +1947,62 @@ msgstr ""
|
|
1741 |
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
1742 |
msgstr ""
|
1743 |
|
1744 |
-
#: addons/morefiles.php:
|
1745 |
-
#: addons/morefiles.php:
|
1746 |
msgid "WordPress Core"
|
1747 |
msgstr ""
|
1748 |
|
1749 |
-
#: addons/morefiles.php:
|
1750 |
msgid "Over-write wp-config.php"
|
1751 |
msgstr ""
|
1752 |
|
1753 |
-
#: addons/morefiles.php:
|
1754 |
msgid "(learn more about this important option)"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
-
#: addons/morefiles.php:
|
1758 |
msgid "The above files comprise everything in a WordPress installation."
|
1759 |
msgstr ""
|
1760 |
|
1761 |
-
#: addons/morefiles.php:
|
1762 |
msgid "WordPress core (including any additions to your WordPress root directory)"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
-
#: addons/morefiles.php:
|
1766 |
msgid "Any other directory on your server that you wish to back up"
|
1767 |
msgstr ""
|
1768 |
|
1769 |
-
#: addons/morefiles.php:
|
1770 |
msgid "More Files"
|
1771 |
msgstr ""
|
1772 |
|
1773 |
-
#: addons/morefiles.php:
|
1774 |
msgid "Enter the directory:"
|
1775 |
msgstr ""
|
1776 |
|
1777 |
-
#: addons/morefiles.php:
|
1778 |
msgid "If you are not sure what this option is for, then you will not want it, and should turn it off."
|
1779 |
msgstr ""
|
1780 |
|
1781 |
-
#: addons/morefiles.php:
|
1782 |
msgid "If using it, enter an absolute path (it is not relative to your WordPress install)."
|
1783 |
msgstr ""
|
1784 |
|
1785 |
-
#: addons/morefiles.php:
|
1786 |
msgid "Be careful what you enter - if you enter / then it really will try to create a zip containing your entire webserver."
|
1787 |
msgstr ""
|
1788 |
|
1789 |
-
#: addons/morefiles.php:
|
1790 |
msgid "If entering multiple files/directories, then separate them with commas."
|
1791 |
msgstr ""
|
1792 |
|
1793 |
-
#: addons/morefiles.php:
|
1794 |
-
#: addons/morefiles.php:
|
1795 |
#, php-format
|
1796 |
msgid "No backup of %s directories: there was nothing found to back up"
|
1797 |
msgstr ""
|
1798 |
|
1799 |
-
#: addons/morefiles.php:
|
1800 |
msgid "more"
|
1801 |
msgstr ""
|
1802 |
|
@@ -1808,6 +2014,10 @@ msgstr ""
|
|
1808 |
msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time, by which time when you attempt to use it. If you find this happenning, then go into the \"Expert Options\" (below) and turn off SSL there."
|
1809 |
msgstr ""
|
1810 |
|
|
|
|
|
|
|
|
|
1811 |
#: addons/sftp.php:30
|
1812 |
#: addons/sftp.php:31
|
1813 |
#: addons/sftp.php:32
|
@@ -1891,115 +2101,124 @@ msgstr ""
|
|
1891 |
msgid "Enter in format HH:MM (e.g. 14:22)"
|
1892 |
msgstr ""
|
1893 |
|
1894 |
-
#: addons/multisite.php:
|
1895 |
msgid "Multisite Install"
|
1896 |
msgstr ""
|
1897 |
|
1898 |
-
#: addons/multisite.php:
|
1899 |
msgid "You do not have sufficient permissions to access this page."
|
1900 |
msgstr ""
|
1901 |
|
1902 |
-
#: addons/multisite.php:
|
1903 |
msgid "You do not have permission to access this page."
|
1904 |
msgstr ""
|
1905 |
|
1906 |
-
#: addons/multisite.php:
|
1907 |
msgid "Must-use plugins"
|
1908 |
msgstr ""
|
1909 |
|
1910 |
-
#: addons/multisite.php:
|
1911 |
msgid "Blog uploads"
|
1912 |
msgstr ""
|
1913 |
|
1914 |
-
#: addons/migrator.php:
|
1915 |
#, php-format
|
1916 |
msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s"
|
1917 |
msgstr ""
|
1918 |
|
1919 |
-
#: addons/migrator.php:
|
1920 |
msgid "Search and replace site location in the database (migrate)"
|
1921 |
msgstr ""
|
1922 |
|
1923 |
-
#: addons/migrator.php:
|
1924 |
msgid "(learn more)"
|
1925 |
msgstr ""
|
1926 |
|
1927 |
-
#: addons/migrator.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1928 |
msgid "Database: search and replace site URL"
|
1929 |
msgstr ""
|
1930 |
|
1931 |
-
#: addons/migrator.php:
|
1932 |
msgid "This option was not selected."
|
1933 |
msgstr ""
|
1934 |
|
1935 |
-
#: addons/migrator.php:
|
1936 |
-
#: addons/migrator.php:
|
1937 |
#, php-format
|
1938 |
msgid "Error: unexpected empty parameter (%s, %s)"
|
1939 |
msgstr ""
|
1940 |
|
1941 |
-
#: addons/migrator.php:
|
1942 |
#, php-format
|
1943 |
msgid "Nothing to do: the site URL is already: %s"
|
1944 |
msgstr ""
|
1945 |
|
1946 |
-
#: addons/migrator.php:
|
1947 |
#, php-format
|
1948 |
-
msgid "
|
1949 |
msgstr ""
|
1950 |
|
1951 |
-
#: addons/migrator.php:
|
1952 |
#, php-format
|
1953 |
-
msgid "
|
|
|
|
|
|
|
|
|
1954 |
msgstr ""
|
1955 |
|
1956 |
-
#: addons/migrator.php:
|
1957 |
#, php-format
|
1958 |
-
msgid "
|
1959 |
msgstr ""
|
1960 |
|
1961 |
-
#: addons/migrator.php:
|
1962 |
msgid "Tables examined:"
|
1963 |
msgstr ""
|
1964 |
|
1965 |
-
#: addons/migrator.php:
|
1966 |
msgid "Rows examined:"
|
1967 |
msgstr ""
|
1968 |
|
1969 |
-
#: addons/migrator.php:
|
1970 |
msgid "Changes made:"
|
1971 |
msgstr ""
|
1972 |
|
1973 |
-
#: addons/migrator.php:
|
1974 |
msgid "SQL update commands run:"
|
1975 |
msgstr ""
|
1976 |
|
1977 |
-
#: addons/migrator.php:
|
1978 |
msgid "Errors:"
|
1979 |
msgstr ""
|
1980 |
|
1981 |
-
#: addons/migrator.php:
|
1982 |
msgid "Time taken (seconds):"
|
1983 |
msgstr ""
|
1984 |
|
1985 |
-
#: addons/migrator.php:
|
1986 |
-
|
1987 |
-
|
1988 |
-
|
1989 |
-
#: addons/migrator.php:178
|
1990 |
-
msgid "No database tables were found"
|
1991 |
-
msgstr ""
|
1992 |
-
|
1993 |
-
#: addons/migrator.php:215
|
1994 |
-
msgid "Inspecting table:"
|
1995 |
msgstr ""
|
1996 |
|
1997 |
-
#: addons/migrator.php:
|
1998 |
#, php-format
|
1999 |
msgid "rows: %d"
|
2000 |
msgstr ""
|
2001 |
|
2002 |
-
#: addons/migrator.php:
|
2003 |
#, php-format
|
2004 |
msgid "\"%s\" has no primary key, manual change needed on row %s."
|
2005 |
msgstr ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: UpdraftPlus\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2013-05-25 14:03+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-05-25 14:03+0100\n"
|
7 |
"Last-Translator: David Anderson <contact@updraftplus.com>\n"
|
8 |
"Language-Team: <contact@updraftplus.com>\n"
|
9 |
"Language: \n"
|
18 |
msgid "UpdraftPlus Backups"
|
19 |
msgstr ""
|
20 |
|
21 |
+
#: updraftplus.php:296
|
22 |
+
#: updraftplus.php:301
|
23 |
+
#: updraftplus.php:306
|
24 |
+
#: admin.php:217
|
25 |
+
#: admin.php:221
|
26 |
msgid "UpdraftPlus notice:"
|
27 |
msgstr ""
|
28 |
|
29 |
+
#: updraftplus.php:296
|
30 |
msgid "The log file could not be read."
|
31 |
msgstr ""
|
32 |
|
33 |
+
#: updraftplus.php:301
|
34 |
msgid "No log files were found."
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: updraftplus.php:306
|
38 |
msgid "The given file could not be read."
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: updraftplus.php:442
|
42 |
msgid "Plugins"
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: updraftplus.php:443
|
46 |
msgid "Themes"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: updraftplus.php:444
|
50 |
msgid "Uploads"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: updraftplus.php:459
|
54 |
msgid "Others"
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: updraftplus.php:745
|
58 |
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: updraftplus.php:815
|
62 |
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: updraftplus.php:851
|
66 |
msgid "The backup apparently succeeded and is now complete"
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: updraftplus.php:854
|
70 |
msgid "The backup attempt has finished, apparently unsuccessfully"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: updraftplus.php:857
|
74 |
msgid "The backup has not finished; a resumption is scheduled within 5 minutes"
|
75 |
msgstr ""
|
76 |
|
77 |
+
#: updraftplus.php:909
|
78 |
+
msgid "Errors encountered:"
|
79 |
+
msgstr ""
|
80 |
+
|
81 |
+
#: updraftplus.php:927
|
82 |
msgid "Backed up"
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: updraftplus.php:927
|
86 |
msgid "WordPress backup is complete"
|
87 |
msgstr ""
|
88 |
|
89 |
+
#: updraftplus.php:927
|
90 |
msgid "Backup contains"
|
91 |
msgstr ""
|
92 |
|
93 |
+
#: updraftplus.php:927
|
94 |
msgid "Latest status"
|
95 |
msgstr ""
|
96 |
|
97 |
+
#: updraftplus.php:1180
|
98 |
#, php-format
|
99 |
msgid "Backup directory (%s) is not writable, or does not exist."
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: updraftplus.php:1328
|
103 |
msgid "Could not read the directory"
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: updraftplus.php:1345
|
107 |
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: updraftplus.php:1374
|
111 |
msgid "Could not open the backup file for writing"
|
112 |
msgstr ""
|
113 |
|
114 |
+
#: updraftplus.php:1390
|
115 |
#, php-format
|
116 |
msgid "Generated: %s"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: updraftplus.php:1391
|
120 |
#, php-format
|
121 |
msgid "Hostname: %s"
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: updraftplus.php:1392
|
125 |
#, php-format
|
126 |
msgid "Database: %s"
|
127 |
msgstr ""
|
128 |
|
129 |
+
#: updraftplus.php:1452
|
130 |
msgid "The backup directory is not writable."
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: updraftplus.php:1473
|
134 |
#, php-format
|
135 |
msgid "Table: %s"
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: updraftplus.php:1478
|
139 |
#, php-format
|
140 |
msgid "Skipping non-WP table: %s"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: updraftplus.php:1573
|
144 |
#, php-format
|
145 |
msgid "Delete any existing table %s"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: updraftplus.php:1582
|
149 |
#, php-format
|
150 |
msgid "Table structure of table %s"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: updraftplus.php:1588
|
154 |
#, php-format
|
155 |
msgid "Error with SHOW CREATE TABLE for %s."
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: updraftplus.php:1679
|
159 |
#, php-format
|
160 |
msgid "End of data contents of table %s"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: updraftplus.php:1851
|
164 |
+
#: includes/updraft-restorer.php:63
|
165 |
msgid "Decryption failed. The database file is encrypted, but you have no encryption key entered."
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: updraftplus.php:1864
|
169 |
+
#: includes/updraft-restorer.php:78
|
170 |
msgid "Decryption failed. The most likely cause is that you used the wrong key."
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: updraftplus.php:1864
|
174 |
msgid "The decryption key used:"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: updraftplus.php:1879
|
178 |
msgid "File not found"
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: updraftplus.php:1929
|
182 |
msgid "Can you translate? Want to improve UpdraftPlus for speakers of your language?"
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: updraftplus.php:1931
|
186 |
+
#: updraftplus.php:1937
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
msgid "Like UpdraftPlus and can spare one minute?"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: updraftplus.php:1931
|
191 |
+
#: updraftplus.php:1937
|
192 |
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org"
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: updraftplus.php:1944
|
196 |
msgid "Need even more features and support? Check out UpdraftPlus Premium"
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: updraftplus.php:1953
|
200 |
msgid "Check out UpdraftPlus.Com for help, add-ons and support"
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: updraftplus.php:1956
|
204 |
msgid "Want to say thank-you for UpdraftPlus?"
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: updraftplus.php:1956
|
208 |
msgid "Please buy our very cheap 'no adverts' add-on."
|
209 |
msgstr ""
|
210 |
|
212 |
msgid "Infinite recursion: consult your log for more information"
|
213 |
msgstr ""
|
214 |
|
215 |
+
#: backup.php:493
|
216 |
#, php-format
|
217 |
msgid "Could not create %s zip. Consult the log file for more information."
|
218 |
msgstr ""
|
219 |
|
220 |
+
#: admin.php:102
|
221 |
+
#: admin.php:119
|
222 |
msgid "Allowed Files"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: admin.php:180
|
226 |
msgid "Settings"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: admin.php:184
|
230 |
msgid "Add-Ons / Pro Support"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: admin.php:196
|
234 |
+
#: admin.php:200
|
235 |
+
#: admin.php:204
|
236 |
+
#: admin.php:213
|
237 |
+
#: admin.php:1788
|
238 |
+
#: admin.php:1794
|
239 |
+
#: admin.php:1796
|
240 |
msgid "Warning"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: admin.php:196
|
244 |
#, php-format
|
245 |
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."
|
246 |
msgstr ""
|
247 |
|
248 |
+
#: admin.php:200
|
249 |
#, php-format
|
250 |
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."
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: admin.php:204
|
254 |
#, php-format
|
255 |
msgid "Your website is hosted using the %s web server."
|
256 |
msgstr ""
|
257 |
|
258 |
+
#: admin.php:204
|
259 |
msgid "Please consult this FAQ if you have problems backing up."
|
260 |
msgstr ""
|
261 |
|
262 |
+
#: admin.php:208
|
263 |
+
msgid "Notice"
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#: admin.php:208
|
267 |
+
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."
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
#: admin.php:213
|
271 |
+
msgid "W3 Total Cache's object cache is active. This is known to have a bug that messes with all scheduled tasks (including backup jobs)."
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: admin.php:213
|
275 |
+
msgid "Go here to turn it off."
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: admin.php:213
|
279 |
+
#, php-format
|
280 |
+
msgid "<a href=\"%s\">Go here</a> for more information."
|
281 |
+
msgstr ""
|
282 |
+
|
283 |
+
#: admin.php:217
|
284 |
+
#: admin.php:221
|
285 |
#, php-format
|
286 |
msgid "Click here to authenticate your %s account (you will not be able to back up to %s without it)."
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: admin.php:372
|
290 |
#, php-format
|
291 |
msgid "The backup archive for restoring this file could not be found. The remote storage method in use (%s) does not allow us to retrieve files. To proceed with this restoration, you need to obtain a copy of this file and place it inside UpdraftPlus's working folder"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: admin.php:387
|
295 |
msgid "Nothing yet logged"
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: admin.php:389
|
299 |
+
msgid "Schedule backup"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: admin.php:392
|
303 |
+
msgid "Failed."
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: admin.php:395
|
307 |
+
msgid "OK. You should soon see activity in the \"Last log message\" field below."
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: admin.php:395
|
311 |
+
msgid "Nothing happening? Follow this link for help."
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: admin.php:414
|
315 |
+
msgid "Job deleted"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: admin.php:420
|
319 |
+
msgid "Could not find that job - perhaps it has already finished?"
|
320 |
+
msgstr ""
|
321 |
+
|
322 |
+
#: admin.php:432
|
323 |
+
#: includes/updraft-restorer.php:477
|
324 |
+
#: includes/updraft-restorer.php:511
|
325 |
+
msgid "Error"
|
326 |
+
msgstr ""
|
327 |
+
|
328 |
+
#: admin.php:447
|
329 |
msgid "Download failed"
|
330 |
msgstr ""
|
331 |
|
332 |
+
#: admin.php:461
|
333 |
+
#: admin.php:986
|
334 |
msgid "File ready."
|
335 |
msgstr ""
|
336 |
|
337 |
+
#: admin.php:469
|
338 |
msgid "Download in progress"
|
339 |
msgstr ""
|
340 |
|
341 |
+
#: admin.php:472
|
342 |
msgid "No local copy present."
|
343 |
msgstr ""
|
344 |
|
345 |
+
#: admin.php:580
|
346 |
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
347 |
msgstr ""
|
348 |
|
349 |
+
#: admin.php:659
|
350 |
msgid "Bad filename format - this does not look like an encrypted database file created by UpdraftPlus"
|
351 |
msgstr ""
|
352 |
|
353 |
+
#: admin.php:688
|
354 |
msgid "Restore successful!"
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: admin.php:689
|
358 |
+
#: admin.php:724
|
359 |
+
#: admin.php:743
|
360 |
msgid "Actions"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: admin.php:689
|
364 |
+
#: admin.php:704
|
365 |
+
#: admin.php:724
|
366 |
+
#: admin.php:743
|
367 |
msgid "Return to UpdraftPlus Configuration"
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: admin.php:713
|
371 |
msgid "Remove old directories"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: admin.php:719
|
375 |
msgid "Old directories successfully removed."
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: admin.php:722
|
379 |
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: admin.php:734
|
383 |
msgid "Backup directory could not be created"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: admin.php:741
|
387 |
msgid "Backup directory successfully created."
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: admin.php:758
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
msgid "Your settings have been wiped."
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: admin.php:765
|
395 |
msgid "By UpdraftPlus.Com"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: admin.php:765
|
399 |
msgid "Lead developer's homepage"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: admin.php:765
|
403 |
msgid "Donate"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: admin.php:765
|
407 |
msgid "Other WordPress plugins"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: admin.php:765
|
411 |
msgid "Version"
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: admin.php:769
|
415 |
msgid "Your backup has been restored."
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: admin.php:769
|
419 |
msgid "Your old (themes, uploads, plugins, whatever) directories have been retained with \"-old\" appended to their name. Remove them when you are satisfied that the backup worked properly."
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: admin.php:775
|
423 |
msgid "Old directories successfully deleted."
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: admin.php:778
|
427 |
msgid "Your PHP memory limit (set by your web hosting company) is quite 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 bhe successful with a 32Mb limit - your experience may vary)."
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: admin.php:778
|
431 |
msgid "Current limit is:"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: admin.php:782
|
435 |
msgid "Your PHP max_execution_time is less than 60 seconds. This possibly means you're running in safe_mode. Either disable safe_mode or modify your php.ini to set max_execution_time to a higher number. If you do not, then longer will be needed to complete a backup (but that is all). Present limit is:"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: admin.php:782
|
439 |
msgid "seconds"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: admin.php:787
|
443 |
msgid "You have old directories from a previous backup (technical information: these are found in wp-content, and suffixed with -old). Use this button to delete them (if you have verified that the restoration worked)."
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: admin.php:791
|
447 |
msgid "Delete Old Directories"
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: admin.php:791
|
451 |
msgid "Are you sure you want to delete the old directories? This cannot be undone."
|
452 |
msgstr ""
|
453 |
|
454 |
+
#: admin.php:805
|
455 |
msgid "Existing Schedule And Backups"
|
456 |
msgstr ""
|
457 |
|
458 |
+
#: admin.php:809
|
459 |
msgid "JavaScript warning"
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: admin.php:810
|
463 |
msgid "This admin interface uses JavaScript heavily. You either need to activate it within your browser, or to use a JavaScript-capable browser."
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: admin.php:823
|
467 |
+
#: admin.php:836
|
468 |
msgid "Nothing currently scheduled"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: admin.php:828
|
472 |
msgid "At the same time as the files backup"
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: admin.php:848
|
476 |
msgid "All the times shown in this section are using WordPress's configured time zone, which you can set in Settings -> General"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: admin.php:848
|
480 |
msgid "Next scheduled backups"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: admin.php:850
|
484 |
msgid "Files"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: admin.php:851
|
488 |
+
#: admin.php:1056
|
489 |
+
#: admin.php:1059
|
490 |
+
#: admin.php:1875
|
491 |
+
#: admin.php:1882
|
492 |
+
#: admin.php:2095
|
493 |
msgid "Database"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: admin.php:852
|
497 |
msgid "Time now"
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: admin.php:856
|
501 |
msgid "Last finished backup run"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: admin.php:861
|
505 |
+
#: admin.php:1659
|
506 |
msgid "Backup Now"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: admin.php:868
|
510 |
+
#: admin.php:1638
|
511 |
+
#: admin.php:1920
|
512 |
msgid "Restore"
|
513 |
msgstr ""
|
514 |
|
515 |
+
#: admin.php:875
|
516 |
msgid "Last log message"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: admin.php:877
|
520 |
msgid "(Nothing yet logged)"
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: admin.php:878
|
524 |
msgid "Download most recently modified log file"
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: admin.php:882
|
528 |
msgid "Backups, logs & restoring"
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: admin.php:883
|
532 |
msgid "Press to see available backups"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: admin.php:883
|
536 |
#, php-format
|
537 |
msgid "%d set(s) available"
|
538 |
msgstr ""
|
539 |
|
540 |
+
#: admin.php:889
|
541 |
+
msgid "Downloading and restoring"
|
542 |
+
msgstr ""
|
543 |
+
|
544 |
+
#: admin.php:891
|
545 |
msgid "Downloading"
|
546 |
msgstr ""
|
547 |
|
548 |
+
#: admin.php:891
|
549 |
msgid "Pressing a button for Database/Plugins/Themes/Uploads/Others will make UpdraftPlus try to bring the backup file back from the remote storage (if any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then you will be allowed to download it to your computer. If the fetch from the remote storage stops progressing (wait 30 seconds to make sure), then press again to resume. Remember that you can also visit the cloud storage vendor's website directly."
|
550 |
msgstr ""
|
551 |
|
552 |
+
#: admin.php:892
|
553 |
msgid "Restoring"
|
554 |
msgstr ""
|
555 |
|
556 |
+
#: admin.php:892
|
557 |
msgid "Press the button for the backup you wish to restore. If your site is large and you are using remote storage, then you should first click on each entity in order to retrieve it back to the webserver. This will prevent time-outs from occuring during the restore process itself."
|
558 |
msgstr ""
|
559 |
|
560 |
+
#: admin.php:892
|
561 |
msgid "More tasks:"
|
562 |
msgstr ""
|
563 |
|
564 |
+
#: admin.php:892
|
565 |
msgid "upload backup files"
|
566 |
msgstr ""
|
567 |
|
568 |
+
#: admin.php:892
|
569 |
msgid "Press here to look inside your UpdraftPlus directory (in your web hosting space) for any new backup sets that you have uploaded. The location of this directory is set in the expert settings, below."
|
570 |
msgstr ""
|
571 |
|
572 |
+
#: admin.php:892
|
573 |
msgid "rescan folder for new backup sets"
|
574 |
msgstr ""
|
575 |
|
576 |
+
#: admin.php:893
|
577 |
msgid "Opera web browser"
|
578 |
msgstr ""
|
579 |
|
580 |
+
#: admin.php:893
|
581 |
msgid "If you are using this, then turn Turbo/Road mode off."
|
582 |
msgstr ""
|
583 |
|
584 |
+
#: admin.php:895
|
585 |
+
msgid "Google Drive"
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
+
#: admin.php:895
|
589 |
+
msgid "Google changed their permissions setup recently (April 2013). To download or restore from Google Drive, you <strong>must</strong> first re-authenticate (using the link in the Google Drive configuration section)."
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: admin.php:897
|
593 |
msgid "This is a count of the contents of your Updraft directory"
|
594 |
msgstr ""
|
595 |
|
596 |
+
#: admin.php:897
|
597 |
msgid "Web-server disk space in use by UpdraftPlus"
|
598 |
msgstr ""
|
599 |
|
600 |
+
#: admin.php:897
|
601 |
msgid "refresh"
|
602 |
msgstr ""
|
603 |
|
604 |
+
#: admin.php:899
|
605 |
msgid "UpdraftPlus - Upload backup files"
|
606 |
msgstr ""
|
607 |
|
608 |
+
#: admin.php:900
|
609 |
msgid "Upload files into UpdraftPlus. Use this to import backups made on a different WordPress installation."
|
610 |
msgstr ""
|
611 |
|
612 |
+
#: admin.php:900
|
613 |
+
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."
|
614 |
+
msgstr ""
|
615 |
+
|
616 |
+
#: admin.php:904
|
617 |
msgid "Drop backup zips here"
|
618 |
msgstr ""
|
619 |
|
620 |
+
#: admin.php:905
|
621 |
+
#: admin.php:1505
|
622 |
msgid "or"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: admin.php:918
|
626 |
+
#: admin.php:1205
|
627 |
msgid "calculating..."
|
628 |
msgstr ""
|
629 |
|
630 |
+
#: admin.php:947
|
631 |
+
msgid "Begun looking for this entity"
|
632 |
+
msgstr ""
|
633 |
+
|
634 |
+
#: admin.php:976
|
635 |
+
#: admin.php:998
|
636 |
msgid "Error:"
|
637 |
msgstr ""
|
638 |
|
639 |
+
#: admin.php:986
|
640 |
msgid "You should:"
|
641 |
msgstr ""
|
642 |
|
643 |
+
#: admin.php:993
|
644 |
msgid "Download error: the server sent us a response (JSON) which we did not understand"
|
645 |
msgstr ""
|
646 |
|
647 |
+
#: admin.php:998
|
648 |
msgid "Download error: the server sent us a response which we did not understand."
|
649 |
msgstr ""
|
650 |
|
651 |
+
#: admin.php:1013
|
652 |
+
msgid "Delete backup set"
|
653 |
+
msgstr ""
|
654 |
+
|
655 |
+
#: admin.php:1016
|
656 |
+
msgid "Are you sure that you wish to delete this backup set?"
|
657 |
+
msgstr ""
|
658 |
+
|
659 |
+
#: admin.php:1022
|
660 |
+
msgid "Delete from remote storage (if any)"
|
661 |
+
msgstr ""
|
662 |
+
|
663 |
+
#: admin.php:1023
|
664 |
+
msgid "Delete from UpdraftPlus's memory"
|
665 |
+
msgstr ""
|
666 |
+
|
667 |
+
#: admin.php:1028
|
668 |
msgid "Restore backup"
|
669 |
msgstr ""
|
670 |
|
671 |
+
#: admin.php:1029
|
672 |
msgid "Restore backup from"
|
673 |
msgstr ""
|
674 |
|
675 |
+
#: admin.php:1030
|
676 |
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)."
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: admin.php:1030
|
680 |
msgid "Choose the components to restore"
|
681 |
msgstr ""
|
682 |
|
683 |
+
#: admin.php:1039
|
684 |
msgid "Your web server has PHP's so-called safe_mode active."
|
685 |
msgstr ""
|
686 |
|
687 |
+
#: admin.php:1039
|
688 |
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, <a href=\"http://updraftplus.com/faqs/i-want-to-restore-but-have-either-cannot-or-have-failed-to-do-so-from-the-wp-admin-console/\">or to restore manually</a>."
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: admin.php:1052
|
692 |
#, php-format
|
693 |
msgid "The following entity cannot be restored automatically: \"%s\"."
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: admin.php:1052
|
697 |
msgid "You will need to restore it manually."
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: admin.php:1059
|
701 |
#, php-format
|
702 |
msgid "%s restoration options:"
|
703 |
msgstr ""
|
704 |
|
705 |
+
#: admin.php:1067
|
706 |
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"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: admin.php:1088
|
710 |
msgid "Do read this helpful article of useful things to know before restoring."
|
711 |
msgstr ""
|
712 |
|
713 |
+
#: admin.php:1091
|
714 |
+
msgid "Perform a one-time backup"
|
715 |
msgstr ""
|
716 |
|
717 |
+
#: admin.php:1092
|
718 |
+
msgid "To proceed, press 'Backup Now'. Then, watch the 'Last Log Message' field for activity after about 10 seconds. WordPress should start the backup running in the background."
|
719 |
msgstr ""
|
720 |
|
721 |
+
#: admin.php:1094
|
722 |
msgid "Does nothing happen when you schedule backups?"
|
723 |
msgstr ""
|
724 |
|
725 |
+
#: admin.php:1094
|
726 |
msgid "Go here for help."
|
727 |
msgstr ""
|
728 |
|
729 |
+
#: admin.php:1100
|
730 |
msgid "Multisite"
|
731 |
msgstr ""
|
732 |
|
733 |
+
#: admin.php:1104
|
734 |
msgid "Do you need WordPress Multisite support?"
|
735 |
msgstr ""
|
736 |
|
737 |
+
#: admin.php:1104
|
738 |
msgid "Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
739 |
msgstr ""
|
740 |
|
741 |
+
#: admin.php:1109
|
742 |
msgid "Configure Backup Contents And Schedule"
|
743 |
msgstr ""
|
744 |
|
745 |
+
#: admin.php:1115
|
746 |
msgid "Debug Information And Expert Options"
|
747 |
msgstr ""
|
748 |
|
749 |
+
#: admin.php:1118
|
750 |
+
msgid "Web server:"
|
751 |
+
msgstr ""
|
752 |
+
|
753 |
+
#: admin.php:1121
|
754 |
msgid "Peak memory usage"
|
755 |
msgstr ""
|
756 |
|
757 |
+
#: admin.php:1122
|
758 |
msgid "Current memory usage"
|
759 |
msgstr ""
|
760 |
|
761 |
+
#: admin.php:1123
|
762 |
msgid "PHP memory limit"
|
763 |
msgstr ""
|
764 |
|
765 |
+
#: admin.php:1124
|
766 |
+
#, php-format
|
767 |
+
msgid "%s version:"
|
768 |
+
msgstr ""
|
769 |
+
|
770 |
+
#: admin.php:1127
|
771 |
+
#: admin.php:1129
|
772 |
+
#: admin.php:1134
|
773 |
+
msgid "Yes"
|
774 |
+
msgstr ""
|
775 |
+
|
776 |
+
#: admin.php:1129
|
777 |
+
#: admin.php:1134
|
778 |
+
msgid "No"
|
779 |
+
msgstr ""
|
780 |
+
|
781 |
+
#: admin.php:1132
|
782 |
+
msgid "PHP has support for ZipArchive::addFile:"
|
783 |
+
msgstr ""
|
784 |
+
|
785 |
+
#: admin.php:1134
|
786 |
+
msgid "/usr/bin/zip can be executed:"
|
787 |
+
msgstr ""
|
788 |
+
|
789 |
+
#: admin.php:1136
|
790 |
+
msgid "Total (uncompressed) on-disk data:"
|
791 |
+
msgstr ""
|
792 |
+
|
793 |
+
#: admin.php:1137
|
794 |
+
msgid "N.B. This count is based upon what was, or was not, excluded the last time you saved the options."
|
795 |
+
msgstr ""
|
796 |
+
|
797 |
+
#: admin.php:1144
|
798 |
+
msgid "count"
|
799 |
+
msgstr ""
|
800 |
+
|
801 |
+
#: admin.php:1150
|
802 |
msgid "The buttons below will immediately execute a backup run, independently of WordPress's scheduler. If these work whilst your scheduled backups and the \"Backup Now\" button do absolutely nothing (i.e. not even produce a log file), then it means that your scheduler is broken. You should then disable all your other plugins, and try the \"Backup Now\" button. If that fails, then contact your web hosting company and ask them if they have disabled wp-cron. If it succeeds, then re-activate your other plugins one-by-one, and find the one that is the problem and report a bug to them."
|
803 |
msgstr ""
|
804 |
|
805 |
+
#: admin.php:1158
|
806 |
msgid "Debug Full Backup"
|
807 |
msgstr ""
|
808 |
|
809 |
+
#: admin.php:1158
|
810 |
msgid "This will cause an immediate backup. The page will stall loading until it finishes (ie, unscheduled)."
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: admin.php:1163
|
814 |
msgid "Debug Database Backup"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: admin.php:1163
|
818 |
msgid "This will cause an immediate DB backup. The page will stall loading until it finishes (ie, unscheduled). The backup may well run out of time; really this button is only helpful for checking that the backup is able to get through the initial stages, or for small WordPress sites.."
|
819 |
msgstr ""
|
820 |
|
821 |
+
#: admin.php:1169
|
822 |
msgid "Wipe Settings"
|
823 |
msgstr ""
|
824 |
|
825 |
+
#: admin.php:1170
|
826 |
msgid "This button will delete all UpdraftPlus settings (but not any of your existing backups from your cloud storage). You will then need to enter all your settings again. You can also do this before deactivating/deinstalling UpdraftPlus if you wish."
|
827 |
msgstr ""
|
828 |
|
829 |
+
#: admin.php:1173
|
830 |
msgid "Wipe All Settings"
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: admin.php:1173
|
834 |
msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?"
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: admin.php:1175
|
838 |
+
msgid "Active jobs"
|
839 |
+
msgstr ""
|
840 |
+
|
841 |
+
#: admin.php:1193
|
842 |
+
msgid "Unknown response:"
|
843 |
+
msgstr ""
|
844 |
+
|
845 |
+
#: admin.php:1242
|
846 |
+
#, php-format
|
847 |
+
msgid "%s: began at: %s; next resumption: %d (after %ss)"
|
848 |
+
msgstr ""
|
849 |
+
|
850 |
+
#: admin.php:1242
|
851 |
+
msgid "show log"
|
852 |
+
msgstr ""
|
853 |
+
|
854 |
+
#: admin.php:1242
|
855 |
+
msgid "delete schedule"
|
856 |
+
msgstr ""
|
857 |
+
|
858 |
+
#: admin.php:1249
|
859 |
+
msgid "(None)"
|
860 |
+
msgstr ""
|
861 |
+
|
862 |
+
#: admin.php:1272
|
863 |
+
#: admin.php:1628
|
864 |
msgid "Delete"
|
865 |
msgstr ""
|
866 |
|
867 |
+
#: admin.php:1314
|
868 |
+
msgid "The request to the filesystem to create the directory failed."
|
869 |
+
msgstr ""
|
870 |
+
|
871 |
+
#: admin.php:1328
|
872 |
+
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"
|
873 |
+
msgstr ""
|
874 |
+
|
875 |
+
#: admin.php:1332
|
876 |
+
msgid "The folder exists, but your webserver does not have permission to write to it."
|
877 |
+
msgstr ""
|
878 |
+
|
879 |
+
#: admin.php:1332
|
880 |
+
msgid "You will need to consult with your web hosting provider to find out to set permissions for a WordPress plugin to write to the directory."
|
881 |
+
msgstr ""
|
882 |
+
|
883 |
+
#: admin.php:1372
|
884 |
msgid "Download log file"
|
885 |
msgstr ""
|
886 |
|
887 |
+
#: admin.php:1378
|
888 |
msgid "No backup has been completed."
|
889 |
msgstr ""
|
890 |
|
891 |
+
#: admin.php:1395
|
892 |
msgid "File backup intervals"
|
893 |
msgstr ""
|
894 |
|
895 |
+
#: admin.php:1398
|
896 |
msgid "Manual"
|
897 |
msgstr ""
|
898 |
|
899 |
+
#: admin.php:1398
|
900 |
msgid "Every 4 hours"
|
901 |
msgstr ""
|
902 |
|
903 |
+
#: admin.php:1398
|
904 |
msgid "Every 8 hours"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: admin.php:1398
|
908 |
msgid "Every 12 hours"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: admin.php:1398
|
912 |
msgid "Daily"
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: admin.php:1398
|
916 |
msgid "Weekly"
|
917 |
msgstr ""
|
918 |
|
919 |
+
#: admin.php:1398
|
920 |
msgid "Fortnightly"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: admin.php:1398
|
924 |
msgid "Monthly"
|
925 |
msgstr ""
|
926 |
|
927 |
+
#: admin.php:1407
|
928 |
+
#: admin.php:1425
|
929 |
msgid "and retain this many backups"
|
930 |
msgstr ""
|
931 |
|
932 |
+
#: admin.php:1414
|
933 |
msgid "Database backup intervals"
|
934 |
msgstr ""
|
935 |
|
936 |
+
#: admin.php:1432
|
937 |
msgid "If you would like to automatically schedule backups, choose schedules from the dropdowns above. Backups will occur at the intervals specified. If the two schedules are the same, then the two backups will take place together. If you choose \"manual\" then you must click the \"Backup Now\" button whenever you wish a backup to occur."
|
938 |
msgstr ""
|
939 |
|
940 |
+
#: admin.php:1433
|
941 |
msgid "To fix the time at which a backup should take place,"
|
942 |
msgstr ""
|
943 |
|
944 |
+
#: admin.php:1433
|
945 |
msgid "e.g. if your server is busy at day and you want to run overnight"
|
946 |
msgstr ""
|
947 |
|
948 |
+
#: admin.php:1433
|
949 |
msgid "use the \"Fix Time\" add-on"
|
950 |
msgstr ""
|
951 |
|
952 |
+
#: admin.php:1437
|
953 |
msgid "Include in files backup"
|
954 |
msgstr ""
|
955 |
|
956 |
+
#: admin.php:1447
|
957 |
msgid "Any other directories found inside wp-content"
|
958 |
msgstr ""
|
959 |
|
960 |
+
#: admin.php:1453
|
961 |
msgid "Exclude these:"
|
962 |
msgstr ""
|
963 |
|
964 |
+
#: admin.php:1455
|
965 |
msgid "If entering multiple files/directories, then separate them with commas"
|
966 |
msgstr ""
|
967 |
|
968 |
+
#: admin.php:1481
|
969 |
msgid "The above directories are everything, except for WordPress core itself which you can download afresh from WordPress.org."
|
970 |
msgstr ""
|
971 |
|
972 |
+
#: admin.php:1481
|
973 |
msgid "Or, get the \"More Files\" add-on from our shop."
|
974 |
msgstr ""
|
975 |
|
976 |
+
#: admin.php:1481
|
977 |
msgid "Use WordShell for automatic backup, version control and patching"
|
978 |
msgstr ""
|
979 |
|
980 |
+
#: admin.php:1485
|
981 |
msgid "Email"
|
982 |
msgstr ""
|
983 |
|
984 |
+
#: admin.php:1486
|
985 |
msgid "Enter an address here to have a report sent (and the whole backup, if you choose) to it."
|
986 |
msgstr ""
|
987 |
|
988 |
+
#: admin.php:1490
|
989 |
msgid "Database encryption phrase"
|
990 |
msgstr ""
|
991 |
|
992 |
+
#: admin.php:1497
|
993 |
msgid "If you enter text here, it is used to encrypt 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> Presently, only the database file is encrypted. 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)."
|
994 |
msgstr ""
|
995 |
|
996 |
+
#: admin.php:1497
|
997 |
msgid "You can also decrypt a database manually here."
|
998 |
msgstr ""
|
999 |
|
1000 |
+
#: admin.php:1500
|
1001 |
msgid "Manually decrypt a database backup file"
|
1002 |
msgstr ""
|
1003 |
|
1004 |
+
#: admin.php:1504
|
1005 |
msgid "Drop encrypted database files (db.crypt.gz files) here to upload them for decryption"
|
1006 |
msgstr ""
|
1007 |
|
1008 |
+
#: admin.php:1507
|
1009 |
msgid "Use decryption key"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: admin.php:1521
|
1013 |
msgid "Copying Your Backup To Remote Storage"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: admin.php:1525
|
1017 |
msgid "Choose your remote storage"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: admin.php:1537
|
1021 |
msgid "None"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: admin.php:1606
|
1025 |
+
msgid "Rescanning (looking for backups that you have uploaded manually into the internal backup store)..."
|
1026 |
+
msgstr ""
|
1027 |
+
|
1028 |
+
#: admin.php:1631
|
1029 |
+
#: admin.php:1652
|
1030 |
+
#: admin.php:1678
|
1031 |
msgid "Cancel"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: admin.php:1661
|
1035 |
+
msgid "Requesting start of backup..."
|
1036 |
+
msgstr ""
|
1037 |
+
|
1038 |
+
#: admin.php:1705
|
1039 |
msgid "Advanced / Debugging Settings"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
+
#: admin.php:1708
|
1043 |
msgid "Debug mode"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
+
#: admin.php:1709
|
1047 |
msgid "Check this to receive more information and emails on the backup process - useful if something is going wrong. You <strong>must</strong> send us this log if you are filing a bug report."
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: admin.php:1712
|
1051 |
msgid "Expert settings"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: admin.php:1713
|
1055 |
msgid "Show expert settings"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: admin.php:1713
|
1059 |
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: admin.php:1720
|
1063 |
msgid "Delete local backup"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
+
#: admin.php:1721
|
1067 |
msgid "Uncheck this to prevent deletion of any superfluous backup files from your server after the backup run finishes (i.e. any files despatched remotely will also remain locally, and any files being kept locally will not be subject to the retention limits)."
|
1068 |
msgstr ""
|
1069 |
|
1070 |
+
#: admin.php:1726
|
1071 |
msgid "Backup directory"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: admin.php:1734
|
1075 |
msgid "Backup directory specified is writable, which is good."
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: admin.php:1736
|
1079 |
msgid "Backup directory specified is <b>not</b> writable, or does not exist."
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: admin.php:1736
|
1083 |
msgid "Click here to attempt to create the directory and set the permissions"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: admin.php:1736
|
1087 |
msgid "or, to reset this option"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: admin.php:1736
|
1091 |
msgid "click here"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
+
#: admin.php:1736
|
1095 |
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."
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: admin.php:1739
|
1099 |
msgid "This is where UpdraftPlus will write the zip files it creates initially. This directory must be writable by your web server. Typically you'll want to have it inside your wp-content folder (this is the default). <b>Do not</b> place it inside your uploads dir, as that will cause recursion issues (backups of backups of backups of...)."
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: admin.php:1743
|
1103 |
msgid "Use the server's SSL certificates"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: admin.php:1744
|
1107 |
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."
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: admin.php:1748
|
1111 |
msgid "Do not verify SSL certificates"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: admin.php:1749
|
1115 |
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."
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: admin.php:1749
|
1119 |
msgid "Note that not all cloud backup methods are necessarily using SSL authentication."
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: admin.php:1753
|
1123 |
msgid "Disable SSL entirely where possible"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: admin.php:1754
|
1127 |
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."
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: admin.php:1778
|
1131 |
msgid "Save Changes"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: admin.php:1788
|
1135 |
#, php-format
|
1136 |
msgid "Your web server's PHP installation does not included a required module (%s). Please contact your web hosting provider's support."
|
1137 |
msgstr ""
|
1138 |
|
1139 |
+
#: admin.php:1788
|
1140 |
#, php-format
|
1141 |
msgid "UpdraftPlus's %s module <strong>requires</strong> Curl. Your only options to get this working are 1) Install/enable curl or 2) Hire us or someone else to code additional support options into UpdraftPlus. 3) Wait, possibly forever, for someone else to do this."
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: admin.php:1794
|
1145 |
#, php-format
|
1146 |
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)."
|
1147 |
msgstr ""
|
1148 |
|
1149 |
+
#: admin.php:1796
|
1150 |
#, php-format
|
1151 |
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."
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: admin.php:1799
|
1155 |
#, php-format
|
1156 |
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."
|
1157 |
msgstr ""
|
1158 |
|
1159 |
+
#: admin.php:1871
|
1160 |
+
msgid "Delete this backup set"
|
1161 |
+
msgstr ""
|
1162 |
+
|
1163 |
+
#: admin.php:1900
|
1164 |
msgid "Press here to download"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
+
#: admin.php:1902
|
1168 |
#, php-format
|
1169 |
msgid "(No %s)"
|
1170 |
msgstr ""
|
1171 |
|
1172 |
+
#: admin.php:1912
|
1173 |
msgid "Backup Log"
|
1174 |
msgstr ""
|
1175 |
|
1176 |
+
#: admin.php:1920
|
1177 |
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
1178 |
msgstr ""
|
1179 |
|
1180 |
+
#: admin.php:2024
|
1181 |
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
1182 |
msgstr ""
|
1183 |
|
1184 |
+
#: admin.php:2053
|
1185 |
msgid "UpdraftPlus Restoration: Progress"
|
1186 |
msgstr ""
|
1187 |
|
1188 |
+
#: admin.php:2075
|
1189 |
msgid "ABORT: Could not find the information on which entities to restore."
|
1190 |
msgstr ""
|
1191 |
|
1192 |
+
#: admin.php:2076
|
1193 |
msgid "If making a request for support, please include this information:"
|
1194 |
msgstr ""
|
1195 |
|
1196 |
+
#: admin.php:2101
|
1197 |
msgid "This component was not selected for restoration - skipping."
|
1198 |
msgstr ""
|
1199 |
|
1200 |
+
#: admin.php:2109
|
1201 |
msgid "File is not locally present - needs retrieving from remote storage (for large files, it is better to do this in advance from the download console)"
|
1202 |
msgstr ""
|
1203 |
|
1204 |
+
#: admin.php:2115
|
1205 |
msgid "Archive is expected to be size:"
|
1206 |
msgstr ""
|
1207 |
|
1208 |
+
#: admin.php:2120
|
1209 |
msgid "ERROR"
|
1210 |
msgstr ""
|
1211 |
|
1212 |
+
#: admin.php:2123
|
1213 |
msgid "The backup records do not contain information about the proper size of this file."
|
1214 |
msgstr ""
|
1215 |
|
1216 |
+
#: admin.php:2138
|
1217 |
msgid "Error message"
|
1218 |
msgstr ""
|
1219 |
|
1220 |
+
#: admin.php:2144
|
1221 |
+
#: admin.php:2145
|
1222 |
msgid "Could not find one of the files for restoration"
|
1223 |
msgstr ""
|
1224 |
|
1231 |
msgstr ""
|
1232 |
|
1233 |
#: includes/updraft-restorer.php:7
|
1234 |
+
msgid "Copying this entity failed."
|
1235 |
msgstr ""
|
1236 |
|
1237 |
#: includes/updraft-restorer.php:8
|
1238 |
+
msgid "Unpacking backup..."
|
1239 |
msgstr ""
|
1240 |
|
1241 |
#: includes/updraft-restorer.php:9
|
1242 |
+
msgid "Decrypting database (can take a while)..."
|
1243 |
msgstr ""
|
1244 |
|
1245 |
#: includes/updraft-restorer.php:10
|
1246 |
+
msgid "Database successfully decrypted."
|
1247 |
msgstr ""
|
1248 |
|
1249 |
#: includes/updraft-restorer.php:11
|
1250 |
+
msgid "Moving old directory out of the way..."
|
1251 |
msgstr ""
|
1252 |
|
1253 |
#: includes/updraft-restorer.php:12
|
1254 |
+
msgid "Moving unpacked backup in place..."
|
1255 |
msgstr ""
|
1256 |
|
1257 |
#: includes/updraft-restorer.php:13
|
1258 |
+
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)..."
|
1259 |
msgstr ""
|
1260 |
|
1261 |
#: includes/updraft-restorer.php:14
|
1262 |
+
msgid "Cleaning up rubbish..."
|
1263 |
msgstr ""
|
1264 |
|
1265 |
#: includes/updraft-restorer.php:15
|
1266 |
+
msgid "Could not move old directory out of the way. Perhaps you already have -old directories that need deleting first?"
|
1267 |
msgstr ""
|
1268 |
|
1269 |
#: includes/updraft-restorer.php:16
|
1270 |
+
msgid "Could not delete old directory."
|
1271 |
msgstr ""
|
1272 |
|
1273 |
#: includes/updraft-restorer.php:17
|
1274 |
+
msgid "Could not move new directory into place. Check your wp-content/upgrade folder."
|
1275 |
+
msgstr ""
|
1276 |
+
|
1277 |
+
#: includes/updraft-restorer.php:18
|
1278 |
msgid "Failed to delete working directory after restoring."
|
1279 |
msgstr ""
|
1280 |
|
1281 |
+
#: includes/updraft-restorer.php:57
|
1282 |
msgid "Failed to create a temporary directory"
|
1283 |
msgstr ""
|
1284 |
|
1285 |
+
#: includes/updraft-restorer.php:75
|
1286 |
msgid "Failed to write out the decrypted database to the filesystem"
|
1287 |
msgstr ""
|
1288 |
|
1289 |
+
#: includes/updraft-restorer.php:126
|
1290 |
msgid "wp-config.php from backup: will restore as wp-config-backup.php"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: includes/updraft-restorer.php:130
|
1294 |
msgid "wp-config.php from backup: restoring (as per user's request)"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: includes/updraft-restorer.php:190
|
1298 |
msgid "Will not delete the archive after unpacking it, because there was no cloud storage for this backup"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: includes/updraft-restorer.php:218
|
1302 |
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."
|
1303 |
msgstr ""
|
1304 |
|
1305 |
+
#: includes/updraft-restorer.php:223
|
1306 |
msgid "Failed to find database file"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: includes/updraft-restorer.php:229
|
1310 |
msgid "Failed to open database file"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: includes/updraft-restorer.php:253
|
1314 |
msgid "Database access: Direct MySQL access is not available, so we are falling back to wpdb (this will be considerably slower)"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: includes/updraft-restorer.php:279
|
1318 |
+
msgid "Backup of:"
|
1319 |
+
msgstr ""
|
1320 |
+
|
1321 |
+
#: includes/updraft-restorer.php:283
|
1322 |
+
#: includes/updraft-restorer.php:301
|
1323 |
+
msgid "Old table prefix:"
|
1324 |
+
msgstr ""
|
1325 |
+
|
1326 |
+
#: includes/updraft-restorer.php:325
|
1327 |
msgid "Restoring table"
|
1328 |
msgstr ""
|
1329 |
|
1330 |
+
#: includes/updraft-restorer.php:328
|
1331 |
+
msgid "will restore as:"
|
1332 |
+
msgstr ""
|
1333 |
+
|
1334 |
+
#: includes/updraft-restorer.php:348
|
1335 |
#, php-format
|
1336 |
msgid "An error (%s) occured:"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
+
#: includes/updraft-restorer.php:348
|
1340 |
msgid "the database query being run was:"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
+
#: includes/updraft-restorer.php:351
|
1344 |
msgid "Too many database errors have occurred - aborting restoration (you will need to restore manually)"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
+
#: includes/updraft-restorer.php:358
|
1348 |
#, php-format
|
1349 |
msgid "Database lines processed: %d in %.2f seconds"
|
1350 |
msgstr ""
|
1351 |
|
1352 |
+
#: includes/updraft-restorer.php:370
|
1353 |
#, php-format
|
1354 |
msgid "Finished: lines processed: %d in %.2f seconds"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
+
#: includes/updraft-restorer.php:475
|
1358 |
+
#: includes/updraft-restorer.php:484
|
1359 |
+
#, php-format
|
1360 |
+
msgid "Table prefix has changed: changing %s table field(s) accordingly:"
|
1361 |
+
msgstr ""
|
1362 |
+
|
1363 |
+
#: includes/updraft-restorer.php:479
|
1364 |
+
#: includes/updraft-restorer.php:513
|
1365 |
+
msgid "OK"
|
1366 |
+
msgstr ""
|
1367 |
+
|
1368 |
+
#: includes/Dropbox/OAuth/Consumer/ConsumerAbstract.php:91
|
1369 |
+
#, php-format
|
1370 |
+
msgid "You need to re-authenticate with %s, as your existing credentials are not working."
|
1371 |
+
msgstr ""
|
1372 |
+
|
1373 |
#: methods/webdav.php:13
|
1374 |
#: methods/webdav.php:34
|
1375 |
#: methods/webdav.php:50
|
1405 |
msgstr ""
|
1406 |
|
1407 |
#: methods/googledrive.php:143
|
1408 |
+
#: methods/cloudfiles.php:473
|
1409 |
msgid "Success"
|
1410 |
msgstr ""
|
1411 |
|
1414 |
msgid "you have authenticated your %s account."
|
1415 |
msgstr ""
|
1416 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1417 |
#: methods/googledrive.php:159
|
1418 |
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
1419 |
msgstr ""
|
1433 |
msgid "Failed to upload to %s"
|
1434 |
msgstr ""
|
1435 |
|
|
|
|
|
|
|
|
|
1436 |
#: methods/googledrive.php:289
|
1437 |
#, php-format
|
1438 |
msgid "An error occurred during %s upload (see log for more details)"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
#: methods/googledrive.php:395
|
1464 |
+
#: methods/cloudfiles.php:358
|
1465 |
#, php-format
|
1466 |
msgid "%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts."
|
1467 |
msgstr ""
|
1518 |
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 Google."
|
1519 |
msgstr ""
|
1520 |
|
1521 |
+
#: methods/cloudfiles.php:53
|
1522 |
+
#: methods/cloudfiles.php:57
|
1523 |
+
#: methods/cloudfiles.php:238
|
1524 |
#: methods/cloudfiles.php:242
|
1525 |
+
#: methods/cloudfiles.php:453
|
1526 |
+
#: methods/cloudfiles.php:456
|
1527 |
+
#: methods/cloudfiles.php:459
|
|
|
1528 |
msgid "Cloud Files authentication failed"
|
1529 |
msgstr ""
|
1530 |
|
1531 |
+
#: methods/cloudfiles.php:61
|
1532 |
+
#: methods/cloudfiles.php:246
|
1533 |
+
#: methods/cloudfiles.php:264
|
1534 |
msgid "Cloud Files error - failed to create and access the container"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
+
#: methods/cloudfiles.php:88
|
1538 |
#, php-format
|
1539 |
msgid "%s Error: Failed to open local file"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: methods/cloudfiles.php:105
|
1543 |
+
#: methods/cloudfiles.php:147
|
1544 |
#, php-format
|
1545 |
msgid "%s Error: Failed to upload"
|
1546 |
msgstr ""
|
1547 |
|
1548 |
+
#: methods/cloudfiles.php:169
|
1549 |
msgid "Cloud Files error - failed to re-assemble chunks"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
+
#: methods/cloudfiles.php:178
|
1553 |
+
#: methods/cloudfiles.php:179
|
1554 |
msgid "Cloud Files error - failed to upload file"
|
1555 |
msgstr ""
|
1556 |
|
1557 |
+
#: methods/cloudfiles.php:292
|
1558 |
+
#: methods/cloudfiles.php:309
|
1559 |
msgid "Cloud Files Error"
|
1560 |
msgstr ""
|
1561 |
|
1562 |
+
#: methods/cloudfiles.php:292
|
1563 |
msgid "Error opening local file: Failed to download"
|
1564 |
msgstr ""
|
1565 |
|
1566 |
+
#: methods/cloudfiles.php:309
|
1567 |
msgid "Error downloading remote file: Failed to download ("
|
1568 |
msgstr ""
|
1569 |
|
1570 |
+
#: methods/cloudfiles.php:318
|
1571 |
msgid "Cloud Files error - no such file exists at Cloud Files"
|
1572 |
msgstr ""
|
1573 |
|
1574 |
+
#: methods/cloudfiles.php:322
|
1575 |
msgid "Cloud Files error - failed to download the file"
|
1576 |
msgstr ""
|
1577 |
|
1578 |
+
#: methods/cloudfiles.php:331
|
1579 |
msgid "Testing - Please Wait..."
|
1580 |
msgstr ""
|
1581 |
|
1582 |
+
#: methods/cloudfiles.php:345
|
1583 |
+
#: methods/cloudfiles.php:410
|
1584 |
#, php-format
|
1585 |
msgid "Test %s Settings"
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: methods/cloudfiles.php:366
|
1589 |
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."
|
1590 |
msgstr ""
|
1591 |
|
1592 |
+
#: methods/cloudfiles.php:366
|
1593 |
msgid "Also, you should read this important FAQ."
|
1594 |
msgstr ""
|
1595 |
|
1596 |
+
#: methods/cloudfiles.php:370
|
1597 |
msgid "US or UK Cloud"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
+
#: methods/cloudfiles.php:376
|
1601 |
msgid "US (default)"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
+
#: methods/cloudfiles.php:377
|
1605 |
msgid "UK"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
+
#: methods/cloudfiles.php:382
|
1609 |
msgid "Cloud Files username"
|
1610 |
msgstr ""
|
1611 |
|
1612 |
+
#: methods/cloudfiles.php:386
|
1613 |
msgid "Cloud Files API key"
|
1614 |
msgstr ""
|
1615 |
|
1616 |
+
#: methods/cloudfiles.php:390
|
1617 |
msgid "Cloud Files container"
|
1618 |
msgstr ""
|
1619 |
|
1620 |
+
#: methods/cloudfiles.php:400
|
1621 |
#, php-format
|
1622 |
msgid "UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative."
|
1623 |
msgstr ""
|
1624 |
|
1625 |
+
#: methods/cloudfiles.php:418
|
1626 |
+
#: methods/cloudfiles.php:423
|
1627 |
#, php-format
|
1628 |
msgid "Failure: No %s was given."
|
1629 |
msgstr ""
|
1630 |
|
1631 |
+
#: methods/cloudfiles.php:418
|
1632 |
msgid "API key"
|
1633 |
msgstr ""
|
1634 |
|
1635 |
+
#: methods/cloudfiles.php:423
|
1636 |
msgid "Username"
|
1637 |
msgstr ""
|
1638 |
|
1639 |
+
#: methods/cloudfiles.php:443
|
1640 |
msgid "Failure: No container details were given."
|
1641 |
msgstr ""
|
1642 |
|
1643 |
+
#: methods/cloudfiles.php:469
|
1644 |
msgid "Cloud Files error - we accessed the container, but failed to create a file within it"
|
1645 |
msgstr ""
|
1646 |
|
1647 |
+
#: methods/cloudfiles.php:473
|
1648 |
msgid "We accessed the container, and were able to create files within it."
|
1649 |
msgstr ""
|
1650 |
|
1668 |
msgid "The email address entered above will be used. If choosing \"E-Mail\", then <strong>be aware</strong> that mail servers tend to have size limits; typically around 10-20Mb; backups larger than any limits will not arrive. If you really need a large backup via email, then you could fund a new feature (to break the backup set into configurable-size pieces) - but the demand has not yet existed for such a feature."
|
1669 |
msgstr ""
|
1670 |
|
1671 |
+
#: methods/s3.php:145
|
1672 |
+
#, php-format
|
1673 |
+
msgid "%s upload: getting uploadID for multipart upload failed - see log file for more details"
|
1674 |
+
msgstr ""
|
1675 |
+
|
1676 |
+
#: methods/s3.php:168
|
1677 |
+
#, php-format
|
1678 |
+
msgid "%s error: file %s was shortened unexpectedly"
|
1679 |
+
msgstr ""
|
1680 |
+
|
1681 |
+
#: methods/s3.php:178
|
1682 |
+
#, php-format
|
1683 |
+
msgid "%s chunk %s: upload failed"
|
1684 |
msgstr ""
|
1685 |
|
1686 |
+
#: methods/s3.php:192
|
1687 |
#, php-format
|
1688 |
+
msgid "%s upload (%s): re-assembly failed (see log for more details)"
|
1689 |
msgstr ""
|
1690 |
|
1691 |
+
#: methods/s3.php:196
|
1692 |
#, php-format
|
1693 |
+
msgid "%s re-assembly error (%s): (see log file for more)"
|
1694 |
msgstr ""
|
1695 |
|
1696 |
+
#: methods/s3.php:208
|
1697 |
#, php-format
|
1698 |
+
msgid "%s Error: Failed to create bucket %s. Check your permissions and credentials."
|
1699 |
msgstr ""
|
1700 |
|
1701 |
+
#: methods/s3.php:271
|
1702 |
#, php-format
|
1703 |
+
msgid "%s Error: Failed to download %s. Check your permissions and credentials."
|
1704 |
msgstr ""
|
1705 |
|
1706 |
+
#: methods/s3.php:275
|
1707 |
#, php-format
|
1708 |
+
msgid "%s Error: Failed to access bucket %s. Check your permissions and credentials."
|
1709 |
msgstr ""
|
1710 |
|
1711 |
+
#: methods/s3.php:289
|
1712 |
#, php-format
|
1713 |
+
msgid "Testing %s Settings..."
|
1714 |
msgstr ""
|
1715 |
|
1716 |
+
#: methods/s3.php:326
|
1717 |
+
#, php-format
|
1718 |
+
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."
|
1719 |
msgstr ""
|
1720 |
|
1721 |
+
#: methods/s3.php:326
|
1722 |
msgid "If you see errors about SSL certificates, then please go here for help."
|
1723 |
msgstr ""
|
1724 |
|
1725 |
+
#: methods/s3.php:329
|
1726 |
+
#, php-format
|
1727 |
+
msgid "%s access key"
|
1728 |
+
msgstr ""
|
1729 |
+
|
1730 |
+
#: methods/s3.php:333
|
1731 |
+
#, php-format
|
1732 |
+
msgid "%s secret key"
|
1733 |
msgstr ""
|
1734 |
|
1735 |
+
#: methods/s3.php:337
|
1736 |
+
#, php-format
|
1737 |
+
msgid "%s location"
|
1738 |
msgstr ""
|
1739 |
|
1740 |
+
#: methods/s3.php:338
|
1741 |
+
msgid "Enter only a bucket name or a bucket and path. Examples: mybucket, mybucket/mypath"
|
1742 |
msgstr ""
|
1743 |
|
1744 |
+
#: methods/s3.php:365
|
1745 |
msgid "API secret"
|
1746 |
msgstr ""
|
1747 |
|
1748 |
+
#: methods/s3.php:385
|
1749 |
msgid "Failure: No bucket details were given."
|
1750 |
msgstr ""
|
1751 |
|
1752 |
+
#: methods/s3.php:396
|
1753 |
+
msgid "Region"
|
1754 |
msgstr ""
|
1755 |
|
1756 |
+
#: methods/s3.php:406
|
1757 |
+
#, php-format
|
1758 |
+
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)."
|
1759 |
msgstr ""
|
1760 |
|
1761 |
+
#: methods/s3.php:417
|
1762 |
+
#: methods/s3.php:428
|
1763 |
msgid "Failure"
|
1764 |
msgstr ""
|
1765 |
|
1766 |
+
#: methods/s3.php:417
|
1767 |
+
#: methods/s3.php:428
|
1768 |
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
1769 |
msgstr ""
|
1770 |
|
1771 |
+
#: methods/s3.php:419
|
1772 |
msgid "We accessed the bucket, and were able to create files within it."
|
1773 |
msgstr ""
|
1774 |
|
1775 |
+
#: methods/s3.php:421
|
1776 |
#, php-format
|
1777 |
msgid "The communication with %s was encrypted."
|
1778 |
msgstr ""
|
1779 |
|
1780 |
+
#: methods/s3.php:423
|
1781 |
#, php-format
|
1782 |
msgid "The communication with %s was not encrypted."
|
1783 |
msgstr ""
|
1788 |
msgstr ""
|
1789 |
|
1790 |
#: methods/dropbox.php:41
|
1791 |
+
#: methods/dropbox.php:208
|
1792 |
msgid "You do not appear to be authenticated with Dropbox"
|
1793 |
msgstr ""
|
1794 |
|
1797 |
msgid "error: %s (see log file for more)"
|
1798 |
msgstr ""
|
1799 |
|
1800 |
+
#: methods/dropbox.php:139
|
1801 |
+
#: methods/dropbox.php:144
|
1802 |
#, php-format
|
1803 |
msgid "error: failed to upload file to %s (see log file for more)"
|
1804 |
msgstr ""
|
1805 |
|
1806 |
+
#: methods/dropbox.php:264
|
1807 |
msgid "Need to use sub-folders?"
|
1808 |
msgstr ""
|
1809 |
|
1810 |
+
#: methods/dropbox.php:264
|
1811 |
msgid "Backups are saved in"
|
1812 |
msgstr ""
|
1813 |
|
1814 |
+
#: methods/dropbox.php:264
|
1815 |
msgid "If you back up several sites into the same Dropbox and want to organise with sub-folders, then "
|
1816 |
msgstr ""
|
1817 |
|
1818 |
+
#: methods/dropbox.php:264
|
1819 |
msgid "there's an add-on for that."
|
1820 |
msgstr ""
|
1821 |
|
1822 |
+
#: methods/dropbox.php:269
|
1823 |
msgid "Authenticate with Dropbox"
|
1824 |
msgstr ""
|
1825 |
|
1826 |
+
#: methods/dropbox.php:270
|
1827 |
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 Dropbox."
|
1828 |
msgstr ""
|
1829 |
|
1830 |
+
#: methods/dropbox.php:327
|
1831 |
#, php-format
|
1832 |
msgid "you have authenticated your %s account"
|
1833 |
msgstr ""
|
1834 |
|
1835 |
+
#: methods/dropbox.php:330
|
1836 |
msgid "though part of the returned information was not as expected - your mileage may vary"
|
1837 |
msgstr ""
|
1838 |
|
1839 |
+
#: methods/dropbox.php:333
|
1840 |
#, php-format
|
1841 |
msgid "Your %s account name: %s"
|
1842 |
msgstr ""
|
1843 |
|
1844 |
+
#: methods/ftp.php:44
|
1845 |
+
#: methods/ftp.php:96
|
1846 |
msgid "FTP login failure"
|
1847 |
msgstr ""
|
1848 |
|
1849 |
+
#: methods/ftp.php:63
|
1850 |
msgid "FTP upload failed"
|
1851 |
msgstr ""
|
1852 |
|
1853 |
+
#: methods/ftp.php:131
|
1854 |
msgid "Settings test result"
|
1855 |
msgstr ""
|
1856 |
|
1857 |
+
#: methods/ftp.php:147
|
1858 |
msgid "Only non-encrypted FTP is supported by regular UpdraftPlus."
|
1859 |
msgstr ""
|
1860 |
|
1861 |
+
#: methods/ftp.php:147
|
1862 |
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
1863 |
msgstr ""
|
1864 |
|
1865 |
+
#: methods/ftp.php:151
|
1866 |
msgid "FTP Server"
|
1867 |
msgstr ""
|
1868 |
|
1869 |
+
#: methods/ftp.php:155
|
1870 |
msgid "FTP Login"
|
1871 |
msgstr ""
|
1872 |
|
1873 |
+
#: methods/ftp.php:159
|
1874 |
msgid "FTP Password"
|
1875 |
msgstr ""
|
1876 |
|
1877 |
+
#: methods/ftp.php:163
|
1878 |
msgid "Remote Path"
|
1879 |
msgstr ""
|
1880 |
|
1881 |
+
#: methods/ftp.php:164
|
1882 |
msgid "Needs to already exist"
|
1883 |
msgstr ""
|
1884 |
|
1885 |
+
#: methods/ftp.php:185
|
1886 |
msgid "Failure: No server details were given."
|
1887 |
msgstr ""
|
1888 |
|
1889 |
+
#: methods/ftp.php:200
|
1890 |
msgid "Failure: we did not successfully log in with those credentials."
|
1891 |
msgstr ""
|
1892 |
|
1893 |
+
#: methods/ftp.php:208
|
1894 |
msgid "Failure: an unexpected internal UpdraftPlus error occurred when testing the credentials - please contact the developer"
|
1895 |
msgstr ""
|
1896 |
|
1897 |
+
#: methods/ftp.php:212
|
1898 |
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
1899 |
msgstr ""
|
1900 |
|
1901 |
+
#: methods/ftp.php:215
|
1902 |
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
1903 |
msgstr ""
|
1904 |
|
1947 |
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
1948 |
msgstr ""
|
1949 |
|
1950 |
+
#: addons/morefiles.php:40
|
1951 |
+
#: addons/morefiles.php:253
|
1952 |
msgid "WordPress Core"
|
1953 |
msgstr ""
|
1954 |
|
1955 |
+
#: addons/morefiles.php:44
|
1956 |
msgid "Over-write wp-config.php"
|
1957 |
msgstr ""
|
1958 |
|
1959 |
+
#: addons/morefiles.php:44
|
1960 |
msgid "(learn more about this important option)"
|
1961 |
msgstr ""
|
1962 |
|
1963 |
+
#: addons/morefiles.php:63
|
1964 |
msgid "The above files comprise everything in a WordPress installation."
|
1965 |
msgstr ""
|
1966 |
|
1967 |
+
#: addons/morefiles.php:70
|
1968 |
msgid "WordPress core (including any additions to your WordPress root directory)"
|
1969 |
msgstr ""
|
1970 |
|
1971 |
+
#: addons/morefiles.php:82
|
1972 |
msgid "Any other directory on your server that you wish to back up"
|
1973 |
msgstr ""
|
1974 |
|
1975 |
+
#: addons/morefiles.php:83
|
1976 |
msgid "More Files"
|
1977 |
msgstr ""
|
1978 |
|
1979 |
+
#: addons/morefiles.php:98
|
1980 |
msgid "Enter the directory:"
|
1981 |
msgstr ""
|
1982 |
|
1983 |
+
#: addons/morefiles.php:102
|
1984 |
msgid "If you are not sure what this option is for, then you will not want it, and should turn it off."
|
1985 |
msgstr ""
|
1986 |
|
1987 |
+
#: addons/morefiles.php:102
|
1988 |
msgid "If using it, enter an absolute path (it is not relative to your WordPress install)."
|
1989 |
msgstr ""
|
1990 |
|
1991 |
+
#: addons/morefiles.php:104
|
1992 |
msgid "Be careful what you enter - if you enter / then it really will try to create a zip containing your entire webserver."
|
1993 |
msgstr ""
|
1994 |
|
1995 |
+
#: addons/morefiles.php:134
|
1996 |
msgid "If entering multiple files/directories, then separate them with commas."
|
1997 |
msgstr ""
|
1998 |
|
1999 |
+
#: addons/morefiles.php:176
|
2000 |
+
#: addons/morefiles.php:253
|
2001 |
#, php-format
|
2002 |
msgid "No backup of %s directories: there was nothing found to back up"
|
2003 |
msgstr ""
|
2004 |
|
2005 |
+
#: addons/morefiles.php:176
|
2006 |
msgid "more"
|
2007 |
msgstr ""
|
2008 |
|
2014 |
msgid "Some servers advertise encrypted FTP as available, but then time-out (after a long time, by which time when you attempt to use it. If you find this happenning, then go into the \"Expert Options\" (below) and turn off SSL there."
|
2015 |
msgstr ""
|
2016 |
|
2017 |
+
#: addons/sftp.php:23
|
2018 |
+
msgid "Explicit encryption is used by default. To force implicit encryption (port 990), add :990 to your FTP server below."
|
2019 |
+
msgstr ""
|
2020 |
+
|
2021 |
#: addons/sftp.php:30
|
2022 |
#: addons/sftp.php:31
|
2023 |
#: addons/sftp.php:32
|
2101 |
msgid "Enter in format HH:MM (e.g. 14:22)"
|
2102 |
msgstr ""
|
2103 |
|
2104 |
+
#: addons/multisite.php:121
|
2105 |
msgid "Multisite Install"
|
2106 |
msgstr ""
|
2107 |
|
2108 |
+
#: addons/multisite.php:127
|
2109 |
msgid "You do not have sufficient permissions to access this page."
|
2110 |
msgstr ""
|
2111 |
|
2112 |
+
#: addons/multisite.php:146
|
2113 |
msgid "You do not have permission to access this page."
|
2114 |
msgstr ""
|
2115 |
|
2116 |
+
#: addons/multisite.php:204
|
2117 |
msgid "Must-use plugins"
|
2118 |
msgstr ""
|
2119 |
|
2120 |
+
#: addons/multisite.php:205
|
2121 |
msgid "Blog uploads"
|
2122 |
msgstr ""
|
2123 |
|
2124 |
+
#: addons/migrator.php:25
|
2125 |
#, php-format
|
2126 |
msgid "All references to the site location in the database will be replaced with your current site URL, which is: %s"
|
2127 |
msgstr ""
|
2128 |
|
2129 |
+
#: addons/migrator.php:25
|
2130 |
msgid "Search and replace site location in the database (migrate)"
|
2131 |
msgstr ""
|
2132 |
|
2133 |
+
#: addons/migrator.php:25
|
2134 |
msgid "(learn more)"
|
2135 |
msgstr ""
|
2136 |
|
2137 |
+
#: addons/migrator.php:110
|
2138 |
+
#: addons/migrator.php:223
|
2139 |
+
#, php-format
|
2140 |
+
msgid "Failed: the %s operation was not able to start."
|
2141 |
+
msgstr ""
|
2142 |
+
|
2143 |
+
#: addons/migrator.php:112
|
2144 |
+
#: addons/migrator.php:225
|
2145 |
+
#, php-format
|
2146 |
+
msgid "Failed: we did not understand the result returned by the %s operation."
|
2147 |
+
msgstr ""
|
2148 |
+
|
2149 |
+
#: addons/migrator.php:133
|
2150 |
msgid "Database: search and replace site URL"
|
2151 |
msgstr ""
|
2152 |
|
2153 |
+
#: addons/migrator.php:136
|
2154 |
msgid "This option was not selected."
|
2155 |
msgstr ""
|
2156 |
|
2157 |
+
#: addons/migrator.php:149
|
2158 |
+
#: addons/migrator.php:154
|
2159 |
#, php-format
|
2160 |
msgid "Error: unexpected empty parameter (%s, %s)"
|
2161 |
msgstr ""
|
2162 |
|
2163 |
+
#: addons/migrator.php:159
|
2164 |
#, php-format
|
2165 |
msgid "Nothing to do: the site URL is already: %s"
|
2166 |
msgstr ""
|
2167 |
|
2168 |
+
#: addons/migrator.php:164
|
2169 |
#, php-format
|
2170 |
+
msgid "Warning: the database's site URL (%s) is different to what we expected (%s)"
|
2171 |
msgstr ""
|
2172 |
|
2173 |
+
#: addons/migrator.php:171
|
2174 |
#, php-format
|
2175 |
+
msgid "Database search and replace: replace %s in backup dump with %s"
|
2176 |
+
msgstr ""
|
2177 |
+
|
2178 |
+
#: addons/migrator.php:190
|
2179 |
+
msgid "Could not get list of tables"
|
2180 |
msgstr ""
|
2181 |
|
2182 |
+
#: addons/migrator.php:201
|
2183 |
#, php-format
|
2184 |
+
msgid "<strong>Search and replacing table:</strong> %s: already done"
|
2185 |
msgstr ""
|
2186 |
|
2187 |
+
#: addons/migrator.php:242
|
2188 |
msgid "Tables examined:"
|
2189 |
msgstr ""
|
2190 |
|
2191 |
+
#: addons/migrator.php:243
|
2192 |
msgid "Rows examined:"
|
2193 |
msgstr ""
|
2194 |
|
2195 |
+
#: addons/migrator.php:244
|
2196 |
msgid "Changes made:"
|
2197 |
msgstr ""
|
2198 |
|
2199 |
+
#: addons/migrator.php:245
|
2200 |
msgid "SQL update commands run:"
|
2201 |
msgstr ""
|
2202 |
|
2203 |
+
#: addons/migrator.php:246
|
2204 |
msgid "Errors:"
|
2205 |
msgstr ""
|
2206 |
|
2207 |
+
#: addons/migrator.php:247
|
2208 |
msgid "Time taken (seconds):"
|
2209 |
msgstr ""
|
2210 |
|
2211 |
+
#: addons/migrator.php:305
|
2212 |
+
#, php-format
|
2213 |
+
msgid "Search and replacing table: %s"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2214 |
msgstr ""
|
2215 |
|
2216 |
+
#: addons/migrator.php:334
|
2217 |
#, php-format
|
2218 |
msgid "rows: %d"
|
2219 |
msgstr ""
|
2220 |
|
2221 |
+
#: addons/migrator.php:399
|
2222 |
#, php-format
|
2223 |
msgid "\"%s\" has no primary key, manual change needed on row %s."
|
2224 |
msgstr ""
|
methods/cloudfiles.php
CHANGED
@@ -358,7 +358,19 @@ class UpdraftPlus_BackupModule_cloudfiles {
|
|
358 |
<p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),'Rackspace Cloud Files');?></em></p></td>
|
359 |
</tr>
|
360 |
|
361 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
362 |
|
363 |
<tr class="updraftplusmethod cloudfiles">
|
364 |
<th></th>
|
@@ -391,20 +403,6 @@ class UpdraftPlus_BackupModule_cloudfiles {
|
|
391 |
<td><input type="text" style="width: 252px" name="updraft_cloudfiles_path" id="updraft_cloudfiles_path" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_cloudfiles_path')); ?>" /></td>
|
392 |
</tr>
|
393 |
|
394 |
-
<tr class="updraftplusmethod cloudfiles">
|
395 |
-
<th></th>
|
396 |
-
<td>
|
397 |
-
<?php
|
398 |
-
// Check requirements.
|
399 |
-
if (!function_exists('mb_substr')) {
|
400 |
-
?><p><strong><?php _e('Warning','updraftplus'); ?>:</strong> <?php echo sprintf(__('Your web server\'s PHP installation does not included a required module (%s). Please contact your web hosting provider\'s support.', 'updraftplus'), 'mbstring'); ?> <?php echo sprintf(__("UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative.",'updraftplus'),'Cloud Files', 'mbstring');?></p><?php
|
401 |
-
}
|
402 |
-
global $updraftplus_admin;
|
403 |
-
$updraftplus_admin->curl_check('Rackspace Cloud Files', false);
|
404 |
-
?>
|
405 |
-
</td>
|
406 |
-
</tr>
|
407 |
-
|
408 |
<tr class="updraftplusmethod cloudfiles">
|
409 |
<th></th>
|
410 |
<td><p><button id="updraft-cloudfiles-test" type="button" class="button-primary" style="font-size:18px !important"><?php echo sprintf(__('Test %s Settings','updraftplus'),'Cloud Files');?></button></p></td>
|
@@ -424,7 +422,7 @@ class UpdraftPlus_BackupModule_cloudfiles {
|
|
424 |
return;
|
425 |
}
|
426 |
|
427 |
-
$key = $_POST['apikey'];
|
428 |
$user = $_POST['user'];
|
429 |
$path = $_POST['path'];
|
430 |
$authurl = $_POST['authurl'];
|
@@ -460,10 +458,11 @@ class UpdraftPlus_BackupModule_cloudfiles {
|
|
460 |
die;
|
461 |
}
|
462 |
|
463 |
-
$try_file = md5(rand());
|
464 |
|
465 |
try {
|
466 |
$object = $cont_obj->create_object($try_file);
|
|
|
467 |
$object->write('UpdraftPlus test file');
|
468 |
} catch (Exception $e) {
|
469 |
echo __('Cloud Files error - we accessed the container, but failed to create a file within it', 'updraftplus').' ('.$e->getMessage().')';
|
358 |
<p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),'Rackspace Cloud Files');?></em></p></td>
|
359 |
</tr>
|
360 |
|
361 |
+
<tr class="updraftplusmethod cloudfiles">
|
362 |
+
<th></th>
|
363 |
+
<td>
|
364 |
+
<?php
|
365 |
+
// Check requirements.
|
366 |
+
global $updraftplus_admin;
|
367 |
+
if (!function_exists('mb_substr')) {
|
368 |
+
$updraftplus_admin->show_double_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('Your web server\'s PHP installation does not included a required module (%s). Please contact your web hosting provider\'s support.', 'updraftplus'), 'mbstring').' '.sprintf(__("UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative.",'updraftplus'),'Cloud Files', 'mbstring'), 'cloudfiles');
|
369 |
+
}
|
370 |
+
$updraftplus_admin->curl_check('Rackspace Cloud Files', false, 'cloudfiles');
|
371 |
+
?>
|
372 |
+
</td>
|
373 |
+
</tr>
|
374 |
|
375 |
<tr class="updraftplusmethod cloudfiles">
|
376 |
<th></th>
|
403 |
<td><input type="text" style="width: 252px" name="updraft_cloudfiles_path" id="updraft_cloudfiles_path" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_cloudfiles_path')); ?>" /></td>
|
404 |
</tr>
|
405 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
406 |
<tr class="updraftplusmethod cloudfiles">
|
407 |
<th></th>
|
408 |
<td><p><button id="updraft-cloudfiles-test" type="button" class="button-primary" style="font-size:18px !important"><?php echo sprintf(__('Test %s Settings','updraftplus'),'Cloud Files');?></button></p></td>
|
422 |
return;
|
423 |
}
|
424 |
|
425 |
+
$key = stripslashes($_POST['apikey']);
|
426 |
$user = $_POST['user'];
|
427 |
$path = $_POST['path'];
|
428 |
$authurl = $_POST['authurl'];
|
458 |
die;
|
459 |
}
|
460 |
|
461 |
+
$try_file = md5(rand()).'.txt';
|
462 |
|
463 |
try {
|
464 |
$object = $cont_obj->create_object($try_file);
|
465 |
+
$object->content_type = "text/plain";
|
466 |
$object->write('UpdraftPlus test file');
|
467 |
} catch (Exception $e) {
|
468 |
echo __('Cloud Files error - we accessed the container, but failed to create a file within it', 'updraftplus').' ('.$e->getMessage().')';
|
methods/dreamobjects.php
ADDED
@@ -0,0 +1,35 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
require_once(UPDRAFTPLUS_DIR.'/methods/s3.php');
|
4 |
+
|
5 |
+
class UpdraftPlus_BackupModule_dreamobjects extends UpdraftPlus_BackupModule_s3 {
|
6 |
+
|
7 |
+
function set_endpoint($obj, $region) {
|
8 |
+
$obj->setEndpoint('objects.dreamhost.com');
|
9 |
+
}
|
10 |
+
|
11 |
+
function get_config() {
|
12 |
+
return array(
|
13 |
+
'login' => UpdraftPlus_Options::get_updraft_option('updraft_dreamobjects_login'),
|
14 |
+
'pass' => UpdraftPlus_Options::get_updraft_option('updraft_dreamobjects_pass'),
|
15 |
+
'remote_path' => UpdraftPlus_Options::get_updraft_option('updraft_dreamobjects_remote_path'),
|
16 |
+
'whoweare' => 'DreamObjects',
|
17 |
+
'whoweare_long' => 'DreamObjects',
|
18 |
+
'key' => 'dreamobjects'
|
19 |
+
);
|
20 |
+
}
|
21 |
+
|
22 |
+
public static function config_print() {
|
23 |
+
self::config_print_engine('dreamobjects', 'DreamObjects', 'DreamObjects', 'DreamObjects', 'https://panel.dreamhost.com/index.cgi?tree=storage.dreamhostobjects', '<a href="http://dreamhost.com/cloud/dreamobjects/"><img alt="DreamObjects" src="'.UPDRAFTPLUS_URL.'/images/dreamobjects_logo-horiz-2013.png"></a>');
|
24 |
+
}
|
25 |
+
|
26 |
+
public static function config_print_javascript_onready() {
|
27 |
+
self::config_print_javascript_onready_engine('dreamobjects', 'DreamObjects');
|
28 |
+
}
|
29 |
+
|
30 |
+
public static function credentials_test() {
|
31 |
+
self::credentials_test_engine(self::get_config());
|
32 |
+
}
|
33 |
+
|
34 |
+
}
|
35 |
+
?>
|
methods/dropbox.php
CHANGED
@@ -11,8 +11,8 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
11 |
global $updraftplus;
|
12 |
|
13 |
// Update upload ID
|
14 |
-
|
15 |
-
|
16 |
|
17 |
if ($this->current_file_size > 0) {
|
18 |
$percent = round(100*($offset/$this->current_file_size),1);
|
@@ -50,7 +50,6 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
50 |
} catch (Exception $e) {
|
51 |
$updraftplus->log('Dropbox error: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
52 |
$updraftplus->error('Dropbox ',sprintf(__('error: %s (see log file for more)','updraftplus'), $e->getMessage()));
|
53 |
-
|
54 |
return false;
|
55 |
}
|
56 |
|
@@ -106,9 +105,9 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
106 |
$filesize = $filesize/1024;
|
107 |
$microtime = microtime(true);
|
108 |
|
109 |
-
if ($upload_id =
|
110 |
# Resume
|
111 |
-
$offset =
|
112 |
$updraftplus->log("This is a resumption: $offset bytes had already been uploaded");
|
113 |
} else {
|
114 |
$offset = 0;
|
@@ -152,8 +151,8 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
152 |
$speedps = $filesize/$microtime_elapsed;
|
153 |
$speed = sprintf("%.2d",$filesize)." Kb in ".sprintf("%.2d",$microtime_elapsed)."s (".sprintf("%.2d", $speedps)." Kb/s)";
|
154 |
$updraftplus->log("Dropbox: File upload success (".$file."): $speed");
|
155 |
-
|
156 |
-
|
157 |
}
|
158 |
|
159 |
}
|
@@ -260,6 +259,23 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
260 |
</td>
|
261 |
</tr>
|
262 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
263 |
<?php
|
264 |
|
265 |
$defmsg = '<tr class="updraftplusmethod dropbox"><td></td><td><strong>'.__('Need to use sub-folders?','updraftplus').'</strong> '.__('Backups are saved in','updraftplus').' apps/UpdraftPlus. '.__('If you back up several sites into the same Dropbox and want to organise with sub-folders, then ','updraftplus').'<a href="http://updraftplus.com/shop/">'.__("there's an add-on for that.",'updraftplus').'</a></td></tr>';
|
@@ -273,20 +289,6 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
273 |
</td>
|
274 |
</tr>
|
275 |
|
276 |
-
<tr class="updraftplusmethod dropbox">
|
277 |
-
<th></th>
|
278 |
-
<td>
|
279 |
-
<?php
|
280 |
-
// Check requirements.
|
281 |
-
if (!function_exists('mcrypt_encrypt')) {
|
282 |
-
?><p><strong><?php _e('Warning','updraftplus'); ?>:</strong> <?php echo sprintf(__('Your web server\'s PHP installation does not included a required module (%s). Please contact your web hosting provider\'s support.', 'updraftplus'), 'mcrypt'); ?> <?php echo sprintf(__("UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative.",'updraftplus'),'Dropbox', 'mcrypt');?></p><?php
|
283 |
-
}
|
284 |
-
global $updraftplus_admin;
|
285 |
-
$updraftplus_admin->curl_check('Dropbox', false);
|
286 |
-
?>
|
287 |
-
</td>
|
288 |
-
</tr>
|
289 |
-
|
290 |
<?php
|
291 |
// Legacy: only show this next setting to old users who had a setting stored
|
292 |
if (UpdraftPlus_Options::get_updraft_option('updraft_dropbox_appkey')) {
|
11 |
global $updraftplus;
|
12 |
|
13 |
// Update upload ID
|
14 |
+
$updraftplus->jobdata_set('updraf_dbid_'.$this->current_file_hash, $uploadid);
|
15 |
+
$updraftplus->jobdata_set('updraf_dbof_'.$this->current_file_hash, $offset);
|
16 |
|
17 |
if ($this->current_file_size > 0) {
|
18 |
$percent = round(100*($offset/$this->current_file_size),1);
|
50 |
} catch (Exception $e) {
|
51 |
$updraftplus->log('Dropbox error: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
52 |
$updraftplus->error('Dropbox ',sprintf(__('error: %s (see log file for more)','updraftplus'), $e->getMessage()));
|
|
|
53 |
return false;
|
54 |
}
|
55 |
|
105 |
$filesize = $filesize/1024;
|
106 |
$microtime = microtime(true);
|
107 |
|
108 |
+
if ($upload_id = $updraftplus->jobdata_get('updraf_dbid_'.$hash)) {
|
109 |
# Resume
|
110 |
+
$offset = $updraftplus->jobdata_get('updraf_dbof_'.$hash);
|
111 |
$updraftplus->log("This is a resumption: $offset bytes had already been uploaded");
|
112 |
} else {
|
113 |
$offset = 0;
|
151 |
$speedps = $filesize/$microtime_elapsed;
|
152 |
$speed = sprintf("%.2d",$filesize)." Kb in ".sprintf("%.2d",$microtime_elapsed)."s (".sprintf("%.2d", $speedps)." Kb/s)";
|
153 |
$updraftplus->log("Dropbox: File upload success (".$file."): $speed");
|
154 |
+
$updraftplus->jobdata_delete('updraft_duido_'.$hash);
|
155 |
+
$updraftplus->jobdata_delete('updraft_duidi_'.$hash);
|
156 |
}
|
157 |
|
158 |
}
|
259 |
</td>
|
260 |
</tr>
|
261 |
|
262 |
+
<tr class="updraftplusmethod dropbox">
|
263 |
+
<th></th>
|
264 |
+
<td>
|
265 |
+
<?php
|
266 |
+
// Check requirements.
|
267 |
+
global $updraftplus_admin;
|
268 |
+
if (!function_exists('mcrypt_encrypt')) {
|
269 |
+
$updraftplus_admin->show_double_warning('<strong>'.__('Warning','updraftplus').':</strong> '. sprintf(__('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.', 'updraftplus'), 'mcrypt'));
|
270 |
+
/*
|
271 |
+
.' '.sprintf(__("UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative.",'updraftplus'),'Dropbox', 'mcrypt'), 'dropbox')
|
272 |
+
*/
|
273 |
+
}
|
274 |
+
$updraftplus_admin->curl_check('Dropbox', false, 'dropbox');
|
275 |
+
?>
|
276 |
+
</td>
|
277 |
+
</tr>
|
278 |
+
|
279 |
<?php
|
280 |
|
281 |
$defmsg = '<tr class="updraftplusmethod dropbox"><td></td><td><strong>'.__('Need to use sub-folders?','updraftplus').'</strong> '.__('Backups are saved in','updraftplus').' apps/UpdraftPlus. '.__('If you back up several sites into the same Dropbox and want to organise with sub-folders, then ','updraftplus').'<a href="http://updraftplus.com/shop/">'.__("there's an add-on for that.",'updraftplus').'</a></td></tr>';
|
289 |
</td>
|
290 |
</tr>
|
291 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
<?php
|
293 |
// Legacy: only show this next setting to old users who had a setting stored
|
294 |
if (UpdraftPlus_Options::get_updraft_option('updraft_dropbox_appkey')) {
|
methods/email.php
CHANGED
@@ -12,7 +12,9 @@ class UpdraftPlus_BackupModule_email {
|
|
12 |
|
13 |
foreach ($backup_array as $type => $file) {
|
14 |
$fullpath = $updraft_dir.$file;
|
15 |
-
|
|
|
|
|
16 |
$updraftplus->uploaded_file($file);
|
17 |
}
|
18 |
$updraftplus->prune_retained_backups("email", null, null);
|
12 |
|
13 |
foreach ($backup_array as $type => $file) {
|
14 |
$fullpath = $updraft_dir.$file;
|
15 |
+
foreach (explode(',', UpdraftPlus_Options::get_updraft_option('updraft_email')) as $sendmail_addr) {
|
16 |
+
wp_mail(trim($sendmail_addr), __("WordPress Backup",'updraftplus')." ".date('Y-m-d H:i',$updraftplus->backup_time), __("Backup is of:",'updraftplus')." ".$type.". ".__('Be wary; email backups may fail because of file size limitations on mail servers.','updraftplus'), null, array($fullpath));
|
17 |
+
}
|
18 |
$updraftplus->uploaded_file($file);
|
19 |
}
|
20 |
$updraftplus->prune_retained_backups("email", null, null);
|
methods/ftp.php
CHANGED
@@ -173,8 +173,8 @@ class UpdraftPlus_BackupModule_ftp {
|
|
173 |
public static function credentials_test() {
|
174 |
|
175 |
$server = $_POST['server'];
|
176 |
-
$login = $_POST['login'];
|
177 |
-
$pass = $_POST['pass'];
|
178 |
$path = $_POST['path'];
|
179 |
$nossl = $_POST['nossl'];
|
180 |
|
@@ -219,4 +219,4 @@ class UpdraftPlus_BackupModule_ftp {
|
|
219 |
|
220 |
}
|
221 |
|
222 |
-
?>
|
173 |
public static function credentials_test() {
|
174 |
|
175 |
$server = $_POST['server'];
|
176 |
+
$login = stripslashes($_POST['login']);
|
177 |
+
$pass = stripslashes($_POST['pass']);
|
178 |
$path = $_POST['path'];
|
179 |
$nossl = $_POST['nossl'];
|
180 |
|
219 |
|
220 |
}
|
221 |
|
222 |
+
?>
|
methods/googledrive.php
CHANGED
@@ -117,7 +117,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
117 |
}
|
118 |
}
|
119 |
|
120 |
-
function show_authed_admin_success() {
|
121 |
|
122 |
global $updraftplus_admin;
|
123 |
|
@@ -236,7 +236,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
236 |
$hash = md5($file);
|
237 |
$transkey = 'upd_'.$hash.'_gloc';
|
238 |
// This is unset upon completion, so if it is set then we are resuming
|
239 |
-
$possible_location =
|
240 |
|
241 |
if ( empty( $possible_location ) ) {
|
242 |
$updraftplus->log("$file: Attempting to upload file to Google Drive.");
|
@@ -273,7 +273,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
273 |
$counter++; if ($counter >= 20) $counter=0;
|
274 |
|
275 |
$res = $gdocs_object->upload_chunk();
|
276 |
-
if (is_string($res))
|
277 |
$p = $gdocs_object->get_upload_percentage();
|
278 |
if ( $p - $d >= 1 ) {
|
279 |
$b = intval( $p - $d );
|
@@ -295,7 +295,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
295 |
|
296 |
$updraftplus->log("The file was successfully uploaded to Google Drive in ".number_format_i18n( $gdocs_object->time_taken(), 3)." seconds at an upload speed of ".size_format( $gdocs_object->get_upload_speed() )."/s.");
|
297 |
|
298 |
-
|
299 |
// unset( $this->options['backup_list'][$id]['location'], $this->options['backup_list'][$id]['attempt'] );
|
300 |
}
|
301 |
|
@@ -395,6 +395,20 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
395 |
<p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),'Google Drive');?></em></p>
|
396 |
</td>
|
397 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
398 |
<tr class="updraftplusmethod googledrive">
|
399 |
<th>Google Drive:</th>
|
400 |
<td>
|
117 |
}
|
118 |
}
|
119 |
|
120 |
+
public static function show_authed_admin_success() {
|
121 |
|
122 |
global $updraftplus_admin;
|
123 |
|
236 |
$hash = md5($file);
|
237 |
$transkey = 'upd_'.$hash.'_gloc';
|
238 |
// This is unset upon completion, so if it is set then we are resuming
|
239 |
+
$possible_location = $updraftplus->jobdata_get($transkey);
|
240 |
|
241 |
if ( empty( $possible_location ) ) {
|
242 |
$updraftplus->log("$file: Attempting to upload file to Google Drive.");
|
273 |
$counter++; if ($counter >= 20) $counter=0;
|
274 |
|
275 |
$res = $gdocs_object->upload_chunk();
|
276 |
+
if (is_string($res)) $updraftplus->jobdata_set($transkey, $res);
|
277 |
$p = $gdocs_object->get_upload_percentage();
|
278 |
if ( $p - $d >= 1 ) {
|
279 |
$b = intval( $p - $d );
|
295 |
|
296 |
$updraftplus->log("The file was successfully uploaded to Google Drive in ".number_format_i18n( $gdocs_object->time_taken(), 3)." seconds at an upload speed of ".size_format( $gdocs_object->get_upload_speed() )."/s.");
|
297 |
|
298 |
+
$updraftplus->jobdata_delete($transkey);
|
299 |
// unset( $this->options['backup_list'][$id]['location'], $this->options['backup_list'][$id]['attempt'] );
|
300 |
}
|
301 |
|
395 |
<p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),'Google Drive');?></em></p>
|
396 |
</td>
|
397 |
</tr>
|
398 |
+
|
399 |
+
<tr class="updraftplusmethod googledrive">
|
400 |
+
<th></th>
|
401 |
+
<td>
|
402 |
+
<?php
|
403 |
+
global $updraftplus_admin;
|
404 |
+
if (!class_exists('SimpleXMLElement')) {
|
405 |
+
$updraftplus_admin->show_double_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('Your web server\'s PHP installation does not included a required module (%s). Please contact your web hosting provider\'s support.', 'updraftplus'), 'SimpleXMLElement').' '.sprintf(__("UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative.",'updraftplus'),__('Google Drive', 'updraftplus'), 'SimpleXMLElement'), 'googledrive');
|
406 |
+
}
|
407 |
+
?>
|
408 |
+
|
409 |
+
</td>
|
410 |
+
</tr>
|
411 |
+
|
412 |
<tr class="updraftplusmethod googledrive">
|
413 |
<th>Google Drive:</th>
|
414 |
<td>
|
methods/s3.php
CHANGED
@@ -2,6 +2,17 @@
|
|
2 |
|
3 |
class UpdraftPlus_BackupModule_s3 {
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
// Get an S3 object, after setting our options
|
6 |
function getS3($key, $secret, $useservercerts, $disableverify, $nossl) {
|
7 |
global $updraftplus;
|
@@ -24,11 +35,11 @@ class UpdraftPlus_BackupModule_s3 {
|
|
24 |
$s3->SSLCACert = UPDRAFTPLUS_DIR.'/includes/cacert.pem';
|
25 |
}
|
26 |
} else {
|
27 |
-
$updraftplus->log("S3: Curl/SSL is not available. Communications
|
28 |
}
|
29 |
} else {
|
30 |
$s3->useSSL = false;
|
31 |
-
$updraftplus->log("SSL was disabled via the user's preference. Communications
|
32 |
}
|
33 |
return $s3;
|
34 |
}
|
@@ -55,16 +66,24 @@ class UpdraftPlus_BackupModule_s3 {
|
|
55 |
}
|
56 |
}
|
57 |
|
|
|
58 |
function backup($backup_array) {
|
59 |
|
60 |
global $updraftplus;
|
61 |
|
|
|
|
|
|
|
|
|
|
|
62 |
$s3 = $this->getS3(
|
63 |
-
|
|
|
|
|
64 |
UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl')
|
65 |
);
|
66 |
|
67 |
-
$bucket_name = untrailingslashit(
|
68 |
$bucket_path = "";
|
69 |
$orig_bucket_name = $bucket_name;
|
70 |
|
@@ -73,7 +92,7 @@ class UpdraftPlus_BackupModule_s3 {
|
|
73 |
$bucket_path = $bmatches[2]."/";
|
74 |
}
|
75 |
|
76 |
-
$region = @$s3->getBucketLocation($bucket_name);
|
77 |
|
78 |
// See if we can detect the region (which implies the bucket exists and is ours), or if not create it
|
79 |
if (!empty($region) || @$s3->putBucket($bucket_name, S3::ACL_PRIVATE)) {
|
@@ -94,98 +113,99 @@ class UpdraftPlus_BackupModule_s3 {
|
|
94 |
if ($orig_file_size % 5242880 > 0 ) $chunks++;
|
95 |
$hash = md5($file);
|
96 |
|
97 |
-
$updraftplus->log("
|
98 |
|
99 |
$filepath = $bucket_path.$file;
|
100 |
|
101 |
-
// This is extra code for the 1-chunk case, but less overhead (no bothering with
|
102 |
if ($chunks < 2) {
|
103 |
if (!$s3->putObjectFile($fullpath, $bucket_name, $filepath)) {
|
104 |
-
$updraftplus->log("
|
105 |
-
$updraftplus->error("$file: ".sprintf(__('%s Error: Failed to upload','updraftplus')
|
106 |
} else {
|
107 |
-
$updraftplus->log("
|
108 |
$updraftplus->uploaded_file($file);
|
109 |
}
|
110 |
} else {
|
111 |
|
112 |
// Retrieve the upload ID
|
113 |
-
$uploadId =
|
114 |
if (empty($uploadId)) {
|
115 |
$s3->setExceptions(true);
|
116 |
try {
|
117 |
$uploadId = $s3->initiateMultipartUpload($bucket_name, $filepath);
|
118 |
} catch (Exception $e) {
|
119 |
-
$updraftplus->log(
|
120 |
$uploadId = false;
|
121 |
}
|
122 |
$s3->setExceptions(false);
|
123 |
|
124 |
if (empty($uploadId)) {
|
125 |
-
$updraftplus->log("
|
126 |
-
$updraftplus->error(__("
|
127 |
continue;
|
128 |
} else {
|
129 |
-
$updraftplus->log("
|
130 |
-
|
131 |
}
|
132 |
} else {
|
133 |
-
$updraftplus->log("
|
134 |
}
|
135 |
|
136 |
$successes = 0;
|
137 |
$etags = array();
|
138 |
for ($i = 1 ; $i <= $chunks; $i++) {
|
139 |
# Shorted to upd here to avoid hitting the 45-character limit
|
140 |
-
$etag =
|
141 |
if (strlen($etag) > 0) {
|
142 |
-
$updraftplus->log("
|
143 |
$successes++;
|
144 |
array_push($etags, $etag);
|
145 |
} else {
|
146 |
// Sanity check: we've seen a case where an overlap was truncating the file from underneath us
|
147 |
if (filesize($fullpath) < $orig_file_size) {
|
148 |
-
$updraftplus->
|
|
|
149 |
}
|
150 |
$etag = $s3->uploadPart($bucket_name, $filepath, $uploadId, $fullpath, $i);
|
151 |
if ($etag !== false && is_string($etag)) {
|
152 |
$updraftplus->record_uploaded_chunk(round(100*$i/$chunks,1), "$i, $etag", $fullpath);
|
153 |
array_push($etags, $etag);
|
154 |
-
|
155 |
$successes++;
|
156 |
} else {
|
157 |
-
$updraftplus->log("
|
158 |
-
$updraftplus->error(sprintf(__("
|
159 |
}
|
160 |
}
|
161 |
}
|
162 |
if ($successes >= $chunks) {
|
163 |
-
$updraftplus->log("
|
164 |
|
165 |
$s3->setExceptions(true);
|
166 |
try {
|
167 |
-
if ($s3->completeMultipartUpload
|
168 |
-
$updraftplus->log("
|
169 |
$updraftplus->uploaded_file($file);
|
170 |
} else {
|
171 |
-
$updraftplus->log("
|
172 |
-
$updraftplus->error(sprintf(__('
|
173 |
}
|
174 |
} catch (Exception $e) {
|
175 |
-
$updraftplus->log("
|
176 |
-
$updraftplus->error($e->getMessage().": ".sprint(__('
|
177 |
}
|
178 |
// Remember to unset, as the deletion code later reuses the object
|
179 |
$s3->setExceptions(false);
|
180 |
} else {
|
181 |
-
$updraftplus->log("
|
182 |
}
|
183 |
}
|
184 |
}
|
185 |
-
$updraftplus->prune_retained_backups('
|
186 |
} else {
|
187 |
-
$updraftplus->log("
|
188 |
-
$updraftplus->error(sprintf(__('
|
189 |
}
|
190 |
}
|
191 |
|
@@ -193,6 +213,9 @@ class UpdraftPlus_BackupModule_s3 {
|
|
193 |
|
194 |
global $updraftplus;
|
195 |
|
|
|
|
|
|
|
196 |
$s3 = $s3arr['s3_object'];
|
197 |
$orig_bucket_name = $s3arr['s3_orig_bucket_name'];
|
198 |
|
@@ -203,15 +226,15 @@ class UpdraftPlus_BackupModule_s3 {
|
|
203 |
$s3_bucket = $orig_bucket_name;
|
204 |
$s3_uri = $file;
|
205 |
}
|
206 |
-
$updraftplus->log("
|
207 |
|
208 |
$s3->setExceptions(true);
|
209 |
try {
|
210 |
if (!$s3->deleteObject($s3_bucket, $s3_uri)) {
|
211 |
-
$updraftplus->log("
|
212 |
}
|
213 |
} catch (Exception $e) {
|
214 |
-
$updraftplus->log(
|
215 |
}
|
216 |
$s3->setExceptions(false);
|
217 |
|
@@ -221,12 +244,17 @@ class UpdraftPlus_BackupModule_s3 {
|
|
221 |
|
222 |
global $updraftplus;
|
223 |
|
|
|
|
|
|
|
224 |
$s3 = $this->getS3(
|
225 |
-
|
|
|
|
|
226 |
UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl')
|
227 |
);
|
228 |
|
229 |
-
$bucket_name = untrailingslashit(
|
230 |
$bucket_path = "";
|
231 |
|
232 |
if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) {
|
@@ -234,37 +262,43 @@ class UpdraftPlus_BackupModule_s3 {
|
|
234 |
$bucket_path = $bmatches[2]."/";
|
235 |
}
|
236 |
|
237 |
-
$region = @$s3->getBucketLocation($bucket_name);
|
238 |
if (!empty($region)) {
|
239 |
$this->set_endpoint($s3, $region);
|
240 |
$fullpath = $updraftplus->backups_dir_location().'/'.$file;
|
241 |
if (!$s3->getObject($bucket_name, $bucket_path.$file, $fullpath, true)) {
|
242 |
-
$updraftplus->log("
|
243 |
-
$updraftplus->error(sprintf(__('
|
244 |
}
|
245 |
} else {
|
246 |
-
$updraftplus->log("
|
247 |
-
$updraftplus->error(sprintf(__('
|
248 |
}
|
249 |
|
250 |
}
|
251 |
|
252 |
public static function config_print_javascript_onready() {
|
|
|
|
|
|
|
|
|
253 |
?>
|
254 |
-
jQuery('#updraft
|
|
|
255 |
var data = {
|
256 |
action: 'updraft_ajax',
|
257 |
subaction: 'credentials_test',
|
258 |
-
method: '
|
259 |
nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>',
|
260 |
-
apikey: jQuery('#
|
261 |
-
apisecret: jQuery('#
|
262 |
-
path: jQuery('#
|
263 |
disableverify: (jQuery('#updraft_ssl_disableverify').is(':checked')) ? 1 : 0,
|
264 |
useservercerts: (jQuery('#updraft_ssl_useservercerts').is(':checked')) ? 1 : 0,
|
265 |
nossl: (jQuery('#updraft_ssl_nossl').is(':checked')) ? 1 : 0,
|
266 |
};
|
267 |
jQuery.post(ajaxurl, data, function(response) {
|
|
|
268 |
alert('Settings test result: ' + response);
|
269 |
});
|
270 |
});
|
@@ -272,44 +306,61 @@ class UpdraftPlus_BackupModule_s3 {
|
|
272 |
}
|
273 |
|
274 |
public static function config_print() {
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
|
276 |
?>
|
277 |
-
<tr class="updraftplusmethod
|
278 |
<td></td>
|
279 |
-
<td
|
280 |
</tr>
|
281 |
-
<tr class="updraftplusmethod
|
282 |
<th></th>
|
283 |
<td>
|
284 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
</td></tr>
|
286 |
-
<tr class="updraftplusmethod
|
287 |
-
<th><?php
|
288 |
-
<td><input type="text" autocomplete="off" style="width: 292px" id="
|
289 |
</tr>
|
290 |
-
<tr class="updraftplusmethod
|
291 |
-
<th><?php
|
292 |
-
<td><input type="text" autocomplete="off" style="width: 292px" id="
|
293 |
</tr>
|
294 |
-
<tr class="updraftplusmethod
|
295 |
-
<th><?php
|
296 |
-
<td
|
297 |
</tr>
|
298 |
-
<tr class="updraftplusmethod
|
299 |
<th></th>
|
300 |
-
<td><p><button id="updraft
|
301 |
</tr>
|
302 |
|
303 |
-
<tr class="updraftplusmethod s3">
|
304 |
-
<th></th>
|
305 |
-
<td>
|
306 |
-
<?php global $updraftplus_admin; $updraftplus_admin->curl_check('Amazon S3', true); ?>
|
307 |
-
</td>
|
308 |
-
</tr>
|
309 |
<?php
|
310 |
}
|
311 |
|
312 |
public static function credentials_test() {
|
|
|
|
|
|
|
|
|
313 |
|
314 |
if (empty($_POST['apikey'])) {
|
315 |
printf(__("Failure: No %s was given.",'updraftplus'),__('API key','updraftplus'));
|
@@ -321,7 +372,7 @@ class UpdraftPlus_BackupModule_s3 {
|
|
321 |
}
|
322 |
|
323 |
$key = $_POST['apikey'];
|
324 |
-
$secret = $_POST['apisecret'];
|
325 |
$path = $_POST['path'];
|
326 |
$useservercerts = (isset($_POST['useservercerts'])) ? absint($_POST['useservercerts']) : 0;
|
327 |
$disableverify = (isset($_POST['disableverify'])) ? absint($_POST['disableverify']) : 0;
|
@@ -340,43 +391,54 @@ class UpdraftPlus_BackupModule_s3 {
|
|
340 |
return;
|
341 |
}
|
342 |
|
|
|
|
|
343 |
$s3 = self::getS3($key, $secret, $useservercerts, $disableverify, $nossl);
|
344 |
|
345 |
-
$location = @$s3->getBucketLocation($bucket);
|
346 |
if ($location) {
|
347 |
$bucket_exists = true;
|
348 |
-
$bucket_verb =
|
349 |
// $bucket_verb = "accessed (".__('Amazon region','updraftplus').": $location)";
|
350 |
$bucket_region = $location;
|
351 |
} else {
|
352 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
353 |
if ($try_to_create_bucket) {
|
354 |
// $bucket_verb = 'created';
|
355 |
$bucket_verb = '';
|
356 |
$bucket_exists = true;
|
357 |
} else {
|
358 |
-
|
|
|
359 |
}
|
360 |
}
|
361 |
|
362 |
if (isset($bucket_exists)) {
|
363 |
$try_file = md5(rand());
|
364 |
-
|
365 |
$s3->setExceptions(true);
|
366 |
try {
|
|
|
367 |
if (!$s3->putObjectString($try_file, $bucket, $path.$try_file)) {
|
368 |
echo __('Failure','updraftplus').": ${bucket_verb}".__('We successfully accessed the bucket, but the attempt to create a file in it failed.','updraftplus');
|
369 |
} else {
|
370 |
echo __('Success','updraftplus').": ${bucket_verb}".__('We accessed the bucket, and were able to create files within it.','updraftplus').' ';
|
371 |
if ($s3->useSSL) {
|
372 |
-
echo sprintf(__('The communication with %s was encrypted.', 'updraftplus'), '
|
373 |
} else {
|
374 |
-
echo sprintf(__('The communication with %s was not encrypted.', 'updraftplus'), '
|
375 |
}
|
376 |
@$s3->deleteObject($bucket, $path.$try_file);
|
377 |
}
|
378 |
} catch (Exception $e) {
|
379 |
-
echo __('Failure','updraftplus').": ${bucket_verb}".__('We successfully accessed the bucket, but the attempt to create a file in it failed.','updraftplus').' ('.$e->getMessage().')';
|
380 |
}
|
381 |
}
|
382 |
|
2 |
|
3 |
class UpdraftPlus_BackupModule_s3 {
|
4 |
|
5 |
+
function get_config() {
|
6 |
+
return array(
|
7 |
+
'login' => UpdraftPlus_Options::get_updraft_option('updraft_s3_login'),
|
8 |
+
'pass' => UpdraftPlus_Options::get_updraft_option('updraft_s3_pass'),
|
9 |
+
'remote_path' => UpdraftPlus_Options::get_updraft_option('updraft_s3_remote_path'),
|
10 |
+
'whoweare' => 'S3',
|
11 |
+
'whoweare_long' => 'Amazon S3',
|
12 |
+
'key' => 's3'
|
13 |
+
);
|
14 |
+
}
|
15 |
+
|
16 |
// Get an S3 object, after setting our options
|
17 |
function getS3($key, $secret, $useservercerts, $disableverify, $nossl) {
|
18 |
global $updraftplus;
|
35 |
$s3->SSLCACert = UPDRAFTPLUS_DIR.'/includes/cacert.pem';
|
36 |
}
|
37 |
} else {
|
38 |
+
$updraftplus->log("S3: Curl/SSL is not available. Communications will not be encrypted.");
|
39 |
}
|
40 |
} else {
|
41 |
$s3->useSSL = false;
|
42 |
+
$updraftplus->log("SSL was disabled via the user's preference. Communications will not be encrypted.");
|
43 |
}
|
44 |
return $s3;
|
45 |
}
|
66 |
}
|
67 |
}
|
68 |
|
69 |
+
|
70 |
function backup($backup_array) {
|
71 |
|
72 |
global $updraftplus;
|
73 |
|
74 |
+
$config = $this->get_config();
|
75 |
+
$whoweare = $config['whoweare'];
|
76 |
+
$whoweare_key = $config['key'];
|
77 |
+
$whoweare_keys = substr($whoweare_key, 0, 1);
|
78 |
+
|
79 |
$s3 = $this->getS3(
|
80 |
+
$config['login'],
|
81 |
+
$config['pass'],
|
82 |
+
UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'),
|
83 |
UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl')
|
84 |
);
|
85 |
|
86 |
+
$bucket_name = untrailingslashit($config['remote_path']);
|
87 |
$bucket_path = "";
|
88 |
$orig_bucket_name = $bucket_name;
|
89 |
|
92 |
$bucket_path = $bmatches[2]."/";
|
93 |
}
|
94 |
|
95 |
+
$region = ($config['key'] == 'dreamobjects') ? $config['whoweare'] : @$s3->getBucketLocation($bucket_name);
|
96 |
|
97 |
// See if we can detect the region (which implies the bucket exists and is ours), or if not create it
|
98 |
if (!empty($region) || @$s3->putBucket($bucket_name, S3::ACL_PRIVATE)) {
|
113 |
if ($orig_file_size % 5242880 > 0 ) $chunks++;
|
114 |
$hash = md5($file);
|
115 |
|
116 |
+
$updraftplus->log("$whoweare upload ($region): $file (chunks: $chunks) -> s3://$bucket_name/$bucket_path$file");
|
117 |
|
118 |
$filepath = $bucket_path.$file;
|
119 |
|
120 |
+
// This is extra code for the 1-chunk case, but less overhead (no bothering with transient data)
|
121 |
if ($chunks < 2) {
|
122 |
if (!$s3->putObjectFile($fullpath, $bucket_name, $filepath)) {
|
123 |
+
$updraftplus->log("$whoweare regular upload: failed ($fullpath)");
|
124 |
+
$updraftplus->error("$file: ".sprintf(__('%s Error: Failed to upload','updraftplus'),$whoweare));
|
125 |
} else {
|
126 |
+
$updraftplus->log("$whoweare regular upload: success");
|
127 |
$updraftplus->uploaded_file($file);
|
128 |
}
|
129 |
} else {
|
130 |
|
131 |
// Retrieve the upload ID
|
132 |
+
$uploadId = $updraftplus->jobdata_get("upd_${whoweare_keys}_${hash}_uid");
|
133 |
if (empty($uploadId)) {
|
134 |
$s3->setExceptions(true);
|
135 |
try {
|
136 |
$uploadId = $s3->initiateMultipartUpload($bucket_name, $filepath);
|
137 |
} catch (Exception $e) {
|
138 |
+
$updraftplus->log("$whoweare error whilst trying initiateMultipartUpload: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
139 |
$uploadId = false;
|
140 |
}
|
141 |
$s3->setExceptions(false);
|
142 |
|
143 |
if (empty($uploadId)) {
|
144 |
+
$updraftplus->log("$whoweare upload: failed: could not get uploadId for multipart upload ($filepath)");
|
145 |
+
$updraftplus->error(sprintf(__("%s upload: getting uploadID for multipart upload failed - see log file for more details",'updraftplus'),$whoweare));
|
146 |
continue;
|
147 |
} else {
|
148 |
+
$updraftplus->log("$whoweare chunked upload: got multipart ID: $uploadId");
|
149 |
+
$updraftplus->jobdata_set("upd_${whoweare_keys}_${hash}_uid", $uploadId);
|
150 |
}
|
151 |
} else {
|
152 |
+
$updraftplus->log("$whoweare chunked upload: retrieved previously obtained multipart ID: $uploadId");
|
153 |
}
|
154 |
|
155 |
$successes = 0;
|
156 |
$etags = array();
|
157 |
for ($i = 1 ; $i <= $chunks; $i++) {
|
158 |
# Shorted to upd here to avoid hitting the 45-character limit
|
159 |
+
$etag = $updraftplus->jobdata_get("ud_${whoweare_keys}_${hash}_e$i");
|
160 |
if (strlen($etag) > 0) {
|
161 |
+
$updraftplus->log("$whoweare chunk $i: was already completed (etag: $etag)");
|
162 |
$successes++;
|
163 |
array_push($etags, $etag);
|
164 |
} else {
|
165 |
// Sanity check: we've seen a case where an overlap was truncating the file from underneath us
|
166 |
if (filesize($fullpath) < $orig_file_size) {
|
167 |
+
$updraftplus->log("$whoweare error: $key: chunk $i: file was truncated underneath us (orig_size=$orig_file_size, now_size=".filesize($fullpath).")");
|
168 |
+
$updraftplus->error(sprintf(__('%s error: file %s was shortened unexpectedly', 'updraftplus'), $whoweare, $fullpath));
|
169 |
}
|
170 |
$etag = $s3->uploadPart($bucket_name, $filepath, $uploadId, $fullpath, $i);
|
171 |
if ($etag !== false && is_string($etag)) {
|
172 |
$updraftplus->record_uploaded_chunk(round(100*$i/$chunks,1), "$i, $etag", $fullpath);
|
173 |
array_push($etags, $etag);
|
174 |
+
$updraftplus->jobdata_set("ud_${whoweare_keys}_${hash}_e$i", $etag);
|
175 |
$successes++;
|
176 |
} else {
|
177 |
+
$updraftplus->log("$whoweare chunk $i: upload failed");
|
178 |
+
$updraftplus->error(sprintf(__("%s chunk %s: upload failed",'updraftplus'),$whoweare, $i));
|
179 |
}
|
180 |
}
|
181 |
}
|
182 |
if ($successes >= $chunks) {
|
183 |
+
$updraftplus->log("$whoweare upload: all chunks uploaded; will now instruct $whoweare to re-assemble");
|
184 |
|
185 |
$s3->setExceptions(true);
|
186 |
try {
|
187 |
+
if ($s3->completeMultipartUpload($bucket_name, $filepath, $uploadId, $etags)) {
|
188 |
+
$updraftplus->log("$whoweare upload ($key): re-assembly succeeded");
|
189 |
$updraftplus->uploaded_file($file);
|
190 |
} else {
|
191 |
+
$updraftplus->log("$whoweare upload ($key): re-assembly failed ($file)");
|
192 |
+
$updraftplus->error(sprintf(__('%s upload (%s): re-assembly failed (see log for more details)','updraftplus'),$whoweare, $key));
|
193 |
}
|
194 |
} catch (Exception $e) {
|
195 |
+
$updraftplus->log("$whoweare re-assembly error ($key): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
196 |
+
$updraftplus->error($e->getMessage().": ".sprint(__('%s re-assembly error (%s): (see log file for more)','updraftplus'),$whoweare, $e->getMessage()));
|
197 |
}
|
198 |
// Remember to unset, as the deletion code later reuses the object
|
199 |
$s3->setExceptions(false);
|
200 |
} else {
|
201 |
+
$updraftplus->log("$whoweare upload: upload was not completely successful on this run");
|
202 |
}
|
203 |
}
|
204 |
}
|
205 |
+
$updraftplus->prune_retained_backups($config['key'], $this, array('s3_object' => $s3, 's3_orig_bucket_name' => $orig_bucket_name));
|
206 |
} else {
|
207 |
+
$updraftplus->log("$whoweare Error: Failed to create bucket $bucket_name.");
|
208 |
+
$updraftplus->error(sprintf(__('%s Error: Failed to create bucket %s. Check your permissions and credentials.','updraftplus'),$whoweare, $bucket_name));
|
209 |
}
|
210 |
}
|
211 |
|
213 |
|
214 |
global $updraftplus;
|
215 |
|
216 |
+
$config = $this->get_config();
|
217 |
+
$whoweare = $config['whoweare'];
|
218 |
+
|
219 |
$s3 = $s3arr['s3_object'];
|
220 |
$orig_bucket_name = $s3arr['s3_orig_bucket_name'];
|
221 |
|
226 |
$s3_bucket = $orig_bucket_name;
|
227 |
$s3_uri = $file;
|
228 |
}
|
229 |
+
$updraftplus->log("$whoweare: Delete remote: bucket=$s3_bucket, URI=$s3_uri");
|
230 |
|
231 |
$s3->setExceptions(true);
|
232 |
try {
|
233 |
if (!$s3->deleteObject($s3_bucket, $s3_uri)) {
|
234 |
+
$updraftplus->log("$whoweare: Delete failed");
|
235 |
}
|
236 |
} catch (Exception $e) {
|
237 |
+
$updraftplus->log("$whoweare delete failed: ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
238 |
}
|
239 |
$s3->setExceptions(false);
|
240 |
|
244 |
|
245 |
global $updraftplus;
|
246 |
|
247 |
+
$config = $this->get_config();
|
248 |
+
$whoweare = $config['whoweare'];
|
249 |
+
|
250 |
$s3 = $this->getS3(
|
251 |
+
$config['login'],
|
252 |
+
$config['pass'],
|
253 |
+
UpdraftPlus_Options::get_updraft_option('updraft_ssl_useservercerts'), UpdraftPlus_Options::get_updraft_option('updraft_ssl_disableverify'),
|
254 |
UpdraftPlus_Options::get_updraft_option('updraft_ssl_nossl')
|
255 |
);
|
256 |
|
257 |
+
$bucket_name = untrailingslashit($config['remote_path']);
|
258 |
$bucket_path = "";
|
259 |
|
260 |
if (preg_match("#^([^/]+)/(.*)$#", $bucket_name, $bmatches)) {
|
262 |
$bucket_path = $bmatches[2]."/";
|
263 |
}
|
264 |
|
265 |
+
$region = ($config['key'] == 'dreamobjects') ? $config['whoweare'] : @$s3->getBucketLocation($bucket_name);
|
266 |
if (!empty($region)) {
|
267 |
$this->set_endpoint($s3, $region);
|
268 |
$fullpath = $updraftplus->backups_dir_location().'/'.$file;
|
269 |
if (!$s3->getObject($bucket_name, $bucket_path.$file, $fullpath, true)) {
|
270 |
+
$updraftplus->log("$whoweare Error: Failed to download $file. Check your permissions and credentials.");
|
271 |
+
$updraftplus->error(sprintf(__('%s Error: Failed to download %s. Check your permissions and credentials.','updraftplus'),$whoweare, $file));
|
272 |
}
|
273 |
} else {
|
274 |
+
$updraftplus->log("$whoweare Error: Failed to access bucket $bucket_name. Check your permissions and credentials.");
|
275 |
+
$updraftplus->error(sprintf(__('%s Error: Failed to access bucket %s. Check your permissions and credentials.','updraftplus'),$whoweare, $bucket_name));
|
276 |
}
|
277 |
|
278 |
}
|
279 |
|
280 |
public static function config_print_javascript_onready() {
|
281 |
+
self::config_print_javascript_onready_engine('s3', 'S3');
|
282 |
+
}
|
283 |
+
|
284 |
+
public static function config_print_javascript_onready_engine($key, $whoweare) {
|
285 |
?>
|
286 |
+
jQuery('#updraft-<?php echo $key; ?>-test').click(function(){
|
287 |
+
jQuery('#updraft-<?php echo $key; ?>-test').html('<?php echo sprintf(__('Testing %s Settings...', 'updraftplus'),$whoweare); ?>');
|
288 |
var data = {
|
289 |
action: 'updraft_ajax',
|
290 |
subaction: 'credentials_test',
|
291 |
+
method: '<?php echo $key; ?>',
|
292 |
nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>',
|
293 |
+
apikey: jQuery('#updraft_<?php echo $key; ?>_apikey').val(),
|
294 |
+
apisecret: jQuery('#updraft_<?php echo $key; ?>_apisecret').val(),
|
295 |
+
path: jQuery('#updraft_<?php echo $key; ?>_path').val(),
|
296 |
disableverify: (jQuery('#updraft_ssl_disableverify').is(':checked')) ? 1 : 0,
|
297 |
useservercerts: (jQuery('#updraft_ssl_useservercerts').is(':checked')) ? 1 : 0,
|
298 |
nossl: (jQuery('#updraft_ssl_nossl').is(':checked')) ? 1 : 0,
|
299 |
};
|
300 |
jQuery.post(ajaxurl, data, function(response) {
|
301 |
+
jQuery('#updraft-<?php echo $key; ?>-test').html('<?php echo sprintf(__('Test %s Settings', 'updraftplus'),$whoweare); ?>');
|
302 |
alert('Settings test result: ' + response);
|
303 |
});
|
304 |
});
|
306 |
}
|
307 |
|
308 |
public static function config_print() {
|
309 |
+
|
310 |
+
self::config_print_engine('s3', 'S3', 'Amazon S3', 'AWS', 'http://aws.amazon.com/console/', '<img src="https://d36cz9buwru1tt.cloudfront.net/Powered-by-Amazon-Web-Services.jpg" alt="Amazon Web Services">');
|
311 |
+
|
312 |
+
}
|
313 |
+
|
314 |
+
public static function config_print_engine($key, $whoweare_short, $whoweare_long, $console_descrip, $console_url, $img_html = '') {
|
315 |
|
316 |
?>
|
317 |
+
<tr class="updraftplusmethod <?php echo $key; ?>">
|
318 |
<td></td>
|
319 |
+
<td><?php echo $img_html ?><p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your site is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),$whoweare_long);?></em></p></td>
|
320 |
</tr>
|
321 |
+
<tr class="updraftplusmethod <?php echo $key; ?>">
|
322 |
<th></th>
|
323 |
<td>
|
324 |
+
<?php
|
325 |
+
global $updraftplus_admin;
|
326 |
+
if (!class_exists('SimpleXMLElement')) {
|
327 |
+
$updraftplus_admin->show_double_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('Your web server\'s PHP installation does not included a required module (%s). Please contact your web hosting provider\'s support.', 'updraftplus'), 'SimpleXMLElement').' '.sprintf(__("UpdraftPlus's %s module <strong>requires</strong> %s. Please do not file any support requests; there is no alternative.",'updraftplus'),$whoweare_long, 'SimpleXMLElement'), $key);
|
328 |
+
}
|
329 |
+
$updraftplus_admin->curl_check($whoweare_long, true, $key);
|
330 |
+
?>
|
331 |
+
|
332 |
+
</td>
|
333 |
+
</tr>
|
334 |
+
<tr class="updraftplusmethod <?php echo $key; ?>">
|
335 |
+
<th></th>
|
336 |
+
<td>
|
337 |
+
<p><?php echo sprintf(__('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.','updraftplus'), $console_url, $console_descrip, $whoweare_long);?> <a href="http://updraftplus.com/faqs/i-get-ssl-certificate-errors-when-backing-up-andor-restoring/"><?php _e('If you see errors about SSL certificates, then please go here for help.','updraftplus');?></a></p>
|
338 |
</td></tr>
|
339 |
+
<tr class="updraftplusmethod <?php echo $key; ?>">
|
340 |
+
<th><?php echo sprintf(__('%s access key','updraftplus'), $whoweare_short);?>:</th>
|
341 |
+
<td><input type="text" autocomplete="off" style="width: 292px" id="updraft_<?php echo $key; ?>_apikey" name="updraft_<?php echo $key; ?>_login" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_'.$key.'_login')) ?>" /></td>
|
342 |
</tr>
|
343 |
+
<tr class="updraftplusmethod <?php echo $key; ?>">
|
344 |
+
<th><?php echo sprintf(__('%s secret key','updraftplus'), $whoweare_short);?>:</th>
|
345 |
+
<td><input type="text" autocomplete="off" style="width: 292px" id="updraft_<?php echo $key; ?>_apisecret" name="updraft_<?php echo $key; ?>_pass" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_'.$key.'_pass')); ?>" /></td>
|
346 |
</tr>
|
347 |
+
<tr class="updraftplusmethod <?php echo $key; ?>">
|
348 |
+
<th><?php echo sprintf(__('%s location','updraftplus'), $whoweare_short);?>:</th>
|
349 |
+
<td><?php echo $key; ?>://<input title="<?php echo htmlspecialchars(__('Enter only a bucket name or a bucket and path. Examples: mybucket, mybucket/mypath', 'updraftplus')); ?>" type="text" style="width: 292px" name="updraft_<?php echo $key; ?>_remote_path" id="updraft_<?php echo $key; ?>_path" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_'.$key.'_remote_path')); ?>" /></td>
|
350 |
</tr>
|
351 |
+
<tr class="updraftplusmethod <?php echo $key; ?>">
|
352 |
<th></th>
|
353 |
+
<td><p><button id="updraft-<?php echo $key; ?>-test" type="button" class="button-primary" style="font-size:18px !important"><?php echo sprintf(__('Test %s Settings','updraftplus'),$whoweare_short);?></button></p></td>
|
354 |
</tr>
|
355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
356 |
<?php
|
357 |
}
|
358 |
|
359 |
public static function credentials_test() {
|
360 |
+
self::credentials_test_engine(self::get_config());
|
361 |
+
}
|
362 |
+
|
363 |
+
public static function credentials_test_engine($config) {
|
364 |
|
365 |
if (empty($_POST['apikey'])) {
|
366 |
printf(__("Failure: No %s was given.",'updraftplus'),__('API key','updraftplus'));
|
372 |
}
|
373 |
|
374 |
$key = $_POST['apikey'];
|
375 |
+
$secret = stripslashes($_POST['apisecret']);
|
376 |
$path = $_POST['path'];
|
377 |
$useservercerts = (isset($_POST['useservercerts'])) ? absint($_POST['useservercerts']) : 0;
|
378 |
$disableverify = (isset($_POST['disableverify'])) ? absint($_POST['disableverify']) : 0;
|
391 |
return;
|
392 |
}
|
393 |
|
394 |
+
$whoweare = $config['whoweare'];
|
395 |
+
|
396 |
$s3 = self::getS3($key, $secret, $useservercerts, $disableverify, $nossl);
|
397 |
|
398 |
+
$location = ($config['key'] == 'dreamobjects') ? $config['whoweare'] : @$s3->getBucketLocation($bucket);
|
399 |
if ($location) {
|
400 |
$bucket_exists = true;
|
401 |
+
$bucket_verb = ($config['key'] == 'dreamobjects') ? '' : __('Region','updraftplus').": $location: ";
|
402 |
// $bucket_verb = "accessed (".__('Amazon region','updraftplus').": $location)";
|
403 |
$bucket_region = $location;
|
404 |
} else {
|
405 |
+
$s3->setExceptions(true);
|
406 |
+
try {
|
407 |
+
$try_to_create_bucket = @$s3->putBucket($bucket, S3::ACL_PRIVATE);
|
408 |
+
} catch (S3Exception $e) {
|
409 |
+
$try_to_create_bucket = false;
|
410 |
+
$s3_error = $e->getMessage();
|
411 |
+
}
|
412 |
+
$s3->setExceptions(false);
|
413 |
if ($try_to_create_bucket) {
|
414 |
// $bucket_verb = 'created';
|
415 |
$bucket_verb = '';
|
416 |
$bucket_exists = true;
|
417 |
} else {
|
418 |
+
echo sprintf(__("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).",'updraftplus'),$whoweare);
|
419 |
+
if (isset($s3_error)) echo "\n\n".sprintf(__('The error reported by %s was:','updraftplus'), $config['key']).' '.$s3_error;
|
420 |
}
|
421 |
}
|
422 |
|
423 |
if (isset($bucket_exists)) {
|
424 |
$try_file = md5(rand());
|
425 |
+
call_user_func(array('UpdraftPlus_BackupModule_'.$config['key'], 'set_endpoint'), $s3, $location);
|
426 |
$s3->setExceptions(true);
|
427 |
try {
|
428 |
+
|
429 |
if (!$s3->putObjectString($try_file, $bucket, $path.$try_file)) {
|
430 |
echo __('Failure','updraftplus').": ${bucket_verb}".__('We successfully accessed the bucket, but the attempt to create a file in it failed.','updraftplus');
|
431 |
} else {
|
432 |
echo __('Success','updraftplus').": ${bucket_verb}".__('We accessed the bucket, and were able to create files within it.','updraftplus').' ';
|
433 |
if ($s3->useSSL) {
|
434 |
+
echo sprintf(__('The communication with %s was encrypted.', 'updraftplus'), $config['whoweare_long']);
|
435 |
} else {
|
436 |
+
echo sprintf(__('The communication with %s was not encrypted.', 'updraftplus'), $config['whoweare_long']);
|
437 |
}
|
438 |
@$s3->deleteObject($bucket, $path.$try_file);
|
439 |
}
|
440 |
} catch (Exception $e) {
|
441 |
+
echo __('Failure','updraftplus').": ${bucket_verb}".__('We successfully accessed the bucket, but the attempt to create a file in it failed.','updraftplus').' '.__('Please check your access credentials.','updraftplus').' ('.$e->getMessage().')';
|
442 |
}
|
443 |
}
|
444 |
|
options.php
CHANGED
@@ -45,6 +45,10 @@ class UpdraftPlus_Options {
|
|
45 |
register_setting('updraft-options-group', 'updraft_s3_pass' );
|
46 |
register_setting('updraft-options-group', 'updraft_s3_remote_path' );
|
47 |
|
|
|
|
|
|
|
|
|
48 |
register_setting('updraft-options-group', 'updraft_cloudfiles_authurl' );
|
49 |
register_setting('updraft-options-group', 'updraft_cloudfiles_user' );
|
50 |
register_setting('updraft-options-group', 'updraft_cloudfiles_apikey' );
|
45 |
register_setting('updraft-options-group', 'updraft_s3_pass' );
|
46 |
register_setting('updraft-options-group', 'updraft_s3_remote_path' );
|
47 |
|
48 |
+
register_setting('updraft-options-group', 'updraft_dreamobjects_login' );
|
49 |
+
register_setting('updraft-options-group', 'updraft_dreamobjects_pass' );
|
50 |
+
register_setting('updraft-options-group', 'updraft_dreamobjects_remote_path' );
|
51 |
+
|
52 |
register_setting('updraft-options-group', 'updraft_cloudfiles_authurl' );
|
53 |
register_setting('updraft-options-group', 'updraft_cloudfiles_user' );
|
54 |
register_setting('updraft-options-group', 'updraft_cloudfiles_apikey' );
|
readme.txt
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
=== UpdraftPlus Backup ===
|
2 |
Contributors: DavidAnderson
|
3 |
-
Tags: backup, restore, database, rackspace, amazon, s3, dropbox, google drive, ftp, webdav, back up, multisite
|
4 |
Requires at least: 3.1
|
5 |
-
Tested up to: 3.
|
6 |
-
Stable tag: 1.6.
|
7 |
Author URI: http://updraftplus.com
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
@@ -12,13 +12,14 @@ Easy and complete backups and restoration. Manual or automated backups (Amazon S
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
<a href="http://updraftplus.com">UpdraftPlus</a> simplifies backups (and restoration). Backup into the cloud (Amazon S3, Dropbox, Google Drive, Rackspace Cloud, FTP, SFTP, WebDAV and email) and restore with a single click. Backups of files and database can have separate schedules.
|
16 |
|
17 |
-
* Thousands of users: widely tested and reliable (over
|
18 |
-
* Top-quality: ranks
|
19 |
-
* Supports backups to Amazon S3, Dropbox, Google Drive,
|
20 |
* Quick restore (both file and database backups)
|
21 |
* Backup automatically on a repeating schedule
|
|
|
22 |
* Files and databases can have separate schedules
|
23 |
* Failed uploads are automatically resumed/retried
|
24 |
* Select which files to backup (plugins, themes, content, other)
|
@@ -46,14 +47,16 @@ UpdraftPlus is written by professional WordPress developers. If your site needs
|
|
46 |
|
47 |
= Are you multi-lingual? Can you translate? =
|
48 |
|
49 |
-
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 - go here for instructions: <a href="http://updraftplus.com/translate/">http://updraftplus.com/translate/</a>. (Or if you're an expert WordPress translator already, then just pick out the .pot file from the wp-content/plugins/updraftplus/languages/ directory).
|
50 |
|
51 |
Many thanks to the existing translators:
|
52 |
|
53 |
-
* Deutsch / German (de_DE): Marcel Herrguth - mherrguth
|
|
|
54 |
* Magyar / Hungarian (hu_HU): Szépe Viktor - http://www.szepe.net
|
55 |
-
*
|
56 |
-
*
|
|
|
57 |
|
58 |
= Other support =
|
59 |
|
@@ -103,7 +106,7 @@ You can check the changelog for changes; but the original Updraft, before I fork
|
|
103 |
|
104 |
= Any known bugs ? =
|
105 |
|
106 |
-
Not a bug, but one issue to be aware of is that backups of very large sites (lots of uploaded media) are quite complex matters, given the limits of running inside WordPress on a huge variety of different web hosting setups. With large sites, you need to use Amazon S3, which UpdraftPlus supports
|
107 |
|
108 |
= My site was hacked, and I have no backups! I thought UpdraftPlus was working! Can I kill you? =
|
109 |
|
@@ -119,6 +122,35 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
|
|
119 |
|
120 |
== Changelog ==
|
121 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
= 1.6.2 - 05/11/2013 =
|
123 |
* FIX: Prevent PHP fatal error on some database restores
|
124 |
|
@@ -127,7 +159,7 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
|
|
127 |
* FEATURE: The "More files" add-on can now back up any files from anywhere on your filesystem (not just parts of WordPress)
|
128 |
* FEATURE: The "More files" add-on can now exclude specified directories from the backup of WordPress core
|
129 |
* FEATURE: Dropbox and Google Drive now check available quota before uploading
|
130 |
-
* FEATURE: Nederlands / Dutch (nl_NL) translation: thanks to Hans van der Vlist - hansvandervlist
|
131 |
* FEATURE: The SFTP/FTPS add-on now supports implicit encryption (so now both explicit + implicit are supported)
|
132 |
* FIX: Google Drive now requires additional permissions to download your files - you will need to re-authenticate if you are downloading or restoring.
|
133 |
* FIX: Fix serious corruption issue in larger Rackspace Cloud Files backups (fixed a bug in Rackspace's Cloud Files library)
|
@@ -148,9 +180,9 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
|
|
148 |
* FEATURE: Built-in multi-uploader, allowing easier restoration of old backup sets
|
149 |
* FEATURE: Allow instant downloading of the most recently modified log file
|
150 |
* FEATURE: Built in drag-and-drop database decrypter for manual decryption
|
151 |
-
* FEATURE: Deutsch / German translation: thanks to Marcel Herrguth - mherrguth
|
152 |
* FEATURE: Magyar / Hungarian translation: thanks to Szépe Viktor - http://www.szepe.net
|
153 |
-
* FEATURE: Spanish / Español translation: thanks to Fernando Villasmil - villasmil.fernando
|
154 |
* FEATURE: Added encryption (used by default) to Amazon S3 communications
|
155 |
* FEATURE: New "more files" add-on, allowing backup of WordPress core and non-WordPress files
|
156 |
* RELIABILITY: Various algorithm tweaks to help larger sites on lower resources. Largest site a known user has: 1.5Gb
|
@@ -458,4 +490,4 @@ We recognise and thank the following for code and/or libraries used and/or modif
|
|
458 |
Furthermore, reliance upon any non-English translation is at your own risk. UpdraftPlus can give no guarantees that translations from the original English are accurate.
|
459 |
|
460 |
== Upgrade Notice ==
|
461 |
-
1.6.
|
1 |
=== UpdraftPlus Backup ===
|
2 |
Contributors: DavidAnderson
|
3 |
+
Tags: backup, backups, restore, database, rackspace, amazon, s3, amazon s3, dropbox, google drive, rackspace cloud files, rackspace, cloud files, dreamhost, dreamobjects, ftp, webdav, back up, multisite, restoration, sftp, ftps, migrate, duplicate, copy, updraft, schedule, database backup, db backup
|
4 |
Requires at least: 3.1
|
5 |
+
Tested up to: 3.6
|
6 |
+
Stable tag: 1.6.17
|
7 |
Author URI: http://updraftplus.com
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
<a href="http://updraftplus.com">UpdraftPlus</a> simplifies backups (and restoration). Backup into the cloud (Amazon S3, Dropbox, Google Drive, Rackspace Cloud, DreamObjects, FTP, SFTP, WebDAV and email) and restore with a single click. Backups of files and database can have separate schedules.
|
16 |
|
17 |
+
* Thousands of users: widely tested and reliable (over 140,000 downloads). Ranks in the top 1% on rankwp.com (228 out of 25,000 plugins).
|
18 |
+
* Top-quality: ranks 45th out of 25,000 plugins for quality on rankwp.com (top 0.25% - last checked 23rd May 2013).
|
19 |
+
* Supports backups to Amazon S3, Dropbox, Rackspace Cloud Files, Google Drive, DreamHost DreamObjects, FTP and email. Also (via an add-on) FTP over SSL, SFTP and WebDAV. (Note: Microsoft forbid SkyDrive to be used by backup software).
|
20 |
* Quick restore (both file and database backups)
|
21 |
* Backup automatically on a repeating schedule
|
22 |
+
* Site duplicator/migrator: can copy sites, and (with add-on) move them to new locations
|
23 |
* Files and databases can have separate schedules
|
24 |
* Failed uploads are automatically resumed/retried
|
25 |
* Select which files to backup (plugins, themes, content, other)
|
47 |
|
48 |
= Are you multi-lingual? Can you translate? =
|
49 |
|
50 |
+
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="http://updraftplus.com/translate/">http://updraftplus.com/translate/</a>. (Or if you're an expert WordPress translator already, then just pick out the .pot file from the wp-content/plugins/updraftplus/languages/ directory).
|
51 |
|
52 |
Many thanks to the existing translators:
|
53 |
|
54 |
+
* Deutsch / German (de_DE): Marcel Herrguth - mherrguth at mrgeneration.de
|
55 |
+
* Español / Spanish (es_ES): Fernando Villasmil - villasmil.fernando at gmail.com
|
56 |
* Magyar / Hungarian (hu_HU): Szépe Viktor - http://www.szepe.net
|
57 |
+
* Nederlands / Dutch (nl_NL): Hans van der Vlist - hansvandervlist at gmail.com
|
58 |
+
* Polski / Polish (pl_PL): Bartosz Kaczmarek - barth.kaczmarek at gmail.com
|
59 |
+
* Italiano / Italian (it_IT): Francesco Carpana - f.carpana at gmail.com
|
60 |
|
61 |
= Other support =
|
62 |
|
106 |
|
107 |
= Any known bugs ? =
|
108 |
|
109 |
+
Not a bug, but one issue to be aware of is that backups of very large sites (lots of uploaded media) are quite complex matters, given the limits of running inside WordPress on a huge variety of different web hosting setups. With large sites, you need to use Amazon S3, which UpdraftPlus supports Google Drive, Dropbox, WebDAV (since 1.4.30), Rackspace Cloud Files (since 1.5.21), DreamObjects (since 1.6.6) or FTP (since 1.5.9) because these support chunked, resumable uploads. Other backup methods have code (since 0.9.0) to retry failed uploads of an archive, but the upload cannot be chunked, so if an archive is enormous (i.e. cannot be completely uploaded in the time that PHP is allowed for running on your web host) it cannot work. (Though as far as we're aware, no other cloud backup plugins support chunking, so you're still no worse off than with the alternatives).
|
110 |
|
111 |
= My site was hacked, and I have no backups! I thought UpdraftPlus was working! Can I kill you? =
|
112 |
|
122 |
|
123 |
== Changelog ==
|
124 |
|
125 |
+
= 1.6.17 - 2013/06/06 =
|
126 |
+
* FEATURE: News blog - http://updraftplus.com/news/ - please subscribe if you want to stay up to date with news of new features, tips, and special offers. RSS link: http://feeds.feedburner.com/UpdraftPlus
|
127 |
+
* FEATURE: Restoration/migration now copes with a change of table prefix, and asks WordPress to recreate your .htaccess/web.config file
|
128 |
+
* FEATURE: Add support for DreamHost DreamObjects (http://dreamhost.com/cloud/dreamobjects/)
|
129 |
+
* FEATURE: Polski / Polish (pl_PL) translation: thanks to Bartosz Kaczmarek (barth.kaczmarek at gmail.com)
|
130 |
+
* FEATURE: Add expert options to count expected uncompressed backup size, show/delete active jobs, and PHP info
|
131 |
+
* FEATURE: Send backup reports to multiple addresses (comma-separate the addresses you wish to use)
|
132 |
+
* FIX: Inform users of Dropbox tokens which stop working
|
133 |
+
* FIX: Don't flag an error if mu-plugins are selected, but none are found and WordPress agrees that none exist
|
134 |
+
* COMPATIBILITY: WordPress multisite post-3.5 does not store blog uploads separately from main uploads directory
|
135 |
+
* COMPATIBILITY: Now marked as compatible with WordPress 3.6
|
136 |
+
* TWEAK: When errors occur, list them in the notification email and attach the log file
|
137 |
+
* TWEAK: Use only one transient per job, and clean it up upon completion
|
138 |
+
* TWEAK: Added a "Clone/Migrate" button to give a visual clue for people wanting to do this
|
139 |
+
* TWEAK: More verbose error reporting from PclZip
|
140 |
+
* TWEAK: After database restoration, permalinks are flushed (often helps regenerate .htaccess+web.config files)
|
141 |
+
* TWEAK: Database backups now put the options table first, to allow earlier changing of site URL upon migration
|
142 |
+
* TWEAK: Show PHP + web server versions in the debug information
|
143 |
+
* TWEAK: More sophisticated attempts to get a writable backup directory, and more helpful messages if we can't
|
144 |
+
* TWEAK: Some more logging, data-gathering and algorithm-tweaking to especially improve the chances for people with astonishingly slow web hosting, but also tweaks that improve efficiency everywhere, especially for larger backup sets.
|
145 |
+
* TWEAK: Migrator plugin now does search+replace after each table (instead of after them all)
|
146 |
+
* TWEAK: Clean up temporary files earlier where safe+possible (can lower disk space requirements)
|
147 |
+
* TWEAK: Re-scan of known sets now removes those known to be gone from the list
|
148 |
+
* TWEAK: Made a few things use AJAX instead of full page loads
|
149 |
+
* TWEAK: Replace Rackspace logo with current version
|
150 |
+
* TWEAK: Make missing PHP component warnings more prominent
|
151 |
+
* TWEAK: Warn users if they have W3 Total Cache's object cache (which has a bug that affects scheduled tasks) active.
|
152 |
+
* TWEAK: Add a notice for users who have turned on debugging (some forget to turn it off, then ask for support when they see lots of debugging notices)
|
153 |
+
|
154 |
= 1.6.2 - 05/11/2013 =
|
155 |
* FIX: Prevent PHP fatal error on some database restores
|
156 |
|
159 |
* FEATURE: The "More files" add-on can now back up any files from anywhere on your filesystem (not just parts of WordPress)
|
160 |
* FEATURE: The "More files" add-on can now exclude specified directories from the backup of WordPress core
|
161 |
* FEATURE: Dropbox and Google Drive now check available quota before uploading
|
162 |
+
* FEATURE: Nederlands / Dutch (nl_NL) translation: thanks to Hans van der Vlist - hansvandervlist at gmail.com
|
163 |
* FEATURE: The SFTP/FTPS add-on now supports implicit encryption (so now both explicit + implicit are supported)
|
164 |
* FIX: Google Drive now requires additional permissions to download your files - you will need to re-authenticate if you are downloading or restoring.
|
165 |
* FIX: Fix serious corruption issue in larger Rackspace Cloud Files backups (fixed a bug in Rackspace's Cloud Files library)
|
180 |
* FEATURE: Built-in multi-uploader, allowing easier restoration of old backup sets
|
181 |
* FEATURE: Allow instant downloading of the most recently modified log file
|
182 |
* FEATURE: Built in drag-and-drop database decrypter for manual decryption
|
183 |
+
* FEATURE: Deutsch / German translation: thanks to Marcel Herrguth - mherrguth at mrgeneration.de
|
184 |
* FEATURE: Magyar / Hungarian translation: thanks to Szépe Viktor - http://www.szepe.net
|
185 |
+
* FEATURE: Spanish / Español translation: thanks to Fernando Villasmil - villasmil.fernando at gmail.com
|
186 |
* FEATURE: Added encryption (used by default) to Amazon S3 communications
|
187 |
* FEATURE: New "more files" add-on, allowing backup of WordPress core and non-WordPress files
|
188 |
* RELIABILITY: Various algorithm tweaks to help larger sites on lower resources. Largest site a known user has: 1.5Gb
|
490 |
Furthermore, reliance upon any non-English translation is at your own risk. UpdraftPlus can give no guarantees that translations from the original English are accurate.
|
491 |
|
492 |
== Upgrade Notice ==
|
493 |
+
1.6.17: WP 3.6 support. Dreamhost Dreamobjects support. Polish translation. More expert options. Restoration to sites with different table prefixes. Lots of usability + portability tweaks.
|
updraftplus.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: UpdraftPlus - Backup/Restore
|
|
4 |
Plugin URI: http://updraftplus.com
|
5 |
Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
|
6 |
Author: UpdraftPlus.Com, DavidAnderson
|
7 |
-
Version: 1.6.
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
Text Domain: updraftplus
|
@@ -13,21 +13,35 @@ Author URI: http://updraftplus.com
|
|
13 |
|
14 |
/*
|
15 |
TODO - some of these are out of date/done, needs pruning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
// When you migrate/restore, if there is a .htaccess, warn/give option about it.
|
17 |
// Add an appeal for translators to email me.
|
18 |
-
//
|
19 |
-
//
|
20 |
-
//
|
|
|
|
|
|
|
|
|
|
|
21 |
// Some code assumes that the updraft_dir is inside WP_CONTENT_DIR. We should be using WP_Filesystem::find_folder to remove this assumption
|
22 |
// When restoring core, need an option to retain database settings / exclude wp-config.php
|
23 |
// Produce a command-line version of the restorer (so that people with shell access are immune from server-enforced timeouts)
|
|
|
24 |
// More sophisticated pruning options - e.g. "but only keep 1 backup every <x> <days> after <y> <weeks>"
|
25 |
-
// Migrator -
|
26 |
// April 20, 2015: This is the date when the Google Documents API is likely to stop working (https://developers.google.com/google-apps/documents-list/terms)
|
27 |
// Fix-time add-on should also fix the day/date, when relevant
|
28 |
// Search for other TODO-s in the code
|
|
|
29 |
// Stand-alone installer - take a look at this: http://wordpress.org/extend/plugins/duplicator/screenshots/
|
30 |
-
// Migrator should search+replace table by table if possible. Pick the "Backup of: " field out the db dump to get site_url() in advance. Perform an action each table. Remember which ones have been done. Then at the end, pick up those not done.
|
31 |
// More DB add-on (other non-WP tables; even other databases)
|
32 |
// Unlimited customers should be auto-emailed each time they add a site (security)
|
33 |
// Update all-features page at updraftplus.com (not updated after 1.5.5)
|
@@ -48,7 +62,7 @@ TODO - some of these are out of date/done, needs pruning
|
|
48 |
//Do an automated test periodically for the success of loop-back connections
|
49 |
//When a manual backup is run, use a timer to update the 'Download backups and logs' section, just like 'Last finished backup run'. Beware of over-writing anything that's in there from a resumable downloader.
|
50 |
//Change DB encryption to not require whole gzip in memory (twice)
|
51 |
-
//Add
|
52 |
//Make it easier to find add-ons
|
53 |
//The restorer has a hard-coded wp-content - fix
|
54 |
//?? On 'backup now', open up a modal, count down 5 seconds, open page via modal, then start examining the log file (if it can be found)
|
@@ -96,9 +110,12 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
96 |
define('UPDRAFTPLUS_DIR', dirname(__FILE__));
|
97 |
define('UPDRAFTPLUS_URL', plugins_url('', __FILE__));
|
98 |
define('UPDRAFT_DEFAULT_OTHERS_EXCLUDE','upgrade,cache,updraft,index.php,backup,backups');
|
|
|
|
|
|
|
99 |
// This is used in various places, based on our assumption of the maximum time any job should take. May need lengthening in future if we get reports which show enormous sets hitting the limit.
|
100 |
-
// Also one section requires at least 1% progress each run, so on a 5-minute schedule, that equals just under 9 hours - then an extra allowance takes it just over
|
101 |
-
define('UPDRAFT_TRANSTIME', 3600*
|
102 |
|
103 |
// Load add-ons
|
104 |
if (is_file(UPDRAFTPLUS_DIR.'/premium.php')) require_once(UPDRAFTPLUS_DIR.'/premium.php');
|
@@ -117,7 +134,10 @@ if (!isset($updraftplus)) $updraftplus = new UpdraftPlus();
|
|
117 |
|
118 |
if (!$updraftplus->memory_check(192)) {
|
119 |
// Experience appears to show that the memory limit is only likely to be hit (unless it is very low) by single files that are larger than available memory (when compressed)
|
120 |
-
|
|
|
|
|
|
|
121 |
}
|
122 |
|
123 |
if (!class_exists('UpdraftPlus_Options')) require_once(UPDRAFTPLUS_DIR.'/options.php');
|
@@ -139,6 +159,7 @@ class UpdraftPlus {
|
|
139 |
"ftp" => "FTP",
|
140 |
'sftp' => 'SFTP',
|
141 |
'webdav' => 'WebDAV',
|
|
|
142 |
"email" => "Email"
|
143 |
);
|
144 |
|
@@ -154,6 +175,7 @@ class UpdraftPlus {
|
|
154 |
var $backup_dir;
|
155 |
|
156 |
var $jobdata;
|
|
|
157 |
|
158 |
// Used to schedule resumption attempts beyond the tenth, if needed
|
159 |
var $current_resumption;
|
@@ -179,12 +201,12 @@ class UpdraftPlus {
|
|
179 |
add_action('admin_menu', array($this,'admin_init'), 9);
|
180 |
add_action('updraft_backup', array($this,'backup_files'));
|
181 |
add_action('updraft_backup_database', array($this,'backup_database'));
|
182 |
-
# backup_all is used by the manual "Backup Now" button
|
183 |
add_action('updraft_backup_all', array($this,'backup_all'));
|
184 |
# this is our runs-after-backup event, whose purpose is to see if it succeeded or failed, and resume/mom-up etc.
|
185 |
add_action('updraft_backup_resume', array($this,'backup_resume'), 10, 3);
|
186 |
# http://codex.wordpress.org/Plugin_API/Filter_Reference/cron_schedules
|
187 |
-
add_filter('cron_schedules', array($this,'modify_cron_schedules'));
|
188 |
add_action('plugins_loaded', array($this, 'load_translations'));
|
189 |
|
190 |
register_deactivation_hook(__FILE__, array($this, 'deactivation'));
|
@@ -299,15 +321,20 @@ class UpdraftPlus {
|
|
299 |
}
|
300 |
|
301 |
// Cleans up temporary files found in the updraft directory
|
302 |
-
|
|
|
|
|
303 |
$updraft_dir = $this->backups_dir_location();
|
304 |
if ($handle = opendir($updraft_dir)) {
|
305 |
$now_time=time();
|
306 |
while (false !== ($entry = readdir($handle))) {
|
307 |
// The latter match is for files created internally by zipArchive::addFile
|
308 |
-
if ((preg_match(
|
309 |
-
|
310 |
-
|
|
|
|
|
|
|
311 |
}
|
312 |
}
|
313 |
@closedir($handle);
|
@@ -330,8 +357,8 @@ class UpdraftPlus {
|
|
330 |
$this->logfile_handle = fopen($this->logfile_name, 'a');
|
331 |
$this->opened_log_time = microtime(true);
|
332 |
$this->log('Opened log file at time: '.date('r'));
|
333 |
-
@include(ABSPATH.'wp-includes/version.php');
|
334 |
global $wp_version;
|
|
|
335 |
$logline = "UpdraftPlus: ".$this->version." WP: ".$wp_version." PHP: ".phpversion()." (".php_uname().") Server: ".$_SERVER["SERVER_SOFTWARE"]." max_execution_time: ".@ini_get("max_execution_time")." memory_limit: ".ini_get('memory_limit')." ZipArchive::addFile : ";
|
336 |
|
337 |
// method_exists causes some faulty PHP installations to segfault, leading to support requests
|
@@ -346,14 +373,14 @@ class UpdraftPlus {
|
|
346 |
}
|
347 |
|
348 |
# Logs the given line, adding (relative) time stamp and newline
|
349 |
-
function log($line) {
|
350 |
if ($this->logfile_handle) fwrite($this->logfile_handle, sprintf("%08.03f", round(microtime(true)-$this->opened_log_time, 3))." (".$this->current_resumption.") $line\n");
|
351 |
if ('download' == $this->jobdata_get('job_type')) {
|
352 |
// Download messages are keyed on the job (since they could be running several), and transient
|
353 |
// The values of the POST array were checked before
|
354 |
set_transient('ud_dlmess_'.$_POST['timestamp'].'_'.$_POST['type'], $line." (".date('M d H:i:s').")", 3600);
|
355 |
} else {
|
356 |
-
UpdraftPlus_Options::update_updraft_option('updraft_lastmessage', $line." (".date('M d H:i:s').")");
|
357 |
}
|
358 |
if (defined('UPDRAFTPLUS_CONSOLELOG')) print $line."\n";
|
359 |
}
|
@@ -369,21 +396,93 @@ class UpdraftPlus {
|
|
369 |
$log = ucfirst($service)." chunked upload: $percent % uploaded";
|
370 |
if ($extra) $log .= " ($extra)";
|
371 |
$this->log($log);
|
372 |
-
// If we are on an 'overtime' resumption run, and we are still
|
373 |
-
// Our definition of meaningful is that we must maintain an overall average of at least
|
374 |
-
// i.e. Max
|
375 |
-
// If they get 2 minutes on each run, and the file is 1Gb, then that equals 10.2Mb/120s = minimum
|
376 |
|
377 |
-
|
|
|
378 |
$this->something_useful_happened();
|
379 |
}
|
380 |
}
|
381 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
382 |
function something_useful_happened() {
|
383 |
|
|
|
|
|
384 |
// First, update the record of maximum detected runtime on each run
|
385 |
$time_passed = $this->jobdata_get('run_times');
|
386 |
if (!is_array($time_passed)) $time_passed = array();
|
|
|
387 |
$time_passed[$this->current_resumption] = microtime(true)-$this->opened_log_time;
|
388 |
$this->jobdata_set('run_times', $time_passed);
|
389 |
|
@@ -488,23 +587,12 @@ class UpdraftPlus {
|
|
488 |
|
489 |
// We just do this once, as we don't want to be in permanent conflict with the overlap detector
|
490 |
if ($resumption_no == 8) {
|
491 |
-
$max_time = 0;
|
492 |
// $time_passed is set earlier
|
493 |
-
$timings_string =
|
494 |
-
$run_times_known=0;
|
495 |
-
for ($i=0; $i<=7; $i++) {
|
496 |
-
$timings_string .= "$i:";
|
497 |
-
if (isset($time_passed[$i])) {
|
498 |
-
$timings_string .= round($time_passed[$i], 1).' ';
|
499 |
-
$run_times_known++;
|
500 |
-
if ($time_passed[$i] > $max_time) $max_time = round($time_passed[$i]);
|
501 |
-
} else {
|
502 |
-
$timings_string .= '? ';
|
503 |
-
}
|
504 |
-
}
|
505 |
$this->log("Time passed on previous resumptions: $timings_string (known: $run_times_known, max: $max_time)");
|
506 |
-
|
507 |
-
|
|
|
508 |
$this->log("Based on the available data, we are bringing the resumption interval down to: $resume_interval seconds");
|
509 |
$this->jobdata_set('resume_interval', $resume_interval);
|
510 |
}
|
@@ -601,27 +689,45 @@ class UpdraftPlus {
|
|
601 |
$this->log("$file: $key: This file has not yet been successfully uploaded: will queue");
|
602 |
$undone_files[$key] = $file;
|
603 |
} else {
|
604 |
-
$this->log("$file: Note: This file was not marked as successfully uploaded, but does not exist on the local filesystem");
|
605 |
$this->uploaded_file($file);
|
606 |
}
|
607 |
}
|
608 |
|
609 |
if (count($undone_files) == 0) {
|
|
|
610 |
$this->log("There were no more files that needed uploading; backup job is complete");
|
611 |
// No email, as the user probably already got one if something else completed the run
|
612 |
$this->backup_finish($next_resumption, true, false, $resumption_no);
|
613 |
return;
|
|
|
|
|
|
|
614 |
}
|
615 |
|
616 |
-
$this->log("Requesting backup of the files that were not successfully uploaded");
|
617 |
-
$this->cloud_backup($undone_files);
|
618 |
-
|
619 |
$this->log("Resume backup ($bnonce, $resumption_no): finish run");
|
620 |
if (is_array($our_files)) $this->save_last_backup($our_files);
|
621 |
$this->backup_finish($next_resumption, true, true, $resumption_no);
|
622 |
|
623 |
}
|
624 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
625 |
function backup_all() {
|
626 |
$this->boot_backup(true,true);
|
627 |
}
|
@@ -656,15 +762,24 @@ class UpdraftPlus {
|
|
656 |
if (!is_array($this->jobdata)) $this->jobdata = array();
|
657 |
}
|
658 |
$this->jobdata[$key] = $value;
|
659 |
-
set_transient("updraft_jobdata_".$this->nonce, $this->jobdata,
|
660 |
}
|
661 |
|
662 |
-
function
|
663 |
if (!is_array($this->jobdata)) {
|
664 |
$this->jobdata = get_transient("updraft_jobdata_".$this->nonce);
|
665 |
-
if (!is_array($this->jobdata))
|
666 |
}
|
667 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
668 |
}
|
669 |
|
670 |
// This uses a transient; its only purpose is to indicate *total* completion; there is no actual danger, just wasted time, in resuming when it was not needed. So the transient just helps save resources.
|
@@ -737,7 +852,8 @@ class UpdraftPlus {
|
|
737 |
'resume_interval', $resume_interval,
|
738 |
'job_type', 'backup',
|
739 |
'backup_time', $this->backup_time,
|
740 |
-
'service', UpdraftPlus_Options::get_updraft_option('updraft_service')
|
|
|
741 |
);
|
742 |
|
743 |
// Save what *should* be done, to make it resumable from this point on
|
@@ -781,14 +897,16 @@ class UpdraftPlus {
|
|
781 |
}
|
782 |
}
|
783 |
|
784 |
-
function backup_finish($cancel_event, $
|
|
|
|
|
785 |
|
786 |
// In fact, leaving the hook to run (if debug is set) is harmless, as the resume job should only do tasks that were left unfinished, which at this stage is none.
|
787 |
if (empty($this->errors)) {
|
788 |
-
if ($
|
789 |
$this->log("There were no errors in the uploads, so the 'resume' event is being unscheduled");
|
790 |
wp_clear_scheduled_hook('updraft_backup_resume', array($cancel_event, $this->nonce));
|
791 |
-
|
792 |
}
|
793 |
} else {
|
794 |
$this->log("There were errors in the uploads, so the 'resume' event is remaining scheduled");
|
@@ -862,12 +980,38 @@ class UpdraftPlus {
|
|
862 |
|
863 |
$this->log("Sending email ('$backup_contains') report to: ".substr($sendmail_to, 0, 5)."...");
|
864 |
|
865 |
-
$append_log =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
866 |
|
867 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
868 |
|
869 |
}
|
870 |
|
|
|
|
|
|
|
|
|
871 |
function save_last_backup($backup_array) {
|
872 |
$success = (empty($this->errors)) ? 1 : 0;
|
873 |
|
@@ -904,20 +1048,24 @@ class UpdraftPlus {
|
|
904 |
if (file_exists($method_include)) require_once($method_include);
|
905 |
remove_action('http_api_curl', array($this, 'add_curl_capath'));
|
906 |
|
907 |
-
if ($service == "none") {
|
908 |
$this->log("No remote despatch: user chose no remote backup service");
|
909 |
} else {
|
910 |
$this->log("Beginning dispatch of backup to remote");
|
911 |
}
|
912 |
|
913 |
$objname = "UpdraftPlus_BackupModule_${service}";
|
914 |
-
if (
|
915 |
// New style - external, allowing more plugability
|
916 |
$remote_obj = new $objname;
|
917 |
$remote_obj->backup($backup_array);
|
918 |
-
} elseif ($service == "none") {
|
919 |
$this->prune_retained_backups("none", null, null);
|
|
|
|
|
|
|
920 |
}
|
|
|
921 |
}
|
922 |
|
923 |
function prune_file($service, $dofile, $method_object = null, $object_passback = null ) {
|
@@ -1052,13 +1200,13 @@ class UpdraftPlus {
|
|
1052 |
if (empty($this->newresumption_scheduled)) return;
|
1053 |
$time_now = time();
|
1054 |
$time_away = $this->newresumption_scheduled - $time_now;
|
1055 |
-
//
|
1056 |
-
if ($time_away >1 && $time_away <=
|
1057 |
-
$this->log('The scheduled resumption is within
|
1058 |
// Push 30 seconds into the future
|
1059 |
// $this->reschedule(60);
|
1060 |
-
// Increase interval generally by
|
1061 |
-
$this->increase_resume_and_reschedule(
|
1062 |
}
|
1063 |
}
|
1064 |
|
@@ -1127,6 +1275,22 @@ class UpdraftPlus {
|
|
1127 |
|
1128 |
$possible_backups = $this->get_backupable_file_entities(false);
|
1129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1130 |
# Plugins, themes, uploads
|
1131 |
foreach ($possible_backups as $youwhat => $whichdir) {
|
1132 |
|
@@ -1178,14 +1342,7 @@ class UpdraftPlus {
|
|
1178 |
A string containing a list of filename or dirname separated by a comma.
|
1179 |
*/
|
1180 |
|
1181 |
-
|
1182 |
-
$others_skip = preg_split("/,/",UpdraftPlus_Options::get_updraft_option('updraft_include_others_exclude', UPDRAFT_DEFAULT_OTHERS_EXCLUDE));
|
1183 |
-
# Make the values into the keys
|
1184 |
-
$others_skip = array_flip($others_skip);
|
1185 |
-
|
1186 |
-
$possible_backups_dirs = array_flip($possible_backups);
|
1187 |
-
|
1188 |
-
$other_dirlist = $this->compile_folder_list_for_backup(WP_CONTENT_DIR, $possible_backups_dirs, $others_skip);
|
1189 |
|
1190 |
if (count($other_dirlist)>0) {
|
1191 |
$created = $updraftplus_backup->create_zip($other_dirlist, 'others', $updraft_dir, $backup_file_basename);
|
@@ -1205,6 +1362,20 @@ class UpdraftPlus {
|
|
1205 |
return $backup_array;
|
1206 |
}
|
1207 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1208 |
// avoid_these_dirs and skip_these_dirs ultimately do the same thing; but avoid_these_dirs takes full paths whereas skip_these_dirs takes basenames; and they are logged differently (avoid is potentially dangerous; skip is just a preference). They are allowed to overlap.
|
1209 |
function compile_folder_list_for_backup($backup_from_inside_dir, $avoid_these_dirs, $skip_these_dirs) {
|
1210 |
|
@@ -1286,12 +1457,15 @@ class UpdraftPlus {
|
|
1286 |
function backup_db_header() {
|
1287 |
|
1288 |
@include(ABSPATH.'wp-includes/version.php');
|
1289 |
-
global $wp_version;
|
1290 |
|
1291 |
$this->stow("# WordPress MySQL database backup\n");
|
1292 |
$this->stow("# Created by UpdraftPlus version ".$this->version." (http://updraftplus.com)\n");
|
1293 |
$this->stow("# WordPress Version: $wp_version, running on PHP ".phpversion()." (".$_SERVER["SERVER_SOFTWARE"].")\n");
|
1294 |
$this->stow("# Backup of: ".site_url()."\n");
|
|
|
|
|
|
|
1295 |
|
1296 |
$this->stow("#\n");
|
1297 |
$this->stow("# " . sprintf(__('Generated: %s','wp-db-backup'),date("l j. F Y H:i T")) . "\n");
|
@@ -1308,7 +1482,7 @@ class UpdraftPlus {
|
|
1308 |
$this->stow("/*!40101 SET foreign_key_checks = 0 */;\n");
|
1309 |
}
|
1310 |
|
1311 |
-
// The purpose of this function is to make sure that the options table is put in the database first, then the usermeta table
|
1312 |
function backup_db_sorttables($a, $b) {
|
1313 |
global $table_prefix;
|
1314 |
if ($a == $b) return 0;
|
@@ -1351,6 +1525,9 @@ class UpdraftPlus {
|
|
1351 |
$all_tables = $wpdb->get_results("SHOW TABLES", ARRAY_N);
|
1352 |
$all_tables = array_map(create_function('$a', 'return $a[0];'), $all_tables);
|
1353 |
|
|
|
|
|
|
|
1354 |
if (!is_writable($updraft_dir)) {
|
1355 |
$this->log("The backup directory ($updraft_dir) is not writable.");
|
1356 |
$this->error("$updraft_dir: ".__('The backup directory is not writable.','updraftplus'));
|
@@ -1359,9 +1536,6 @@ class UpdraftPlus {
|
|
1359 |
|
1360 |
$stitch_files = array();
|
1361 |
|
1362 |
-
// Put the options table first
|
1363 |
-
usort($all_tables, array($this, 'backup_db_sorttables'));
|
1364 |
-
|
1365 |
foreach ($all_tables as $table) {
|
1366 |
$total_tables++;
|
1367 |
// Increase script execution time-limit to 15 min for every table.
|
@@ -1397,10 +1571,10 @@ class UpdraftPlus {
|
|
1397 |
$backup_final_file_name = $backup_file_base.'-db.gz';
|
1398 |
$time_now = time();
|
1399 |
$time_mod = (int)@filemtime($backup_final_file_name);
|
1400 |
-
if (file_exists($backup_final_file_name) && $time_mod>100 && ($time_now-$time_mod)<
|
1401 |
$this->terminate_due_to_activity($backup_final_file_name, $time_now, $time_mod);
|
1402 |
} elseif (file_exists($backup_final_file_name)) {
|
1403 |
-
$this->log("The final database file ($backup_final_file_name) exists, but was apparently not modified within the last
|
1404 |
}
|
1405 |
|
1406 |
// Finally, stitch the files together
|
@@ -1414,7 +1588,7 @@ class UpdraftPlus {
|
|
1414 |
$this->log("{$table_file}.gz: adding to final database dump");
|
1415 |
if (!$handle = gzopen($updraft_dir.'/'.$table_file.'.gz', "r")) {
|
1416 |
$this->log("Error: Failed to open database file for reading: ${table_file}.gz");
|
1417 |
-
$this->error("
|
1418 |
} else {
|
1419 |
while ($line = gzgets($handle, 2048)) { $this->stow($line); }
|
1420 |
gzclose($handle);
|
@@ -1445,7 +1619,7 @@ class UpdraftPlus {
|
|
1445 |
|
1446 |
function terminate_due_to_activity($file, $time_now, $time_mod) {
|
1447 |
$file_size = filesize($file);
|
1448 |
-
$this->log("Terminate: the final database file ($file) exists, and was modified within the last
|
1449 |
$this->increase_resume_and_reschedule(120, true);
|
1450 |
die;
|
1451 |
}
|
@@ -1535,10 +1709,10 @@ class UpdraftPlus {
|
|
1535 |
|
1536 |
if($segment == 'none') {
|
1537 |
$row_start = 0;
|
1538 |
-
$row_inc =
|
1539 |
} else {
|
1540 |
-
$row_start = $segment *
|
1541 |
-
$row_inc =
|
1542 |
}
|
1543 |
|
1544 |
do {
|
@@ -1707,6 +1881,7 @@ class UpdraftPlus {
|
|
1707 |
return $schedules;
|
1708 |
}
|
1709 |
|
|
|
1710 |
function backups_dir_location() {
|
1711 |
|
1712 |
if (!empty($this->backup_dir)) return $this->backup_dir;
|
@@ -1792,14 +1967,14 @@ class UpdraftPlus {
|
|
1792 |
return ($input > 0 && $input < 3650) ? $input : 1;
|
1793 |
}
|
1794 |
|
1795 |
-
function memory_check_current() {
|
1796 |
# Returns in megabytes
|
1797 |
-
$memory_limit = ini_get('memory_limit');
|
1798 |
$memory_unit = $memory_limit[strlen($memory_limit)-1];
|
1799 |
$memory_limit = substr($memory_limit,0,strlen($memory_limit)-1);
|
1800 |
switch($memory_unit) {
|
1801 |
case 'K':
|
1802 |
-
$memory_limit = $memory_limit/1024;
|
1803 |
break;
|
1804 |
case 'G':
|
1805 |
$memory_limit = $memory_limit*1024;
|
@@ -1811,8 +1986,8 @@ class UpdraftPlus {
|
|
1811 |
return $memory_limit;
|
1812 |
}
|
1813 |
|
1814 |
-
function memory_check($memory) {
|
1815 |
-
$memory_limit = $this->memory_check_current();
|
1816 |
return ($memory_limit >= $memory)?true:false;
|
1817 |
}
|
1818 |
|
@@ -1835,7 +2010,8 @@ class UpdraftPlus {
|
|
1835 |
if (defined('WPLANG') && strlen(WPLANG)>0 && !is_file(UPDRAFTPLUS_DIR.'/languages/updraftplus-'.WPLANG.
|
1836 |
'.mo')) return __('Can you translate? Want to improve UpdraftPlus for speakers of your language?','updraftplus').$this->url_start($urls,'updraftplus.com/translate/')."Please go here for instructions - it is easy.".$this->url_end($urls,'updraftplus.com/translate/');
|
1837 |
|
1838 |
-
return __('
|
|
|
1839 |
case 2:
|
1840 |
return $this->url_start($urls,'wordshell.net')."Check out WordShell".$this->url_end($urls,'www.wordshell.net')." - manage WordPress from the command line - huge time-saver";
|
1841 |
break;
|
@@ -1853,7 +2029,8 @@ class UpdraftPlus {
|
|
1853 |
}
|
1854 |
break;
|
1855 |
case 6:
|
1856 |
-
|
|
|
1857 |
break;
|
1858 |
case 7:
|
1859 |
return $this->url_start($urls,'updraftplus.com').__("Check out UpdraftPlus.Com for help, add-ons and support",'updraftplus').$this->url_end($urls,'updraftplus.com');
|
4 |
Plugin URI: http://updraftplus.com
|
5 |
Description: Backup and restore: take backups locally, or backup to Amazon S3, Dropbox, Google Drive, Rackspace, (S)FTP, WebDAV & email, on automatic schedules.
|
6 |
Author: UpdraftPlus.Com, DavidAnderson
|
7 |
+
Version: 1.6.17
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
Text Domain: updraftplus
|
13 |
|
14 |
/*
|
15 |
TODO - some of these are out of date/done, needs pruning
|
16 |
+
// Option to delete backup sets manually
|
17 |
+
// Check with P3 (Plugin Performance Profiler)
|
18 |
+
// Implement error levels - need to have a 'warning' level which is not treated as an error, but is passed more visibly to the user (e.g. ginormous database tables)
|
19 |
+
// Testing framework - automated testing of all file upload / download / deletion methods
|
20 |
+
// Ginormous tables - need to make sure we "touch" the being-written-out-file (and double-check that we check for that) every 15 seconds - https://friendpaste.com/697eKEcWib01o6zT1foFIn
|
21 |
+
// S3-compatible storage providers: http://www.dragondisk.com/s3-storage-providers.html
|
22 |
+
// Import single site into a multisite: http://codex.wordpress.org/Migrating_Multiple_Blogs_into_WordPress_3.0_Multisite, http://wordpress.org/support/topic/single-sites-to-multisite?replies=5, http://wpmu.org/import-export-wordpress-sites-multisite/
|
23 |
+
// Add note in FAQs about 'maintenance mode' plugins
|
24 |
// When you migrate/restore, if there is a .htaccess, warn/give option about it.
|
25 |
// Add an appeal for translators to email me.
|
26 |
+
// Wipe settings appears to not wipe S3 settings
|
27 |
+
// Log if non-omnipresent entities (e.g. blogs.dir, mu-plugins) are not present and we were asked to back them up
|
28 |
+
// In 'overtime', schedule the resumptions in groups of 2 or 3, not just 1
|
29 |
+
// 'Show log' should be done in a nice pop-out, with a button to download the raw
|
30 |
+
// delete_old_dirs() needs to use WP_Filesystem in a more user-friendly way when errors occur
|
31 |
+
// Bulk download of entire set at once (not have to click 7 times).
|
32 |
+
// Restoration should also clear all common cache locations (or just not back them up)
|
33 |
+
// Deal with gigantic database tables - e.g. those over a million rows on cheap hosting.
|
34 |
// Some code assumes that the updraft_dir is inside WP_CONTENT_DIR. We should be using WP_Filesystem::find_folder to remove this assumption
|
35 |
// When restoring core, need an option to retain database settings / exclude wp-config.php
|
36 |
// Produce a command-line version of the restorer (so that people with shell access are immune from server-enforced timeouts)
|
37 |
+
// Restorations should be logged also
|
38 |
// More sophisticated pruning options - e.g. "but only keep 1 backup every <x> <days> after <y> <weeks>"
|
39 |
+
// Migrator - list+download from remote, kick-off backup remotely
|
40 |
// April 20, 2015: This is the date when the Google Documents API is likely to stop working (https://developers.google.com/google-apps/documents-list/terms)
|
41 |
// Fix-time add-on should also fix the day/date, when relevant
|
42 |
// Search for other TODO-s in the code
|
43 |
+
// More databases
|
44 |
// Stand-alone installer - take a look at this: http://wordpress.org/extend/plugins/duplicator/screenshots/
|
|
|
45 |
// More DB add-on (other non-WP tables; even other databases)
|
46 |
// Unlimited customers should be auto-emailed each time they add a site (security)
|
47 |
// Update all-features page at updraftplus.com (not updated after 1.5.5)
|
62 |
//Do an automated test periodically for the success of loop-back connections
|
63 |
//When a manual backup is run, use a timer to update the 'Download backups and logs' section, just like 'Last finished backup run'. Beware of over-writing anything that's in there from a resumable downloader.
|
64 |
//Change DB encryption to not require whole gzip in memory (twice)
|
65 |
+
//Add Box.Net, SugarSync, Me.Ga support??
|
66 |
//Make it easier to find add-ons
|
67 |
//The restorer has a hard-coded wp-content - fix
|
68 |
//?? On 'backup now', open up a modal, count down 5 seconds, open page via modal, then start examining the log file (if it can be found)
|
110 |
define('UPDRAFTPLUS_DIR', dirname(__FILE__));
|
111 |
define('UPDRAFTPLUS_URL', plugins_url('', __FILE__));
|
112 |
define('UPDRAFT_DEFAULT_OTHERS_EXCLUDE','upgrade,cache,updraft,index.php,backup,backups');
|
113 |
+
|
114 |
+
if (!defined('UPDRAFTPLUS_ZIP_EXECUTABLE')) define('UPDRAFTPLUS_ZIP_EXECUTABLE', "/usr/bin/zip,/bin/zip,/usr/local/bin/zip,/usr/sfw/bin/zip,/usr/xdg4/bin/zip,/opt/bin/zip");
|
115 |
+
|
116 |
// This is used in various places, based on our assumption of the maximum time any job should take. May need lengthening in future if we get reports which show enormous sets hitting the limit.
|
117 |
+
// Also one section requires at least 1% progress each run, so on a 5-minute schedule, that equals just under 9 hours - then an extra allowance takes it just over. (However these days, we reduce the scheduling time if possible, so we get more attempts).
|
118 |
+
define('UPDRAFT_TRANSTIME', 3600*12);
|
119 |
|
120 |
// Load add-ons
|
121 |
if (is_file(UPDRAFTPLUS_DIR.'/premium.php')) require_once(UPDRAFTPLUS_DIR.'/premium.php');
|
134 |
|
135 |
if (!$updraftplus->memory_check(192)) {
|
136 |
// Experience appears to show that the memory limit is only likely to be hit (unless it is very low) by single files that are larger than available memory (when compressed)
|
137 |
+
# Add sanity check - found someone who'd set WP_MAX_MEMORY_LIMIT to 256K !
|
138 |
+
if (!$updraftplus->memory_check($updraftplus->memory_check_current(WP_MAX_MEMORY_LIMIT))) {
|
139 |
+
@ini_set('memory_limit', WP_MAX_MEMORY_LIMIT); //up the memory limit to the maximum WordPress is allowing for large backup files
|
140 |
+
}
|
141 |
}
|
142 |
|
143 |
if (!class_exists('UpdraftPlus_Options')) require_once(UPDRAFTPLUS_DIR.'/options.php');
|
159 |
"ftp" => "FTP",
|
160 |
'sftp' => 'SFTP',
|
161 |
'webdav' => 'WebDAV',
|
162 |
+
'dreamobjects' => 'DreamObjects',
|
163 |
"email" => "Email"
|
164 |
);
|
165 |
|
175 |
var $backup_dir;
|
176 |
|
177 |
var $jobdata;
|
178 |
+
var $something_useful_happened = false;
|
179 |
|
180 |
// Used to schedule resumption attempts beyond the tenth, if needed
|
181 |
var $current_resumption;
|
201 |
add_action('admin_menu', array($this,'admin_init'), 9);
|
202 |
add_action('updraft_backup', array($this,'backup_files'));
|
203 |
add_action('updraft_backup_database', array($this,'backup_database'));
|
204 |
+
# backup_all is used by the manual "Backup Now" button
|
205 |
add_action('updraft_backup_all', array($this,'backup_all'));
|
206 |
# this is our runs-after-backup event, whose purpose is to see if it succeeded or failed, and resume/mom-up etc.
|
207 |
add_action('updraft_backup_resume', array($this,'backup_resume'), 10, 3);
|
208 |
# http://codex.wordpress.org/Plugin_API/Filter_Reference/cron_schedules
|
209 |
+
add_filter('cron_schedules', array($this,'modify_cron_schedules'), 30);
|
210 |
add_action('plugins_loaded', array($this, 'load_translations'));
|
211 |
|
212 |
register_deactivation_hook(__FILE__, array($this, 'deactivation'));
|
321 |
}
|
322 |
|
323 |
// Cleans up temporary files found in the updraft directory
|
324 |
+
// If no parameters are specified, then cleans up temporary files over 12 hours old.
|
325 |
+
// With parameters, cleans up just those.
|
326 |
+
function clean_temporary_files($match = '') {
|
327 |
$updraft_dir = $this->backups_dir_location();
|
328 |
if ($handle = opendir($updraft_dir)) {
|
329 |
$now_time=time();
|
330 |
while (false !== ($entry = readdir($handle))) {
|
331 |
// The latter match is for files created internally by zipArchive::addFile
|
332 |
+
if ((preg_match("/$match\.tmp(\.gz)?$/i", $entry) || preg_match("/$match\.zip\.tmp\.([A-Za-z0-9]){6}?$/i", $entry)) && is_file($updraft_dir.'/'.$entry)) {
|
333 |
+
// We delete if a parameter was specified, or if over 12 hours old
|
334 |
+
if ($match || $now_time-filemtime($updraft_dir.'/'.$entry)>43200) {
|
335 |
+
$this->log("Deleting old temporary file: $entry");
|
336 |
+
@unlink($updraft_dir.'/'.$entry);
|
337 |
+
}
|
338 |
}
|
339 |
}
|
340 |
@closedir($handle);
|
357 |
$this->logfile_handle = fopen($this->logfile_name, 'a');
|
358 |
$this->opened_log_time = microtime(true);
|
359 |
$this->log('Opened log file at time: '.date('r'));
|
|
|
360 |
global $wp_version;
|
361 |
+
@include(ABSPATH.'wp-includes/version.php');
|
362 |
$logline = "UpdraftPlus: ".$this->version." WP: ".$wp_version." PHP: ".phpversion()." (".php_uname().") Server: ".$_SERVER["SERVER_SOFTWARE"]." max_execution_time: ".@ini_get("max_execution_time")." memory_limit: ".ini_get('memory_limit')." ZipArchive::addFile : ";
|
363 |
|
364 |
// method_exists causes some faulty PHP installations to segfault, leading to support requests
|
373 |
}
|
374 |
|
375 |
# Logs the given line, adding (relative) time stamp and newline
|
376 |
+
function log($line, $save_transient = true) {
|
377 |
if ($this->logfile_handle) fwrite($this->logfile_handle, sprintf("%08.03f", round(microtime(true)-$this->opened_log_time, 3))." (".$this->current_resumption.") $line\n");
|
378 |
if ('download' == $this->jobdata_get('job_type')) {
|
379 |
// Download messages are keyed on the job (since they could be running several), and transient
|
380 |
// The values of the POST array were checked before
|
381 |
set_transient('ud_dlmess_'.$_POST['timestamp'].'_'.$_POST['type'], $line." (".date('M d H:i:s').")", 3600);
|
382 |
} else {
|
383 |
+
if ($save_transient) UpdraftPlus_Options::update_updraft_option('updraft_lastmessage', $line." (".date('M d H:i:s').")");
|
384 |
}
|
385 |
if (defined('UPDRAFTPLUS_CONSOLELOG')) print $line."\n";
|
386 |
}
|
396 |
$log = ucfirst($service)." chunked upload: $percent % uploaded";
|
397 |
if ($extra) $log .= " ($extra)";
|
398 |
$this->log($log);
|
399 |
+
// If we are on an 'overtime' resumption run, and we are still meaningfully uploading, then schedule a new resumption
|
400 |
+
// Our definition of meaningful is that we must maintain an overall average of at least 0.7% per run, after allowing 9 runs for everything else to get going
|
401 |
+
// i.e. Max 100/.7 + 9 = 150 runs = 760 minutes = 12 hrs 40, if spaced at 5 minute intervals. However, our algorithm now decreases the intervals if it can, so this should not really come into play
|
402 |
+
// If they get 2 minutes on each run, and the file is 1Gb, then that equals 10.2Mb/120s = minimum 59Kb/s upload speed required
|
403 |
|
404 |
+
// What this means in effect is that at least one of the files touched during the run must reach this percentage (so lapping round from 100 is OK)
|
405 |
+
if ($percent > 0.7 * ( $this->current_resumption - 9)) {
|
406 |
$this->something_useful_happened();
|
407 |
}
|
408 |
}
|
409 |
|
410 |
+
function find_working_bin_zip($logit = true) {
|
411 |
+
if ( @ini_get('safe_mode') && strtolower(@ini_get('safe_mode')) != "off") return false;
|
412 |
+
// The hosting provider may have explicitly disabled the popen function
|
413 |
+
if (!function_exists('popen')) return false;
|
414 |
+
$updraft_dir = $this->backups_dir_location();
|
415 |
+
foreach (explode(',', UPDRAFTPLUS_ZIP_EXECUTABLE) as $potzip) {
|
416 |
+
if ($logit) $this->log("Testing: $potzip");
|
417 |
+
if (@is_executable($potzip)) {
|
418 |
+
# Test it, see if it is compatible with Info-ZIP
|
419 |
+
# If you have another kind of zip, then feel free to tell me about it
|
420 |
+
@mkdir($updraft_dir.'/binziptest/subdir1/subdir2', 0777, true);
|
421 |
+
file_put_contents($updraft_dir.'/binziptest/subdir1/subdir2/test.html', '<html></body><a href="http://updraftplus.com">UpdraftPlus is a great backup and restoration plugin for WordPress.</body></html>');
|
422 |
+
@unlink($updraft_dir.'/binziptest/test.zip');
|
423 |
+
if (is_file($updraft_dir.'/binziptest/subdir1/subdir2/test.html')) {
|
424 |
+
|
425 |
+
$exec = "cd ".escapeshellarg($updraft_dir)."; $potzip -v -u -r binziptest/test.zip binziptest/subdir1";
|
426 |
+
|
427 |
+
$all_ok=true;
|
428 |
+
$handle = popen($exec, "r");
|
429 |
+
if ($handle) {
|
430 |
+
while (!feof($handle)) {
|
431 |
+
$w = fgets($handle);
|
432 |
+
if ($w && $logit) $this->log("Output: ".trim($w));
|
433 |
+
}
|
434 |
+
$ret = pclose($handle);
|
435 |
+
if ($ret !=0) {
|
436 |
+
if ($logit) $this->log("Binary zip: error (code: $ret)");
|
437 |
+
$all_ok = false;
|
438 |
+
}
|
439 |
+
} else {
|
440 |
+
if ($logit) $this->log("Error: popen failed");
|
441 |
+
$all_ok = false;
|
442 |
+
}
|
443 |
+
|
444 |
+
// Do we now actually have a working zip? Need to test the created object using PclZip
|
445 |
+
// If it passes, then remove dirs and then return $potzip;
|
446 |
+
|
447 |
+
if ($all_ok && file_exists($updraft_dir.'/binziptest/test.zip')) {
|
448 |
+
if(!class_exists('PclZip')) require_once(ABSPATH.'/wp-admin/includes/class-pclzip.php');
|
449 |
+
$zip = new PclZip($updraft_dir.'/binziptest/test.zip');
|
450 |
+
$foundit = 0;
|
451 |
+
if (($list = $zip->listContent()) != 0) {
|
452 |
+
foreach ($list as $obj) {
|
453 |
+
if ($list['filename'] && $list['stored_filename'] && $list['size']==127) $all_ok=-1;
|
454 |
+
}
|
455 |
+
}
|
456 |
+
}
|
457 |
+
$this->remove_binzip_test_files($updraft_dir);
|
458 |
+
if ($all_ok == -1 ) {
|
459 |
+
if ($logit) $this->log("Working binary zip found: $potzip");
|
460 |
+
return $potzip;
|
461 |
+
}
|
462 |
+
|
463 |
+
}
|
464 |
+
$this->remove_binzip_test_files($updraft_dir);
|
465 |
+
}
|
466 |
+
}
|
467 |
+
return false;
|
468 |
+
}
|
469 |
+
|
470 |
+
function remove_binzip_test_files($updraft_dir) {
|
471 |
+
@unlink($updraft_dir.'/binziptest/subdir1/subdir2/test.html');
|
472 |
+
@rmdir($updraft_dir.'/binziptest/subdir1/subdir2');
|
473 |
+
@rmdir($updraft_dir.'/binziptest/subdir1');
|
474 |
+
@unlink($updraft_dir.'/binziptest/test.zip');
|
475 |
+
@rmdir($updraft_dir.'/binziptest');
|
476 |
+
}
|
477 |
+
|
478 |
function something_useful_happened() {
|
479 |
|
480 |
+
$this->something_useful_happened = true;
|
481 |
+
|
482 |
// First, update the record of maximum detected runtime on each run
|
483 |
$time_passed = $this->jobdata_get('run_times');
|
484 |
if (!is_array($time_passed)) $time_passed = array();
|
485 |
+
|
486 |
$time_passed[$this->current_resumption] = microtime(true)-$this->opened_log_time;
|
487 |
$this->jobdata_set('run_times', $time_passed);
|
488 |
|
587 |
|
588 |
// We just do this once, as we don't want to be in permanent conflict with the overlap detector
|
589 |
if ($resumption_no == 8) {
|
|
|
590 |
// $time_passed is set earlier
|
591 |
+
list($max_time, $timings_string, $run_times_known) = $this->max_time_passed($time_passed, 7);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
$this->log("Time passed on previous resumptions: $timings_string (known: $run_times_known, max: $max_time)");
|
593 |
+
// Remember that 30 seconds is used as the 'perhaps something is still running' detection threshold
|
594 |
+
if ($run_times_known >= 6 && ($max_time + 38 < $resume_interval)) {
|
595 |
+
$resume_interval = round($max_time + 38);
|
596 |
$this->log("Based on the available data, we are bringing the resumption interval down to: $resume_interval seconds");
|
597 |
$this->jobdata_set('resume_interval', $resume_interval);
|
598 |
}
|
689 |
$this->log("$file: $key: This file has not yet been successfully uploaded: will queue");
|
690 |
$undone_files[$key] = $file;
|
691 |
} else {
|
692 |
+
$this->log("$file: Note: This file was not marked as successfully uploaded, but does not exist on the local filesystem $fullpath");
|
693 |
$this->uploaded_file($file);
|
694 |
}
|
695 |
}
|
696 |
|
697 |
if (count($undone_files) == 0) {
|
698 |
+
$this->log("Resume backup ($bnonce, $resumption_no): finish run");
|
699 |
$this->log("There were no more files that needed uploading; backup job is complete");
|
700 |
// No email, as the user probably already got one if something else completed the run
|
701 |
$this->backup_finish($next_resumption, true, false, $resumption_no);
|
702 |
return;
|
703 |
+
} else {
|
704 |
+
$this->log("Requesting backup of the files that were not successfully uploaded (".count($undone_files).")");
|
705 |
+
$this->cloud_backup($undone_files);
|
706 |
}
|
707 |
|
|
|
|
|
|
|
708 |
$this->log("Resume backup ($bnonce, $resumption_no): finish run");
|
709 |
if (is_array($our_files)) $this->save_last_backup($our_files);
|
710 |
$this->backup_finish($next_resumption, true, true, $resumption_no);
|
711 |
|
712 |
}
|
713 |
|
714 |
+
function max_time_passed($time_passed, $upto) {
|
715 |
+
$max_time = 0;
|
716 |
+
$timings_string = "";
|
717 |
+
$run_times_known=0;
|
718 |
+
for ($i=0; $i<=$upto; $i++) {
|
719 |
+
$timings_string .= "$i:";
|
720 |
+
if (isset($time_passed[$i])) {
|
721 |
+
$timings_string .= round($time_passed[$i], 1).' ';
|
722 |
+
$run_times_known++;
|
723 |
+
if ($time_passed[$i] > $max_time) $max_time = round($time_passed[$i]);
|
724 |
+
} else {
|
725 |
+
$timings_string .= '? ';
|
726 |
+
}
|
727 |
+
}
|
728 |
+
return array($max_time, $timings_string, $run_times_known);
|
729 |
+
}
|
730 |
+
|
731 |
function backup_all() {
|
732 |
$this->boot_backup(true,true);
|
733 |
}
|
762 |
if (!is_array($this->jobdata)) $this->jobdata = array();
|
763 |
}
|
764 |
$this->jobdata[$key] = $value;
|
765 |
+
set_transient("updraft_jobdata_".$this->nonce, $this->jobdata, UPDRAFT_TRANSTIME);
|
766 |
}
|
767 |
|
768 |
+
function jobdata_delete($key) {
|
769 |
if (!is_array($this->jobdata)) {
|
770 |
$this->jobdata = get_transient("updraft_jobdata_".$this->nonce);
|
771 |
+
if (!is_array($this->jobdata)) $this->jobdata = array();
|
772 |
}
|
773 |
+
unset($this->jobdata[$key]);
|
774 |
+
set_transient("updraft_jobdata_".$this->nonce, $this->jobdata, UPDRAFT_TRANSTIME);
|
775 |
+
}
|
776 |
+
|
777 |
+
function jobdata_get($key, $default = null) {
|
778 |
+
if (!is_array($this->jobdata)) {
|
779 |
+
$this->jobdata = get_transient("updraft_jobdata_".$this->nonce);
|
780 |
+
if (!is_array($this->jobdata)) return $default;
|
781 |
+
}
|
782 |
+
return (isset($this->jobdata[$key])) ? $this->jobdata[$key] : $default;
|
783 |
}
|
784 |
|
785 |
// This uses a transient; its only purpose is to indicate *total* completion; there is no actual danger, just wasted time, in resuming when it was not needed. So the transient just helps save resources.
|
852 |
'resume_interval', $resume_interval,
|
853 |
'job_type', 'backup',
|
854 |
'backup_time', $this->backup_time,
|
855 |
+
'service', UpdraftPlus_Options::get_updraft_option('updraft_service'),
|
856 |
+
'maxzipbatch', 26214400, #25Mb
|
857 |
);
|
858 |
|
859 |
// Save what *should* be done, to make it resumable from this point on
|
897 |
}
|
898 |
}
|
899 |
|
900 |
+
function backup_finish($cancel_event, $do_cleanup, $allow_email, $resumption_no) {
|
901 |
+
|
902 |
+
// The valid use of $do_cleanup is to indicate if in fact anything exists to clean up (if no job really started, then there may be nothing)
|
903 |
|
904 |
// In fact, leaving the hook to run (if debug is set) is harmless, as the resume job should only do tasks that were left unfinished, which at this stage is none.
|
905 |
if (empty($this->errors)) {
|
906 |
+
if ($do_cleanup) {
|
907 |
$this->log("There were no errors in the uploads, so the 'resume' event is being unscheduled");
|
908 |
wp_clear_scheduled_hook('updraft_backup_resume', array($cancel_event, $this->nonce));
|
909 |
+
delete_transient("updraft_jobdata_".$this->nonce);
|
910 |
}
|
911 |
} else {
|
912 |
$this->log("There were errors in the uploads, so the 'resume' event is remaining scheduled");
|
980 |
|
981 |
$this->log("Sending email ('$backup_contains') report to: ".substr($sendmail_to, 0, 5)."...");
|
982 |
|
983 |
+
$append_log = '';
|
984 |
+
$attachments = array();
|
985 |
+
if (count($this->errors)>0) {
|
986 |
+
$append_log .= __('Errors encountered:', 'updraftplus')."\r\n";
|
987 |
+
if (!empty($this->logfile_name)) $attachments[] = $this->logfile_name;
|
988 |
+
foreach ($this->errors as $err) {
|
989 |
+
if (is_wp_error($err)) {
|
990 |
+
foreach ($err->get_error_messages() as $msg) {
|
991 |
+
$append_log .= "* ".rtrim($msg)."\r\n";
|
992 |
+
}
|
993 |
+
} else {
|
994 |
+
$append_log .= "* ".rtrim($err)."\r\n";
|
995 |
+
}
|
996 |
+
}
|
997 |
+
$append_log.="\n";
|
998 |
+
}
|
999 |
|
1000 |
+
$append_log .= ($debug_mode && $this->logfile_name != "") ? "\r\nLog contents:\r\n".file_get_contents($this->logfile_name) : "" ;
|
1001 |
+
|
1002 |
+
// We have to use the action in order to set the MIME type on the attachment - by default, WordPress just puts application/octet-stream
|
1003 |
+
if (count($attachments)>0) add_action('phpmailer_init', array($this, 'phpmailer_init'));
|
1004 |
+
foreach (explode(',', $sendmail_to) as $sendmail_addr) {
|
1005 |
+
wp_mail(trim($sendmail_addr), __('Backed up', 'updraftplus').': '.get_bloginfo('name').' (UpdraftPlus '.$this->version.') '.date('Y-m-d H:i',time()),'Site: '.site_url()."\r\nUpdraftPlus: ".__('WordPress backup is complete','updraftplus').".\r\n".__('Backup contains','updraftplus').': '.$backup_contains."\r\n".__('Latest status', 'updraftplus').": $final_message\r\n\r\n".$this->wordshell_random_advert(0)."\r\n".$append_log);
|
1006 |
+
if (count($attachments)>0) remove_action('phpmailer_init', array($this, 'phpmailer_init'));
|
1007 |
+
}
|
1008 |
|
1009 |
}
|
1010 |
|
1011 |
+
function phpmailer_init($phpmailer) {
|
1012 |
+
$phpmailer->AddAttachment($this->logfile_name, '', 'base64', 'text/plain');
|
1013 |
+
}
|
1014 |
+
|
1015 |
function save_last_backup($backup_array) {
|
1016 |
$success = (empty($this->errors)) ? 1 : 0;
|
1017 |
|
1048 |
if (file_exists($method_include)) require_once($method_include);
|
1049 |
remove_action('http_api_curl', array($this, 'add_curl_capath'));
|
1050 |
|
1051 |
+
if ('' == $service || $service == "none") {
|
1052 |
$this->log("No remote despatch: user chose no remote backup service");
|
1053 |
} else {
|
1054 |
$this->log("Beginning dispatch of backup to remote");
|
1055 |
}
|
1056 |
|
1057 |
$objname = "UpdraftPlus_BackupModule_${service}";
|
1058 |
+
if (class_exists($objname)) {
|
1059 |
// New style - external, allowing more plugability
|
1060 |
$remote_obj = new $objname;
|
1061 |
$remote_obj->backup($backup_array);
|
1062 |
+
} elseif ('' == $service || $service == "none") {
|
1063 |
$this->prune_retained_backups("none", null, null);
|
1064 |
+
} elseif ('' != $service) {
|
1065 |
+
$this->log("Unexpected error: no method '$service' was found ($method_include)");
|
1066 |
+
$this->error(__("Unexpected error: no method '$service' was found (your UpdraftPlus installation seems broken - try re-installing)",'updraftplus'));
|
1067 |
}
|
1068 |
+
|
1069 |
}
|
1070 |
|
1071 |
function prune_file($service, $dofile, $method_object = null, $object_passback = null ) {
|
1200 |
if (empty($this->newresumption_scheduled)) return;
|
1201 |
$time_now = time();
|
1202 |
$time_away = $this->newresumption_scheduled - $time_now;
|
1203 |
+
// 45 is chosen because it is slightly more than the 30 used to detect recent activity on files (file mod times)
|
1204 |
+
if ($time_away >1 && $time_away <= 45) {
|
1205 |
+
$this->log('The scheduled resumption is within 45 seconds - will reschedule');
|
1206 |
// Push 30 seconds into the future
|
1207 |
// $this->reschedule(60);
|
1208 |
+
// Increase interval generally by 45 seconds, on the assumption that our prior estimates were innaccurate (i.e. not just 45 seconds *this* time)
|
1209 |
+
$this->increase_resume_and_reschedule(45);
|
1210 |
}
|
1211 |
}
|
1212 |
|
1275 |
|
1276 |
$possible_backups = $this->get_backupable_file_entities(false);
|
1277 |
|
1278 |
+
// Was there a check-in last time? If not, then reduce the amount of data attempted
|
1279 |
+
if ($this->current_resumption >= 2 && $this->current_resumption<=10) {
|
1280 |
+
$maxzipbatch = $this->jobdata_get('maxzipbatch', 26214400);
|
1281 |
+
if ((int)$maxzipbatch < 1) $maxzipbatch = 26214400;
|
1282 |
+
$time_passed = $this->jobdata_get('run_times');
|
1283 |
+
if (!is_array($time_passed)) $time_passed = array();
|
1284 |
+
$last_resumption = $this->current_resumption-1;
|
1285 |
+
if (!isset($time_passed[$last_resumption])) {
|
1286 |
+
$new_maxzipbatch = max(floor($maxzipbatch * 0.8), 20971520);
|
1287 |
+
if ($new_maxzipbatch < $maxzipbatch) {
|
1288 |
+
$this->log("No check-in was detected on the previous run - as a result, we are reducing the batch amount (old=$maxzipbatch, new=$new_maxzipbatch)");
|
1289 |
+
$this->jobdata_set('maxzipbatch', $new_maxzipbatch);
|
1290 |
+
}
|
1291 |
+
}
|
1292 |
+
}
|
1293 |
+
|
1294 |
# Plugins, themes, uploads
|
1295 |
foreach ($possible_backups as $youwhat => $whichdir) {
|
1296 |
|
1342 |
A string containing a list of filename or dirname separated by a comma.
|
1343 |
*/
|
1344 |
|
1345 |
+
$other_dirlist = $this->backup_others_dirlist();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1346 |
|
1347 |
if (count($other_dirlist)>0) {
|
1348 |
$created = $updraftplus_backup->create_zip($other_dirlist, 'others', $updraft_dir, $backup_file_basename);
|
1362 |
return $backup_array;
|
1363 |
}
|
1364 |
|
1365 |
+
function backup_others_dirlist() {
|
1366 |
+
# Create an array of directories to be skipped
|
1367 |
+
$others_skip = preg_split("/,/",UpdraftPlus_Options::get_updraft_option('updraft_include_others_exclude', UPDRAFT_DEFAULT_OTHERS_EXCLUDE));
|
1368 |
+
# Make the values into the keys
|
1369 |
+
$others_skip = array_flip($others_skip);
|
1370 |
+
|
1371 |
+
$possible_backups_dirs = array_flip($this->get_backupable_file_entities(false));
|
1372 |
+
|
1373 |
+
$other_dirlist = $this->compile_folder_list_for_backup(WP_CONTENT_DIR, $possible_backups_dirs, $others_skip);
|
1374 |
+
|
1375 |
+
return $other_dirlist;
|
1376 |
+
|
1377 |
+
}
|
1378 |
+
|
1379 |
// avoid_these_dirs and skip_these_dirs ultimately do the same thing; but avoid_these_dirs takes full paths whereas skip_these_dirs takes basenames; and they are logged differently (avoid is potentially dangerous; skip is just a preference). They are allowed to overlap.
|
1380 |
function compile_folder_list_for_backup($backup_from_inside_dir, $avoid_these_dirs, $skip_these_dirs) {
|
1381 |
|
1457 |
function backup_db_header() {
|
1458 |
|
1459 |
@include(ABSPATH.'wp-includes/version.php');
|
1460 |
+
global $wp_version, $table_prefix;
|
1461 |
|
1462 |
$this->stow("# WordPress MySQL database backup\n");
|
1463 |
$this->stow("# Created by UpdraftPlus version ".$this->version." (http://updraftplus.com)\n");
|
1464 |
$this->stow("# WordPress Version: $wp_version, running on PHP ".phpversion()." (".$_SERVER["SERVER_SOFTWARE"].")\n");
|
1465 |
$this->stow("# Backup of: ".site_url()."\n");
|
1466 |
+
$this->stow("# Table prefix: ".$table_prefix."\n");
|
1467 |
+
$this->stow("# Site info: multisite=".(is_multisite() ? '1' : '0')."\n");
|
1468 |
+
$this->stow("# Site info: end\n");
|
1469 |
|
1470 |
$this->stow("#\n");
|
1471 |
$this->stow("# " . sprintf(__('Generated: %s','wp-db-backup'),date("l j. F Y H:i T")) . "\n");
|
1482 |
$this->stow("/*!40101 SET foreign_key_checks = 0 */;\n");
|
1483 |
}
|
1484 |
|
1485 |
+
// The purpose of this function is to make sure that the options table is put in the database first, then the users table, then the usermeta table
|
1486 |
function backup_db_sorttables($a, $b) {
|
1487 |
global $table_prefix;
|
1488 |
if ($a == $b) return 0;
|
1525 |
$all_tables = $wpdb->get_results("SHOW TABLES", ARRAY_N);
|
1526 |
$all_tables = array_map(create_function('$a', 'return $a[0];'), $all_tables);
|
1527 |
|
1528 |
+
// Put the options table first
|
1529 |
+
usort($all_tables, array($this, 'backup_db_sorttables'));
|
1530 |
+
|
1531 |
if (!is_writable($updraft_dir)) {
|
1532 |
$this->log("The backup directory ($updraft_dir) is not writable.");
|
1533 |
$this->error("$updraft_dir: ".__('The backup directory is not writable.','updraftplus'));
|
1536 |
|
1537 |
$stitch_files = array();
|
1538 |
|
|
|
|
|
|
|
1539 |
foreach ($all_tables as $table) {
|
1540 |
$total_tables++;
|
1541 |
// Increase script execution time-limit to 15 min for every table.
|
1571 |
$backup_final_file_name = $backup_file_base.'-db.gz';
|
1572 |
$time_now = time();
|
1573 |
$time_mod = (int)@filemtime($backup_final_file_name);
|
1574 |
+
if (file_exists($backup_final_file_name) && $time_mod>100 && ($time_now-$time_mod)<30) {
|
1575 |
$this->terminate_due_to_activity($backup_final_file_name, $time_now, $time_mod);
|
1576 |
} elseif (file_exists($backup_final_file_name)) {
|
1577 |
+
$this->log("The final database file ($backup_final_file_name) exists, but was apparently not modified within the last 30 seconds (time_mod=$time_mod, time_now=$time_now, diff=".($time_now-$time_mod)."). Thus we assume that another UpdraftPlus terminated; thus we will continue.");
|
1578 |
}
|
1579 |
|
1580 |
// Finally, stitch the files together
|
1588 |
$this->log("{$table_file}.gz: adding to final database dump");
|
1589 |
if (!$handle = gzopen($updraft_dir.'/'.$table_file.'.gz', "r")) {
|
1590 |
$this->log("Error: Failed to open database file for reading: ${table_file}.gz");
|
1591 |
+
$this->error("Failed to open database file for reading: ${table_file}.gz");
|
1592 |
} else {
|
1593 |
while ($line = gzgets($handle, 2048)) { $this->stow($line); }
|
1594 |
gzclose($handle);
|
1619 |
|
1620 |
function terminate_due_to_activity($file, $time_now, $time_mod) {
|
1621 |
$file_size = filesize($file);
|
1622 |
+
$this->log("Terminate: the final database file ($file) exists, and was modified within the last 30 seconds (time_mod=$time_mod, time_now=$time_now, diff=".($time_now-$time_mod).", size=$file_size). This likely means that another UpdraftPlus run is at work; so we will exit.");
|
1623 |
$this->increase_resume_and_reschedule(120, true);
|
1624 |
die;
|
1625 |
}
|
1709 |
|
1710 |
if($segment == 'none') {
|
1711 |
$row_start = 0;
|
1712 |
+
$row_inc = 1000;
|
1713 |
} else {
|
1714 |
+
$row_start = $segment * 1000;
|
1715 |
+
$row_inc = 1000;
|
1716 |
}
|
1717 |
|
1718 |
do {
|
1881 |
return $schedules;
|
1882 |
}
|
1883 |
|
1884 |
+
// Returns without any trailing slash
|
1885 |
function backups_dir_location() {
|
1886 |
|
1887 |
if (!empty($this->backup_dir)) return $this->backup_dir;
|
1967 |
return ($input > 0 && $input < 3650) ? $input : 1;
|
1968 |
}
|
1969 |
|
1970 |
+
function memory_check_current($memory_limit = false) {
|
1971 |
# Returns in megabytes
|
1972 |
+
if ($memory_limit == false) $memory_limit = ini_get('memory_limit');
|
1973 |
$memory_unit = $memory_limit[strlen($memory_limit)-1];
|
1974 |
$memory_limit = substr($memory_limit,0,strlen($memory_limit)-1);
|
1975 |
switch($memory_unit) {
|
1976 |
case 'K':
|
1977 |
+
$memory_limit = floor($memory_limit/1024);
|
1978 |
break;
|
1979 |
case 'G':
|
1980 |
$memory_limit = $memory_limit*1024;
|
1986 |
return $memory_limit;
|
1987 |
}
|
1988 |
|
1989 |
+
function memory_check($memory, $check_using = false) {
|
1990 |
+
$memory_limit = $this->memory_check_current($check_using);
|
1991 |
return ($memory_limit >= $memory)?true:false;
|
1992 |
}
|
1993 |
|
2010 |
if (defined('WPLANG') && strlen(WPLANG)>0 && !is_file(UPDRAFTPLUS_DIR.'/languages/updraftplus-'.WPLANG.
|
2011 |
'.mo')) return __('Can you translate? Want to improve UpdraftPlus for speakers of your language?','updraftplus').$this->url_start($urls,'updraftplus.com/translate/')."Please go here for instructions - it is easy.".$this->url_end($urls,'updraftplus.com/translate/');
|
2012 |
|
2013 |
+
return __('Like UpdraftPlus and can spare one minute?','updraftplus').$this->url_start($urls,'wordpress.org/support/view/plugin-reviews/updraftplus#postform').' '.__('Please help UpdraftPlus by giving a positive review at wordpress.org','updraftplus').$this->url_end($urls,'wordpress.org/support/view/plugin-reviews/updraftplus#postform');
|
2014 |
+
break;
|
2015 |
case 2:
|
2016 |
return $this->url_start($urls,'wordshell.net')."Check out WordShell".$this->url_end($urls,'www.wordshell.net')." - manage WordPress from the command line - huge time-saver";
|
2017 |
break;
|
2029 |
}
|
2030 |
break;
|
2031 |
case 6:
|
2032 |
+
// return "Need custom WordPress services from experts (including bespoke development)?".$this->url_start($urls,'www.simbahosting.co.uk/s3/products-and-services/wordpress-experts/')." Get them from the creators of UpdraftPlus.".$this->url_end($urls,'www.simbahosting.co.uk/s3/products-and-services/wordpress-experts/');
|
2033 |
+
return __("Subscribe to the UpdraftPlus blog to get up-to-date news and offers",'updraftplus')." - ".$this->url_start($urls,'updraftplus.com/news/').__("Blog link",'updraftplus').$this->url_end($urls,'updraftplus.com/news/').' - '.$this->url_start($urls,'feeds.feedburner.com/UpdraftPlus').__("RSS link",'updraftplus').$this->url_end($urls,'feeds.feedburner.com/UpdraftPlus');
|
2034 |
break;
|
2035 |
case 7:
|
2036 |
return $this->url_start($urls,'updraftplus.com').__("Check out UpdraftPlus.Com for help, add-ons and support",'updraftplus').$this->url_end($urls,'updraftplus.com');
|