Version Description
New features: selective restoration, importing remote backups; plus many tweaks, optimisations + small bug-fixes: recommended upgrade for all
Download this release
Release Info
Developer | DavidAnderson |
Plugin | UpdraftPlus WordPress Backup Plugin |
Version | 1.5.6 |
Comparing to | |
See all releases |
Code changes from version 1.4.48 to 1.5.6
- includes/Dropbox/OAuth/Consumer/Curl.php +10 -3
- includes/Dropbox/OAuth/Consumer/WordPress.php +1 -1
- includes/jquery-ui-1.8.22.custom.css +563 -0
- includes/updraft-restorer.php +21 -20
- languages/updraftplus-de_DE.mo +0 -0
- languages/updraftplus-de_DE.po +1972 -0
- languages/updraftplus-hu_HU.mo +0 -0
- languages/updraftplus-hu_HU.po +1939 -0
- languages/updraftplus.pot +1474 -0
- methods/dropbox.php +21 -15
- methods/email.php +3 -3
- methods/ftp.php +21 -19
- methods/googledrive.php +26 -25
- methods/s3.php +25 -23
- methods/sftp.php +6 -5
- methods/webdav.php +6 -4
- options.php +3 -3
- readme.txt +35 -10
- updraftplus.php +571 -259
includes/Dropbox/OAuth/Consumer/Curl.php
CHANGED
@@ -101,7 +101,7 @@ class Dropbox_Curl extends Dropbox_ConsumerAbstract
|
|
101 |
$message = $response['body']->error . ' (Status Code: ' . $response['code'] . ')';
|
102 |
throw new Dropbox_Exception($message);
|
103 |
}
|
104 |
-
|
105 |
return $response;
|
106 |
}
|
107 |
|
@@ -120,14 +120,14 @@ class Dropbox_Curl extends Dropbox_ConsumerAbstract
|
|
120 |
|
121 |
// If the status code is 100, the API server must send a final response
|
122 |
// We need to explode the response again to get the actual response
|
123 |
-
if (preg_match('#^HTTP/1.1 100#', $lines[0])) {
|
124 |
list($headers, $response) = explode("\r\n\r\n", $response, 2);
|
125 |
$lines = explode("\r\n", $headers);
|
126 |
}
|
127 |
|
128 |
// Get the HTTP response code from the first line
|
129 |
$first = array_shift($lines);
|
130 |
-
$pattern = '#^HTTP/1.1 ([0-9]{3})#';
|
131 |
preg_match($pattern, $first, $matches);
|
132 |
$code = $matches[1];
|
133 |
|
@@ -143,6 +143,13 @@ class Dropbox_Curl extends Dropbox_ConsumerAbstract
|
|
143 |
if (!$body = json_decode($response)) {
|
144 |
$body = $response;
|
145 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
|
147 |
return array('code' => $code, 'body' => $body, 'headers' => $headers);
|
148 |
}
|
101 |
$message = $response['body']->error . ' (Status Code: ' . $response['code'] . ')';
|
102 |
throw new Dropbox_Exception($message);
|
103 |
}
|
104 |
+
|
105 |
return $response;
|
106 |
}
|
107 |
|
120 |
|
121 |
// If the status code is 100, the API server must send a final response
|
122 |
// We need to explode the response again to get the actual response
|
123 |
+
if (preg_match('#^HTTP/1.1 100#i', $lines[0])) {
|
124 |
list($headers, $response) = explode("\r\n\r\n", $response, 2);
|
125 |
$lines = explode("\r\n", $headers);
|
126 |
}
|
127 |
|
128 |
// Get the HTTP response code from the first line
|
129 |
$first = array_shift($lines);
|
130 |
+
$pattern = '#^HTTP/1.1 ([0-9]{3})#i';
|
131 |
preg_match($pattern, $first, $matches);
|
132 |
$code = $matches[1];
|
133 |
|
143 |
if (!$body = json_decode($response)) {
|
144 |
$body = $response;
|
145 |
}
|
146 |
+
|
147 |
+
if (is_string($body)) {
|
148 |
+
$body_lines = explode("\r\n", $body);
|
149 |
+
if (preg_match('#^HTTP/1.1 100#i', $body_lines[0]) && preg_match('#^HTTP/1.#i', $body_lines[2])) {
|
150 |
+
return $this->parse($body);
|
151 |
+
}
|
152 |
+
}
|
153 |
|
154 |
return array('code' => $code, 'body' => $body, 'headers' => $headers);
|
155 |
}
|
includes/Dropbox/OAuth/Consumer/WordPress.php
CHANGED
@@ -52,7 +52,7 @@ class Dropbox_ConsumerWordPress extends Dropbox_ConsumerAbstract
|
|
52 |
$args = array( 'body' => $request['postfields'] );
|
53 |
$response = wp_remote_post($request['url'], $args );
|
54 |
} elseif ($method == 'PUT' && $this->inFile) {
|
55 |
-
return new WP_Error('unsupported',
|
56 |
}
|
57 |
|
58 |
// If the response body is not a JSON encoded string
|
52 |
$args = array( 'body' => $request['postfields'] );
|
53 |
$response = wp_remote_post($request['url'], $args );
|
54 |
} elseif ($method == 'PUT' && $this->inFile) {
|
55 |
+
return new WP_Error('unsupported', "WordPress does not have a native HTTP PUT function");
|
56 |
}
|
57 |
|
58 |
// If the response body is not a JSON encoded string
|
includes/jquery-ui-1.8.22.custom.css
ADDED
@@ -0,0 +1,563 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
* jQuery UI CSS Framework 1.8.22
|
3 |
+
*
|
4 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
5 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
6 |
+
* http://jquery.org/license
|
7 |
+
*
|
8 |
+
* http://docs.jquery.com/UI/Theming/API
|
9 |
+
*/
|
10 |
+
|
11 |
+
/* Layout helpers
|
12 |
+
----------------------------------*/
|
13 |
+
.ui-helper-hidden { display: none; }
|
14 |
+
.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
|
15 |
+
.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
|
16 |
+
.ui-helper-clearfix:before, .ui-helper-clearfix:after { content: ""; display: table; }
|
17 |
+
.ui-helper-clearfix:after { clear: both; }
|
18 |
+
.ui-helper-clearfix { zoom: 1; }
|
19 |
+
.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
|
20 |
+
|
21 |
+
|
22 |
+
/* Interaction Cues
|
23 |
+
----------------------------------*/
|
24 |
+
.ui-state-disabled { cursor: default !important; }
|
25 |
+
|
26 |
+
|
27 |
+
/* Icons
|
28 |
+
----------------------------------*/
|
29 |
+
|
30 |
+
/* states and images */
|
31 |
+
.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
|
32 |
+
|
33 |
+
|
34 |
+
/* Misc visuals
|
35 |
+
----------------------------------*/
|
36 |
+
|
37 |
+
/* Overlays */
|
38 |
+
.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
39 |
+
|
40 |
+
|
41 |
+
/*!
|
42 |
+
* jQuery UI CSS Framework 1.8.22
|
43 |
+
*
|
44 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
45 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
46 |
+
* http://jquery.org/license
|
47 |
+
*
|
48 |
+
* http://docs.jquery.com/UI/Theming/API
|
49 |
+
*
|
50 |
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
|
51 |
+
*/
|
52 |
+
|
53 |
+
|
54 |
+
/* Component containers
|
55 |
+
----------------------------------*/
|
56 |
+
.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; }
|
57 |
+
.ui-widget .ui-widget { font-size: 1em; }
|
58 |
+
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; }
|
59 |
+
.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; }
|
60 |
+
.ui-widget-content a { color: #333333; }
|
61 |
+
.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; }
|
62 |
+
.ui-widget-header a { color: #ffffff; }
|
63 |
+
|
64 |
+
/* Interaction states
|
65 |
+
----------------------------------*/
|
66 |
+
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; }
|
67 |
+
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; }
|
68 |
+
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; }
|
69 |
+
.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; }
|
70 |
+
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; }
|
71 |
+
.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; }
|
72 |
+
.ui-widget :active { outline: none; }
|
73 |
+
|
74 |
+
/* Interaction Cues
|
75 |
+
----------------------------------*/
|
76 |
+
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; }
|
77 |
+
.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
|
78 |
+
.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; }
|
79 |
+
.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; }
|
80 |
+
.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; }
|
81 |
+
.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; }
|
82 |
+
.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
|
83 |
+
.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
|
84 |
+
|
85 |
+
/* Icons
|
86 |
+
----------------------------------*/
|
87 |
+
|
88 |
+
/* states and images */
|
89 |
+
.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
|
90 |
+
.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
|
91 |
+
.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); }
|
92 |
+
.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
93 |
+
.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
94 |
+
.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); }
|
95 |
+
.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); }
|
96 |
+
.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); }
|
97 |
+
|
98 |
+
/* positioning */
|
99 |
+
.ui-icon-carat-1-n { background-position: 0 0; }
|
100 |
+
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
101 |
+
.ui-icon-carat-1-e { background-position: -32px 0; }
|
102 |
+
.ui-icon-carat-1-se { background-position: -48px 0; }
|
103 |
+
.ui-icon-carat-1-s { background-position: -64px 0; }
|
104 |
+
.ui-icon-carat-1-sw { background-position: -80px 0; }
|
105 |
+
.ui-icon-carat-1-w { background-position: -96px 0; }
|
106 |
+
.ui-icon-carat-1-nw { background-position: -112px 0; }
|
107 |
+
.ui-icon-carat-2-n-s { background-position: -128px 0; }
|
108 |
+
.ui-icon-carat-2-e-w { background-position: -144px 0; }
|
109 |
+
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
110 |
+
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
111 |
+
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
112 |
+
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
113 |
+
.ui-icon-triangle-1-s { background-position: -64px -16px; }
|
114 |
+
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
115 |
+
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
116 |
+
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
117 |
+
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
118 |
+
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
119 |
+
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
120 |
+
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
121 |
+
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
122 |
+
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
123 |
+
.ui-icon-arrow-1-s { background-position: -64px -32px; }
|
124 |
+
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
125 |
+
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
126 |
+
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
127 |
+
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
128 |
+
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
129 |
+
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
130 |
+
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
131 |
+
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
132 |
+
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
133 |
+
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
134 |
+
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
135 |
+
.ui-icon-arrowthick-1-n { background-position: 0 -48px; }
|
136 |
+
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
137 |
+
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
138 |
+
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
139 |
+
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
140 |
+
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
141 |
+
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
142 |
+
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
143 |
+
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
144 |
+
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
145 |
+
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
146 |
+
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
147 |
+
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
148 |
+
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
149 |
+
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
150 |
+
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
151 |
+
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
152 |
+
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
153 |
+
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
154 |
+
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
155 |
+
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
156 |
+
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
157 |
+
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
158 |
+
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
159 |
+
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
160 |
+
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
161 |
+
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
162 |
+
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
163 |
+
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
164 |
+
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
165 |
+
.ui-icon-extlink { background-position: -32px -80px; }
|
166 |
+
.ui-icon-newwin { background-position: -48px -80px; }
|
167 |
+
.ui-icon-refresh { background-position: -64px -80px; }
|
168 |
+
.ui-icon-shuffle { background-position: -80px -80px; }
|
169 |
+
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
170 |
+
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
171 |
+
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
172 |
+
.ui-icon-folder-open { background-position: -16px -96px; }
|
173 |
+
.ui-icon-document { background-position: -32px -96px; }
|
174 |
+
.ui-icon-document-b { background-position: -48px -96px; }
|
175 |
+
.ui-icon-note { background-position: -64px -96px; }
|
176 |
+
.ui-icon-mail-closed { background-position: -80px -96px; }
|
177 |
+
.ui-icon-mail-open { background-position: -96px -96px; }
|
178 |
+
.ui-icon-suitcase { background-position: -112px -96px; }
|
179 |
+
.ui-icon-comment { background-position: -128px -96px; }
|
180 |
+
.ui-icon-person { background-position: -144px -96px; }
|
181 |
+
.ui-icon-print { background-position: -160px -96px; }
|
182 |
+
.ui-icon-trash { background-position: -176px -96px; }
|
183 |
+
.ui-icon-locked { background-position: -192px -96px; }
|
184 |
+
.ui-icon-unlocked { background-position: -208px -96px; }
|
185 |
+
.ui-icon-bookmark { background-position: -224px -96px; }
|
186 |
+
.ui-icon-tag { background-position: -240px -96px; }
|
187 |
+
.ui-icon-home { background-position: 0 -112px; }
|
188 |
+
.ui-icon-flag { background-position: -16px -112px; }
|
189 |
+
.ui-icon-calendar { background-position: -32px -112px; }
|
190 |
+
.ui-icon-cart { background-position: -48px -112px; }
|
191 |
+
.ui-icon-pencil { background-position: -64px -112px; }
|
192 |
+
.ui-icon-clock { background-position: -80px -112px; }
|
193 |
+
.ui-icon-disk { background-position: -96px -112px; }
|
194 |
+
.ui-icon-calculator { background-position: -112px -112px; }
|
195 |
+
.ui-icon-zoomin { background-position: -128px -112px; }
|
196 |
+
.ui-icon-zoomout { background-position: -144px -112px; }
|
197 |
+
.ui-icon-search { background-position: -160px -112px; }
|
198 |
+
.ui-icon-wrench { background-position: -176px -112px; }
|
199 |
+
.ui-icon-gear { background-position: -192px -112px; }
|
200 |
+
.ui-icon-heart { background-position: -208px -112px; }
|
201 |
+
.ui-icon-star { background-position: -224px -112px; }
|
202 |
+
.ui-icon-link { background-position: -240px -112px; }
|
203 |
+
.ui-icon-cancel { background-position: 0 -128px; }
|
204 |
+
.ui-icon-plus { background-position: -16px -128px; }
|
205 |
+
.ui-icon-plusthick { background-position: -32px -128px; }
|
206 |
+
.ui-icon-minus { background-position: -48px -128px; }
|
207 |
+
.ui-icon-minusthick { background-position: -64px -128px; }
|
208 |
+
.ui-icon-close { background-position: -80px -128px; }
|
209 |
+
.ui-icon-closethick { background-position: -96px -128px; }
|
210 |
+
.ui-icon-key { background-position: -112px -128px; }
|
211 |
+
.ui-icon-lightbulb { background-position: -128px -128px; }
|
212 |
+
.ui-icon-scissors { background-position: -144px -128px; }
|
213 |
+
.ui-icon-clipboard { background-position: -160px -128px; }
|
214 |
+
.ui-icon-copy { background-position: -176px -128px; }
|
215 |
+
.ui-icon-contact { background-position: -192px -128px; }
|
216 |
+
.ui-icon-image { background-position: -208px -128px; }
|
217 |
+
.ui-icon-video { background-position: -224px -128px; }
|
218 |
+
.ui-icon-script { background-position: -240px -128px; }
|
219 |
+
.ui-icon-alert { background-position: 0 -144px; }
|
220 |
+
.ui-icon-info { background-position: -16px -144px; }
|
221 |
+
.ui-icon-notice { background-position: -32px -144px; }
|
222 |
+
.ui-icon-help { background-position: -48px -144px; }
|
223 |
+
.ui-icon-check { background-position: -64px -144px; }
|
224 |
+
.ui-icon-bullet { background-position: -80px -144px; }
|
225 |
+
.ui-icon-radio-off { background-position: -96px -144px; }
|
226 |
+
.ui-icon-radio-on { background-position: -112px -144px; }
|
227 |
+
.ui-icon-pin-w { background-position: -128px -144px; }
|
228 |
+
.ui-icon-pin-s { background-position: -144px -144px; }
|
229 |
+
.ui-icon-play { background-position: 0 -160px; }
|
230 |
+
.ui-icon-pause { background-position: -16px -160px; }
|
231 |
+
.ui-icon-seek-next { background-position: -32px -160px; }
|
232 |
+
.ui-icon-seek-prev { background-position: -48px -160px; }
|
233 |
+
.ui-icon-seek-end { background-position: -64px -160px; }
|
234 |
+
.ui-icon-seek-start { background-position: -80px -160px; }
|
235 |
+
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
236 |
+
.ui-icon-seek-first { background-position: -80px -160px; }
|
237 |
+
.ui-icon-stop { background-position: -96px -160px; }
|
238 |
+
.ui-icon-eject { background-position: -112px -160px; }
|
239 |
+
.ui-icon-volume-off { background-position: -128px -160px; }
|
240 |
+
.ui-icon-volume-on { background-position: -144px -160px; }
|
241 |
+
.ui-icon-power { background-position: 0 -176px; }
|
242 |
+
.ui-icon-signal-diag { background-position: -16px -176px; }
|
243 |
+
.ui-icon-signal { background-position: -32px -176px; }
|
244 |
+
.ui-icon-battery-0 { background-position: -48px -176px; }
|
245 |
+
.ui-icon-battery-1 { background-position: -64px -176px; }
|
246 |
+
.ui-icon-battery-2 { background-position: -80px -176px; }
|
247 |
+
.ui-icon-battery-3 { background-position: -96px -176px; }
|
248 |
+
.ui-icon-circle-plus { background-position: 0 -192px; }
|
249 |
+
.ui-icon-circle-minus { background-position: -16px -192px; }
|
250 |
+
.ui-icon-circle-close { background-position: -32px -192px; }
|
251 |
+
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
252 |
+
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
253 |
+
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
254 |
+
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
255 |
+
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
256 |
+
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
257 |
+
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
258 |
+
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
259 |
+
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
260 |
+
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
261 |
+
.ui-icon-circle-check { background-position: -208px -192px; }
|
262 |
+
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
263 |
+
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
264 |
+
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
265 |
+
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
266 |
+
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
267 |
+
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
268 |
+
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
269 |
+
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
270 |
+
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
271 |
+
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
272 |
+
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
273 |
+
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
274 |
+
|
275 |
+
|
276 |
+
/* Misc visuals
|
277 |
+
----------------------------------*/
|
278 |
+
|
279 |
+
/* Corner radius */
|
280 |
+
.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
|
281 |
+
.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
|
282 |
+
.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
|
283 |
+
.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
|
284 |
+
|
285 |
+
/* Overlays */
|
286 |
+
.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); }
|
287 |
+
.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/*!
|
288 |
+
* jQuery UI Resizable 1.8.22
|
289 |
+
*
|
290 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
291 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
292 |
+
* http://jquery.org/license
|
293 |
+
*
|
294 |
+
* http://docs.jquery.com/UI/Resizable#theming
|
295 |
+
*/
|
296 |
+
.ui-resizable { position: relative;}
|
297 |
+
.ui-resizable-handle { position: absolute;font-size: 0.1px; display: block; }
|
298 |
+
.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; }
|
299 |
+
.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; }
|
300 |
+
.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; }
|
301 |
+
.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; }
|
302 |
+
.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; }
|
303 |
+
.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; }
|
304 |
+
.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; }
|
305 |
+
.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; }
|
306 |
+
.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/*!
|
307 |
+
* jQuery UI Selectable 1.8.22
|
308 |
+
*
|
309 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
310 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
311 |
+
* http://jquery.org/license
|
312 |
+
*
|
313 |
+
* http://docs.jquery.com/UI/Selectable#theming
|
314 |
+
*/
|
315 |
+
.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; }
|
316 |
+
/*!
|
317 |
+
* jQuery UI Accordion 1.8.22
|
318 |
+
*
|
319 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
320 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
321 |
+
* http://jquery.org/license
|
322 |
+
*
|
323 |
+
* http://docs.jquery.com/UI/Accordion#theming
|
324 |
+
*/
|
325 |
+
/* IE/Win - Fix animation bug - #4615 */
|
326 |
+
.ui-accordion { width: 100%; }
|
327 |
+
.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; }
|
328 |
+
.ui-accordion .ui-accordion-li-fix { display: inline; }
|
329 |
+
.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; }
|
330 |
+
.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; }
|
331 |
+
.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; }
|
332 |
+
.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; }
|
333 |
+
.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; }
|
334 |
+
.ui-accordion .ui-accordion-content-active { display: block; }
|
335 |
+
/*!
|
336 |
+
* jQuery UI Autocomplete 1.8.22
|
337 |
+
*
|
338 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
339 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
340 |
+
* http://jquery.org/license
|
341 |
+
*
|
342 |
+
* http://docs.jquery.com/UI/Autocomplete#theming
|
343 |
+
*/
|
344 |
+
.ui-autocomplete { position: absolute; cursor: default; }
|
345 |
+
|
346 |
+
/* workarounds */
|
347 |
+
* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */
|
348 |
+
|
349 |
+
/*
|
350 |
+
* jQuery UI Menu 1.8.22
|
351 |
+
*
|
352 |
+
* Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
|
353 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
354 |
+
* http://jquery.org/license
|
355 |
+
*
|
356 |
+
* http://docs.jquery.com/UI/Menu#theming
|
357 |
+
*/
|
358 |
+
.ui-menu {
|
359 |
+
list-style:none;
|
360 |
+
padding: 2px;
|
361 |
+
margin: 0;
|
362 |
+
display:block;
|
363 |
+
float: left;
|
364 |
+
}
|
365 |
+
.ui-menu .ui-menu {
|
366 |
+
margin-top: -3px;
|
367 |
+
}
|
368 |
+
.ui-menu .ui-menu-item {
|
369 |
+
margin:0;
|
370 |
+
padding: 0;
|
371 |
+
zoom: 1;
|
372 |
+
float: left;
|
373 |
+
clear: left;
|
374 |
+
width: 100%;
|
375 |
+
}
|
376 |
+
.ui-menu .ui-menu-item a {
|
377 |
+
text-decoration:none;
|
378 |
+
display:block;
|
379 |
+
padding:.2em .4em;
|
380 |
+
line-height:1.5;
|
381 |
+
zoom:1;
|
382 |
+
}
|
383 |
+
.ui-menu .ui-menu-item a.ui-state-hover,
|
384 |
+
.ui-menu .ui-menu-item a.ui-state-active {
|
385 |
+
font-weight: normal;
|
386 |
+
margin: -1px;
|
387 |
+
}
|
388 |
+
/*!
|
389 |
+
* jQuery UI Button 1.8.22
|
390 |
+
*
|
391 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
392 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
393 |
+
* http://jquery.org/license
|
394 |
+
*
|
395 |
+
* http://docs.jquery.com/UI/Button#theming
|
396 |
+
*/
|
397 |
+
.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */
|
398 |
+
.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */
|
399 |
+
button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */
|
400 |
+
.ui-button-icons-only { width: 3.4em; }
|
401 |
+
button.ui-button-icons-only { width: 3.7em; }
|
402 |
+
|
403 |
+
/*button text element */
|
404 |
+
.ui-button .ui-button-text { display: block; line-height: 1.4; }
|
405 |
+
.ui-button-text-only .ui-button-text { padding: .4em 1em; }
|
406 |
+
.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; }
|
407 |
+
.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; }
|
408 |
+
.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; }
|
409 |
+
.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; }
|
410 |
+
/* no icon support for input elements, provide padding by default */
|
411 |
+
input.ui-button { padding: .4em 1em; }
|
412 |
+
|
413 |
+
/*button icon element(s) */
|
414 |
+
.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; }
|
415 |
+
.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
416 |
+
.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
417 |
+
.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
418 |
+
.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
419 |
+
|
420 |
+
/*button sets*/
|
421 |
+
.ui-buttonset { margin-right: 7px; }
|
422 |
+
.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; }
|
423 |
+
|
424 |
+
/* workarounds */
|
425 |
+
button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */
|
426 |
+
/*!
|
427 |
+
* jQuery UI Dialog 1.8.22
|
428 |
+
*
|
429 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
430 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
431 |
+
* http://jquery.org/license
|
432 |
+
*
|
433 |
+
* http://docs.jquery.com/UI/Dialog#theming
|
434 |
+
*/
|
435 |
+
.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; }
|
436 |
+
.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; }
|
437 |
+
.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; }
|
438 |
+
.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; }
|
439 |
+
.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; }
|
440 |
+
.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; }
|
441 |
+
.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; }
|
442 |
+
.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; }
|
443 |
+
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; }
|
444 |
+
.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; }
|
445 |
+
.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; }
|
446 |
+
.ui-draggable .ui-dialog-titlebar { cursor: move; }
|
447 |
+
/*!
|
448 |
+
* jQuery UI Slider 1.8.22
|
449 |
+
*
|
450 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
451 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
452 |
+
* http://jquery.org/license
|
453 |
+
*
|
454 |
+
* http://docs.jquery.com/UI/Slider#theming
|
455 |
+
*/
|
456 |
+
.ui-slider { position: relative; text-align: left; }
|
457 |
+
.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }
|
458 |
+
.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; }
|
459 |
+
|
460 |
+
.ui-slider-horizontal { height: .8em; }
|
461 |
+
.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }
|
462 |
+
.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }
|
463 |
+
.ui-slider-horizontal .ui-slider-range-min { left: 0; }
|
464 |
+
.ui-slider-horizontal .ui-slider-range-max { right: 0; }
|
465 |
+
|
466 |
+
.ui-slider-vertical { width: .8em; height: 100px; }
|
467 |
+
.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }
|
468 |
+
.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }
|
469 |
+
.ui-slider-vertical .ui-slider-range-min { bottom: 0; }
|
470 |
+
.ui-slider-vertical .ui-slider-range-max { top: 0; }/*!
|
471 |
+
* jQuery UI Tabs 1.8.22
|
472 |
+
*
|
473 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
474 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
475 |
+
* http://jquery.org/license
|
476 |
+
*
|
477 |
+
* http://docs.jquery.com/UI/Tabs#theming
|
478 |
+
*/
|
479 |
+
.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
480 |
+
.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; }
|
481 |
+
.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; }
|
482 |
+
.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; }
|
483 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; }
|
484 |
+
.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; }
|
485 |
+
.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
|
486 |
+
.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; }
|
487 |
+
.ui-tabs .ui-tabs-hide { display: none !important; }
|
488 |
+
/*!
|
489 |
+
* jQuery UI Datepicker 1.8.22
|
490 |
+
*
|
491 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
492 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
493 |
+
* http://jquery.org/license
|
494 |
+
*
|
495 |
+
* http://docs.jquery.com/UI/Datepicker#theming
|
496 |
+
*/
|
497 |
+
.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
|
498 |
+
.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
|
499 |
+
.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
|
500 |
+
.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
|
501 |
+
.ui-datepicker .ui-datepicker-prev { left:2px; }
|
502 |
+
.ui-datepicker .ui-datepicker-next { right:2px; }
|
503 |
+
.ui-datepicker .ui-datepicker-prev-hover { left:1px; }
|
504 |
+
.ui-datepicker .ui-datepicker-next-hover { right:1px; }
|
505 |
+
.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
|
506 |
+
.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
|
507 |
+
.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
|
508 |
+
.ui-datepicker select.ui-datepicker-month-year {width: 100%;}
|
509 |
+
.ui-datepicker select.ui-datepicker-month,
|
510 |
+
.ui-datepicker select.ui-datepicker-year { width: 49%;}
|
511 |
+
.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
|
512 |
+
.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
|
513 |
+
.ui-datepicker td { border: 0; padding: 1px; }
|
514 |
+
.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
|
515 |
+
.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
|
516 |
+
.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
|
517 |
+
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
|
518 |
+
|
519 |
+
/* with multiple calendars */
|
520 |
+
.ui-datepicker.ui-datepicker-multi { width:auto; }
|
521 |
+
.ui-datepicker-multi .ui-datepicker-group { float:left; }
|
522 |
+
.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
|
523 |
+
.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
|
524 |
+
.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
|
525 |
+
.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
|
526 |
+
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
|
527 |
+
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
|
528 |
+
.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
|
529 |
+
.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
|
530 |
+
|
531 |
+
/* RTL support */
|
532 |
+
.ui-datepicker-rtl { direction: rtl; }
|
533 |
+
.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
|
534 |
+
.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
|
535 |
+
.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
|
536 |
+
.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
|
537 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
|
538 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
|
539 |
+
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
|
540 |
+
.ui-datepicker-rtl .ui-datepicker-group { float:right; }
|
541 |
+
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
542 |
+
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
|
543 |
+
|
544 |
+
/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */
|
545 |
+
.ui-datepicker-cover {
|
546 |
+
position: absolute; /*must have*/
|
547 |
+
z-index: -1; /*must have*/
|
548 |
+
filter: mask(); /*must have*/
|
549 |
+
top: -4px; /*must have*/
|
550 |
+
left: -4px; /*must have*/
|
551 |
+
width: 200px; /*must have*/
|
552 |
+
height: 200px; /*must have*/
|
553 |
+
}/*!
|
554 |
+
* jQuery UI Progressbar 1.8.22
|
555 |
+
*
|
556 |
+
* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)
|
557 |
+
* Dual licensed under the MIT or GPL Version 2 licenses.
|
558 |
+
* http://jquery.org/license
|
559 |
+
*
|
560 |
+
* http://docs.jquery.com/UI/Progressbar#theming
|
561 |
+
*/
|
562 |
+
.ui-progressbar { height:2em; text-align: left; overflow: hidden; }
|
563 |
+
.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; }
|
includes/updraft-restorer.php
CHANGED
@@ -2,25 +2,24 @@
|
|
2 |
class Updraft_Restorer extends WP_Upgrader {
|
3 |
|
4 |
function backup_strings() {
|
5 |
-
$this->strings['no_package'] = __('Backup file not available.');
|
6 |
-
$this->strings['unpack_package'] = __('Unpacking backup...');
|
7 |
-
$this->strings['moving_old'] = __('Moving old directory out of the way...');
|
8 |
-
$this->strings['moving_backup'] = __('Moving
|
9 |
-
$this->strings['cleaning_up'] = __('Cleaning up
|
10 |
-
$this->strings['old_move_failed'] = __('Could not move old
|
11 |
-
$this->strings['new_move_failed'] = __('Could not move new
|
12 |
-
$this->strings['delete_failed'] = __('Failed to delete working directory after restoring.');
|
13 |
}
|
14 |
|
15 |
-
function restore_backup($backup_file, $type) {
|
16 |
-
|
17 |
-
// Various keys can get stored in the data - but only some represent actual data entities
|
18 |
-
if ($type != 'plugins' && $type != 'themes' && $type != 'others' && $type != 'uploads') continue;
|
19 |
|
20 |
global $wp_filesystem;
|
21 |
$this->init();
|
22 |
$this->backup_strings();
|
23 |
|
|
|
|
|
24 |
$res = $this->fs_connect(array(ABSPATH, WP_CONTENT_DIR) );
|
25 |
if(!$res) exit;
|
26 |
|
@@ -31,8 +30,12 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
31 |
return $download;
|
32 |
|
33 |
$delete = (UpdraftPlus_Options::get_updraft_option('updraft_delete_local')) ? true : false;
|
|
|
|
|
|
|
|
|
34 |
|
35 |
-
$working_dir = $this->unpack_package($download
|
36 |
if (is_wp_error($working_dir)) return $working_dir;
|
37 |
|
38 |
if ($type == 'others' ) {
|
@@ -54,13 +57,12 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
54 |
$wp_filesystem->move($working_dir . "/$tmp_file/$file", $working_dir ."/".$file, true);
|
55 |
$wp_filesystem->rmdir($working_dir . "/$tmp_file", false);
|
56 |
}
|
57 |
-
|
58 |
# Sanity check (should not be possible as these were excluded at backup time)
|
59 |
if ($file != "plugins" && $file != "themes" && $file != "uploads" && $file != "upgrade") {
|
60 |
# First, move the existing one, if necessary (may not be present)
|
61 |
if ($wp_filesystem->exists($wp_dir . "wp-content/$file")) {
|
62 |
if ( !$wp_filesystem->move($wp_dir . "wp-content/$file", $wp_dir . "wp-content/$file-old", true) ) {
|
63 |
-
return new WP_Error('old_move_failed', $this->strings['old_move_failed']);
|
64 |
}
|
65 |
}
|
66 |
# Now, move in the new one
|
@@ -74,12 +76,12 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
74 |
} else {
|
75 |
|
76 |
show_message($this->strings['moving_old']);
|
77 |
-
if ( !$wp_filesystem->move($wp_dir . "wp-content/$
|
78 |
return new WP_Error('old_move_failed', $this->strings['old_move_failed']);
|
79 |
}
|
80 |
|
81 |
show_message($this->strings['moving_backup']);
|
82 |
-
if ( !$wp_filesystem->move($working_dir . "/$
|
83 |
return new WP_Error('new_move_failed', $this->strings['new_move_failed']);
|
84 |
}
|
85 |
|
@@ -90,13 +92,12 @@ class Updraft_Restorer extends WP_Upgrader {
|
|
90 |
return new WP_Error('delete_failed', $this->strings['delete_failed']);
|
91 |
}
|
92 |
|
93 |
-
|
94 |
switch($type) {
|
95 |
case 'uploads':
|
96 |
-
@$wp_filesystem->chmod($wp_dir . "wp-content/$
|
97 |
break;
|
98 |
default:
|
99 |
-
@$wp_filesystem->chmod($wp_dir . "wp-content/$
|
100 |
}
|
101 |
}
|
102 |
|
2 |
class Updraft_Restorer extends WP_Upgrader {
|
3 |
|
4 |
function backup_strings() {
|
5 |
+
$this->strings['no_package'] = __('Backup file not available.','updraftplus');
|
6 |
+
$this->strings['unpack_package'] = __('Unpacking backup...','updraftplus');
|
7 |
+
$this->strings['moving_old'] = __('Moving old directory out of the way...','updraftplus');
|
8 |
+
$this->strings['moving_backup'] = __('Moving unpacked backup in place...','updraftplus');
|
9 |
+
$this->strings['cleaning_up'] = __('Cleaning up rubbish...','updraftplus');
|
10 |
+
$this->strings['old_move_failed'] = __('Could not move old directory out of the way. Perhaps you already have -old directories that need deleting first?','updraftplus');
|
11 |
+
$this->strings['new_move_failed'] = __('Could not move new directory into place. Check your wp-content/upgrade folder.','updraftplus');
|
12 |
+
$this->strings['delete_failed'] = __('Failed to delete working directory after restoring.','updraftplus');
|
13 |
}
|
14 |
|
15 |
+
function restore_backup($backup_file, $type, $service, $info) {
|
|
|
|
|
|
|
16 |
|
17 |
global $wp_filesystem;
|
18 |
$this->init();
|
19 |
$this->backup_strings();
|
20 |
|
21 |
+
$dirname = basename($info['path']);
|
22 |
+
|
23 |
$res = $this->fs_connect(array(ABSPATH, WP_CONTENT_DIR) );
|
24 |
if(!$res) exit;
|
25 |
|
30 |
return $download;
|
31 |
|
32 |
$delete = (UpdraftPlus_Options::get_updraft_option('updraft_delete_local')) ? true : false;
|
33 |
+
if ('none' == $service) {
|
34 |
+
if ($delete) _e('Will not delete the archive after unpacking it, because there was no cloud storage for this backup','updraftplus').'<br>';
|
35 |
+
$delete = false;
|
36 |
+
}
|
37 |
|
38 |
+
$working_dir = $this->unpack_package($download, $delete);
|
39 |
if (is_wp_error($working_dir)) return $working_dir;
|
40 |
|
41 |
if ($type == 'others' ) {
|
57 |
$wp_filesystem->move($working_dir . "/$tmp_file/$file", $working_dir ."/".$file, true);
|
58 |
$wp_filesystem->rmdir($working_dir . "/$tmp_file", false);
|
59 |
}
|
|
|
60 |
# Sanity check (should not be possible as these were excluded at backup time)
|
61 |
if ($file != "plugins" && $file != "themes" && $file != "uploads" && $file != "upgrade") {
|
62 |
# First, move the existing one, if necessary (may not be present)
|
63 |
if ($wp_filesystem->exists($wp_dir . "wp-content/$file")) {
|
64 |
if ( !$wp_filesystem->move($wp_dir . "wp-content/$file", $wp_dir . "wp-content/$file-old", true) ) {
|
65 |
+
return new WP_Error('old_move_failed', $this->strings['old_move_failed']." (wp-content/$file)");
|
66 |
}
|
67 |
}
|
68 |
# Now, move in the new one
|
76 |
} else {
|
77 |
|
78 |
show_message($this->strings['moving_old']);
|
79 |
+
if ( !$wp_filesystem->move($wp_dir . "wp-content/$dirname", $wp_dir . "wp-content/$dirname-old", true) ) {
|
80 |
return new WP_Error('old_move_failed', $this->strings['old_move_failed']);
|
81 |
}
|
82 |
|
83 |
show_message($this->strings['moving_backup']);
|
84 |
+
if ( !$wp_filesystem->move($working_dir . "/$dirname", $wp_dir . "wp-content/$dirname", true) ) {
|
85 |
return new WP_Error('new_move_failed', $this->strings['new_move_failed']);
|
86 |
}
|
87 |
|
92 |
return new WP_Error('delete_failed', $this->strings['delete_failed']);
|
93 |
}
|
94 |
|
|
|
95 |
switch($type) {
|
96 |
case 'uploads':
|
97 |
+
@$wp_filesystem->chmod($wp_dir . "wp-content/$dirname", 0775, true);
|
98 |
break;
|
99 |
default:
|
100 |
+
@$wp_filesystem->chmod($wp_dir . "wp-content/$dirname", FS_CHMOD_DIR);
|
101 |
}
|
102 |
}
|
103 |
|
languages/updraftplus-de_DE.mo
ADDED
Binary file
|
languages/updraftplus-de_DE.po
ADDED
@@ -0,0 +1,1972 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2013 UpdraftPlus - Backup/Restore
|
2 |
+
# This file is distributed under the same license as the UpdraftPlus - Backup/Restore package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: UpdraftPlus - Backup/Restore 1.5.4\n"
|
6 |
+
"Report-Msgid-Bugs-To: \n"
|
7 |
+
"POT-Creation-Date: 2013-03-30 17:26+0100\n"
|
8 |
+
"PO-Revision-Date: 2013-04-02 07:26+0100\n"
|
9 |
+
"Last-Translator: Marcel Herrguth <mherrguth@mrgeneration.de>\n"
|
10 |
+
"Language-Team: THA-Translation <translation@thehomeofanime.de>\n"
|
11 |
+
"Language: de-DE\n"
|
12 |
+
"MIME-Version: 1.0\n"
|
13 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
+
"Content-Transfer-Encoding: 8bit\n"
|
15 |
+
"X-Generator: Poedit 1.5.5\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
|
18 |
+
#: options.php:26
|
19 |
+
msgid "UpdraftPlus Backups"
|
20 |
+
msgstr "UpdraftPlus Sicherungen"
|
21 |
+
|
22 |
+
#: updraftplus.php:261
|
23 |
+
msgid ""
|
24 |
+
"Bad filename format - this does not look like a file created by UpdraftPlus"
|
25 |
+
msgstr ""
|
26 |
+
"Falsches Dateinamen-Format - diese Datei sieht nicht so aus, als würde so "
|
27 |
+
"von UpdraftPlus erstellt worden sein"
|
28 |
+
|
29 |
+
#: updraftplus.php:295
|
30 |
+
msgid "Allowed Files"
|
31 |
+
msgstr "Erlaubte Dateien"
|
32 |
+
|
33 |
+
#: updraftplus.php:372
|
34 |
+
msgid "Settings"
|
35 |
+
msgstr "Einstellungen"
|
36 |
+
|
37 |
+
#: updraftplus.php:376
|
38 |
+
msgid "Add-Ons / Pro Support"
|
39 |
+
msgstr "Erweiterungen / Pro Support"
|
40 |
+
|
41 |
+
#: updraftplus.php:462
|
42 |
+
msgid "Plugins"
|
43 |
+
msgstr "Plugins"
|
44 |
+
|
45 |
+
#: updraftplus.php:463
|
46 |
+
msgid "Themes"
|
47 |
+
msgstr "Designs"
|
48 |
+
|
49 |
+
#: updraftplus.php:464
|
50 |
+
msgid "Uploads"
|
51 |
+
msgstr "Uploads"
|
52 |
+
|
53 |
+
#: updraftplus.php:478
|
54 |
+
msgid "Others"
|
55 |
+
msgstr "Andere"
|
56 |
+
|
57 |
+
#: updraftplus.php:710
|
58 |
+
msgid ""
|
59 |
+
"Could not create files in the backup directory. Backup aborted - check your "
|
60 |
+
"UpdraftPlus settings."
|
61 |
+
msgstr ""
|
62 |
+
"Konnte keine Dateien im Sicherungsverzeichnis anlegen. Sicherung abgebrochen "
|
63 |
+
"- überprüfe deine UpdraftPlus-Einstellungen."
|
64 |
+
|
65 |
+
#: updraftplus.php:778
|
66 |
+
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
67 |
+
msgstr ""
|
68 |
+
"Verschlüsselungsfehler beim verschlüsseln der Datenbank aufgetreten. "
|
69 |
+
"Verschlüsselung abgebrochen."
|
70 |
+
|
71 |
+
#: updraftplus.php:812
|
72 |
+
msgid "The backup apparently succeeded and is now complete"
|
73 |
+
msgstr "Die Sicherung war anscheinend erfolgreich und ist nun vollständig"
|
74 |
+
|
75 |
+
#: updraftplus.php:815
|
76 |
+
msgid "The backup attempt has finished, apparently unsuccessfully"
|
77 |
+
msgstr "Der Sicherungsversuch ist beendet, anscheinend nicht erfolgreich"
|
78 |
+
|
79 |
+
#: updraftplus.php:818
|
80 |
+
msgid "The backup has not finished; a resumption is scheduled within 5 minutes"
|
81 |
+
msgstr ""
|
82 |
+
"Die Sicherung wurde nicht fertiggestellt, eine Wiederaufnahme ist innerhalb "
|
83 |
+
"der nächsten 5 Minuten geplant"
|
84 |
+
|
85 |
+
#: updraftplus.php:869
|
86 |
+
msgid "Backed up"
|
87 |
+
msgstr "gesichert"
|
88 |
+
|
89 |
+
#: updraftplus.php:869
|
90 |
+
msgid "WordPress backup is complete"
|
91 |
+
msgstr "WordPress Sicherung vollständig"
|
92 |
+
|
93 |
+
#: updraftplus.php:869
|
94 |
+
msgid "Backup contains"
|
95 |
+
msgstr "Sicherung enthält"
|
96 |
+
|
97 |
+
#: updraftplus.php:869
|
98 |
+
msgid "Latest status"
|
99 |
+
msgstr "Letzter Status"
|
100 |
+
|
101 |
+
#: updraftplus.php:1124
|
102 |
+
#, php-format
|
103 |
+
msgid "Could not create %s zip. Consult the log file for more information."
|
104 |
+
msgstr ""
|
105 |
+
"Konnte das ZIP %s nicht erstellen. Sieh in der Logdatei für weitere "
|
106 |
+
"Informationen nach."
|
107 |
+
|
108 |
+
#: updraftplus.php:1158
|
109 |
+
#, php-format
|
110 |
+
msgid "Backup directory (%s) is not writable, or does not exist."
|
111 |
+
msgstr "Sicherungsverzeichnis (%s) ist nicht schreibbar oder existiert nicht."
|
112 |
+
|
113 |
+
#: updraftplus.php:1248
|
114 |
+
msgid "Could not read the content directory"
|
115 |
+
msgstr "Konnte das Content-Verzeichnis nicht lesen"
|
116 |
+
|
117 |
+
#: updraftplus.php:1278
|
118 |
+
msgid ""
|
119 |
+
"Could not save backup history because we have no backup array. Backup "
|
120 |
+
"probably failed."
|
121 |
+
msgstr ""
|
122 |
+
"Konnte Sicherungs-Historie nicht speichern, da es kein Sicherungs-Array "
|
123 |
+
"gibt. Das Backup ist wahrscheinlich fehlgeschlagen."
|
124 |
+
|
125 |
+
#: updraftplus.php:1307
|
126 |
+
msgid "Could not open the backup file for writing"
|
127 |
+
msgstr "Konnte die Sicherungsdatei nicht zum schreiben öffnen."
|
128 |
+
|
129 |
+
#: updraftplus.php:1316
|
130 |
+
#, php-format
|
131 |
+
msgid "Generated: %s"
|
132 |
+
msgstr "Erzeugt: %s"
|
133 |
+
|
134 |
+
#: updraftplus.php:1317
|
135 |
+
#, php-format
|
136 |
+
msgid "Hostname: %s"
|
137 |
+
msgstr "Hostname: %s"
|
138 |
+
|
139 |
+
#: updraftplus.php:1318
|
140 |
+
#, php-format
|
141 |
+
msgid "Database: %s"
|
142 |
+
msgstr "Datenbank: %s"
|
143 |
+
|
144 |
+
#: updraftplus.php:1362
|
145 |
+
msgid "The backup directory is not writable."
|
146 |
+
msgstr "Das Sicherungsverzeichnis ist nicht beschreibbar."
|
147 |
+
|
148 |
+
#: updraftplus.php:1383
|
149 |
+
#, php-format
|
150 |
+
msgid "Table: %s"
|
151 |
+
msgstr "Tabelle: %s"
|
152 |
+
|
153 |
+
#: updraftplus.php:1388
|
154 |
+
#, php-format
|
155 |
+
msgid "Skipping non-WP table: %s"
|
156 |
+
msgstr "Überspringe nicht-WP-Tabelle: %s"
|
157 |
+
|
158 |
+
#: updraftplus.php:1479
|
159 |
+
#, php-format
|
160 |
+
msgid "Delete any existing table %s"
|
161 |
+
msgstr "Lösche alle vorhandenen Tabellen %s"
|
162 |
+
|
163 |
+
#: updraftplus.php:1488
|
164 |
+
#, php-format
|
165 |
+
msgid "Table structure of table %s"
|
166 |
+
msgstr "Tabellenstruktur von Tabelle %s"
|
167 |
+
|
168 |
+
#: updraftplus.php:1494
|
169 |
+
#, php-format
|
170 |
+
msgid "Error with SHOW CREATE TABLE for %s."
|
171 |
+
msgstr "Fehler mit SHOW CREATE TABLE für %s"
|
172 |
+
|
173 |
+
#: updraftplus.php:1501
|
174 |
+
#, php-format
|
175 |
+
msgid "Error getting table structure of %s"
|
176 |
+
msgstr "Fehler beim Lesen der Tabellenstruktur von %s"
|
177 |
+
|
178 |
+
#: updraftplus.php:1507
|
179 |
+
#, php-format
|
180 |
+
msgid "Data contents of table %s"
|
181 |
+
msgstr "Daten-Inhalt von Tabelle %s"
|
182 |
+
|
183 |
+
#: updraftplus.php:1563
|
184 |
+
#, php-format
|
185 |
+
msgid "End of data contents of table %s"
|
186 |
+
msgstr "Dateninhalt Ende von Tabelle %s"
|
187 |
+
|
188 |
+
#: updraftplus.php:1815
|
189 |
+
msgid "Nothing yet logged"
|
190 |
+
msgstr "Noch nichts aufgezeichnet"
|
191 |
+
|
192 |
+
#: updraftplus.php:1836
|
193 |
+
msgid "File downloading"
|
194 |
+
msgstr "Datei wird heruntergeladen"
|
195 |
+
|
196 |
+
#: updraftplus.php:1838
|
197 |
+
msgid "No local copy present."
|
198 |
+
msgstr "Keine lokale Sicherung vorhanden."
|
199 |
+
|
200 |
+
#: updraftplus.php:2014
|
201 |
+
msgid "File not found"
|
202 |
+
msgstr "Datei nicht gefunden"
|
203 |
+
|
204 |
+
#: updraftplus.php:2033
|
205 |
+
#, php-format
|
206 |
+
msgid ""
|
207 |
+
"The backup archive for restoring this file could not be found. The remote "
|
208 |
+
"storage method in use (%s) does not allow us to retrieve files. To proceed "
|
209 |
+
"with this restoration, you need to obtain a copy of this file and place it "
|
210 |
+
"inside UpdraftPlus's working folder"
|
211 |
+
msgstr ""
|
212 |
+
"Das Sicherungsarchiv zum Wiederherstellen der Datei konnte nicht gefunden "
|
213 |
+
"werden. Die benutzte Fernspeicher-Methode (%s) erlaubt es uns nicht, Dateien "
|
214 |
+
"zu laden. Um mit der Wiederherstellung fortzufahren, musst du eine Kopie der "
|
215 |
+
"Datei in das UpdraftPlus Arbeitsverzeichnis kopieren."
|
216 |
+
|
217 |
+
#: updraftplus.php:2043
|
218 |
+
msgid ""
|
219 |
+
"This backup does not exist in the backup history - restoration aborted. "
|
220 |
+
"Timestamp:"
|
221 |
+
msgstr ""
|
222 |
+
"Diese Sicherung existiert in der Sicherungshistorie nicht - "
|
223 |
+
"Wiederherstellung abgebrochen. Zeitstempel:"
|
224 |
+
|
225 |
+
#: updraftplus.php:2056
|
226 |
+
msgid "UpdraftPlus Restoration: Progress"
|
227 |
+
msgstr "UpdraftPlus Wiederherstellung: Fortschritt"
|
228 |
+
|
229 |
+
#: updraftplus.php:2063
|
230 |
+
msgid "ABORT: Could not find the information on which entities to restore."
|
231 |
+
msgstr ""
|
232 |
+
"ABBRUCH: Konnte die Informationen, welche Einheiten wiederherzustellen sind, "
|
233 |
+
"nicht finden."
|
234 |
+
|
235 |
+
#: updraftplus.php:2077 updraftplus.php:2820 updraftplus.php:3072
|
236 |
+
msgid "Database"
|
237 |
+
msgstr "Datenbank"
|
238 |
+
|
239 |
+
#: updraftplus.php:2083
|
240 |
+
msgid "This component was not selected for restoration - skipping."
|
241 |
+
msgstr ""
|
242 |
+
"Diese Komponente wurde nicht für die Wiederherstellung ausgewählt - "
|
243 |
+
"überspringe."
|
244 |
+
|
245 |
+
#: updraftplus.php:2091
|
246 |
+
msgid ""
|
247 |
+
"File is not locally present - needs retrieving from remote storage (for "
|
248 |
+
"large files, it is better to do this in advance from the download console)"
|
249 |
+
msgstr ""
|
250 |
+
"Datei ist lokal nicht verfügbar - erfordert herunterladen von Fernspeicher "
|
251 |
+
"(bei großen Dateien ist es besser, diese vorher via Download-Konsole "
|
252 |
+
"herunterzuladen)"
|
253 |
+
|
254 |
+
#: updraftplus.php:2097
|
255 |
+
msgid "Archive is expected to be size:"
|
256 |
+
msgstr "Die zu erwartene Archivgröße:"
|
257 |
+
|
258 |
+
#: updraftplus.php:2102
|
259 |
+
msgid "ERROR"
|
260 |
+
msgstr "FEHLER"
|
261 |
+
|
262 |
+
#: updraftplus.php:2105
|
263 |
+
msgid ""
|
264 |
+
"The backup records do not contain information about the proper size of this "
|
265 |
+
"file."
|
266 |
+
msgstr ""
|
267 |
+
"Die Sicherungsaufzeichnungen enthalten keine korrekte Größe dieser Datei."
|
268 |
+
|
269 |
+
#: updraftplus.php:2117
|
270 |
+
msgid "Error message"
|
271 |
+
msgstr "Fehlermeldung"
|
272 |
+
|
273 |
+
#: updraftplus.php:2123 updraftplus.php:2124
|
274 |
+
msgid "Could not find one of the files for restoration"
|
275 |
+
msgstr "Konnte eine Datei für die Wiederherstellung nicht finden."
|
276 |
+
|
277 |
+
#: updraftplus.php:2126
|
278 |
+
msgid ""
|
279 |
+
"Databases are not yet restored through this mechanism - use your web host's "
|
280 |
+
"control panel, phpMyAdmin or a similar tool"
|
281 |
+
msgstr ""
|
282 |
+
"Datenbanken werden zur Zeit nicht durch diesen Mechanismus wiederhergestellt "
|
283 |
+
"- benutze das Control-Panel deines Hosters, phpMyAdmin oder ein ähnliches "
|
284 |
+
"Hilfsmittel."
|
285 |
+
|
286 |
+
#: updraftplus.php:2132
|
287 |
+
msgid ""
|
288 |
+
"Database could not be restored because PHP safe_mode is active on your "
|
289 |
+
"server. You will need to manually restore the file via phpMyAdmin or "
|
290 |
+
"another method."
|
291 |
+
msgstr ""
|
292 |
+
"Datenbank konnte nicht wiederhergestellt werden, da PHP safe_mode auf diesem "
|
293 |
+
"Server aktiviert ist. Du musst die Datei via phpMyAdmin oder mit einem "
|
294 |
+
"anderen Hilfsmittel manuell wiederherstellen."
|
295 |
+
|
296 |
+
#: updraftplus.php:2156
|
297 |
+
msgid "Delete"
|
298 |
+
msgstr "Löschen"
|
299 |
+
|
300 |
+
#: updraftplus.php:2290
|
301 |
+
msgid "Find UpdraftPlus useful?"
|
302 |
+
msgstr "Findest du UpdraftPlus nützlich?"
|
303 |
+
|
304 |
+
#: updraftplus.php:2290
|
305 |
+
msgid "Please make a donation"
|
306 |
+
msgstr "Bitte spende"
|
307 |
+
|
308 |
+
#: updraftplus.php:2295
|
309 |
+
msgid "Like UpdraftPlus and can spare one minute?"
|
310 |
+
msgstr "Magst du UpdraftPlus und kannst eine Minute entbehren?"
|
311 |
+
|
312 |
+
#: updraftplus.php:2295
|
313 |
+
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org"
|
314 |
+
msgstr "Bitte hilf UpdraftPlus by giving a positive Review at wordpress.org"
|
315 |
+
|
316 |
+
#: updraftplus.php:2302
|
317 |
+
msgid "Need even more features and support? Check out UpdraftPlus Premium"
|
318 |
+
msgstr ""
|
319 |
+
"Du brauchst mehr Funktionen und Unterstützung? Schau dir UpdraftPlus Premium "
|
320 |
+
"an"
|
321 |
+
|
322 |
+
#: updraftplus.php:2311
|
323 |
+
msgid "Check out UpdraftPlus.Com for help, add-ons and support"
|
324 |
+
msgstr ""
|
325 |
+
"Schau dir UpdraftPlus.Com für Hilfe, Erweiterungen und Unterstützugn an."
|
326 |
+
|
327 |
+
#: updraftplus.php:2314
|
328 |
+
msgid "Want to say thank-you for UpdraftPlus?"
|
329 |
+
msgstr "Möchtest du dich für UpdraftPlus bedanken?"
|
330 |
+
|
331 |
+
#: updraftplus.php:2314
|
332 |
+
msgid "Please buy our very cheap 'no adverts' add-on."
|
333 |
+
msgstr "Bitte kaufe unsere günstige 'Keine Werbung'-Erweiterung."
|
334 |
+
|
335 |
+
#: updraftplus.php:2325
|
336 |
+
msgid "File backup intervals"
|
337 |
+
msgstr "Datei-Sicherungs Intervalle"
|
338 |
+
|
339 |
+
#: updraftplus.php:2328
|
340 |
+
msgid "Manual"
|
341 |
+
msgstr "Dokumentation"
|
342 |
+
|
343 |
+
#: updraftplus.php:2328
|
344 |
+
msgid "Every 4 hours"
|
345 |
+
msgstr "Alle 4 Stunden"
|
346 |
+
|
347 |
+
#: updraftplus.php:2328
|
348 |
+
msgid "Every 8 hours"
|
349 |
+
msgstr "Alle 8 Stunden"
|
350 |
+
|
351 |
+
#: updraftplus.php:2328
|
352 |
+
msgid "Every 12 hours"
|
353 |
+
msgstr "Alle 12 Stunden"
|
354 |
+
|
355 |
+
#: updraftplus.php:2328
|
356 |
+
msgid "Daily"
|
357 |
+
msgstr "Täglich"
|
358 |
+
|
359 |
+
#: updraftplus.php:2328
|
360 |
+
msgid "Weekly"
|
361 |
+
msgstr "Wöchentlich"
|
362 |
+
|
363 |
+
#: updraftplus.php:2328
|
364 |
+
msgid "Fortnightly"
|
365 |
+
msgstr "Vierzehntägig"
|
366 |
+
|
367 |
+
#: updraftplus.php:2328
|
368 |
+
msgid "Monthly"
|
369 |
+
msgstr "Monatlich"
|
370 |
+
|
371 |
+
#: updraftplus.php:2337 updraftplus.php:2355
|
372 |
+
msgid "and retain this many backups"
|
373 |
+
msgstr "und behalte so viele Backups"
|
374 |
+
|
375 |
+
#: updraftplus.php:2344
|
376 |
+
msgid "Database backup intervals"
|
377 |
+
msgstr "Datenbank-Sicherungs-Intervalle"
|
378 |
+
|
379 |
+
#: updraftplus.php:2362
|
380 |
+
msgid ""
|
381 |
+
"If you would like to automatically schedule backups, choose schedules from "
|
382 |
+
"the dropdowns above. Backups will occur at the intervals specified. If the "
|
383 |
+
"two schedules are the same, then the two backups will take place together. "
|
384 |
+
"If you choose \"manual\" then you must click the \"Backup Now\" button "
|
385 |
+
"whenever you wish a backup to occur."
|
386 |
+
msgstr ""
|
387 |
+
"Wenn du automatische Sicherungen planen willst, wähle Sicherungspläne aus "
|
388 |
+
"den Auswahllisten oben aus. Sicherungen werden zu den definierten "
|
389 |
+
"Intervallen durchgeführt. Wenn die zwei Sicherungspläne übereinstimmen, "
|
390 |
+
"werden beide Sicherungen den selben Platz einnehmen. Wenn du \"Manuell\" "
|
391 |
+
"auswählst, musst du \"Jetzt sichern\" drücken, wann immer du eine Sicherung "
|
392 |
+
"wünschst."
|
393 |
+
|
394 |
+
#: updraftplus.php:2363
|
395 |
+
msgid "To fix the time at which a backup should take place,"
|
396 |
+
msgstr "Um die Zeit zu korrigieren, zu der eine Sicherung stattfinden sollte,"
|
397 |
+
|
398 |
+
#: updraftplus.php:2363
|
399 |
+
msgid "e.g. if your server is busy at day and you want to run overnight"
|
400 |
+
msgstr ""
|
401 |
+
"z.B. wenn dein Server tagsüber sehr beschäftigt ist und du bei Nacht "
|
402 |
+
"durchführen möchtest"
|
403 |
+
|
404 |
+
#: updraftplus.php:2363
|
405 |
+
msgid "use the \"Fix Time\" add-on"
|
406 |
+
msgstr "benutze die \"Fix Time\" Erweiterung"
|
407 |
+
|
408 |
+
#: updraftplus.php:2377
|
409 |
+
msgid ""
|
410 |
+
"Any other directories found inside wp-content but exclude these directories:"
|
411 |
+
msgstr ""
|
412 |
+
"Alle anderen Verzeichnisse in wp-content, aber ignoriere diese Verzeichnisse:"
|
413 |
+
|
414 |
+
#: updraftplus.php:2383
|
415 |
+
msgid ""
|
416 |
+
"Include all of these, unless you are backing them up outside of UpdraftPlus. "
|
417 |
+
"The above directories are usually everything (except for WordPress core "
|
418 |
+
"itself which you can download afresh from WordPress.org). But if you have "
|
419 |
+
"made customised modifications outside of these directories, you need to back "
|
420 |
+
"them up another way."
|
421 |
+
msgstr ""
|
422 |
+
"Füge alle diese hinzu, es seidenn du sicherst zu außerhalb von UpdraftPlus. "
|
423 |
+
"Die oberen Verzeichnisse sind normaler Weise alles (außer der WordPress-"
|
424 |
+
"Core, den du frisch von WordPress.org herunterladen). Wenn du manuelle "
|
425 |
+
"Veränderungen außerhalb dieser Verzeichnisse getätigt hast, musst du diese "
|
426 |
+
"anders sichern."
|
427 |
+
|
428 |
+
#: updraftplus.php:2383
|
429 |
+
msgid "Use WordShell for automatic backup, version control and patching"
|
430 |
+
msgstr ""
|
431 |
+
"Benutze WordShell für automatische Sicherungen, Versionierung und ausbessern."
|
432 |
+
|
433 |
+
#: updraftplus.php:2387
|
434 |
+
msgid "Email"
|
435 |
+
msgstr "E-Mail"
|
436 |
+
|
437 |
+
#: updraftplus.php:2388
|
438 |
+
msgid ""
|
439 |
+
"Enter an address here to have a report sent (and the whole backup, if you "
|
440 |
+
"choose) to it."
|
441 |
+
msgstr ""
|
442 |
+
"Gib hier eine Adresse ein, um Berichte zugesandt (und wenn ausgewählt die "
|
443 |
+
"Sicherungen) zu bekommen."
|
444 |
+
|
445 |
+
#: updraftplus.php:2392
|
446 |
+
msgid "Database encryption phrase"
|
447 |
+
msgstr "Datenbank-Verschlüsselungs-Phrase"
|
448 |
+
|
449 |
+
#: updraftplus.php:2399
|
450 |
+
msgid ""
|
451 |
+
"If you enter text here, it is used to encrypt backups (Rijndael). <strong>Do "
|
452 |
+
"make a separate record of it and do not lose it, or all your backups "
|
453 |
+
"<em>will</em> be useless.</strong> Presently, only the database file is "
|
454 |
+
"encrypted. This is also the key used to decrypt backups from this admin "
|
455 |
+
"interface (so if you change it, then automatic decryption will not work "
|
456 |
+
"until you change it back). You can also use the file example-decrypt.php "
|
457 |
+
"from inside the UpdraftPlus plugin directory to decrypt manually."
|
458 |
+
msgstr ""
|
459 |
+
"Wenn du einen Text hier eingibst, wird dieser benutzt um die Sicherungen zu "
|
460 |
+
"verschlüsseln (Rijndael). <strong>Sichere diesen Text an einer sicheren "
|
461 |
+
"stelle um ihn nicht zu verlieren/vergessen - die Sicherungen sind "
|
462 |
+
"<em>nutzlos</em> wenn du den Text vergisst.</strong> Aktuell wird nur die "
|
463 |
+
"Datenbank-Datei verschlüsselt. Der Text dient außerdem zur Entschlüsselung "
|
464 |
+
"der Sicherungen aus dieser Oberfläche (daher funktioniert Entschlüsselung "
|
465 |
+
"älterer Sicherungen nicht, wenn du diesen änderst). Außerdem kannst du das "
|
466 |
+
"Beispiel example-decrypt.php aus dem UpdraftPlus Plugin-Verzeichnis "
|
467 |
+
"verwenden, um manuell zu entschlüsseln."
|
468 |
+
|
469 |
+
#: updraftplus.php:2403
|
470 |
+
msgid "Copying Your Backup To Remote Storage"
|
471 |
+
msgstr "Kopiere deine Sicherung zum Fernspeicher"
|
472 |
+
|
473 |
+
#: updraftplus.php:2407
|
474 |
+
msgid "Choose your remote storage"
|
475 |
+
msgstr "Wähle deinen Fern-Speicher"
|
476 |
+
|
477 |
+
#: updraftplus.php:2419
|
478 |
+
msgid "None"
|
479 |
+
msgstr "keine"
|
480 |
+
|
481 |
+
#: updraftplus.php:2500 updraftplus.php:2838 updraftplus.php:3109
|
482 |
+
msgid "Restore"
|
483 |
+
msgstr "Wiederherstellen"
|
484 |
+
|
485 |
+
#: updraftplus.php:2514 updraftplus.php:2524
|
486 |
+
msgid "Cancel"
|
487 |
+
msgstr "Abbrechen"
|
488 |
+
|
489 |
+
#: updraftplus.php:2521 updraftplus.php:2830
|
490 |
+
msgid "Backup Now"
|
491 |
+
msgstr "Jetzt sichern"
|
492 |
+
|
493 |
+
#: updraftplus.php:2548
|
494 |
+
msgid "Advanced / Debugging Settings"
|
495 |
+
msgstr "Erweitert / Debugging-Einstellungen"
|
496 |
+
|
497 |
+
#: updraftplus.php:2551
|
498 |
+
msgid "Debug mode"
|
499 |
+
msgstr "Debug-Modus"
|
500 |
+
|
501 |
+
#: updraftplus.php:2552
|
502 |
+
msgid ""
|
503 |
+
"Check this to receive more information and emails on the backup process - "
|
504 |
+
"useful if something is going wrong. You <strong>must</strong> send us this "
|
505 |
+
"log if you are filing a bug report."
|
506 |
+
msgstr ""
|
507 |
+
"Wähle das aus, um mehr Informationen und E-Mails zum Backup-Prozess zu "
|
508 |
+
"erhalten - hilfreich wenn etwas schiefläuft. Du <stong>musst</strong> uns "
|
509 |
+
"dieses Log übersenden, wenn du einen Fehlerbericht erstellst."
|
510 |
+
|
511 |
+
#: updraftplus.php:2555
|
512 |
+
msgid "Expert settings"
|
513 |
+
msgstr "Experten-Einstellungen"
|
514 |
+
|
515 |
+
#: updraftplus.php:2556
|
516 |
+
msgid "Show expert settings"
|
517 |
+
msgstr "Zeige Experten-Einstellungen"
|
518 |
+
|
519 |
+
#: updraftplus.php:2556
|
520 |
+
msgid ""
|
521 |
+
"click this to show some further options; don't bother with this unless you "
|
522 |
+
"have a problem or are curious."
|
523 |
+
msgstr ""
|
524 |
+
"Klicke hier, um weitere Optionen anzuzeigen; schau nach, wenn du Probleme "
|
525 |
+
"hast oder neugierig bist."
|
526 |
+
|
527 |
+
#: updraftplus.php:2563
|
528 |
+
msgid "Delete local backup"
|
529 |
+
msgstr "Lösche lokale Sicherung"
|
530 |
+
|
531 |
+
#: updraftplus.php:2564
|
532 |
+
msgid ""
|
533 |
+
"Uncheck this to prevent deletion of any superfluous backup files from your "
|
534 |
+
"server after the backup run finishes (i.e. any files despatched remotely "
|
535 |
+
"will also remain locally, and any files being kept locally will not be "
|
536 |
+
"subject to the retention limits)."
|
537 |
+
msgstr ""
|
538 |
+
"Wähle das ab, um die Löschung überflüssiger Sicherungsdateien zu verhinden, "
|
539 |
+
"nachdem die Sicherung fertiggestellt wird. (Dateien können somit auch aus "
|
540 |
+
"dem Cloud-Speicher verschwinden und Dateilimits werden ignoriert)"
|
541 |
+
|
542 |
+
#: updraftplus.php:2568
|
543 |
+
msgid "Backup directory"
|
544 |
+
msgstr "Sicherungs-Verzeichnis"
|
545 |
+
|
546 |
+
#: updraftplus.php:2576
|
547 |
+
msgid "Backup directory specified is writable, which is good."
|
548 |
+
msgstr "Das definierte Sicherungsverzeichnis ist beschreibbar, das ist gut."
|
549 |
+
|
550 |
+
#: updraftplus.php:2578
|
551 |
+
msgid "Backup directory specified is <b>not</b> writable, or does not exist."
|
552 |
+
msgstr ""
|
553 |
+
"Das Sicherungsverzeichnis ist <b>nicht</b> beschreibbar oder existiert nicht."
|
554 |
+
|
555 |
+
#: updraftplus.php:2578
|
556 |
+
msgid "Click here to attempt to create the directory and set the permissions"
|
557 |
+
msgstr ""
|
558 |
+
"Klicke hier, um zu versuchen das Verzeichnis zu erstellen und die Rechte zu "
|
559 |
+
"setzen."
|
560 |
+
|
561 |
+
# may be wrong context
|
562 |
+
#: updraftplus.php:2578
|
563 |
+
msgid "or, to reset this option"
|
564 |
+
msgstr "oder, um diese Option zurückzusetzen"
|
565 |
+
|
566 |
+
#: updraftplus.php:2578
|
567 |
+
msgid "click here"
|
568 |
+
msgstr "Klicke hier"
|
569 |
+
|
570 |
+
#: updraftplus.php:2578
|
571 |
+
msgid ""
|
572 |
+
"If that is unsuccessful check the permissions on your server or change it to "
|
573 |
+
"another directory that is writable by your web server process."
|
574 |
+
msgstr ""
|
575 |
+
"Wenn dies fehlschlägt, prüfe die Berechtigungen auf deinem Server oder "
|
576 |
+
"ändere das Verzeichnis in eines, dass vom Webserver-Prozess beschrieben "
|
577 |
+
"werden darf."
|
578 |
+
|
579 |
+
#: updraftplus.php:2581
|
580 |
+
msgid ""
|
581 |
+
"This is where UpdraftPlus will write the zip files it creates initially. "
|
582 |
+
"This directory must be writable by your web server. Typically you'll want to "
|
583 |
+
"have it inside your wp-content folder (this is the default). <b>Do not</b> "
|
584 |
+
"place it inside your uploads dir, as that will cause recursion issues "
|
585 |
+
"(backups of backups of backups of...)."
|
586 |
+
msgstr ""
|
587 |
+
"Das ist der Ort an dem UpdraftPlus die ZIP-Dateien schreibt. Dieses "
|
588 |
+
"Verzeichnis muss von deinem Webserver beschreibbar sein. Typischer Weise "
|
589 |
+
"wirst du es im wp-content-Ordner haben wollen (Standard). Platziere es "
|
590 |
+
"<b>nicht</b> in das uploads-Verzeichnis, da es sonst zu Schleifenproblemen "
|
591 |
+
"kommt (Sicherung von der Sicherung (...))."
|
592 |
+
|
593 |
+
#: updraftplus.php:2602
|
594 |
+
msgid "Save Changes"
|
595 |
+
msgstr "Änderungen speichern"
|
596 |
+
|
597 |
+
#: updraftplus.php:2626
|
598 |
+
msgid "Download log file"
|
599 |
+
msgstr "Lade Logdatei herunter"
|
600 |
+
|
601 |
+
#: updraftplus.php:2632
|
602 |
+
msgid "No backup has been completed."
|
603 |
+
msgstr "Keine Sicherung wurde vervollständigt."
|
604 |
+
|
605 |
+
#: updraftplus.php:2652
|
606 |
+
msgid "Restore successful!"
|
607 |
+
msgstr "Wiederherstellung erfolgreich!"
|
608 |
+
|
609 |
+
#: updraftplus.php:2653 updraftplus.php:2688 updraftplus.php:2704
|
610 |
+
msgid "Actions"
|
611 |
+
msgstr "Aktionen"
|
612 |
+
|
613 |
+
#: updraftplus.php:2653 updraftplus.php:2668 updraftplus.php:2688
|
614 |
+
#: updraftplus.php:2704
|
615 |
+
msgid "Return to UpdraftPlus Configuration"
|
616 |
+
msgstr "Kehre zur UpdraftPlus Konfiguration zurück"
|
617 |
+
|
618 |
+
#: updraftplus.php:2677
|
619 |
+
msgid "Remove old directories"
|
620 |
+
msgstr "Entferne alte Verzeichnisse"
|
621 |
+
|
622 |
+
#: updraftplus.php:2683
|
623 |
+
msgid "Old directories successfully removed."
|
624 |
+
msgstr "Alte Verzeichnisse erfolgreich entfernt."
|
625 |
+
|
626 |
+
#: updraftplus.php:2686
|
627 |
+
msgid ""
|
628 |
+
"Old directory removal failed for some reason. You may want to do this "
|
629 |
+
"manually."
|
630 |
+
msgstr ""
|
631 |
+
"Entfernen alter Verzeichnisse aus irgendeinem Grund fehlgeschlagen. "
|
632 |
+
"Vielleicht möchtest du es manuell probieren."
|
633 |
+
|
634 |
+
#: updraftplus.php:2701
|
635 |
+
msgid "Backup directory could not be created"
|
636 |
+
msgstr "Sicherungsverzeichnis konnte nicht erstellt werden."
|
637 |
+
|
638 |
+
#: updraftplus.php:2703
|
639 |
+
msgid "Backup directory successfully created."
|
640 |
+
msgstr "Sicherungsverzeichnis erfolgreich erstellt."
|
641 |
+
|
642 |
+
#: updraftplus.php:2710
|
643 |
+
msgid "Schedule backup"
|
644 |
+
msgstr "Plane Sicherung"
|
645 |
+
|
646 |
+
#: updraftplus.php:2713
|
647 |
+
msgid "Failed."
|
648 |
+
msgstr "Fehlgeschlagen."
|
649 |
+
|
650 |
+
#: updraftplus.php:2715
|
651 |
+
msgid ""
|
652 |
+
"OK. Now load any page from your site to make sure the schedule can trigger. "
|
653 |
+
"You should then see activity in the \"Last log message\" field below."
|
654 |
+
msgstr ""
|
655 |
+
"Okay. Nun lade irgendeine Seite deiner Webseite damit der Plan auslösen "
|
656 |
+
"kann. Du solltest im \"Letzte Lognachricht\" Feld unterhalb Aktivitäten "
|
657 |
+
"sehen."
|
658 |
+
|
659 |
+
#: updraftplus.php:2715
|
660 |
+
msgid "Nothing happening? Follow this link for help."
|
661 |
+
msgstr "Nichts passiert? Folge diesem Link für Hilfe."
|
662 |
+
|
663 |
+
#: updraftplus.php:2728
|
664 |
+
msgid "Your settings have been wiped."
|
665 |
+
msgstr "Deine Einstellungen wurden zurückgesetzt."
|
666 |
+
|
667 |
+
#: updraftplus.php:2735
|
668 |
+
msgid "By UpdraftPlus.Com"
|
669 |
+
msgstr "Von UpdraftPlus.cCom"
|
670 |
+
|
671 |
+
#: updraftplus.php:2735
|
672 |
+
msgid "Lead developer's homepage"
|
673 |
+
msgstr "Website des leitenden Entwicklers"
|
674 |
+
|
675 |
+
#: updraftplus.php:2735
|
676 |
+
msgid "Donate"
|
677 |
+
msgstr "Spende"
|
678 |
+
|
679 |
+
#: updraftplus.php:2735
|
680 |
+
msgid "Other WordPress plugins"
|
681 |
+
msgstr "Andere WordPress Plugins"
|
682 |
+
|
683 |
+
#: updraftplus.php:2735
|
684 |
+
msgid "Version"
|
685 |
+
msgstr "Version"
|
686 |
+
|
687 |
+
#: updraftplus.php:2739
|
688 |
+
msgid "Your backup has been restored."
|
689 |
+
msgstr "Deine Sicherung wurde wiederhergestellt."
|
690 |
+
|
691 |
+
#: updraftplus.php:2739
|
692 |
+
msgid ""
|
693 |
+
"Your old (themes, uploads, plugins, whatever) directories have been retained "
|
694 |
+
"with \"-old\" appended to their name. Remove them when you are satisfied "
|
695 |
+
"that the backup worked properly."
|
696 |
+
msgstr ""
|
697 |
+
"Deine alten Verzeichnisse (themes,uploads,plugins,was-auch-immer) wurden mit "
|
698 |
+
"dem Anhang \"-old\" umbenannt. Entferne diese, wenn du mit der "
|
699 |
+
"Wiederherstellung zufrieden bist und alles funktioniert."
|
700 |
+
|
701 |
+
#: updraftplus.php:2739
|
702 |
+
msgid ""
|
703 |
+
"At this time UpdraftPlus does not automatically restore your database. You "
|
704 |
+
"will need to use an external tool like phpMyAdmin to perform that task."
|
705 |
+
msgstr ""
|
706 |
+
"Zur Zeit stellt UpdraftPlus deine Datenbank nicht automatisch wieder her. Du "
|
707 |
+
"benötigst ein externes Programm wie z.B. phpMyAdmin um dies zu tun."
|
708 |
+
|
709 |
+
#: updraftplus.php:2745
|
710 |
+
msgid "Old directories successfully deleted."
|
711 |
+
msgstr "Alte Verzeichnisse erfolgreich entfernt."
|
712 |
+
|
713 |
+
#: updraftplus.php:2748
|
714 |
+
msgid ""
|
715 |
+
"Your PHP memory limit is quite low. UpdraftPlus attempted to raise it but "
|
716 |
+
"was unsuccessful. This plugin may not work properly with a memory limit of "
|
717 |
+
"less than 96 Mb (though on the other hand, it has been used successfully "
|
718 |
+
"with a 32Mb limit - your mileage may vary, but don't blame us!)."
|
719 |
+
msgstr ""
|
720 |
+
"Dein PHP Speicherlimit ist ziemlich niedrig. UpdraftPlus hat versucht es zu "
|
721 |
+
"erhöhen, jedoch ohne Erfolg. Dieses Plugin arbeitet ggf. nicht ordentlich "
|
722 |
+
"mit weniger als 96MB Speicherlimit. (Es funktionierte auch schon mit 32MB, "
|
723 |
+
"allerdings ist das Glückssache)"
|
724 |
+
|
725 |
+
#: updraftplus.php:2748
|
726 |
+
msgid "Current limit is:"
|
727 |
+
msgstr "Aktuelles Limit ist:"
|
728 |
+
|
729 |
+
#: updraftplus.php:2752
|
730 |
+
msgid ""
|
731 |
+
"Your PHP max_execution_time is less than 60 seconds. This possibly means "
|
732 |
+
"you're running in safe_mode. Either disable safe_mode or modify your php.ini "
|
733 |
+
"to set max_execution_time to a higher number. If you do not, then longer "
|
734 |
+
"will be needed to complete a backup (but that is all). Present limit is:"
|
735 |
+
msgstr ""
|
736 |
+
"PHP max_execution_time ist aus niedriger als 60 Sekunden eingestellt. Das "
|
737 |
+
"kann bedeuten, dass PHP im safe_mode läuft. Deaktiviere safe_mode oder "
|
738 |
+
"bearbeite deine php.ini und setze max_execution_time auf einen höheren Wert. "
|
739 |
+
"Wenn du dies nicht tust, wird die Sicherung lediglich mehr Zeit in Anspruch "
|
740 |
+
"nehmen (das ist alles). Aktuelles Limit ist:"
|
741 |
+
|
742 |
+
#: updraftplus.php:2752
|
743 |
+
msgid "seconds"
|
744 |
+
msgstr "Sekunden"
|
745 |
+
|
746 |
+
#: updraftplus.php:2757
|
747 |
+
msgid ""
|
748 |
+
"You have old directories from a previous backup (technical information: "
|
749 |
+
"these are found in wp-content, and suffixed with -old). Use this button to "
|
750 |
+
"delete them (if you have verified that the restoration worked)."
|
751 |
+
msgstr ""
|
752 |
+
"Es existieren noch alte Verzeichnisse von vorherigen Sicherungen (technische "
|
753 |
+
"Information: befinden sich in wp-content mit dem Suffix -old). Benutze "
|
754 |
+
"diesen Button, um sie zu löschen (wenn du geprüft hast, das die "
|
755 |
+
"Wiederherstellung erfolgreich war)."
|
756 |
+
|
757 |
+
#: updraftplus.php:2761
|
758 |
+
msgid "Delete Old Directories"
|
759 |
+
msgstr "Lösche alte Verzeichnisse"
|
760 |
+
|
761 |
+
#: updraftplus.php:2761
|
762 |
+
msgid ""
|
763 |
+
"Are you sure you want to delete the old directories? This cannot be undone."
|
764 |
+
msgstr ""
|
765 |
+
"Bist du dir sicher, dass du die alten Verzeichnisse löschen möchtest? Das "
|
766 |
+
"kann nicht rückgängig gemacht werden."
|
767 |
+
|
768 |
+
#: updraftplus.php:2774
|
769 |
+
msgid "Existing Schedule And Backups"
|
770 |
+
msgstr "Vorhandene Plannungen und Sicherungen"
|
771 |
+
|
772 |
+
#: updraftplus.php:2778
|
773 |
+
msgid "JavaScript warning"
|
774 |
+
msgstr "JavaScript-Warnung"
|
775 |
+
|
776 |
+
#: updraftplus.php:2779
|
777 |
+
msgid ""
|
778 |
+
"This admin interface uses JavaScript heavily. You either need to activate it "
|
779 |
+
"within your browser, or to use a JavaScript-capable browser."
|
780 |
+
msgstr ""
|
781 |
+
"Diese Administrationsoberfläche nutzt sehr viel JavaScript. Du musst dieses "
|
782 |
+
"entweder in deinem Browser aktivieren oder einen JavaScript-fähigen Browser "
|
783 |
+
"verwenden."
|
784 |
+
|
785 |
+
#: updraftplus.php:2792 updraftplus.php:2805
|
786 |
+
msgid "Nothing currently scheduled"
|
787 |
+
msgstr "Zur Zeit nichts geplant"
|
788 |
+
|
789 |
+
# Not sure about content, tried to look it up and hope I got it right
|
790 |
+
#: updraftplus.php:2797
|
791 |
+
msgid "At the same time as the files backup"
|
792 |
+
msgstr "Zur selben Zeit, wie die Dateien gesichert werden."
|
793 |
+
|
794 |
+
#: updraftplus.php:2817
|
795 |
+
msgid "Next scheduled backups"
|
796 |
+
msgstr "Nächste geplante Sicherungen"
|
797 |
+
|
798 |
+
#: updraftplus.php:2819
|
799 |
+
msgid "Files"
|
800 |
+
msgstr "Dateien"
|
801 |
+
|
802 |
+
#: updraftplus.php:2821
|
803 |
+
msgid "Time now"
|
804 |
+
msgstr "Aktuelle Zeit"
|
805 |
+
|
806 |
+
#: updraftplus.php:2825
|
807 |
+
msgid "Last finished backup run"
|
808 |
+
msgstr "Letzte beendete Sicherung lief"
|
809 |
+
|
810 |
+
#: updraftplus.php:2845
|
811 |
+
msgid "Last log message"
|
812 |
+
msgstr "Letzte Log-Nachricht"
|
813 |
+
|
814 |
+
#: updraftplus.php:2846
|
815 |
+
msgid "(Nothing yet logged)"
|
816 |
+
msgstr "(Noch nichts aufgezeichnet)"
|
817 |
+
|
818 |
+
#: updraftplus.php:2849
|
819 |
+
msgid "Backups, logs & restoring"
|
820 |
+
msgstr "Sicherungen, Logs & Wiederherstellung"
|
821 |
+
|
822 |
+
#: updraftplus.php:2850
|
823 |
+
msgid "Press to see available backups"
|
824 |
+
msgstr "Drücken um verfügbare Sicherungen zu sehen"
|
825 |
+
|
826 |
+
#: updraftplus.php:2850
|
827 |
+
#, php-format
|
828 |
+
msgid "%d set(s) available"
|
829 |
+
msgstr "%d Sammlung(en) verfügbar"
|
830 |
+
|
831 |
+
#: updraftplus.php:2855
|
832 |
+
msgid "Downloading"
|
833 |
+
msgstr "Lade herunter"
|
834 |
+
|
835 |
+
#: updraftplus.php:2855
|
836 |
+
msgid ""
|
837 |
+
"Pressing a button for Database/Plugins/Themes/Uploads/Others will make "
|
838 |
+
"UpdraftPlus try to bring the backup file back from the remote storage (if "
|
839 |
+
"any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then "
|
840 |
+
"you will be allowed to download it to your computer. If the fetch from the "
|
841 |
+
"remote storage stops progressing (wait 30 seconds to make sure), then press "
|
842 |
+
"again to resume. Remember that you can also visit the cloud storage vendor's "
|
843 |
+
"website directly."
|
844 |
+
msgstr ""
|
845 |
+
"Das Drücken eines Buttons für Datenbank/Plugins/Designs/Uploads/Andere lässt "
|
846 |
+
"UpdraftPlus versuchen die Sicherungsdateien vom Fernspeicher (wenn genutzt) "
|
847 |
+
"auf den Webspace zu laden. Danach kannst du dieses herunterladen. Wenn das "
|
848 |
+
"Herunterladen einfriert (warte 30 Sekunden um sicher zu gehen), drücke den "
|
849 |
+
"Button erneut zum Wiederaufnehmen. Natürlich kannst du die Dateien auch "
|
850 |
+
"jederzeit von der Seite deines Cloud-Anbieters laden."
|
851 |
+
|
852 |
+
#: updraftplus.php:2856
|
853 |
+
msgid "Restoring"
|
854 |
+
msgstr "Wiederherstellen"
|
855 |
+
|
856 |
+
#: updraftplus.php:2856
|
857 |
+
msgid ""
|
858 |
+
"Press the button for the backup you wish to restore. If your site is large "
|
859 |
+
"and you are using remote storage, then you should first click on each entity "
|
860 |
+
"in order to retrieve it back to the webserver. This will prevent time-outs "
|
861 |
+
"from occuring during the restore process itself."
|
862 |
+
msgstr ""
|
863 |
+
"Klicke auf den Button für die Sicherung, die du wiederherstellen willst. "
|
864 |
+
"Wenn deine Seite sehr groß ist und du Fernspeicher benutzt, solltest du "
|
865 |
+
"vorher jeden Eintrag vorher auswählen, um die Sicherung auf den lokalen "
|
866 |
+
"Server zu laden. Das verhindert Timeouts bei dem Wiederherstellungsprozess."
|
867 |
+
|
868 |
+
#: updraftplus.php:2856
|
869 |
+
msgid "More tasks:"
|
870 |
+
msgstr "Weitere Aufgaben:"
|
871 |
+
|
872 |
+
#: updraftplus.php:2856
|
873 |
+
msgid "upload backup files"
|
874 |
+
msgstr "Sicherungsdateien hochladen"
|
875 |
+
|
876 |
+
#: updraftplus.php:2856
|
877 |
+
msgid ""
|
878 |
+
"Press here to look inside your UpdraftPlus directory (in your web hosting "
|
879 |
+
"space) for any new backup sets that you have uploaded. The location of this "
|
880 |
+
"directory is set in the expert settings, below."
|
881 |
+
msgstr ""
|
882 |
+
"Klicke hier um in dein UpdraftPlus Verzeichnis zu schauen (auf deinem "
|
883 |
+
"Webhosting-Space) und alle neuen Sicherungen, die du hochgeladen hast, zu "
|
884 |
+
"sehen. Der Ort dieses Verzeichnisses kann unten in den Experteneinstellungen "
|
885 |
+
"definiert werden."
|
886 |
+
|
887 |
+
#: updraftplus.php:2856
|
888 |
+
msgid "rescan folder for new backup sets"
|
889 |
+
msgstr "Durchsuche Verzeichnis nach neuen Sicherungen"
|
890 |
+
|
891 |
+
#: updraftplus.php:2857
|
892 |
+
msgid "Opera web browser"
|
893 |
+
msgstr "Opera Web Browser"
|
894 |
+
|
895 |
+
#: updraftplus.php:2857
|
896 |
+
msgid "If you are using this, then turn Turbo/Road mode off."
|
897 |
+
msgstr "Wenn du das benutzt, deaktiviere den Tubro-Modus."
|
898 |
+
|
899 |
+
#: updraftplus.php:2858
|
900 |
+
msgid "This is a count of the contents of your Updraft directory"
|
901 |
+
msgstr "Das ist eine Zählung von Inhalten in deinem Updraft-Verzeichnis."
|
902 |
+
|
903 |
+
# I have no idea how to translate that one better
|
904 |
+
#: updraftplus.php:2858
|
905 |
+
msgid "Web-server disk space in use by UpdraftPlus"
|
906 |
+
msgstr "Web-Server Festplatte in Benutzung von UpdraftPlus"
|
907 |
+
|
908 |
+
#: updraftplus.php:2858
|
909 |
+
msgid "refresh"
|
910 |
+
msgstr "aktualisieren"
|
911 |
+
|
912 |
+
#: updraftplus.php:2860
|
913 |
+
msgid "UpdraftPlus - Upload backup files"
|
914 |
+
msgstr "UpdraftPlus hochgeladene Sicherungen"
|
915 |
+
|
916 |
+
#: updraftplus.php:2861
|
917 |
+
msgid ""
|
918 |
+
"Upload files into UpdraftPlus. Use this to import backups made on a "
|
919 |
+
"different WordPress installation."
|
920 |
+
msgstr ""
|
921 |
+
"Lade Dateien nach UpdraftPlus hoch. Nutze diese Funktion um Sicherungen von "
|
922 |
+
"anderen WordPress-Installationen zu importieren."
|
923 |
+
|
924 |
+
#: updraftplus.php:2865
|
925 |
+
msgid "Drop backup zips here"
|
926 |
+
msgstr "Ziehe Sicherungsarchive hierher"
|
927 |
+
|
928 |
+
#: updraftplus.php:2879
|
929 |
+
msgid "calculating..."
|
930 |
+
msgstr "Berechne...."
|
931 |
+
|
932 |
+
#: updraftplus.php:2948
|
933 |
+
msgid "Restore backup"
|
934 |
+
msgstr "Sicherung wiederherstellen"
|
935 |
+
|
936 |
+
#: updraftplus.php:2949
|
937 |
+
msgid "Restore backup from"
|
938 |
+
msgstr "Stelle Sicherung wieder her von"
|
939 |
+
|
940 |
+
# Again, missing )
|
941 |
+
#: updraftplus.php:2950
|
942 |
+
msgid ""
|
943 |
+
"Restoring will replace this site's themes, plugins, uploads and/or other "
|
944 |
+
"content directories (according to what is contained in the backup set, and "
|
945 |
+
"your selection"
|
946 |
+
msgstr ""
|
947 |
+
"Die Wiederherstellung wird die Designs,Plugins,Uploads und/oder andere "
|
948 |
+
"Inhalt-Verzeichnisse (basierend auf deiner Auswahl) ersetzen."
|
949 |
+
|
950 |
+
#: updraftplus.php:2950
|
951 |
+
msgid "Choose the components to restore"
|
952 |
+
msgstr "Wähle die Komponenten zum Wiederherstellen aus"
|
953 |
+
|
954 |
+
#: updraftplus.php:2961
|
955 |
+
msgid ""
|
956 |
+
"Databases cannot yet be restored from here - you must download the database "
|
957 |
+
"file and take it to your web hosting company's control panel."
|
958 |
+
msgstr ""
|
959 |
+
"Datenbanken können hier mit noch nicht wiederhergestellt werden - du musst "
|
960 |
+
"die Datenbankdatei herunterladen und in der Administrationsoberfläche deines "
|
961 |
+
"Hosters einlesen."
|
962 |
+
|
963 |
+
#: updraftplus.php:2966
|
964 |
+
msgid "Perform a backup now"
|
965 |
+
msgstr "Jetzt sichern"
|
966 |
+
|
967 |
+
#: updraftplus.php:2968
|
968 |
+
msgid ""
|
969 |
+
"This will schedule a one-time backup. To proceed, press 'Backup Now', then "
|
970 |
+
"wait 10 seconds, then visit any page on your site. WordPress should then "
|
971 |
+
"start the backup running in the background."
|
972 |
+
msgstr ""
|
973 |
+
"Das wird eine einmalige Sicherung auslösen. Um fortzufahren, drücke 'Jetzt "
|
974 |
+
"sichern' und warte 10 Sekunden, dann besuche irgendeine Seite deines Blogs. "
|
975 |
+
"WordPress sollte dann die Sicherung im Hintergrund starten."
|
976 |
+
|
977 |
+
#: updraftplus.php:2974
|
978 |
+
msgid "Does nothing happen when you schedule backups?"
|
979 |
+
msgstr "Passiert nichts, wenn du Sicherungen planst?"
|
980 |
+
|
981 |
+
#: updraftplus.php:2974
|
982 |
+
msgid "Go here for help."
|
983 |
+
msgstr "Klicke hier für Hilfe"
|
984 |
+
|
985 |
+
#: updraftplus.php:2981
|
986 |
+
msgid "Multisite"
|
987 |
+
msgstr "Multiseiten"
|
988 |
+
|
989 |
+
#: updraftplus.php:2985
|
990 |
+
msgid "Do you need WordPress Multisite support?"
|
991 |
+
msgstr "Brauchst du WordPress Multiseiten Unterstützung?"
|
992 |
+
|
993 |
+
#: updraftplus.php:2985
|
994 |
+
msgid ""
|
995 |
+
"Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
996 |
+
msgstr "Bitte schau dir UpdraftPlus Premium oder das Multiseiten Add-On an."
|
997 |
+
|
998 |
+
#: updraftplus.php:2990
|
999 |
+
msgid "Configure Backup Contents And Schedule"
|
1000 |
+
msgstr "Konfiguriere Sicherungsinhalte und Sicherungszeiten"
|
1001 |
+
|
1002 |
+
#: updraftplus.php:2996
|
1003 |
+
msgid "Debug Information And Expert Options"
|
1004 |
+
msgstr "Debug Informationen und Experteneinstellungen"
|
1005 |
+
|
1006 |
+
#: updraftplus.php:3001
|
1007 |
+
msgid "Peak memory usage"
|
1008 |
+
msgstr "Spitzenwert d. Speichernutzung"
|
1009 |
+
|
1010 |
+
#: updraftplus.php:3002
|
1011 |
+
msgid "Current memory usage"
|
1012 |
+
msgstr "Aktuelle Speichernutzung"
|
1013 |
+
|
1014 |
+
#: updraftplus.php:3003
|
1015 |
+
msgid "PHP memory limit"
|
1016 |
+
msgstr "PHP-Speicher-Limit"
|
1017 |
+
|
1018 |
+
#: updraftplus.php:3006
|
1019 |
+
msgid ""
|
1020 |
+
"The buttons below will immediately execute a backup run, independently of "
|
1021 |
+
"WordPress's scheduler. If these work whilst your scheduled backups and the "
|
1022 |
+
"\"Backup Now\" button do absolutely nothing (i.e. not even produce a log "
|
1023 |
+
"file), then it means that your scheduler is broken. You should then disable "
|
1024 |
+
"all your other plugins, and try the \"Backup Now\" button. If that fails, "
|
1025 |
+
"then contact your web hosting company and ask them if they have disabled wp-"
|
1026 |
+
"cron. If it succeeds, then re-activate your other plugins one-by-one, and "
|
1027 |
+
"find the one that is the problem and report a bug to them."
|
1028 |
+
msgstr ""
|
1029 |
+
"Der Button unterhalb wird, abhängig vom WordPress Planner, sofort eine "
|
1030 |
+
"Sicherung anlegen. Sollten die SIcherungen nur durch den Cronjob und nicht "
|
1031 |
+
"den \"Jetzt sichern\" Button funktionieren (und keine Logdatei angelegt "
|
1032 |
+
"wird), ist dein Planner defekt. Deaktiviere alle anderen Plugins und "
|
1033 |
+
"versuche es erneut mit dem \"Jetzt sichern\" Button. Wenn auch das "
|
1034 |
+
"fehlschlägt, kontaktiere deinen Webhoster und frage, ob dieser wp-cron "
|
1035 |
+
"deaktiviert hat. Wenn alles glatt läuft, aktiviere deine Plugins einzeln um "
|
1036 |
+
"das Problem-Plugin zu finden und dem Ersteller einen fehlerbericht zu senden."
|
1037 |
+
|
1038 |
+
#: updraftplus.php:3010
|
1039 |
+
msgid "Debug Full Backup"
|
1040 |
+
msgstr "Debug komplette Sicherung"
|
1041 |
+
|
1042 |
+
#: updraftplus.php:3010
|
1043 |
+
msgid ""
|
1044 |
+
"This will cause an immediate backup. The page will stall loading until it "
|
1045 |
+
"finishes (ie, unscheduled)."
|
1046 |
+
msgstr ""
|
1047 |
+
"Das führt zu einer sofortigen Sicherung. Die Seite wird das vollständige "
|
1048 |
+
"Laden herauszögern (wenn ungeplant)."
|
1049 |
+
|
1050 |
+
#: updraftplus.php:3014
|
1051 |
+
msgid "Debug Database Backup"
|
1052 |
+
msgstr "Debug Datenbank-Sicherung"
|
1053 |
+
|
1054 |
+
#: updraftplus.php:3014
|
1055 |
+
msgid ""
|
1056 |
+
"This will cause an immediate DB backup. The page will stall loading until it "
|
1057 |
+
"finishes (ie, unscheduled). The backup may well run out of time; really this "
|
1058 |
+
"button is only helpful for checking that the backup is able to get through "
|
1059 |
+
"the initial stages, or for small WordPress sites.."
|
1060 |
+
msgstr ""
|
1061 |
+
"Das wird eine sofortige Datenbanksicherung auslösen. Die Seite wird nicht "
|
1062 |
+
"vollständig laden, bis dieses abgeschlossen ist (wenn ungeplant). Die "
|
1063 |
+
"Sicherung kann in einen Timeout laufen; diese Funktion ist eher für kleine "
|
1064 |
+
"WordPress-Installationen oder zum Test, ob die Sicherung durch die "
|
1065 |
+
"Anfangsschritte kommt, geeignet."
|
1066 |
+
|
1067 |
+
#: updraftplus.php:3016
|
1068 |
+
msgid "Wipe Settings"
|
1069 |
+
msgstr "Lösche Einstellungen"
|
1070 |
+
|
1071 |
+
#: updraftplus.php:3017
|
1072 |
+
msgid ""
|
1073 |
+
"This button will delete all UpdraftPlus settings (but not any of your "
|
1074 |
+
"existing backups from your cloud storage). You will then need to enter all "
|
1075 |
+
"your settings again. You can also do this before deactivating/deinstalling "
|
1076 |
+
"UpdraftPlus if you wish."
|
1077 |
+
msgstr ""
|
1078 |
+
"Dieser Button löscht alle UpdraftPlus Einstellungen (allerdings keine "
|
1079 |
+
"Sicherungen vom Cloud-Speicher). Du musst danach alle deine Einstellungen "
|
1080 |
+
"erneut eingeben. Du kannst das auch tun, bevor du UpdraftPlus deaktivierst/"
|
1081 |
+
"deinstalliert, wenn du möchtest."
|
1082 |
+
|
1083 |
+
#: updraftplus.php:3020
|
1084 |
+
msgid "Wipe All Settings"
|
1085 |
+
msgstr "Lösche alle Einstellungen"
|
1086 |
+
|
1087 |
+
#: updraftplus.php:3020
|
1088 |
+
msgid ""
|
1089 |
+
"This will delete all your UpdraftPlus settings - are you sure you want to do "
|
1090 |
+
"this?"
|
1091 |
+
msgstr ""
|
1092 |
+
"Alle deine UpdraftPlus-Einstellungen werden gelöscht - bist du dir sicher?"
|
1093 |
+
|
1094 |
+
#: updraftplus.php:3089
|
1095 |
+
msgid "Press here to download"
|
1096 |
+
msgstr "Hier drücken zum Herunterladen"
|
1097 |
+
|
1098 |
+
#: updraftplus.php:3091
|
1099 |
+
#, php-format
|
1100 |
+
msgid "(No %s)"
|
1101 |
+
msgstr "(Kein %s)"
|
1102 |
+
|
1103 |
+
#: updraftplus.php:3101
|
1104 |
+
msgid "Backup Log"
|
1105 |
+
msgstr "Sicherungs-Log"
|
1106 |
+
|
1107 |
+
#: updraftplus.php:3109
|
1108 |
+
msgid ""
|
1109 |
+
"After pressing this button, you will be given the option to choose which "
|
1110 |
+
"components you wish to restore"
|
1111 |
+
msgstr ""
|
1112 |
+
"Nach dem drücken dieses Buttons, hast du die Möglichkeiten die "
|
1113 |
+
"wiederherzustellenden Komponenten auszuwählen."
|
1114 |
+
|
1115 |
+
#: updraftplus.php:3134 updraftplus.php:3138
|
1116 |
+
msgid "Warning"
|
1117 |
+
msgstr "Warnung"
|
1118 |
+
|
1119 |
+
#: updraftplus.php:3134
|
1120 |
+
#, php-format
|
1121 |
+
msgid ""
|
1122 |
+
"You have less than %s of free disk space on the disk which UpdraftPlus is "
|
1123 |
+
"configured to use to create backups. UpdraftPlus could well run out of "
|
1124 |
+
"space. Contact your the operator of your server (e.g. your web hosting "
|
1125 |
+
"company) to resolve this issue."
|
1126 |
+
msgstr ""
|
1127 |
+
"Du hast weniger als %s freien Speicherplatz auf dem Laufwerk, dass "
|
1128 |
+
"UpdraftPlus für Sicherungen verwenden soll. UpdraftPlus könnte nicht genug "
|
1129 |
+
"Speicherplatz haben. Kontaktiere deinen Webhoster, um das Problem zu lösen."
|
1130 |
+
|
1131 |
+
#: updraftplus.php:3138
|
1132 |
+
#, php-format
|
1133 |
+
msgid ""
|
1134 |
+
"UpdraftPlus does not officially support versions of WordPress before %s. It "
|
1135 |
+
"may work for you, but if it does not, then please be aware that no support "
|
1136 |
+
"is available until you upgrade WordPress."
|
1137 |
+
msgstr ""
|
1138 |
+
"UpdraftPlus unterstützt offiziel keine WordPress-Versionen vor %s. Es kann "
|
1139 |
+
"funktionieren, wenn jedoch nicht, können wir dir keine Hilfestellung geben."
|
1140 |
+
|
1141 |
+
#: updraftplus.php:3142 updraftplus.php:3146 updraftplus.php:3150
|
1142 |
+
msgid "UpdraftPlus notice:"
|
1143 |
+
msgstr "UpdraftPlus Hinweis:"
|
1144 |
+
|
1145 |
+
#: updraftplus.php:3142
|
1146 |
+
msgid "The log file could not be read."
|
1147 |
+
msgstr "Die Logdatei konnte nicht gelesen werden."
|
1148 |
+
|
1149 |
+
#: updraftplus.php:3146 updraftplus.php:3150
|
1150 |
+
#, php-format
|
1151 |
+
msgid ""
|
1152 |
+
"Click here to authenticate your %s account (you will not be able to back up "
|
1153 |
+
"to %s without it)."
|
1154 |
+
msgstr ""
|
1155 |
+
"Klicke hier um deinen %s Account zu authentifizieren (Du wirst nicht in der "
|
1156 |
+
"Lage sein nach %s zu sichern, wenn du es nicht tust)."
|
1157 |
+
|
1158 |
+
#: updraftplus.php:3323
|
1159 |
+
msgid "Infinite recursion: consult your log for more information"
|
1160 |
+
msgstr ""
|
1161 |
+
"Unendliche Rekursion: Schau in der Logdatei für weitere Informationen nach"
|
1162 |
+
|
1163 |
+
#: includes/updraft-restorer.php:5
|
1164 |
+
msgid "Backup file not available."
|
1165 |
+
msgstr "Sicherungsdatei nicht verfügbar."
|
1166 |
+
|
1167 |
+
#: includes/updraft-restorer.php:6
|
1168 |
+
msgid "Unpacking backup..."
|
1169 |
+
msgstr "Entpacke Sicherung..."
|
1170 |
+
|
1171 |
+
#: includes/updraft-restorer.php:7
|
1172 |
+
msgid "Moving old directory out of the way..."
|
1173 |
+
msgstr "Entferne altes Verzeichnis...."
|
1174 |
+
|
1175 |
+
#: includes/updraft-restorer.php:8
|
1176 |
+
msgid "Moving unpacked backup in place..."
|
1177 |
+
msgstr "Verschiebe entpackte Sicherung..."
|
1178 |
+
|
1179 |
+
#: includes/updraft-restorer.php:9
|
1180 |
+
msgid "Cleaning up rubbish..."
|
1181 |
+
msgstr "Räume auf ..."
|
1182 |
+
|
1183 |
+
#: includes/updraft-restorer.php:10
|
1184 |
+
msgid ""
|
1185 |
+
"Could not move old directory out of the way. Perhaps you already have -old "
|
1186 |
+
"directories that need deleting first?"
|
1187 |
+
msgstr ""
|
1188 |
+
"Konnte altes Verzeichnis nicht entfernen. Vielleicht existieren noch alte "
|
1189 |
+
"Verzeichnisse die zuerst gelöscht werden müssen?"
|
1190 |
+
|
1191 |
+
#: includes/updraft-restorer.php:11
|
1192 |
+
msgid ""
|
1193 |
+
"Could not move new directory into place. Check your wp-content/upgrade "
|
1194 |
+
"folder."
|
1195 |
+
msgstr ""
|
1196 |
+
"Konnte neues Verzeichnis nicht verschieben. Überprüfe deinen wp-content/"
|
1197 |
+
"upgrade-Order."
|
1198 |
+
|
1199 |
+
#: includes/updraft-restorer.php:12
|
1200 |
+
msgid "Failed to delete working directory after restoring."
|
1201 |
+
msgstr ""
|
1202 |
+
"Löschen des Arbeitsverzeichnissen nach Wiederherstellung fehlgeschlagen."
|
1203 |
+
|
1204 |
+
#: includes/updraft-restorer.php:34
|
1205 |
+
msgid ""
|
1206 |
+
"Will not delete the archive after unpacking it, because there was no cloud "
|
1207 |
+
"storage for this backup"
|
1208 |
+
msgstr ""
|
1209 |
+
"Werde das Archiv nach dem Entpacken nicht löschen, weil es keinen Cloud-"
|
1210 |
+
"Speicher für dieses Backup gibt."
|
1211 |
+
|
1212 |
+
#: methods/webdav.php:13 methods/webdav.php:34 methods/webdav.php:50
|
1213 |
+
#: methods/sftp.php:13 methods/sftp.php:34 methods/sftp.php:50
|
1214 |
+
#, php-format
|
1215 |
+
msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s"
|
1216 |
+
msgstr ""
|
1217 |
+
"Du hast nicht die UpdraftPlus %s Erweiterung installiert - bekomme sie von %s"
|
1218 |
+
|
1219 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
1220 |
+
#, php-format
|
1221 |
+
msgid "%s support is available as an add-on"
|
1222 |
+
msgstr "%s Unterstützung ist als Erweiterung verfügbar"
|
1223 |
+
|
1224 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
1225 |
+
msgid "follow this link to get it"
|
1226 |
+
msgstr "folge diesem Link um es zu bekommen"
|
1227 |
+
|
1228 |
+
#: methods/googledrive.php:94 methods/s3.php:326 methods/dropbox.php:293
|
1229 |
+
#: addons/webdav.php:292
|
1230 |
+
msgid "Success"
|
1231 |
+
msgstr "Erfolg"
|
1232 |
+
|
1233 |
+
#: methods/googledrive.php:94 methods/dropbox.php:293
|
1234 |
+
#, php-format
|
1235 |
+
msgid "you have authenticated your %s account"
|
1236 |
+
msgstr "du hast deinen %s Account authentifiziert"
|
1237 |
+
|
1238 |
+
#: methods/googledrive.php:94 methods/googledrive.php:325
|
1239 |
+
#: methods/googledrive.php:327 methods/googledrive.php:345
|
1240 |
+
#: methods/googledrive.php:349 methods/googledrive.php:353
|
1241 |
+
msgid "Google Drive"
|
1242 |
+
msgstr "Google Drive"
|
1243 |
+
|
1244 |
+
# Sentence makes less sence with last part, ignoring it thus
|
1245 |
+
#: methods/googledrive.php:98
|
1246 |
+
msgid ""
|
1247 |
+
"No refresh token was received from Google. This often means that you entered "
|
1248 |
+
"your client secret wrongly, or that you have not yet re-authenticated "
|
1249 |
+
"(below) since correcting it. Re-check it, then follow the link to "
|
1250 |
+
"authenticate again. Finally, if that does not work, then use expert mode to "
|
1251 |
+
"wipe all your settings, create a new Google client ID/secret, and start "
|
1252 |
+
"again."
|
1253 |
+
msgstr ""
|
1254 |
+
"Es wurde kein Aktualisierungs-Token von Google empfangen. Das liegt meistens "
|
1255 |
+
"an einem falsch eingegebenen Client-Secret oder, dass du dich noch nicht neu "
|
1256 |
+
"authentifiziert (unten) hast. Überprüfe dein Secret und folge dem Link zur "
|
1257 |
+
"erneuten Authentifizierung. Sollte es weiterhin Probleme geben, setze deine "
|
1258 |
+
"Einstellungen unter Experten-Einstellungen zurück und erstelle eine neue "
|
1259 |
+
"Google Client-ID/-Secret und probiere es erneut."
|
1260 |
+
|
1261 |
+
#: methods/googledrive.php:103
|
1262 |
+
msgid "Authorization failed"
|
1263 |
+
msgstr "Authentifizierung fehlgeschlagen"
|
1264 |
+
|
1265 |
+
#: methods/googledrive.php:117
|
1266 |
+
msgid ""
|
1267 |
+
"Have not yet obtained an access token from Google - you need to authorise or "
|
1268 |
+
"re-authorise your connection to Google Drive."
|
1269 |
+
msgstr ""
|
1270 |
+
"Noch keinen Zugangs-Token von Google erhalten - du musst die Verbindung zu "
|
1271 |
+
"Google Drive authorisieren bzw erneut authorisieren."
|
1272 |
+
|
1273 |
+
#: methods/googledrive.php:118 methods/googledrive.php:254
|
1274 |
+
msgid ""
|
1275 |
+
"Have not yet obtained an access token from Google (has the user authorised?)"
|
1276 |
+
msgstr ""
|
1277 |
+
"Kein Zugangs-Token von Google erhalten (hat der User sich authentifiziert?)"
|
1278 |
+
|
1279 |
+
#: methods/googledrive.php:135 addons/webdav.php:57
|
1280 |
+
#, php-format
|
1281 |
+
msgid "Failed to upload to %s"
|
1282 |
+
msgstr "Hochladen zu %s fehlgeschlagen."
|
1283 |
+
|
1284 |
+
#: methods/googledrive.php:189 addons/webdav.php:57
|
1285 |
+
msgid "Error"
|
1286 |
+
msgstr "Fehler"
|
1287 |
+
|
1288 |
+
#: methods/googledrive.php:225
|
1289 |
+
msgid "An error occurred during GoogleDrive upload (see log for more details)"
|
1290 |
+
msgstr ""
|
1291 |
+
"Während des Hochladens zu Google Drive ist ein Fehler aufgetreten (siehe "
|
1292 |
+
"Logdatei für Details)"
|
1293 |
+
|
1294 |
+
#: methods/googledrive.php:266
|
1295 |
+
#, php-format
|
1296 |
+
msgid ""
|
1297 |
+
"Google Drive error: %d: could not download: could not find a record of the "
|
1298 |
+
"Google Drive file ID for this file"
|
1299 |
+
msgstr ""
|
1300 |
+
"Google Drive Fehler: %d: Konnte nicht herunterladen: Konnte keinen Eintrag "
|
1301 |
+
"der Google Drive Datei-ID für diese Datei finden."
|
1302 |
+
|
1303 |
+
#: methods/googledrive.php:271
|
1304 |
+
#, php-format
|
1305 |
+
msgid "Could not find %s in order to download it"
|
1306 |
+
msgstr "Konnte %s zum Herunterladen nicht finden."
|
1307 |
+
|
1308 |
+
#: methods/googledrive.php:283
|
1309 |
+
msgid "Google Drive "
|
1310 |
+
msgstr "Google Drive"
|
1311 |
+
|
1312 |
+
#: methods/googledrive.php:283
|
1313 |
+
msgid "error: zero-size file was downloaded"
|
1314 |
+
msgstr "Fehler: Datei mit Null-Größe wurde heruntergeladen."
|
1315 |
+
|
1316 |
+
#: methods/googledrive.php:301
|
1317 |
+
msgid "Account is not authorized."
|
1318 |
+
msgstr "Account ist nicht autorisiert."
|
1319 |
+
|
1320 |
+
#: methods/googledrive.php:328 methods/s3.php:246 methods/dropbox.php:217
|
1321 |
+
#: methods/ftp.php:109 addons/webdav.php:231
|
1322 |
+
#, php-format
|
1323 |
+
msgid ""
|
1324 |
+
"%s is a great choice, because UpdraftPlus supports chunked uploads - no "
|
1325 |
+
"matter how big your blog is, UpdraftPlus can upload it a little at a time, "
|
1326 |
+
"and not get thwarted by timeouts."
|
1327 |
+
msgstr ""
|
1328 |
+
"%s ist eine gute Wahl, weil UpdraftPlus aufgesplittete Uploads unterstützt - "
|
1329 |
+
"egal wie groß dein Blog ist, UpdraftPlus kann ein wenig hochladen wird wird "
|
1330 |
+
"nicht durch Timeouts gestört."
|
1331 |
+
|
1332 |
+
#: methods/googledrive.php:334
|
1333 |
+
msgid ""
|
1334 |
+
"For longer help, including screenshots, follow this link. The description "
|
1335 |
+
"below is sufficient for more expert users."
|
1336 |
+
msgstr ""
|
1337 |
+
"Für detailiertere Hilfe mit Bildern, folge diesem Link. Die Beschreibung "
|
1338 |
+
"unterhalb ist für erfahrende Benutzer besser geeignet."
|
1339 |
+
|
1340 |
+
#: methods/googledrive.php:335
|
1341 |
+
msgid ""
|
1342 |
+
"Follow this link to your Google API Console, and there create a Client ID in "
|
1343 |
+
"the API Access section."
|
1344 |
+
msgstr ""
|
1345 |
+
"Folge dem Link zu deiner Google API Konsole und erstelle dort eine Client ID "
|
1346 |
+
"in der API Zugangs-Sektion."
|
1347 |
+
|
1348 |
+
#: methods/googledrive.php:335
|
1349 |
+
msgid "Select 'Web Application' as the application type."
|
1350 |
+
msgstr "Wähle 'Web Applikation' als Applikationstyp."
|
1351 |
+
|
1352 |
+
#: methods/googledrive.php:335
|
1353 |
+
msgid ""
|
1354 |
+
"You must add the following as the authorised redirect URI (under \"More "
|
1355 |
+
"Options\") when asked"
|
1356 |
+
msgstr ""
|
1357 |
+
"Du musst folgendes als authorisierten Umleitungslink (unter \"Mehr Optionen"
|
1358 |
+
"\") angeben, wenn gefragt"
|
1359 |
+
|
1360 |
+
#: methods/googledrive.php:335
|
1361 |
+
msgid ""
|
1362 |
+
"N.B. If you install UpdraftPlus on several WordPress sites, then you cannot "
|
1363 |
+
"re-use your client ID; you must create a new one from your Google API "
|
1364 |
+
"console for each blog."
|
1365 |
+
msgstr ""
|
1366 |
+
"Wenn du UpdraftPlus auf mehreren WordPress-Seiten installierst, kannst du "
|
1367 |
+
"deine Client-ID nicht mehrfach nutzen und musst für jeden Blog eine neue in "
|
1368 |
+
"der Google API Konsole erzeugen."
|
1369 |
+
|
1370 |
+
#: methods/googledrive.php:338
|
1371 |
+
msgid ""
|
1372 |
+
"You do not have the SimpleXMLElement installed. Google Drive backups will "
|
1373 |
+
"<b>not</b> work until you do."
|
1374 |
+
msgstr ""
|
1375 |
+
"Du hast nicht SimpleXMLElement installiert. Google Drive funktioniert "
|
1376 |
+
"<b>nicht</b> solange es nicht dies nicht installiert wird."
|
1377 |
+
|
1378 |
+
#: methods/googledrive.php:345
|
1379 |
+
msgid "Client ID"
|
1380 |
+
msgstr "Client ID"
|
1381 |
+
|
1382 |
+
#: methods/googledrive.php:346
|
1383 |
+
msgid ""
|
1384 |
+
"If Google later shows you the message \"invalid_client\", then you did not "
|
1385 |
+
"enter a valid client ID here."
|
1386 |
+
msgstr ""
|
1387 |
+
"Wenn Google dir später \"invalid_client\" anzeigt, hast du eine ungültige "
|
1388 |
+
"Client-ID angegeben."
|
1389 |
+
|
1390 |
+
#: methods/googledrive.php:349
|
1391 |
+
msgid "Client Secret"
|
1392 |
+
msgstr "Client Secret"
|
1393 |
+
|
1394 |
+
#: methods/googledrive.php:353
|
1395 |
+
msgid "Folder ID"
|
1396 |
+
msgstr "Ordner-ID"
|
1397 |
+
|
1398 |
+
# Missing "(", thought it should be the last sentence only, needs to be corrected if I was wrong.
|
1399 |
+
#: methods/googledrive.php:354
|
1400 |
+
msgid ""
|
1401 |
+
"<strong>This is NOT a folder name</strong>. To get a folder's ID navigate to "
|
1402 |
+
"that folder in Google Drive in your web browser and copy the ID from your "
|
1403 |
+
"browser's address bar. It is the part that comes after <kbd>#folders/.</kbd> "
|
1404 |
+
"Leave empty to use your root folder)"
|
1405 |
+
msgstr ""
|
1406 |
+
"<strong>Das ist KEIN Ordnername</strong>. Um die Ordner-ID zu bekommen, "
|
1407 |
+
"navigiere zu diesem Ordner in Google Drive und kopiere die ID aus der "
|
1408 |
+
"Adressleiste deines Browsers. Es ist der Teil der nach <kbd>#folders/.</kbd> "
|
1409 |
+
"kommt. (Lasse dies leer, um das Wurzelverzeichnis zu nutzen.)"
|
1410 |
+
|
1411 |
+
#: methods/googledrive.php:357
|
1412 |
+
msgid "Authenticate with Google"
|
1413 |
+
msgstr "Mit Google authentifizieren"
|
1414 |
+
|
1415 |
+
#: methods/googledrive.php:358
|
1416 |
+
msgid ""
|
1417 |
+
"<strong>After</strong> you have saved your settings (by clicking 'Save "
|
1418 |
+
"Changes' below), then come back here once and click this link to complete "
|
1419 |
+
"authentication with Google."
|
1420 |
+
msgstr ""
|
1421 |
+
"<strong>Nach dem</strong du deine Einstellungen gespeichert hast, komm zu "
|
1422 |
+
"dieser Seite zurück, um dich mit Google zu authentifizieren."
|
1423 |
+
|
1424 |
+
#: methods/email.php:15
|
1425 |
+
msgid "WordPress Backup"
|
1426 |
+
msgstr "WordPress Sicherung"
|
1427 |
+
|
1428 |
+
#: methods/email.php:15
|
1429 |
+
msgid "Backup is of:"
|
1430 |
+
msgstr "Backup beinhaltet:"
|
1431 |
+
|
1432 |
+
#: methods/email.php:15
|
1433 |
+
msgid ""
|
1434 |
+
"Be wary; email backups may fail because of file size limitations on mail "
|
1435 |
+
"servers."
|
1436 |
+
msgstr ""
|
1437 |
+
"Kann unterschiedlich ausfallen, E-Mail-Sicherungen können wegen "
|
1438 |
+
"Dateigrößenbeschränkungen auf Mail-Servern fehlschlagen."
|
1439 |
+
|
1440 |
+
#: methods/email.php:24
|
1441 |
+
msgid "Note:"
|
1442 |
+
msgstr "Beachte:"
|
1443 |
+
|
1444 |
+
# Long evil sentences - splittet sentence two into two, because in german it would be more difficult to understand it
|
1445 |
+
#: methods/email.php:25
|
1446 |
+
msgid ""
|
1447 |
+
"The email address entered above will be used. If choosing \"E-Mail\", then "
|
1448 |
+
"<strong>be aware</strong> that mail servers tend to have size limits; "
|
1449 |
+
"typically around 10-20Mb; backups larger than any limits will not arrive. If "
|
1450 |
+
"you really need a large backup via email, then you could fund a new feature "
|
1451 |
+
"(to break the backup set into configurable-size pieces) - but the demand has "
|
1452 |
+
"not yet existed for such a feature."
|
1453 |
+
msgstr ""
|
1454 |
+
"Die E-Mail-Adresse von oben wird benutzt. <strong>Sei dir bewusst</strong>, "
|
1455 |
+
"dass mit dem Auswählen von \"E-Mail\" Größenlimits von typischer Weise "
|
1456 |
+
"10-20MB beachtet werden müssen. Sicherungen, die diese Größe überschreiten "
|
1457 |
+
"werden fehlschlagen. Wenn du wirklich große Sicherungen per E-Mail "
|
1458 |
+
"durchführen möchtest, könntest du eine neue Funktion finanzieren (um die "
|
1459 |
+
"Sicherung in eine konfigurierbare Größe aufzuspliten) - allerdings "
|
1460 |
+
"existierte bisher kein Interesse an dieser Funktion."
|
1461 |
+
|
1462 |
+
#: methods/s3.php:77
|
1463 |
+
#, php-format
|
1464 |
+
msgid "%s Error: Failed to upload"
|
1465 |
+
msgstr "%s Fehler: Hochladen fehlgeschlagen"
|
1466 |
+
|
1467 |
+
#: methods/s3.php:98
|
1468 |
+
msgid ""
|
1469 |
+
"S3 upload: getting uploadID for multipart upload failed - see log file for "
|
1470 |
+
"more details"
|
1471 |
+
msgstr ""
|
1472 |
+
"S3 Hochladen: Bekommen der Hochlade-ID für mehrteiliges hochladen "
|
1473 |
+
"fehlgeschlagen - siehe Logdatei für mehr Details"
|
1474 |
+
|
1475 |
+
#: methods/s3.php:130
|
1476 |
+
#, php-format
|
1477 |
+
msgid "S3 chunk %s: upload failed"
|
1478 |
+
msgstr "S3 Teil %s: Hochladen fehlgeschlagen"
|
1479 |
+
|
1480 |
+
#: methods/s3.php:144
|
1481 |
+
#, php-format
|
1482 |
+
msgid "S3 upload (%s): re-assembly failed (see log for more details)"
|
1483 |
+
msgstr ""
|
1484 |
+
"S3 Hochladen (%s): Zusammensetzen fehlgeschlagen (siehe Logdatei für weitere "
|
1485 |
+
"Informationen)"
|
1486 |
+
|
1487 |
+
#: methods/s3.php:148
|
1488 |
+
#, php-format
|
1489 |
+
msgid "S3 re-assembly error (%s): (see log file for more)"
|
1490 |
+
msgstr "S3 Zusammensetzfehler (%s): (siehe Logdatei für mehr Informationen)"
|
1491 |
+
|
1492 |
+
#: methods/s3.php:160
|
1493 |
+
#, php-format
|
1494 |
+
msgid ""
|
1495 |
+
"S3 Error: Failed to create bucket %s. Check your permissions and credentials."
|
1496 |
+
msgstr ""
|
1497 |
+
"S3 Fehler: Konnte Bucket %s nicht erstellen. Überprüfe deine Rechte und "
|
1498 |
+
"Logininformationen."
|
1499 |
+
|
1500 |
+
#: methods/s3.php:213
|
1501 |
+
#, php-format
|
1502 |
+
msgid ""
|
1503 |
+
"S3 Error: Failed to download %s. Check your permissions and credentials."
|
1504 |
+
msgstr ""
|
1505 |
+
"S3 Fehler: Konnte %s nicht herunterladen. Überprüfe deine Rechte und "
|
1506 |
+
"Logininformationen."
|
1507 |
+
|
1508 |
+
#: methods/s3.php:217
|
1509 |
+
#, php-format
|
1510 |
+
msgid ""
|
1511 |
+
"S3 Error: Failed to access bucket %s. Check your permissions and credentials."
|
1512 |
+
msgstr ""
|
1513 |
+
"S3 Fehler: Konnte Bucket %s nicht benutzen. Überprüfe deine Rechte und "
|
1514 |
+
"Logininformationen."
|
1515 |
+
|
1516 |
+
#: methods/s3.php:251
|
1517 |
+
msgid ""
|
1518 |
+
"Get your access key and secret key <a href=\"http://aws.amazon.com/console/"
|
1519 |
+
"\">from your AWS console</a>, then pick a (globally unique - all Amazon S3 "
|
1520 |
+
"users) bucket name (letters and numbers) (and optionally a path) to use for "
|
1521 |
+
"storage. This bucket will be created for you if it does not already exist."
|
1522 |
+
msgstr ""
|
1523 |
+
"Bekomme deinen Zugangs- und Secretkey <a href=\"http://aws.amazaon.com/"
|
1524 |
+
"console/\">von deiner AWS-Konsole</a>, dann wähle einen (global "
|
1525 |
+
"einzigartigen) Bucket-Namen (Buchstaben und Zahlen, optional eine "
|
1526 |
+
"Pfadangabe), um den Speicher zu benutzen. Das Bucket wird für dich erstellt, "
|
1527 |
+
"sofern es nicht existiert."
|
1528 |
+
|
1529 |
+
#: methods/s3.php:254
|
1530 |
+
msgid "S3 access key"
|
1531 |
+
msgstr "S3 Zugangsschlüssel"
|
1532 |
+
|
1533 |
+
#: methods/s3.php:258
|
1534 |
+
msgid "S3 secret key"
|
1535 |
+
msgstr "S3 Secret Schlüssel"
|
1536 |
+
|
1537 |
+
#: methods/s3.php:262
|
1538 |
+
msgid "S3 location"
|
1539 |
+
msgstr "S3 Ort"
|
1540 |
+
|
1541 |
+
#: methods/s3.php:267 methods/ftp.php:135 addons/webdav.php:244
|
1542 |
+
#, php-format
|
1543 |
+
msgid "Test %s Settings"
|
1544 |
+
msgstr "Teste %s Einstellungen"
|
1545 |
+
|
1546 |
+
#: methods/s3.php:275 methods/s3.php:279 methods/ftp.php:152
|
1547 |
+
#: methods/ftp.php:156 addons/webdav.php:272
|
1548 |
+
#, php-format
|
1549 |
+
msgid "Failure: No %s was given."
|
1550 |
+
msgstr "Fehler: Kein %s war gegeben"
|
1551 |
+
|
1552 |
+
#: methods/s3.php:275
|
1553 |
+
msgid "API key"
|
1554 |
+
msgstr "API Schlüssel"
|
1555 |
+
|
1556 |
+
#: methods/s3.php:279
|
1557 |
+
msgid "API secret"
|
1558 |
+
msgstr "API Secret"
|
1559 |
+
|
1560 |
+
#: methods/s3.php:296
|
1561 |
+
msgid "Failure: No bucket details were given."
|
1562 |
+
msgstr "Fehler: Keine Bucket-Details waren gegeben."
|
1563 |
+
|
1564 |
+
#: methods/s3.php:306
|
1565 |
+
msgid "Amazon region"
|
1566 |
+
msgstr "Amazaon Region"
|
1567 |
+
|
1568 |
+
#: methods/s3.php:316
|
1569 |
+
msgid ""
|
1570 |
+
"Failure: We could not successfully access or create such a bucket. Please "
|
1571 |
+
"check your access credentials, and if those are correct then try another "
|
1572 |
+
"bucket name (as another S3 user may already have taken your name)."
|
1573 |
+
msgstr ""
|
1574 |
+
"Fehler: Konnte einen solchen Bucket nicht erfolgreich erstellen oder nutzen. "
|
1575 |
+
"Bitte überprüfe deine Zugangsdaten und probiere einen anderen Bucket-amen "
|
1576 |
+
"(da ein anderer S3-Nutzer deinen Namen ggf. schon benutzt)."
|
1577 |
+
|
1578 |
+
#: methods/s3.php:324
|
1579 |
+
msgid "Failure"
|
1580 |
+
msgstr "Fehler"
|
1581 |
+
|
1582 |
+
#: methods/s3.php:324
|
1583 |
+
msgid ""
|
1584 |
+
"We successfully accessed the bucket, but the attempt to create a file in it "
|
1585 |
+
"failed."
|
1586 |
+
msgstr ""
|
1587 |
+
"Wir konnten den Bucket erfolgreich nutzen, aber der Versuch eine Datei in "
|
1588 |
+
"ihm zu erstellen schlug fehl."
|
1589 |
+
|
1590 |
+
#: methods/s3.php:326
|
1591 |
+
msgid "We accessed the bucket, and were able to create files within it."
|
1592 |
+
msgstr ""
|
1593 |
+
"Wir konnten den Bucket erfolgreich nutzen und sind in der Lage Dateien in "
|
1594 |
+
"ihm zu erstellen."
|
1595 |
+
|
1596 |
+
#: methods/dropbox.php:35 methods/dropbox.php:167
|
1597 |
+
msgid "You do not appear to be authenticated with Dropbox"
|
1598 |
+
msgstr "Du scheinst bei Dropbox nicht authentifiziert zu sein"
|
1599 |
+
|
1600 |
+
#: methods/dropbox.php:46
|
1601 |
+
#, php-format
|
1602 |
+
msgid "error: %s (see log file for more)"
|
1603 |
+
msgstr "Fehler: %s (siehe Logdatei für weitere Informationen)"
|
1604 |
+
|
1605 |
+
#: methods/dropbox.php:98 methods/dropbox.php:103
|
1606 |
+
#, php-format
|
1607 |
+
msgid "error: failed to upload file to %s (see log file for more)"
|
1608 |
+
msgstr ""
|
1609 |
+
"Fehler: Hochladen der Datei nach %s fehlgeschlagen (siehe Logdatei für "
|
1610 |
+
"weitere Informationen)"
|
1611 |
+
|
1612 |
+
#: methods/dropbox.php:223
|
1613 |
+
msgid "Need to use sub-folders?"
|
1614 |
+
msgstr "Sollen Unterordner benutzt werden?"
|
1615 |
+
|
1616 |
+
#: methods/dropbox.php:223
|
1617 |
+
msgid "Backups are saved in"
|
1618 |
+
msgstr "Sicherungen sind gespeichert unter"
|
1619 |
+
|
1620 |
+
#: methods/dropbox.php:223
|
1621 |
+
msgid ""
|
1622 |
+
"If you back up several sites into the same Dropbox and want to organise with "
|
1623 |
+
"sub-folders, then "
|
1624 |
+
msgstr ""
|
1625 |
+
"Wenn du mehrere Seiten auf die selbe Dropbox sichern und diese mit "
|
1626 |
+
"Unterordnern organisieren möchtest, dann"
|
1627 |
+
|
1628 |
+
#: methods/dropbox.php:223
|
1629 |
+
msgid "there's an add-on for that."
|
1630 |
+
msgstr "es gibt eine Erweiterung dafür."
|
1631 |
+
|
1632 |
+
#: methods/dropbox.php:228
|
1633 |
+
msgid "Authenticate with Dropbox"
|
1634 |
+
msgstr "Mit Dropbox authentifizieren"
|
1635 |
+
|
1636 |
+
#: methods/dropbox.php:229
|
1637 |
+
msgid ""
|
1638 |
+
"<strong>After</strong> you have saved your settings (by clicking 'Save "
|
1639 |
+
"Changes' below), then come back here once and click this link to complete "
|
1640 |
+
"authentication with Dropbox."
|
1641 |
+
msgstr ""
|
1642 |
+
"<strong>Nachdem</strong> du die Einstellungen gespeichert hast (mit Drücken "
|
1643 |
+
"von 'Änderungen speichern'), komm hierher zurück und benutze den Link um die "
|
1644 |
+
"Authentifizierung mit Dropbox abzuschließen."
|
1645 |
+
|
1646 |
+
#: methods/dropbox.php:240
|
1647 |
+
msgid ""
|
1648 |
+
"Your web server's PHP installation does not included a required module "
|
1649 |
+
"(MCrypt). Please contact your web hosting provider's support. UpdraftPlus's "
|
1650 |
+
"Dropbox module <strong>requires</strong> MCrypt. Please do not file any "
|
1651 |
+
"support requests; there is no alternative."
|
1652 |
+
msgstr ""
|
1653 |
+
"Die PHP-Installation deines Webservers enthält das benötigte Modul (MCrypt) "
|
1654 |
+
"nicht. Bitte kontaktiere den Support deines Hosting Providers. UpdraftPlus's "
|
1655 |
+
"Dropbox-Modul <strong>benötigt</strong> MCrypt. Bitte erstelle keine "
|
1656 |
+
"Supportanfragen diesbezüglich, es gibt keine Alternative."
|
1657 |
+
|
1658 |
+
#: methods/dropbox.php:243
|
1659 |
+
msgid ""
|
1660 |
+
"Your web server's PHP installation does not included a required module "
|
1661 |
+
"(Curl). Please contact your web hosting provider's support. UpdraftPlus's "
|
1662 |
+
"Dropbox module <strong>requires</strong> Curl. Your only options to get this "
|
1663 |
+
"working are 1) Install/enable curl or 2) Hire us or someone else to code "
|
1664 |
+
"additional support options into UpdraftPlus. 3) Wait, possibly forever, for "
|
1665 |
+
"someone else to do this."
|
1666 |
+
msgstr ""
|
1667 |
+
"Die PHP-Installation deines Webservers enthält das benötigte Modul (Curl) "
|
1668 |
+
"nicht. Bitte kontaktiere den Support deines Hosting Providers. UpdraftPlus's "
|
1669 |
+
"Dropbox-Modul <strong>benötigt</strong> Curl. Deine einzigen Möglichkeiten "
|
1670 |
+
"dies zum Laufen zu bringen sind 1) Einschalten/Installieren von curl, 2) Uns "
|
1671 |
+
"oder jemanden anders beauftragen zusätzliche Support-Optionen in UpdraftPlus "
|
1672 |
+
"zu integrieren oder 3) Womöglich für immer darauf warten, dass es ein "
|
1673 |
+
"anderer tut."
|
1674 |
+
|
1675 |
+
#: methods/dropbox.php:296
|
1676 |
+
msgid ""
|
1677 |
+
"though part of the returned information was not as expected - your mileage "
|
1678 |
+
"may vary"
|
1679 |
+
msgstr ""
|
1680 |
+
"schwieriger Anteil an zurückgegebenen Informationen nicht erwartet - das "
|
1681 |
+
"Ergebnis könnte anders sein"
|
1682 |
+
|
1683 |
+
#: methods/dropbox.php:299
|
1684 |
+
#, php-format
|
1685 |
+
msgid "Your %s account name"
|
1686 |
+
msgstr "Dein %s Account-Name"
|
1687 |
+
|
1688 |
+
#: methods/ftp.php:19 methods/ftp.php:66
|
1689 |
+
msgid "FTP login failure"
|
1690 |
+
msgstr "FTP-Login fehlgeschlagen"
|
1691 |
+
|
1692 |
+
#: methods/ftp.php:38
|
1693 |
+
msgid "FTP upload failed"
|
1694 |
+
msgstr "FTP-Upload fehlgeschlagen"
|
1695 |
+
|
1696 |
+
#: methods/ftp.php:98
|
1697 |
+
msgid "Settings test result"
|
1698 |
+
msgstr "Einstellungen Testergebnis"
|
1699 |
+
|
1700 |
+
#: methods/ftp.php:114
|
1701 |
+
msgid "Only non-encrypted FTP is supported by regular UpdraftPlus."
|
1702 |
+
msgstr "Die normale UpdraftPlus-Version unterstützt nur unverschlüsseltes FTP."
|
1703 |
+
|
1704 |
+
#: methods/ftp.php:114
|
1705 |
+
msgid ""
|
1706 |
+
"If you want encryption (e.g. you are storing sensitive business data), then "
|
1707 |
+
"an add-on is available."
|
1708 |
+
msgstr ""
|
1709 |
+
"Wenn du Verschlüsselung (z.B. wegen sensibler Geschäftsdaten) möchtest, "
|
1710 |
+
"kannst du dir eine verfügbare Erweiterung holen."
|
1711 |
+
|
1712 |
+
#: methods/ftp.php:118
|
1713 |
+
msgid "FTP Server"
|
1714 |
+
msgstr "FTP-Server"
|
1715 |
+
|
1716 |
+
#: methods/ftp.php:122
|
1717 |
+
msgid "FTP Login"
|
1718 |
+
msgstr "FTP-Login"
|
1719 |
+
|
1720 |
+
#: methods/ftp.php:126
|
1721 |
+
msgid "FTP Password"
|
1722 |
+
msgstr "FTP-Passwort"
|
1723 |
+
|
1724 |
+
#: methods/ftp.php:130
|
1725 |
+
msgid "Remote Path"
|
1726 |
+
msgstr "Ferner Pfad"
|
1727 |
+
|
1728 |
+
#: methods/ftp.php:131
|
1729 |
+
msgid "Needs to already exist"
|
1730 |
+
msgstr "Muss bereits existieren"
|
1731 |
+
|
1732 |
+
#: methods/ftp.php:148
|
1733 |
+
msgid "Failure: No server details were given."
|
1734 |
+
msgstr "Fehler: Keine Serverdetails wurden angegeben."
|
1735 |
+
|
1736 |
+
#: methods/ftp.php:167
|
1737 |
+
msgid "Failure: we did not successfully log in with those credentials."
|
1738 |
+
msgstr "Fehler: Konnte nicht erfolgreich mit angegebenen Logindaten einloggen."
|
1739 |
+
|
1740 |
+
#: methods/ftp.php:175
|
1741 |
+
msgid ""
|
1742 |
+
"Failure: an unexpected internal UpdraftPlus error occurred when testing the "
|
1743 |
+
"credentials - please contact the developer"
|
1744 |
+
msgstr ""
|
1745 |
+
"Fehler: Ein unerwarteter interner UpdraftPlus-Fehler ist beim Testen der "
|
1746 |
+
"Logindaten aufgetreten - Bitte kontaktiere den Entwickler."
|
1747 |
+
|
1748 |
+
#: methods/ftp.php:179
|
1749 |
+
msgid ""
|
1750 |
+
"Success: we successfully logged in, and confirmed our ability to create a "
|
1751 |
+
"file in the given directory (login type:"
|
1752 |
+
msgstr ""
|
1753 |
+
"Erfolg: Wir haben uns erfolgreich eingeloggt und haben die Möglichkeit "
|
1754 |
+
"Dateien im angegebenen Verzeichnis zu erstellen (Logintyp:"
|
1755 |
+
|
1756 |
+
#: methods/ftp.php:182
|
1757 |
+
msgid ""
|
1758 |
+
"Failure: we successfully logged in, but were not able to create a file in "
|
1759 |
+
"the given directory."
|
1760 |
+
msgstr ""
|
1761 |
+
"Fehler: Wir konnten uns erfolgreich einloggen, konnten jedoch im angegebenen "
|
1762 |
+
"Verzeichnis keine Datei erstellen."
|
1763 |
+
|
1764 |
+
#: addons/webdav.php:40 addons/webdav.php:170
|
1765 |
+
#, php-format
|
1766 |
+
msgid "No %s settings were found"
|
1767 |
+
msgstr "Keine %s -Einstellungen gefunden"
|
1768 |
+
|
1769 |
+
#: addons/webdav.php:116 addons/webdav.php:120
|
1770 |
+
#, php-format
|
1771 |
+
msgid "Chunk %s: A %s error occurred"
|
1772 |
+
msgstr "Chunk %s: Ein %s Fehler ist aufgetreten"
|
1773 |
+
|
1774 |
+
#: addons/webdav.php:182 addons/webdav.php:188 addons/webdav.php:200
|
1775 |
+
msgid "WebDAV Error"
|
1776 |
+
msgstr "WebDAV Fehler"
|
1777 |
+
|
1778 |
+
#: addons/webdav.php:182
|
1779 |
+
msgid "Error opening local file: Failed to download"
|
1780 |
+
msgstr "Fehler beim Öffnen lokaler Datei: Herunterladen fehlgeschlagen"
|
1781 |
+
|
1782 |
+
#: addons/webdav.php:188
|
1783 |
+
msgid "Error opening remote file: Failed to download"
|
1784 |
+
msgstr "Fehler beim Öffnen von Remote-Datei: Herunterladen fehlgeschlagen"
|
1785 |
+
|
1786 |
+
#: addons/webdav.php:200
|
1787 |
+
msgid "Local write failed: Failed to download"
|
1788 |
+
msgstr "Lokales Schreiben fehlgeschlagen: Herunterladen fehlgeschlagen"
|
1789 |
+
|
1790 |
+
#: addons/webdav.php:234
|
1791 |
+
msgid "WebDAV URL"
|
1792 |
+
msgstr "WebDAV URL"
|
1793 |
+
|
1794 |
+
#: addons/webdav.php:238
|
1795 |
+
#, php-format
|
1796 |
+
msgid ""
|
1797 |
+
"Enter a complete URL, beginning with webdav:// or webdavs:// and including "
|
1798 |
+
"path, username, password and port as required - e.g.%s"
|
1799 |
+
msgstr ""
|
1800 |
+
"Gib einen kompletten URL, beginnend mit webdav:// oder webdavs:// und "
|
1801 |
+
"enthaltenem Pfaf, sowie Benutzernamen, Passwort und Port an - z.B. %s"
|
1802 |
+
|
1803 |
+
#: addons/webdav.php:281
|
1804 |
+
msgid "Failed"
|
1805 |
+
msgstr "Fehlgeschlagen."
|
1806 |
+
|
1807 |
+
#: addons/webdav.php:295
|
1808 |
+
msgid ""
|
1809 |
+
"Failed: We were not able to place a file in that directory - please check "
|
1810 |
+
"your credentials."
|
1811 |
+
msgstr ""
|
1812 |
+
"Fehlgeschlagen: Wir konnten, in das gewünschte Verzeichnis, keine Datei "
|
1813 |
+
"schreiben - Bitte überprüfe deine Zugangsdaten"
|
1814 |
+
|
1815 |
+
#: addons/sftp.php:23
|
1816 |
+
msgid ""
|
1817 |
+
"Encrypted FTP is available, and will be automatically tried first (before "
|
1818 |
+
"falling back to non-encrypted if it is not successful). The 'Test FTP Login' "
|
1819 |
+
"button will tell you what type of connection is in use."
|
1820 |
+
msgstr ""
|
1821 |
+
"Verschlüsseltes FTP ist verfügbar und wird automatisch zuerst probiert (wenn "
|
1822 |
+
"nicht erfolgreich, wird auf eine nicht-verschlüsselte Verbindung "
|
1823 |
+
"zurückgegriffen). Der 'Teste FTP-Login'-Button wird dir verraten, welcher "
|
1824 |
+
"Verbindungstyp in Nutzung ist."
|
1825 |
+
|
1826 |
+
#: addons/sftp.php:30 addons/sftp.php:31 addons/sftp.php:32
|
1827 |
+
#, php-format
|
1828 |
+
msgid "No %s found"
|
1829 |
+
msgstr "Kein %s gefunden"
|
1830 |
+
|
1831 |
+
#: addons/sftp.php:30
|
1832 |
+
msgid "SFTP host setting"
|
1833 |
+
msgstr "SFTP-Host Einstellungen"
|
1834 |
+
|
1835 |
+
#: addons/sftp.php:31
|
1836 |
+
msgid "SFTP user setting"
|
1837 |
+
msgstr "SFTP-Benutzereinstellungen"
|
1838 |
+
|
1839 |
+
#: addons/sftp.php:32
|
1840 |
+
msgid "SFTP passwrd"
|
1841 |
+
msgstr "SFTP-Passwort"
|
1842 |
+
|
1843 |
+
#: addons/sftp.php:50 addons/sftp.php:293
|
1844 |
+
msgid "Check your file permissions: Could not successfully create and enter:"
|
1845 |
+
msgstr ""
|
1846 |
+
"Überprüfe deine Dateiberechtigungen: Konnte nicht erfolgreich erstellen und "
|
1847 |
+
"betreten:"
|
1848 |
+
|
1849 |
+
#: addons/sftp.php:128
|
1850 |
+
#, php-format
|
1851 |
+
msgid "%s Error: Failed to download"
|
1852 |
+
msgstr "%s Fehler: Herunterladen fehlgeschlagen"
|
1853 |
+
|
1854 |
+
#: addons/sftp.php:172
|
1855 |
+
msgid ""
|
1856 |
+
"Resuming partial uploads is not supported, so you will need to ensure that "
|
1857 |
+
"your webserver allows PHP processes to run long enough to upload your "
|
1858 |
+
"largest backup file."
|
1859 |
+
msgstr ""
|
1860 |
+
"Wiederaufnehmen von Uploads ist nicht unterstützt, du musst daher "
|
1861 |
+
"sicherstellen, dass dein Webserver PHP erlaubt, so lang zu laufen, bis deine "
|
1862 |
+
"größte Sicherungsdatei hochgeladen wurde."
|
1863 |
+
|
1864 |
+
#: addons/sftp.php:177
|
1865 |
+
msgid "Host"
|
1866 |
+
msgstr "Host"
|
1867 |
+
|
1868 |
+
#: addons/sftp.php:184
|
1869 |
+
msgid "Port"
|
1870 |
+
msgstr "Port"
|
1871 |
+
|
1872 |
+
#: addons/sftp.php:191
|
1873 |
+
msgid "Username"
|
1874 |
+
msgstr "Benutzername"
|
1875 |
+
|
1876 |
+
#: addons/sftp.php:198
|
1877 |
+
msgid "Password"
|
1878 |
+
msgstr "Passwort"
|
1879 |
+
|
1880 |
+
#: addons/sftp.php:214
|
1881 |
+
msgid "Directory path"
|
1882 |
+
msgstr "Verzeichnispfad"
|
1883 |
+
|
1884 |
+
#: addons/sftp.php:216
|
1885 |
+
msgid ""
|
1886 |
+
"Where to change directory to after logging in - often this is relative to "
|
1887 |
+
"your home directory."
|
1888 |
+
msgstr ""
|
1889 |
+
"In welches Verzeichnis soll nach dem Login gewechselt werden - meistens ist "
|
1890 |
+
"dieser Pfad relativ zu deinem Home-Verzeichnis"
|
1891 |
+
|
1892 |
+
#: addons/sftp.php:254
|
1893 |
+
msgid "host name"
|
1894 |
+
msgstr "Hostname"
|
1895 |
+
|
1896 |
+
#: addons/sftp.php:258
|
1897 |
+
msgid "username"
|
1898 |
+
msgstr "Benutzername"
|
1899 |
+
|
1900 |
+
#: addons/sftp.php:262
|
1901 |
+
msgid "password"
|
1902 |
+
msgstr "Passwort"
|
1903 |
+
|
1904 |
+
#: addons/sftp.php:267
|
1905 |
+
msgid "Failure: Port must be an integer."
|
1906 |
+
msgstr "Fehler: Port muss eine Nummer sein."
|
1907 |
+
|
1908 |
+
#: addons/sftp.php:307
|
1909 |
+
msgid ""
|
1910 |
+
"Failed: We were able to log in and move to the indicated directory, but "
|
1911 |
+
"failed to successfully created a file in that location."
|
1912 |
+
msgstr ""
|
1913 |
+
"Fehlgeschlagen: Wir waren in der Lage uns einzuloggen und das gewünschte "
|
1914 |
+
"Verzeichnis zu betreten, konnten dort jedoch keine Datei anlegen."
|
1915 |
+
|
1916 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
1917 |
+
msgid "starting from next time it is"
|
1918 |
+
msgstr "Nächste Durchlaufszeit ist"
|
1919 |
+
|
1920 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
1921 |
+
msgid "Enter in format HH:MM (e.g. 14:22)"
|
1922 |
+
msgstr "Gib es im Format HH:MM (z.B. 14:22) an"
|
1923 |
+
|
1924 |
+
#: addons/multisite.php:103
|
1925 |
+
msgid "Multisite Install"
|
1926 |
+
msgstr "Multiseiten-Installation"
|
1927 |
+
|
1928 |
+
#: addons/multisite.php:109
|
1929 |
+
msgid "You do not have sufficient permissions to access this page."
|
1930 |
+
msgstr ""
|
1931 |
+
"Du besitzt nicht die notwendigen Berechtigungen, um diese Seite aufzurufen."
|
1932 |
+
|
1933 |
+
#: addons/multisite.php:128
|
1934 |
+
msgid "You do not have permission to access this page."
|
1935 |
+
msgstr ""
|
1936 |
+
"Du besitzt nicht die nötigen Berechtigungen, um diese Seite aufzurufen."
|
1937 |
+
|
1938 |
+
#: addons/multisite.php:180
|
1939 |
+
msgid "Must-use plugins"
|
1940 |
+
msgstr "Meist-benutzte Plugins"
|
1941 |
+
|
1942 |
+
#: addons/multisite.php:181
|
1943 |
+
msgid "Blog uploads"
|
1944 |
+
msgstr "Blog Uploads"
|
1945 |
+
|
1946 |
+
#: addons/dropbox-folders.php:21
|
1947 |
+
msgid "Store at"
|
1948 |
+
msgstr "Speichere in"
|
1949 |
+
|
1950 |
+
#~ msgctxt "Uploader: Drop zip files here - or - Select Files"
|
1951 |
+
#~ msgid "or"
|
1952 |
+
#~ msgstr "oder"
|
1953 |
+
|
1954 |
+
#~ msgid "Select Files"
|
1955 |
+
#~ msgstr "Dateien auswählen"
|
1956 |
+
|
1957 |
+
#~ msgid "UpdraftPlus - Backup/Restore"
|
1958 |
+
#~ msgstr "UpdraftPlus - Sicherung/Wiederherstellung"
|
1959 |
+
|
1960 |
+
#~ msgid "http://updraftplus.com"
|
1961 |
+
#~ msgstr "http://updraftplus.com"
|
1962 |
+
|
1963 |
+
#~ msgid ""
|
1964 |
+
#~ "Backup and restore: your site can be backed up locally or to Amazon S3, "
|
1965 |
+
#~ "Dropbox, Google Drive, (S)FTP, WebDAV & email, on automatic schedules."
|
1966 |
+
#~ msgstr ""
|
1967 |
+
#~ "Sicherung und Wiederherstellung: Deine Seite kann lokal oder bei Amazaon "
|
1968 |
+
#~ "S3, Dropbox, Google Drive, (S)FTP, WebDAV oder E-Mail automatisch "
|
1969 |
+
#~ "gesichert werden."
|
1970 |
+
|
1971 |
+
#~ msgid "UpdraftPlus.Com, DavidAnderson"
|
1972 |
+
#~ msgstr "UpdraftPlus.Com, DavidAnderson"
|
languages/updraftplus-hu_HU.mo
ADDED
Binary file
|
languages/updraftplus-hu_HU.po
ADDED
@@ -0,0 +1,1939 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: UpdraftPlus\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2013-03-30 17:26+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-04-01 18:11+0100\n"
|
7 |
+
"Last-Translator: Szépe Viktor <viktor@szepe.net>\n"
|
8 |
+
"Language-Team: Szépe Viktor <viktor@online1.hu>\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_x;_e\n"
|
13 |
+
"X-Poedit-Basepath: /home/david/MissionaryHosting/UpdraftPlus/svn/trunk\n"
|
14 |
+
"X-Generator: Poedit 1.5.5\n"
|
15 |
+
"Language: Hungarian\n"
|
16 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
17 |
+
"X-Poedit-SearchPath-0: .\n"
|
18 |
+
|
19 |
+
#: options.php:26
|
20 |
+
msgid "UpdraftPlus Backups"
|
21 |
+
msgstr "UpdraftPlus Backups"
|
22 |
+
|
23 |
+
#: updraftplus.php:261
|
24 |
+
msgid ""
|
25 |
+
"Bad filename format - this does not look like a file created by UpdraftPlus"
|
26 |
+
msgstr "Helytelen fájlnév - ez a fájl nem UpdraftPlus fájlnak néz ki"
|
27 |
+
|
28 |
+
#: updraftplus.php:295
|
29 |
+
msgid "Allowed Files"
|
30 |
+
msgstr "Engedélyezett fájlok"
|
31 |
+
|
32 |
+
#: updraftplus.php:372
|
33 |
+
msgid "Settings"
|
34 |
+
msgstr "Beállítások"
|
35 |
+
|
36 |
+
#: updraftplus.php:376
|
37 |
+
msgid "Add-Ons / Pro Support"
|
38 |
+
msgstr "Kiterjesztések / Pro támogatás"
|
39 |
+
|
40 |
+
#: updraftplus.php:462
|
41 |
+
msgid "Plugins"
|
42 |
+
msgstr "Bővítmények"
|
43 |
+
|
44 |
+
#: updraftplus.php:463
|
45 |
+
msgid "Themes"
|
46 |
+
msgstr "Témák"
|
47 |
+
|
48 |
+
#: updraftplus.php:464
|
49 |
+
msgid "Uploads"
|
50 |
+
msgstr "Feltöltések"
|
51 |
+
|
52 |
+
#: updraftplus.php:478
|
53 |
+
msgid "Others"
|
54 |
+
msgstr "Egyéb"
|
55 |
+
|
56 |
+
#: updraftplus.php:710
|
57 |
+
msgid ""
|
58 |
+
"Could not create files in the backup directory. Backup aborted - check your "
|
59 |
+
"UpdraftPlus settings."
|
60 |
+
msgstr ""
|
61 |
+
"Nem sikerült fájl létrehozni a backup könyvtárban. A mentés félbe szakadt - "
|
62 |
+
"ellenőrizze az UpdraftPlus beállításokat."
|
63 |
+
|
64 |
+
#: updraftplus.php:778
|
65 |
+
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
66 |
+
msgstr ""
|
67 |
+
"Titkosítási hiba történt az adatbázis titkosítása közben. A titkosítás félbe "
|
68 |
+
"szakadt."
|
69 |
+
|
70 |
+
#: updraftplus.php:812
|
71 |
+
msgid "The backup apparently succeeded and is now complete"
|
72 |
+
msgstr "Úgy látszik, a mentés teljesen sikerült."
|
73 |
+
|
74 |
+
#: updraftplus.php:815
|
75 |
+
msgid "The backup attempt has finished, apparently unsuccessfully"
|
76 |
+
msgstr "A mentési kísérlet befejeződött, látszólag sikertelenül."
|
77 |
+
|
78 |
+
#: updraftplus.php:818
|
79 |
+
msgid "The backup has not finished; a resumption is scheduled within 5 minutes"
|
80 |
+
msgstr ""
|
81 |
+
"A mentés még nem fejeződött be - az újrakezdés beütemezésre került, 5 perc "
|
82 |
+
"múlva indul."
|
83 |
+
|
84 |
+
#: updraftplus.php:869
|
85 |
+
msgid "Backed up"
|
86 |
+
msgstr "Mentésre került"
|
87 |
+
|
88 |
+
#: updraftplus.php:869
|
89 |
+
msgid "WordPress backup is complete"
|
90 |
+
msgstr "A WordPress mentés teljesen elkészült"
|
91 |
+
|
92 |
+
#: updraftplus.php:869
|
93 |
+
msgid "Backup contains"
|
94 |
+
msgstr "A mentés tartalmaz"
|
95 |
+
|
96 |
+
#: updraftplus.php:869
|
97 |
+
msgid "Latest status"
|
98 |
+
msgstr "Utolsó állapot"
|
99 |
+
|
100 |
+
#: updraftplus.php:1124
|
101 |
+
#, php-format
|
102 |
+
msgid "Could not create %s zip. Consult the log file for more information."
|
103 |
+
msgstr ""
|
104 |
+
"Nem sikerült létrehozni a %s zip-et. Tekintse meg a log fájlt további "
|
105 |
+
"információkért."
|
106 |
+
|
107 |
+
#: updraftplus.php:1158
|
108 |
+
#, php-format
|
109 |
+
msgid "Backup directory (%s) is not writable, or does not exist."
|
110 |
+
msgstr "A backup könyvtár (%s) nem írható vagy nem létezik."
|
111 |
+
|
112 |
+
#: updraftplus.php:1248
|
113 |
+
msgid "Could not read the content directory"
|
114 |
+
msgstr "Nem sikerült olvasni a wp-content könyvtárat"
|
115 |
+
|
116 |
+
#: updraftplus.php:1278
|
117 |
+
msgid ""
|
118 |
+
"Could not save backup history because we have no backup array. Backup "
|
119 |
+
"probably failed."
|
120 |
+
msgstr ""
|
121 |
+
"Nem sikerült menteni a mentés előzményeket mert nincs mentés tömb. A mentés "
|
122 |
+
"minden bizonnyal nem sikerült."
|
123 |
+
|
124 |
+
#: updraftplus.php:1307
|
125 |
+
msgid "Could not open the backup file for writing"
|
126 |
+
msgstr "Nem sikerült írásra megnyitni a mentés fájlt"
|
127 |
+
|
128 |
+
#: updraftplus.php:1316
|
129 |
+
#, php-format
|
130 |
+
msgid "Generated: %s"
|
131 |
+
msgstr "Készült: %s"
|
132 |
+
|
133 |
+
#: updraftplus.php:1317
|
134 |
+
#, php-format
|
135 |
+
msgid "Hostname: %s"
|
136 |
+
msgstr "Gépnév: %s"
|
137 |
+
|
138 |
+
#: updraftplus.php:1318
|
139 |
+
#, php-format
|
140 |
+
msgid "Database: %s"
|
141 |
+
msgstr "Adatbázis: %s"
|
142 |
+
|
143 |
+
#: updraftplus.php:1362
|
144 |
+
msgid "The backup directory is not writable."
|
145 |
+
msgstr "A mentés könyvtár nem írható."
|
146 |
+
|
147 |
+
#: updraftplus.php:1383
|
148 |
+
#, php-format
|
149 |
+
msgid "Table: %s"
|
150 |
+
msgstr "Tábla: %s"
|
151 |
+
|
152 |
+
#: updraftplus.php:1388
|
153 |
+
#, php-format
|
154 |
+
msgid "Skipping non-WP table: %s"
|
155 |
+
msgstr "Kihagyásra kerültek a nem-WP táblák: %s"
|
156 |
+
|
157 |
+
#: updraftplus.php:1479
|
158 |
+
#, php-format
|
159 |
+
msgid "Delete any existing table %s"
|
160 |
+
msgstr "A létező táblák törlése %s"
|
161 |
+
|
162 |
+
#: updraftplus.php:1488
|
163 |
+
#, php-format
|
164 |
+
msgid "Table structure of table %s"
|
165 |
+
msgstr "Tábla struktúra - tábla neve: %s"
|
166 |
+
|
167 |
+
#: updraftplus.php:1494
|
168 |
+
#, php-format
|
169 |
+
msgid "Error with SHOW CREATE TABLE for %s."
|
170 |
+
msgstr "Hiba SHOW CREATE TABLE közben ennél: %s."
|
171 |
+
|
172 |
+
#: updraftplus.php:1501
|
173 |
+
#, php-format
|
174 |
+
msgid "Error getting table structure of %s"
|
175 |
+
msgstr "Hiba történt tábla struktúra kiolvasása közben - tábla neve: %s"
|
176 |
+
|
177 |
+
#: updraftplus.php:1507
|
178 |
+
#, php-format
|
179 |
+
msgid "Data contents of table %s"
|
180 |
+
msgstr "A tábla adattartalma - tábal neve: %s"
|
181 |
+
|
182 |
+
#: updraftplus.php:1563
|
183 |
+
#, php-format
|
184 |
+
msgid "End of data contents of table %s"
|
185 |
+
msgstr "Vége a tábla adattartalmának - tábla neve: %s"
|
186 |
+
|
187 |
+
#: updraftplus.php:1815
|
188 |
+
msgid "Nothing yet logged"
|
189 |
+
msgstr "Még semmit sem került naplózásra"
|
190 |
+
|
191 |
+
#: updraftplus.php:1836
|
192 |
+
msgid "File downloading"
|
193 |
+
msgstr "Fájl letöltése"
|
194 |
+
|
195 |
+
#: updraftplus.php:1838
|
196 |
+
msgid "No local copy present."
|
197 |
+
msgstr "Nem létezik helyi másolat."
|
198 |
+
|
199 |
+
#: updraftplus.php:2014
|
200 |
+
msgid "File not found"
|
201 |
+
msgstr "Nincs meg a fájl"
|
202 |
+
|
203 |
+
#: updraftplus.php:2033
|
204 |
+
#, php-format
|
205 |
+
msgid ""
|
206 |
+
"The backup archive for restoring this file could not be found. The remote "
|
207 |
+
"storage method in use (%s) does not allow us to retrieve files. To proceed "
|
208 |
+
"with this restoration, you need to obtain a copy of this file and place it "
|
209 |
+
"inside UpdraftPlus's working folder"
|
210 |
+
msgstr ""
|
211 |
+
"Az ehhez a fájlhoz tartozó mentés nem található. A használatban lévő távoli "
|
212 |
+
"tárhely módszer (%s) nem engedi meg, hogy egy-egy fájlt kérjünk le. Ahhoz, "
|
213 |
+
"hogy folytatható legyen a visszaállítás, szerezzen be egy másolatot erről a "
|
214 |
+
"fájlról, és helyezze az UpdraftPlus munkakönyvtárába."
|
215 |
+
|
216 |
+
#: updraftplus.php:2043
|
217 |
+
msgid ""
|
218 |
+
"This backup does not exist in the backup history - restoration aborted. "
|
219 |
+
"Timestamp:"
|
220 |
+
msgstr ""
|
221 |
+
"Ez a mentés nincs a mentési előzményekben - a visszaállítás félbe szakadt. "
|
222 |
+
"Időbélyeg:"
|
223 |
+
|
224 |
+
#: updraftplus.php:2056
|
225 |
+
msgid "UpdraftPlus Restoration: Progress"
|
226 |
+
msgstr "UpdraftPlus visszaállítás: Folyamatban"
|
227 |
+
|
228 |
+
#: updraftplus.php:2063
|
229 |
+
msgid "ABORT: Could not find the information on which entities to restore."
|
230 |
+
msgstr ""
|
231 |
+
"FÉLBE SZAKADT: Nem található információ, melyik elemet állítsuk vissza."
|
232 |
+
|
233 |
+
#: updraftplus.php:2077 updraftplus.php:2820 updraftplus.php:3072
|
234 |
+
msgid "Database"
|
235 |
+
msgstr "Adatbázis"
|
236 |
+
|
237 |
+
#: updraftplus.php:2083
|
238 |
+
msgid "This component was not selected for restoration - skipping."
|
239 |
+
msgstr "Ez az összetevő nem lett kiválasztva visszaállításra - átugorjuk."
|
240 |
+
|
241 |
+
#: updraftplus.php:2091
|
242 |
+
msgid ""
|
243 |
+
"File is not locally present - needs retrieving from remote storage (for "
|
244 |
+
"large files, it is better to do this in advance from the download console)"
|
245 |
+
msgstr ""
|
246 |
+
"A fájl nem létezik helyben - szükséges a távoli tárhelyről beszerezni (óriás "
|
247 |
+
"fájloknál jobb ezt előre megtenni a letöltési konzolon)"
|
248 |
+
|
249 |
+
#: updraftplus.php:2097
|
250 |
+
msgid "Archive is expected to be size:"
|
251 |
+
msgstr "Az archívum várható mérete:"
|
252 |
+
|
253 |
+
#: updraftplus.php:2102
|
254 |
+
msgid "ERROR"
|
255 |
+
msgstr "HIBA"
|
256 |
+
|
257 |
+
#: updraftplus.php:2105
|
258 |
+
msgid ""
|
259 |
+
"The backup records do not contain information about the proper size of this "
|
260 |
+
"file."
|
261 |
+
msgstr ""
|
262 |
+
"A mentési bejegyzés nem tartalmaz információt ennek a fájlnak az eredeti "
|
263 |
+
"méretéről."
|
264 |
+
|
265 |
+
#: updraftplus.php:2117
|
266 |
+
msgid "Error message"
|
267 |
+
msgstr "Hiba üzenet"
|
268 |
+
|
269 |
+
#: updraftplus.php:2123 updraftplus.php:2124
|
270 |
+
msgid "Could not find one of the files for restoration"
|
271 |
+
msgstr "A visszaállításhoz szükséges egyik fájl nem található"
|
272 |
+
|
273 |
+
#: updraftplus.php:2126
|
274 |
+
msgid ""
|
275 |
+
"Databases are not yet restored through this mechanism - use your web host's "
|
276 |
+
"control panel, phpMyAdmin or a similar tool"
|
277 |
+
msgstr ""
|
278 |
+
"Az adatbázisok még nincsenek visszaállítva ezzel a módszerrel - használja a "
|
279 |
+
"tárhely szolgáltatójának a vezérlőpultját, phpMyAdmin-t vagy valamely "
|
280 |
+
"hasonló eszközt"
|
281 |
+
|
282 |
+
#: updraftplus.php:2132
|
283 |
+
msgid ""
|
284 |
+
"Database could not be restored because PHP safe_mode is active on your "
|
285 |
+
"server. You will need to manually restore the file via phpMyAdmin or "
|
286 |
+
"another method."
|
287 |
+
msgstr ""
|
288 |
+
"A webszerveren a PHP safe_mode bekapcsolt volta miatt nem állítható vissza "
|
289 |
+
"az adatbázis. Kézzel szükséges visszaállítani a fájlt phpMyAdmin vagy más "
|
290 |
+
"eszköz segítségével."
|
291 |
+
|
292 |
+
#: updraftplus.php:2156
|
293 |
+
msgid "Delete"
|
294 |
+
msgstr "Törlés"
|
295 |
+
|
296 |
+
#: updraftplus.php:2290
|
297 |
+
msgid "Find UpdraftPlus useful?"
|
298 |
+
msgstr "Hasznosnak találta az UpdraftPlus-t?"
|
299 |
+
|
300 |
+
#: updraftplus.php:2290
|
301 |
+
msgid "Please make a donation"
|
302 |
+
msgstr "Kérem adományozzon"
|
303 |
+
|
304 |
+
#: updraftplus.php:2295
|
305 |
+
msgid "Like UpdraftPlus and can spare one minute?"
|
306 |
+
msgstr "Kedveli az UpdraftPlus-t és van egy perce?"
|
307 |
+
|
308 |
+
#: updraftplus.php:2295
|
309 |
+
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org"
|
310 |
+
msgstr ""
|
311 |
+
"Kérem segítsen az UpdraftPlus-nak egy pozitív hangú ismertető írásával a "
|
312 |
+
"wordpress.org-on"
|
313 |
+
|
314 |
+
#: updraftplus.php:2302
|
315 |
+
msgid "Need even more features and support? Check out UpdraftPlus Premium"
|
316 |
+
msgstr ""
|
317 |
+
"Még több funkcióra van szüksége és támogatásra? Nézze meg az UpdraftPlus "
|
318 |
+
"Premium-ot"
|
319 |
+
|
320 |
+
#: updraftplus.php:2311
|
321 |
+
msgid "Check out UpdraftPlus.Com for help, add-ons and support"
|
322 |
+
msgstr ""
|
323 |
+
"Nézze meg az UpdraftPlus.Com webhelyet segítségért, kiterjesztésekért és "
|
324 |
+
"támogatásért"
|
325 |
+
|
326 |
+
#: updraftplus.php:2314
|
327 |
+
msgid "Want to say thank-you for UpdraftPlus?"
|
328 |
+
msgstr "Megköszönné az UpdraftPlus-t?"
|
329 |
+
|
330 |
+
#: updraftplus.php:2314
|
331 |
+
msgid "Please buy our very cheap 'no adverts' add-on."
|
332 |
+
msgstr ""
|
333 |
+
"Kérem vásárolja meg az olcsó 'no adverts' (reklámok kikapcsolása) "
|
334 |
+
"kiterjesztésünket."
|
335 |
+
|
336 |
+
#: updraftplus.php:2325
|
337 |
+
msgid "File backup intervals"
|
338 |
+
msgstr "Fájl mentési időköz"
|
339 |
+
|
340 |
+
#: updraftplus.php:2328
|
341 |
+
msgid "Manual"
|
342 |
+
msgstr "Kézi"
|
343 |
+
|
344 |
+
#: updraftplus.php:2328
|
345 |
+
msgid "Every 4 hours"
|
346 |
+
msgstr "4 óránként"
|
347 |
+
|
348 |
+
#: updraftplus.php:2328
|
349 |
+
msgid "Every 8 hours"
|
350 |
+
msgstr "8 óránként"
|
351 |
+
|
352 |
+
#: updraftplus.php:2328
|
353 |
+
msgid "Every 12 hours"
|
354 |
+
msgstr "12 óránként"
|
355 |
+
|
356 |
+
#: updraftplus.php:2328
|
357 |
+
msgid "Daily"
|
358 |
+
msgstr "Naponta"
|
359 |
+
|
360 |
+
#: updraftplus.php:2328
|
361 |
+
msgid "Weekly"
|
362 |
+
msgstr "Hetente"
|
363 |
+
|
364 |
+
#: updraftplus.php:2328
|
365 |
+
msgid "Fortnightly"
|
366 |
+
msgstr "Kéthetente"
|
367 |
+
|
368 |
+
#: updraftplus.php:2328
|
369 |
+
msgid "Monthly"
|
370 |
+
msgstr "Havonta"
|
371 |
+
|
372 |
+
#: updraftplus.php:2337 updraftplus.php:2355
|
373 |
+
msgid "and retain this many backups"
|
374 |
+
msgstr "és ennyi mentés maradjon meg"
|
375 |
+
|
376 |
+
#: updraftplus.php:2344
|
377 |
+
msgid "Database backup intervals"
|
378 |
+
msgstr "Adatbázis mentési időköz"
|
379 |
+
|
380 |
+
# magázó hangnem
|
381 |
+
#: updraftplus.php:2362
|
382 |
+
msgid ""
|
383 |
+
"If you would like to automatically schedule backups, choose schedules from "
|
384 |
+
"the dropdowns above. Backups will occur at the intervals specified. If the "
|
385 |
+
"two schedules are the same, then the two backups will take place together. "
|
386 |
+
"If you choose \"manual\" then you must click the \"Backup Now\" button "
|
387 |
+
"whenever you wish a backup to occur."
|
388 |
+
msgstr ""
|
389 |
+
"Ha autmatikusan kívánja ütemezni a mentéseket, válassza ki az ütemezést a "
|
390 |
+
"fenti legördülő listákból. A mentések a megadott időközökben történnek. Ha a "
|
391 |
+
"két ütemezés azonos, akkor egyszerre lesznek a mentések. Ha \"Kézi\"-t "
|
392 |
+
"választ, akkor rá kell kattintania a \"Mentés most\" gombra, amikor indítani "
|
393 |
+
"kívánja a mentéseket."
|
394 |
+
|
395 |
+
#: updraftplus.php:2363
|
396 |
+
msgid "To fix the time at which a backup should take place,"
|
397 |
+
msgstr "Hogy beállítsa, milyen időpontban kerül sor a mentésre,"
|
398 |
+
|
399 |
+
#: updraftplus.php:2363
|
400 |
+
msgid "e.g. if your server is busy at day and you want to run overnight"
|
401 |
+
msgstr "pl. ha a webszervere nappal terhelt és éjjel kívája a mentést futtatni"
|
402 |
+
|
403 |
+
#: updraftplus.php:2363
|
404 |
+
msgid "use the \"Fix Time\" add-on"
|
405 |
+
msgstr "használja a \"Fix Time\" (idő beállítása) kiterjesztést"
|
406 |
+
|
407 |
+
#: updraftplus.php:2377
|
408 |
+
msgid ""
|
409 |
+
"Any other directories found inside wp-content but exclude these directories:"
|
410 |
+
msgstr "Minden más könyvtár a wp-content -en belül, de ezek a könyvtárak nem:"
|
411 |
+
|
412 |
+
#: updraftplus.php:2383
|
413 |
+
msgid ""
|
414 |
+
"Include all of these, unless you are backing them up outside of UpdraftPlus. "
|
415 |
+
"The above directories are usually everything (except for WordPress core "
|
416 |
+
"itself which you can download afresh from WordPress.org). But if you have "
|
417 |
+
"made customised modifications outside of these directories, you need to back "
|
418 |
+
"them up another way."
|
419 |
+
msgstr ""
|
420 |
+
"Ezeket a könyvtárakat is vegye bele a mentésbe, hacsak nem az UpdraftPlus-on "
|
421 |
+
"kívül másként kerülnek mentésre. A fenti könyvtárakban minden benne van "
|
422 |
+
"(kivéve a WordPress motor, amit frissen letölthet a wordpress.org-ről). Ha "
|
423 |
+
"módosításokat hajtott végre ezeken a könyvtárakon kívül, akkor más módon "
|
424 |
+
"kell mentenie azokat."
|
425 |
+
|
426 |
+
#: updraftplus.php:2383
|
427 |
+
msgid "Use WordShell for automatic backup, version control and patching"
|
428 |
+
msgstr ""
|
429 |
+
"Használja a WordShell-t automatikus mentésekhez, verzió követéshez és patch-"
|
430 |
+
"eléshez"
|
431 |
+
|
432 |
+
#: updraftplus.php:2387
|
433 |
+
msgid "Email"
|
434 |
+
msgstr "E-mail"
|
435 |
+
|
436 |
+
#: updraftplus.php:2388
|
437 |
+
msgid ""
|
438 |
+
"Enter an address here to have a report sent (and the whole backup, if you "
|
439 |
+
"choose) to it."
|
440 |
+
msgstr ""
|
441 |
+
"Ide írjon be a címet, ahol a jelentéseket kívánja megkapni (és a teljes "
|
442 |
+
"mentést is, ha olyan módszert választott)."
|
443 |
+
|
444 |
+
#: updraftplus.php:2392
|
445 |
+
msgid "Database encryption phrase"
|
446 |
+
msgstr "Adatbázis titkosítási kulcs"
|
447 |
+
|
448 |
+
#: updraftplus.php:2399
|
449 |
+
msgid ""
|
450 |
+
"If you enter text here, it is used to encrypt backups (Rijndael). <strong>Do "
|
451 |
+
"make a separate record of it and do not lose it, or all your backups "
|
452 |
+
"<em>will</em> be useless.</strong> Presently, only the database file is "
|
453 |
+
"encrypted. This is also the key used to decrypt backups from this admin "
|
454 |
+
"interface (so if you change it, then automatic decryption will not work "
|
455 |
+
"until you change it back). You can also use the file example-decrypt.php "
|
456 |
+
"from inside the UpdraftPlus plugin directory to decrypt manually."
|
457 |
+
msgstr ""
|
458 |
+
"Ha ide beír karaktereket, titkosítva lesz a mentés (Rijndael). <strong>Kérem "
|
459 |
+
"külön jegyezze fel ezt, különben az <em>összes</em> mentése hasztalan lesz.</"
|
460 |
+
"strong> Jelenleg csak az adatbázis mentések kerülnek titkosításra. Ezzel a "
|
461 |
+
"kulccsal kerül kinyitásra minden mentés erről a felületről (szóval, ha "
|
462 |
+
"módosítja, akkor a titkosítás automatikus kinyitása nem fog működni, amíg "
|
463 |
+
"vissza nem változtatja). Kézi kinyitáshoz használhatja az example-decrypt."
|
464 |
+
"php program fájlt az UpdraftPlus bővítmény könyvtárban."
|
465 |
+
|
466 |
+
#: updraftplus.php:2403
|
467 |
+
msgid "Copying Your Backup To Remote Storage"
|
468 |
+
msgstr "Mentések másolása a távoli tárhelyre"
|
469 |
+
|
470 |
+
#: updraftplus.php:2407
|
471 |
+
msgid "Choose your remote storage"
|
472 |
+
msgstr "Válasszon távoli tárhelyet"
|
473 |
+
|
474 |
+
#: updraftplus.php:2419
|
475 |
+
msgid "None"
|
476 |
+
msgstr "Egyik sem"
|
477 |
+
|
478 |
+
#: updraftplus.php:2500 updraftplus.php:2838 updraftplus.php:3109
|
479 |
+
msgid "Restore"
|
480 |
+
msgstr "Visszaállítás"
|
481 |
+
|
482 |
+
#: updraftplus.php:2514 updraftplus.php:2524
|
483 |
+
msgid "Cancel"
|
484 |
+
msgstr "Mégsem"
|
485 |
+
|
486 |
+
#: updraftplus.php:2521 updraftplus.php:2830
|
487 |
+
msgid "Backup Now"
|
488 |
+
msgstr "Mentés most"
|
489 |
+
|
490 |
+
#: updraftplus.php:2548
|
491 |
+
msgid "Advanced / Debugging Settings"
|
492 |
+
msgstr "Haladó / Hibakereső beállítások"
|
493 |
+
|
494 |
+
#: updraftplus.php:2551
|
495 |
+
msgid "Debug mode"
|
496 |
+
msgstr "Hibakereső mód"
|
497 |
+
|
498 |
+
#: updraftplus.php:2552
|
499 |
+
msgid ""
|
500 |
+
"Check this to receive more information and emails on the backup process - "
|
501 |
+
"useful if something is going wrong. You <strong>must</strong> send us this "
|
502 |
+
"log if you are filing a bug report."
|
503 |
+
msgstr ""
|
504 |
+
"Jelölje be ezt, hogy több információt és e-mailt kapjon a mentési "
|
505 |
+
"folyamatról - hasznos ha valami nem sikerül. Hibajegy bemyújtásához "
|
506 |
+
"csatolnia <strong>kell</strong> az itt kapott log-ot."
|
507 |
+
|
508 |
+
#: updraftplus.php:2555
|
509 |
+
msgid "Expert settings"
|
510 |
+
msgstr "Haladó beállítások"
|
511 |
+
|
512 |
+
#: updraftplus.php:2556
|
513 |
+
msgid "Show expert settings"
|
514 |
+
msgstr "Mutassa a haladó beállításokat"
|
515 |
+
|
516 |
+
#: updraftplus.php:2556
|
517 |
+
msgid ""
|
518 |
+
"click this to show some further options; don't bother with this unless you "
|
519 |
+
"have a problem or are curious."
|
520 |
+
msgstr ""
|
521 |
+
"ha ide kattint, további beállításokat jeleníthet meg; ne bajlódjon ezzel, "
|
522 |
+
"hacsak nincs valami probléma, vagy kiváncsi."
|
523 |
+
|
524 |
+
#: updraftplus.php:2563
|
525 |
+
msgid "Delete local backup"
|
526 |
+
msgstr "Törölje a helyi mentéseket"
|
527 |
+
|
528 |
+
#: updraftplus.php:2564
|
529 |
+
msgid ""
|
530 |
+
"Uncheck this to prevent deletion of any superfluous backup files from your "
|
531 |
+
"server after the backup run finishes (i.e. any files despatched remotely "
|
532 |
+
"will also remain locally, and any files being kept locally will not be "
|
533 |
+
"subject to the retention limits)."
|
534 |
+
msgstr ""
|
535 |
+
"Vegye ki a jelölést, hogy megakadályozza a felesleges mentések törlését a "
|
536 |
+
"webszerverről, miután elkészülnek a mentések (azaz minden távolra átmásolt "
|
537 |
+
"fájl megmarad helyben is, és egyik fájl sem kerül törlésre a megtartási "
|
538 |
+
"korlátozás miatt)."
|
539 |
+
|
540 |
+
#: updraftplus.php:2568
|
541 |
+
msgid "Backup directory"
|
542 |
+
msgstr "Mentési könyvtár"
|
543 |
+
|
544 |
+
#: updraftplus.php:2576
|
545 |
+
msgid "Backup directory specified is writable, which is good."
|
546 |
+
msgstr "A megadott mentési könyvtár írható, ami helyes."
|
547 |
+
|
548 |
+
#: updraftplus.php:2578
|
549 |
+
msgid "Backup directory specified is <b>not</b> writable, or does not exist."
|
550 |
+
msgstr ""
|
551 |
+
"A megadott mentési könyvtár <strong>nem</strong> írható, vagy nem létezik."
|
552 |
+
|
553 |
+
#: updraftplus.php:2578
|
554 |
+
msgid "Click here to attempt to create the directory and set the permissions"
|
555 |
+
msgstr ""
|
556 |
+
"Kattintson ide, hogy megkíséreljük a könyvtár létrehozását és a hozzáférési "
|
557 |
+
"jogok beállítását"
|
558 |
+
|
559 |
+
#: updraftplus.php:2578
|
560 |
+
msgid "or, to reset this option"
|
561 |
+
msgstr "vagy ezt a beállítást alaphelyzetbe állítsuk"
|
562 |
+
|
563 |
+
#: updraftplus.php:2578
|
564 |
+
msgid "click here"
|
565 |
+
msgstr "kattintson ide"
|
566 |
+
|
567 |
+
#: updraftplus.php:2578
|
568 |
+
msgid ""
|
569 |
+
"If that is unsuccessful check the permissions on your server or change it to "
|
570 |
+
"another directory that is writable by your web server process."
|
571 |
+
msgstr ""
|
572 |
+
"Ha ez sikertelen, ellenőrizze a webszerveren a hozzáférési jogokat, vagy "
|
573 |
+
"adjon meg másik könyvtárat, ami írható a webkiszolgáló folyamat által."
|
574 |
+
|
575 |
+
#: updraftplus.php:2581
|
576 |
+
msgid ""
|
577 |
+
"This is where UpdraftPlus will write the zip files it creates initially. "
|
578 |
+
"This directory must be writable by your web server. Typically you'll want to "
|
579 |
+
"have it inside your wp-content folder (this is the default). <b>Do not</b> "
|
580 |
+
"place it inside your uploads dir, as that will cause recursion issues "
|
581 |
+
"(backups of backups of backups of...)."
|
582 |
+
msgstr ""
|
583 |
+
"Ide írja az UpdraftPlus a zip fájlokat, amelyeket kezdetben készít. Ennek a "
|
584 |
+
"könyvtárnak írhatónak kell lennie. Jellemzően a wp-content könyvtáron belül "
|
585 |
+
"kívánja ezt a könyvtárat elhelyezni (ez az alapértelmezés). <strong>Ne</"
|
586 |
+
"strong> tegye az upload könyvtáron belül, mert rekurziót fog okozni (a "
|
587 |
+
"mentés mentésének a mentése stb.)."
|
588 |
+
|
589 |
+
#: updraftplus.php:2602
|
590 |
+
msgid "Save Changes"
|
591 |
+
msgstr "Változások mentése"
|
592 |
+
|
593 |
+
#: updraftplus.php:2626
|
594 |
+
msgid "Download log file"
|
595 |
+
msgstr "Napló fájl letöltése"
|
596 |
+
|
597 |
+
#: updraftplus.php:2632
|
598 |
+
msgid "No backup has been completed."
|
599 |
+
msgstr "Még egy mentés sem készült el."
|
600 |
+
|
601 |
+
#: updraftplus.php:2652
|
602 |
+
msgid "Restore successful!"
|
603 |
+
msgstr "A visszaállítás sikerült!"
|
604 |
+
|
605 |
+
#: updraftplus.php:2653 updraftplus.php:2688 updraftplus.php:2704
|
606 |
+
msgid "Actions"
|
607 |
+
msgstr "Akciók"
|
608 |
+
|
609 |
+
#: updraftplus.php:2653 updraftplus.php:2668 updraftplus.php:2688
|
610 |
+
#: updraftplus.php:2704
|
611 |
+
msgid "Return to UpdraftPlus Configuration"
|
612 |
+
msgstr "Vissza az UpdraftPlus beállításához"
|
613 |
+
|
614 |
+
#: updraftplus.php:2677
|
615 |
+
msgid "Remove old directories"
|
616 |
+
msgstr "Régi könyvtárak eltávolítása"
|
617 |
+
|
618 |
+
#: updraftplus.php:2683
|
619 |
+
msgid "Old directories successfully removed."
|
620 |
+
msgstr "A régi könyvtárakat sikerült eltávolítani."
|
621 |
+
|
622 |
+
#: updraftplus.php:2686
|
623 |
+
msgid ""
|
624 |
+
"Old directory removal failed for some reason. You may want to do this "
|
625 |
+
"manually."
|
626 |
+
msgstr ""
|
627 |
+
"A régi könyvtárak eltávolítása valamilyen ok miatt nem sikerült. Kézzel "
|
628 |
+
"eltávolíthatja."
|
629 |
+
|
630 |
+
#: updraftplus.php:2701
|
631 |
+
msgid "Backup directory could not be created"
|
632 |
+
msgstr "A Backup könyvtárat nem sikerült létrehozni"
|
633 |
+
|
634 |
+
#: updraftplus.php:2703
|
635 |
+
msgid "Backup directory successfully created."
|
636 |
+
msgstr "A Backup könyvtárat sikerült létrehozni."
|
637 |
+
|
638 |
+
#: updraftplus.php:2710
|
639 |
+
msgid "Schedule backup"
|
640 |
+
msgstr "Mentés ütemezése"
|
641 |
+
|
642 |
+
#: updraftplus.php:2713
|
643 |
+
msgid "Failed."
|
644 |
+
msgstr "Nem sikerült."
|
645 |
+
|
646 |
+
#: updraftplus.php:2715
|
647 |
+
msgid ""
|
648 |
+
"OK. Now load any page from your site to make sure the schedule can trigger. "
|
649 |
+
"You should then see activity in the \"Last log message\" field below."
|
650 |
+
msgstr ""
|
651 |
+
"Rendben. Most nézze meg a honlapja bármely oldalát, hogy biztosan elinduljon "
|
652 |
+
"az ütemezett mentés. Azután az \"Utolsó log sor\" mezőben láthatja az "
|
653 |
+
"aktivitást."
|
654 |
+
|
655 |
+
#: updraftplus.php:2715
|
656 |
+
msgid "Nothing happening? Follow this link for help."
|
657 |
+
msgstr "Semmi sem történik? Segítségért kattinson erre a hivatozásra."
|
658 |
+
|
659 |
+
#: updraftplus.php:2728
|
660 |
+
msgid "Your settings have been wiped."
|
661 |
+
msgstr "A beállításai kitörlésre kerültek."
|
662 |
+
|
663 |
+
#: updraftplus.php:2735
|
664 |
+
msgid "By UpdraftPlus.Com"
|
665 |
+
msgstr "készítette: UpdraftPlus.Com"
|
666 |
+
|
667 |
+
#: updraftplus.php:2735
|
668 |
+
msgid "Lead developer's homepage"
|
669 |
+
msgstr "A vezető fejlesztő honlapja"
|
670 |
+
|
671 |
+
#: updraftplus.php:2735
|
672 |
+
msgid "Donate"
|
673 |
+
msgstr "Adományozás"
|
674 |
+
|
675 |
+
#: updraftplus.php:2735
|
676 |
+
msgid "Other WordPress plugins"
|
677 |
+
msgstr "Más WordPress bővítmények"
|
678 |
+
|
679 |
+
#: updraftplus.php:2735
|
680 |
+
msgid "Version"
|
681 |
+
msgstr "Verzió"
|
682 |
+
|
683 |
+
#: updraftplus.php:2739
|
684 |
+
msgid "Your backup has been restored."
|
685 |
+
msgstr "A mentése visszaállításre került."
|
686 |
+
|
687 |
+
#: updraftplus.php:2739
|
688 |
+
msgid ""
|
689 |
+
"Your old (themes, uploads, plugins, whatever) directories have been retained "
|
690 |
+
"with \"-old\" appended to their name. Remove them when you are satisfied "
|
691 |
+
"that the backup worked properly."
|
692 |
+
msgstr ""
|
693 |
+
"A régi könyvtárai (téma, feltöltések, bővítmények, bármi más) megmaradtak \"-"
|
694 |
+
"old\" utótaggal a nevükben. Távolítsa el azokat, ha a visszaállított mentés "
|
695 |
+
"megfelelően működik."
|
696 |
+
|
697 |
+
#: updraftplus.php:2739
|
698 |
+
msgid ""
|
699 |
+
"At this time UpdraftPlus does not automatically restore your database. You "
|
700 |
+
"will need to use an external tool like phpMyAdmin to perform that task."
|
701 |
+
msgstr ""
|
702 |
+
"Jelenleg az UpdraftPlus nem állítja vissza az adatbázisát. Más eszközt kell "
|
703 |
+
"használjon ehhez a feladathoz, mint például a phpMyAdmin."
|
704 |
+
|
705 |
+
#: updraftplus.php:2745
|
706 |
+
msgid "Old directories successfully deleted."
|
707 |
+
msgstr "A régi könyvtárak sikeresen törlésre kerültek."
|
708 |
+
|
709 |
+
#: updraftplus.php:2748
|
710 |
+
msgid ""
|
711 |
+
"Your PHP memory limit is quite low. UpdraftPlus attempted to raise it but "
|
712 |
+
"was unsuccessful. This plugin may not work properly with a memory limit of "
|
713 |
+
"less than 96 Mb (though on the other hand, it has been used successfully "
|
714 |
+
"with a 32Mb limit - your mileage may vary, but don't blame us!)."
|
715 |
+
msgstr ""
|
716 |
+
"A PHP memória limitje igen alacsony. UpdraftPlus megpróbálta megemelni, de "
|
717 |
+
"nem sikerült. Ez a bővítmény lehet, hogy nem fog működni 96 MB-nál "
|
718 |
+
"alacsonyabb memória limittel (bár másfelől sikerült használni 32 MB-os "
|
719 |
+
"limittel - különböző helyzetek vannak - nem minket okoljon!)."
|
720 |
+
|
721 |
+
#: updraftplus.php:2748
|
722 |
+
msgid "Current limit is:"
|
723 |
+
msgstr "Az aktuális limit:"
|
724 |
+
|
725 |
+
#: updraftplus.php:2752
|
726 |
+
msgid ""
|
727 |
+
"Your PHP max_execution_time is less than 60 seconds. This possibly means "
|
728 |
+
"you're running in safe_mode. Either disable safe_mode or modify your php.ini "
|
729 |
+
"to set max_execution_time to a higher number. If you do not, then longer "
|
730 |
+
"will be needed to complete a backup (but that is all). Present limit is:"
|
731 |
+
msgstr ""
|
732 |
+
"A PHP max_execution_time beállítás kisebb, mint 60 másodperc. Ez jelentheti "
|
733 |
+
"azt, hogy safe_mode-ban fut a WordPress. Vagy kapcsolja ki a safe_mode-ot, "
|
734 |
+
"vagy módosítsa a php.ini fájlban a max_execution_time-ot egy magasabb "
|
735 |
+
"értékre. Ha nem teszi, később lesz kész a mentés (de ez minden). A mostani "
|
736 |
+
"maximális futási idő:"
|
737 |
+
|
738 |
+
#: updraftplus.php:2752
|
739 |
+
msgid "seconds"
|
740 |
+
msgstr "másodperc"
|
741 |
+
|
742 |
+
#: updraftplus.php:2757
|
743 |
+
msgid ""
|
744 |
+
"You have old directories from a previous backup (technical information: "
|
745 |
+
"these are found in wp-content, and suffixed with -old). Use this button to "
|
746 |
+
"delete them (if you have verified that the restoration worked)."
|
747 |
+
msgstr ""
|
748 |
+
"Régi könyvtárai vannak egy előző visszaállítás előttről (technikai "
|
749 |
+
"információ: ezek a wp-content könyvtárban vannak -old végződéssel). "
|
750 |
+
"Kattintson erre a gombra a kitörlésükhöz (miután leellenőrizte, hogy a "
|
751 |
+
"visszaállított állapot működőképes)."
|
752 |
+
|
753 |
+
#: updraftplus.php:2761
|
754 |
+
msgid "Delete Old Directories"
|
755 |
+
msgstr "Régi könyvtárak törlése"
|
756 |
+
|
757 |
+
#: updraftplus.php:2761
|
758 |
+
msgid ""
|
759 |
+
"Are you sure you want to delete the old directories? This cannot be undone."
|
760 |
+
msgstr ""
|
761 |
+
"Biztosan ki akarja törölni a régi könyvtárakat? Ezt nem lehet visszavonni."
|
762 |
+
|
763 |
+
#: updraftplus.php:2774
|
764 |
+
msgid "Existing Schedule And Backups"
|
765 |
+
msgstr "Létező ütemezések és mentések"
|
766 |
+
|
767 |
+
#: updraftplus.php:2778
|
768 |
+
msgid "JavaScript warning"
|
769 |
+
msgstr "Javascript figyelmeztetés"
|
770 |
+
|
771 |
+
#: updraftplus.php:2779
|
772 |
+
msgid ""
|
773 |
+
"This admin interface uses JavaScript heavily. You either need to activate it "
|
774 |
+
"within your browser, or to use a JavaScript-capable browser."
|
775 |
+
msgstr ""
|
776 |
+
"Ez a felület Javascript-et használ. Vagy kapcsolja be a böngészőjében a "
|
777 |
+
"Javascript futtatását, vagy használjon Javascript-et futtatni képes "
|
778 |
+
"böngészőt."
|
779 |
+
|
780 |
+
#: updraftplus.php:2792 updraftplus.php:2805
|
781 |
+
msgid "Nothing currently scheduled"
|
782 |
+
msgstr "Nincs semmi ütemezve"
|
783 |
+
|
784 |
+
#: updraftplus.php:2797
|
785 |
+
msgid "At the same time as the files backup"
|
786 |
+
msgstr "A fájl mentésekkel egyidőben"
|
787 |
+
|
788 |
+
#: updraftplus.php:2817
|
789 |
+
msgid "Next scheduled backups"
|
790 |
+
msgstr "Következő ütemezett mentések"
|
791 |
+
|
792 |
+
#: updraftplus.php:2819
|
793 |
+
msgid "Files"
|
794 |
+
msgstr "Fájlok"
|
795 |
+
|
796 |
+
#: updraftplus.php:2821
|
797 |
+
msgid "Time now"
|
798 |
+
msgstr "A pontos idő"
|
799 |
+
|
800 |
+
#: updraftplus.php:2825
|
801 |
+
msgid "Last finished backup run"
|
802 |
+
msgstr "Utolsó befejezett mentés"
|
803 |
+
|
804 |
+
#: updraftplus.php:2845
|
805 |
+
msgid "Last log message"
|
806 |
+
msgstr "Utolsó log sor"
|
807 |
+
|
808 |
+
#: updraftplus.php:2846
|
809 |
+
msgid "(Nothing yet logged)"
|
810 |
+
msgstr "(Még semmit sem került naplózásra)"
|
811 |
+
|
812 |
+
#: updraftplus.php:2849
|
813 |
+
msgid "Backups, logs & restoring"
|
814 |
+
msgstr "Mentések, naplók & visszaállítás"
|
815 |
+
|
816 |
+
#: updraftplus.php:2850
|
817 |
+
msgid "Press to see available backups"
|
818 |
+
msgstr "Kattintson ide az elérhető mentésekhez"
|
819 |
+
|
820 |
+
#: updraftplus.php:2850
|
821 |
+
#, php-format
|
822 |
+
msgid "%d set(s) available"
|
823 |
+
msgstr "%d szett elérhető"
|
824 |
+
|
825 |
+
#: updraftplus.php:2855
|
826 |
+
msgid "Downloading"
|
827 |
+
msgstr "Letöltés"
|
828 |
+
|
829 |
+
#: updraftplus.php:2855
|
830 |
+
msgid ""
|
831 |
+
"Pressing a button for Database/Plugins/Themes/Uploads/Others will make "
|
832 |
+
"UpdraftPlus try to bring the backup file back from the remote storage (if "
|
833 |
+
"any - e.g. Amazon S3, Dropbox, Google Drive, FTP) to your webserver. Then "
|
834 |
+
"you will be allowed to download it to your computer. If the fetch from the "
|
835 |
+
"remote storage stops progressing (wait 30 seconds to make sure), then press "
|
836 |
+
"again to resume. Remember that you can also visit the cloud storage vendor's "
|
837 |
+
"website directly."
|
838 |
+
msgstr ""
|
839 |
+
"A gomb megnyomásával az UpdraftPlus megpróbálja letölteni a mentést a távoli "
|
840 |
+
"tárhelyről (ha van - pl. Amazon S3, Dropbox, Google Drive, FTP) a "
|
841 |
+
"webszerverre, helybe. Aztán letöltheti a számítógépére. Ha a távoli "
|
842 |
+
"tárhelyről való letöltés megszakad (várjon 30 masodpercet, hogy "
|
843 |
+
"megbizonyosodjon), nyomja meg a gombot még egyszer a folytatáshoz. Vegye "
|
844 |
+
"figyelembe, hogy a távoli tárhelyről közvetlenül is letöltheti annak "
|
845 |
+
"honlapján keresztül."
|
846 |
+
|
847 |
+
#: updraftplus.php:2856
|
848 |
+
msgid "Restoring"
|
849 |
+
msgstr "Visszaállítás"
|
850 |
+
|
851 |
+
#: updraftplus.php:2856
|
852 |
+
msgid ""
|
853 |
+
"Press the button for the backup you wish to restore. If your site is large "
|
854 |
+
"and you are using remote storage, then you should first click on each entity "
|
855 |
+
"in order to retrieve it back to the webserver. This will prevent time-outs "
|
856 |
+
"from occuring during the restore process itself."
|
857 |
+
msgstr ""
|
858 |
+
"Nyomja meg a kívánt mentéshez tartozó gombot a visszaállításhoz. Ha óriási a "
|
859 |
+
"honlapja, és távoli tárhelyet használ, akkor először kattintson minden egyes "
|
860 |
+
"elemre, hogy visszatöltse a webszerverre. Ez megakadályozza az "
|
861 |
+
"időtúllépéseket a visszaállítási folyamat közben."
|
862 |
+
|
863 |
+
#: updraftplus.php:2856
|
864 |
+
msgid "More tasks:"
|
865 |
+
msgstr "Több feladat:"
|
866 |
+
|
867 |
+
#: updraftplus.php:2856
|
868 |
+
msgid "upload backup files"
|
869 |
+
msgstr "mentések feltöltése"
|
870 |
+
|
871 |
+
#: updraftplus.php:2856
|
872 |
+
msgid ""
|
873 |
+
"Press here to look inside your UpdraftPlus directory (in your web hosting "
|
874 |
+
"space) for any new backup sets that you have uploaded. The location of this "
|
875 |
+
"directory is set in the expert settings, below."
|
876 |
+
msgstr ""
|
877 |
+
"Kattintson ide az UpdraftPlus könyvtárban lévő mentési szettek "
|
878 |
+
"megtekintéséhez, amit kézzel tölött fel. Ez a könyvtár alább Haladó "
|
879 |
+
"beállításokban állíható be."
|
880 |
+
|
881 |
+
#: updraftplus.php:2856
|
882 |
+
msgid "rescan folder for new backup sets"
|
883 |
+
msgstr "a könyvtár átnézése új mentési szettekért"
|
884 |
+
|
885 |
+
#: updraftplus.php:2857
|
886 |
+
msgid "Opera web browser"
|
887 |
+
msgstr "Opera böngésző"
|
888 |
+
|
889 |
+
#: updraftplus.php:2857
|
890 |
+
msgid "If you are using this, then turn Turbo/Road mode off."
|
891 |
+
msgstr "Ha ezt használja, kapcsolja ki a Turbo/Road módot."
|
892 |
+
|
893 |
+
#: updraftplus.php:2858
|
894 |
+
msgid "This is a count of the contents of your Updraft directory"
|
895 |
+
msgstr "Ez az Updraft könyvtár tartalmának mérete."
|
896 |
+
|
897 |
+
#: updraftplus.php:2858
|
898 |
+
msgid "Web-server disk space in use by UpdraftPlus"
|
899 |
+
msgstr "Az UpdraftPlus által használt webszerver lemezterület."
|
900 |
+
|
901 |
+
#: updraftplus.php:2858
|
902 |
+
msgid "refresh"
|
903 |
+
msgstr "frissítés"
|
904 |
+
|
905 |
+
#: updraftplus.php:2860
|
906 |
+
msgid "UpdraftPlus - Upload backup files"
|
907 |
+
msgstr "UpdraftPlus - Mentések feltöltése"
|
908 |
+
|
909 |
+
#: updraftplus.php:2861
|
910 |
+
msgid ""
|
911 |
+
"Upload files into UpdraftPlus. Use this to import backups made on a "
|
912 |
+
"different WordPress installation."
|
913 |
+
msgstr ""
|
914 |
+
"Töltse fel a fájlokat at UpdraftPlus-ba. Ezt más WordPress installációkon "
|
915 |
+
"készült mentések importálásához használja."
|
916 |
+
|
917 |
+
#: updraftplus.php:2865
|
918 |
+
msgid "Drop backup zips here"
|
919 |
+
msgstr "Húzza ide a mentések zip fájljait"
|
920 |
+
|
921 |
+
#: updraftplus.php:2879
|
922 |
+
msgid "calculating..."
|
923 |
+
msgstr "számítás..."
|
924 |
+
|
925 |
+
#: updraftplus.php:2948
|
926 |
+
msgid "Restore backup"
|
927 |
+
msgstr "Mentés visszaállítása"
|
928 |
+
|
929 |
+
#: updraftplus.php:2949
|
930 |
+
msgid "Restore backup from"
|
931 |
+
msgstr "Mentés visszaállítása innen:"
|
932 |
+
|
933 |
+
#: updraftplus.php:2950
|
934 |
+
msgid ""
|
935 |
+
"Restoring will replace this site's themes, plugins, uploads and/or other "
|
936 |
+
"content directories (according to what is contained in the backup set, and "
|
937 |
+
"your selection"
|
938 |
+
msgstr ""
|
939 |
+
"A visszaállítás felülírja a honlap témáját, bővítményeit, feltöltéseit és/"
|
940 |
+
"vagy más tartalmi könyvtárakat (a mentési szettben lévő tartalmak és a "
|
941 |
+
"választása szerint)"
|
942 |
+
|
943 |
+
#: updraftplus.php:2950
|
944 |
+
msgid "Choose the components to restore"
|
945 |
+
msgstr "Válassza ki a visszaálítandó összetevőket"
|
946 |
+
|
947 |
+
#: updraftplus.php:2961
|
948 |
+
msgid ""
|
949 |
+
"Databases cannot yet be restored from here - you must download the database "
|
950 |
+
"file and take it to your web hosting company's control panel."
|
951 |
+
msgstr ""
|
952 |
+
"Adatbázisok még nem állíthatóak vissza innen - le kell töltse az adatbázis "
|
953 |
+
"fájlt, és a tárhely szolgáltatójának vezérlőpultján kereszül állíthatja "
|
954 |
+
"vissza."
|
955 |
+
|
956 |
+
#: updraftplus.php:2966
|
957 |
+
msgid "Perform a backup now"
|
958 |
+
msgstr "Mentés készítése most"
|
959 |
+
|
960 |
+
#: updraftplus.php:2968
|
961 |
+
msgid ""
|
962 |
+
"This will schedule a one-time backup. To proceed, press 'Backup Now', then "
|
963 |
+
"wait 10 seconds, then visit any page on your site. WordPress should then "
|
964 |
+
"start the backup running in the background."
|
965 |
+
msgstr ""
|
966 |
+
"Ez egy egyszeri mentést fog beütemezni. A folytatáshoz kattintson a 'Mentés "
|
967 |
+
"most' gombra, majd várjon 10 másodpercet, aztán nézze meg a honlapjának "
|
968 |
+
"egyik oldalát. Akkor a WordPress elkezdi a mentést a háttérben."
|
969 |
+
|
970 |
+
#: updraftplus.php:2974
|
971 |
+
msgid "Does nothing happen when you schedule backups?"
|
972 |
+
msgstr "Semmi sem történt, a mentések beütemezése után?"
|
973 |
+
|
974 |
+
#: updraftplus.php:2974
|
975 |
+
msgid "Go here for help."
|
976 |
+
msgstr "Jöjjön ide segítségért."
|
977 |
+
|
978 |
+
#: updraftplus.php:2981
|
979 |
+
msgid "Multisite"
|
980 |
+
msgstr "Multisite"
|
981 |
+
|
982 |
+
#: updraftplus.php:2985
|
983 |
+
msgid "Do you need WordPress Multisite support?"
|
984 |
+
msgstr "Szüksége van WordPress Multisite támogatásra?"
|
985 |
+
|
986 |
+
#: updraftplus.php:2985
|
987 |
+
msgid ""
|
988 |
+
"Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
989 |
+
msgstr ""
|
990 |
+
"Kérem nézze meg az UpdraftPlus Premium-ot, vagy a Multisite kiterjesztést."
|
991 |
+
|
992 |
+
#: updraftplus.php:2990
|
993 |
+
msgid "Configure Backup Contents And Schedule"
|
994 |
+
msgstr "Mentendő tartalmak és ütemezések beállítása"
|
995 |
+
|
996 |
+
#: updraftplus.php:2996
|
997 |
+
msgid "Debug Information And Expert Options"
|
998 |
+
msgstr "Hibakeresési információk és Haladó beállítások"
|
999 |
+
|
1000 |
+
#: updraftplus.php:3001
|
1001 |
+
msgid "Peak memory usage"
|
1002 |
+
msgstr "Memória használati csúcsérték"
|
1003 |
+
|
1004 |
+
#: updraftplus.php:3002
|
1005 |
+
msgid "Current memory usage"
|
1006 |
+
msgstr "Pillanatnyi memória használat"
|
1007 |
+
|
1008 |
+
#: updraftplus.php:3003
|
1009 |
+
msgid "PHP memory limit"
|
1010 |
+
msgstr "PHP memória limit"
|
1011 |
+
|
1012 |
+
#: updraftplus.php:3006
|
1013 |
+
msgid ""
|
1014 |
+
"The buttons below will immediately execute a backup run, independently of "
|
1015 |
+
"WordPress's scheduler. If these work whilst your scheduled backups and the "
|
1016 |
+
"\"Backup Now\" button do absolutely nothing (i.e. not even produce a log "
|
1017 |
+
"file), then it means that your scheduler is broken. You should then disable "
|
1018 |
+
"all your other plugins, and try the \"Backup Now\" button. If that fails, "
|
1019 |
+
"then contact your web hosting company and ask them if they have disabled wp-"
|
1020 |
+
"cron. If it succeeds, then re-activate your other plugins one-by-one, and "
|
1021 |
+
"find the one that is the problem and report a bug to them."
|
1022 |
+
msgstr ""
|
1023 |
+
"Az alábbi gombok azonnal elindítanak egy mentést a WordPress ütemezésétől "
|
1024 |
+
"függetlenül. Ha ezek működnek, míg az ütemezett mentések és a \"Mentés most"
|
1025 |
+
"\" gomb semmit sem csinálnak (azaz még a log fájlt sem hozzák létre) az azt "
|
1026 |
+
"jelenti, hogy a WordPress ütemező sérült. Ilyenkor ki kell kapcsoljon minden "
|
1027 |
+
"más bővítményt, és megpróbálkozni a \"Mentés most\" gomb megnyomásával. Ha "
|
1028 |
+
"az nem indítja el a mentést, akkor a tárhely szolgáltatójától kérdezze meg, "
|
1029 |
+
"hogy kikapcsolták-e a wp-cron -t."
|
1030 |
+
|
1031 |
+
#: updraftplus.php:3010
|
1032 |
+
msgid "Debug Full Backup"
|
1033 |
+
msgstr "Hibakeresés a teljes mentésben"
|
1034 |
+
|
1035 |
+
#: updraftplus.php:3010
|
1036 |
+
msgid ""
|
1037 |
+
"This will cause an immediate backup. The page will stall loading until it "
|
1038 |
+
"finishes (ie, unscheduled)."
|
1039 |
+
msgstr ""
|
1040 |
+
"Ez azonnal elindít egy mentést. Az oldal betöltés fenn fog akadni (azaz ez "
|
1041 |
+
"nem ütemezett mentés)."
|
1042 |
+
|
1043 |
+
#: updraftplus.php:3014
|
1044 |
+
msgid "Debug Database Backup"
|
1045 |
+
msgstr "Hibakeresés az adatbázis mentésben"
|
1046 |
+
|
1047 |
+
#: updraftplus.php:3014
|
1048 |
+
msgid ""
|
1049 |
+
"This will cause an immediate DB backup. The page will stall loading until it "
|
1050 |
+
"finishes (ie, unscheduled). The backup may well run out of time; really this "
|
1051 |
+
"button is only helpful for checking that the backup is able to get through "
|
1052 |
+
"the initial stages, or for small WordPress sites.."
|
1053 |
+
msgstr ""
|
1054 |
+
"Ez azonnal elindít egy adatbázis mentést. Az oldal betöltés fenn fog akadni "
|
1055 |
+
"(azaz ez nem ütemezett mentés). A mentés nagyon kifuthat az időből, amilyen "
|
1056 |
+
"hosszan egy oldal betöltés engedélyezve van. Valóban ez a gomb csak abban "
|
1057 |
+
"segít, hogy a mentés túljut-e a kezdezi fázisokon, vagy kis WordPress "
|
1058 |
+
"honlapoknál."
|
1059 |
+
|
1060 |
+
#: updraftplus.php:3016
|
1061 |
+
msgid "Wipe Settings"
|
1062 |
+
msgstr "Beállítások kitörlése"
|
1063 |
+
|
1064 |
+
#: updraftplus.php:3017
|
1065 |
+
msgid ""
|
1066 |
+
"This button will delete all UpdraftPlus settings (but not any of your "
|
1067 |
+
"existing backups from your cloud storage). You will then need to enter all "
|
1068 |
+
"your settings again. You can also do this before deactivating/deinstalling "
|
1069 |
+
"UpdraftPlus if you wish."
|
1070 |
+
msgstr ""
|
1071 |
+
"Ez a gomb minden UpdraftPlus beállítást kitöröl (de egyet sem a távoli "
|
1072 |
+
"tárhelyeken lévő mentések közül). Ezután minden beállítást újra meg kell "
|
1073 |
+
"adjon. Ezt a UpdraftPlus bővítmény kikapcsolása/törlése előtt megteheti, ha "
|
1074 |
+
"kívánja."
|
1075 |
+
|
1076 |
+
#: updraftplus.php:3020
|
1077 |
+
msgid "Wipe All Settings"
|
1078 |
+
msgstr "Minden beállítás kitörlése"
|
1079 |
+
|
1080 |
+
#: updraftplus.php:3020
|
1081 |
+
msgid ""
|
1082 |
+
"This will delete all your UpdraftPlus settings - are you sure you want to do "
|
1083 |
+
"this?"
|
1084 |
+
msgstr "Ez minden UpdraftPlus beállítást kitöröl - biztos benne?"
|
1085 |
+
|
1086 |
+
#: updraftplus.php:3089
|
1087 |
+
msgid "Press here to download"
|
1088 |
+
msgstr "Kattintson ide letöltéshez"
|
1089 |
+
|
1090 |
+
#: updraftplus.php:3091
|
1091 |
+
#, php-format
|
1092 |
+
msgid "(No %s)"
|
1093 |
+
msgstr "(Nincs %s)"
|
1094 |
+
|
1095 |
+
#: updraftplus.php:3101
|
1096 |
+
msgid "Backup Log"
|
1097 |
+
msgstr "Mentési napló"
|
1098 |
+
|
1099 |
+
#: updraftplus.php:3109
|
1100 |
+
msgid ""
|
1101 |
+
"After pressing this button, you will be given the option to choose which "
|
1102 |
+
"components you wish to restore"
|
1103 |
+
msgstr ""
|
1104 |
+
"Miután rákattintott erre a gombra, választhat, hogy melyik összetevőt "
|
1105 |
+
"állítja vissza"
|
1106 |
+
|
1107 |
+
#: updraftplus.php:3134 updraftplus.php:3138
|
1108 |
+
msgid "Warning"
|
1109 |
+
msgstr "Figyelmeztetés"
|
1110 |
+
|
1111 |
+
#: updraftplus.php:3134
|
1112 |
+
#, php-format
|
1113 |
+
msgid ""
|
1114 |
+
"You have less than %s of free disk space on the disk which UpdraftPlus is "
|
1115 |
+
"configured to use to create backups. UpdraftPlus could well run out of "
|
1116 |
+
"space. Contact your the operator of your server (e.g. your web hosting "
|
1117 |
+
"company) to resolve this issue."
|
1118 |
+
msgstr ""
|
1119 |
+
"Kevesebb, mint %s szabad terület áll rendelkezésre a lemezen, ahol az "
|
1120 |
+
"UpdraftPlus be van állítva, hogy mentéseket készítsen. UpdraftPlus kifuthat "
|
1121 |
+
"az üres területből. Lépjen kapcsolatba a webszerver rendszergazdájával (pl. "
|
1122 |
+
"a tárhely szolgáltatójával), hogy megoldják ezt a problémát."
|
1123 |
+
|
1124 |
+
#: updraftplus.php:3138
|
1125 |
+
#, php-format
|
1126 |
+
msgid ""
|
1127 |
+
"UpdraftPlus does not officially support versions of WordPress before %s. It "
|
1128 |
+
"may work for you, but if it does not, then please be aware that no support "
|
1129 |
+
"is available until you upgrade WordPress."
|
1130 |
+
msgstr ""
|
1131 |
+
"UpdraftPlus nem támogatja a %s előtti WordPress veriókat. Talán működni fog, "
|
1132 |
+
"de ha nem, akkor kérjük vegye figyelembe, hogy nem kaphat támogatást, amíg "
|
1133 |
+
"nem frissíti a WordPress-t."
|
1134 |
+
|
1135 |
+
#: updraftplus.php:3142 updraftplus.php:3146 updraftplus.php:3150
|
1136 |
+
msgid "UpdraftPlus notice:"
|
1137 |
+
msgstr "UpdraftPlus értesítés:"
|
1138 |
+
|
1139 |
+
#: updraftplus.php:3142
|
1140 |
+
msgid "The log file could not be read."
|
1141 |
+
msgstr "A log fájlt nem lehet olvasni."
|
1142 |
+
|
1143 |
+
#: updraftplus.php:3146 updraftplus.php:3150
|
1144 |
+
#, php-format
|
1145 |
+
msgid ""
|
1146 |
+
"Click here to authenticate your %s account (you will not be able to back up "
|
1147 |
+
"to %s without it)."
|
1148 |
+
msgstr ""
|
1149 |
+
"Kattinton ide, hogy hitelesítse a %s fiókját (nem fog tudni menteni a %s "
|
1150 |
+
"fiókjába enélkül)."
|
1151 |
+
|
1152 |
+
#: updraftplus.php:3323
|
1153 |
+
msgid "Infinite recursion: consult your log for more information"
|
1154 |
+
msgstr "Végtelen rekurzió: nézze meg a naplót további információért"
|
1155 |
+
|
1156 |
+
#: includes/updraft-restorer.php:5
|
1157 |
+
msgid "Backup file not available."
|
1158 |
+
msgstr "A mentési fájl nem elérhető"
|
1159 |
+
|
1160 |
+
#: includes/updraft-restorer.php:6
|
1161 |
+
msgid "Unpacking backup..."
|
1162 |
+
msgstr "Mentés kicsomagolása..."
|
1163 |
+
|
1164 |
+
#: includes/updraft-restorer.php:7
|
1165 |
+
msgid "Moving old directory out of the way..."
|
1166 |
+
msgstr "Régi könyvtárak félre rakása..."
|
1167 |
+
|
1168 |
+
#: includes/updraft-restorer.php:8
|
1169 |
+
msgid "Moving unpacked backup in place..."
|
1170 |
+
msgstr "Kicsomagolatlan mentés helyére mozgatása..."
|
1171 |
+
|
1172 |
+
#: includes/updraft-restorer.php:9
|
1173 |
+
msgid "Cleaning up rubbish..."
|
1174 |
+
msgstr "Szemét eltakarítása..."
|
1175 |
+
|
1176 |
+
#: includes/updraft-restorer.php:10
|
1177 |
+
msgid ""
|
1178 |
+
"Could not move old directory out of the way. Perhaps you already have -old "
|
1179 |
+
"directories that need deleting first?"
|
1180 |
+
msgstr ""
|
1181 |
+
"Nem sikerült a régi könyvtárakat félre rakni. Talán már létezik könyvtár -"
|
1182 |
+
"old utótaggal, ami először ki kéne törölni?"
|
1183 |
+
|
1184 |
+
#: includes/updraft-restorer.php:11
|
1185 |
+
msgid ""
|
1186 |
+
"Could not move new directory into place. Check your wp-content/upgrade "
|
1187 |
+
"folder."
|
1188 |
+
msgstr ""
|
1189 |
+
"Nem sikerült az új könyvtárat a helyére rakni. Ellenőrizze a wp-content/"
|
1190 |
+
"upgrade könyvtárat."
|
1191 |
+
|
1192 |
+
#: includes/updraft-restorer.php:12
|
1193 |
+
msgid "Failed to delete working directory after restoring."
|
1194 |
+
msgstr "Nem sikerült a munkakönyvtárat kitörölni visszaállítás után."
|
1195 |
+
|
1196 |
+
#: includes/updraft-restorer.php:34
|
1197 |
+
msgid ""
|
1198 |
+
"Will not delete the archive after unpacking it, because there was no cloud "
|
1199 |
+
"storage for this backup"
|
1200 |
+
msgstr ""
|
1201 |
+
"A zip fájl nem került törlésre kicsomagolás után, mert nincs távoli "
|
1202 |
+
"tárhelyen."
|
1203 |
+
|
1204 |
+
#: methods/webdav.php:13 methods/webdav.php:34 methods/webdav.php:50
|
1205 |
+
#: methods/sftp.php:13 methods/sftp.php:34 methods/sftp.php:50
|
1206 |
+
#, php-format
|
1207 |
+
msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s"
|
1208 |
+
msgstr ""
|
1209 |
+
"Nincs installálva az UpdraftPlus %s kiterjesztés - szerezze be innen: %s"
|
1210 |
+
|
1211 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
1212 |
+
#, php-format
|
1213 |
+
msgid "%s support is available as an add-on"
|
1214 |
+
msgstr "%s támogatás elérhető mint kiterjesztés"
|
1215 |
+
|
1216 |
+
#: methods/webdav.php:63 methods/sftp.php:63
|
1217 |
+
msgid "follow this link to get it"
|
1218 |
+
msgstr "kattintson erre a hivatkozásra a beszerzéshez"
|
1219 |
+
|
1220 |
+
#: methods/googledrive.php:94 methods/s3.php:326 methods/dropbox.php:293
|
1221 |
+
#: addons/webdav.php:292
|
1222 |
+
msgid "Success"
|
1223 |
+
msgstr "Siker"
|
1224 |
+
|
1225 |
+
#: methods/googledrive.php:94 methods/dropbox.php:293
|
1226 |
+
#, php-format
|
1227 |
+
msgid "you have authenticated your %s account"
|
1228 |
+
msgstr "sikeresen hitelesítette %s fiókját"
|
1229 |
+
|
1230 |
+
#: methods/googledrive.php:94 methods/googledrive.php:325
|
1231 |
+
#: methods/googledrive.php:327 methods/googledrive.php:345
|
1232 |
+
#: methods/googledrive.php:349 methods/googledrive.php:353
|
1233 |
+
msgid "Google Drive"
|
1234 |
+
msgstr "Google Drive"
|
1235 |
+
|
1236 |
+
#: methods/googledrive.php:98
|
1237 |
+
msgid ""
|
1238 |
+
"No refresh token was received from Google. This often means that you entered "
|
1239 |
+
"your client secret wrongly, or that you have not yet re-authenticated "
|
1240 |
+
"(below) since correcting it. Re-check it, then follow the link to "
|
1241 |
+
"authenticate again. Finally, if that does not work, then use expert mode to "
|
1242 |
+
"wipe all your settings, create a new Google client ID/secret, and start "
|
1243 |
+
"again."
|
1244 |
+
msgstr ""
|
1245 |
+
"Nem jött frissítő token (vezérjel) a Google-től. Ez gyakran azt jelenti, "
|
1246 |
+
"hogy kliens titkos kulcsot helytelenül írta be, vagy még nem hitelesítette "
|
1247 |
+
"újra (alul) mióta helyesbítette. Ellenőrizze újra, aztán kattintson a "
|
1248 |
+
"hivatkozásra az újra hitelesítéshez. Végül, ha az nem múködik, a Haladó mód "
|
1249 |
+
"bekapcsolása után kattintson a Minden beállítás kitörlése gombra, és kérjen "
|
1250 |
+
"egy úgy Google kliens ID-t, titkos kulcsot."
|
1251 |
+
|
1252 |
+
#: methods/googledrive.php:103
|
1253 |
+
msgid "Authorization failed"
|
1254 |
+
msgstr "Hitelesítési hiba"
|
1255 |
+
|
1256 |
+
#: methods/googledrive.php:117
|
1257 |
+
msgid ""
|
1258 |
+
"Have not yet obtained an access token from Google - you need to authorise or "
|
1259 |
+
"re-authorise your connection to Google Drive."
|
1260 |
+
msgstr ""
|
1261 |
+
"Még nem szerzett be hozzáférési token-t (vezérlőjelet) a Google-től - "
|
1262 |
+
"hitelesítenie vagy újra hitelesítenie kell a kapcsolatát a Google Drive-val."
|
1263 |
+
|
1264 |
+
#: methods/googledrive.php:118 methods/googledrive.php:254
|
1265 |
+
msgid ""
|
1266 |
+
"Have not yet obtained an access token from Google (has the user authorised?)"
|
1267 |
+
msgstr ""
|
1268 |
+
"Még nem szerzett be hozzáférési tokent-t (vezérlőjelet) a Google-től "
|
1269 |
+
"(hitelesített a felhasználó?)"
|
1270 |
+
|
1271 |
+
#: methods/googledrive.php:135 addons/webdav.php:57
|
1272 |
+
#, php-format
|
1273 |
+
msgid "Failed to upload to %s"
|
1274 |
+
msgstr "Nem sikerült a feltöltés ide: %s"
|
1275 |
+
|
1276 |
+
#: methods/googledrive.php:189 addons/webdav.php:57
|
1277 |
+
msgid "Error"
|
1278 |
+
msgstr "Hiba"
|
1279 |
+
|
1280 |
+
#: methods/googledrive.php:225
|
1281 |
+
msgid "An error occurred during GoogleDrive upload (see log for more details)"
|
1282 |
+
msgstr ""
|
1283 |
+
"Hiba törént a Google Drive-ra való feltöltés közben (nézze meg a naplót több "
|
1284 |
+
"részletért)"
|
1285 |
+
|
1286 |
+
#: methods/googledrive.php:266
|
1287 |
+
#, php-format
|
1288 |
+
msgid ""
|
1289 |
+
"Google Drive error: %d: could not download: could not find a record of the "
|
1290 |
+
"Google Drive file ID for this file"
|
1291 |
+
msgstr ""
|
1292 |
+
"Google Drive hiba: %d: nem sikerült a letöltés: nem található Google Drive "
|
1293 |
+
"fájl azonosító bejegyzés ehhez a fájlhoz"
|
1294 |
+
|
1295 |
+
#: methods/googledrive.php:271
|
1296 |
+
#, php-format
|
1297 |
+
msgid "Could not find %s in order to download it"
|
1298 |
+
msgstr "Nem található %s letöltés céljából"
|
1299 |
+
|
1300 |
+
#: methods/googledrive.php:283
|
1301 |
+
msgid "Google Drive "
|
1302 |
+
msgstr "Google Drive"
|
1303 |
+
|
1304 |
+
#: methods/googledrive.php:283
|
1305 |
+
msgid "error: zero-size file was downloaded"
|
1306 |
+
msgstr "hiba: nulla méretű fájl lett letöltve"
|
1307 |
+
|
1308 |
+
#: methods/googledrive.php:301
|
1309 |
+
msgid "Account is not authorized."
|
1310 |
+
msgstr "A fiók nincs hitelesítve."
|
1311 |
+
|
1312 |
+
#: methods/googledrive.php:328 methods/s3.php:246 methods/dropbox.php:217
|
1313 |
+
#: methods/ftp.php:109 addons/webdav.php:231
|
1314 |
+
#, php-format
|
1315 |
+
msgid ""
|
1316 |
+
"%s is a great choice, because UpdraftPlus supports chunked uploads - no "
|
1317 |
+
"matter how big your blog is, UpdraftPlus can upload it a little at a time, "
|
1318 |
+
"and not get thwarted by timeouts."
|
1319 |
+
msgstr ""
|
1320 |
+
"%s egy jó választás, mert az UpdraftPlus támogatja a darabolt feltöltést - "
|
1321 |
+
"nem baj milyen nagy a honlapja, az UpdraftPlus fel tudja tölteni kis "
|
1322 |
+
"darabokban, nem akadályozza meg az időtúllépés."
|
1323 |
+
|
1324 |
+
#: methods/googledrive.php:334
|
1325 |
+
msgid ""
|
1326 |
+
"For longer help, including screenshots, follow this link. The description "
|
1327 |
+
"below is sufficient for more expert users."
|
1328 |
+
msgstr ""
|
1329 |
+
"Bővebb segítségért képernyőképeket beleértve kattintson erre a hivatkozásra. "
|
1330 |
+
"Az alább található leírás elegendő a haladó felhasználóknak."
|
1331 |
+
|
1332 |
+
#: methods/googledrive.php:335
|
1333 |
+
msgid ""
|
1334 |
+
"Follow this link to your Google API Console, and there create a Client ID in "
|
1335 |
+
"the API Access section."
|
1336 |
+
msgstr ""
|
1337 |
+
"Kattintson erre a hivetkozásra a Google API Console-hoz, ott kérjen egy "
|
1338 |
+
"kliens ID-t az API Access részben."
|
1339 |
+
|
1340 |
+
#: methods/googledrive.php:335
|
1341 |
+
msgid "Select 'Web Application' as the application type."
|
1342 |
+
msgstr "Válassza azt, hogy 'Web Application' mint alkalmazás típus."
|
1343 |
+
|
1344 |
+
#: methods/googledrive.php:335
|
1345 |
+
msgid ""
|
1346 |
+
"You must add the following as the authorised redirect URI (under \"More "
|
1347 |
+
"Options\") when asked"
|
1348 |
+
msgstr ""
|
1349 |
+
"A következő webcímet adja meg mint hitelesített átirányítási URI-t, amikor "
|
1350 |
+
"(a \"More Options\" résznél) kérik."
|
1351 |
+
|
1352 |
+
#: methods/googledrive.php:335
|
1353 |
+
msgid ""
|
1354 |
+
"N.B. If you install UpdraftPlus on several WordPress sites, then you cannot "
|
1355 |
+
"re-use your client ID; you must create a new one from your Google API "
|
1356 |
+
"console for each blog."
|
1357 |
+
msgstr ""
|
1358 |
+
"N.B. Ha több WordPress honlapra installálja az UpdraftPlus-t, akkor nem "
|
1359 |
+
"adhatja meg mindenhol ugyanazt a kliens ID-t; mindegyikhez újabbat kell "
|
1360 |
+
"kérjen a Google API Console-on."
|
1361 |
+
|
1362 |
+
#: methods/googledrive.php:338
|
1363 |
+
msgid ""
|
1364 |
+
"You do not have the SimpleXMLElement installed. Google Drive backups will "
|
1365 |
+
"<b>not</b> work until you do."
|
1366 |
+
msgstr ""
|
1367 |
+
"Nincs SimpleXMLElement PHP osztálya. A Google Drive mentés <strong>nem</"
|
1368 |
+
"strong> fog működni."
|
1369 |
+
|
1370 |
+
#: methods/googledrive.php:345
|
1371 |
+
msgid "Client ID"
|
1372 |
+
msgstr "kliens ID"
|
1373 |
+
|
1374 |
+
#: methods/googledrive.php:346
|
1375 |
+
msgid ""
|
1376 |
+
"If Google later shows you the message \"invalid_client\", then you did not "
|
1377 |
+
"enter a valid client ID here."
|
1378 |
+
msgstr ""
|
1379 |
+
"Ha a Google az üzeni, hogy \"invalid_client\", akkor helytelen kliens ID-t "
|
1380 |
+
"adott meg itt."
|
1381 |
+
|
1382 |
+
#: methods/googledrive.php:349
|
1383 |
+
msgid "Client Secret"
|
1384 |
+
msgstr "kliens titkos kulcs"
|
1385 |
+
|
1386 |
+
#: methods/googledrive.php:353
|
1387 |
+
msgid "Folder ID"
|
1388 |
+
msgstr "Mappa ID"
|
1389 |
+
|
1390 |
+
#: methods/googledrive.php:354
|
1391 |
+
msgid ""
|
1392 |
+
"<strong>This is NOT a folder name</strong>. To get a folder's ID navigate to "
|
1393 |
+
"that folder in Google Drive in your web browser and copy the ID from your "
|
1394 |
+
"browser's address bar. It is the part that comes after <kbd>#folders/.</kbd> "
|
1395 |
+
"Leave empty to use your root folder)"
|
1396 |
+
msgstr ""
|
1397 |
+
"<strong>Ez nem egy mapp név</strong>. A mappa ID beszerzéséhez menjen a "
|
1398 |
+
"böngészőjében abba a mappába a Google Drive-ban, és a böngésző címsorából "
|
1399 |
+
"másolja ki a mappa ID részt. A címben a <kbd>#folders/</kbd> rész után jön. "
|
1400 |
+
"Hagyja üresen, ha a gyökér könyvtárat kívánja használni."
|
1401 |
+
|
1402 |
+
#: methods/googledrive.php:357
|
1403 |
+
msgid "Authenticate with Google"
|
1404 |
+
msgstr "Hitelesítés a Google-lel"
|
1405 |
+
|
1406 |
+
#: methods/googledrive.php:358
|
1407 |
+
msgid ""
|
1408 |
+
"<strong>After</strong> you have saved your settings (by clicking 'Save "
|
1409 |
+
"Changes' below), then come back here once and click this link to complete "
|
1410 |
+
"authentication with Google."
|
1411 |
+
msgstr ""
|
1412 |
+
"<strong>Miután</strong> elmentette a beállításokat (a 'Változások mentése'-"
|
1413 |
+
"re való kattintással), jöjjön vissza ide, és kattintson a hivatkozásra a "
|
1414 |
+
"Google-lel való hitelesítéshez."
|
1415 |
+
|
1416 |
+
#: methods/email.php:15
|
1417 |
+
msgid "WordPress Backup"
|
1418 |
+
msgstr "WordPress mentés"
|
1419 |
+
|
1420 |
+
#: methods/email.php:15
|
1421 |
+
msgid "Backup is of:"
|
1422 |
+
msgstr "Mentés erről:"
|
1423 |
+
|
1424 |
+
#: methods/email.php:15
|
1425 |
+
msgid ""
|
1426 |
+
"Be wary; email backups may fail because of file size limitations on mail "
|
1427 |
+
"servers."
|
1428 |
+
msgstr ""
|
1429 |
+
"Legyen óvatos! Az e-mailes mentések sikertelenek lehetnek a levélfiók méret "
|
1430 |
+
"korlátozása miatt."
|
1431 |
+
|
1432 |
+
#: methods/email.php:24
|
1433 |
+
msgid "Note:"
|
1434 |
+
msgstr "Jegyzet:"
|
1435 |
+
|
1436 |
+
#: methods/email.php:25
|
1437 |
+
msgid ""
|
1438 |
+
"The email address entered above will be used. If choosing \"E-Mail\", then "
|
1439 |
+
"<strong>be aware</strong> that mail servers tend to have size limits; "
|
1440 |
+
"typically around 10-20Mb; backups larger than any limits will not arrive. If "
|
1441 |
+
"you really need a large backup via email, then you could fund a new feature "
|
1442 |
+
"(to break the backup set into configurable-size pieces) - but the demand has "
|
1443 |
+
"not yet existed for such a feature."
|
1444 |
+
msgstr ""
|
1445 |
+
"A fent megadott e-mail címet fogjuk használni. Ha az \"E-mail\"-t "
|
1446 |
+
"válaszotta, <strong>legyen tudatában annak</strong>, hogy levélszervereknek "
|
1447 |
+
"méret korlátozásai vannak, jellemzően 10-20MB, ez ennél a korlátnál nagyobb "
|
1448 |
+
"mentések nem fognak megérkezni. Ha tényleg szüksége van ilyen funkcióra, "
|
1449 |
+
"akkor pénzzel támogathatja ezt (a túl nagy e-mailek beállítható méretű "
|
1450 |
+
"darabokra tördelését) - de eddig még nem jelentkezett igény ilyenre."
|
1451 |
+
|
1452 |
+
#: methods/s3.php:77
|
1453 |
+
#, php-format
|
1454 |
+
msgid "%s Error: Failed to upload"
|
1455 |
+
msgstr "%s hiba: Nem sikerült feltölteni"
|
1456 |
+
|
1457 |
+
#: methods/s3.php:98
|
1458 |
+
msgid ""
|
1459 |
+
"S3 upload: getting uploadID for multipart upload failed - see log file for "
|
1460 |
+
"more details"
|
1461 |
+
msgstr ""
|
1462 |
+
"S3 feltöltéls: nem sikerült az uploadID beszerzése több darabos feltöltéshez "
|
1463 |
+
"- nézze meg a log fájlt további részletekért"
|
1464 |
+
|
1465 |
+
#: methods/s3.php:130
|
1466 |
+
#, php-format
|
1467 |
+
msgid "S3 chunk %s: upload failed"
|
1468 |
+
msgstr "S3 darab %s: nem sikerült a feltöltés"
|
1469 |
+
|
1470 |
+
#: methods/s3.php:144
|
1471 |
+
#, php-format
|
1472 |
+
msgid "S3 upload (%s): re-assembly failed (see log for more details)"
|
1473 |
+
msgstr ""
|
1474 |
+
"S3 feltöltés (%s): a darabok összeállítása nem sikerült (nézze meg a log "
|
1475 |
+
"fájlt további részletekért)"
|
1476 |
+
|
1477 |
+
#: methods/s3.php:148
|
1478 |
+
#, php-format
|
1479 |
+
msgid "S3 re-assembly error (%s): (see log file for more)"
|
1480 |
+
msgstr ""
|
1481 |
+
"S3 darabok összeállítása hiba (%s): (nézze meg a log fájlt további "
|
1482 |
+
"részletekért)"
|
1483 |
+
|
1484 |
+
#: methods/s3.php:160
|
1485 |
+
#, php-format
|
1486 |
+
msgid ""
|
1487 |
+
"S3 Error: Failed to create bucket %s. Check your permissions and credentials."
|
1488 |
+
msgstr ""
|
1489 |
+
"S3 hiba: Nem sikerült létrehozni a %s bucket-et (csoportot). Ellenőrizze a "
|
1490 |
+
"jogokat és a hitelesítési információkat."
|
1491 |
+
|
1492 |
+
#: methods/s3.php:213
|
1493 |
+
#, php-format
|
1494 |
+
msgid ""
|
1495 |
+
"S3 Error: Failed to download %s. Check your permissions and credentials."
|
1496 |
+
msgstr ""
|
1497 |
+
"S3 hiba: Nem sikerült letölteni ezt: %s. Ellenőrizze a jogokat és a "
|
1498 |
+
"hitelesítési információkat."
|
1499 |
+
|
1500 |
+
#: methods/s3.php:217
|
1501 |
+
#, php-format
|
1502 |
+
msgid ""
|
1503 |
+
"S3 Error: Failed to access bucket %s. Check your permissions and credentials."
|
1504 |
+
msgstr ""
|
1505 |
+
"S3 hiba: Nem sikerült hozzáférni a %s bucket-hez (csoporthoz). Ellenőrizze a "
|
1506 |
+
"jogokat és a hitelesítési információkat."
|
1507 |
+
|
1508 |
+
#: methods/s3.php:251
|
1509 |
+
msgid ""
|
1510 |
+
"Get your access key and secret key <a href=\"http://aws.amazon.com/console/"
|
1511 |
+
"\">from your AWS console</a>, then pick a (globally unique - all Amazon S3 "
|
1512 |
+
"users) bucket name (letters and numbers) (and optionally a path) to use for "
|
1513 |
+
"storage. This bucket will be created for you if it does not already exist."
|
1514 |
+
msgstr ""
|
1515 |
+
"Szerezze be a hozzáférési kulcsot és titkos kulcsot (access key and secret "
|
1516 |
+
"key) a <a href=\"http://aws.amazon.com/console/\">AWS konzolról</a>, azután "
|
1517 |
+
"válasszon egy (teljesen egyedi - minden Amazon S3 felhasználó tekintetében) "
|
1518 |
+
"bucket (csoport) nevet (betűk és számok) (és opcionálisan egy elérési út), "
|
1519 |
+
"amelyet a tárolásához használ. A bucket (csoport) létre fog jönni, ha még "
|
1520 |
+
"nem létezett."
|
1521 |
+
|
1522 |
+
#: methods/s3.php:254
|
1523 |
+
msgid "S3 access key"
|
1524 |
+
msgstr "S3 hozzáférési kulcs (access key)"
|
1525 |
+
|
1526 |
+
#: methods/s3.php:258
|
1527 |
+
msgid "S3 secret key"
|
1528 |
+
msgstr "S3 titkos kulcs (secret key)"
|
1529 |
+
|
1530 |
+
#: methods/s3.php:262
|
1531 |
+
msgid "S3 location"
|
1532 |
+
msgstr "S3 hely"
|
1533 |
+
|
1534 |
+
#: methods/s3.php:267 methods/ftp.php:135 addons/webdav.php:244
|
1535 |
+
#, php-format
|
1536 |
+
msgid "Test %s Settings"
|
1537 |
+
msgstr "Próba beállítás %s"
|
1538 |
+
|
1539 |
+
#: methods/s3.php:275 methods/s3.php:279 methods/ftp.php:152
|
1540 |
+
#: methods/ftp.php:156 addons/webdav.php:272
|
1541 |
+
#, php-format
|
1542 |
+
msgid "Failure: No %s was given."
|
1543 |
+
msgstr "Hiba: Nincs %s megadva"
|
1544 |
+
|
1545 |
+
#: methods/s3.php:275
|
1546 |
+
msgid "API key"
|
1547 |
+
msgstr "API kulcs"
|
1548 |
+
|
1549 |
+
#: methods/s3.php:279
|
1550 |
+
msgid "API secret"
|
1551 |
+
msgstr "API titkos kulcs (secret)"
|
1552 |
+
|
1553 |
+
#: methods/s3.php:296
|
1554 |
+
msgid "Failure: No bucket details were given."
|
1555 |
+
msgstr "Hiba: Nem adott meg bucket (csoport) részleteket"
|
1556 |
+
|
1557 |
+
#: methods/s3.php:306
|
1558 |
+
msgid "Amazon region"
|
1559 |
+
msgstr "Amazon régió"
|
1560 |
+
|
1561 |
+
#: methods/s3.php:316
|
1562 |
+
msgid ""
|
1563 |
+
"Failure: We could not successfully access or create such a bucket. Please "
|
1564 |
+
"check your access credentials, and if those are correct then try another "
|
1565 |
+
"bucket name (as another S3 user may already have taken your name)."
|
1566 |
+
msgstr ""
|
1567 |
+
"Hiba: Nem tudtunk hozzáférni vagy nem tudtuk létrehozni a bucket-et "
|
1568 |
+
"(csoportot). Kérem ellenőrizze a hitelesítési információkat, és ha az "
|
1569 |
+
"helyes, akkor prbálkozzon meg egy másik bucket (csoport) névvel (mivel "
|
1570 |
+
"lehetsége, hogy egy másik S3 felhasználónak már lefoglalta a nevét)."
|
1571 |
+
|
1572 |
+
#: methods/s3.php:324
|
1573 |
+
msgid "Failure"
|
1574 |
+
msgstr "Hiba"
|
1575 |
+
|
1576 |
+
#: methods/s3.php:324
|
1577 |
+
msgid ""
|
1578 |
+
"We successfully accessed the bucket, but the attempt to create a file in it "
|
1579 |
+
"failed."
|
1580 |
+
msgstr ""
|
1581 |
+
"Sikerült hozzáférni a bucket-hez (csoporthoz), de a fájl létrehozási "
|
1582 |
+
"kísérlet meghiúsult."
|
1583 |
+
|
1584 |
+
#: methods/s3.php:326
|
1585 |
+
msgid "We accessed the bucket, and were able to create files within it."
|
1586 |
+
msgstr ""
|
1587 |
+
"Sikerült hozzáférni a bucket-hez (csoporthoz), és létrehozni fájlokat benne."
|
1588 |
+
|
1589 |
+
#: methods/dropbox.php:35 methods/dropbox.php:167
|
1590 |
+
msgid "You do not appear to be authenticated with Dropbox"
|
1591 |
+
msgstr "Úgy tűnik, nem hitelesített a Dropbox-szal."
|
1592 |
+
|
1593 |
+
#: methods/dropbox.php:46
|
1594 |
+
#, php-format
|
1595 |
+
msgid "error: %s (see log file for more)"
|
1596 |
+
msgstr "hiba: %s (nézze meg a naplót a továbbiakért)"
|
1597 |
+
|
1598 |
+
#: methods/dropbox.php:98 methods/dropbox.php:103
|
1599 |
+
#, php-format
|
1600 |
+
msgid "error: failed to upload file to %s (see log file for more)"
|
1601 |
+
msgstr ""
|
1602 |
+
"hiba: nem sikerült feltölteni a fájlt ide: %s (nézze meg a naplót a "
|
1603 |
+
"továbbiakért)"
|
1604 |
+
|
1605 |
+
#: methods/dropbox.php:223
|
1606 |
+
msgid "Need to use sub-folders?"
|
1607 |
+
msgstr "Almappákat kíván használni?"
|
1608 |
+
|
1609 |
+
#: methods/dropbox.php:223
|
1610 |
+
msgid "Backups are saved in"
|
1611 |
+
msgstr "A mentések ide kerültek:"
|
1612 |
+
|
1613 |
+
#: methods/dropbox.php:223
|
1614 |
+
msgid ""
|
1615 |
+
"If you back up several sites into the same Dropbox and want to organise with "
|
1616 |
+
"sub-folders, then "
|
1617 |
+
msgstr ""
|
1618 |
+
"Ha több WordPress honlapot mentene ugyanabba a Dropbox-ba, és almappákba "
|
1619 |
+
"kívánja szervezni azokat,"
|
1620 |
+
|
1621 |
+
#: methods/dropbox.php:223
|
1622 |
+
msgid "there's an add-on for that."
|
1623 |
+
msgstr "van rá kiterjesztés."
|
1624 |
+
|
1625 |
+
#: methods/dropbox.php:228
|
1626 |
+
msgid "Authenticate with Dropbox"
|
1627 |
+
msgstr "Hitelesítés Dropbox-szal"
|
1628 |
+
|
1629 |
+
#: methods/dropbox.php:229
|
1630 |
+
msgid ""
|
1631 |
+
"<strong>After</strong> you have saved your settings (by clicking 'Save "
|
1632 |
+
"Changes' below), then come back here once and click this link to complete "
|
1633 |
+
"authentication with Dropbox."
|
1634 |
+
msgstr ""
|
1635 |
+
"<strong>Miután</strong> elmentette a beállításokat (a 'Változások mentése'-"
|
1636 |
+
"re kattintással), jöjjön vissza ide és kattintson erre a hivatkozásra a "
|
1637 |
+
"Dropbox-szal való hitelesítésért."
|
1638 |
+
|
1639 |
+
#: methods/dropbox.php:240
|
1640 |
+
msgid ""
|
1641 |
+
"Your web server's PHP installation does not included a required module "
|
1642 |
+
"(MCrypt). Please contact your web hosting provider's support. UpdraftPlus's "
|
1643 |
+
"Dropbox module <strong>requires</strong> MCrypt. Please do not file any "
|
1644 |
+
"support requests; there is no alternative."
|
1645 |
+
msgstr ""
|
1646 |
+
"A webszerver PHP isntallációja nem tartalmazza a szükséges modult (MCrypt). "
|
1647 |
+
"Kérem lépjen kacsolatba a tárhely szolgáltatójával. Az UpdraftPlus Dropbox "
|
1648 |
+
"moduljához <strong>szükséges</strong> az MCrypt. Kérem ne kérjen segítséget, "
|
1649 |
+
"nincs más alternatíva."
|
1650 |
+
|
1651 |
+
#: methods/dropbox.php:243
|
1652 |
+
msgid ""
|
1653 |
+
"Your web server's PHP installation does not included a required module "
|
1654 |
+
"(Curl). Please contact your web hosting provider's support. UpdraftPlus's "
|
1655 |
+
"Dropbox module <strong>requires</strong> Curl. Your only options to get this "
|
1656 |
+
"working are 1) Install/enable curl or 2) Hire us or someone else to code "
|
1657 |
+
"additional support options into UpdraftPlus. 3) Wait, possibly forever, for "
|
1658 |
+
"someone else to do this."
|
1659 |
+
msgstr ""
|
1660 |
+
"A webszerver PHP isntallációja nem tartalmazza a szükséges modult (Curl). "
|
1661 |
+
"Kérem lépjen kacsolatba a tárhely szolgáltatójával. Az UpdraftPlus Dropbox "
|
1662 |
+
"moduljához <strong>szükséges</strong> a Curl. A következő közül választhat: "
|
1663 |
+
"1) Installálja/engedélyezze a curl-t vagy 2) Bízzon meg valakit, hogy "
|
1664 |
+
"fejlesszen ki újabb lehetőséget az UpdraftPlus-ba. 3) Várjon, talán örökké, "
|
1665 |
+
"valaki másra, hogy ezt megtegye."
|
1666 |
+
|
1667 |
+
#: methods/dropbox.php:296
|
1668 |
+
msgid ""
|
1669 |
+
"though part of the returned information was not as expected - your mileage "
|
1670 |
+
"may vary"
|
1671 |
+
msgstr ""
|
1672 |
+
"bár a visszakapott információ egy része nem a vártnak megfelelő - "
|
1673 |
+
"sokmindentől függ"
|
1674 |
+
|
1675 |
+
#: methods/dropbox.php:299
|
1676 |
+
#, php-format
|
1677 |
+
msgid "Your %s account name"
|
1678 |
+
msgstr "A %s fiókjának a neve"
|
1679 |
+
|
1680 |
+
#: methods/ftp.php:19 methods/ftp.php:66
|
1681 |
+
msgid "FTP login failure"
|
1682 |
+
msgstr "Nem sikerült az FTP belépés"
|
1683 |
+
|
1684 |
+
#: methods/ftp.php:38
|
1685 |
+
msgid "FTP upload failed"
|
1686 |
+
msgstr "Nem sikerült az FTP fájl feltöltés"
|
1687 |
+
|
1688 |
+
#: methods/ftp.php:98
|
1689 |
+
msgid "Settings test result"
|
1690 |
+
msgstr "Beállítás teszt eredmény"
|
1691 |
+
|
1692 |
+
#: methods/ftp.php:114
|
1693 |
+
msgid "Only non-encrypted FTP is supported by regular UpdraftPlus."
|
1694 |
+
msgstr "Csak a nem titkosított FTP-t támogatja az UpdraftPlus."
|
1695 |
+
|
1696 |
+
#: methods/ftp.php:114
|
1697 |
+
msgid ""
|
1698 |
+
"If you want encryption (e.g. you are storing sensitive business data), then "
|
1699 |
+
"an add-on is available."
|
1700 |
+
msgstr ""
|
1701 |
+
"Ha titkosítást kíván alkalmazni (pl. érzékeny üzleti adatokat tárol), "
|
1702 |
+
"elérhető egy kiterjesztés."
|
1703 |
+
|
1704 |
+
#: methods/ftp.php:118
|
1705 |
+
msgid "FTP Server"
|
1706 |
+
msgstr "FTP szerver"
|
1707 |
+
|
1708 |
+
#: methods/ftp.php:122
|
1709 |
+
msgid "FTP Login"
|
1710 |
+
msgstr "FTP felhasználónév"
|
1711 |
+
|
1712 |
+
#: methods/ftp.php:126
|
1713 |
+
msgid "FTP Password"
|
1714 |
+
msgstr "FTP jelszó"
|
1715 |
+
|
1716 |
+
#: methods/ftp.php:130
|
1717 |
+
msgid "Remote Path"
|
1718 |
+
msgstr "távoli elérési út"
|
1719 |
+
|
1720 |
+
#: methods/ftp.php:131
|
1721 |
+
msgid "Needs to already exist"
|
1722 |
+
msgstr "Szükséges, hogy már létezzen"
|
1723 |
+
|
1724 |
+
#: methods/ftp.php:148
|
1725 |
+
msgid "Failure: No server details were given."
|
1726 |
+
msgstr "Hiba: Nem adta meg a szerver adatokat."
|
1727 |
+
|
1728 |
+
#: methods/ftp.php:167
|
1729 |
+
msgid "Failure: we did not successfully log in with those credentials."
|
1730 |
+
msgstr "Hiba: Nem sikerült belépni a megadott hitelesítési információkkal."
|
1731 |
+
|
1732 |
+
#: methods/ftp.php:175
|
1733 |
+
msgid ""
|
1734 |
+
"Failure: an unexpected internal UpdraftPlus error occurred when testing the "
|
1735 |
+
"credentials - please contact the developer"
|
1736 |
+
msgstr ""
|
1737 |
+
"Hiba: Váratlan belső hiba történt az UpdraftPlus-ban a hitelesítési "
|
1738 |
+
"információk kipróbálása közben - kérem lépjen kapcsolatba a fejlesztővel"
|
1739 |
+
|
1740 |
+
#: methods/ftp.php:179
|
1741 |
+
msgid ""
|
1742 |
+
"Success: we successfully logged in, and confirmed our ability to create a "
|
1743 |
+
"file in the given directory (login type:"
|
1744 |
+
msgstr ""
|
1745 |
+
"Siker: Sikerült belépni, és megerősítést nyert, hogy létre tudunk hozni "
|
1746 |
+
"fájlt a megadott könyvtárban (hozzáférés típusa:"
|
1747 |
+
|
1748 |
+
#: methods/ftp.php:182
|
1749 |
+
msgid ""
|
1750 |
+
"Failure: we successfully logged in, but were not able to create a file in "
|
1751 |
+
"the given directory."
|
1752 |
+
msgstr ""
|
1753 |
+
"Hiba: Bár sikerült belépni, de nem sikerült fájlt létrehozni a megadott "
|
1754 |
+
"könyvtárban."
|
1755 |
+
|
1756 |
+
#: addons/webdav.php:40 addons/webdav.php:170
|
1757 |
+
#, php-format
|
1758 |
+
msgid "No %s settings were found"
|
1759 |
+
msgstr "Nem található ilyen beállítás: %s"
|
1760 |
+
|
1761 |
+
#: addons/webdav.php:116 addons/webdav.php:120
|
1762 |
+
#, php-format
|
1763 |
+
msgid "Chunk %s: A %s error occurred"
|
1764 |
+
msgstr "Darab %s: %s hiba történt"
|
1765 |
+
|
1766 |
+
#: addons/webdav.php:182 addons/webdav.php:188 addons/webdav.php:200
|
1767 |
+
msgid "WebDAV Error"
|
1768 |
+
msgstr "WebDAV hiba"
|
1769 |
+
|
1770 |
+
#: addons/webdav.php:182
|
1771 |
+
msgid "Error opening local file: Failed to download"
|
1772 |
+
msgstr "Hiba a helyi fájl megnyitásánál: Nem sikerült a letöltés"
|
1773 |
+
|
1774 |
+
#: addons/webdav.php:188
|
1775 |
+
msgid "Error opening remote file: Failed to download"
|
1776 |
+
msgstr "Hiba a távoli fájl megnyitásánál: Nem sikerült a letöltés"
|
1777 |
+
|
1778 |
+
#: addons/webdav.php:200
|
1779 |
+
msgid "Local write failed: Failed to download"
|
1780 |
+
msgstr "Helyi fájl írási hiba: Nem sikerült a letöltés"
|
1781 |
+
|
1782 |
+
#: addons/webdav.php:234
|
1783 |
+
msgid "WebDAV URL"
|
1784 |
+
msgstr "WebDAV URL"
|
1785 |
+
|
1786 |
+
#: addons/webdav.php:238
|
1787 |
+
#, php-format
|
1788 |
+
msgid ""
|
1789 |
+
"Enter a complete URL, beginning with webdav:// or webdavs:// and including "
|
1790 |
+
"path, username, password and port as required - e.g.%s"
|
1791 |
+
msgstr ""
|
1792 |
+
"Kérem írjon be egy teljes URL-t, amely így kezdődik: webdav:// vagy "
|
1793 |
+
"webdavs:// és tartalmazza az elérési utat, a felhasználónevet, a jelszót és "
|
1794 |
+
"a port számot, ahogyan szükséges - pl. %s"
|
1795 |
+
|
1796 |
+
#: addons/webdav.php:281
|
1797 |
+
msgid "Failed"
|
1798 |
+
msgstr "Nem sikerült"
|
1799 |
+
|
1800 |
+
#: addons/webdav.php:295
|
1801 |
+
msgid ""
|
1802 |
+
"Failed: We were not able to place a file in that directory - please check "
|
1803 |
+
"your credentials."
|
1804 |
+
msgstr ""
|
1805 |
+
"Hiba: Nem sikerült fájl létrehozni abban a könyvtárban - kérem ellenőrizze a "
|
1806 |
+
"hitelesítési információit"
|
1807 |
+
|
1808 |
+
#: addons/sftp.php:23
|
1809 |
+
msgid ""
|
1810 |
+
"Encrypted FTP is available, and will be automatically tried first (before "
|
1811 |
+
"falling back to non-encrypted if it is not successful). The 'Test FTP Login' "
|
1812 |
+
"button will tell you what type of connection is in use."
|
1813 |
+
msgstr ""
|
1814 |
+
"A titkosított FTP elérhetp, és automatikusan azzal fogunk próbálkozni "
|
1815 |
+
"először (mielőtt tartalékként a nem titkosítottal próbálkoznánk, ha az nem "
|
1816 |
+
"működne). A 'Test FTP Login' gombra kattintás után megtudhatja milyen típusú "
|
1817 |
+
"a használt kapcsolat."
|
1818 |
+
|
1819 |
+
#: addons/sftp.php:30 addons/sftp.php:31 addons/sftp.php:32
|
1820 |
+
#, php-format
|
1821 |
+
msgid "No %s found"
|
1822 |
+
msgstr "%s nem található"
|
1823 |
+
|
1824 |
+
#: addons/sftp.php:30
|
1825 |
+
msgid "SFTP host setting"
|
1826 |
+
msgstr "SFTP kiszolgáló"
|
1827 |
+
|
1828 |
+
#: addons/sftp.php:31
|
1829 |
+
msgid "SFTP user setting"
|
1830 |
+
msgstr "SFTP felhasználó"
|
1831 |
+
|
1832 |
+
#: addons/sftp.php:32
|
1833 |
+
msgid "SFTP password"
|
1834 |
+
msgstr "SFTP jelszó"
|
1835 |
+
|
1836 |
+
#: addons/sftp.php:50 addons/sftp.php:293
|
1837 |
+
msgid "Check your file permissions: Could not successfully create and enter:"
|
1838 |
+
msgstr ""
|
1839 |
+
"Ellenőrizze hozzáférési jogait a fájlokhoz: Nem sikerült létrehozni és "
|
1840 |
+
"belépni:"
|
1841 |
+
|
1842 |
+
#: addons/sftp.php:128
|
1843 |
+
#, php-format
|
1844 |
+
msgid "%s Error: Failed to download"
|
1845 |
+
msgstr "%s hiba: Nem sikerült a letöltés"
|
1846 |
+
|
1847 |
+
#: addons/sftp.php:172
|
1848 |
+
msgid ""
|
1849 |
+
"Resuming partial uploads is not supported, so you will need to ensure that "
|
1850 |
+
"your webserver allows PHP processes to run long enough to upload your "
|
1851 |
+
"largest backup file."
|
1852 |
+
msgstr ""
|
1853 |
+
"Nem támogatott a a részleges feltöltések továbbindítása, kérem biztosítsa, "
|
1854 |
+
"hogy a webszerver engedélyezi a PHP folyamat futását elegendően hosszú ideig "
|
1855 |
+
"a mentés legnagyobb fájljához."
|
1856 |
+
|
1857 |
+
#: addons/sftp.php:177
|
1858 |
+
msgid "Host"
|
1859 |
+
msgstr "Szerver"
|
1860 |
+
|
1861 |
+
#: addons/sftp.php:184
|
1862 |
+
msgid "Port"
|
1863 |
+
msgstr "Port"
|
1864 |
+
|
1865 |
+
#: addons/sftp.php:191
|
1866 |
+
msgid "Username"
|
1867 |
+
msgstr "Felhasználónév"
|
1868 |
+
|
1869 |
+
#: addons/sftp.php:198
|
1870 |
+
msgid "Password"
|
1871 |
+
msgstr "Jelszó"
|
1872 |
+
|
1873 |
+
#: addons/sftp.php:214
|
1874 |
+
msgid "Directory path"
|
1875 |
+
msgstr "Könyvtár elérési út"
|
1876 |
+
|
1877 |
+
#: addons/sftp.php:216
|
1878 |
+
msgid ""
|
1879 |
+
"Where to change directory to after logging in - often this is relative to "
|
1880 |
+
"your home directory."
|
1881 |
+
msgstr ""
|
1882 |
+
"Melyik könyvtárba váltsunk belépés után - ez gyakran relatív a kezdő "
|
1883 |
+
"könyvtárjához"
|
1884 |
+
|
1885 |
+
#: addons/sftp.php:254
|
1886 |
+
msgid "host name"
|
1887 |
+
msgstr "szerver név"
|
1888 |
+
|
1889 |
+
#: addons/sftp.php:258
|
1890 |
+
msgid "username"
|
1891 |
+
msgstr "felhasználónév"
|
1892 |
+
|
1893 |
+
#: addons/sftp.php:262
|
1894 |
+
msgid "password"
|
1895 |
+
msgstr "jelszó"
|
1896 |
+
|
1897 |
+
#: addons/sftp.php:267
|
1898 |
+
msgid "Failure: Port must be an integer."
|
1899 |
+
msgstr "hiba: a port számnak egésznek kell legyen"
|
1900 |
+
|
1901 |
+
#: addons/sftp.php:307
|
1902 |
+
msgid ""
|
1903 |
+
"Failed: We were able to log in and move to the indicated directory, but "
|
1904 |
+
"failed to successfully created a file in that location."
|
1905 |
+
msgstr ""
|
1906 |
+
"Hiba: Bár sikerült belépni és átváltani a megadott könyvtárba, de nem "
|
1907 |
+
"sikerült fájlt létrehozni abban a könyvtárban."
|
1908 |
+
|
1909 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
1910 |
+
msgid "starting from next time it is"
|
1911 |
+
msgstr "a következő alkalomtól kezdve:"
|
1912 |
+
|
1913 |
+
#: addons/fixtime.php:77 addons/fixtime.php:87
|
1914 |
+
msgid "Enter in format HH:MM (e.g. 14:22)"
|
1915 |
+
msgstr "ÓÓ:PP formában adja meg (pl. 14:22)"
|
1916 |
+
|
1917 |
+
#: addons/multisite.php:103
|
1918 |
+
msgid "Multisite Install"
|
1919 |
+
msgstr "Multisite installáció"
|
1920 |
+
|
1921 |
+
#: addons/multisite.php:109
|
1922 |
+
msgid "You do not have sufficient permissions to access this page."
|
1923 |
+
msgstr "Nincs elegendő joga, hogy hozzáférjen ehhez az oldalhoz."
|
1924 |
+
|
1925 |
+
#: addons/multisite.php:128
|
1926 |
+
msgid "You do not have permission to access this page."
|
1927 |
+
msgstr "Nincs joga ehhez az oldalhoz való hozzáféréshez."
|
1928 |
+
|
1929 |
+
#: addons/multisite.php:180
|
1930 |
+
msgid "Must-use plugins"
|
1931 |
+
msgstr "Kötelező bővítmények"
|
1932 |
+
|
1933 |
+
#: addons/multisite.php:181
|
1934 |
+
msgid "Blog uploads"
|
1935 |
+
msgstr "Blog feltöltések"
|
1936 |
+
|
1937 |
+
#: addons/dropbox-folders.php:21
|
1938 |
+
msgid "Store at"
|
1939 |
+
msgstr "Tárolás itt:"
|
languages/updraftplus.pot
ADDED
@@ -0,0 +1,1474 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: UpdraftPlus\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2013-03-30 17:26+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-03-30 17:26+0100\n"
|
7 |
+
"Last-Translator: David Anderson <contact@updraftplus.com>\n"
|
8 |
+
"Language-Team: <contact@updraftplus.com>\n"
|
9 |
+
"Language: \n"
|
10 |
+
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
+
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Poedit-KeywordsList: _;gettext;gettext_noop;__;_x;_e\n"
|
14 |
+
"X-Poedit-Basepath: /home/david/MissionaryHosting/UpdraftPlus/svn/trunk\n"
|
15 |
+
"X-Poedit-SearchPath-0: .\n"
|
16 |
+
|
17 |
+
#: options.php:26
|
18 |
+
msgid "UpdraftPlus Backups"
|
19 |
+
msgstr ""
|
20 |
+
|
21 |
+
#: updraftplus.php:261
|
22 |
+
msgid "Bad filename format - this does not look like a file created by UpdraftPlus"
|
23 |
+
msgstr ""
|
24 |
+
|
25 |
+
#: updraftplus.php:295
|
26 |
+
msgid "Allowed Files"
|
27 |
+
msgstr ""
|
28 |
+
|
29 |
+
#: updraftplus.php:372
|
30 |
+
msgid "Settings"
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
#: updraftplus.php:376
|
34 |
+
msgid "Add-Ons / Pro Support"
|
35 |
+
msgstr ""
|
36 |
+
|
37 |
+
#: updraftplus.php:462
|
38 |
+
msgid "Plugins"
|
39 |
+
msgstr ""
|
40 |
+
|
41 |
+
#: updraftplus.php:463
|
42 |
+
msgid "Themes"
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: updraftplus.php:464
|
46 |
+
msgid "Uploads"
|
47 |
+
msgstr ""
|
48 |
+
|
49 |
+
#: updraftplus.php:478
|
50 |
+
msgid "Others"
|
51 |
+
msgstr ""
|
52 |
+
|
53 |
+
#: updraftplus.php:710
|
54 |
+
msgid "Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings."
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
#: updraftplus.php:778
|
58 |
+
msgid "Encryption error occurred when encrypting database. Encryption aborted."
|
59 |
+
msgstr ""
|
60 |
+
|
61 |
+
#: updraftplus.php:812
|
62 |
+
msgid "The backup apparently succeeded and is now complete"
|
63 |
+
msgstr ""
|
64 |
+
|
65 |
+
#: updraftplus.php:815
|
66 |
+
msgid "The backup attempt has finished, apparently unsuccessfully"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
#: updraftplus.php:818
|
70 |
+
msgid "The backup has not finished; a resumption is scheduled within 5 minutes"
|
71 |
+
msgstr ""
|
72 |
+
|
73 |
+
#: updraftplus.php:869
|
74 |
+
msgid "Backed up"
|
75 |
+
msgstr ""
|
76 |
+
|
77 |
+
#: updraftplus.php:869
|
78 |
+
msgid "WordPress backup is complete"
|
79 |
+
msgstr ""
|
80 |
+
|
81 |
+
#: updraftplus.php:869
|
82 |
+
msgid "Backup contains"
|
83 |
+
msgstr ""
|
84 |
+
|
85 |
+
#: updraftplus.php:869
|
86 |
+
msgid "Latest status"
|
87 |
+
msgstr ""
|
88 |
+
|
89 |
+
#: updraftplus.php:1124
|
90 |
+
#, php-format
|
91 |
+
msgid "Could not create %s zip. Consult the log file for more information."
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: updraftplus.php:1158
|
95 |
+
#, php-format
|
96 |
+
msgid "Backup directory (%s) is not writable, or does not exist."
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
#: updraftplus.php:1248
|
100 |
+
msgid "Could not read the content directory"
|
101 |
+
msgstr ""
|
102 |
+
|
103 |
+
#: updraftplus.php:1278
|
104 |
+
msgid "Could not save backup history because we have no backup array. Backup probably failed."
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: updraftplus.php:1307
|
108 |
+
msgid "Could not open the backup file for writing"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: updraftplus.php:1316
|
112 |
+
#, php-format
|
113 |
+
msgid "Generated: %s"
|
114 |
+
msgstr ""
|
115 |
+
|
116 |
+
#: updraftplus.php:1317
|
117 |
+
#, php-format
|
118 |
+
msgid "Hostname: %s"
|
119 |
+
msgstr ""
|
120 |
+
|
121 |
+
#: updraftplus.php:1318
|
122 |
+
#, php-format
|
123 |
+
msgid "Database: %s"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
#: updraftplus.php:1362
|
127 |
+
msgid "The backup directory is not writable."
|
128 |
+
msgstr ""
|
129 |
+
|
130 |
+
#: updraftplus.php:1383
|
131 |
+
#, php-format
|
132 |
+
msgid "Table: %s"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
#: updraftplus.php:1388
|
136 |
+
#, php-format
|
137 |
+
msgid "Skipping non-WP table: %s"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: updraftplus.php:1479
|
141 |
+
#, php-format
|
142 |
+
msgid "Delete any existing table %s"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: updraftplus.php:1488
|
146 |
+
#, php-format
|
147 |
+
msgid "Table structure of table %s"
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
#: updraftplus.php:1494
|
151 |
+
#, php-format
|
152 |
+
msgid "Error with SHOW CREATE TABLE for %s."
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: updraftplus.php:1501
|
156 |
+
#, php-format
|
157 |
+
msgid "Error getting table structure of %s"
|
158 |
+
msgstr ""
|
159 |
+
|
160 |
+
#: updraftplus.php:1507
|
161 |
+
#, php-format
|
162 |
+
msgid "Data contents of table %s"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
#: updraftplus.php:1563
|
166 |
+
#, php-format
|
167 |
+
msgid "End of data contents of table %s"
|
168 |
+
msgstr ""
|
169 |
+
|
170 |
+
#: updraftplus.php:1815
|
171 |
+
msgid "Nothing yet logged"
|
172 |
+
msgstr ""
|
173 |
+
|
174 |
+
#: updraftplus.php:1836
|
175 |
+
msgid "File downloading"
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#: updraftplus.php:1838
|
179 |
+
msgid "No local copy present."
|
180 |
+
msgstr ""
|
181 |
+
|
182 |
+
#: updraftplus.php:2014
|
183 |
+
msgid "File not found"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
#: updraftplus.php:2033
|
187 |
+
#, php-format
|
188 |
+
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"
|
189 |
+
msgstr ""
|
190 |
+
|
191 |
+
#: updraftplus.php:2043
|
192 |
+
msgid "This backup does not exist in the backup history - restoration aborted. Timestamp:"
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
#: updraftplus.php:2056
|
196 |
+
msgid "UpdraftPlus Restoration: Progress"
|
197 |
+
msgstr ""
|
198 |
+
|
199 |
+
#: updraftplus.php:2063
|
200 |
+
msgid "ABORT: Could not find the information on which entities to restore."
|
201 |
+
msgstr ""
|
202 |
+
|
203 |
+
#: updraftplus.php:2077
|
204 |
+
#: updraftplus.php:2820
|
205 |
+
#: updraftplus.php:3072
|
206 |
+
msgid "Database"
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: updraftplus.php:2083
|
210 |
+
msgid "This component was not selected for restoration - skipping."
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: updraftplus.php:2091
|
214 |
+
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)"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: updraftplus.php:2097
|
218 |
+
msgid "Archive is expected to be size:"
|
219 |
+
msgstr ""
|
220 |
+
|
221 |
+
#: updraftplus.php:2102
|
222 |
+
msgid "ERROR"
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: updraftplus.php:2105
|
226 |
+
msgid "The backup records do not contain information about the proper size of this file."
|
227 |
+
msgstr ""
|
228 |
+
|
229 |
+
#: updraftplus.php:2117
|
230 |
+
msgid "Error message"
|
231 |
+
msgstr ""
|
232 |
+
|
233 |
+
#: updraftplus.php:2123
|
234 |
+
#: updraftplus.php:2124
|
235 |
+
msgid "Could not find one of the files for restoration"
|
236 |
+
msgstr ""
|
237 |
+
|
238 |
+
#: updraftplus.php:2126
|
239 |
+
msgid "Databases are not yet restored through this mechanism - use your web host's control panel, phpMyAdmin or a similar tool"
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: updraftplus.php:2132
|
243 |
+
msgid "Database could not be restored because PHP safe_mode is active on your server. You will need to manually restore the file via phpMyAdmin or another method."
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: updraftplus.php:2156
|
247 |
+
msgid "Delete"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: updraftplus.php:2290
|
251 |
+
msgid "Find UpdraftPlus useful?"
|
252 |
+
msgstr ""
|
253 |
+
|
254 |
+
#: updraftplus.php:2290
|
255 |
+
msgid "Please make a donation"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
#: updraftplus.php:2295
|
259 |
+
msgid "Like UpdraftPlus and can spare one minute?"
|
260 |
+
msgstr ""
|
261 |
+
|
262 |
+
#: updraftplus.php:2295
|
263 |
+
msgid "Please help UpdraftPlus by giving a positive review at wordpress.org"
|
264 |
+
msgstr ""
|
265 |
+
|
266 |
+
#: updraftplus.php:2302
|
267 |
+
msgid "Need even more features and support? Check out UpdraftPlus Premium"
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
#: updraftplus.php:2311
|
271 |
+
msgid "Check out UpdraftPlus.Com for help, add-ons and support"
|
272 |
+
msgstr ""
|
273 |
+
|
274 |
+
#: updraftplus.php:2314
|
275 |
+
msgid "Want to say thank-you for UpdraftPlus?"
|
276 |
+
msgstr ""
|
277 |
+
|
278 |
+
#: updraftplus.php:2314
|
279 |
+
msgid "Please buy our very cheap 'no adverts' add-on."
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
#: updraftplus.php:2325
|
283 |
+
msgid "File backup intervals"
|
284 |
+
msgstr ""
|
285 |
+
|
286 |
+
#: updraftplus.php:2328
|
287 |
+
msgid "Manual"
|
288 |
+
msgstr ""
|
289 |
+
|
290 |
+
#: updraftplus.php:2328
|
291 |
+
msgid "Every 4 hours"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
#: updraftplus.php:2328
|
295 |
+
msgid "Every 8 hours"
|
296 |
+
msgstr ""
|
297 |
+
|
298 |
+
#: updraftplus.php:2328
|
299 |
+
msgid "Every 12 hours"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: updraftplus.php:2328
|
303 |
+
msgid "Daily"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
#: updraftplus.php:2328
|
307 |
+
msgid "Weekly"
|
308 |
+
msgstr ""
|
309 |
+
|
310 |
+
#: updraftplus.php:2328
|
311 |
+
msgid "Fortnightly"
|
312 |
+
msgstr ""
|
313 |
+
|
314 |
+
#: updraftplus.php:2328
|
315 |
+
msgid "Monthly"
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
#: updraftplus.php:2337
|
319 |
+
#: updraftplus.php:2355
|
320 |
+
msgid "and retain this many backups"
|
321 |
+
msgstr ""
|
322 |
+
|
323 |
+
#: updraftplus.php:2344
|
324 |
+
msgid "Database backup intervals"
|
325 |
+
msgstr ""
|
326 |
+
|
327 |
+
#: updraftplus.php:2362
|
328 |
+
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."
|
329 |
+
msgstr ""
|
330 |
+
|
331 |
+
#: updraftplus.php:2363
|
332 |
+
msgid "To fix the time at which a backup should take place,"
|
333 |
+
msgstr ""
|
334 |
+
|
335 |
+
#: updraftplus.php:2363
|
336 |
+
msgid "e.g. if your server is busy at day and you want to run overnight"
|
337 |
+
msgstr ""
|
338 |
+
|
339 |
+
#: updraftplus.php:2363
|
340 |
+
msgid "use the \"Fix Time\" add-on"
|
341 |
+
msgstr ""
|
342 |
+
|
343 |
+
#: updraftplus.php:2377
|
344 |
+
msgid "Any other directories found inside wp-content but exclude these directories:"
|
345 |
+
msgstr ""
|
346 |
+
|
347 |
+
#: updraftplus.php:2383
|
348 |
+
msgid "Include all of these, unless you are backing them up outside of UpdraftPlus. The above directories are usually everything (except for WordPress core itself which you can download afresh from WordPress.org). But if you have made customised modifications outside of these directories, you need to back them up another way."
|
349 |
+
msgstr ""
|
350 |
+
|
351 |
+
#: updraftplus.php:2383
|
352 |
+
msgid "Use WordShell for automatic backup, version control and patching"
|
353 |
+
msgstr ""
|
354 |
+
|
355 |
+
#: updraftplus.php:2387
|
356 |
+
msgid "Email"
|
357 |
+
msgstr ""
|
358 |
+
|
359 |
+
#: updraftplus.php:2388
|
360 |
+
msgid "Enter an address here to have a report sent (and the whole backup, if you choose) to it."
|
361 |
+
msgstr ""
|
362 |
+
|
363 |
+
#: updraftplus.php:2392
|
364 |
+
msgid "Database encryption phrase"
|
365 |
+
msgstr ""
|
366 |
+
|
367 |
+
#: updraftplus.php:2399
|
368 |
+
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). You can also use the file example-decrypt.php from inside the UpdraftPlus plugin directory to decrypt manually."
|
369 |
+
msgstr ""
|
370 |
+
|
371 |
+
#: updraftplus.php:2403
|
372 |
+
msgid "Copying Your Backup To Remote Storage"
|
373 |
+
msgstr ""
|
374 |
+
|
375 |
+
#: updraftplus.php:2407
|
376 |
+
msgid "Choose your remote storage"
|
377 |
+
msgstr ""
|
378 |
+
|
379 |
+
#: updraftplus.php:2419
|
380 |
+
msgid "None"
|
381 |
+
msgstr ""
|
382 |
+
|
383 |
+
#: updraftplus.php:2500
|
384 |
+
#: updraftplus.php:2838
|
385 |
+
#: updraftplus.php:3109
|
386 |
+
msgid "Restore"
|
387 |
+
msgstr ""
|
388 |
+
|
389 |
+
#: updraftplus.php:2514
|
390 |
+
#: updraftplus.php:2524
|
391 |
+
msgid "Cancel"
|
392 |
+
msgstr ""
|
393 |
+
|
394 |
+
#: updraftplus.php:2521
|
395 |
+
#: updraftplus.php:2830
|
396 |
+
msgid "Backup Now"
|
397 |
+
msgstr ""
|
398 |
+
|
399 |
+
#: updraftplus.php:2548
|
400 |
+
msgid "Advanced / Debugging Settings"
|
401 |
+
msgstr ""
|
402 |
+
|
403 |
+
#: updraftplus.php:2551
|
404 |
+
msgid "Debug mode"
|
405 |
+
msgstr ""
|
406 |
+
|
407 |
+
#: updraftplus.php:2552
|
408 |
+
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."
|
409 |
+
msgstr ""
|
410 |
+
|
411 |
+
#: updraftplus.php:2555
|
412 |
+
msgid "Expert settings"
|
413 |
+
msgstr ""
|
414 |
+
|
415 |
+
#: updraftplus.php:2556
|
416 |
+
msgid "Show expert settings"
|
417 |
+
msgstr ""
|
418 |
+
|
419 |
+
#: updraftplus.php:2556
|
420 |
+
msgid "click this to show some further options; don't bother with this unless you have a problem or are curious."
|
421 |
+
msgstr ""
|
422 |
+
|
423 |
+
#: updraftplus.php:2563
|
424 |
+
msgid "Delete local backup"
|
425 |
+
msgstr ""
|
426 |
+
|
427 |
+
#: updraftplus.php:2564
|
428 |
+
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)."
|
429 |
+
msgstr ""
|
430 |
+
|
431 |
+
#: updraftplus.php:2568
|
432 |
+
msgid "Backup directory"
|
433 |
+
msgstr ""
|
434 |
+
|
435 |
+
#: updraftplus.php:2576
|
436 |
+
msgid "Backup directory specified is writable, which is good."
|
437 |
+
msgstr ""
|
438 |
+
|
439 |
+
#: updraftplus.php:2578
|
440 |
+
msgid "Backup directory specified is <b>not</b> writable, or does not exist."
|
441 |
+
msgstr ""
|
442 |
+
|
443 |
+
#: updraftplus.php:2578
|
444 |
+
msgid "Click here to attempt to create the directory and set the permissions"
|
445 |
+
msgstr ""
|
446 |
+
|
447 |
+
#: updraftplus.php:2578
|
448 |
+
msgid "or, to reset this option"
|
449 |
+
msgstr ""
|
450 |
+
|
451 |
+
#: updraftplus.php:2578
|
452 |
+
msgid "click here"
|
453 |
+
msgstr ""
|
454 |
+
|
455 |
+
#: updraftplus.php:2578
|
456 |
+
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."
|
457 |
+
msgstr ""
|
458 |
+
|
459 |
+
#: updraftplus.php:2581
|
460 |
+
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...)."
|
461 |
+
msgstr ""
|
462 |
+
|
463 |
+
#: updraftplus.php:2602
|
464 |
+
msgid "Save Changes"
|
465 |
+
msgstr ""
|
466 |
+
|
467 |
+
#: updraftplus.php:2626
|
468 |
+
msgid "Download log file"
|
469 |
+
msgstr ""
|
470 |
+
|
471 |
+
#: updraftplus.php:2632
|
472 |
+
msgid "No backup has been completed."
|
473 |
+
msgstr ""
|
474 |
+
|
475 |
+
#: updraftplus.php:2652
|
476 |
+
msgid "Restore successful!"
|
477 |
+
msgstr ""
|
478 |
+
|
479 |
+
#: updraftplus.php:2653
|
480 |
+
#: updraftplus.php:2688
|
481 |
+
#: updraftplus.php:2704
|
482 |
+
msgid "Actions"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: updraftplus.php:2653
|
486 |
+
#: updraftplus.php:2668
|
487 |
+
#: updraftplus.php:2688
|
488 |
+
#: updraftplus.php:2704
|
489 |
+
msgid "Return to UpdraftPlus Configuration"
|
490 |
+
msgstr ""
|
491 |
+
|
492 |
+
#: updraftplus.php:2677
|
493 |
+
msgid "Remove old directories"
|
494 |
+
msgstr ""
|
495 |
+
|
496 |
+
#: updraftplus.php:2683
|
497 |
+
msgid "Old directories successfully removed."
|
498 |
+
msgstr ""
|
499 |
+
|
500 |
+
#: updraftplus.php:2686
|
501 |
+
msgid "Old directory removal failed for some reason. You may want to do this manually."
|
502 |
+
msgstr ""
|
503 |
+
|
504 |
+
#: updraftplus.php:2701
|
505 |
+
msgid "Backup directory could not be created"
|
506 |
+
msgstr ""
|
507 |
+
|
508 |
+
#: updraftplus.php:2703
|
509 |
+
msgid "Backup directory successfully created."
|
510 |
+
msgstr ""
|
511 |
+
|
512 |
+
#: updraftplus.php:2710
|
513 |
+
msgid "Schedule backup"
|
514 |
+
msgstr ""
|
515 |
+
|
516 |
+
#: updraftplus.php:2713
|
517 |
+
msgid "Failed."
|
518 |
+
msgstr ""
|
519 |
+
|
520 |
+
#: updraftplus.php:2715
|
521 |
+
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."
|
522 |
+
msgstr ""
|
523 |
+
|
524 |
+
#: updraftplus.php:2715
|
525 |
+
msgid "Nothing happening? Follow this link for help."
|
526 |
+
msgstr ""
|
527 |
+
|
528 |
+
#: updraftplus.php:2728
|
529 |
+
msgid "Your settings have been wiped."
|
530 |
+
msgstr ""
|
531 |
+
|
532 |
+
#: updraftplus.php:2735
|
533 |
+
msgid "By UpdraftPlus.Com"
|
534 |
+
msgstr ""
|
535 |
+
|
536 |
+
#: updraftplus.php:2735
|
537 |
+
msgid "Lead developer's homepage"
|
538 |
+
msgstr ""
|
539 |
+
|
540 |
+
#: updraftplus.php:2735
|
541 |
+
msgid "Donate"
|
542 |
+
msgstr ""
|
543 |
+
|
544 |
+
#: updraftplus.php:2735
|
545 |
+
msgid "Other WordPress plugins"
|
546 |
+
msgstr ""
|
547 |
+
|
548 |
+
#: updraftplus.php:2735
|
549 |
+
msgid "Version"
|
550 |
+
msgstr ""
|
551 |
+
|
552 |
+
#: updraftplus.php:2739
|
553 |
+
msgid "Your backup has been restored."
|
554 |
+
msgstr ""
|
555 |
+
|
556 |
+
#: updraftplus.php:2739
|
557 |
+
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."
|
558 |
+
msgstr ""
|
559 |
+
|
560 |
+
#: updraftplus.php:2739
|
561 |
+
msgid "At this time UpdraftPlus does not automatically restore your database. You will need to use an external tool like phpMyAdmin to perform that task."
|
562 |
+
msgstr ""
|
563 |
+
|
564 |
+
#: updraftplus.php:2745
|
565 |
+
msgid "Old directories successfully deleted."
|
566 |
+
msgstr ""
|
567 |
+
|
568 |
+
#: updraftplus.php:2748
|
569 |
+
msgid "Your PHP memory limit is quite low. UpdraftPlus attempted to raise it but was unsuccessful. This plugin may not work properly with a memory limit of less than 96 Mb (though on the other hand, it has been used successfully with a 32Mb limit - your mileage may vary, but don't blame us!)."
|
570 |
+
msgstr ""
|
571 |
+
|
572 |
+
#: updraftplus.php:2748
|
573 |
+
msgid "Current limit is:"
|
574 |
+
msgstr ""
|
575 |
+
|
576 |
+
#: updraftplus.php:2752
|
577 |
+
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:"
|
578 |
+
msgstr ""
|
579 |
+
|
580 |
+
#: updraftplus.php:2752
|
581 |
+
msgid "seconds"
|
582 |
+
msgstr ""
|
583 |
+
|
584 |
+
#: updraftplus.php:2757
|
585 |
+
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)."
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
+
#: updraftplus.php:2761
|
589 |
+
msgid "Delete Old Directories"
|
590 |
+
msgstr ""
|
591 |
+
|
592 |
+
#: updraftplus.php:2761
|
593 |
+
msgid "Are you sure you want to delete the old directories? This cannot be undone."
|
594 |
+
msgstr ""
|
595 |
+
|
596 |
+
#: updraftplus.php:2774
|
597 |
+
msgid "Existing Schedule And Backups"
|
598 |
+
msgstr ""
|
599 |
+
|
600 |
+
#: updraftplus.php:2778
|
601 |
+
msgid "JavaScript warning"
|
602 |
+
msgstr ""
|
603 |
+
|
604 |
+
#: updraftplus.php:2779
|
605 |
+
msgid "This admin interface uses JavaScript heavily. You either need to activate it within your browser, or to use a JavaScript-capable browser."
|
606 |
+
msgstr ""
|
607 |
+
|
608 |
+
#: updraftplus.php:2792
|
609 |
+
#: updraftplus.php:2805
|
610 |
+
msgid "Nothing currently scheduled"
|
611 |
+
msgstr ""
|
612 |
+
|
613 |
+
#: updraftplus.php:2797
|
614 |
+
msgid "At the same time as the files backup"
|
615 |
+
msgstr ""
|
616 |
+
|
617 |
+
#: updraftplus.php:2817
|
618 |
+
msgid "Next scheduled backups"
|
619 |
+
msgstr ""
|
620 |
+
|
621 |
+
#: updraftplus.php:2819
|
622 |
+
msgid "Files"
|
623 |
+
msgstr ""
|
624 |
+
|
625 |
+
#: updraftplus.php:2821
|
626 |
+
msgid "Time now"
|
627 |
+
msgstr ""
|
628 |
+
|
629 |
+
#: updraftplus.php:2825
|
630 |
+
msgid "Last finished backup run"
|
631 |
+
msgstr ""
|
632 |
+
|
633 |
+
#: updraftplus.php:2845
|
634 |
+
msgid "Last log message"
|
635 |
+
msgstr ""
|
636 |
+
|
637 |
+
#: updraftplus.php:2846
|
638 |
+
msgid "(Nothing yet logged)"
|
639 |
+
msgstr ""
|
640 |
+
|
641 |
+
#: updraftplus.php:2849
|
642 |
+
msgid "Backups, logs & restoring"
|
643 |
+
msgstr ""
|
644 |
+
|
645 |
+
#: updraftplus.php:2850
|
646 |
+
msgid "Press to see available backups"
|
647 |
+
msgstr ""
|
648 |
+
|
649 |
+
#: updraftplus.php:2850
|
650 |
+
#, php-format
|
651 |
+
msgid "%d set(s) available"
|
652 |
+
msgstr ""
|
653 |
+
|
654 |
+
#: updraftplus.php:2855
|
655 |
+
msgid "Downloading"
|
656 |
+
msgstr ""
|
657 |
+
|
658 |
+
#: updraftplus.php:2855
|
659 |
+
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."
|
660 |
+
msgstr ""
|
661 |
+
|
662 |
+
#: updraftplus.php:2856
|
663 |
+
msgid "Restoring"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: updraftplus.php:2856
|
667 |
+
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."
|
668 |
+
msgstr ""
|
669 |
+
|
670 |
+
#: updraftplus.php:2856
|
671 |
+
msgid "More tasks:"
|
672 |
+
msgstr ""
|
673 |
+
|
674 |
+
#: updraftplus.php:2856
|
675 |
+
msgid "upload backup files"
|
676 |
+
msgstr ""
|
677 |
+
|
678 |
+
#: updraftplus.php:2856
|
679 |
+
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."
|
680 |
+
msgstr ""
|
681 |
+
|
682 |
+
#: updraftplus.php:2856
|
683 |
+
msgid "rescan folder for new backup sets"
|
684 |
+
msgstr ""
|
685 |
+
|
686 |
+
#: updraftplus.php:2857
|
687 |
+
msgid "Opera web browser"
|
688 |
+
msgstr ""
|
689 |
+
|
690 |
+
#: updraftplus.php:2857
|
691 |
+
msgid "If you are using this, then turn Turbo/Road mode off."
|
692 |
+
msgstr ""
|
693 |
+
|
694 |
+
#: updraftplus.php:2858
|
695 |
+
msgid "This is a count of the contents of your Updraft directory"
|
696 |
+
msgstr ""
|
697 |
+
|
698 |
+
#: updraftplus.php:2858
|
699 |
+
msgid "Web-server disk space in use by UpdraftPlus"
|
700 |
+
msgstr ""
|
701 |
+
|
702 |
+
#: updraftplus.php:2858
|
703 |
+
msgid "refresh"
|
704 |
+
msgstr ""
|
705 |
+
|
706 |
+
#: updraftplus.php:2860
|
707 |
+
msgid "UpdraftPlus - Upload backup files"
|
708 |
+
msgstr ""
|
709 |
+
|
710 |
+
#: updraftplus.php:2861
|
711 |
+
msgid "Upload files into UpdraftPlus. Use this to import backups made on a different WordPress installation."
|
712 |
+
msgstr ""
|
713 |
+
|
714 |
+
#: updraftplus.php:2865
|
715 |
+
msgid "Drop backup zips here"
|
716 |
+
msgstr ""
|
717 |
+
|
718 |
+
#: updraftplus.php:2879
|
719 |
+
msgid "calculating..."
|
720 |
+
msgstr ""
|
721 |
+
|
722 |
+
#: updraftplus.php:2948
|
723 |
+
msgid "Restore backup"
|
724 |
+
msgstr ""
|
725 |
+
|
726 |
+
#: updraftplus.php:2949
|
727 |
+
msgid "Restore backup from"
|
728 |
+
msgstr ""
|
729 |
+
|
730 |
+
#: updraftplus.php:2950
|
731 |
+
msgid "Restoring will replace this site's themes, plugins, uploads and/or other content directories (according to what is contained in the backup set, and your selection"
|
732 |
+
msgstr ""
|
733 |
+
|
734 |
+
#: updraftplus.php:2950
|
735 |
+
msgid "Choose the components to restore"
|
736 |
+
msgstr ""
|
737 |
+
|
738 |
+
#: updraftplus.php:2961
|
739 |
+
msgid "Databases cannot yet be restored from here - you must download the database file and take it to your web hosting company's control panel."
|
740 |
+
msgstr ""
|
741 |
+
|
742 |
+
#: updraftplus.php:2966
|
743 |
+
msgid "Perform a backup now"
|
744 |
+
msgstr ""
|
745 |
+
|
746 |
+
#: updraftplus.php:2968
|
747 |
+
msgid "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."
|
748 |
+
msgstr ""
|
749 |
+
|
750 |
+
#: updraftplus.php:2974
|
751 |
+
msgid "Does nothing happen when you schedule backups?"
|
752 |
+
msgstr ""
|
753 |
+
|
754 |
+
#: updraftplus.php:2974
|
755 |
+
msgid "Go here for help."
|
756 |
+
msgstr ""
|
757 |
+
|
758 |
+
#: updraftplus.php:2981
|
759 |
+
msgid "Multisite"
|
760 |
+
msgstr ""
|
761 |
+
|
762 |
+
#: updraftplus.php:2985
|
763 |
+
msgid "Do you need WordPress Multisite support?"
|
764 |
+
msgstr ""
|
765 |
+
|
766 |
+
#: updraftplus.php:2985
|
767 |
+
msgid "Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on."
|
768 |
+
msgstr ""
|
769 |
+
|
770 |
+
#: updraftplus.php:2990
|
771 |
+
msgid "Configure Backup Contents And Schedule"
|
772 |
+
msgstr ""
|
773 |
+
|
774 |
+
#: updraftplus.php:2996
|
775 |
+
msgid "Debug Information And Expert Options"
|
776 |
+
msgstr ""
|
777 |
+
|
778 |
+
#: updraftplus.php:3001
|
779 |
+
msgid "Peak memory usage"
|
780 |
+
msgstr ""
|
781 |
+
|
782 |
+
#: updraftplus.php:3002
|
783 |
+
msgid "Current memory usage"
|
784 |
+
msgstr ""
|
785 |
+
|
786 |
+
#: updraftplus.php:3003
|
787 |
+
msgid "PHP memory limit"
|
788 |
+
msgstr ""
|
789 |
+
|
790 |
+
#: updraftplus.php:3006
|
791 |
+
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."
|
792 |
+
msgstr ""
|
793 |
+
|
794 |
+
#: updraftplus.php:3010
|
795 |
+
msgid "Debug Full Backup"
|
796 |
+
msgstr ""
|
797 |
+
|
798 |
+
#: updraftplus.php:3010
|
799 |
+
msgid "This will cause an immediate backup. The page will stall loading until it finishes (ie, unscheduled)."
|
800 |
+
msgstr ""
|
801 |
+
|
802 |
+
#: updraftplus.php:3014
|
803 |
+
msgid "Debug Database Backup"
|
804 |
+
msgstr ""
|
805 |
+
|
806 |
+
#: updraftplus.php:3014
|
807 |
+
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.."
|
808 |
+
msgstr ""
|
809 |
+
|
810 |
+
#: updraftplus.php:3016
|
811 |
+
msgid "Wipe Settings"
|
812 |
+
msgstr ""
|
813 |
+
|
814 |
+
#: updraftplus.php:3017
|
815 |
+
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."
|
816 |
+
msgstr ""
|
817 |
+
|
818 |
+
#: updraftplus.php:3020
|
819 |
+
msgid "Wipe All Settings"
|
820 |
+
msgstr ""
|
821 |
+
|
822 |
+
#: updraftplus.php:3020
|
823 |
+
msgid "This will delete all your UpdraftPlus settings - are you sure you want to do this?"
|
824 |
+
msgstr ""
|
825 |
+
|
826 |
+
#: updraftplus.php:3089
|
827 |
+
msgid "Press here to download"
|
828 |
+
msgstr ""
|
829 |
+
|
830 |
+
#: updraftplus.php:3091
|
831 |
+
#, php-format
|
832 |
+
msgid "(No %s)"
|
833 |
+
msgstr ""
|
834 |
+
|
835 |
+
#: updraftplus.php:3101
|
836 |
+
msgid "Backup Log"
|
837 |
+
msgstr ""
|
838 |
+
|
839 |
+
#: updraftplus.php:3109
|
840 |
+
msgid "After pressing this button, you will be given the option to choose which components you wish to restore"
|
841 |
+
msgstr ""
|
842 |
+
|
843 |
+
#: updraftplus.php:3134
|
844 |
+
#: updraftplus.php:3138
|
845 |
+
msgid "Warning"
|
846 |
+
msgstr ""
|
847 |
+
|
848 |
+
#: updraftplus.php:3134
|
849 |
+
#, php-format
|
850 |
+
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."
|
851 |
+
msgstr ""
|
852 |
+
|
853 |
+
#: updraftplus.php:3138
|
854 |
+
#, php-format
|
855 |
+
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."
|
856 |
+
msgstr ""
|
857 |
+
|
858 |
+
#: updraftplus.php:3142
|
859 |
+
#: updraftplus.php:3146
|
860 |
+
#: updraftplus.php:3150
|
861 |
+
msgid "UpdraftPlus notice:"
|
862 |
+
msgstr ""
|
863 |
+
|
864 |
+
#: updraftplus.php:3142
|
865 |
+
msgid "The log file could not be read."
|
866 |
+
msgstr ""
|
867 |
+
|
868 |
+
#: updraftplus.php:3146
|
869 |
+
#: updraftplus.php:3150
|
870 |
+
#, php-format
|
871 |
+
msgid "Click here to authenticate your %s account (you will not be able to back up to %s without it)."
|
872 |
+
msgstr ""
|
873 |
+
|
874 |
+
#: updraftplus.php:3323
|
875 |
+
msgid "Infinite recursion: consult your log for more information"
|
876 |
+
msgstr ""
|
877 |
+
|
878 |
+
#: includes/updraft-restorer.php:5
|
879 |
+
msgid "Backup file not available."
|
880 |
+
msgstr ""
|
881 |
+
|
882 |
+
#: includes/updraft-restorer.php:6
|
883 |
+
msgid "Unpacking backup..."
|
884 |
+
msgstr ""
|
885 |
+
|
886 |
+
#: includes/updraft-restorer.php:7
|
887 |
+
msgid "Moving old directory out of the way..."
|
888 |
+
msgstr ""
|
889 |
+
|
890 |
+
#: includes/updraft-restorer.php:8
|
891 |
+
msgid "Moving unpacked backup in place..."
|
892 |
+
msgstr ""
|
893 |
+
|
894 |
+
#: includes/updraft-restorer.php:9
|
895 |
+
msgid "Cleaning up rubbish..."
|
896 |
+
msgstr ""
|
897 |
+
|
898 |
+
#: includes/updraft-restorer.php:10
|
899 |
+
msgid "Could not move old directory out of the way. Perhaps you already have -old directories that need deleting first?"
|
900 |
+
msgstr ""
|
901 |
+
|
902 |
+
#: includes/updraft-restorer.php:11
|
903 |
+
msgid "Could not move new directory into place. Check your wp-content/upgrade folder."
|
904 |
+
msgstr ""
|
905 |
+
|
906 |
+
#: includes/updraft-restorer.php:12
|
907 |
+
msgid "Failed to delete working directory after restoring."
|
908 |
+
msgstr ""
|
909 |
+
|
910 |
+
#: includes/updraft-restorer.php:34
|
911 |
+
msgid "Will not delete the archive after unpacking it, because there was no cloud storage for this backup"
|
912 |
+
msgstr ""
|
913 |
+
|
914 |
+
#: methods/webdav.php:13
|
915 |
+
#: methods/webdav.php:34
|
916 |
+
#: methods/webdav.php:50
|
917 |
+
#: methods/sftp.php:13
|
918 |
+
#: methods/sftp.php:34
|
919 |
+
#: methods/sftp.php:50
|
920 |
+
#, php-format
|
921 |
+
msgid "You do not have the UpdraftPlus %s add-on installed - get it from %s"
|
922 |
+
msgstr ""
|
923 |
+
|
924 |
+
#: methods/webdav.php:63
|
925 |
+
#: methods/sftp.php:63
|
926 |
+
#, php-format
|
927 |
+
msgid "%s support is available as an add-on"
|
928 |
+
msgstr ""
|
929 |
+
|
930 |
+
#: methods/webdav.php:63
|
931 |
+
#: methods/sftp.php:63
|
932 |
+
msgid "follow this link to get it"
|
933 |
+
msgstr ""
|
934 |
+
|
935 |
+
#: methods/googledrive.php:94
|
936 |
+
#: methods/s3.php:326
|
937 |
+
#: methods/dropbox.php:293
|
938 |
+
#: addons/webdav.php:292
|
939 |
+
msgid "Success"
|
940 |
+
msgstr ""
|
941 |
+
|
942 |
+
#: methods/googledrive.php:94
|
943 |
+
#: methods/dropbox.php:293
|
944 |
+
#, php-format
|
945 |
+
msgid "you have authenticated your %s account"
|
946 |
+
msgstr ""
|
947 |
+
|
948 |
+
#: methods/googledrive.php:94
|
949 |
+
#: methods/googledrive.php:325
|
950 |
+
#: methods/googledrive.php:327
|
951 |
+
#: methods/googledrive.php:345
|
952 |
+
#: methods/googledrive.php:349
|
953 |
+
#: methods/googledrive.php:353
|
954 |
+
msgid "Google Drive"
|
955 |
+
msgstr ""
|
956 |
+
|
957 |
+
#: methods/googledrive.php:98
|
958 |
+
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."
|
959 |
+
msgstr ""
|
960 |
+
|
961 |
+
#: methods/googledrive.php:103
|
962 |
+
msgid "Authorization failed"
|
963 |
+
msgstr ""
|
964 |
+
|
965 |
+
#: methods/googledrive.php:117
|
966 |
+
msgid "Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive."
|
967 |
+
msgstr ""
|
968 |
+
|
969 |
+
#: methods/googledrive.php:118
|
970 |
+
#: methods/googledrive.php:254
|
971 |
+
msgid "Have not yet obtained an access token from Google (has the user authorised?)"
|
972 |
+
msgstr ""
|
973 |
+
|
974 |
+
#: methods/googledrive.php:135
|
975 |
+
#: addons/webdav.php:57
|
976 |
+
#, php-format
|
977 |
+
msgid "Failed to upload to %s"
|
978 |
+
msgstr ""
|
979 |
+
|
980 |
+
#: methods/googledrive.php:189
|
981 |
+
#: addons/webdav.php:57
|
982 |
+
msgid "Error"
|
983 |
+
msgstr ""
|
984 |
+
|
985 |
+
#: methods/googledrive.php:225
|
986 |
+
msgid "An error occurred during GoogleDrive upload (see log for more details)"
|
987 |
+
msgstr ""
|
988 |
+
|
989 |
+
#: methods/googledrive.php:266
|
990 |
+
#, php-format
|
991 |
+
msgid "Google Drive error: %d: could not download: could not find a record of the Google Drive file ID for this file"
|
992 |
+
msgstr ""
|
993 |
+
|
994 |
+
#: methods/googledrive.php:271
|
995 |
+
#, php-format
|
996 |
+
msgid "Could not find %s in order to download it"
|
997 |
+
msgstr ""
|
998 |
+
|
999 |
+
#: methods/googledrive.php:283
|
1000 |
+
msgid "Google Drive "
|
1001 |
+
msgstr ""
|
1002 |
+
|
1003 |
+
#: methods/googledrive.php:283
|
1004 |
+
msgid "error: zero-size file was downloaded"
|
1005 |
+
msgstr ""
|
1006 |
+
|
1007 |
+
#: methods/googledrive.php:301
|
1008 |
+
msgid "Account is not authorized."
|
1009 |
+
msgstr ""
|
1010 |
+
|
1011 |
+
#: methods/googledrive.php:328
|
1012 |
+
#: methods/s3.php:246
|
1013 |
+
#: methods/dropbox.php:217
|
1014 |
+
#: methods/ftp.php:109
|
1015 |
+
#: addons/webdav.php:231
|
1016 |
+
#, php-format
|
1017 |
+
msgid "%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your blog is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts."
|
1018 |
+
msgstr ""
|
1019 |
+
|
1020 |
+
#: methods/googledrive.php:334
|
1021 |
+
msgid "For longer help, including screenshots, follow this link. The description below is sufficient for more expert users."
|
1022 |
+
msgstr ""
|
1023 |
+
|
1024 |
+
#: methods/googledrive.php:335
|
1025 |
+
msgid "Follow this link to your Google API Console, and there create a Client ID in the API Access section."
|
1026 |
+
msgstr ""
|
1027 |
+
|
1028 |
+
#: methods/googledrive.php:335
|
1029 |
+
msgid "Select 'Web Application' as the application type."
|
1030 |
+
msgstr ""
|
1031 |
+
|
1032 |
+
#: methods/googledrive.php:335
|
1033 |
+
msgid "You must add the following as the authorised redirect URI (under \"More Options\") when asked"
|
1034 |
+
msgstr ""
|
1035 |
+
|
1036 |
+
#: methods/googledrive.php:335
|
1037 |
+
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 blog."
|
1038 |
+
msgstr ""
|
1039 |
+
|
1040 |
+
#: methods/googledrive.php:338
|
1041 |
+
msgid "You do not have the SimpleXMLElement installed. Google Drive backups will <b>not</b> work until you do."
|
1042 |
+
msgstr ""
|
1043 |
+
|
1044 |
+
#: methods/googledrive.php:345
|
1045 |
+
msgid "Client ID"
|
1046 |
+
msgstr ""
|
1047 |
+
|
1048 |
+
#: methods/googledrive.php:346
|
1049 |
+
msgid "If Google later shows you the message \"invalid_client\", then you did not enter a valid client ID here."
|
1050 |
+
msgstr ""
|
1051 |
+
|
1052 |
+
#: methods/googledrive.php:349
|
1053 |
+
msgid "Client Secret"
|
1054 |
+
msgstr ""
|
1055 |
+
|
1056 |
+
#: methods/googledrive.php:353
|
1057 |
+
msgid "Folder ID"
|
1058 |
+
msgstr ""
|
1059 |
+
|
1060 |
+
#: methods/googledrive.php:354
|
1061 |
+
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)"
|
1062 |
+
msgstr ""
|
1063 |
+
|
1064 |
+
#: methods/googledrive.php:357
|
1065 |
+
msgid "Authenticate with Google"
|
1066 |
+
msgstr ""
|
1067 |
+
|
1068 |
+
#: methods/googledrive.php:358
|
1069 |
+
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."
|
1070 |
+
msgstr ""
|
1071 |
+
|
1072 |
+
#: methods/email.php:15
|
1073 |
+
msgid "WordPress Backup"
|
1074 |
+
msgstr ""
|
1075 |
+
|
1076 |
+
#: methods/email.php:15
|
1077 |
+
msgid "Backup is of:"
|
1078 |
+
msgstr ""
|
1079 |
+
|
1080 |
+
#: methods/email.php:15
|
1081 |
+
msgid "Be wary; email backups may fail because of file size limitations on mail servers."
|
1082 |
+
msgstr ""
|
1083 |
+
|
1084 |
+
#: methods/email.php:24
|
1085 |
+
msgid "Note:"
|
1086 |
+
msgstr ""
|
1087 |
+
|
1088 |
+
#: methods/email.php:25
|
1089 |
+
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."
|
1090 |
+
msgstr ""
|
1091 |
+
|
1092 |
+
#: methods/s3.php:77
|
1093 |
+
#, php-format
|
1094 |
+
msgid "%s Error: Failed to upload"
|
1095 |
+
msgstr ""
|
1096 |
+
|
1097 |
+
#: methods/s3.php:98
|
1098 |
+
msgid "S3 upload: getting uploadID for multipart upload failed - see log file for more details"
|
1099 |
+
msgstr ""
|
1100 |
+
|
1101 |
+
#: methods/s3.php:130
|
1102 |
+
#, php-format
|
1103 |
+
msgid "S3 chunk %s: upload failed"
|
1104 |
+
msgstr ""
|
1105 |
+
|
1106 |
+
#: methods/s3.php:144
|
1107 |
+
#, php-format
|
1108 |
+
msgid "S3 upload (%s): re-assembly failed (see log for more details)"
|
1109 |
+
msgstr ""
|
1110 |
+
|
1111 |
+
#: methods/s3.php:148
|
1112 |
+
#, php-format
|
1113 |
+
msgid "S3 re-assembly error (%s): (see log file for more)"
|
1114 |
+
msgstr ""
|
1115 |
+
|
1116 |
+
#: methods/s3.php:160
|
1117 |
+
#, php-format
|
1118 |
+
msgid "S3 Error: Failed to create bucket %s. Check your permissions and credentials."
|
1119 |
+
msgstr ""
|
1120 |
+
|
1121 |
+
#: methods/s3.php:213
|
1122 |
+
#, php-format
|
1123 |
+
msgid "S3 Error: Failed to download %s. Check your permissions and credentials."
|
1124 |
+
msgstr ""
|
1125 |
+
|
1126 |
+
#: methods/s3.php:217
|
1127 |
+
#, php-format
|
1128 |
+
msgid "S3 Error: Failed to access bucket %s. Check your permissions and credentials."
|
1129 |
+
msgstr ""
|
1130 |
+
|
1131 |
+
#: methods/s3.php:251
|
1132 |
+
msgid "Get your access key and secret key <a href=\"http://aws.amazon.com/console/\">from your AWS console</a>, then pick a (globally unique - all Amazon S3 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."
|
1133 |
+
msgstr ""
|
1134 |
+
|
1135 |
+
#: methods/s3.php:254
|
1136 |
+
msgid "S3 access key"
|
1137 |
+
msgstr ""
|
1138 |
+
|
1139 |
+
#: methods/s3.php:258
|
1140 |
+
msgid "S3 secret key"
|
1141 |
+
msgstr ""
|
1142 |
+
|
1143 |
+
#: methods/s3.php:262
|
1144 |
+
msgid "S3 location"
|
1145 |
+
msgstr ""
|
1146 |
+
|
1147 |
+
#: methods/s3.php:267
|
1148 |
+
#: methods/ftp.php:135
|
1149 |
+
#: addons/webdav.php:244
|
1150 |
+
#, php-format
|
1151 |
+
msgid "Test %s Settings"
|
1152 |
+
msgstr ""
|
1153 |
+
|
1154 |
+
#: methods/s3.php:275
|
1155 |
+
#: methods/s3.php:279
|
1156 |
+
#: methods/ftp.php:152
|
1157 |
+
#: methods/ftp.php:156
|
1158 |
+
#: addons/webdav.php:272
|
1159 |
+
#, php-format
|
1160 |
+
msgid "Failure: No %s was given."
|
1161 |
+
msgstr ""
|
1162 |
+
|
1163 |
+
#: methods/s3.php:275
|
1164 |
+
msgid "API key"
|
1165 |
+
msgstr ""
|
1166 |
+
|
1167 |
+
#: methods/s3.php:279
|
1168 |
+
msgid "API secret"
|
1169 |
+
msgstr ""
|
1170 |
+
|
1171 |
+
#: methods/s3.php:296
|
1172 |
+
msgid "Failure: No bucket details were given."
|
1173 |
+
msgstr ""
|
1174 |
+
|
1175 |
+
#: methods/s3.php:306
|
1176 |
+
msgid "Amazon region"
|
1177 |
+
msgstr ""
|
1178 |
+
|
1179 |
+
#: methods/s3.php:316
|
1180 |
+
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 S3 user may already have taken your name)."
|
1181 |
+
msgstr ""
|
1182 |
+
|
1183 |
+
#: methods/s3.php:324
|
1184 |
+
msgid "Failure"
|
1185 |
+
msgstr ""
|
1186 |
+
|
1187 |
+
#: methods/s3.php:324
|
1188 |
+
msgid "We successfully accessed the bucket, but the attempt to create a file in it failed."
|
1189 |
+
msgstr ""
|
1190 |
+
|
1191 |
+
#: methods/s3.php:326
|
1192 |
+
msgid "We accessed the bucket, and were able to create files within it."
|
1193 |
+
msgstr ""
|
1194 |
+
|
1195 |
+
#: methods/dropbox.php:35
|
1196 |
+
#: methods/dropbox.php:167
|
1197 |
+
msgid "You do not appear to be authenticated with Dropbox"
|
1198 |
+
msgstr ""
|
1199 |
+
|
1200 |
+
#: methods/dropbox.php:46
|
1201 |
+
#, php-format
|
1202 |
+
msgid "error: %s (see log file for more)"
|
1203 |
+
msgstr ""
|
1204 |
+
|
1205 |
+
#: methods/dropbox.php:98
|
1206 |
+
#: methods/dropbox.php:103
|
1207 |
+
#, php-format
|
1208 |
+
msgid "error: failed to upload file to %s (see log file for more)"
|
1209 |
+
msgstr ""
|
1210 |
+
|
1211 |
+
#: methods/dropbox.php:223
|
1212 |
+
msgid "Need to use sub-folders?"
|
1213 |
+
msgstr ""
|
1214 |
+
|
1215 |
+
#: methods/dropbox.php:223
|
1216 |
+
msgid "Backups are saved in"
|
1217 |
+
msgstr ""
|
1218 |
+
|
1219 |
+
#: methods/dropbox.php:223
|
1220 |
+
msgid "If you back up several sites into the same Dropbox and want to organise with sub-folders, then "
|
1221 |
+
msgstr ""
|
1222 |
+
|
1223 |
+
#: methods/dropbox.php:223
|
1224 |
+
msgid "there's an add-on for that."
|
1225 |
+
msgstr ""
|
1226 |
+
|
1227 |
+
#: methods/dropbox.php:228
|
1228 |
+
msgid "Authenticate with Dropbox"
|
1229 |
+
msgstr ""
|
1230 |
+
|
1231 |
+
#: methods/dropbox.php:229
|
1232 |
+
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."
|
1233 |
+
msgstr ""
|
1234 |
+
|
1235 |
+
#: methods/dropbox.php:240
|
1236 |
+
msgid "Your web server's PHP installation does not included a required module (MCrypt). Please contact your web hosting provider's support. UpdraftPlus's Dropbox module <strong>requires</strong> MCrypt. Please do not file any support requests; there is no alternative."
|
1237 |
+
msgstr ""
|
1238 |
+
|
1239 |
+
#: methods/dropbox.php:243
|
1240 |
+
msgid "Your web server's PHP installation does not included a required module (Curl). Please contact your web hosting provider's support. UpdraftPlus's Dropbox 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."
|
1241 |
+
msgstr ""
|
1242 |
+
|
1243 |
+
#: methods/dropbox.php:296
|
1244 |
+
msgid "though part of the returned information was not as expected - your mileage may vary"
|
1245 |
+
msgstr ""
|
1246 |
+
|
1247 |
+
#: methods/dropbox.php:299
|
1248 |
+
#, php-format
|
1249 |
+
msgid "Your %s account name"
|
1250 |
+
msgstr ""
|
1251 |
+
|
1252 |
+
#: methods/ftp.php:19
|
1253 |
+
#: methods/ftp.php:66
|
1254 |
+
msgid "FTP login failure"
|
1255 |
+
msgstr ""
|
1256 |
+
|
1257 |
+
#: methods/ftp.php:38
|
1258 |
+
msgid "FTP upload failed"
|
1259 |
+
msgstr ""
|
1260 |
+
|
1261 |
+
#: methods/ftp.php:98
|
1262 |
+
msgid "Settings test result"
|
1263 |
+
msgstr ""
|
1264 |
+
|
1265 |
+
#: methods/ftp.php:114
|
1266 |
+
msgid "Only non-encrypted FTP is supported by regular UpdraftPlus."
|
1267 |
+
msgstr ""
|
1268 |
+
|
1269 |
+
#: methods/ftp.php:114
|
1270 |
+
msgid "If you want encryption (e.g. you are storing sensitive business data), then an add-on is available."
|
1271 |
+
msgstr ""
|
1272 |
+
|
1273 |
+
#: methods/ftp.php:118
|
1274 |
+
msgid "FTP Server"
|
1275 |
+
msgstr ""
|
1276 |
+
|
1277 |
+
#: methods/ftp.php:122
|
1278 |
+
msgid "FTP Login"
|
1279 |
+
msgstr ""
|
1280 |
+
|
1281 |
+
#: methods/ftp.php:126
|
1282 |
+
msgid "FTP Password"
|
1283 |
+
msgstr ""
|
1284 |
+
|
1285 |
+
#: methods/ftp.php:130
|
1286 |
+
msgid "Remote Path"
|
1287 |
+
msgstr ""
|
1288 |
+
|
1289 |
+
#: methods/ftp.php:131
|
1290 |
+
msgid "Needs to already exist"
|
1291 |
+
msgstr ""
|
1292 |
+
|
1293 |
+
#: methods/ftp.php:148
|
1294 |
+
msgid "Failure: No server details were given."
|
1295 |
+
msgstr ""
|
1296 |
+
|
1297 |
+
#: methods/ftp.php:167
|
1298 |
+
msgid "Failure: we did not successfully log in with those credentials."
|
1299 |
+
msgstr ""
|
1300 |
+
|
1301 |
+
#: methods/ftp.php:175
|
1302 |
+
msgid "Failure: an unexpected internal UpdraftPlus error occurred when testing the credentials - please contact the developer"
|
1303 |
+
msgstr ""
|
1304 |
+
|
1305 |
+
#: methods/ftp.php:179
|
1306 |
+
msgid "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:"
|
1307 |
+
msgstr ""
|
1308 |
+
|
1309 |
+
#: methods/ftp.php:182
|
1310 |
+
msgid "Failure: we successfully logged in, but were not able to create a file in the given directory."
|
1311 |
+
msgstr ""
|
1312 |
+
|
1313 |
+
#: addons/webdav.php:40
|
1314 |
+
#: addons/webdav.php:170
|
1315 |
+
#, php-format
|
1316 |
+
msgid "No %s settings were found"
|
1317 |
+
msgstr ""
|
1318 |
+
|
1319 |
+
#: addons/webdav.php:116
|
1320 |
+
#: addons/webdav.php:120
|
1321 |
+
#, php-format
|
1322 |
+
msgid "Chunk %s: A %s error occurred"
|
1323 |
+
msgstr ""
|
1324 |
+
|
1325 |
+
#: addons/webdav.php:182
|
1326 |
+
#: addons/webdav.php:188
|
1327 |
+
#: addons/webdav.php:200
|
1328 |
+
msgid "WebDAV Error"
|
1329 |
+
msgstr ""
|
1330 |
+
|
1331 |
+
#: addons/webdav.php:182
|
1332 |
+
msgid "Error opening local file: Failed to download"
|
1333 |
+
msgstr ""
|
1334 |
+
|
1335 |
+
#: addons/webdav.php:188
|
1336 |
+
msgid "Error opening remote file: Failed to download"
|
1337 |
+
msgstr ""
|
1338 |
+
|
1339 |
+
#: addons/webdav.php:200
|
1340 |
+
msgid "Local write failed: Failed to download"
|
1341 |
+
msgstr ""
|
1342 |
+
|
1343 |
+
#: addons/webdav.php:234
|
1344 |
+
msgid "WebDAV URL"
|
1345 |
+
msgstr ""
|
1346 |
+
|
1347 |
+
#: addons/webdav.php:238
|
1348 |
+
#, php-format
|
1349 |
+
msgid "Enter a complete URL, beginning with webdav:// or webdavs:// and including path, username, password and port as required - e.g.%s"
|
1350 |
+
msgstr ""
|
1351 |
+
|
1352 |
+
#: addons/webdav.php:281
|
1353 |
+
msgid "Failed"
|
1354 |
+
msgstr ""
|
1355 |
+
|
1356 |
+
#: addons/webdav.php:295
|
1357 |
+
msgid "Failed: We were not able to place a file in that directory - please check your credentials."
|
1358 |
+
msgstr ""
|
1359 |
+
|
1360 |
+
#: addons/sftp.php:23
|
1361 |
+
msgid "Encrypted FTP is available, and will be automatically tried first (before falling back to non-encrypted if it is not successful). The 'Test FTP Login' button will tell you what type of connection is in use."
|
1362 |
+
msgstr ""
|
1363 |
+
|
1364 |
+
#: addons/sftp.php:30
|
1365 |
+
#: addons/sftp.php:31
|
1366 |
+
#: addons/sftp.php:32
|
1367 |
+
#, php-format
|
1368 |
+
msgid "No %s found"
|
1369 |
+
msgstr ""
|
1370 |
+
|
1371 |
+
#: addons/sftp.php:30
|
1372 |
+
msgid "SFTP host setting"
|
1373 |
+
msgstr ""
|
1374 |
+
|
1375 |
+
#: addons/sftp.php:31
|
1376 |
+
msgid "SFTP user setting"
|
1377 |
+
msgstr ""
|
1378 |
+
|
1379 |
+
#: addons/sftp.php:32
|
1380 |
+
msgid "SFTP passwrd"
|
1381 |
+
msgstr ""
|
1382 |
+
|
1383 |
+
#: addons/sftp.php:50
|
1384 |
+
#: addons/sftp.php:293
|
1385 |
+
msgid "Check your file permissions: Could not successfully create and enter:"
|
1386 |
+
msgstr ""
|
1387 |
+
|
1388 |
+
#: addons/sftp.php:128
|
1389 |
+
#, php-format
|
1390 |
+
msgid "%s Error: Failed to download"
|
1391 |
+
msgstr ""
|
1392 |
+
|
1393 |
+
#: addons/sftp.php:172
|
1394 |
+
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."
|
1395 |
+
msgstr ""
|
1396 |
+
|
1397 |
+
#: addons/sftp.php:177
|
1398 |
+
msgid "Host"
|
1399 |
+
msgstr ""
|
1400 |
+
|
1401 |
+
#: addons/sftp.php:184
|
1402 |
+
msgid "Port"
|
1403 |
+
msgstr ""
|
1404 |
+
|
1405 |
+
#: addons/sftp.php:191
|
1406 |
+
msgid "Username"
|
1407 |
+
msgstr ""
|
1408 |
+
|
1409 |
+
#: addons/sftp.php:198
|
1410 |
+
msgid "Password"
|
1411 |
+
msgstr ""
|
1412 |
+
|
1413 |
+
#: addons/sftp.php:214
|
1414 |
+
msgid "Directory path"
|
1415 |
+
msgstr ""
|
1416 |
+
|
1417 |
+
#: addons/sftp.php:216
|
1418 |
+
msgid "Where to change directory to after logging in - often this is relative to your home directory."
|
1419 |
+
msgstr ""
|
1420 |
+
|
1421 |
+
#: addons/sftp.php:254
|
1422 |
+
msgid "host name"
|
1423 |
+
msgstr ""
|
1424 |
+
|
1425 |
+
#: addons/sftp.php:258
|
1426 |
+
msgid "username"
|
1427 |
+
msgstr ""
|
1428 |
+
|
1429 |
+
#: addons/sftp.php:262
|
1430 |
+
msgid "password"
|
1431 |
+
msgstr ""
|
1432 |
+
|
1433 |
+
#: addons/sftp.php:267
|
1434 |
+
msgid "Failure: Port must be an integer."
|
1435 |
+
msgstr ""
|
1436 |
+
|
1437 |
+
#: addons/sftp.php:307
|
1438 |
+
msgid "Failed: We were able to log in and move to the indicated directory, but failed to successfully created a file in that location."
|
1439 |
+
msgstr ""
|
1440 |
+
|
1441 |
+
#: addons/fixtime.php:77
|
1442 |
+
#: addons/fixtime.php:87
|
1443 |
+
msgid "starting from next time it is"
|
1444 |
+
msgstr ""
|
1445 |
+
|
1446 |
+
#: addons/fixtime.php:77
|
1447 |
+
#: addons/fixtime.php:87
|
1448 |
+
msgid "Enter in format HH:MM (e.g. 14:22)"
|
1449 |
+
msgstr ""
|
1450 |
+
|
1451 |
+
#: addons/multisite.php:103
|
1452 |
+
msgid "Multisite Install"
|
1453 |
+
msgstr ""
|
1454 |
+
|
1455 |
+
#: addons/multisite.php:109
|
1456 |
+
msgid "You do not have sufficient permissions to access this page."
|
1457 |
+
msgstr ""
|
1458 |
+
|
1459 |
+
#: addons/multisite.php:128
|
1460 |
+
msgid "You do not have permission to access this page."
|
1461 |
+
msgstr ""
|
1462 |
+
|
1463 |
+
#: addons/multisite.php:180
|
1464 |
+
msgid "Must-use plugins"
|
1465 |
+
msgstr ""
|
1466 |
+
|
1467 |
+
#: addons/multisite.php:181
|
1468 |
+
msgid "Blog uploads"
|
1469 |
+
msgstr ""
|
1470 |
+
|
1471 |
+
#: addons/dropbox-folders.php:21
|
1472 |
+
msgid "Store at"
|
1473 |
+
msgstr ""
|
1474 |
+
|
methods/dropbox.php
CHANGED
@@ -32,7 +32,7 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
32 |
|
33 |
if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token', 'xyz') == 'xyz') {
|
34 |
$updraftplus->log('You do not appear to be authenticated with Dropbox');
|
35 |
-
$updraftplus->error('You do not appear to be authenticated with Dropbox');
|
36 |
return false;
|
37 |
}
|
38 |
|
@@ -43,7 +43,8 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
43 |
$dropbox->setChunkSize(524288); // 512Kb
|
44 |
} catch (Exception $e) {
|
45 |
$updraftplus->log('Dropbox error: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
46 |
-
$updraftplus->error('Dropbox
|
|
|
47 |
return false;
|
48 |
}
|
49 |
|
@@ -93,12 +94,13 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
93 |
$dropbox->chunkedUpload($updraft_dir.'/'.$file, '', $ufile, true, $dropbox_wanted, $upload_id, array($ourself, 'chunked_callback'));
|
94 |
} catch (Exception $e) {
|
95 |
$updraftplus->log('Dropbox error: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
96 |
-
|
|
|
97 |
$file_success = 0;
|
98 |
}
|
99 |
} else {
|
100 |
$updraftplus->log('Dropbox error: '.$e->getMessage());
|
101 |
-
$updraftplus->error(
|
102 |
$file_success = 0;
|
103 |
}
|
104 |
}
|
@@ -162,7 +164,7 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
162 |
global $updraftplus;
|
163 |
|
164 |
if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token', 'xyz') == 'xyz') {
|
165 |
-
$updraftplus->error('You do not appear to be authenticated with Dropbox');
|
166 |
return false;
|
167 |
}
|
168 |
|
@@ -212,15 +214,19 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
212 |
<td></td>
|
213 |
<td>
|
214 |
<img alt="Dropbox logo" src="<?php echo UPDRAFTPLUS_URL.'/images/dropbox-logo.png' ?>">
|
215 |
-
<p><em
|
216 |
</td>
|
217 |
</tr>
|
218 |
|
219 |
-
<?php
|
|
|
|
|
|
|
|
|
220 |
|
221 |
<tr class="updraftplusmethod dropbox">
|
222 |
-
<th
|
223 |
-
<td><p><?php if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token','xyz') != 'xyz') echo "<strong>(You appear to be already authenticated).</strong>"; ?> <a href="?page=updraftplus&action=updraftmethod-dropbox-auth&updraftplus_dropboxauth=doit"
|
224 |
</p>
|
225 |
</td>
|
226 |
</tr>
|
@@ -231,15 +237,15 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
231 |
<?php
|
232 |
// Check requirements.
|
233 |
if (!function_exists('mcrypt_encrypt')) {
|
234 |
-
?><p><strong
|
235 |
}
|
236 |
if (!function_exists("curl_init")) {
|
237 |
-
?><p><strong
|
238 |
} else {
|
239 |
$curl_version = curl_version();
|
240 |
$curl_ssl_supported= ($curl_version['features'] & CURL_VERSION_SSL);
|
241 |
if (!$curl_ssl_supported) {
|
242 |
-
?><p><strong
|
243 |
}
|
244 |
}
|
245 |
?>
|
@@ -284,13 +290,13 @@ class UpdraftPlus_BackupModule_dropbox {
|
|
284 |
$dropbox = self::bootstrap();
|
285 |
$accountInfo = $dropbox->accountInfo();
|
286 |
|
287 |
-
$message = "<strong>Success</strong>: you have authenticated your
|
288 |
|
289 |
if ($accountInfo['code'] != "200") {
|
290 |
-
$message .= " (though part of the returned information was not as expected - your mileage may vary)". $accountInfo['code'];
|
291 |
} else {
|
292 |
$body = $accountInfo['body'];
|
293 |
-
$message .= ". Your
|
294 |
}
|
295 |
$updraftplus->show_admin_warning($message);
|
296 |
|
32 |
|
33 |
if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token', 'xyz') == 'xyz') {
|
34 |
$updraftplus->log('You do not appear to be authenticated with Dropbox');
|
35 |
+
$updraftplus->error(__('You do not appear to be authenticated with Dropbox','updraftplus'));
|
36 |
return false;
|
37 |
}
|
38 |
|
43 |
$dropbox->setChunkSize(524288); // 512Kb
|
44 |
} catch (Exception $e) {
|
45 |
$updraftplus->log('Dropbox error: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
46 |
+
$updraftplus->error('Dropbox ',sprintf(__('error: %s (see log file for more)','updraftplus'), $e->getMessage()));
|
47 |
+
|
48 |
return false;
|
49 |
}
|
50 |
|
94 |
$dropbox->chunkedUpload($updraft_dir.'/'.$file, '', $ufile, true, $dropbox_wanted, $upload_id, array($ourself, 'chunked_callback'));
|
95 |
} catch (Exception $e) {
|
96 |
$updraftplus->log('Dropbox error: '.$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
97 |
+
|
98 |
+
$updraftplus->error('Dropbox ',sprintf(__('error: failed to upload file to %s (see log file for more)','updraftplus'), $ufile));
|
99 |
$file_success = 0;
|
100 |
}
|
101 |
} else {
|
102 |
$updraftplus->log('Dropbox error: '.$e->getMessage());
|
103 |
+
$updraftplus->error('Dropbox ',sprintf(__('error: failed to upload file to %s (see log file for more)','updraftplus'), $ufile));
|
104 |
$file_success = 0;
|
105 |
}
|
106 |
}
|
164 |
global $updraftplus;
|
165 |
|
166 |
if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token', 'xyz') == 'xyz') {
|
167 |
+
$updraftplus->error(__('You do not appear to be authenticated with Dropbox','updraftplus'));
|
168 |
return false;
|
169 |
}
|
170 |
|
214 |
<td></td>
|
215 |
<td>
|
216 |
<img alt="Dropbox logo" src="<?php echo UPDRAFTPLUS_URL.'/images/dropbox-logo.png' ?>">
|
217 |
+
<p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your blog is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),'Dropbox');?></em></p>
|
218 |
</td>
|
219 |
</tr>
|
220 |
|
221 |
+
<?php
|
222 |
+
|
223 |
+
$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>';
|
224 |
+
|
225 |
+
echo apply_filters('updraftplus_dropbox_extra_config', $defmsg); ?>
|
226 |
|
227 |
<tr class="updraftplusmethod dropbox">
|
228 |
+
<th><?php _e('Authenticate with Dropbox','updraftplus');?>:</th>
|
229 |
+
<td><p><?php if (UpdraftPlus_Options::get_updraft_option('updraft_dropboxtk_request_token','xyz') != 'xyz') echo "<strong>(You appear to be already authenticated).</strong>"; ?> <a href="?page=updraftplus&action=updraftmethod-dropbox-auth&updraftplus_dropboxauth=doit"><?php echo __('<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.','updraftplus');?></a>
|
230 |
</p>
|
231 |
</td>
|
232 |
</tr>
|
237 |
<?php
|
238 |
// Check requirements.
|
239 |
if (!function_exists('mcrypt_encrypt')) {
|
240 |
+
?><p><strong><?php _e('Warning','updraftplus'); ?>:</strong> <?php _e("Your web server's PHP installation does not included a required module (MCrypt). Please contact your web hosting provider's support. UpdraftPlus's Dropbox module <strong>requires</strong> MCrypt. Please do not file any support requests; there is no alternative.",'updraftplus');?></p><?php
|
241 |
}
|
242 |
if (!function_exists("curl_init")) {
|
243 |
+
?><p><strong><?php _e('Warning','updraftplus'); ?>:</strong> <?php _e("Your web server's PHP installation does not included a required module (Curl). Please contact your web hosting provider's support. UpdraftPlus's Dropbox 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.",'updraftplus');?></p><?php
|
244 |
} else {
|
245 |
$curl_version = curl_version();
|
246 |
$curl_ssl_supported= ($curl_version['features'] & CURL_VERSION_SSL);
|
247 |
if (!$curl_ssl_supported) {
|
248 |
+
?><p><strong><?php _e('Warning','updraftplus'); ?>:</strong> <?php _e("Your web server's PHP/Curl installation does not support https access. We cannot access Dropbox without this support. Please contact your web hosting provider's support. UpdraftPlus's Dropbox module <strong>requires</strong> Curl+https. Your only options to get this working are 1) Install/enable curl with https or 2) Hire us or someone else to code additional support options into UpdraftPlus. 3) Wait, possibly forever, for someone else to do this.",'updraftplus');?></p><?php
|
249 |
}
|
250 |
}
|
251 |
?>
|
290 |
$dropbox = self::bootstrap();
|
291 |
$accountInfo = $dropbox->accountInfo();
|
292 |
|
293 |
+
$message = "<strong>".__('Success','updraftplus').'</strong>: '.sprintf(__('you have authenticated your %s account','updraftplus'),'Dropbox');
|
294 |
|
295 |
if ($accountInfo['code'] != "200") {
|
296 |
+
$message .= " (".__('though part of the returned information was not as expected - your mileage may vary','updraftplus').")". $accountInfo['code'];
|
297 |
} else {
|
298 |
$body = $accountInfo['body'];
|
299 |
+
$message .= ". ".sprintf(__('Your %s account name','updraftplus'),'Dropbox').": ".htmlspecialchars($body->display_name);
|
300 |
}
|
301 |
$updraftplus->show_admin_warning($message);
|
302 |
|
methods/email.php
CHANGED
@@ -12,7 +12,7 @@ class UpdraftPlus_BackupModule_email {
|
|
12 |
|
13 |
foreach ($backup_array as $type => $file) {
|
14 |
$fullpath = $updraft_dir.$file;
|
15 |
-
wp_mail(UpdraftPlus_Options::get_updraft_option('updraft_email'), "WordPress Backup ".date('Y-m-d H:i',$updraftplus->backup_time), "Backup is of
|
16 |
$updraftplus->uploaded_file($file);
|
17 |
}
|
18 |
$updraftplus->prune_retained_backups("email", null, null);
|
@@ -21,8 +21,8 @@ class UpdraftPlus_BackupModule_email {
|
|
21 |
public static function config_print() {
|
22 |
?>
|
23 |
<tr class="updraftplusmethod email">
|
24 |
-
<th
|
25 |
-
<td
|
26 |
</tr>
|
27 |
<?php
|
28 |
}
|
12 |
|
13 |
foreach ($backup_array as $type => $file) {
|
14 |
$fullpath = $updraft_dir.$file;
|
15 |
+
wp_mail(UpdraftPlus_Options::get_updraft_option('updraft_email'), __("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));
|
16 |
$updraftplus->uploaded_file($file);
|
17 |
}
|
18 |
$updraftplus->prune_retained_backups("email", null, null);
|
21 |
public static function config_print() {
|
22 |
?>
|
23 |
<tr class="updraftplusmethod email">
|
24 |
+
<th><?php _e('Note:','updraftplus');?></th>
|
25 |
+
<td><?php echo htmlspecialchars(__('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.','updraftplus'));?></td>
|
26 |
</tr>
|
27 |
<?php
|
28 |
}
|
methods/ftp.php
CHANGED
@@ -16,7 +16,7 @@ class UpdraftPlus_BackupModule_ftp {
|
|
16 |
|
17 |
if (!$ftp->connect()) {
|
18 |
$updraftplus->log("FTP Failure: we did not successfully log in with those credentials.");
|
19 |
-
$updraftplus->error("FTP login failure");
|
20 |
return false;
|
21 |
}
|
22 |
|
@@ -35,7 +35,7 @@ class UpdraftPlus_BackupModule_ftp {
|
|
35 |
$updraftplus->uploaded_file($file);
|
36 |
} else {
|
37 |
$updraftplus->log("ERROR: FTP upload failed" );
|
38 |
-
$updraftplus->error("FTP upload failed"
|
39 |
}
|
40 |
}
|
41 |
|
@@ -56,13 +56,15 @@ class UpdraftPlus_BackupModule_ftp {
|
|
56 |
function download($file) {
|
57 |
if( !class_exists('UpdraftPlus_ftp_wrapper')) require_once(UPDRAFTPLUS_DIR.'/includes/ftp.class.php');
|
58 |
|
|
|
|
|
59 |
//handle errors at some point TODO
|
60 |
$ftp = new UpdraftPlus_ftp_wrapper(UpdraftPlus_Options::get_updraft_option('updraft_server_address'),UpdraftPlus_Options::get_updraft_option('updraft_ftp_login'),UpdraftPlus_Options::get_updraft_option('updraft_ftp_pass'));
|
61 |
$ftp->passive = true;
|
62 |
|
63 |
if (!$ftp->connect()) {
|
64 |
$updraftplus->log("FTP Failure: we did not successfully log in with those credentials.");
|
65 |
-
$updraftplus->error("FTP login failure");
|
66 |
return false;
|
67 |
}
|
68 |
|
@@ -88,7 +90,7 @@ class UpdraftPlus_BackupModule_ftp {
|
|
88 |
path: jQuery('#updraft_ftp_remote_path').val()
|
89 |
};
|
90 |
jQuery.post(ajaxurl, data, function(response) {
|
91 |
-
alert('Settings test result
|
92 |
});
|
93 |
});
|
94 |
<?php
|
@@ -99,28 +101,28 @@ class UpdraftPlus_BackupModule_ftp {
|
|
99 |
|
100 |
<tr class="updraftplusmethod ftp">
|
101 |
<th></th>
|
102 |
-
<td><em><?php echo apply_filters('updraft_sftp_ftps_notice', '<strong>Only non-encrypted FTP is supported by regular UpdraftPlus
|
103 |
</tr>
|
104 |
|
105 |
<tr class="updraftplusmethod ftp">
|
106 |
-
<th
|
107 |
<td><input type="text" size="40" id="updraft_server_address" name="updraft_server_address" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_server_address')); ?>" /></td>
|
108 |
</tr>
|
109 |
<tr class="updraftplusmethod ftp">
|
110 |
-
<th
|
111 |
<td><input type="text" size="40" id="updraft_ftp_login" name="updraft_ftp_login" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_ftp_login')) ?>" /></td>
|
112 |
</tr>
|
113 |
<tr class="updraftplusmethod ftp">
|
114 |
-
<th
|
115 |
<td><input type="text" size="40" id="updraft_ftp_pass" name="updraft_ftp_pass" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_ftp_pass')); ?>" /></td>
|
116 |
</tr>
|
117 |
<tr class="updraftplusmethod ftp">
|
118 |
-
<th
|
119 |
-
<td><input type="text" size="64" id="updraft_ftp_remote_path" name="updraft_ftp_remote_path" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_ftp_remote_path')); ?>" /> <em
|
120 |
</tr>
|
121 |
<tr class="updraftplusmethod ftp">
|
122 |
<th></th>
|
123 |
-
<td><p><button id="updraft-ftp-test" type="button" class="button-primary" style="font-size:18px !important"
|
124 |
</tr>
|
125 |
<?php
|
126 |
}
|
@@ -133,15 +135,15 @@ class UpdraftPlus_BackupModule_ftp {
|
|
133 |
$path = $_POST['path'];
|
134 |
|
135 |
if (empty($server)) {
|
136 |
-
|
137 |
return;
|
138 |
}
|
139 |
if (empty($login)) {
|
140 |
-
|
141 |
return;
|
142 |
}
|
143 |
if (empty($pass)) {
|
144 |
-
|
145 |
return;
|
146 |
}
|
147 |
|
@@ -152,7 +154,7 @@ class UpdraftPlus_BackupModule_ftp {
|
|
152 |
$ftp->passive = true;
|
153 |
|
154 |
if (!$ftp->connect()) {
|
155 |
-
|
156 |
return;
|
157 |
}
|
158 |
//$ftp->make_dir(); we may need to recursively create dirs? TODO
|
@@ -160,18 +162,18 @@ class UpdraftPlus_BackupModule_ftp {
|
|
160 |
$file = md5(rand(0,99999999)).'.tmp';
|
161 |
$fullpath = trailingslashit($path).$file;
|
162 |
if (!file_exists(ABSPATH.'wp-includes/version.php')) {
|
163 |
-
|
164 |
return;
|
165 |
}
|
166 |
if ($ftp->put(ABSPATH.'wp-includes/version.php', $fullpath, FTP_BINARY)) {
|
167 |
-
echo "Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type: ".$ftp->login_type.')';
|
168 |
@$ftp->delete($fullpath);
|
169 |
} else {
|
170 |
-
|
171 |
}
|
172 |
|
173 |
}
|
174 |
|
175 |
}
|
176 |
|
177 |
-
?>
|
16 |
|
17 |
if (!$ftp->connect()) {
|
18 |
$updraftplus->log("FTP Failure: we did not successfully log in with those credentials.");
|
19 |
+
$updraftplus->error(__("FTP login failure",'updraftplus'));
|
20 |
return false;
|
21 |
}
|
22 |
|
35 |
$updraftplus->uploaded_file($file);
|
36 |
} else {
|
37 |
$updraftplus->log("ERROR: FTP upload failed" );
|
38 |
+
$updraftplus->error(__("FTP upload failed",'updraftplus'));
|
39 |
}
|
40 |
}
|
41 |
|
56 |
function download($file) {
|
57 |
if( !class_exists('UpdraftPlus_ftp_wrapper')) require_once(UPDRAFTPLUS_DIR.'/includes/ftp.class.php');
|
58 |
|
59 |
+
global $updraftplus;
|
60 |
+
|
61 |
//handle errors at some point TODO
|
62 |
$ftp = new UpdraftPlus_ftp_wrapper(UpdraftPlus_Options::get_updraft_option('updraft_server_address'),UpdraftPlus_Options::get_updraft_option('updraft_ftp_login'),UpdraftPlus_Options::get_updraft_option('updraft_ftp_pass'));
|
63 |
$ftp->passive = true;
|
64 |
|
65 |
if (!$ftp->connect()) {
|
66 |
$updraftplus->log("FTP Failure: we did not successfully log in with those credentials.");
|
67 |
+
$updraftplus->error(__("FTP login failure",'updraftplus'));
|
68 |
return false;
|
69 |
}
|
70 |
|
90 |
path: jQuery('#updraft_ftp_remote_path').val()
|
91 |
};
|
92 |
jQuery.post(ajaxurl, data, function(response) {
|
93 |
+
alert('<?php _e('Settings test result','updraftplus');?>: ' + response);
|
94 |
});
|
95 |
});
|
96 |
<?php
|
101 |
|
102 |
<tr class="updraftplusmethod ftp">
|
103 |
<th></th>
|
104 |
+
<td><em><?php echo apply_filters('updraft_sftp_ftps_notice', '<strong>'.__('Only non-encrypted FTP is supported by regular UpdraftPlus.').'</strong> <a href="http://updraftplus.com/shop/sftp/">'.__('If you want encryption (e.g. you are storing sensitive business data), then an add-on is available.','updraftplus')).'</a>'; ?></em></td>
|
105 |
</tr>
|
106 |
|
107 |
<tr class="updraftplusmethod ftp">
|
108 |
+
<th><?php _e('FTP Server','updraftplus');?>:</th>
|
109 |
<td><input type="text" size="40" id="updraft_server_address" name="updraft_server_address" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_server_address')); ?>" /></td>
|
110 |
</tr>
|
111 |
<tr class="updraftplusmethod ftp">
|
112 |
+
<th><?php _e('FTP Login','updraftplus');?>:</th>
|
113 |
<td><input type="text" size="40" id="updraft_ftp_login" name="updraft_ftp_login" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_ftp_login')) ?>" /></td>
|
114 |
</tr>
|
115 |
<tr class="updraftplusmethod ftp">
|
116 |
+
<th><?php _e('FTP Password','updraftplus');?>:</th>
|
117 |
<td><input type="text" size="40" id="updraft_ftp_pass" name="updraft_ftp_pass" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_ftp_pass')); ?>" /></td>
|
118 |
</tr>
|
119 |
<tr class="updraftplusmethod ftp">
|
120 |
+
<th><?php _e('Remote Path','updraftplus');?>:</th>
|
121 |
+
<td><input type="text" size="64" id="updraft_ftp_remote_path" name="updraft_ftp_remote_path" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_ftp_remote_path')); ?>" /> <em><?php _e('Needs to already exist','updraftplus');?></em></td>
|
122 |
</tr>
|
123 |
<tr class="updraftplusmethod ftp">
|
124 |
<th></th>
|
125 |
+
<td><p><button id="updraft-ftp-test" type="button" class="button-primary" style="font-size:18px !important"><?php echo sprintf(__('Test %s Settings','updraftplus'),'FTP');?></button></p></td>
|
126 |
</tr>
|
127 |
<?php
|
128 |
}
|
135 |
$path = $_POST['path'];
|
136 |
|
137 |
if (empty($server)) {
|
138 |
+
_e("Failure: No server details were given.",'updraftplus');
|
139 |
return;
|
140 |
}
|
141 |
if (empty($login)) {
|
142 |
+
printf(__("Failure: No %s was given.",'updraftplus'),'login');
|
143 |
return;
|
144 |
}
|
145 |
if (empty($pass)) {
|
146 |
+
printf(__("Failure: No %s was given.",'updraftplus'),'password');
|
147 |
return;
|
148 |
}
|
149 |
|
154 |
$ftp->passive = true;
|
155 |
|
156 |
if (!$ftp->connect()) {
|
157 |
+
_e("Failure: we did not successfully log in with those credentials.",'updraftplus');
|
158 |
return;
|
159 |
}
|
160 |
//$ftp->make_dir(); we may need to recursively create dirs? TODO
|
162 |
$file = md5(rand(0,99999999)).'.tmp';
|
163 |
$fullpath = trailingslashit($path).$file;
|
164 |
if (!file_exists(ABSPATH.'wp-includes/version.php')) {
|
165 |
+
_e("Failure: an unexpected internal UpdraftPlus error occurred when testing the credentials - please contact the developer");
|
166 |
return;
|
167 |
}
|
168 |
if ($ftp->put(ABSPATH.'wp-includes/version.php', $fullpath, FTP_BINARY)) {
|
169 |
+
echo __("Success: we successfully logged in, and confirmed our ability to create a file in the given directory (login type:",'updraftplus')." ".$ftp->login_type.')';
|
170 |
@$ftp->delete($fullpath);
|
171 |
} else {
|
172 |
+
_e('Failure: we successfully logged in, but were not able to create a file in the given directory.');
|
173 |
}
|
174 |
|
175 |
}
|
176 |
|
177 |
}
|
178 |
|
179 |
+
?>
|
methods/googledrive.php
CHANGED
@@ -91,7 +91,8 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
91 |
$json_values = json_decode( $result['body'], true );
|
92 |
if ( isset( $json_values['refresh_token'] ) ) {
|
93 |
UpdraftPlus_Options::update_updraft_option('updraft_googledrive_token', $json_values['refresh_token']); // Save token
|
94 |
-
header('Location: '.admin_url('options-general.php?page=updraftplus&message='
|
|
|
95 |
}
|
96 |
else {
|
97 |
header('Location: '.admin_url('options-general.php?page=updraftplus&error=' . __( '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.', 'updraftplus' ) ) );
|
@@ -99,7 +100,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
99 |
}
|
100 |
}
|
101 |
else {
|
102 |
-
header('Location: '.admin_url('options-general.php?page=updraftplus&error=' . __( 'Authorization failed
|
103 |
}
|
104 |
}
|
105 |
|
@@ -113,8 +114,8 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
113 |
// Do we have an access token?
|
114 |
if ( !$access_token = $this->access_token( UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret') )) {
|
115 |
$updraftplus->log('ERROR: Have not yet obtained an access token from Google (has the user authorised?)');
|
116 |
-
$updraftplus->error('Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.');
|
117 |
-
return new WP_Error( "no_access_token", "Have not yet obtained an access token from Google (has the user authorised?");
|
118 |
}
|
119 |
|
120 |
$this->gdocs_access_token = $access_token;
|
@@ -131,7 +132,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
131 |
$updraftplus->uploaded_file($file, $id);
|
132 |
} else {
|
133 |
$updraftplus->log("ERROR: $file_name: Failed to upload to Google Drive" );
|
134 |
-
$updraftplus->error("$file_name: Failed to upload to Google Drive
|
135 |
}
|
136 |
}
|
137 |
$updraftplus->prune_retained_backups("googledrive", $this, null);
|
@@ -185,7 +186,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
185 |
$updraftplus->log("GoogleDrive upload: an error occurred");
|
186 |
foreach ($location->get_error_messages() as $msg) {
|
187 |
$updraftplus->log("Error details: ".$msg);
|
188 |
-
$updraftplus->error(
|
189 |
}
|
190 |
return false;
|
191 |
}
|
@@ -221,7 +222,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
221 |
|
222 |
if ( is_wp_error( $res ) || $res !== true) {
|
223 |
$updraftplus->log( "An error occurred during GoogleDrive upload (2)" );
|
224 |
-
$updraftplus->error(
|
225 |
if (is_wp_error( $res )) {
|
226 |
foreach ($res->get_error_messages() as $msg) $updraftplus->log($msg);
|
227 |
}
|
@@ -250,7 +251,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
250 |
|
251 |
// Do we have an access token?
|
252 |
if ( !$access_token = $this->access_token( UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret') )) {
|
253 |
-
$updraftplus->error('Have not yet obtained an access token from Google (has the user authorised?)');
|
254 |
return false;
|
255 |
}
|
256 |
|
@@ -262,12 +263,12 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
262 |
|
263 |
$ids = UpdraftPlus_Options::get_updraft_option('updraft_file_ids', array());
|
264 |
if (!isset($ids[$file])) {
|
265 |
-
$updraftplus->error("Google Drive error:
|
266 |
return;
|
267 |
} else {
|
268 |
$content_link = $gdocs_object->get_content_link( $ids[$file], $file );
|
269 |
if (is_wp_error($content_link)) {
|
270 |
-
$updraftplus->error("Could not find
|
271 |
foreach ($content_link->get_error_messages() as $msg) $updraftplus->error($msg);
|
272 |
return false;
|
273 |
}
|
@@ -279,7 +280,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
279 |
if (filesize($download_to) > 0) {
|
280 |
return true;
|
281 |
} else {
|
282 |
-
$updraftplus->error("Google Drive error: zero-size file was downloaded
|
283 |
return false;
|
284 |
}
|
285 |
|
@@ -297,7 +298,7 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
297 |
if ( ! $this->is_gdocs($this->gdocs) ) {
|
298 |
if ( UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token') == "" || UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid') == "" || UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret') == "" ) {
|
299 |
$updraftplus->log("GoogleDrive: this account is not authorised");
|
300 |
-
return new WP_Error( "not_authorized", "Account is not authorized." );
|
301 |
}
|
302 |
|
303 |
if ( is_wp_error( $this->gdocs_access_token ) ) return $access_token;
|
@@ -321,40 +322,40 @@ class UpdraftPlus_BackupModule_googledrive {
|
|
321 |
public static function config_print() {
|
322 |
?>
|
323 |
<tr class="updraftplusmethod googledrive">
|
324 |
-
<td
|
325 |
<td>
|
326 |
-
<img src="https://developers.google.com/drive/images/drive_logo.png" alt="Google Drive">
|
327 |
-
<p><em
|
328 |
</td>
|
329 |
</tr>
|
330 |
<tr class="updraftplusmethod googledrive">
|
331 |
<th>Google Drive:</th>
|
332 |
<td>
|
333 |
-
<p><a href="http://updraftplus.com/support/configuring-google-drive-api-access-in-updraftplus/"><strong
|
334 |
-
<p><a href="https://code.google.com/apis/console/"
|
335 |
|
336 |
<?php
|
337 |
-
if (!class_exists('SimpleXMLElement')) { echo "
|
338 |
?>
|
339 |
</p>
|
340 |
</td>
|
341 |
</tr>
|
342 |
|
343 |
<tr class="updraftplusmethod googledrive">
|
344 |
-
<th
|
345 |
-
<td><input type="text" autocomplete="off" style="width:352px" name="updraft_googledrive_clientid" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid')) ?>" /><br><em
|
346 |
</tr>
|
347 |
<tr class="updraftplusmethod googledrive">
|
348 |
-
<th
|
349 |
<td><input type="text" style="width:352px" name="updraft_googledrive_secret" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret')); ?>" /></td>
|
350 |
</tr>
|
351 |
<tr class="updraftplusmethod googledrive">
|
352 |
-
<th
|
353 |
-
<td><input type="text" style="width:352px" name="updraft_googledrive_remotepath" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_googledrive_remotepath')); ?>" /> <em
|
354 |
</tr>
|
355 |
<tr class="updraftplusmethod googledrive">
|
356 |
-
<th
|
357 |
-
<td><p><?php if (UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token') != "") echo "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem).</strong>"; ?> <a href="options-general.php?page=updraftplus&action=updraftmethod-googledrive-auth&updraftplus_googleauth=doit"
|
358 |
</p>
|
359 |
</td>
|
360 |
</tr>
|
91 |
$json_values = json_decode( $result['body'], true );
|
92 |
if ( isset( $json_values['refresh_token'] ) ) {
|
93 |
UpdraftPlus_Options::update_updraft_option('updraft_googledrive_token', $json_values['refresh_token']); // Save token
|
94 |
+
header('Location: '.admin_url('options-general.php?page=updraftplus&message='.__('Success','updraftplus').' '.sprintf(__('you have authenticated your %s account','updraftplus'),__('Google Drive','updraftplus'))));
|
95 |
+
|
96 |
}
|
97 |
else {
|
98 |
header('Location: '.admin_url('options-general.php?page=updraftplus&error=' . __( '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.', 'updraftplus' ) ) );
|
100 |
}
|
101 |
}
|
102 |
else {
|
103 |
+
header('Location: '.admin_url('options-general.php?page=updraftplus&error=' . __( 'Authorization failed', 'updraftplus' ) ) );
|
104 |
}
|
105 |
}
|
106 |
|
114 |
// Do we have an access token?
|
115 |
if ( !$access_token = $this->access_token( UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret') )) {
|
116 |
$updraftplus->log('ERROR: Have not yet obtained an access token from Google (has the user authorised?)');
|
117 |
+
$updraftplus->error(__('Have not yet obtained an access token from Google - you need to authorise or re-authorise your connection to Google Drive.','updraftplus'));
|
118 |
+
return new WP_Error( "no_access_token", __("Have not yet obtained an access token from Google (has the user authorised?)",'updraftplus'));
|
119 |
}
|
120 |
|
121 |
$this->gdocs_access_token = $access_token;
|
132 |
$updraftplus->uploaded_file($file, $id);
|
133 |
} else {
|
134 |
$updraftplus->log("ERROR: $file_name: Failed to upload to Google Drive" );
|
135 |
+
$updraftplus->error("$file_name: ".sprintf(__('Failed to upload to %s','updraftplus'),'Google Drive'));
|
136 |
}
|
137 |
}
|
138 |
$updraftplus->prune_retained_backups("googledrive", $this, null);
|
186 |
$updraftplus->log("GoogleDrive upload: an error occurred");
|
187 |
foreach ($location->get_error_messages() as $msg) {
|
188 |
$updraftplus->log("Error details: ".$msg);
|
189 |
+
$updraftplus->error(__('Error','updraftplus').': '.$msg);
|
190 |
}
|
191 |
return false;
|
192 |
}
|
222 |
|
223 |
if ( is_wp_error( $res ) || $res !== true) {
|
224 |
$updraftplus->log( "An error occurred during GoogleDrive upload (2)" );
|
225 |
+
$updraftplus->error(__("An error occurred during GoogleDrive upload (see log for more details)",'') );
|
226 |
if (is_wp_error( $res )) {
|
227 |
foreach ($res->get_error_messages() as $msg) $updraftplus->log($msg);
|
228 |
}
|
251 |
|
252 |
// Do we have an access token?
|
253 |
if ( !$access_token = $this->access_token( UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid'), UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret') )) {
|
254 |
+
$updraftplus->error(__('Have not yet obtained an access token from Google (has the user authorised?)', 'updraftplus'));
|
255 |
return false;
|
256 |
}
|
257 |
|
263 |
|
264 |
$ids = UpdraftPlus_Options::get_updraft_option('updraft_file_ids', array());
|
265 |
if (!isset($ids[$file])) {
|
266 |
+
$updraftplus->error(sprintf(__("Google Drive error: %d: could not download: could not find a record of the Google Drive file ID for this file",'updraftplus'),$file));
|
267 |
return;
|
268 |
} else {
|
269 |
$content_link = $gdocs_object->get_content_link( $ids[$file], $file );
|
270 |
if (is_wp_error($content_link)) {
|
271 |
+
$updraftplus->error(sprintf(__("Could not find %s in order to download it", 'updraftplus'),$file)." (id: ".$ids[$file].")");
|
272 |
foreach ($content_link->get_error_messages() as $msg) $updraftplus->error($msg);
|
273 |
return false;
|
274 |
}
|
280 |
if (filesize($download_to) > 0) {
|
281 |
return true;
|
282 |
} else {
|
283 |
+
$updraftplus->error(__("Google Drive ",'updraftplus').__('error: zero-size file was downloaded','updraftplus'));
|
284 |
return false;
|
285 |
}
|
286 |
|
298 |
if ( ! $this->is_gdocs($this->gdocs) ) {
|
299 |
if ( UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token') == "" || UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid') == "" || UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret') == "" ) {
|
300 |
$updraftplus->log("GoogleDrive: this account is not authorised");
|
301 |
+
return new WP_Error( "not_authorized", __("Account is not authorized.",'updraftplus') );
|
302 |
}
|
303 |
|
304 |
if ( is_wp_error( $this->gdocs_access_token ) ) return $access_token;
|
322 |
public static function config_print() {
|
323 |
?>
|
324 |
<tr class="updraftplusmethod googledrive">
|
325 |
+
<td><?php _e('Google Drive','updraftplus');?>:</td>
|
326 |
<td>
|
327 |
+
<img src="https://developers.google.com/drive/images/drive_logo.png" alt="<?php _e('Google Drive','updraftplus');?>">
|
328 |
+
<p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your blog is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),'Google Drive');?></em></p>
|
329 |
</td>
|
330 |
</tr>
|
331 |
<tr class="updraftplusmethod googledrive">
|
332 |
<th>Google Drive:</th>
|
333 |
<td>
|
334 |
+
<p><a href="http://updraftplus.com/support/configuring-google-drive-api-access-in-updraftplus/"><strong><?php _e('For longer help, including screenshots, follow this link. The description below is sufficient for more expert users.','updraftplus');?></strong></a></p>
|
335 |
+
<p><a href="https://code.google.com/apis/console/"><?php _e('Follow this link to your Google API Console, and there create a Client ID in the API Access section.','updraftplus');?></a> <?php _e("Select 'Web Application' as the application type.",'updraftplus');?></p><p><?php echo htmlspecialchars(__('You must add the following as the authorised redirect URI (under "More Options") when asked','updraftplus'));?>: <kbd><?php echo admin_url('options-general.php?page=updraftplus&action=updraftmethod-googledrive-auth'); ?></kbd> <?php _e('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 blog.','updraftplus');?>
|
336 |
|
337 |
<?php
|
338 |
+
if (!class_exists('SimpleXMLElement')) { echo "<b>",__('Warning','updraftplus').':</b> '.__("You do not have the SimpleXMLElement installed. Google Drive backups will <b>not</b> work until you do.",'updraftplus'); }
|
339 |
?>
|
340 |
</p>
|
341 |
</td>
|
342 |
</tr>
|
343 |
|
344 |
<tr class="updraftplusmethod googledrive">
|
345 |
+
<th><?php echo __('Google Drive','updraftplus').' '.__('Client ID','updraftplus'); ?>:</th>
|
346 |
+
<td><input type="text" autocomplete="off" style="width:352px" name="updraft_googledrive_clientid" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid')) ?>" /><br><em><?php _e('If Google later shows you the message "invalid_client", then you did not enter a valid client ID here.','updraftplus');?></em></td>
|
347 |
</tr>
|
348 |
<tr class="updraftplusmethod googledrive">
|
349 |
+
<th><?php echo __('Google Drive','updraftplus').' '.__('Client Secret','updraftplus'); ?>:</th>
|
350 |
<td><input type="text" style="width:352px" name="updraft_googledrive_secret" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_googledrive_secret')); ?>" /></td>
|
351 |
</tr>
|
352 |
<tr class="updraftplusmethod googledrive">
|
353 |
+
<th><?php echo __('Google Drive','updraftplus').' '.__('Folder ID','updraftplus'); ?>::</th>
|
354 |
+
<td><input type="text" style="width:352px" name="updraft_googledrive_remotepath" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_googledrive_remotepath')); ?>" /> <em><?php _e("<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)",'updraftplus');?></em></td>
|
355 |
</tr>
|
356 |
<tr class="updraftplusmethod googledrive">
|
357 |
+
<th><?php _e('Authenticate with Google');?>:</th>
|
358 |
+
<td><p><?php if (UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token') != "") echo "<strong>(You appear to be already authenticated,</strong> though you can authenticate again to refresh your access if you've had a problem).</strong>"; ?> <a href="options-general.php?page=updraftplus&action=updraftmethod-googledrive-auth&updraftplus_googleauth=doit"><?php print __('<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.','updraftplus');?></a>
|
359 |
</p>
|
360 |
</td>
|
361 |
</tr>
|
methods/s3.php
CHANGED
@@ -74,7 +74,7 @@ class UpdraftPlus_BackupModule_s3 {
|
|
74 |
if ($chunks < 2) {
|
75 |
if (!$s3->putObjectFile($fullpath, $bucket_name, $filepath)) {
|
76 |
$updraftplus->log("S3 regular upload: failed ($fullpath)");
|
77 |
-
$updraftplus->error("
|
78 |
} else {
|
79 |
$updraftplus->log("S3 regular upload: success");
|
80 |
$updraftplus->uploaded_file($file);
|
@@ -95,7 +95,7 @@ class UpdraftPlus_BackupModule_s3 {
|
|
95 |
|
96 |
if (empty($uploadId)) {
|
97 |
$updraftplus->log("S3 upload: failed: could not get uploadId for multipart upload ($filepath)");
|
98 |
-
$updraftplus->error("S3 upload: getting uploadID for multipart upload failed - see log file for more details");
|
99 |
continue;
|
100 |
} else {
|
101 |
$updraftplus->log("S3 chunked upload: got multipart ID: $uploadId");
|
@@ -127,7 +127,7 @@ class UpdraftPlus_BackupModule_s3 {
|
|
127 |
$successes++;
|
128 |
} else {
|
129 |
$updraftplus->log("S3 chunk $i: upload failed");
|
130 |
-
$updraftplus->error("S3 chunk
|
131 |
}
|
132 |
}
|
133 |
}
|
@@ -140,12 +140,12 @@ class UpdraftPlus_BackupModule_s3 {
|
|
140 |
$updraftplus->log("S3 upload ($key): re-assembly succeeded");
|
141 |
$updraftplus->uploaded_file($file);
|
142 |
} else {
|
143 |
-
$updraftplus->log("S3 upload ($key): re-assembly failed");
|
144 |
-
$updraftplus->error(
|
145 |
}
|
146 |
} catch (Exception $e) {
|
147 |
$updraftplus->log("S3 re-assembly error ($key): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
148 |
-
$updraftplus->error("S3 re-assembly error (
|
149 |
}
|
150 |
// Remember to unset, as the deletion code later reuses the object
|
151 |
$s3->setExceptions(false);
|
@@ -157,7 +157,7 @@ class UpdraftPlus_BackupModule_s3 {
|
|
157 |
$updraftplus->prune_retained_backups('s3', $this, array('s3_object' => $s3, 's3_orig_bucket_name' => $orig_bucket_name));
|
158 |
} else {
|
159 |
$updraftplus->log("S3 Error: Failed to create bucket $bucket_name.");
|
160 |
-
$updraftplus->error(
|
161 |
}
|
162 |
}
|
163 |
|
@@ -210,11 +210,11 @@ class UpdraftPlus_BackupModule_s3 {
|
|
210 |
$fullpath = $updraftplus->backups_dir_location().'/'.$file;
|
211 |
if (!$s3->getObject($bucket_name, $bucket_path.$file, $fullpath, true)) {
|
212 |
$updraftplus->log("S3 Error: Failed to download $file. Check your permissions and credentials.");
|
213 |
-
$updraftplus->error(
|
214 |
}
|
215 |
} else {
|
216 |
$updraftplus->log("S3 Error: Failed to access bucket $bucket_name. Check your permissions and credentials.");
|
217 |
-
$updraftplus->error(
|
218 |
}
|
219 |
|
220 |
}
|
@@ -243,28 +243,28 @@ class UpdraftPlus_BackupModule_s3 {
|
|
243 |
?>
|
244 |
<tr class="updraftplusmethod s3">
|
245 |
<td></td>
|
246 |
-
<td><img src="https://d36cz9buwru1tt.cloudfront.net/Powered-by-Amazon-Web-Services.jpg" alt="Amazon Web Services"><p><em
|
247 |
</tr>
|
248 |
<tr class="updraftplusmethod s3">
|
249 |
<th></th>
|
250 |
<td>
|
251 |
-
<p
|
252 |
</td></tr>
|
253 |
<tr class="updraftplusmethod s3">
|
254 |
-
<th
|
255 |
<td><input type="text" autocomplete="off" style="width: 292px" id="updraft_s3_apikey" name="updraft_s3_login" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_s3_login')) ?>" /></td>
|
256 |
</tr>
|
257 |
<tr class="updraftplusmethod s3">
|
258 |
-
<th
|
259 |
<td><input type="text" autocomplete="off" style="width: 292px" id="updraft_s3_apisecret" name="updraft_s3_pass" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_s3_pass')); ?>" /></td>
|
260 |
</tr>
|
261 |
<tr class="updraftplusmethod s3">
|
262 |
-
<th
|
263 |
<td>s3://<input type="text" style="width: 292px" name="updraft_s3_remote_path" id="updraft_s3_path" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_s3_remote_path')); ?>" /></td>
|
264 |
</tr>
|
265 |
<tr class="updraftplusmethod s3">
|
266 |
<th></th>
|
267 |
-
<td><p><button id="updraft-s3-test" type="button" class="button-primary" style="font-size:18px !important"
|
268 |
</tr>
|
269 |
<?php
|
270 |
}
|
@@ -272,11 +272,11 @@ class UpdraftPlus_BackupModule_s3 {
|
|
272 |
public static function credentials_test() {
|
273 |
|
274 |
if (empty($_POST['apikey'])) {
|
275 |
-
|
276 |
return;
|
277 |
}
|
278 |
if (empty($_POST['apisecret'])) {
|
279 |
-
|
280 |
return;
|
281 |
}
|
282 |
|
@@ -293,7 +293,7 @@ class UpdraftPlus_BackupModule_s3 {
|
|
293 |
}
|
294 |
|
295 |
if (empty($bucket)) {
|
296 |
-
|
297 |
return;
|
298 |
}
|
299 |
|
@@ -303,15 +303,17 @@ class UpdraftPlus_BackupModule_s3 {
|
|
303 |
$location = @$s3->getBucketLocation($bucket);
|
304 |
if ($location) {
|
305 |
$bucket_exists = true;
|
306 |
-
$bucket_verb =
|
|
|
307 |
$bucket_region = $location;
|
308 |
} else {
|
309 |
$try_to_create_bucket = @$s3->putBucket($bucket, S3::ACL_PRIVATE);
|
310 |
if ($try_to_create_bucket) {
|
311 |
-
|
|
|
312 |
$bucket_exists = true;
|
313 |
} else {
|
314 |
-
|
315 |
}
|
316 |
}
|
317 |
|
@@ -319,9 +321,9 @@ class UpdraftPlus_BackupModule_s3 {
|
|
319 |
$try_file = md5(rand());
|
320 |
self::set_endpoint($s3, $location);
|
321 |
if (!$s3->putObjectString($try_file, $bucket, $path.$try_file)) {
|
322 |
-
echo "
|
323 |
} else {
|
324 |
-
echo
|
325 |
@$s3->deleteObject($bucket, $path.$try_file);
|
326 |
}
|
327 |
}
|
74 |
if ($chunks < 2) {
|
75 |
if (!$s3->putObjectFile($fullpath, $bucket_name, $filepath)) {
|
76 |
$updraftplus->log("S3 regular upload: failed ($fullpath)");
|
77 |
+
$updraftplus->error("$file: ".sprintf(__('%s Error: Failed to upload','updraftplus'),'S3'));
|
78 |
} else {
|
79 |
$updraftplus->log("S3 regular upload: success");
|
80 |
$updraftplus->uploaded_file($file);
|
95 |
|
96 |
if (empty($uploadId)) {
|
97 |
$updraftplus->log("S3 upload: failed: could not get uploadId for multipart upload ($filepath)");
|
98 |
+
$updraftplus->error(__("S3 upload: getting uploadID for multipart upload failed - see log file for more details",'updraftplus'));
|
99 |
continue;
|
100 |
} else {
|
101 |
$updraftplus->log("S3 chunked upload: got multipart ID: $uploadId");
|
127 |
$successes++;
|
128 |
} else {
|
129 |
$updraftplus->log("S3 chunk $i: upload failed");
|
130 |
+
$updraftplus->error(sprintf(__("S3 chunk %s: upload failed",'updraftplus'),$i));
|
131 |
}
|
132 |
}
|
133 |
}
|
140 |
$updraftplus->log("S3 upload ($key): re-assembly succeeded");
|
141 |
$updraftplus->uploaded_file($file);
|
142 |
} else {
|
143 |
+
$updraftplus->log("S3 upload ($key): re-assembly failed ($file)");
|
144 |
+
$updraftplus->error(sprintf(__('S3 upload (%s): re-assembly failed (see log for more details)','updraftplus'),$key));
|
145 |
}
|
146 |
} catch (Exception $e) {
|
147 |
$updraftplus->log("S3 re-assembly error ($key): ".$e->getMessage().' (line: '.$e->getLine().', file: '.$e->getFile().')');
|
148 |
+
$updraftplus->error($e->getMessage().": ".sprint(__('S3 re-assembly error (%s): (see log file for more)','updraftplus'),$e->getMessage()));
|
149 |
}
|
150 |
// Remember to unset, as the deletion code later reuses the object
|
151 |
$s3->setExceptions(false);
|
157 |
$updraftplus->prune_retained_backups('s3', $this, array('s3_object' => $s3, 's3_orig_bucket_name' => $orig_bucket_name));
|
158 |
} else {
|
159 |
$updraftplus->log("S3 Error: Failed to create bucket $bucket_name.");
|
160 |
+
$updraftplus->error(sprintf(__('S3 Error: Failed to create bucket %s. Check your permissions and credentials.','updraftplus'),$bucket_name));
|
161 |
}
|
162 |
}
|
163 |
|
210 |
$fullpath = $updraftplus->backups_dir_location().'/'.$file;
|
211 |
if (!$s3->getObject($bucket_name, $bucket_path.$file, $fullpath, true)) {
|
212 |
$updraftplus->log("S3 Error: Failed to download $file. Check your permissions and credentials.");
|
213 |
+
$updraftplus->error(sprintf(__('S3 Error: Failed to download %s. Check your permissions and credentials.','updraftplus'),$file));
|
214 |
}
|
215 |
} else {
|
216 |
$updraftplus->log("S3 Error: Failed to access bucket $bucket_name. Check your permissions and credentials.");
|
217 |
+
$updraftplus->error(sprintf(__('S3 Error: Failed to access bucket %s. Check your permissions and credentials.','updraftplus'),$bucket_name));
|
218 |
}
|
219 |
|
220 |
}
|
243 |
?>
|
244 |
<tr class="updraftplusmethod s3">
|
245 |
<td></td>
|
246 |
+
<td><img src="https://d36cz9buwru1tt.cloudfront.net/Powered-by-Amazon-Web-Services.jpg" alt="Amazon Web Services"><p><em><?php printf(__('%s is a great choice, because UpdraftPlus supports chunked uploads - no matter how big your blog is, UpdraftPlus can upload it a little at a time, and not get thwarted by timeouts.','updraftplus'),'Amazon S3');?></em></p></td>
|
247 |
</tr>
|
248 |
<tr class="updraftplusmethod s3">
|
249 |
<th></th>
|
250 |
<td>
|
251 |
+
<p><?php _e('Get your access key and secret key <a href="http://aws.amazon.com/console/">from your AWS console</a>, then pick a (globally unique - all Amazon S3 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');?></p>
|
252 |
</td></tr>
|
253 |
<tr class="updraftplusmethod s3">
|
254 |
+
<th><?php _e('S3 access key','updraftplus');?>:</th>
|
255 |
<td><input type="text" autocomplete="off" style="width: 292px" id="updraft_s3_apikey" name="updraft_s3_login" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_s3_login')) ?>" /></td>
|
256 |
</tr>
|
257 |
<tr class="updraftplusmethod s3">
|
258 |
+
<th><?php _e('S3 secret key','updraftplus');?>:</th>
|
259 |
<td><input type="text" autocomplete="off" style="width: 292px" id="updraft_s3_apisecret" name="updraft_s3_pass" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_s3_pass')); ?>" /></td>
|
260 |
</tr>
|
261 |
<tr class="updraftplusmethod s3">
|
262 |
+
<th><?php _e('S3 location','updraftplus');?>::</th>
|
263 |
<td>s3://<input type="text" style="width: 292px" name="updraft_s3_remote_path" id="updraft_s3_path" value="<?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_s3_remote_path')); ?>" /></td>
|
264 |
</tr>
|
265 |
<tr class="updraftplusmethod s3">
|
266 |
<th></th>
|
267 |
+
<td><p><button id="updraft-s3-test" type="button" class="button-primary" style="font-size:18px !important"><?php echo sprintf(__('Test %s Settings','updraftplus'),'S3');?></button></p></td>
|
268 |
</tr>
|
269 |
<?php
|
270 |
}
|
272 |
public static function credentials_test() {
|
273 |
|
274 |
if (empty($_POST['apikey'])) {
|
275 |
+
printf(__("Failure: No %s was given.",'updraftplus'),__('API key','updraftplus'));
|
276 |
return;
|
277 |
}
|
278 |
if (empty($_POST['apisecret'])) {
|
279 |
+
printf(__("Failure: No %s was given.",'updraftplus'),__('API secret','updraftplus'));
|
280 |
return;
|
281 |
}
|
282 |
|
293 |
}
|
294 |
|
295 |
if (empty($bucket)) {
|
296 |
+
_e("Failure: No bucket details were given.",'updraftplus');
|
297 |
return;
|
298 |
}
|
299 |
|
303 |
$location = @$s3->getBucketLocation($bucket);
|
304 |
if ($location) {
|
305 |
$bucket_exists = true;
|
306 |
+
$bucket_verb =__('Amazon region','updraftplus').": $location: ";
|
307 |
+
// $bucket_verb = "accessed (".__('Amazon region','updraftplus').": $location)";
|
308 |
$bucket_region = $location;
|
309 |
} else {
|
310 |
$try_to_create_bucket = @$s3->putBucket($bucket, S3::ACL_PRIVATE);
|
311 |
if ($try_to_create_bucket) {
|
312 |
+
// $bucket_verb = 'created';
|
313 |
+
$bucket_verb = '';
|
314 |
$bucket_exists = true;
|
315 |
} else {
|
316 |
+
_e("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 S3 user may already have taken your name).",'updraftplus');
|
317 |
}
|
318 |
}
|
319 |
|
321 |
$try_file = md5(rand());
|
322 |
self::set_endpoint($s3, $location);
|
323 |
if (!$s3->putObjectString($try_file, $bucket, $path.$try_file)) {
|
324 |
+
echo __('Failure','updraftplus').": ${bucket_verb}".__('We successfully accessed the bucket, but the attempt to create a file in it failed.','updraftplus');
|
325 |
} else {
|
326 |
+
echo __('Success','updraftplus').": ${bucket_verb}".__('We accessed the bucket, and were able to create files within it.','updraftplus');
|
327 |
@$s3->deleteObject($bucket, $path.$try_file);
|
328 |
}
|
329 |
}
|
methods/sftp.php
CHANGED
@@ -10,7 +10,7 @@ class UpdraftPlus_BackupModule_sftp {
|
|
10 |
$addon_exists = apply_filters('updraft_sftp_exists', 'no');
|
11 |
if ($addon_exists !== 'yes') {
|
12 |
$updraftplus->log('You do not have the UpdraftPlus SFTP add-on installed - get it from http://updraftplus.com/shop/');
|
13 |
-
$updraftplus->error('You do not have the UpdraftPlus
|
14 |
return false;
|
15 |
}
|
16 |
|
@@ -31,7 +31,7 @@ class UpdraftPlus_BackupModule_sftp {
|
|
31 |
$addon_exists = apply_filters('updraft_sftp_exists', 'no');
|
32 |
if ($addon_exists !== 'yes') {
|
33 |
$updraftplus->log('You do not have the UpdraftPlus SFTP add-on installed - get it from http://updraftplus.com/shop/');
|
34 |
-
$updraftplus->error('You do not have the UpdraftPlus
|
35 |
return false;
|
36 |
}
|
37 |
|
@@ -47,7 +47,7 @@ class UpdraftPlus_BackupModule_sftp {
|
|
47 |
$addon_exists = apply_filters('updraft_sftp_exists', 'no');
|
48 |
if ($addon_exists !== 'yes') {
|
49 |
$updraftplus->log('You do not have the UpdraftPlus SFTP add-on installed - get it from http://updraftplus.com/shop/');
|
50 |
-
$updraftplus->error('You do not have the UpdraftPlus
|
51 |
return false;
|
52 |
}
|
53 |
|
@@ -60,10 +60,12 @@ class UpdraftPlus_BackupModule_sftp {
|
|
60 |
// Note that logging is not available from this context; it will do nothing.
|
61 |
function config_print() {
|
62 |
|
|
|
|
|
63 |
$default = <<<ENDHERE
|
64 |
<tr class="updraftplusmethod sftp">
|
65 |
<th>SFTP:</th>
|
66 |
-
<td
|
67 |
</tr>
|
68 |
ENDHERE;
|
69 |
|
@@ -77,7 +79,6 @@ ENDHERE;
|
|
77 |
public static function credentials_test() {
|
78 |
|
79 |
do_action('updraft_sftp_credentials_test');
|
80 |
-
|
81 |
die;
|
82 |
|
83 |
}
|
10 |
$addon_exists = apply_filters('updraft_sftp_exists', 'no');
|
11 |
if ($addon_exists !== 'yes') {
|
12 |
$updraftplus->log('You do not have the UpdraftPlus SFTP add-on installed - get it from http://updraftplus.com/shop/');
|
13 |
+
$updraftplus->error(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s','updraftplus'),'SFTP','http://updraftplus.com/shop/'));
|
14 |
return false;
|
15 |
}
|
16 |
|
31 |
$addon_exists = apply_filters('updraft_sftp_exists', 'no');
|
32 |
if ($addon_exists !== 'yes') {
|
33 |
$updraftplus->log('You do not have the UpdraftPlus SFTP add-on installed - get it from http://updraftplus.com/shop/');
|
34 |
+
$updraftplus->error(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s','updraftplus'),'SFTP','http://updraftplus.com/shop/'));
|
35 |
return false;
|
36 |
}
|
37 |
|
47 |
$addon_exists = apply_filters('updraft_sftp_exists', 'no');
|
48 |
if ($addon_exists !== 'yes') {
|
49 |
$updraftplus->log('You do not have the UpdraftPlus SFTP add-on installed - get it from http://updraftplus.com/shop/');
|
50 |
+
$updraftplus->error(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s','updraftplus'),'SFTP','http://updraftplus.com/shop/'));
|
51 |
return false;
|
52 |
}
|
53 |
|
60 |
// Note that logging is not available from this context; it will do nothing.
|
61 |
function config_print() {
|
62 |
|
63 |
+
$link = sprintf(__('%s support is available as an add-on','updraftplus'),'SFTP').' - <a href="http://updraftplus.com/shop/sftp/">'.__('follow this link to get it','updraftplus');
|
64 |
+
|
65 |
$default = <<<ENDHERE
|
66 |
<tr class="updraftplusmethod sftp">
|
67 |
<th>SFTP:</th>
|
68 |
+
<td>$link</a></td>
|
69 |
</tr>
|
70 |
ENDHERE;
|
71 |
|
79 |
public static function credentials_test() {
|
80 |
|
81 |
do_action('updraft_sftp_credentials_test');
|
|
|
82 |
die;
|
83 |
|
84 |
}
|
methods/webdav.php
CHANGED
@@ -10,7 +10,7 @@ class UpdraftPlus_BackupModule_webdav {
|
|
10 |
$addon_exists = apply_filters('updraft_webdav_exists', 'no');
|
11 |
if ($addon_exists !== 'yes') {
|
12 |
$updraftplus->log('You do not have the UpdraftPlus WebDAV add-on installed - get it from http://updraftplus.com/shop/');
|
13 |
-
$updraftplus->error('You do not have the UpdraftPlus
|
14 |
return false;
|
15 |
}
|
16 |
|
@@ -31,7 +31,7 @@ class UpdraftPlus_BackupModule_webdav {
|
|
31 |
$addon_exists = apply_filters('updraft_webdav_exists', 'no');
|
32 |
if ($addon_exists !== 'yes') {
|
33 |
$updraftplus->log('You do not have the UpdraftPlus WebDAV add-on installed - get it from http://updraftplus.com/shop/');
|
34 |
-
$updraftplus->error('You do not have the UpdraftPlus
|
35 |
return false;
|
36 |
}
|
37 |
|
@@ -47,7 +47,7 @@ class UpdraftPlus_BackupModule_webdav {
|
|
47 |
$addon_exists = apply_filters('updraft_webdav_exists', 'no');
|
48 |
if ($addon_exists !== 'yes') {
|
49 |
$updraftplus->log('You do not have the UpdraftPlus WebDAV add-on installed - get it from http://updraftplus.com/shop/');
|
50 |
-
$updraftplus->error('You do not have the UpdraftPlus
|
51 |
return false;
|
52 |
}
|
53 |
|
@@ -60,10 +60,12 @@ class UpdraftPlus_BackupModule_webdav {
|
|
60 |
// Note that logging is not available from this context; it will do nothing.
|
61 |
function config_print() {
|
62 |
|
|
|
|
|
63 |
$default = <<<ENDHERE
|
64 |
<tr class="updraftplusmethod webdav">
|
65 |
<th>WebDAV:</th>
|
66 |
-
<td
|
67 |
</tr>
|
68 |
ENDHERE;
|
69 |
|
10 |
$addon_exists = apply_filters('updraft_webdav_exists', 'no');
|
11 |
if ($addon_exists !== 'yes') {
|
12 |
$updraftplus->log('You do not have the UpdraftPlus WebDAV add-on installed - get it from http://updraftplus.com/shop/');
|
13 |
+
$updraftplus->error(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s','updraftplus'),'WebDAV','http://updraftplus.com/shop/'));
|
14 |
return false;
|
15 |
}
|
16 |
|
31 |
$addon_exists = apply_filters('updraft_webdav_exists', 'no');
|
32 |
if ($addon_exists !== 'yes') {
|
33 |
$updraftplus->log('You do not have the UpdraftPlus WebDAV add-on installed - get it from http://updraftplus.com/shop/');
|
34 |
+
$updraftplus->error(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s','updraftplus'),'WebDAV','http://updraftplus.com/shop/'));
|
35 |
return false;
|
36 |
}
|
37 |
|
47 |
$addon_exists = apply_filters('updraft_webdav_exists', 'no');
|
48 |
if ($addon_exists !== 'yes') {
|
49 |
$updraftplus->log('You do not have the UpdraftPlus WebDAV add-on installed - get it from http://updraftplus.com/shop/');
|
50 |
+
$updraftplus->error(sprintf(__('You do not have the UpdraftPlus %s add-on installed - get it from %s','updraftplus'),'WebDAV','http://updraftplus.com/shop/'));
|
51 |
return false;
|
52 |
}
|
53 |
|
60 |
// Note that logging is not available from this context; it will do nothing.
|
61 |
function config_print() {
|
62 |
|
63 |
+
$link = sprintf(__('%s support is available as an add-on','updraftplus'),'WebDAV').' - <a href="http://updraftplus.com/shop/webdav/">'.__('follow this link to get it','updraftplus');
|
64 |
+
|
65 |
$default = <<<ENDHERE
|
66 |
<tr class="updraftplusmethod webdav">
|
67 |
<th>WebDAV:</th>
|
68 |
+
<td>$link</a></td>
|
69 |
</tr>
|
70 |
ENDHERE;
|
71 |
|
options.php
CHANGED
@@ -23,7 +23,7 @@ class UpdraftPlus_Options {
|
|
23 |
|
24 |
public static function add_admin_pages() {
|
25 |
global $updraftplus;
|
26 |
-
add_submenu_page('options-general.php',
|
27 |
}
|
28 |
|
29 |
public static function options_form_begin() {
|
@@ -74,7 +74,7 @@ class UpdraftPlus_Options {
|
|
74 |
register_setting('updraft-options-group', 'updraft_starttime_db', array($updraftplus, 'hourminute') );
|
75 |
|
76 |
global $pagenow;
|
77 |
-
if (is_multisite() && $pagenow == 'options-general.php') {
|
78 |
add_action('admin_notices', array('UpdraftPlus_Options', 'show_admin_warning_multisite') );
|
79 |
}
|
80 |
|
@@ -84,7 +84,7 @@ class UpdraftPlus_Options {
|
|
84 |
|
85 |
global $updraftplus;
|
86 |
|
87 |
-
$updraftplus->show_admin_warning('<strong>UpdraftPlus warning:</strong> This is a WordPress multi-site (a.k.a. network) installation. <a href="http://updraftplus.com">WordPress Multisite is supported by UpdraftPlus Premium
|
88 |
|
89 |
}
|
90 |
|
23 |
|
24 |
public static function add_admin_pages() {
|
25 |
global $updraftplus;
|
26 |
+
add_submenu_page('options-general.php', 'UpdraftPlus', __('UpdraftPlus Backups','updraftplus'), "manage_options", "updraftplus", array($updraftplus, "settings_output"));
|
27 |
}
|
28 |
|
29 |
public static function options_form_begin() {
|
74 |
register_setting('updraft-options-group', 'updraft_starttime_db', array($updraftplus, 'hourminute') );
|
75 |
|
76 |
global $pagenow;
|
77 |
+
if (is_multisite() && $pagenow == 'options-general.php' && isset($_REQUEST['page']) && 'updraftplus' == substr($_REQUEST['page'], 0, 11)) {
|
78 |
add_action('admin_notices', array('UpdraftPlus_Options', 'show_admin_warning_multisite') );
|
79 |
}
|
80 |
|
84 |
|
85 |
global $updraftplus;
|
86 |
|
87 |
+
$updraftplus->show_admin_warning('<strong>UpdraftPlus warning:</strong> This is a WordPress multi-site (a.k.a. network) installation. <a href="http://updraftplus.com">WordPress Multisite is supported, with extra features, by UpdraftPlus Premium, or the Multisite add-on</a>. Without upgrading, UpdraftPlus allows <strong>every</strong> blog admin who can modify plugin settings to back up (and hence access the data, including passwords, from) and restore (including with customised modifications, e.g. changed passwords) <strong>the entire network</strong>. (This applies to all WordPress backup plugins unless they have been explicitly coded for multisite compatibility).', "error");
|
88 |
|
89 |
}
|
90 |
|
readme.txt
CHANGED
@@ -3,38 +3,35 @@ Contributors: David Anderson
|
|
3 |
Tags: backup, restore, database, cloud, amazon, s3, dropbox, google drive, ftp, webdav, back up, multisite
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.5.1
|
6 |
-
Stable tag: 1.
|
7 |
Author URI: http://updraftplus.com
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
|
11 |
== Upgrade Notice ==
|
12 |
-
|
13 |
|
14 |
== Description ==
|
15 |
|
16 |
<a href="http://updraftplus.com">UpdraftPlus</a> simplifies backups (and restoration). Backup into the cloud (Amazon S3, Dropbox, Google Drive, FTP, SFTP, WebDAV and email) and restore with a single click. Backups of files and database can have separate schedules.
|
17 |
|
18 |
* Supports backups to Amazon S3, Dropbox, Google Drive, FTP (including SSL), email, SFTP and WebDAV
|
19 |
-
*
|
20 |
* Backup automatically on a repeating schedule
|
21 |
* Files and databases can have separate schedules
|
22 |
* Failed uploads are automatically resumed/retried
|
23 |
* Select which files to backup (plugins, themes, content, other)
|
|
|
24 |
* Download backup archives direct from your WordPress dashboard
|
25 |
* Database backups can be encrypted for security
|
26 |
* Debug mode that gives full logging of the backup
|
27 |
* Thousands of users: widely tested and reliable
|
28 |
* Internationalised (translations very welcome - see below)
|
29 |
-
* Premium
|
30 |
|
31 |
= Don't Risk Anything Less =
|
32 |
|
33 |
-
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
|
34 |
-
|
35 |
-
= Best New WordPress Plugin =
|
36 |
-
|
37 |
-
That's according to WordPress big cheese, Vladimir Prelovac. Check out his weekly chart to see where UpdraftPlus is right now: http://www.prelovac.com/vladimir/wordpress-plugins-rising-stars
|
38 |
|
39 |
= UpdraftPlus Addons And Premium =
|
40 |
|
@@ -48,7 +45,12 @@ UpdraftPlus is written by professional WordPress developers. If your site needs
|
|
48 |
|
49 |
= Are you multi-lingual? Can you translate? =
|
50 |
|
51 |
-
Are you able to translate UpdraftPlus into another language? UpdraftPlus
|
|
|
|
|
|
|
|
|
|
|
52 |
|
53 |
= Other support =
|
54 |
|
@@ -110,6 +112,24 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
|
|
110 |
|
111 |
== Changelog ==
|
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
= 1.4.48 - 03/11/2013 =
|
114 |
* Improve batching on zip creation for sites with very large files
|
115 |
* Unlimited early resumption if zip file creation takes too long
|
@@ -121,6 +141,7 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
|
|
121 |
* Sort existing backups display by date
|
122 |
* Use WordPress time for creation of filenames
|
123 |
* Fix bug in 1.4.47 which caused problems on new site installs
|
|
|
124 |
|
125 |
= 1.4.30 - 03/04/2013 =
|
126 |
* Hooks for WebDAV support via add-on
|
@@ -343,6 +364,10 @@ Thanks for asking - yes, I have. Check out my profile page - http://profiles.wor
|
|
343 |
|
344 |
1. Configuration page
|
345 |
|
|
|
|
|
|
|
|
|
346 |
We recognise and thank the following for code and/or libraries used and/or modified under the terms of their licences:
|
347 |
* UpdraftPlus is based on the original Updraft by Paul Kehrer (Twitter: http://twitter.com/reaperhulk, Blog: http://langui.sh)
|
348 |
* Sorin Iclanzan, http://profiles.wordpress.org/hel.io/
|
3 |
Tags: backup, restore, database, cloud, amazon, s3, dropbox, google drive, ftp, webdav, back up, multisite
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.5.1
|
6 |
+
Stable tag: 1.5.5
|
7 |
Author URI: http://updraftplus.com
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
|
11 |
== Upgrade Notice ==
|
12 |
+
New features: selective restoration, importing remote backups; plus many tweaks, optimisations + small bug-fixes: recommended upgrade for all
|
13 |
|
14 |
== Description ==
|
15 |
|
16 |
<a href="http://updraftplus.com">UpdraftPlus</a> simplifies backups (and restoration). Backup into the cloud (Amazon S3, Dropbox, Google Drive, FTP, SFTP, WebDAV and email) and restore with a single click. Backups of files and database can have separate schedules.
|
17 |
|
18 |
* Supports backups to Amazon S3, Dropbox, Google Drive, FTP (including SSL), email, SFTP and WebDAV
|
19 |
+
* Quick restore
|
20 |
* Backup automatically on a repeating schedule
|
21 |
* Files and databases can have separate schedules
|
22 |
* Failed uploads are automatically resumed/retried
|
23 |
* Select which files to backup (plugins, themes, content, other)
|
24 |
+
* Select which components of a backup to restore
|
25 |
* Download backup archives direct from your WordPress dashboard
|
26 |
* Database backups can be encrypted for security
|
27 |
* Debug mode that gives full logging of the backup
|
28 |
* Thousands of users: widely tested and reliable
|
29 |
* Internationalised (translations very welcome - see below)
|
30 |
+
* Premium version and support available - <a href="http://updraftplus.com">http://updraftplus.com</a>
|
31 |
|
32 |
= Don't Risk Anything Less =
|
33 |
|
34 |
+
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.
|
|
|
|
|
|
|
|
|
35 |
|
36 |
= UpdraftPlus Addons And Premium =
|
37 |
|
45 |
|
46 |
= Are you multi-lingual? Can you translate? =
|
47 |
|
48 |
+
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).
|
49 |
+
|
50 |
+
Many thanks to the existing translators:
|
51 |
+
|
52 |
+
* Deutsch / German (de_DE): Marcel Herrguth - mherrguth@mrgeneration.de
|
53 |
+
* Magyar / Hungarian (hu_HU): Szépe Viktor - http://www.szepe.net
|
54 |
|
55 |
= Other support =
|
56 |
|
112 |
|
113 |
== Changelog ==
|
114 |
|
115 |
+
= 1.5.5 - 2013/03/26 =
|
116 |
+
* Now translatable - .pot file included (translators welcome!)
|
117 |
+
* When restoring, you can now select only some components to restore
|
118 |
+
* History of previous backups can re-scan to find backups manually imported (e.g. via FTP) (trunk version has drag-and-drop import)
|
119 |
+
* Multisite add-on (http://updraftplus.com/shop/) now stores/restores blogs and mu-plugins separately
|
120 |
+
* Display UpdraftPlus's disk space usage
|
121 |
+
* Internationalisation hooks in main body of plugin
|
122 |
+
* Correctly remove old 'other' directories from a restoration when requested
|
123 |
+
* Various layout + niceness fixes upon restoration
|
124 |
+
* Prevent deletion of local archives upon failed restoration when there was no cloud storage
|
125 |
+
* Various usability tweaks for the admin UI, including showing multisite warning only on UD's pages
|
126 |
+
* Fix incorrect restoration (since 1.4.0) of directory-less paths from 'others' zip
|
127 |
+
* Fix prevention of Dropbox re-authentication when Dropbox returns 5xx first time (library error)
|
128 |
+
* Clear Dropbox credentials if the user explicitly re-authenticates
|
129 |
+
* Clean up temporary files left behind by zipArchive::addFile
|
130 |
+
* Tweak Dropbox library to work from behind very weird proxies that double-surround the HTTP header
|
131 |
+
* Improved help for people with broken schedulers
|
132 |
+
|
133 |
= 1.4.48 - 03/11/2013 =
|
134 |
* Improve batching on zip creation for sites with very large files
|
135 |
* Unlimited early resumption if zip file creation takes too long
|
141 |
* Sort existing backups display by date
|
142 |
* Use WordPress time for creation of filenames
|
143 |
* Fix bug in 1.4.47 which caused problems on new site installs
|
144 |
+
* Prevent erroneous warning when backup zip (usually uploads) has no files
|
145 |
|
146 |
= 1.4.30 - 03/04/2013 =
|
147 |
* Hooks for WebDAV support via add-on
|
364 |
|
365 |
1. Configuration page
|
366 |
|
367 |
+
2. Restoring from a backup
|
368 |
+
|
369 |
+
3. Showing and downloading backup sets
|
370 |
+
|
371 |
We recognise and thank the following for code and/or libraries used and/or modified under the terms of their licences:
|
372 |
* UpdraftPlus is based on the original Updraft by Paul Kehrer (Twitter: http://twitter.com/reaperhulk, Blog: http://langui.sh)
|
373 |
* Sorin Iclanzan, http://profiles.wordpress.org/hel.io/
|
updraftplus.php
CHANGED
@@ -4,19 +4,28 @@ Plugin Name: UpdraftPlus - Backup/Restore
|
|
4 |
Plugin URI: http://updraftplus.com
|
5 |
Description: Backup and restore: your site can be backed up locally or to Amazon S3, Dropbox, Google Drive, (S)FTP, WebDAV & email, on automatic schedules.
|
6 |
Author: UpdraftPlus.Com, DavidAnderson
|
7 |
-
Version: 1.
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
-
|
|
|
11 |
*/
|
12 |
|
13 |
/*
|
14 |
TODO - some of these are out of date/done, needs pruning
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
//Allow use of /usr/bin/zip - since this can escape from PHP's memory limit. Can still batch as we do so, in order to monitor/measure progress
|
16 |
//Do an automated test periodically for the success of loop-back connections
|
17 |
//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.
|
18 |
//Change DB encryption to not require whole gzip in memory (twice)
|
19 |
//Add Rackspace, Box.Net, SugarSync and Microsoft Skydrive support??
|
|
|
20 |
//The restorer has a hard-coded wp-content - fix
|
21 |
//?? On 'backup now', open up a Lightbox, count down 5 seconds, then start examining the log file (if it can be found)
|
22 |
//Should make clear in dashboard what is a non-fatal error (i.e. can be retried) - leads to unnecessary bug reports
|
@@ -26,6 +35,7 @@ TODO - some of these are out of date/done, needs pruning
|
|
26 |
// Create a "Want Support?" button/console, that leads them through what is needed, and performs some basic tests...
|
27 |
// Resuming partial (S)FTP uploads
|
28 |
// Translations
|
|
|
29 |
// Make disk space check more intelligent (currently hard-coded at 35Mb)
|
30 |
// Provide backup/restoration for UpdraftPlus's settings, to allow 'bootstrap' on a fresh WP install - some kind of single-use code which a remote UpdraftPlus can use to authenticate
|
31 |
// Multiple jobs
|
@@ -134,6 +144,7 @@ class UpdraftPlus {
|
|
134 |
var $zipfiles_existingfiles;
|
135 |
var $zipfiles_dirbatched;
|
136 |
var $zipfiles_batched;
|
|
|
137 |
|
138 |
var $zip_preferpcl = false;
|
139 |
|
@@ -163,11 +174,17 @@ class UpdraftPlus {
|
|
163 |
add_filter('cron_schedules', array($this,'modify_cron_schedules'));
|
164 |
add_filter('plugin_action_links', array($this, 'plugin_action_links'), 10, 2);
|
165 |
add_action('init', array($this, 'handle_url_actions'));
|
|
|
166 |
|
167 |
if (defined('UPDRAFTPLUS_PREFERPCLZIP') && UPDRAFTPLUS_PREFERPCLZIP == true) { $this->zip_preferpcl = true; }
|
168 |
|
169 |
}
|
170 |
|
|
|
|
|
|
|
|
|
|
|
171 |
// Handle actions passed on to method plugins; e.g. Google OAuth 2.0 - ?page=updraftplus&action=updraftmethod-googledrive-auth
|
172 |
// Also handle action=downloadlog
|
173 |
function handle_url_actions() {
|
@@ -199,7 +216,8 @@ class UpdraftPlus {
|
|
199 |
if ($handle = opendir($updraft_dir)) {
|
200 |
$now_time=time();
|
201 |
while (false !== ($entry = readdir($handle))) {
|
202 |
-
|
|
|
203 |
$this->log("Deleting old temporary file: $entry");
|
204 |
@unlink($updraft_dir.'/'.$entry);
|
205 |
}
|
@@ -211,11 +229,11 @@ class UpdraftPlus {
|
|
211 |
# Adds the settings link under the plugin on the plugin screen.
|
212 |
function plugin_action_links($links, $file) {
|
213 |
if ($file == plugin_basename(__FILE__)){
|
214 |
-
$settings_link = '<a href="'.site_url().'/wp-admin/options-general.php?page=updraftplus">'.__("Settings", "
|
215 |
array_unshift($links, $settings_link);
|
216 |
// $settings_link = '<a href="http://david.dw-perspective.org.uk/donate">'.__("Donate","UpdraftPlus").'</a>';
|
217 |
// array_unshift($links, $settings_link);
|
218 |
-
$settings_link = '<a href="http://updraftplus.com">'.__("Add-Ons / Pro Support","
|
219 |
array_unshift($links, $settings_link);
|
220 |
}
|
221 |
return $links;
|
@@ -236,7 +254,7 @@ class UpdraftPlus {
|
|
236 |
// Use append mode in case it already exists
|
237 |
$this->logfile_handle = fopen($this->logfile_name, 'a');
|
238 |
$this->opened_log_time = microtime(true);
|
239 |
-
$this->log(
|
240 |
global $wp_version;
|
241 |
$logline = "UpdraftPlus: ".$this->version." WP: ".$wp_version." PHP: ".phpversion()." (".php_uname().") max_execution_time: ".@ini_get("max_execution_time")." memory_limit: ".ini_get('memory_limit')." ZipArchive::addFile : ";
|
242 |
|
@@ -294,6 +312,39 @@ class UpdraftPlus {
|
|
294 |
// return $inter;
|
295 |
}
|
296 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
function backup_resume($resumption_no, $bnonce) {
|
298 |
|
299 |
@ignore_user_abort(true);
|
@@ -330,7 +381,7 @@ class UpdraftPlus {
|
|
330 |
wp_schedule_single_event($schedule_for, 'updraft_backup_resume', array($next_resumption, $bnonce));
|
331 |
$this->newresumption_scheduled = $schedule_for;
|
332 |
} else {
|
333 |
-
$this->log(
|
334 |
}
|
335 |
|
336 |
// Sanity check
|
@@ -344,7 +395,7 @@ class UpdraftPlus {
|
|
344 |
|
345 |
// This save, if there was something, is then immediately picked up again
|
346 |
if (is_array($backup_array)) {
|
347 |
-
$this->log(
|
348 |
$this->save_backup_history($backup_array);
|
349 |
}
|
350 |
|
@@ -398,10 +449,12 @@ class UpdraftPlus {
|
|
398 |
$this->save_backup_history($our_files);
|
399 |
}
|
400 |
|
|
|
|
|
401 |
foreach ($our_files as $key => $file) {
|
402 |
|
403 |
// Only continue if the stored info was about a dump
|
404 |
-
if ($
|
405 |
|
406 |
$hash = md5($file);
|
407 |
$fullpath = $this->backups_dir_location().'/'.$file;
|
@@ -514,7 +567,7 @@ class UpdraftPlus {
|
|
514 |
|
515 |
if (!is_file($this->logfile_name)) {
|
516 |
$this->log('Failed to open log file ('.$this->logfile_name.') - you need to check your UpdraftPlus settings (your chosen directory for creating files in is not writable, or you ran out of disk space). Backup aborted.');
|
517 |
-
$this->error('Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings.');
|
518 |
return false;
|
519 |
}
|
520 |
|
@@ -582,7 +635,7 @@ class UpdraftPlus {
|
|
582 |
return basename($file.'.crypt');
|
583 |
} else {
|
584 |
$this->log("Encryption error occurred when encrypting database. Encryption aborted.");
|
585 |
-
$this->error("Encryption error occurred when encrypting database. Encryption aborted.");
|
586 |
return basename($file);
|
587 |
}
|
588 |
} else {
|
@@ -673,7 +726,7 @@ class UpdraftPlus {
|
|
673 |
|
674 |
$append_log = ($debug_mode && $this->logfile_name != "") ? "\r\nLog contents:\r\n".file_get_contents($this->logfile_name) : "" ;
|
675 |
|
676 |
-
wp_mail($sendmail_to,'Backed up: '.get_bloginfo('name').' (UpdraftPlus '.$this->version.') '.date('Y-m-d H:i',time()),'Site: '.site_url()."\r\nUpdraftPlus WordPress backup is complete.\r\
|
677 |
|
678 |
}
|
679 |
|
@@ -767,6 +820,8 @@ class UpdraftPlus {
|
|
767 |
$file_backups_found = 0;
|
768 |
$this->log("Number of backup sets in history: ".count($backup_history));
|
769 |
|
|
|
|
|
770 |
foreach ($backup_history as $backup_datestamp => $backup_to_examine) {
|
771 |
// $backup_to_examine is an array of file names, keyed on db/plugins/themes/uploads
|
772 |
// The new backup_history array is saved afterwards, so remember to unset the ones that are to be deleted
|
@@ -783,28 +838,42 @@ class UpdraftPlus {
|
|
783 |
}
|
784 |
}
|
785 |
|
786 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
787 |
$file_backups_found++;
|
788 |
$this->log("$backup_datestamp: this set includes files; fileset count is now $file_backups_found");
|
789 |
if ($file_backups_found > $updraft_retain) {
|
790 |
$this->log("$backup_datestamp: over retain limit ($updraft_retain); will delete this file set");
|
791 |
-
|
792 |
-
$
|
793 |
-
|
794 |
-
|
795 |
-
|
796 |
-
|
797 |
}
|
798 |
-
|
799 |
-
|
800 |
-
|
801 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
802 |
}
|
803 |
}
|
804 |
|
805 |
// Delete backup set completely if empty, o/w just remove DB
|
806 |
// We search on the four keys which represent data, allowing other keys to be used to track other things
|
807 |
-
if (
|
808 |
$this->log("$backup_datestamp: this backup set is now empty; will remove from history");
|
809 |
unset($backup_history[$backup_datestamp]);
|
810 |
if (isset($backup_to_examine['nonce'])) {
|
@@ -912,7 +981,7 @@ class UpdraftPlus {
|
|
912 |
$zipcode = $this->make_zipfile($create_from_dir, $zip_name);
|
913 |
if ($zipcode !== true) {
|
914 |
$this->log("ERROR: Zip failure: Could not create $whichone zip: code=$zipcode");
|
915 |
-
$this->error("Could not create
|
916 |
return false;
|
917 |
} else {
|
918 |
rename($full_path.'.tmp', $full_path);
|
@@ -946,7 +1015,7 @@ class UpdraftPlus {
|
|
946 |
$updraft_dir = $this->backups_dir_location();
|
947 |
if(!is_writable($updraft_dir)) {
|
948 |
$this->log("Backup directory ($updraft_dir) is not writable, or does not exist");
|
949 |
-
$this->error("Backup directory (
|
950 |
return array();
|
951 |
}
|
952 |
|
@@ -959,12 +1028,7 @@ class UpdraftPlus {
|
|
959 |
|
960 |
$backup_array = array();
|
961 |
|
962 |
-
$
|
963 |
-
$wp_upload_dir = wp_upload_dir();
|
964 |
-
$wp_upload_dir = $wp_upload_dir['basedir'];
|
965 |
-
$wp_plugins_dir = WP_PLUGIN_DIR;
|
966 |
-
|
967 |
-
$possible_backups = array ('plugins' => $wp_plugins_dir, 'themes' => $wp_themes_dir, 'uploads' => $wp_upload_dir);
|
968 |
|
969 |
# Plugins, themes, uploads
|
970 |
foreach ($possible_backups as $youwhat => $whichdir) {
|
@@ -990,7 +1054,7 @@ class UpdraftPlus {
|
|
990 |
}
|
991 |
}
|
992 |
|
993 |
-
# Others
|
994 |
if (UpdraftPlus_Options::get_updraft_option('updraft_include_others', true)) {
|
995 |
|
996 |
$zip_file = $updraft_dir.'/'.$backup_file_basename.'-others.zip';
|
@@ -1020,20 +1084,28 @@ class UpdraftPlus {
|
|
1020 |
|
1021 |
$this->log('Looking for candidates to back up in: '.WP_CONTENT_DIR);
|
1022 |
if ($handle = opendir(WP_CONTENT_DIR)) {
|
|
|
|
|
|
|
1023 |
while (false !== ($entry = readdir($handle))) {
|
1024 |
$candidate = WP_CONTENT_DIR.'/'.$entry;
|
1025 |
-
if ($entry
|
1026 |
-
|
1027 |
-
|
1028 |
-
|
1029 |
-
|
1030 |
-
|
1031 |
-
|
|
|
|
|
|
|
|
|
|
|
1032 |
}
|
1033 |
@closedir($handle);
|
1034 |
} else {
|
1035 |
$this->log('ERROR: Could not read the content directory: '.WP_CONTENT_DIR);
|
1036 |
-
$this->error('Could not read the content directory: '.WP_CONTENT_DIR);
|
1037 |
}
|
1038 |
|
1039 |
if (count($other_dirlist)>0) {
|
@@ -1063,7 +1135,7 @@ class UpdraftPlus {
|
|
1063 |
UpdraftPlus_Options::update_updraft_option('updraft_backup_history', $backup_history);
|
1064 |
} else {
|
1065 |
$this->log('Could not save backup history because we have no backup array. Backup probably failed.');
|
1066 |
-
$this->error('Could not save backup history because we have no backup array. Backup probably failed.');
|
1067 |
}
|
1068 |
}
|
1069 |
|
@@ -1092,7 +1164,7 @@ class UpdraftPlus {
|
|
1092 |
}
|
1093 |
if(!$this->dbhandle) {
|
1094 |
$this->log("ERROR: $file: Could not open the backup file for writing");
|
1095 |
-
$this->error("$file: Could not open the backup file for writing");
|
1096 |
}
|
1097 |
}
|
1098 |
|
@@ -1147,7 +1219,7 @@ class UpdraftPlus {
|
|
1147 |
|
1148 |
if (!is_writable($updraft_dir)) {
|
1149 |
$this->log("The backup directory ($updraft_dir) is not writable.");
|
1150 |
-
$this->error("The backup directory
|
1151 |
return false;
|
1152 |
}
|
1153 |
|
@@ -1225,9 +1297,7 @@ class UpdraftPlus {
|
|
1225 |
$this->log($file_base.'-db.gz: finished writing out complete database file ('.round(filesize($backup_final_file_name)/1024,1).' Kb)');
|
1226 |
$this->close($this->dbhandle);
|
1227 |
|
1228 |
-
foreach ($unlink_files as $unlink_file)
|
1229 |
-
@unlink($unlink_file);
|
1230 |
-
}
|
1231 |
|
1232 |
if (count($this->errors)) {
|
1233 |
return false;
|
@@ -1509,7 +1579,92 @@ class UpdraftPlus {
|
|
1509 |
|
1510 |
return $updraft_dir;
|
1511 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1512 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1513 |
// Called via AJAX
|
1514 |
function updraft_ajax_handler() {
|
1515 |
// Test the nonce (probably not needed, since we're presumably admin-authed, but there's no harm)
|
@@ -1517,10 +1672,14 @@ class UpdraftPlus {
|
|
1517 |
if (! wp_verify_nonce($nonce, 'updraftplus-credentialtest-nonce') || empty($_REQUEST['subaction'])) die('Security check');
|
1518 |
|
1519 |
if ('lastlog' == $_GET['subaction']) {
|
1520 |
-
echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', '(Nothing yet logged)'));
|
1521 |
} elseif ('lastbackup' == $_GET['subaction']) {
|
1522 |
echo $this->last_backup_html();
|
|
|
|
|
1523 |
} elseif ('historystatus' == $_GET['subaction']) {
|
|
|
|
|
1524 |
echo $this->existing_backup_table();
|
1525 |
} elseif ('downloadstatus' == $_GET['subaction'] && isset($_GET['timestamp']) && isset($_GET['type'])) {
|
1526 |
|
@@ -1534,9 +1693,9 @@ class UpdraftPlus {
|
|
1534 |
echo "File ready: $size Kb: You should: <button type=\"button\" onclick=\"updraftplus_downloadstage2('".$_GET['timestamp']."', '".$_GET['type']."')\">Download to your computer</button> and then, if you wish, <button id=\"uddownloaddelete_".$_GET['timestamp']."_".$_GET['type']."\" type=\"button\" onclick=\"updraftplus_deletefromserver('".$_GET['timestamp']."', '".$_GET['type']."')\">Delete from your web server</button>";
|
1535 |
} elseif (preg_match('/^downloading:(.*)$/', $file, $matches) && file_exists($matches[1])) {
|
1536 |
$size = round(filesize($matches[1])/1024, 1);
|
1537 |
-
echo
|
1538 |
} else {
|
1539 |
-
echo "No local copy present.";
|
1540 |
}
|
1541 |
}
|
1542 |
|
@@ -1558,7 +1717,15 @@ class UpdraftPlus {
|
|
1558 |
|
1559 |
if (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce($_REQUEST['_wpnonce'], 'updraftplus_download')) die;
|
1560 |
|
1561 |
-
if (!isset($_REQUEST['timestamp']) || !is_numeric($_REQUEST['timestamp']) || !isset($_REQUEST['type'])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1562 |
|
1563 |
// Get the information on what is wanted
|
1564 |
$type = $_REQUEST['type'];
|
@@ -1629,7 +1796,7 @@ class UpdraftPlus {
|
|
1629 |
header('Content-Encoding: none');
|
1630 |
session_write_close();
|
1631 |
echo "\r\n\r\n";
|
1632 |
-
$this->download_file($file, $service
|
1633 |
if (is_readable($fullpath)) {
|
1634 |
$this->log('Remote fetch was successful (file size: '.round(filesize($fullpath)/1024,1).' Kb)');
|
1635 |
} else {
|
@@ -1704,11 +1871,11 @@ class UpdraftPlus {
|
|
1704 |
}
|
1705 |
// $this->delete_local($file);
|
1706 |
} else {
|
1707 |
-
echo
|
1708 |
}
|
1709 |
}
|
1710 |
|
1711 |
-
function download_file($file, $service=false
|
1712 |
|
1713 |
if (!$service) $service = UpdraftPlus_Options::get_updraft_option('updraft_service');
|
1714 |
|
@@ -1723,16 +1890,17 @@ class UpdraftPlus {
|
|
1723 |
$remote_obj->download($file);
|
1724 |
} else {
|
1725 |
$this->log("Automatic backup restoration is not available with the method: $service.");
|
1726 |
-
$this->error("
|
1727 |
}
|
1728 |
|
1729 |
}
|
1730 |
|
1731 |
function restore_backup($timestamp) {
|
|
|
1732 |
global $wp_filesystem;
|
1733 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
1734 |
if(!is_array($backup_history[$timestamp])) {
|
1735 |
-
echo '<p>This backup does not exist in the backup history - restoration aborted. Timestamp:
|
1736 |
return false;
|
1737 |
}
|
1738 |
|
@@ -1743,38 +1911,85 @@ class UpdraftPlus {
|
|
1743 |
show_message($message);
|
1744 |
exit;
|
1745 |
}
|
1746 |
-
|
1747 |
//if we make it this far then WP_Filesystem has been instantiated and is functional (tested with ftpext, what about suPHP and other situations where direct may work?)
|
1748 |
-
echo '<
|
1749 |
|
1750 |
$updraft_dir = $this->backups_dir_location().'/';
|
1751 |
|
1752 |
$service = (isset($backup_history[$timestamp]['service'])) ? $backup_history[$timestamp]['service'] : false;
|
1753 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1754 |
foreach($backup_history[$timestamp] as $type => $file) {
|
1755 |
// All restorable entities must be given explicitly, as we can store other arbitrary data in the history array
|
1756 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1757 |
$fullpath = $updraft_dir.$file;
|
|
|
|
|
1758 |
if(!is_readable($fullpath) && $type != 'db') {
|
|
|
1759 |
$this->download_file($file, $service);
|
1760 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1761 |
# Types: uploads, themes, plugins, others, db
|
1762 |
if(is_readable($fullpath) && $type != 'db') {
|
|
|
1763 |
if(!class_exists('WP_Upgrader')) require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
1764 |
require_once(UPDRAFTPLUS_DIR.'/includes/updraft-restorer.php');
|
1765 |
$restorer = new Updraft_Restorer();
|
1766 |
-
$val = $restorer->restore_backup($fullpath, $type);
|
|
|
1767 |
if(is_wp_error($val)) {
|
1768 |
-
|
|
|
|
|
1769 |
echo '</div>'; //close the updraft_restore_progress div even if we error
|
1770 |
return false;
|
1771 |
}
|
|
|
|
|
|
|
|
|
|
|
1772 |
}
|
1773 |
}
|
1774 |
echo '</div>'; //close the updraft_restore_progress div
|
1775 |
# The 'off' check is for badly configured setups - http://wordpress.org/support/topic/plugin-wp-super-cache-warning-php-safe-mode-enabled-but-safe-mode-is-off
|
1776 |
if(@ini_get('safe_mode') && strtolower(@ini_get('safe_mode')) != "off") {
|
1777 |
-
echo "<p>
|
1778 |
return false;
|
1779 |
}
|
1780 |
return true;
|
@@ -1783,7 +1998,7 @@ class UpdraftPlus {
|
|
1783 |
//deletes the -old directories that are created when a backup is restored.
|
1784 |
function delete_old_dirs() {
|
1785 |
global $wp_filesystem;
|
1786 |
-
$credentials = request_filesystem_credentials("options-general.php?page=updraftplus&action=updraft_delete_old_dirs");
|
1787 |
WP_Filesystem($credentials);
|
1788 |
if ( $wp_filesystem->errors->get_error_code() ) {
|
1789 |
foreach ( $wp_filesystem->errors->get_error_messages() as $message )
|
@@ -1791,24 +2006,31 @@ class UpdraftPlus {
|
|
1791 |
exit;
|
1792 |
}
|
1793 |
|
1794 |
-
$
|
1795 |
|
1796 |
-
|
1797 |
-
|
1798 |
-
|
1799 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1800 |
}
|
1801 |
}
|
1802 |
-
|
|
|
1803 |
}
|
1804 |
|
1805 |
//scans the content dir to see if any -old dirs are present
|
1806 |
function scan_old_dirs() {
|
1807 |
$dirArr = scandir(WP_CONTENT_DIR);
|
1808 |
foreach($dirArr as $dir) {
|
1809 |
-
if(strpos($dir,'-old') !== false)
|
1810 |
-
return true;
|
1811 |
-
}
|
1812 |
}
|
1813 |
return false;
|
1814 |
}
|
@@ -1885,6 +2107,7 @@ class UpdraftPlus {
|
|
1885 |
@ini_set('track_errors',1);
|
1886 |
}
|
1887 |
wp_enqueue_script('jquery');
|
|
|
1888 |
|
1889 |
if (UpdraftPlus_Options::user_can_manage() && UpdraftPlus_Options::get_updraft_option('updraft_service') == "googledrive" && UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid','') != '' && UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token','') == '') {
|
1890 |
add_action('admin_notices', array($this,'show_admin_warning_googledrive') );
|
@@ -1917,19 +2140,22 @@ class UpdraftPlus {
|
|
1917 |
return $this->url_start($urls,'updraftplus.com')."Want more features or paid, guaranteed support? Check out UpdraftPlus.Com".$this->url_end($urls,'updraftplus.com');
|
1918 |
break;
|
1919 |
case 1:
|
1920 |
-
|
|
|
|
|
|
|
1921 |
case 2:
|
1922 |
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";
|
1923 |
break;
|
1924 |
case 3:
|
1925 |
-
return
|
1926 |
break;
|
1927 |
case 4:
|
1928 |
return $this->url_start($urls,'www.simbahosting.co.uk')."Need high-quality WordPress hosting from WordPress specialists? (Including automatic backups and 1-click installer). Get it from the creators of UpdraftPlus.".$this->url_end($urls,'www.simbahosting.co.uk');
|
1929 |
break;
|
1930 |
case 5:
|
1931 |
if (!defined('UPDRAFTPLUS_NOADS')) {
|
1932 |
-
return $this->url_start($urls,'updraftplus.com')."Need even more features and support? Check out UpdraftPlus Premium".$this->url_end($urls,'updraftplus.com');
|
1933 |
} else {
|
1934 |
return "Thanks for being an UpdraftPlus premium user. Keep visiting ".$this->url_start($urls,'updraftplus.com')."updraftplus.com".$this->url_end($urls,'updraftplus.com')." to see what's going on.";
|
1935 |
}
|
@@ -1938,10 +2164,10 @@ class UpdraftPlus {
|
|
1938 |
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/');
|
1939 |
break;
|
1940 |
case 7:
|
1941 |
-
return $this->url_start($urls,'
|
1942 |
break;
|
1943 |
case 8:
|
1944 |
-
return "Want to say thank-you for UpdraftPlus?
|
1945 |
break;
|
1946 |
}
|
1947 |
}
|
@@ -1950,12 +2176,12 @@ class UpdraftPlus {
|
|
1950 |
$updraft_dir = $this->backups_dir_location();
|
1951 |
|
1952 |
?>
|
1953 |
-
<table class="form-table" style="width:
|
1954 |
<tr>
|
1955 |
-
<th
|
1956 |
<td><select name="updraft_interval">
|
1957 |
<?php
|
1958 |
-
$intervals = array ("manual" => "Manual", 'every4hours' => "Every 4 hours", 'every8hours' => "Every 8 hours", 'twicedaily' => "Every 12 hours", 'daily' => "Daily", 'weekly' => "Weekly", 'fortnightly' => "Fortnightly", 'monthly' => "Monthly");
|
1959 |
foreach ($intervals as $cronsched => $descrip) {
|
1960 |
echo "<option value=\"$cronsched\" ";
|
1961 |
if ($cronsched == UpdraftPlus_Options::get_updraft_option('updraft_interval','manual')) echo 'selected="selected"';
|
@@ -1963,14 +2189,15 @@ class UpdraftPlus {
|
|
1963 |
}
|
1964 |
?>
|
1965 |
</select> <?php echo apply_filters('updraftplus_schedule_showfileconfig', '<input type="hidden" name="updraftplus_starttime_files" value="">'); ?>
|
1966 |
-
|
|
|
1967 |
$updraft_retain = UpdraftPlus_Options::get_updraft_option('updraft_retain', 1);
|
1968 |
$updraft_retain = ((int)$updraft_retain > 0) ? (int)$updraft_retain : 1;
|
1969 |
?> <input type="text" name="updraft_retain" value="<?php echo $updraft_retain ?>" style="width:40px;" />
|
1970 |
</td>
|
1971 |
</tr>
|
1972 |
<tr>
|
1973 |
-
<th
|
1974 |
<td><select name="updraft_interval_database">
|
1975 |
<?php
|
1976 |
foreach ($intervals as $cronsched => $descrip) {
|
@@ -1980,57 +2207,60 @@ class UpdraftPlus {
|
|
1980 |
}
|
1981 |
?>
|
1982 |
</select> <?php echo apply_filters('updraftplus_schedule_showdbconfig', '<input type="hidden" name="updraftplus_starttime_db" value="">'); ?>
|
1983 |
-
|
|
|
1984 |
$updraft_retain_db = UpdraftPlus_Options::get_updraft_option('updraft_retain_db', $updraft_retain);
|
1985 |
$updraft_retain_db = ((int)$updraft_retain_db > 0) ? (int)$updraft_retain_db : 1;
|
1986 |
?> <input type="text" name="updraft_retain_db" value="<?php echo $updraft_retain_db ?>" style="width:40px" />
|
1987 |
</td>
|
1988 |
</tr>
|
1989 |
<tr class="backup-interval-description">
|
1990 |
-
<td></td><td><p
|
1991 |
-
<?php echo apply_filters('updraftplus_fixtime_advert', '<p><strong>To fix the time at which a backup should take place, </strong> (e.g. if your server is busy at day and you want to run overnight), <a href="http://updraftplus.com/shop/fix-time/">use the
|
1992 |
</td>
|
1993 |
</tr>
|
1994 |
-
<?php
|
1995 |
-
# The true (default value if non-existent) here has the effect of forcing a default of on.
|
1996 |
-
$include_themes = (UpdraftPlus_Options::get_updraft_option('updraft_include_themes',true)) ? 'checked="checked"' : "";
|
1997 |
-
$include_plugins = (UpdraftPlus_Options::get_updraft_option('updraft_include_plugins',true)) ? 'checked="checked"' : "";
|
1998 |
-
$include_uploads = (UpdraftPlus_Options::get_updraft_option('updraft_include_uploads',true)) ? 'checked="checked"' : "";
|
1999 |
-
$include_others = (UpdraftPlus_Options::get_updraft_option('updraft_include_others',true)) ? 'checked="checked"' : "";
|
2000 |
-
$include_others_exclude = UpdraftPlus_Options::get_updraft_option('updraft_include_others_exclude',UPDRAFT_DEFAULT_OTHERS_EXCLUDE);
|
2001 |
-
?>
|
2002 |
<tr>
|
2003 |
<th>Include in files backup:</th>
|
2004 |
<td>
|
2005 |
-
|
2006 |
-
|
2007 |
-
|
2008 |
-
|
2009 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010 |
</td>
|
2011 |
</tr>
|
2012 |
<tr>
|
2013 |
-
<th
|
2014 |
-
<td><input type="text" style="width:260px" name="updraft_email" value="<?php echo UpdraftPlus_Options::get_updraft_option('updraft_email'); ?>" /> <br
|
2015 |
</tr>
|
2016 |
|
2017 |
<tr>
|
2018 |
-
<th
|
2019 |
<?php
|
2020 |
$updraft_encryptionphrase = UpdraftPlus_Options::get_updraft_option('updraft_encryptionphrase');
|
2021 |
?>
|
2022 |
<td><input type="text" name="updraft_encryptionphrase" value="<?php echo $updraft_encryptionphrase ?>" style="width:132px" /></td>
|
2023 |
</tr>
|
2024 |
<tr class="backup-crypt-description">
|
2025 |
-
<td></td><td
|
2026 |
</tr>
|
2027 |
</table>
|
2028 |
|
2029 |
-
<h2
|
2030 |
|
2031 |
-
<table class="form-table" style="width:
|
2032 |
<tr>
|
2033 |
-
<th
|
2034 |
<td><select name="updraft_service" id="updraft-service">
|
2035 |
<?php
|
2036 |
$debug_mode = (UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) ? 'checked="checked"' : "";
|
@@ -2095,22 +2325,61 @@ class UpdraftPlus {
|
|
2095 |
});
|
2096 |
}
|
2097 |
var updraft_historytimer = 0;
|
2098 |
-
|
2099 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2100 |
clearTimeout(updraft_historytimer);
|
2101 |
updraft_historytimer = 0;
|
2102 |
-
} else {
|
2103 |
-
updraft_updatehistory();
|
2104 |
-
updraft_historytimer = setInterval(function(){updraft_updatehistory()}, 30000);
|
2105 |
}
|
2106 |
}
|
2107 |
-
function updraft_updatehistory() {
|
2108 |
-
|
|
|
|
|
|
|
2109 |
jQuery('#updraft_existing_backups').html(response);
|
2110 |
});
|
2111 |
}
|
2112 |
|
2113 |
jQuery(document).ready(function() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2114 |
jQuery('#enableexpertmode').click(function() {
|
2115 |
jQuery('.expertmode').fadeIn();
|
2116 |
return false;
|
@@ -2129,25 +2398,25 @@ class UpdraftPlus {
|
|
2129 |
});
|
2130 |
/* ]]> */
|
2131 |
</script>
|
2132 |
-
<table class="form-table" style="width:
|
2133 |
<tr>
|
2134 |
-
<td colspan="2"><h2
|
2135 |
</tr>
|
2136 |
<tr>
|
2137 |
-
<th
|
2138 |
-
<td><input type="checkbox" name="updraft_debug_mode" value="1" <?php echo $debug_mode; ?> /> <br
|
2139 |
</tr>
|
2140 |
<tr>
|
2141 |
-
<th
|
2142 |
-
<td><a id="enableexpertmode" href="#"
|
2143 |
</tr>
|
2144 |
<?php
|
2145 |
$delete_local = UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1);
|
2146 |
?>
|
2147 |
|
2148 |
<tr class="deletelocal expertmode" style="display:none;">
|
2149 |
-
<th
|
2150 |
-
<td><input type="checkbox" name="updraft_delete_local" value="1" <?php if ($delete_local) echo 'checked="checked"'; ?>> <br
|
2151 |
</tr>
|
2152 |
|
2153 |
<tr class="expertmode backupdirrow" style="display:none;">
|
@@ -2159,12 +2428,12 @@ class UpdraftPlus {
|
|
2159 |
|
2160 |
// Suppress warnings, since if the user is dumping warnings to screen, then invalid JavaScript results and the screen breaks.
|
2161 |
if(@is_writable($updraft_dir)) {
|
2162 |
-
$dir_info = '<span style="color:green">Backup directory specified is writable, which is good
|
2163 |
} else {
|
2164 |
-
$dir_info = '<span style="color:red">Backup directory specified is <b>not</b> writable, or does not exist. <span style="font-size:110%;font-weight:bold"><a href="options-general.php?page=updraftplus&action=updraft_create_backup_dir">Click here
|
2165 |
}
|
2166 |
|
2167 |
-
echo $dir_info
|
2168 |
</tr>
|
2169 |
<tr>
|
2170 |
<td></td>
|
@@ -2185,7 +2454,7 @@ class UpdraftPlus {
|
|
2185 |
<td></td>
|
2186 |
<td>
|
2187 |
<input type="hidden" name="action" value="update" />
|
2188 |
-
<input type="submit" class="button-primary" value="Save Changes" />
|
2189 |
</td>
|
2190 |
</tr>
|
2191 |
</table>
|
@@ -2209,13 +2478,13 @@ class UpdraftPlus {
|
|
2209 |
|
2210 |
if (!empty($updraft_last_backup['backup_nonce'])) {
|
2211 |
$potential_log_file = $updraft_dir."/log.".$updraft_last_backup['backup_nonce'].".txt";
|
2212 |
-
if (is_readable($potential_log_file)) $last_backup_text .= "<br><a href=\"?page=updraftplus&action=downloadlog&updraftplus_backup_nonce=".$updraft_last_backup['backup_nonce']."\">Download log file</a>";
|
2213 |
}
|
2214 |
|
2215 |
$last_backup_color = ($updraft_last_backup['success']) ? 'green' : 'red';
|
2216 |
|
2217 |
} else {
|
2218 |
-
$last_backup_text = 'No backup has been completed.';
|
2219 |
$last_backup_color = 'blue';
|
2220 |
}
|
2221 |
|
@@ -2225,6 +2494,8 @@ class UpdraftPlus {
|
|
2225 |
|
2226 |
function settings_output() {
|
2227 |
|
|
|
|
|
2228 |
/*
|
2229 |
we use request here because the initial restore is triggered by a POSTed form. we then may need to obtain credentials
|
2230 |
for the WP_Filesystem. to do this WP outputs a form that we can't insert variables into (apparently). So the values are
|
@@ -2233,33 +2504,43 @@ class UpdraftPlus {
|
|
2233 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'updraft_restore' && isset($_REQUEST['backup_timestamp'])) {
|
2234 |
$backup_success = $this->restore_backup($_REQUEST['backup_timestamp']);
|
2235 |
if(empty($this->errors) && $backup_success == true) {
|
2236 |
-
echo '<p>Restore successful
|
2237 |
-
echo '<b>Actions:</b> <a href="options-general.php?page=updraftplus&updraft_restore_success=true">Return to
|
2238 |
return;
|
2239 |
} else {
|
2240 |
-
echo '<p>Restore failed...</p><ul>';
|
2241 |
foreach ($this->errors as $err) {
|
2242 |
-
|
2243 |
-
|
2244 |
-
|
|
|
|
|
|
|
|
|
|
|
2245 |
}
|
2246 |
-
echo "</li>";
|
2247 |
}
|
2248 |
-
echo '</ul><b>Actions:</b> <a href="options-general.php?page=updraftplus">Return to
|
2249 |
return;
|
2250 |
}
|
2251 |
//uncomment the below once i figure out how i want the flow of a restoration to work.
|
2252 |
-
//echo '<b>Actions:</b> <a href="options-general.php?page=updraftplus">Return to
|
2253 |
}
|
2254 |
$deleted_old_dirs = false;
|
2255 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'updraft_delete_old_dirs') {
|
|
|
|
|
|
|
|
|
|
|
|
|
2256 |
if($this->delete_old_dirs()) {
|
|
|
2257 |
$deleted_old_dirs = true;
|
2258 |
} else {
|
2259 |
-
echo '<p>Old directory removal failed for some reason. You may want to do this manually
|
2260 |
}
|
2261 |
-
echo '<
|
2262 |
-
echo '<b>Actions:</b> <a href="options-general.php?page=updraftplus">Return to Updraft Configuration</a>.';
|
2263 |
return;
|
2264 |
}
|
2265 |
|
@@ -2272,21 +2553,21 @@ class UpdraftPlus {
|
|
2272 |
|
2273 |
if(isset($_GET['action']) && $_GET['action'] == 'updraft_create_backup_dir') {
|
2274 |
if(!$this->create_backup_dir()) {
|
2275 |
-
echo '<p>Backup directory could not be created...</p><br/>';
|
2276 |
}
|
2277 |
-
echo '<p>Backup directory successfully created
|
2278 |
-
echo '<b>Actions:</b> <a href="options-general.php?page=updraftplus">Return to
|
2279 |
return;
|
2280 |
}
|
2281 |
|
2282 |
if(isset($_POST['action']) && $_POST['action'] == 'updraft_backup') {
|
2283 |
// For unknown reasons, the <script> runs twice if put inside the <div>
|
2284 |
-
echo '<div class="updated fade" style="max-width: 800px; font-size:140%; line-height: 140%; padding:14px; clear:left;"><strong>Schedule backup:</strong> ';
|
2285 |
if (wp_schedule_single_event(time()+5, 'updraft_backup_all') === false) {
|
2286 |
$this->log("A backup run failed to schedule");
|
2287 |
-
echo "Failed
|
2288 |
} else {
|
2289 |
-
echo
|
2290 |
$this->log("A backup run has been scheduled");
|
2291 |
}
|
2292 |
}
|
@@ -2295,44 +2576,46 @@ class UpdraftPlus {
|
|
2295 |
if(isset($_POST['action']) && $_POST['action'] == 'updraft_backup_debug_all') { $this->boot_backup(true,true); }
|
2296 |
elseif (isset($_POST['action']) && $_POST['action'] == 'updraft_backup_debug_db') { $this->backup_db(); }
|
2297 |
elseif (isset($_POST['action']) && $_POST['action'] == 'updraft_wipesettings') {
|
2298 |
-
$settings = array('updraft_interval', 'updraft_interval_database', 'updraft_retain', 'updraft_retain_db', 'updraft_encryptionphrase', 'updraft_service', 'updraft_dropbox_appkey', 'updraft_dropbox_secret', 'updraft_googledrive_clientid', 'updraft_googledrive_secret', 'updraft_googledrive_remotepath', 'updraft_ftp_login', 'updraft_ftp_pass', 'updraft_ftp_remote_path', 'updraft_server_address', 'updraft_dir', 'updraft_email', 'updraft_delete_local', 'updraft_debug_mode', 'updraft_include_plugins', 'updraft_include_themes', 'updraft_include_uploads', 'updraft_include_others', 'updraft_include_others_exclude', 'updraft_lastmessage', 'updraft_googledrive_clientid', 'updraft_googledrive_token', 'updraft_dropboxtk_request_token', 'updraft_dropboxtk_access_token', 'updraft_dropbox_folder', 'updraft_last_backup', 'updraft_starttime_files', 'updraft_starttime_db', 'updraft_sftp_settings');
|
2299 |
foreach ($settings as $s) {
|
2300 |
UpdraftPlus_Options::delete_updraft_option($s);
|
2301 |
}
|
2302 |
-
$this->show_admin_warning("Your settings have been wiped.");
|
2303 |
}
|
2304 |
|
2305 |
?>
|
2306 |
<div class="wrap">
|
2307 |
<h1><?php echo $this->plugin_title; ?></h1>
|
2308 |
|
2309 |
-
|
2310 |
<br>
|
2311 |
<?php
|
2312 |
if(isset($_GET['updraft_restore_success'])) {
|
2313 |
-
echo "<div style=\"
|
2314 |
}
|
2315 |
|
2316 |
$ws_advert = $this->wordshell_random_advert(1);
|
2317 |
if ($ws_advert) { echo '<div class="updated fade" style="max-width: 800px; font-size:140%; line-height: 140%; padding:14px; clear:left;">'.$ws_advert.'</div>'; }
|
2318 |
|
2319 |
-
if($deleted_old_dirs) echo '<div style="color:blue">Old directories successfully deleted
|
2320 |
|
2321 |
if(!$this->memory_check(96)) {?>
|
2322 |
-
<div style="color:orange"
|
2323 |
<?php
|
2324 |
}
|
2325 |
if(1==0 && !$this->execution_time_check(60)) {?>
|
2326 |
-
<div style="color:orange"
|
2327 |
<?php
|
2328 |
}
|
2329 |
|
2330 |
if($this->scan_old_dirs()) {?>
|
2331 |
-
<div style="
|
2332 |
<form method="post" action="<?php echo remove_query_arg(array('updraft_restore_success','action')) ?>">
|
|
|
2333 |
<input type="hidden" name="action" value="updraft_delete_old_dirs" />
|
2334 |
-
<input type="submit" class="button-primary" value="Delete Old
|
2335 |
</form>
|
|
|
2336 |
<?php
|
2337 |
}
|
2338 |
if(!empty($this->errors)) {
|
@@ -2343,15 +2626,14 @@ class UpdraftPlus {
|
|
2343 |
}
|
2344 |
?>
|
2345 |
|
2346 |
-
<h2 style="clear:left;"
|
2347 |
<table class="form-table" style="float:left; clear: both; width:545px;">
|
2348 |
<noscript>
|
2349 |
<tr>
|
2350 |
-
<th
|
2351 |
-
<td style="color:red"
|
2352 |
</tr>
|
2353 |
</noscript>
|
2354 |
-
<tr>
|
2355 |
<?php
|
2356 |
$updraft_dir = $this->backups_dir_location();
|
2357 |
// UNIX timestamp
|
@@ -2362,12 +2644,12 @@ class UpdraftPlus {
|
|
2362 |
// Convert to blog time zone
|
2363 |
$next_scheduled_backup = get_date_from_gmt($next_scheduled_backup_gmt, 'D, F j, Y H:i T');
|
2364 |
} else {
|
2365 |
-
$next_scheduled_backup = '
|
2366 |
}
|
2367 |
|
2368 |
$next_scheduled_backup_database = wp_next_scheduled('updraft_backup_database');
|
2369 |
if (UpdraftPlus_Options::get_updraft_option('updraft_interval_database',UpdraftPlus_Options::get_updraft_option('updraft_interval')) == UpdraftPlus_Options::get_updraft_option('updraft_interval')) {
|
2370 |
-
$next_scheduled_backup_database =
|
2371 |
} else {
|
2372 |
if ($next_scheduled_backup_database) {
|
2373 |
// Convert to GMT
|
@@ -2375,7 +2657,7 @@ class UpdraftPlus {
|
|
2375 |
// Convert to blog time zone
|
2376 |
$next_scheduled_backup_database = get_date_from_gmt($next_scheduled_backup_database_gmt, 'D, F j, Y H:i T');
|
2377 |
} else {
|
2378 |
-
$next_scheduled_backup_database = '
|
2379 |
}
|
2380 |
}
|
2381 |
$current_time = get_date_from_gmt(gmdate('Y-m-d H:i:s'), 'D, F j, Y H:i T');
|
@@ -2386,50 +2668,30 @@ class UpdraftPlus {
|
|
2386 |
|
2387 |
?>
|
2388 |
|
2389 |
-
<th>Time now:</th>
|
2390 |
-
<td style="color:blue"><?php echo $current_time?></td>
|
2391 |
-
</tr>
|
2392 |
<tr>
|
2393 |
-
<th
|
2394 |
-
<td
|
2395 |
-
|
2396 |
-
|
2397 |
-
|
2398 |
-
|
2399 |
</tr>
|
2400 |
<tr>
|
2401 |
-
<th
|
2402 |
<td id="updraft_last_backup"><?php echo $last_backup_html ?></td>
|
2403 |
</tr>
|
2404 |
</table>
|
2405 |
-
<div style="float:left; width:200px; padding-top:
|
2406 |
-
<
|
2407 |
-
<input type="hidden" name="action" value="updraft_backup" />
|
2408 |
-
<p><input type="submit" <?php echo $backup_disabled ?> class="button-primary" value="Backup Now!" style="padding-top:2px;padding-bottom:2px;font-size:22px !important" onclick="return(confirm('This will schedule a one-time backup. To trigger the backup you should go ahead, then wait 10 seconds, then visit any page on your site. WordPress should then start the backup running in the background.'))"></p>
|
2409 |
-
</form>
|
2410 |
<div style="position:relative">
|
2411 |
<div style="position:absolute;top:0;left:0">
|
2412 |
<?php
|
2413 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
2414 |
$backup_history = (is_array($backup_history))?$backup_history:array();
|
|
|
2415 |
$restore_disabled = (count($backup_history) == 0) ? 'disabled="disabled"' : "";
|
2416 |
?>
|
2417 |
-
<input type="button" class="button-primary" <?php echo $restore_disabled ?> value="Restore" style="padding-top:2px;padding-bottom:2px;font-size:22px !important" onclick="jQuery('
|
2418 |
-
</div>
|
2419 |
-
<div style="display:none;position:absolute;top:0;left:0" id="backup-restore">
|
2420 |
-
<form method="post" action="">
|
2421 |
-
<b>Choose: </b>
|
2422 |
-
<select name="backup_timestamp" style="display:inline">
|
2423 |
-
<?php
|
2424 |
-
foreach($backup_history as $key=>$value) {
|
2425 |
-
echo "<option value='$key'>".date('Y-m-d G:i',$key)."</option>\n";
|
2426 |
-
}
|
2427 |
-
?>
|
2428 |
-
</select>
|
2429 |
-
|
2430 |
-
<input type="hidden" name="action" value="updraft_restore" />
|
2431 |
-
<input type="submit" <?php echo $restore_disabled ?> class="button-primary" value="Restore Now!" style="padding-top:7px;margin-top:5px;padding-bottom:7px;font-size:24px !important" onclick="return(confirm('Restoring from backup will replace this site\'s themes, plugins, uploads and other content directories (according to what is contained in the backup set which you select). Database restoration cannot be done through this process - you must download the database and import yourself (e.g. through PHPMyAdmin). Do you wish to continue with the restoration process?'))" />
|
2432 |
-
</form>
|
2433 |
</div>
|
2434 |
</div>
|
2435 |
</div>
|
@@ -2440,14 +2702,24 @@ class UpdraftPlus {
|
|
2440 |
<td id="updraft_lastlogcontainer"><?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', '(Nothing yet logged)')); ?></td>
|
2441 |
</tr>
|
2442 |
<tr>
|
2443 |
-
<th>
|
2444 |
-
<td><a href="#" title="
|
2445 |
</tr>
|
2446 |
<tr>
|
2447 |
-
<td></td><td class="download-backups" style="display:none">
|
2448 |
-
<p
|
|
|
|
|
|
|
|
|
2449 |
<div id="ud_downloadstatus"></div>
|
2450 |
<script>
|
|
|
|
|
|
|
|
|
|
|
|
|
2451 |
var lastlog_lastmessage = "";
|
2452 |
function updraftplus_deletefromserver(timestamp, type) {
|
2453 |
var pdata = {
|
@@ -2503,7 +2775,7 @@ class UpdraftPlus {
|
|
2503 |
}
|
2504 |
}
|
2505 |
</script>
|
2506 |
-
<div id="updraft_existing_backups">
|
2507 |
<?php
|
2508 |
print $this->existing_backup_table($backup_history);
|
2509 |
?>
|
@@ -2511,25 +2783,55 @@ class UpdraftPlus {
|
|
2511 |
</td>
|
2512 |
</tr>
|
2513 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2514 |
<?php
|
2515 |
if (is_multisite() && !file_exists(UPDRAFTPLUS_DIR.'/addons/multisite.php')) {
|
2516 |
?>
|
2517 |
-
<h2>UpdraftPlus Multisite
|
2518 |
<table>
|
2519 |
<tr>
|
2520 |
<td>
|
2521 |
-
<p style="max-width:800px;"
|
2522 |
</td>
|
2523 |
</tr>
|
2524 |
</table>
|
2525 |
<?php } ?>
|
2526 |
-
<h2
|
2527 |
<?php UpdraftPlus_Options::options_form_begin(); ?>
|
2528 |
<?php $this->settings_formcontents($last_backup_html); ?>
|
2529 |
</form>
|
2530 |
<div style="padding-top: 40px; display:none;" class="expertmode">
|
2531 |
<hr>
|
2532 |
-
<h3
|
2533 |
<p>
|
2534 |
<?php
|
2535 |
$peak_memory_usage = memory_get_peak_usage(true)/1024/1024;
|
@@ -2539,21 +2841,21 @@ class UpdraftPlus {
|
|
2539 |
echo 'PHP memory limit: '.ini_get('memory_limit').' <br/>';
|
2540 |
?>
|
2541 |
</p>
|
2542 |
-
<p style="max-width: 600px;"
|
2543 |
|
2544 |
<form method="post">
|
2545 |
<input type="hidden" name="action" value="updraft_backup_debug_all" />
|
2546 |
-
<p><input type="submit" class="button-primary" <?php echo $backup_disabled ?> value="Debug Full Backup" onclick="return(confirm('This will cause an immediate backup.
|
2547 |
</form>
|
2548 |
<form method="post">
|
2549 |
<input type="hidden" name="action" value="updraft_backup_debug_db" />
|
2550 |
-
<p><input type="submit" class="button-primary" <?php echo $backup_disabled ?> value="Debug
|
2551 |
</form>
|
2552 |
-
<h3
|
2553 |
-
<p style="max-width: 600px;"
|
2554 |
<form method="post">
|
2555 |
<input type="hidden" name="action" value="updraft_wipesettings" />
|
2556 |
-
<p><input type="submit" class="button-primary" value="Wipe All Settings" onclick="return(confirm('This will delete all your UpdraftPlus settings - are you sure you want to do this?'))" /></p>
|
2557 |
</form>
|
2558 |
</div>
|
2559 |
|
@@ -2586,14 +2888,18 @@ class UpdraftPlus {
|
|
2586 |
|
2587 |
$updraft_dir = $this->backups_dir_location();
|
2588 |
|
|
|
|
|
2589 |
echo '<table>';
|
2590 |
|
2591 |
krsort($backup_history);
|
2592 |
|
2593 |
foreach($backup_history as $key=>$value) {
|
2594 |
-
|
|
|
|
|
2595 |
<tr>
|
2596 |
-
<td><b><?php echo
|
2597 |
<td>
|
2598 |
<?php if (isset($value['db'])) { ?>
|
2599 |
<form id="uddownloadform_db_<?php echo $key;?>" action="admin-ajax.php" onsubmit="return updraft_downloader(<?php echo $key;?>, 'db')" method="post">
|
@@ -2601,54 +2907,29 @@ class UpdraftPlus {
|
|
2601 |
<input type="hidden" name="action" value="updraft_download_backup" />
|
2602 |
<input type="hidden" name="type" value="db" />
|
2603 |
<input type="hidden" name="timestamp" value="<?php echo $key?>" />
|
2604 |
-
<input type="submit" value="Database" />
|
2605 |
-
</form>
|
2606 |
-
<?php } else { echo "(No database)"; } ?>
|
2607 |
-
</td>
|
2608 |
-
<td>
|
2609 |
-
<?php if (isset($value['plugins'])) { ?>
|
2610 |
-
<form id="uddownloadform_plugins_<?php echo $key;?>" action="admin-ajax.php" onsubmit="return updraft_downloader(<?php echo $key;?>, 'plugins')" method="post">
|
2611 |
-
<?php wp_nonce_field('updraftplus_download'); ?>
|
2612 |
-
<input type="hidden" name="action" value="updraft_download_backup" />
|
2613 |
-
<input type="hidden" name="type" value="plugins" />
|
2614 |
-
<input type="hidden" name="timestamp" value="<?php echo $key?>" />
|
2615 |
-
<input type="submit" value="Plugins" />
|
2616 |
</form>
|
2617 |
-
<?php } else { echo "(No
|
2618 |
</td>
|
2619 |
-
|
2620 |
-
<?php
|
2621 |
-
|
2622 |
-
|
2623 |
-
|
2624 |
-
|
2625 |
-
|
2626 |
-
|
2627 |
-
|
2628 |
-
<?php } else { echo "(No themes)"; } ?>
|
2629 |
-
</td>
|
2630 |
-
<td>
|
2631 |
-
<?php if (isset($value['uploads'])) { ?>
|
2632 |
-
<form id="uddownloadform_uploads_<?php echo $key;?>" action="admin-ajax.php" onsubmit="return updraft_downloader(<?php echo $key;?>, 'uploads')" method="post">
|
2633 |
-
<?php wp_nonce_field('updraftplus_download'); ?>
|
2634 |
-
<input type="hidden" name="action" value="updraft_download_backup" />
|
2635 |
-
<input type="hidden" name="type" value="uploads" />
|
2636 |
-
<input type="hidden" name="timestamp" value="<?php echo $key?>" />
|
2637 |
-
<input type="submit" value="Uploads" />
|
2638 |
-
</form>
|
2639 |
-
<?php } else { echo "(No uploads)"; } ?>
|
2640 |
-
</td>
|
2641 |
-
<td>
|
2642 |
-
<?php if (isset($value['others'])) { ?>
|
2643 |
-
<form id="uddownloadform_others_<?php echo $key;?>" action="admin-ajax.php" onsubmit="return updraft_downloader(<?php echo $key;?>, 'others')" method="post">
|
2644 |
<?php wp_nonce_field('updraftplus_download'); ?>
|
2645 |
<input type="hidden" name="action" value="updraft_download_backup" />
|
2646 |
-
<input type="hidden" name="type" value="
|
2647 |
<input type="hidden" name="timestamp" value="<?php echo $key?>" />
|
2648 |
-
<input type="submit" value="
|
2649 |
</form>
|
2650 |
-
<?php } else { echo "(No
|
2651 |
</td>
|
|
|
|
|
2652 |
<td>
|
2653 |
<?php if (isset($value['nonce']) && preg_match("/^[0-9a-f]{12}$/",$value['nonce']) && is_readable($updraft_dir.'/log.'.$value['nonce'].'.txt')) { ?>
|
2654 |
<form action="options-general.php" method="get">
|
@@ -2657,9 +2938,28 @@ class UpdraftPlus {
|
|
2657 |
<input type="hidden" name="updraftplus_backup_nonce" value="<?php echo $value['nonce']; ?>" />
|
2658 |
<input type="submit" value="Backup Log" />
|
2659 |
</form>
|
2660 |
-
<?php } else { echo "(No
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2661 |
</td>
|
2662 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2663 |
<?php }
|
2664 |
echo '</table>';
|
2665 |
}
|
@@ -2669,23 +2969,23 @@ class UpdraftPlus {
|
|
2669 |
}
|
2670 |
|
2671 |
function show_admin_warning_diskspace() {
|
2672 |
-
$this->show_admin_warning('<strong>Warning:</strong> You have less than
|
2673 |
}
|
2674 |
|
2675 |
function show_admin_warning_wordpressversion() {
|
2676 |
-
$this->show_admin_warning('<strong>Warning:</strong> UpdraftPlus does not officially support versions of WordPress before
|
2677 |
}
|
2678 |
|
2679 |
function show_admin_warning_unreadablelog() {
|
2680 |
-
$this->show_admin_warning('<strong>UpdraftPlus notice
|
2681 |
}
|
2682 |
|
2683 |
function show_admin_warning_dropbox() {
|
2684 |
-
$this->show_admin_warning('<strong>UpdraftPlus notice
|
2685 |
}
|
2686 |
|
2687 |
function show_admin_warning_googledrive() {
|
2688 |
-
$this->show_admin_warning('<strong>UpdraftPlus notice
|
2689 |
}
|
2690 |
|
2691 |
// Caution: $source is allowed to be an array, not just a filename
|
@@ -2730,6 +3030,7 @@ class UpdraftPlus {
|
|
2730 |
$this->zipfiles_added = 0;
|
2731 |
$this->zipfiles_dirbatched = array();
|
2732 |
$this->zipfiles_batched = array();
|
|
|
2733 |
|
2734 |
// Magic value, used later to detect no error occurring
|
2735 |
$last_error = 2349864;
|
@@ -2787,6 +3088,7 @@ class UpdraftPlus {
|
|
2787 |
if (file_exists($zipfile)) {
|
2788 |
$opencode = $zip->open($zipfile);
|
2789 |
$original_size = filesize($zipfile);
|
|
|
2790 |
} else {
|
2791 |
$opencode = $zip->open($zipfile, ZIPARCHIVE::CREATE);
|
2792 |
$original_size = 0;
|
@@ -2801,16 +3103,21 @@ class UpdraftPlus {
|
|
2801 |
$fsize = filesize($file);
|
2802 |
if (!isset($this->existing_files[$add_as]) || $this->existing_files[$add_as] != $fsize) {
|
2803 |
|
2804 |
-
touch($
|
2805 |
$zip->addFile($file, $add_as);
|
2806 |
|
2807 |
$data_added_since_reopen += $fsize;
|
2808 |
# 25Mb - force a write-out and re-open
|
2809 |
-
if ($data_added_since_reopen > 26214400) {
|
2810 |
|
2811 |
$before_size = filesize($zipfile);
|
|
|
2812 |
|
2813 |
-
|
|
|
|
|
|
|
|
|
2814 |
if (!$zip->close()) {
|
2815 |
$this->log("zip::Close returned an error");
|
2816 |
}
|
@@ -2819,17 +3126,22 @@ class UpdraftPlus {
|
|
2819 |
$opencode = $zip->open($zipfile);
|
2820 |
if ($opencode !== true) return array($opencode, 0);
|
2821 |
$data_added_since_reopen = 0;
|
|
|
2822 |
// Call here, in case we've got so many big files that we don't complete the whole routine
|
2823 |
if (filesize($zipfile) > $before_size) $this->something_useful_happened();
|
|
|
2824 |
}
|
2825 |
}
|
2826 |
$this->zipfiles_added++;
|
|
|
2827 |
if ($this->zipfiles_added % 100 == 0) $this->log("Zip: ".basename($zipfile).": ".$this->zipfiles_added." files added (on-disk size: ".round(filesize($zipfile)/1024,1)." Kb)");
|
2828 |
}
|
2829 |
// Reset the array
|
2830 |
$this->zipfiles_batched = array();
|
2831 |
$ret = $zip->close();
|
|
|
2832 |
if (filesize($zipfile) > $original_size) $this->something_useful_happened();
|
|
|
2833 |
return $ret;
|
2834 |
}
|
2835 |
|
@@ -2855,7 +3167,7 @@ class UpdraftPlus {
|
|
2855 |
// Is the place we've ended up above the original base? That leads to infinite recursion
|
2856 |
if (($fullpath !== $original_fullpath && strpos($original_fullpath, $fullpath) === 0) || ($original_fullpath == $fullpath && strpos($use_path_when_storing, '/') !== false) ) {
|
2857 |
$this->log("Infinite recursion: symlink lead us to $fullpath, which is within $original_fullpath");
|
2858 |
-
$this->error("Infinite recursion: consult your log for more information");
|
2859 |
return false;
|
2860 |
}
|
2861 |
|
4 |
Plugin URI: http://updraftplus.com
|
5 |
Description: Backup and restore: your site can be backed up locally or to Amazon S3, Dropbox, Google Drive, (S)FTP, WebDAV & email, on automatic schedules.
|
6 |
Author: UpdraftPlus.Com, DavidAnderson
|
7 |
+
Version: 1.5.6
|
8 |
Donate link: http://david.dw-perspective.org.uk/donate
|
9 |
License: GPLv3 or later
|
10 |
+
Text Domain: updraftplus
|
11 |
+
Author URI: http://updraftplus.com
|
12 |
*/
|
13 |
|
14 |
/*
|
15 |
TODO - some of these are out of date/done, needs pruning
|
16 |
+
// Add an appeal for translators to email me
|
17 |
+
// Separate out all restoration code and admin UI into separate file/classes (optimisation)?
|
18 |
+
// Search for other TODO-s in the code
|
19 |
+
// Make mcrypt warning on dropbox more prominent - one customer missed it
|
20 |
+
// Store meta-data on which version of UD the backup was made with (will help if we ever introduce quirks that need ironing)
|
21 |
+
// Test restoration when uploads dir is /assets/ (e.g. with Shoestrap theme)
|
22 |
+
// Send the user an email upon their first backup with tips on what to do (e.g. support/improve) (include legacy check to not bug existing users)
|
23 |
//Allow use of /usr/bin/zip - since this can escape from PHP's memory limit. Can still batch as we do so, in order to monitor/measure progress
|
24 |
//Do an automated test periodically for the success of loop-back connections
|
25 |
//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.
|
26 |
//Change DB encryption to not require whole gzip in memory (twice)
|
27 |
//Add Rackspace, Box.Net, SugarSync and Microsoft Skydrive support??
|
28 |
+
//Make it easier to find add-ons
|
29 |
//The restorer has a hard-coded wp-content - fix
|
30 |
//?? On 'backup now', open up a Lightbox, count down 5 seconds, then start examining the log file (if it can be found)
|
31 |
//Should make clear in dashboard what is a non-fatal error (i.e. can be retried) - leads to unnecessary bug reports
|
35 |
// Create a "Want Support?" button/console, that leads them through what is needed, and performs some basic tests...
|
36 |
// Resuming partial (S)FTP uploads
|
37 |
// Translations
|
38 |
+
// Add-on to manage all your backups from a single dashboard
|
39 |
// Make disk space check more intelligent (currently hard-coded at 35Mb)
|
40 |
// Provide backup/restoration for UpdraftPlus's settings, to allow 'bootstrap' on a fresh WP install - some kind of single-use code which a remote UpdraftPlus can use to authenticate
|
41 |
// Multiple jobs
|
144 |
var $zipfiles_existingfiles;
|
145 |
var $zipfiles_dirbatched;
|
146 |
var $zipfiles_batched;
|
147 |
+
var $zipfiles_lastwritetime;
|
148 |
|
149 |
var $zip_preferpcl = false;
|
150 |
|
174 |
add_filter('cron_schedules', array($this,'modify_cron_schedules'));
|
175 |
add_filter('plugin_action_links', array($this, 'plugin_action_links'), 10, 2);
|
176 |
add_action('init', array($this, 'handle_url_actions'));
|
177 |
+
add_action('plugins_loaded', array($this, 'load_translations'));
|
178 |
|
179 |
if (defined('UPDRAFTPLUS_PREFERPCLZIP') && UPDRAFTPLUS_PREFERPCLZIP == true) { $this->zip_preferpcl = true; }
|
180 |
|
181 |
}
|
182 |
|
183 |
+
function load_translations() {
|
184 |
+
// Tell WordPress where to find the translations
|
185 |
+
load_plugin_textdomain('updraftplus', false, basename(dirname(__FILE__)).'/languages');
|
186 |
+
}
|
187 |
+
|
188 |
// Handle actions passed on to method plugins; e.g. Google OAuth 2.0 - ?page=updraftplus&action=updraftmethod-googledrive-auth
|
189 |
// Also handle action=downloadlog
|
190 |
function handle_url_actions() {
|
216 |
if ($handle = opendir($updraft_dir)) {
|
217 |
$now_time=time();
|
218 |
while (false !== ($entry = readdir($handle))) {
|
219 |
+
// The latter match is for files created internally by zipArchive::addFile
|
220 |
+
if ((preg_match('/\.tmp(\.gz)?$/i', $entry) || preg_match('/\.zip\.tmp\.([A-Za-z0-9]){6}?$/i', $entry)) && is_file($updraft_dir.'/'.$entry) && $now_time-filemtime($updraft_dir.'/'.$entry)>86400) {
|
221 |
$this->log("Deleting old temporary file: $entry");
|
222 |
@unlink($updraft_dir.'/'.$entry);
|
223 |
}
|
229 |
# Adds the settings link under the plugin on the plugin screen.
|
230 |
function plugin_action_links($links, $file) {
|
231 |
if ($file == plugin_basename(__FILE__)){
|
232 |
+
$settings_link = '<a href="'.site_url().'/wp-admin/options-general.php?page=updraftplus">'.__("Settings", "updraftplus").'</a>';
|
233 |
array_unshift($links, $settings_link);
|
234 |
// $settings_link = '<a href="http://david.dw-perspective.org.uk/donate">'.__("Donate","UpdraftPlus").'</a>';
|
235 |
// array_unshift($links, $settings_link);
|
236 |
+
$settings_link = '<a href="http://updraftplus.com">'.__("Add-Ons / Pro Support","updraftplus").'</a>';
|
237 |
array_unshift($links, $settings_link);
|
238 |
}
|
239 |
return $links;
|
254 |
// Use append mode in case it already exists
|
255 |
$this->logfile_handle = fopen($this->logfile_name, 'a');
|
256 |
$this->opened_log_time = microtime(true);
|
257 |
+
$this->log('Opened log file at time: '.date('r'));
|
258 |
global $wp_version;
|
259 |
$logline = "UpdraftPlus: ".$this->version." WP: ".$wp_version." PHP: ".phpversion()." (".php_uname().") max_execution_time: ".@ini_get("max_execution_time")." memory_limit: ".ini_get('memory_limit')." ZipArchive::addFile : ";
|
260 |
|
312 |
// return $inter;
|
313 |
}
|
314 |
|
315 |
+
// This important function returns a list of file entities that can potentially be backed up (subject to users settings), and optionally further meta-data about them
|
316 |
+
function get_backupable_file_entities($include_others = true, $full_info = false) {
|
317 |
+
|
318 |
+
$wp_upload_dir = wp_upload_dir();
|
319 |
+
|
320 |
+
if ($full_info) {
|
321 |
+
$arr = array(
|
322 |
+
'plugins' => array('path' => WP_PLUGIN_DIR, 'description' => __('Plugins','updraftplus')),
|
323 |
+
'themes' => array('path' => WP_CONTENT_DIR.'/themes', 'description' => __('Themes','updraftplus')),
|
324 |
+
'uploads' => array('path' => $wp_upload_dir['basedir'], 'description' => __('Uploads','updraftplus'))
|
325 |
+
);
|
326 |
+
} else {
|
327 |
+
$arr = array(
|
328 |
+
'plugins' => WP_PLUGIN_DIR,
|
329 |
+
'themes' => WP_CONTENT_DIR.'/themes',
|
330 |
+
'uploads' => $wp_upload_dir['basedir']
|
331 |
+
);
|
332 |
+
}
|
333 |
+
|
334 |
+
$arr = apply_filters('updraft_backupable_file_entities', $arr, $full_info);
|
335 |
+
|
336 |
+
if ($include_others) {
|
337 |
+
if ($full_info) {
|
338 |
+
$arr['others'] = array('path' => WP_CONTENT_DIR, 'description' => __('Others','updraftplus'));
|
339 |
+
} else {
|
340 |
+
$arr['others'] = WP_CONTENT_DIR;
|
341 |
+
}
|
342 |
+
}
|
343 |
+
|
344 |
+
return $arr;
|
345 |
+
|
346 |
+
}
|
347 |
+
|
348 |
function backup_resume($resumption_no, $bnonce) {
|
349 |
|
350 |
@ignore_user_abort(true);
|
381 |
wp_schedule_single_event($schedule_for, 'updraft_backup_resume', array($next_resumption, $bnonce));
|
382 |
$this->newresumption_scheduled = $schedule_for;
|
383 |
} else {
|
384 |
+
$this->log(sprintf('The current run is attempt number %d - will not schedule a further attempt until we see something useful happening'), 10);
|
385 |
}
|
386 |
|
387 |
// Sanity check
|
395 |
|
396 |
// This save, if there was something, is then immediately picked up again
|
397 |
if (is_array($backup_array)) {
|
398 |
+
$this->log('Saving backup status to database (elements: '.count($backup_array).")");
|
399 |
$this->save_backup_history($backup_array);
|
400 |
}
|
401 |
|
449 |
$this->save_backup_history($our_files);
|
450 |
}
|
451 |
|
452 |
+
$backupable_entities = $this->get_backupable_file_entities(true);
|
453 |
+
|
454 |
foreach ($our_files as $key => $file) {
|
455 |
|
456 |
// Only continue if the stored info was about a dump
|
457 |
+
if (!isset($backupable_entities[$key]) && $key != 'db') continue;
|
458 |
|
459 |
$hash = md5($file);
|
460 |
$fullpath = $this->backups_dir_location().'/'.$file;
|
567 |
|
568 |
if (!is_file($this->logfile_name)) {
|
569 |
$this->log('Failed to open log file ('.$this->logfile_name.') - you need to check your UpdraftPlus settings (your chosen directory for creating files in is not writable, or you ran out of disk space). Backup aborted.');
|
570 |
+
$this->error(__('Could not create files in the backup directory. Backup aborted - check your UpdraftPlus settings.','updraftplus'));
|
571 |
return false;
|
572 |
}
|
573 |
|
635 |
return basename($file.'.crypt');
|
636 |
} else {
|
637 |
$this->log("Encryption error occurred when encrypting database. Encryption aborted.");
|
638 |
+
$this->error(__("Encryption error occurred when encrypting database. Encryption aborted.",'updraftplus'));
|
639 |
return basename($file);
|
640 |
}
|
641 |
} else {
|
726 |
|
727 |
$append_log = ($debug_mode && $this->logfile_name != "") ? "\r\nLog contents:\r\n".file_get_contents($this->logfile_name) : "" ;
|
728 |
|
729 |
+
wp_mail($sendmail_to,__('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);
|
730 |
|
731 |
}
|
732 |
|
820 |
$file_backups_found = 0;
|
821 |
$this->log("Number of backup sets in history: ".count($backup_history));
|
822 |
|
823 |
+
$backupable_entities = $this->get_backupable_file_entities(true);
|
824 |
+
|
825 |
foreach ($backup_history as $backup_datestamp => $backup_to_examine) {
|
826 |
// $backup_to_examine is an array of file names, keyed on db/plugins/themes/uploads
|
827 |
// The new backup_history array is saved afterwards, so remember to unset the ones that are to be deleted
|
838 |
}
|
839 |
}
|
840 |
|
841 |
+
$contains_files = false;
|
842 |
+
foreach ($backupable_entities as $entity => $info) {
|
843 |
+
if (isset($backup_to_examine[$entity])) {
|
844 |
+
$contains_files = true;
|
845 |
+
break;
|
846 |
+
}
|
847 |
+
}
|
848 |
+
|
849 |
+
if ($contains_files) {
|
850 |
$file_backups_found++;
|
851 |
$this->log("$backup_datestamp: this set includes files; fileset count is now $file_backups_found");
|
852 |
if ($file_backups_found > $updraft_retain) {
|
853 |
$this->log("$backup_datestamp: over retain limit ($updraft_retain); will delete this file set");
|
854 |
+
|
855 |
+
foreach ($backupable_entities as $entity => $info) {
|
856 |
+
if (!empty($backup_to_examine[$entity])) {
|
857 |
+
$this->prune_file($service, $backup_to_examine[$entity], $backup_method_object, $backup_passback);
|
858 |
+
}
|
859 |
+
unset($backup_to_examine[$entity]);
|
860 |
}
|
861 |
+
|
862 |
+
}
|
863 |
+
}
|
864 |
+
|
865 |
+
// Get new result, post-deletion
|
866 |
+
$contains_files = false;
|
867 |
+
foreach ($backupable_entities as $entity => $info) {
|
868 |
+
if (isset($backup_to_examine[$entity])) {
|
869 |
+
$contains_files = true;
|
870 |
+
break;
|
871 |
}
|
872 |
}
|
873 |
|
874 |
// Delete backup set completely if empty, o/w just remove DB
|
875 |
// We search on the four keys which represent data, allowing other keys to be used to track other things
|
876 |
+
if (!$contains_files && !isset($backup_to_examine['db']) ) {
|
877 |
$this->log("$backup_datestamp: this backup set is now empty; will remove from history");
|
878 |
unset($backup_history[$backup_datestamp]);
|
879 |
if (isset($backup_to_examine['nonce'])) {
|
981 |
$zipcode = $this->make_zipfile($create_from_dir, $zip_name);
|
982 |
if ($zipcode !== true) {
|
983 |
$this->log("ERROR: Zip failure: Could not create $whichone zip: code=$zipcode");
|
984 |
+
$this->error(sprintf(__("Could not create %s zip. Consult the log file for more information.",'updraftplus'),$whichone));
|
985 |
return false;
|
986 |
} else {
|
987 |
rename($full_path.'.tmp', $full_path);
|
1015 |
$updraft_dir = $this->backups_dir_location();
|
1016 |
if(!is_writable($updraft_dir)) {
|
1017 |
$this->log("Backup directory ($updraft_dir) is not writable, or does not exist");
|
1018 |
+
$this->error(sprintf(__("Backup directory (%s) is not writable, or does not exist.", 'updraftplus'), $updraft_dir));
|
1019 |
return array();
|
1020 |
}
|
1021 |
|
1028 |
|
1029 |
$backup_array = array();
|
1030 |
|
1031 |
+
$possible_backups = $this->get_backupable_file_entities(false);
|
|
|
|
|
|
|
|
|
|
|
1032 |
|
1033 |
# Plugins, themes, uploads
|
1034 |
foreach ($possible_backups as $youwhat => $whichdir) {
|
1054 |
}
|
1055 |
}
|
1056 |
|
1057 |
+
# Others - needs special/separate handling, since its purpose is to mop up everything else
|
1058 |
if (UpdraftPlus_Options::get_updraft_option('updraft_include_others', true)) {
|
1059 |
|
1060 |
$zip_file = $updraft_dir.'/'.$backup_file_basename.'-others.zip';
|
1084 |
|
1085 |
$this->log('Looking for candidates to back up in: '.WP_CONTENT_DIR);
|
1086 |
if ($handle = opendir(WP_CONTENT_DIR)) {
|
1087 |
+
|
1088 |
+
$possible_backups_dirs = array_flip($possible_backups);
|
1089 |
+
|
1090 |
while (false !== ($entry = readdir($handle))) {
|
1091 |
$candidate = WP_CONTENT_DIR.'/'.$entry;
|
1092 |
+
if ($entry != "." && $entry != "..") {
|
1093 |
+
if (isset($possible_backups_dirs[$candidate])) {
|
1094 |
+
$this->log("others: $entry: skipping: this is the ".$possible_backups_dirs[$candidate]." directory");
|
1095 |
+
} elseif ($candidate == $updraft_dir) {
|
1096 |
+
$this->log("others: $entry: skipping: this is the updraft directory");
|
1097 |
+
} elseif (isset($others_skip[$entry])) {
|
1098 |
+
$this->log("others: $entry: skipping: excluded by options");
|
1099 |
+
} else {
|
1100 |
+
$this->log("others: $entry: adding to list");
|
1101 |
+
array_push($other_dirlist, $candidate);
|
1102 |
+
}
|
1103 |
+
}
|
1104 |
}
|
1105 |
@closedir($handle);
|
1106 |
} else {
|
1107 |
$this->log('ERROR: Could not read the content directory: '.WP_CONTENT_DIR);
|
1108 |
+
$this->error(__('Could not read the content directory', 'updraftplus').': '.WP_CONTENT_DIR);
|
1109 |
}
|
1110 |
|
1111 |
if (count($other_dirlist)>0) {
|
1135 |
UpdraftPlus_Options::update_updraft_option('updraft_backup_history', $backup_history);
|
1136 |
} else {
|
1137 |
$this->log('Could not save backup history because we have no backup array. Backup probably failed.');
|
1138 |
+
$this->error(__('Could not save backup history because we have no backup array. Backup probably failed.','updraftplus'));
|
1139 |
}
|
1140 |
}
|
1141 |
|
1164 |
}
|
1165 |
if(!$this->dbhandle) {
|
1166 |
$this->log("ERROR: $file: Could not open the backup file for writing");
|
1167 |
+
$this->error("$file: ".__("Could not open the backup file for writing",'updraftplus'));
|
1168 |
}
|
1169 |
}
|
1170 |
|
1219 |
|
1220 |
if (!is_writable($updraft_dir)) {
|
1221 |
$this->log("The backup directory ($updraft_dir) is not writable.");
|
1222 |
+
$this->error("$updraft_dir: ".__('The backup directory is not writable.','updraftplus'));
|
1223 |
return false;
|
1224 |
}
|
1225 |
|
1297 |
$this->log($file_base.'-db.gz: finished writing out complete database file ('.round(filesize($backup_final_file_name)/1024,1).' Kb)');
|
1298 |
$this->close($this->dbhandle);
|
1299 |
|
1300 |
+
foreach ($unlink_files as $unlink_file) @unlink($unlink_file);
|
|
|
|
|
1301 |
|
1302 |
if (count($this->errors)) {
|
1303 |
return false;
|
1579 |
|
1580 |
return $updraft_dir;
|
1581 |
}
|
1582 |
+
|
1583 |
+
function recursive_directory_size($directory) {
|
1584 |
+
$size = 0;
|
1585 |
+
if(substr($directory,-1) == '/') $directory = substr($directory,0,-1);
|
1586 |
+
|
1587 |
+
if(!file_exists($directory) || !is_dir($directory) || !is_readable($directory)) return -1;
|
1588 |
+
|
1589 |
+
if($handle = opendir($directory)) {
|
1590 |
+
while(($file = readdir($handle)) !== false) {
|
1591 |
+
$path = $directory.'/'.$file;
|
1592 |
+
if($file != '.' && $file != '..') {
|
1593 |
+
if(is_file($path)) {
|
1594 |
+
$size += filesize($path);
|
1595 |
+
} elseif(is_dir($path)) {
|
1596 |
+
$handlesize = recursive_directory_size($path);
|
1597 |
+
if($handlesize >= 0) { $size += $handlesize; } else { return -1; }
|
1598 |
+
}
|
1599 |
+
}
|
1600 |
+
}
|
1601 |
+
closedir($handle);
|
1602 |
+
}
|
1603 |
+
if ($size > 1073741824) {
|
1604 |
+
return round($size / 1048576, 1).' Gb';
|
1605 |
+
} elseif ($size > 1048576) {
|
1606 |
+
return round($size / 1048576, 1).' Mb';
|
1607 |
+
} elseif ($size > 1024) {
|
1608 |
+
return round($size / 1024, 1).' Kb';
|
1609 |
+
} else {
|
1610 |
+
return round($size, 1).' b';
|
1611 |
+
}
|
1612 |
+
}
|
1613 |
+
|
1614 |
+
// This function examines inside the updraft directory to see if any new archives have been uploaded. If so, it adds them to the backup set. (No removal of items from the backup set is done)
|
1615 |
+
function rebuild_backup_history() {
|
1616 |
+
|
1617 |
+
$known_files = array();
|
1618 |
+
$known_nonces = array();
|
1619 |
+
$changes = false;
|
1620 |
+
|
1621 |
+
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
1622 |
+
if (!is_array($backup_history)) $backup_history = array();
|
1623 |
+
|
1624 |
+
// Accumulate a list of known files
|
1625 |
+
foreach ($backup_history as $btime => $bdata) {
|
1626 |
+
foreach ($bdata as $key => $value) {
|
1627 |
+
// Record which set this file is found in
|
1628 |
+
if (preg_match('/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-[\-a-z]+\.(zip|gz)$/i', $value, $matches)) {
|
1629 |
+
$nonce = $matches[2];
|
1630 |
+
$known_files[$value] = $nonce;
|
1631 |
+
$known_nonces[$nonce] = $btime;
|
1632 |
+
}
|
1633 |
+
}
|
1634 |
+
}
|
1635 |
+
|
1636 |
+
$updraft_dir = $this->backups_dir_location();
|
1637 |
+
|
1638 |
+
if (!is_dir($updraft_dir)) return;
|
1639 |
+
|
1640 |
+
if (!$handle = opendir($updraft_dir)) return;
|
1641 |
|
1642 |
+
while (false !== ($entry = readdir($handle))) {
|
1643 |
+
if ($entry != "." && $entry != "..") {
|
1644 |
+
if (preg_match('/^backup_([\-0-9]{15})_.*_([0-9a-f]{12})-([\-a-z]+)\.(zip|gz)$/i', $entry, $matches)) {
|
1645 |
+
$btime = strtotime($matches[1]);
|
1646 |
+
if ($btime > 100) {
|
1647 |
+
if (!isset($known_files[$entry])) {
|
1648 |
+
$changes = true;
|
1649 |
+
$nonce = $matches[2];
|
1650 |
+
$type = $matches[3];
|
1651 |
+
// The time from the filename does not include seconds. Need to identify the seconds to get the right time
|
1652 |
+
if (isset($known_nonces[$nonce])) $btime = $known_nonces[$nonce];
|
1653 |
+
if (!isset($backup_history[$btime])) $backup_history[$btime] = array();
|
1654 |
+
$backup_history[$btime][$type] = $entry;
|
1655 |
+
$backup_history[$btime][$type.'-size'] = filesize($updraft_dir.'/'.$entry);
|
1656 |
+
$backup_history[$btime]['nonce'] = $nonce;
|
1657 |
+
}
|
1658 |
+
}
|
1659 |
+
}
|
1660 |
+
}
|
1661 |
+
}
|
1662 |
+
|
1663 |
+
|
1664 |
+
if ($changes) UpdraftPlus_Options::update_updraft_option('updraft_backup_history', $backup_history);
|
1665 |
+
|
1666 |
+
}
|
1667 |
+
|
1668 |
// Called via AJAX
|
1669 |
function updraft_ajax_handler() {
|
1670 |
// Test the nonce (probably not needed, since we're presumably admin-authed, but there's no harm)
|
1672 |
if (! wp_verify_nonce($nonce, 'updraftplus-credentialtest-nonce') || empty($_REQUEST['subaction'])) die('Security check');
|
1673 |
|
1674 |
if ('lastlog' == $_GET['subaction']) {
|
1675 |
+
echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', '('.__('Nothing yet logged', 'updraftplus').')'));
|
1676 |
} elseif ('lastbackup' == $_GET['subaction']) {
|
1677 |
echo $this->last_backup_html();
|
1678 |
+
} elseif ('diskspaceused' == $_GET['subaction']) {
|
1679 |
+
echo $this->recursive_directory_size($this->backups_dir_location());
|
1680 |
} elseif ('historystatus' == $_GET['subaction']) {
|
1681 |
+
$rescan = (isset($_GET['rescan']) && $_GET['rescan'] == 1);
|
1682 |
+
if ($rescan) $this->rebuild_backup_history();
|
1683 |
echo $this->existing_backup_table();
|
1684 |
} elseif ('downloadstatus' == $_GET['subaction'] && isset($_GET['timestamp']) && isset($_GET['type'])) {
|
1685 |
|
1693 |
echo "File ready: $size Kb: You should: <button type=\"button\" onclick=\"updraftplus_downloadstage2('".$_GET['timestamp']."', '".$_GET['type']."')\">Download to your computer</button> and then, if you wish, <button id=\"uddownloaddelete_".$_GET['timestamp']."_".$_GET['type']."\" type=\"button\" onclick=\"updraftplus_deletefromserver('".$_GET['timestamp']."', '".$_GET['type']."')\">Delete from your web server</button>";
|
1694 |
} elseif (preg_match('/^downloading:(.*)$/', $file, $matches) && file_exists($matches[1])) {
|
1695 |
$size = round(filesize($matches[1])/1024, 1);
|
1696 |
+
echo __('File downloading', 'updraftplus').": ".basename($matches[1]).": $size Kb";
|
1697 |
} else {
|
1698 |
+
echo __("No local copy present.", 'updraftplus');
|
1699 |
}
|
1700 |
}
|
1701 |
|
1717 |
|
1718 |
if (!isset($_REQUEST['_wpnonce']) || !wp_verify_nonce($_REQUEST['_wpnonce'], 'updraftplus_download')) die;
|
1719 |
|
1720 |
+
if (!isset($_REQUEST['timestamp']) || !is_numeric($_REQUEST['timestamp']) || !isset($_REQUEST['type'])) exit;
|
1721 |
+
|
1722 |
+
$backupable_entities = $this->get_backupable_file_entities(true);
|
1723 |
+
$type_match = false;
|
1724 |
+
foreach ($backupable_entities as $type => $info) {
|
1725 |
+
if ($_REQUEST['type'] == $type) $type_match = true;
|
1726 |
+
}
|
1727 |
+
|
1728 |
+
if (!$type_match && $_REQUEST['type'] != 'db') exit;
|
1729 |
|
1730 |
// Get the information on what is wanted
|
1731 |
$type = $_REQUEST['type'];
|
1796 |
header('Content-Encoding: none');
|
1797 |
session_write_close();
|
1798 |
echo "\r\n\r\n";
|
1799 |
+
$this->download_file($file, $service);
|
1800 |
if (is_readable($fullpath)) {
|
1801 |
$this->log('Remote fetch was successful (file size: '.round(filesize($fullpath)/1024,1).' Kb)');
|
1802 |
} else {
|
1871 |
}
|
1872 |
// $this->delete_local($file);
|
1873 |
} else {
|
1874 |
+
echo __('File not found', 'updraftplus');
|
1875 |
}
|
1876 |
}
|
1877 |
|
1878 |
+
function download_file($file, $service=false) {
|
1879 |
|
1880 |
if (!$service) $service = UpdraftPlus_Options::get_updraft_option('updraft_service');
|
1881 |
|
1890 |
$remote_obj->download($file);
|
1891 |
} else {
|
1892 |
$this->log("Automatic backup restoration is not available with the method: $service.");
|
1893 |
+
$this->error("$file: ".sprintf(__("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", 'updraftplus'), $service)." (".$this->prune_updraft_dir_prefix($this->backups_dir_location()).")");
|
1894 |
}
|
1895 |
|
1896 |
}
|
1897 |
|
1898 |
function restore_backup($timestamp) {
|
1899 |
+
|
1900 |
global $wp_filesystem;
|
1901 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
1902 |
if(!is_array($backup_history[$timestamp])) {
|
1903 |
+
echo '<p>'.__('This backup does not exist in the backup history - restoration aborted. Timestamp:','updraftplus')." $timestamp</p><br/>";
|
1904 |
return false;
|
1905 |
}
|
1906 |
|
1911 |
show_message($message);
|
1912 |
exit;
|
1913 |
}
|
1914 |
+
|
1915 |
//if we make it this far then WP_Filesystem has been instantiated and is functional (tested with ftpext, what about suPHP and other situations where direct may work?)
|
1916 |
+
echo '<h1>'.__('UpdraftPlus Restoration: Progress', 'updraftplus').'</h1><div id="updraft-restore-progress">';
|
1917 |
|
1918 |
$updraft_dir = $this->backups_dir_location().'/';
|
1919 |
|
1920 |
$service = (isset($backup_history[$timestamp]['service'])) ? $backup_history[$timestamp]['service'] : false;
|
1921 |
|
1922 |
+
if (!isset($_POST['updraft_restore']) || !is_array($_POST['updraft_restore'])) {
|
1923 |
+
echo '<p>'.__('ABORT: Could not find the information on which entities to restore.', 'updraftplus').'</p>';
|
1924 |
+
return false;
|
1925 |
+
}
|
1926 |
+
|
1927 |
+
$entities_to_restore = array_flip($_POST['updraft_restore']);
|
1928 |
+
|
1929 |
+
$backupable_entities = $this->get_backupable_file_entities(true, true);
|
1930 |
+
|
1931 |
foreach($backup_history[$timestamp] as $type => $file) {
|
1932 |
// All restorable entities must be given explicitly, as we can store other arbitrary data in the history array
|
1933 |
+
|
1934 |
+
if (!isset($backupable_entities[$type]) && 'db' != $type) continue;
|
1935 |
+
|
1936 |
+
if ($type == 'db') {
|
1937 |
+
echo "<h2>".__('Database','updraftplus')."</h2>";
|
1938 |
+
} else {
|
1939 |
+
echo "<h2>".$backupable_entities[$type]['description']."</h2>";
|
1940 |
+
}
|
1941 |
+
|
1942 |
+
if (!isset($entities_to_restore[$type])) {
|
1943 |
+
echo "<p>$type: ".__('This component was not selected for restoration - skipping.', 'updraftplus')."</p>";
|
1944 |
+
continue;
|
1945 |
+
}
|
1946 |
+
|
1947 |
$fullpath = $updraft_dir.$file;
|
1948 |
+
|
1949 |
+
echo "Looking for $type archive: file name: ".htmlspecialchars($file)."<br>";
|
1950 |
if(!is_readable($fullpath) && $type != 'db') {
|
1951 |
+
echo __("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)",'updraftplus')."<br>";
|
1952 |
$this->download_file($file, $service);
|
1953 |
}
|
1954 |
+
// If a file size is stored in the backup data, then verify correctness of the local file
|
1955 |
+
if (isset($backup_history[$timestamp][$type.'-size'])) {
|
1956 |
+
$fs = $backup_history[$timestamp][$type.'-size'];
|
1957 |
+
echo __("Archive is expected to be size:",'updraftplus')." ".round($fs/1024)." Kb :";
|
1958 |
+
$as = @filesize($fullpath);
|
1959 |
+
if ($as == $fs) {
|
1960 |
+
echo "OK<br>";
|
1961 |
+
} else {
|
1962 |
+
echo "<strong>".__('ERROR','updraftplus').":</strong> is size: ".round($as/1024)." ($fs, $as)<br>";
|
1963 |
+
}
|
1964 |
+
} else {
|
1965 |
+
echo __("The backup records do not contain information about the proper size of this file.",'updraftplus')."<br>";
|
1966 |
+
}
|
1967 |
# Types: uploads, themes, plugins, others, db
|
1968 |
if(is_readable($fullpath) && $type != 'db') {
|
1969 |
+
|
1970 |
if(!class_exists('WP_Upgrader')) require_once(ABSPATH . 'wp-admin/includes/class-wp-upgrader.php');
|
1971 |
require_once(UPDRAFTPLUS_DIR.'/includes/updraft-restorer.php');
|
1972 |
$restorer = new Updraft_Restorer();
|
1973 |
+
$val = $restorer->restore_backup($fullpath, $type, $service, $backupable_entities[$type]);
|
1974 |
+
|
1975 |
if(is_wp_error($val)) {
|
1976 |
+
foreach ($val->get_error_messages() as $msg) {
|
1977 |
+
echo '<strong>'.__('Error message', 'updraftplus').':</strong> '.htmlspecialchars($msg).'<br>';
|
1978 |
+
}
|
1979 |
echo '</div>'; //close the updraft_restore_progress div even if we error
|
1980 |
return false;
|
1981 |
}
|
1982 |
+
} elseif ($type != 'db') {
|
1983 |
+
$this->error("$file: ".__('Could not find one of the files for restoration', 'updraftplus'));
|
1984 |
+
echo __('Could not find one of the files for restoration', 'updraftplus').": ($file)";
|
1985 |
+
} else {
|
1986 |
+
echo __("Databases are not yet restored through this mechanism - use your web host's control panel, phpMyAdmin or a similar tool",'updraftplus')."<br>";
|
1987 |
}
|
1988 |
}
|
1989 |
echo '</div>'; //close the updraft_restore_progress div
|
1990 |
# The 'off' check is for badly configured setups - http://wordpress.org/support/topic/plugin-wp-super-cache-warning-php-safe-mode-enabled-but-safe-mode-is-off
|
1991 |
if(@ini_get('safe_mode') && strtolower(@ini_get('safe_mode')) != "off") {
|
1992 |
+
echo "<p>".__('Database could not be restored because PHP safe_mode is active on your server. You will need to manually restore the file via phpMyAdmin or another method.', 'updraftplus')."</p><br/>";
|
1993 |
return false;
|
1994 |
}
|
1995 |
return true;
|
1998 |
//deletes the -old directories that are created when a backup is restored.
|
1999 |
function delete_old_dirs() {
|
2000 |
global $wp_filesystem;
|
2001 |
+
$credentials = request_filesystem_credentials(wp_nonce_url("options-general.php?page=updraftplus&action=updraft_delete_old_dirs", 'updraft_delete_old_dirs'));
|
2002 |
WP_Filesystem($credentials);
|
2003 |
if ( $wp_filesystem->errors->get_error_code() ) {
|
2004 |
foreach ( $wp_filesystem->errors->get_error_messages() as $message )
|
2006 |
exit;
|
2007 |
}
|
2008 |
|
2009 |
+
$list = $wp_filesystem->dirlist(WP_CONTENT_DIR);
|
2010 |
|
2011 |
+
$return_code = true;
|
2012 |
+
|
2013 |
+
foreach ($list as $item) {
|
2014 |
+
if (substr($item['name'], -4, 4) == "-old") {
|
2015 |
+
//recursively delete
|
2016 |
+
print "<strong>".__('Delete','updraftplus').": </strong>".htmlspecialchars($item['name']).": ";
|
2017 |
+
if(!$wp_filesystem->delete(WP_CONTENT_DIR.'/'.$item['name'], true)) {
|
2018 |
+
$return_code = false;
|
2019 |
+
print "<strong>Failed</strong><br>";
|
2020 |
+
} else {
|
2021 |
+
print "<strong>OK</strong><br>";
|
2022 |
+
}
|
2023 |
}
|
2024 |
}
|
2025 |
+
|
2026 |
+
return $return_code;
|
2027 |
}
|
2028 |
|
2029 |
//scans the content dir to see if any -old dirs are present
|
2030 |
function scan_old_dirs() {
|
2031 |
$dirArr = scandir(WP_CONTENT_DIR);
|
2032 |
foreach($dirArr as $dir) {
|
2033 |
+
if(strpos($dir,'-old') !== false) return true;
|
|
|
|
|
2034 |
}
|
2035 |
return false;
|
2036 |
}
|
2107 |
@ini_set('track_errors',1);
|
2108 |
}
|
2109 |
wp_enqueue_script('jquery');
|
2110 |
+
wp_enqueue_script('jquery-ui-dialog');
|
2111 |
|
2112 |
if (UpdraftPlus_Options::user_can_manage() && UpdraftPlus_Options::get_updraft_option('updraft_service') == "googledrive" && UpdraftPlus_Options::get_updraft_option('updraft_googledrive_clientid','') != '' && UpdraftPlus_Options::get_updraft_option('updraft_googledrive_token','') == '') {
|
2113 |
add_action('admin_notices', array($this,'show_admin_warning_googledrive') );
|
2140 |
return $this->url_start($urls,'updraftplus.com')."Want more features or paid, guaranteed support? Check out UpdraftPlus.Com".$this->url_end($urls,'updraftplus.com');
|
2141 |
break;
|
2142 |
case 1:
|
2143 |
+
if (defined('WPLANG') && strlen(WPLANG)>0 && !is_file(UPDRAFTPLUS_DIR.'/languages/updraftplus-'.WPLANG.
|
2144 |
+
'.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/');
|
2145 |
+
|
2146 |
+
return __('Find UpdraftPlus useful?','updraftplus').$this->url_start($urls,'david.dw-perspective.org.uk/donate').__("Please make a donation", 'updraftplus').$this->url_end($urls,'david.dw-perspective.org.uk/donate');
|
2147 |
case 2:
|
2148 |
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";
|
2149 |
break;
|
2150 |
case 3:
|
2151 |
+
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');
|
2152 |
break;
|
2153 |
case 4:
|
2154 |
return $this->url_start($urls,'www.simbahosting.co.uk')."Need high-quality WordPress hosting from WordPress specialists? (Including automatic backups and 1-click installer). Get it from the creators of UpdraftPlus.".$this->url_end($urls,'www.simbahosting.co.uk');
|
2155 |
break;
|
2156 |
case 5:
|
2157 |
if (!defined('UPDRAFTPLUS_NOADS')) {
|
2158 |
+
return $this->url_start($urls,'updraftplus.com').__("Need even more features and support? Check out UpdraftPlus Premium",'updraftplus').$this->url_end($urls,'updraftplus.com');
|
2159 |
} else {
|
2160 |
return "Thanks for being an UpdraftPlus premium user. Keep visiting ".$this->url_start($urls,'updraftplus.com')."updraftplus.com".$this->url_end($urls,'updraftplus.com')." to see what's going on.";
|
2161 |
}
|
2164 |
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/');
|
2165 |
break;
|
2166 |
case 7:
|
2167 |
+
return $this->url_start($urls,'updraftplus.com').__("Check out UpdraftPlus.Com for help, add-ons and support",'updraftplus').$this->url_end($urls,'updraftplus.com');
|
2168 |
break;
|
2169 |
case 8:
|
2170 |
+
return __("Want to say thank-you for UpdraftPlus?",'updraftplus').$this->url_start($urls,'updraftplus.com/shop/')." ".__("Please buy our very cheap 'no adverts' add-on.",'updraftplus').$this->url_end($urls,'updraftplus.com/shop/');
|
2171 |
break;
|
2172 |
}
|
2173 |
}
|
2176 |
$updraft_dir = $this->backups_dir_location();
|
2177 |
|
2178 |
?>
|
2179 |
+
<table class="form-table" style="width:900px;">
|
2180 |
<tr>
|
2181 |
+
<th><?php _e('File backup intervals','updraftplus'); ?>:</th>
|
2182 |
<td><select name="updraft_interval">
|
2183 |
<?php
|
2184 |
+
$intervals = array ("manual" => _x("Manual",'i.e. Non-automatic','updraftplus'), 'every4hours' => __("Every 4 hours",'updraftplus'), 'every8hours' => __("Every 8 hours",'updraftplus'), 'twicedaily' => __("Every 12 hours",'updraftplus'), 'daily' => __("Daily",'updraftplus'), 'weekly' => __("Weekly",'updraftplus'), 'fortnightly' => __("Fortnightly",'updraftplus'), 'monthly' => __("Monthly",'updraftplus'));
|
2185 |
foreach ($intervals as $cronsched => $descrip) {
|
2186 |
echo "<option value=\"$cronsched\" ";
|
2187 |
if ($cronsched == UpdraftPlus_Options::get_updraft_option('updraft_interval','manual')) echo 'selected="selected"';
|
2189 |
}
|
2190 |
?>
|
2191 |
</select> <?php echo apply_filters('updraftplus_schedule_showfileconfig', '<input type="hidden" name="updraftplus_starttime_files" value="">'); ?>
|
2192 |
+
<?php
|
2193 |
+
echo __('and retain this many backups', 'updraftplus').': ';
|
2194 |
$updraft_retain = UpdraftPlus_Options::get_updraft_option('updraft_retain', 1);
|
2195 |
$updraft_retain = ((int)$updraft_retain > 0) ? (int)$updraft_retain : 1;
|
2196 |
?> <input type="text" name="updraft_retain" value="<?php echo $updraft_retain ?>" style="width:40px;" />
|
2197 |
</td>
|
2198 |
</tr>
|
2199 |
<tr>
|
2200 |
+
<th><?php _e('Database backup intervals','updraftplus'); ?>:</th>
|
2201 |
<td><select name="updraft_interval_database">
|
2202 |
<?php
|
2203 |
foreach ($intervals as $cronsched => $descrip) {
|
2207 |
}
|
2208 |
?>
|
2209 |
</select> <?php echo apply_filters('updraftplus_schedule_showdbconfig', '<input type="hidden" name="updraftplus_starttime_db" value="">'); ?>
|
2210 |
+
<?php
|
2211 |
+
echo __('and retain this many backups', 'updraftplus').': ';
|
2212 |
$updraft_retain_db = UpdraftPlus_Options::get_updraft_option('updraft_retain_db', $updraft_retain);
|
2213 |
$updraft_retain_db = ((int)$updraft_retain_db > 0) ? (int)$updraft_retain_db : 1;
|
2214 |
?> <input type="text" name="updraft_retain_db" value="<?php echo $updraft_retain_db ?>" style="width:40px" />
|
2215 |
</td>
|
2216 |
</tr>
|
2217 |
<tr class="backup-interval-description">
|
2218 |
+
<td></td><td><p><?php echo htmlspecialchars(__('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.', 'updraftplus')); ?></p>
|
2219 |
+
<?php echo apply_filters('updraftplus_fixtime_advert', '<p><strong>'.__('To fix the time at which a backup should take place,','updraftplus').' </strong> ('.__('e.g. if your server is busy at day and you want to run overnight','updraftplus').'), <a href="http://updraftplus.com/shop/fix-time/">'.htmlspecialchars(__('use the "Fix Time" add-on','updraftplus')).'</a></p>'); ?>
|
2220 |
</td>
|
2221 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2222 |
<tr>
|
2223 |
<th>Include in files backup:</th>
|
2224 |
<td>
|
2225 |
+
|
2226 |
+
<?php
|
2227 |
+
$backupable_entities = $this->get_backupable_file_entities(true, true);
|
2228 |
+
$include_others_exclude = UpdraftPlus_Options::get_updraft_option('updraft_include_others_exclude',UPDRAFT_DEFAULT_OTHERS_EXCLUDE);
|
2229 |
+
# The true (default value if non-existent) here has the effect of forcing a default of on.
|
2230 |
+
foreach ($backupable_entities as $key => $info) {
|
2231 |
+
$included = (UpdraftPlus_Options::get_updraft_option("updraft_include_$key",true)) ? 'checked="checked"' : "";
|
2232 |
+
if ('others' == $key) {
|
2233 |
+
?><input id="updraft_include_others" type="checkbox" name="updraft_include_others" value="1" <?php echo $included; ?> /> <label for="updraft_include_<?php echo $key ?>"><?php echo __('Any other directories found inside wp-content but exclude these directories:', 'updraftplus');?></label> <input type="text" name="updraft_include_others_exclude" size="44" value="<?php echo htmlspecialchars($include_others_exclude); ?>"/><br><?php
|
2234 |
+
} else {
|
2235 |
+
echo "<input id=\"updraft_include_$key\" type=\"checkbox\" name=\"updraft_include_$key\" value=\"1\" $included /><label for=\"updraft_include_$key\">".$info['description']."</label><br>";
|
2236 |
+
}
|
2237 |
+
}
|
2238 |
+
?>
|
2239 |
+
<p><?php echo __('Include all of these, unless you are backing them up outside of UpdraftPlus. The above directories are usually everything (except for WordPress core itself which you can download afresh from WordPress.org). But if you have made customised modifications outside of these directories, you need to back them up another way.', 'updraftplus') ?> (<a href="http://wordshell.net"><?php echo __('Use WordShell for automatic backup, version control and patching', 'updraftplus');?></a>).</p></td>
|
2240 |
</td>
|
2241 |
</tr>
|
2242 |
<tr>
|
2243 |
+
<th><?php _e('Email','updraftplus'); ?>:</th>
|
2244 |
+
<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>
|
2245 |
</tr>
|
2246 |
|
2247 |
<tr>
|
2248 |
+
<th><?php _e('Database encryption phrase','updraftplus');?>:</th>
|
2249 |
<?php
|
2250 |
$updraft_encryptionphrase = UpdraftPlus_Options::get_updraft_option('updraft_encryptionphrase');
|
2251 |
?>
|
2252 |
<td><input type="text" name="updraft_encryptionphrase" value="<?php echo $updraft_encryptionphrase ?>" style="width:132px" /></td>
|
2253 |
</tr>
|
2254 |
<tr class="backup-crypt-description">
|
2255 |
+
<td></td><td><?php _e('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). You can also use the file example-decrypt.php from inside the UpdraftPlus plugin directory to decrypt manually.','updraftplus');?></td>
|
2256 |
</tr>
|
2257 |
</table>
|
2258 |
|
2259 |
+
<h2><?php _e('Copying Your Backup To Remote Storage','updraftplus');?></h2>
|
2260 |
|
2261 |
+
<table class="form-table" style="width:900px;">
|
2262 |
<tr>
|
2263 |
+
<th><?php _e('Choose your remote storage','updraftplus');?>:</th>
|
2264 |
<td><select name="updraft_service" id="updraft-service">
|
2265 |
<?php
|
2266 |
$debug_mode = (UpdraftPlus_Options::get_updraft_option('updraft_debug_mode')) ? 'checked="checked"' : "";
|
2325 |
});
|
2326 |
}
|
2327 |
var updraft_historytimer = 0;
|
2328 |
+
var calculated_diskspace = 0;
|
2329 |
+
function updraft_historytimertoggle(forceon) {
|
2330 |
+
if (!updraft_historytimer || forceon == 1) {
|
2331 |
+
updraft_updatehistory(0);
|
2332 |
+
updraft_historytimer = setInterval(function(){updraft_updatehistory(0)}, 30000);
|
2333 |
+
if (!calculated_diskspace) {
|
2334 |
+
updraftplus_diskspace();
|
2335 |
+
calculated_diskspace=1;
|
2336 |
+
}
|
2337 |
+
} else {
|
2338 |
clearTimeout(updraft_historytimer);
|
2339 |
updraft_historytimer = 0;
|
|
|
|
|
|
|
2340 |
}
|
2341 |
}
|
2342 |
+
function updraft_updatehistory(rescan) {
|
2343 |
+
if (rescan == 1) {
|
2344 |
+
jQuery('#updraft_existing_backups').html('<p style="text-align:center;"><em>Rescanning (looking for backups that you have uploaded manually into the internal backup store)...</em></p>');
|
2345 |
+
}
|
2346 |
+
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'historystatus', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>', rescan: rescan }, function(response) {
|
2347 |
jQuery('#updraft_existing_backups').html(response);
|
2348 |
});
|
2349 |
}
|
2350 |
|
2351 |
jQuery(document).ready(function() {
|
2352 |
+
jQuery( "#updraft-restore-modal" ).dialog({
|
2353 |
+
autoOpen: false, height: 385, width: 480, modal: true,
|
2354 |
+
buttons: {
|
2355 |
+
Restore: function() {
|
2356 |
+
var anyselected = 0;
|
2357 |
+
jQuery('input[name="updraft_restore[]"]').each(function(x,y){
|
2358 |
+
if (jQuery(y).is(':checked')) {
|
2359 |
+
anyselected = 1;
|
2360 |
+
//alert(jQuery(y).val());
|
2361 |
+
}
|
2362 |
+
});
|
2363 |
+
if (anyselected == 1) {
|
2364 |
+
jQuery('#updraft_restore_form').submit();
|
2365 |
+
} else {
|
2366 |
+
alert('You did not select any components to restore. Please select at least one, and then try again.');
|
2367 |
+
}
|
2368 |
+
},
|
2369 |
+
<?php _e('Cancel','updraftplus');?>: function() { jQuery(this).dialog("close"); }
|
2370 |
+
}
|
2371 |
+
});
|
2372 |
+
|
2373 |
+
jQuery( "#updraft-backupnow-modal" ).dialog({
|
2374 |
+
autoOpen: false, height: 265, width: 375, modal: true,
|
2375 |
+
buttons: {
|
2376 |
+
'<?php _e('Backup Now','updraftplus');?>': function() {
|
2377 |
+
jQuery('#updraft-backupnow-form').submit();
|
2378 |
+
},
|
2379 |
+
<?php _e('Cancel','updraftplus');?>: function() { jQuery(this).dialog("close"); }
|
2380 |
+
}
|
2381 |
+
});
|
2382 |
+
|
2383 |
jQuery('#enableexpertmode').click(function() {
|
2384 |
jQuery('.expertmode').fadeIn();
|
2385 |
return false;
|
2398 |
});
|
2399 |
/* ]]> */
|
2400 |
</script>
|
2401 |
+
<table class="form-table" style="width:900px;">
|
2402 |
<tr>
|
2403 |
+
<td colspan="2"><h2><?php _e('Advanced / Debugging Settings','updraftplus'); ?></h2></td>
|
2404 |
</tr>
|
2405 |
<tr>
|
2406 |
+
<th><?php _e('Debug mode','updraftplus');?>:</th>
|
2407 |
+
<td><input type="checkbox" id="updraft_debug_mode" name="updraft_debug_mode" value="1" <?php echo $debug_mode; ?> /> <br><label for="updraft_debug_mode"><?php _e('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.','updraftplus');?></label></td>
|
2408 |
</tr>
|
2409 |
<tr>
|
2410 |
+
<th><?php _e('Expert settings','updraftplus');?>:</th>
|
2411 |
+
<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');?></td>
|
2412 |
</tr>
|
2413 |
<?php
|
2414 |
$delete_local = UpdraftPlus_Options::get_updraft_option('updraft_delete_local', 1);
|
2415 |
?>
|
2416 |
|
2417 |
<tr class="deletelocal expertmode" style="display:none;">
|
2418 |
+
<th><?php _e('Delete local backup','updraftplus');?>:</th>
|
2419 |
+
<td><input type="checkbox" id="updraft_delete_local" name="updraft_delete_local" value="1" <?php if ($delete_local) echo 'checked="checked"'; ?>> <br><label for="updraft_delete_local"><?php _e('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).','updraftplus');?></label></td>
|
2420 |
</tr>
|
2421 |
|
2422 |
<tr class="expertmode backupdirrow" style="display:none;">
|
2428 |
|
2429 |
// Suppress warnings, since if the user is dumping warnings to screen, then invalid JavaScript results and the screen breaks.
|
2430 |
if(@is_writable($updraft_dir)) {
|
2431 |
+
$dir_info = '<span style="color:green">'.__('Backup directory specified is writable, which is good.','updraftplus').'</span>';
|
2432 |
} else {
|
2433 |
+
$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>';
|
2434 |
}
|
2435 |
|
2436 |
+
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>
|
2437 |
</tr>
|
2438 |
<tr>
|
2439 |
<td></td>
|
2454 |
<td></td>
|
2455 |
<td>
|
2456 |
<input type="hidden" name="action" value="update" />
|
2457 |
+
<input type="submit" class="button-primary" value="<?php _e('Save Changes','updraftplus');?>" />
|
2458 |
</td>
|
2459 |
</tr>
|
2460 |
</table>
|
2478 |
|
2479 |
if (!empty($updraft_last_backup['backup_nonce'])) {
|
2480 |
$potential_log_file = $updraft_dir."/log.".$updraft_last_backup['backup_nonce'].".txt";
|
2481 |
+
if (is_readable($potential_log_file)) $last_backup_text .= "<br><a href=\"?page=updraftplus&action=downloadlog&updraftplus_backup_nonce=".$updraft_last_backup['backup_nonce']."\">".__('Download log file','updraftplus')."</a>";
|
2482 |
}
|
2483 |
|
2484 |
$last_backup_color = ($updraft_last_backup['success']) ? 'green' : 'red';
|
2485 |
|
2486 |
} else {
|
2487 |
+
$last_backup_text = __('No backup has been completed.','updraftplus');
|
2488 |
$last_backup_color = 'blue';
|
2489 |
}
|
2490 |
|
2494 |
|
2495 |
function settings_output() {
|
2496 |
|
2497 |
+
wp_enqueue_style('jquery-ui', UPDRAFTPLUS_URL.'/includes/jquery-ui-1.8.22.custom.css');
|
2498 |
+
|
2499 |
/*
|
2500 |
we use request here because the initial restore is triggered by a POSTed form. we then may need to obtain credentials
|
2501 |
for the WP_Filesystem. to do this WP outputs a form that we can't insert variables into (apparently). So the values are
|
2504 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'updraft_restore' && isset($_REQUEST['backup_timestamp'])) {
|
2505 |
$backup_success = $this->restore_backup($_REQUEST['backup_timestamp']);
|
2506 |
if(empty($this->errors) && $backup_success == true) {
|
2507 |
+
echo '<p><strong>'.__('Restore successful!','updraftplus').'</strong></p>';
|
2508 |
+
echo '<b>'.__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus&updraft_restore_success=true">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
2509 |
return;
|
2510 |
} else {
|
2511 |
+
echo '<p>Restore failed...</p><ul style="list-style: disc inside;">';
|
2512 |
foreach ($this->errors as $err) {
|
2513 |
+
if (is_wp_error($err)) {
|
2514 |
+
foreach ($err->get_error_messages() as $msg) {
|
2515 |
+
echo '<li>'.htmlspecialchars($msg).'<li>';
|
2516 |
+
}
|
2517 |
+
} elseif (is_string($err)) {
|
2518 |
+
echo "<li>".htmlspecialchars($err)."</li>";
|
2519 |
+
} else {
|
2520 |
+
print "<li>".print_r($err,true)."</li>";
|
2521 |
}
|
|
|
2522 |
}
|
2523 |
+
echo '</ul><b>Actions:</b> <a href="options-general.php?page=updraftplus">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
2524 |
return;
|
2525 |
}
|
2526 |
//uncomment the below once i figure out how i want the flow of a restoration to work.
|
2527 |
+
//echo '<b>'__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus">Return to UpdraftPlus Configuration</a>';
|
2528 |
}
|
2529 |
$deleted_old_dirs = false;
|
2530 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == 'updraft_delete_old_dirs') {
|
2531 |
+
|
2532 |
+
echo '<h1>UpdraftPlus - '.__('Remove old directories','updraftplus').'</h1>';
|
2533 |
+
|
2534 |
+
$nonce = (empty($_REQUEST['_wpnonce'])) ? "" : $_REQUEST['_wpnonce'];
|
2535 |
+
if (!wp_verify_nonce($nonce, 'updraft_delete_old_dirs')) die('Security check');
|
2536 |
+
|
2537 |
if($this->delete_old_dirs()) {
|
2538 |
+
echo '<p>'.__('Old directories successfully removed.','updraftplus').'</p><br/>';
|
2539 |
$deleted_old_dirs = true;
|
2540 |
} else {
|
2541 |
+
echo '<p>',__('Old directory removal failed for some reason. You may want to do this manually.','updraftplus').'</p><br/>';
|
2542 |
}
|
2543 |
+
echo '<b>'.__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
|
|
2544 |
return;
|
2545 |
}
|
2546 |
|
2553 |
|
2554 |
if(isset($_GET['action']) && $_GET['action'] == 'updraft_create_backup_dir') {
|
2555 |
if(!$this->create_backup_dir()) {
|
2556 |
+
echo '<p>'.__('Backup directory could not be created','updraftplus').'...</p><br/>';
|
2557 |
}
|
2558 |
+
echo '<p>'.__('Backup directory successfully created.','updraftplus').'</p><br/>';
|
2559 |
+
echo '<b>'.__('Actions','updraftplus').':</b> <a href="options-general.php?page=updraftplus">'.__('Return to UpdraftPlus Configuration','updraftplus').'</a>';
|
2560 |
return;
|
2561 |
}
|
2562 |
|
2563 |
if(isset($_POST['action']) && $_POST['action'] == 'updraft_backup') {
|
2564 |
// For unknown reasons, the <script> runs twice if put inside the <div>
|
2565 |
+
echo '<div class="updated fade" style="max-width: 800px; font-size:140%; line-height: 140%; padding:14px; clear:left;"><strong>',__('Schedule backup','updraftplus').':</strong> ';
|
2566 |
if (wp_schedule_single_event(time()+5, 'updraft_backup_all') === false) {
|
2567 |
$this->log("A backup run failed to schedule");
|
2568 |
+
echo __("Failed.",'updraftplus')."</div>";
|
2569 |
} else {
|
2570 |
+
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>";
|
2571 |
$this->log("A backup run has been scheduled");
|
2572 |
}
|
2573 |
}
|
2576 |
if(isset($_POST['action']) && $_POST['action'] == 'updraft_backup_debug_all') { $this->boot_backup(true,true); }
|
2577 |
elseif (isset($_POST['action']) && $_POST['action'] == 'updraft_backup_debug_db') { $this->backup_db(); }
|
2578 |
elseif (isset($_POST['action']) && $_POST['action'] == 'updraft_wipesettings') {
|
2579 |
+
$settings = array('updraft_interval', 'updraft_interval_database', 'updraft_retain', 'updraft_retain_db', 'updraft_encryptionphrase', 'updraft_service', 'updraft_dropbox_appkey', 'updraft_dropbox_secret', 'updraft_googledrive_clientid', 'updraft_googledrive_secret', 'updraft_googledrive_remotepath', 'updraft_ftp_login', 'updraft_ftp_pass', 'updraft_ftp_remote_path', 'updraft_server_address', 'updraft_dir', 'updraft_email', 'updraft_delete_local', 'updraft_debug_mode', 'updraft_include_plugins', 'updraft_include_themes', 'updraft_include_uploads', 'updraft_include_others', 'updraft_include_blogs', 'updraft_include_mu-plugins', 'updraft_include_others_exclude', 'updraft_lastmessage', 'updraft_googledrive_clientid', 'updraft_googledrive_token', 'updraft_dropboxtk_request_token', 'updraft_dropboxtk_access_token', 'updraft_dropbox_folder', 'updraft_last_backup', 'updraft_starttime_files', 'updraft_starttime_db', 'updraft_sftp_settings');
|
2580 |
foreach ($settings as $s) {
|
2581 |
UpdraftPlus_Options::delete_updraft_option($s);
|
2582 |
}
|
2583 |
+
$this->show_admin_warning(__("Your settings have been wiped.",'updraftplus'));
|
2584 |
}
|
2585 |
|
2586 |
?>
|
2587 |
<div class="wrap">
|
2588 |
<h1><?php echo $this->plugin_title; ?></h1>
|
2589 |
|
2590 |
+
<?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 $this->version; ?>
|
2591 |
<br>
|
2592 |
<?php
|
2593 |
if(isset($_GET['updraft_restore_success'])) {
|
2594 |
+
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.').' '.__('At this time UpdraftPlus does not automatically restore your database. You will need to use an external tool like phpMyAdmin to perform that task.','updraftplus')."</div>";
|
2595 |
}
|
2596 |
|
2597 |
$ws_advert = $this->wordshell_random_advert(1);
|
2598 |
if ($ws_advert) { echo '<div class="updated fade" style="max-width: 800px; font-size:140%; line-height: 140%; padding:14px; clear:left;">'.$ws_advert.'</div>'; }
|
2599 |
|
2600 |
+
if($deleted_old_dirs) echo '<div style="color:blue" class=\"updated fade\">'.__('Old directories successfully deleted.','updraftplus').'</div>';
|
2601 |
|
2602 |
if(!$this->memory_check(96)) {?>
|
2603 |
+
<div style="color:orange"><?php _e("Your PHP memory limit is quite low. UpdraftPlus attempted to raise it but was unsuccessful. This plugin may not work properly with a memory limit of less than 96 Mb (though on the other hand, it has been used successfully with a 32Mb limit - your mileage may vary, but don't blame us!).",'updraftplus');?> <?php _e('Current limit is:','updraftplus');?> <?php echo $this->memory_check_current(); ?> Mb</div>
|
2604 |
<?php
|
2605 |
}
|
2606 |
if(1==0 && !$this->execution_time_check(60)) {?>
|
2607 |
+
<div style="color:orange"><?php _e("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:",'updraftplus');?> <?php echo ini_get('max_execution_time').' '.__('seconds','updraftplus')?>.</div>
|
2608 |
<?php
|
2609 |
}
|
2610 |
|
2611 |
if($this->scan_old_dirs()) {?>
|
2612 |
+
<div class="updated fade" style="padding:8px;"><?php _e('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).','updraftplus');?>
|
2613 |
<form method="post" action="<?php echo remove_query_arg(array('updraft_restore_success','action')) ?>">
|
2614 |
+
<?php wp_nonce_field('updraft_delete_old_dirs'); ?>
|
2615 |
<input type="hidden" name="action" value="updraft_delete_old_dirs" />
|
2616 |
+
<input type="submit" class="button-primary" value="<?php _e('Delete Old Directories','updraftplus');?>" onclick="return(confirm('<?php echo htmlspecialchars(__('Are you sure you want to delete the old directories? This cannot be undone.','updraftplus'));?>'))" />
|
2617 |
</form>
|
2618 |
+
</div>
|
2619 |
<?php
|
2620 |
}
|
2621 |
if(!empty($this->errors)) {
|
2626 |
}
|
2627 |
?>
|
2628 |
|
2629 |
+
<h2 style="clear:left;"><?php _e('Existing Schedule And Backups','updraftplus');?></h2>
|
2630 |
<table class="form-table" style="float:left; clear: both; width:545px;">
|
2631 |
<noscript>
|
2632 |
<tr>
|
2633 |
+
<th><?php _e('JavaScript warning','updraftplus');?>:</th>
|
2634 |
+
<td style="color:red"><?php _e('This admin interface uses JavaScript heavily. You either need to activate it within your browser, or to use a JavaScript-capable browser.','updraftplus');?></td>
|
2635 |
</tr>
|
2636 |
</noscript>
|
|
|
2637 |
<?php
|
2638 |
$updraft_dir = $this->backups_dir_location();
|
2639 |
// UNIX timestamp
|
2644 |
// Convert to blog time zone
|
2645 |
$next_scheduled_backup = get_date_from_gmt($next_scheduled_backup_gmt, 'D, F j, Y H:i T');
|
2646 |
} else {
|
2647 |
+
$next_scheduled_backup = __('Nothing currently scheduled','updraftplus');
|
2648 |
}
|
2649 |
|
2650 |
$next_scheduled_backup_database = wp_next_scheduled('updraft_backup_database');
|
2651 |
if (UpdraftPlus_Options::get_updraft_option('updraft_interval_database',UpdraftPlus_Options::get_updraft_option('updraft_interval')) == UpdraftPlus_Options::get_updraft_option('updraft_interval')) {
|
2652 |
+
$next_scheduled_backup_database = ('Nothing currently scheduled' == $next_scheduled_backup) ? $next_scheduled_backup : __("At the same time as the files backup", 'updraftplus');
|
2653 |
} else {
|
2654 |
if ($next_scheduled_backup_database) {
|
2655 |
// Convert to GMT
|
2657 |
// Convert to blog time zone
|
2658 |
$next_scheduled_backup_database = get_date_from_gmt($next_scheduled_backup_database_gmt, 'D, F j, Y H:i T');
|
2659 |
} else {
|
2660 |
+
$next_scheduled_backup_database = __('Nothing currently scheduled','updraftplus');
|
2661 |
}
|
2662 |
}
|
2663 |
$current_time = get_date_from_gmt(gmdate('Y-m-d H:i:s'), 'D, F j, Y H:i T');
|
2668 |
|
2669 |
?>
|
2670 |
|
|
|
|
|
|
|
2671 |
<tr>
|
2672 |
+
<th><?php _e('Next scheduled backups','updraftplus');?>:</th>
|
2673 |
+
<td>
|
2674 |
+
<div style="width: 76px; float:left;">Files:</div><div style="color:blue; float:left;"><?php echo $next_scheduled_backup?></div>
|
2675 |
+
<div style="width: 76px; clear: left; float:left;"><?php _e('Database','updraftplus');?>: </div><div style="color:blue; float:left;"><?php echo $next_scheduled_backup_database?></div>
|
2676 |
+
<div style="width: 76px; clear: left; float:left;"><?php _e('Time now','updraftplus');?>: </div><div style="color:blue; float:left;"><?php echo $current_time?></div>
|
2677 |
+
</td>
|
2678 |
</tr>
|
2679 |
<tr>
|
2680 |
+
<th><?php _e('Last finished backup run','updraftplus');?>:</th>
|
2681 |
<td id="updraft_last_backup"><?php echo $last_backup_html ?></td>
|
2682 |
</tr>
|
2683 |
</table>
|
2684 |
+
<div style="float:left; width:200px; padding-top: 20px;">
|
2685 |
+
<p><button type="button" <?php echo $backup_disabled ?> class="button-primary" style="padding-top:2px;padding-bottom:2px;font-size:22px !important; min-height: 32px;" onclick="jQuery('#updraft-backupnow-modal').dialog('open');"><?php _e('Backup Now','updraftplus');?></button></p>
|
|
|
|
|
|
|
2686 |
<div style="position:relative">
|
2687 |
<div style="position:absolute;top:0;left:0">
|
2688 |
<?php
|
2689 |
$backup_history = UpdraftPlus_Options::get_updraft_option('updraft_backup_history');
|
2690 |
$backup_history = (is_array($backup_history))?$backup_history:array();
|
2691 |
+
$backup_history_sets = (count($backup_history) == 1) ? 'set' : 'sets';
|
2692 |
$restore_disabled = (count($backup_history) == 0) ? 'disabled="disabled"' : "";
|
2693 |
?>
|
2694 |
+
<input type="button" class="button-primary" <?php echo $restore_disabled ?> value="<?php _e('Restore','updraftplus');?>" style="padding-top:2px;padding-bottom:2px;font-size:22px !important; min-height: 32px;" onclick="jQuery('.download-backups').slideDown(); updraft_historytimertoggle(1); jQuery('html,body').animate({scrollTop: jQuery('#updraft_lastlogcontainer').offset().top},'slow');">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2695 |
</div>
|
2696 |
</div>
|
2697 |
</div>
|
2702 |
<td id="updraft_lastlogcontainer"><?php echo htmlspecialchars(UpdraftPlus_Options::get_updraft_option('updraft_lastmessage', '(Nothing yet logged)')); ?></td>
|
2703 |
</tr>
|
2704 |
<tr>
|
2705 |
+
<th>Backups, logs & restoring:</th>
|
2706 |
+
<td><a id="updraft_showbackups" href="#" title="<?php _e('Press to see available backups','updraftplus');?>" onclick="jQuery('.download-backups').toggle(); updraft_historytimertoggle(0);"><?php echo count($backup_history).' '.$backup_history_sets; ?> available</a></td>
|
2707 |
</tr>
|
2708 |
<tr>
|
2709 |
+
<td></td><td class="download-backups" style="display:none; border: 1px dotted;">
|
2710 |
+
<p style="max-width: 740px;"><ul style="list-style: disc inside;">
|
2711 |
+
<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>
|
2712 |
+
<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');?></li>
|
2713 |
+
<li><strong><?php _e('Opera web browser','updraftplus');?>:</strong> <?php _e('If you are using this, then turn Turbo/Road mode off.','updraftplus');?></li>
|
2714 |
+
<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> | <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></ul>
|
2715 |
<div id="ud_downloadstatus"></div>
|
2716 |
<script>
|
2717 |
+
function updraftplus_diskspace() {
|
2718 |
+
jQuery('#updraft_diskspaceused').html('<em><?php _e('calculating...','updraftplus');?></em>');
|
2719 |
+
jQuery.get(ajaxurl, { action: 'updraft_ajax', subaction: 'diskspaceused', nonce: '<?php echo wp_create_nonce('updraftplus-credentialtest-nonce'); ?>' }, function(response) {
|
2720 |
+
jQuery('#updraft_diskspaceused').html(response);
|
2721 |
+
});
|
2722 |
+
}
|
2723 |
var lastlog_lastmessage = "";
|
2724 |
function updraftplus_deletefromserver(timestamp, type) {
|
2725 |
var pdata = {
|
2775 |
}
|
2776 |
}
|
2777 |
</script>
|
2778 |
+
<div id="updraft_existing_backups" style="margin-bottom:12px;">
|
2779 |
<?php
|
2780 |
print $this->existing_backup_table($backup_history);
|
2781 |
?>
|
2783 |
</td>
|
2784 |
</tr>
|
2785 |
</table>
|
2786 |
+
<div id="updraft-restore-modal" title="UpdraftPlus - <?php _e('Restore backup','updraftplus');?>">
|
2787 |
+
<p><strong><?php _e('Restore backup from','updraftplus');?>:</strong> <span id="updraft_restore_date"></span></p>
|
2788 |
+
<p><?php _e("Restoring will replace this site's themes, plugins, uploads 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>
|
2789 |
+
<form id="updraft_restore_form" method="post">
|
2790 |
+
<fieldset>
|
2791 |
+
<input type="hidden" name="action" value="updraft_restore">
|
2792 |
+
<input type="hidden" name="backup_timestamp" value="0" id="updraft_restore_timestamp">
|
2793 |
+
<?php
|
2794 |
+
$backupable_entities = $this->get_backupable_file_entities(true, true);
|
2795 |
+
foreach ($backupable_entities as $type => $info) {
|
2796 |
+
echo '<div><input id="updraft_restore_'.$type.'" type="checkbox" name="updraft_restore[]" value="'.$type.'"> <label for="updraft_restore_'.$type.'">'.$info['description'].'</label><br></div>';
|
2797 |
+
}
|
2798 |
+
?>
|
2799 |
+
<p><em><?php _e("Databases cannot yet be restored from here - you must download the database file and take it to your web hosting company's control panel.",'updraftplus');?></em></p>
|
2800 |
+
</fieldset>
|
2801 |
+
</form>
|
2802 |
+
</div>
|
2803 |
+
|
2804 |
+
<div id="updraft-backupnow-modal" title="UpdraftPlus - Perform a backup now">
|
2805 |
+
|
2806 |
+
<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>
|
2807 |
+
|
2808 |
+
<form id="updraft-backupnow-form" method="post" action="">
|
2809 |
+
<input type="hidden" name="action" value="updraft_backup" />
|
2810 |
+
</form>
|
2811 |
+
|
2812 |
+
<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>
|
2813 |
+
|
2814 |
+
</div>
|
2815 |
+
|
2816 |
<?php
|
2817 |
if (is_multisite() && !file_exists(UPDRAFTPLUS_DIR.'/addons/multisite.php')) {
|
2818 |
?>
|
2819 |
+
<h2>UpdraftPlus <?php _e('Multisite','updraftplus');?></h2>
|
2820 |
<table>
|
2821 |
<tr>
|
2822 |
<td>
|
2823 |
+
<p style="max-width:800px;"><?php echo __('Do you need WordPress Multisite support?','updraftplus').' <a href="http://updraftplus.com/">'. __('Please check out UpdraftPlus Premium, or the stand-alone Multisite add-on.','updraftplus');?></a>.</p>
|
2824 |
</td>
|
2825 |
</tr>
|
2826 |
</table>
|
2827 |
<?php } ?>
|
2828 |
+
<h2><?php _e('Configure Backup Contents And Schedule','updraftplus');?></h2>
|
2829 |
<?php UpdraftPlus_Options::options_form_begin(); ?>
|
2830 |
<?php $this->settings_formcontents($last_backup_html); ?>
|
2831 |
</form>
|
2832 |
<div style="padding-top: 40px; display:none;" class="expertmode">
|
2833 |
<hr>
|
2834 |
+
<h3><?php _e('Debug Information And Expert Options','updraftplus');?></h3>
|
2835 |
<p>
|
2836 |
<?php
|
2837 |
$peak_memory_usage = memory_get_peak_usage(true)/1024/1024;
|
2841 |
echo 'PHP memory limit: '.ini_get('memory_limit').' <br/>';
|
2842 |
?>
|
2843 |
</p>
|
2844 |
+
<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>
|
2845 |
|
2846 |
<form method="post">
|
2847 |
<input type="hidden" name="action" value="updraft_backup_debug_all" />
|
2848 |
+
<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>
|
2849 |
</form>
|
2850 |
<form method="post">
|
2851 |
<input type="hidden" name="action" value="updraft_backup_debug_db" />
|
2852 |
+
<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>
|
2853 |
</form>
|
2854 |
+
<h3><?php _e('Wipe Settings','updraftplus');?></h3>
|
2855 |
+
<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>
|
2856 |
<form method="post">
|
2857 |
<input type="hidden" name="action" value="updraft_wipesettings" />
|
2858 |
+
<p><input type="submit" class="button-primary" value="Wipe All Settings" onclick="return(confirm('<?php echo htmlspecialchars(__('This will delete all your UpdraftPlus settings - are you sure you want to do this?'));?>'))" /></p>
|
2859 |
</form>
|
2860 |
</div>
|
2861 |
|
2888 |
|
2889 |
$updraft_dir = $this->backups_dir_location();
|
2890 |
|
2891 |
+
$backupable_entities = $this->get_backupable_file_entities(true, true);
|
2892 |
+
|
2893 |
echo '<table>';
|
2894 |
|
2895 |
krsort($backup_history);
|
2896 |
|
2897 |
foreach($backup_history as $key=>$value) {
|
2898 |
+
$pretty_date = date('Y-m-d G:i',$key);
|
2899 |
+
$entities = '';
|
2900 |
+
?>
|
2901 |
<tr>
|
2902 |
+
<td><b><?php echo $pretty_date?></b></td>
|
2903 |
<td>
|
2904 |
<?php if (isset($value['db'])) { ?>
|
2905 |
<form id="uddownloadform_db_<?php echo $key;?>" action="admin-ajax.php" onsubmit="return updraft_downloader(<?php echo $key;?>, 'db')" method="post">
|
2907 |
<input type="hidden" name="action" value="updraft_download_backup" />
|
2908 |
<input type="hidden" name="type" value="db" />
|
2909 |
<input type="hidden" name="timestamp" value="<?php echo $key?>" />
|
2910 |
+
<input type="submit" value="<?php _e('Database','updraftplus');?>" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2911 |
</form>
|
2912 |
+
<?php } else { echo "(No database)"; } ?>
|
2913 |
</td>
|
2914 |
+
|
2915 |
+
<?php
|
2916 |
+
foreach ($backupable_entities as $type => $info) {
|
2917 |
+
echo '<td>';
|
2918 |
+
if (isset($value[$type])) {
|
2919 |
+
$entities .= '/'.$type.'/';
|
2920 |
+
$sdescrip = preg_replace('/ \(.*\)$/', '', $info['description']);
|
2921 |
+
?>
|
2922 |
+
<form id="uddownloadform_<?php echo $type.'_'.$key;?>" action="admin-ajax.php" onsubmit="return updraft_downloader('<?php echo $key."', '".$type;?>')" method="post">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2923 |
<?php wp_nonce_field('updraftplus_download'); ?>
|
2924 |
<input type="hidden" name="action" value="updraft_download_backup" />
|
2925 |
+
<input type="hidden" name="type" value="<?php echo $type; ?>" />
|
2926 |
<input type="hidden" name="timestamp" value="<?php echo $key?>" />
|
2927 |
+
<input type="submit" title="<?php echo __('Press here to download','updraftplus').' '.strtolower($info['description']); ?>" value="<?php echo $sdescrip;?>" />
|
2928 |
</form>
|
2929 |
+
<?php } else { echo "(No ".strtolower($info['description']).")"; } ?>
|
2930 |
</td>
|
2931 |
+
<?php }; ?>
|
2932 |
+
|
2933 |
<td>
|
2934 |
<?php if (isset($value['nonce']) && preg_match("/^[0-9a-f]{12}$/",$value['nonce']) && is_readable($updraft_dir.'/log.'.$value['nonce'].'.txt')) { ?>
|
2935 |
<form action="options-general.php" method="get">
|
2938 |
<input type="hidden" name="updraftplus_backup_nonce" value="<?php echo $value['nonce']; ?>" />
|
2939 |
<input type="submit" value="Backup Log" />
|
2940 |
</form>
|
2941 |
+
<?php } else { echo "(No backup log)"; } ?>
|
2942 |
+
</td>
|
2943 |
+
<td>
|
2944 |
+
<form method="post" action="">
|
2945 |
+
<input type="hidden" name="backup_timestamp" value="<?php echo $key;?>">
|
2946 |
+
<input type="hidden" name="action" value="updraft_restore" />
|
2947 |
+
<?php if ($entities) { ?><button title="<?php _e('After pressing this button, you will be given the option to choose which components you wish to restore','updraftplus');?>" type="button" <?php echo $restore_disabled ?> class="button-primary" style="padding-top:2px;padding-bottom:2px;font-size:16px !important; min-height:26px;" onclick="updraft_restore_options('<?php echo $entities;?>'); jQuery('#updraft_restore_timestamp').val('<?php echo $key;?>'); jQuery('#updraft_restore_date').html('<?php echo $pretty_date;?>'); jQuery('#updraft-restore-modal').dialog('open');">Restore</button><?php } ?>
|
2948 |
+
</form>
|
2949 |
</td>
|
2950 |
</tr>
|
2951 |
+
<script>
|
2952 |
+
function updraft_restore_options(entities) {
|
2953 |
+
jQuery('input[name="updraft_restore[]"]').each(function(x,y){
|
2954 |
+
var entity = jQuery(y).val();
|
2955 |
+
if (entities.indexOf('/'+entity+'/') != -1) {
|
2956 |
+
jQuery(y).removeAttr('disabled').parent().show();
|
2957 |
+
} else {
|
2958 |
+
jQuery(y).attr('disabled','disabled').parent().hide();
|
2959 |
+
}
|
2960 |
+
});
|
2961 |
+
}
|
2962 |
+
</script>
|
2963 |
<?php }
|
2964 |
echo '</table>';
|
2965 |
}
|
2969 |
}
|
2970 |
|
2971 |
function show_admin_warning_diskspace() {
|
2972 |
+
$this->show_admin_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('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.','updraftplus'),'35 Mb'));
|
2973 |
}
|
2974 |
|
2975 |
function show_admin_warning_wordpressversion() {
|
2976 |
+
$this->show_admin_warning('<strong>'.__('Warning','updraftplus').':</strong> '.sprintf(__('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.'),'3.2'),'updraftplus');
|
2977 |
}
|
2978 |
|
2979 |
function show_admin_warning_unreadablelog() {
|
2980 |
+
$this->show_admin_warning('<strong>'.__('UpdraftPlus notice:','updraftplus').'</strong> '.__('The log file could not be read.','updraftplus'));
|
2981 |
}
|
2982 |
|
2983 |
function show_admin_warning_dropbox() {
|
2984 |
+
$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>');
|
2985 |
}
|
2986 |
|
2987 |
function show_admin_warning_googledrive() {
|
2988 |
+
$this->show_admin_warning('<strong>'.__('UpdraftPlus notice:','updraftplus').'</strong> <a href="options-general.php?page=updraftplus&action=updraftmethod-googledrive-auth&updraftplus_googleauth=doit">.'.sprintf(__('Click here to authenticate your %s account (you will not be able to back up to %s without it).','updraftplus'),'Google Drive','Google Drive').'</a>');
|
2989 |
}
|
2990 |
|
2991 |
// Caution: $source is allowed to be an array, not just a filename
|
3030 |
$this->zipfiles_added = 0;
|
3031 |
$this->zipfiles_dirbatched = array();
|
3032 |
$this->zipfiles_batched = array();
|
3033 |
+
$this->zipfiles_lastwritetime = time();
|
3034 |
|
3035 |
// Magic value, used later to detect no error occurring
|
3036 |
$last_error = 2349864;
|
3088 |
if (file_exists($zipfile)) {
|
3089 |
$opencode = $zip->open($zipfile);
|
3090 |
$original_size = filesize($zipfile);
|
3091 |
+
clearstatcache($zipfile);
|
3092 |
} else {
|
3093 |
$opencode = $zip->open($zipfile, ZIPARCHIVE::CREATE);
|
3094 |
$original_size = 0;
|
3103 |
$fsize = filesize($file);
|
3104 |
if (!isset($this->existing_files[$add_as]) || $this->existing_files[$add_as] != $fsize) {
|
3105 |
|
3106 |
+
@touch($zipfile);
|
3107 |
$zip->addFile($file, $add_as);
|
3108 |
|
3109 |
$data_added_since_reopen += $fsize;
|
3110 |
# 25Mb - force a write-out and re-open
|
3111 |
+
if ($data_added_since_reopen > 26214400 || (time() - $this->zipfiles_lastwritetime) > 2) {
|
3112 |
|
3113 |
$before_size = filesize($zipfile);
|
3114 |
+
clearstatcache($zipfile);
|
3115 |
|
3116 |
+
if ($data_added_since_reopen > 26214400) {
|
3117 |
+
$this->log("Adding batch to zip file: over 25Mb added on this batch (".round($data_added_since_reopen/1048576,1)." Mb); re-opening (prior size: ".round($before_size/1024,1).' Kb)');
|
3118 |
+
} else {
|
3119 |
+
$this->log("Adding batch to zip file: over 2 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)');
|
3120 |
+
}
|
3121 |
if (!$zip->close()) {
|
3122 |
$this->log("zip::Close returned an error");
|
3123 |
}
|
3126 |
$opencode = $zip->open($zipfile);
|
3127 |
if ($opencode !== true) return array($opencode, 0);
|
3128 |
$data_added_since_reopen = 0;
|
3129 |
+
$zipfiles_lastwritetime = time();
|
3130 |
// Call here, in case we've got so many big files that we don't complete the whole routine
|
3131 |
if (filesize($zipfile) > $before_size) $this->something_useful_happened();
|
3132 |
+
clearstatcache($zipfile);
|
3133 |
}
|
3134 |
}
|
3135 |
$this->zipfiles_added++;
|
3136 |
+
// Don't call something_useful_happened() here - nothing necessarily happens until close() is called
|
3137 |
if ($this->zipfiles_added % 100 == 0) $this->log("Zip: ".basename($zipfile).": ".$this->zipfiles_added." files added (on-disk size: ".round(filesize($zipfile)/1024,1)." Kb)");
|
3138 |
}
|
3139 |
// Reset the array
|
3140 |
$this->zipfiles_batched = array();
|
3141 |
$ret = $zip->close();
|
3142 |
+
$zipfiles_lastwritetime = time();
|
3143 |
if (filesize($zipfile) > $original_size) $this->something_useful_happened();
|
3144 |
+
clearstatcache($zipfile);
|
3145 |
return $ret;
|
3146 |
}
|
3147 |
|
3167 |
// Is the place we've ended up above the original base? That leads to infinite recursion
|
3168 |
if (($fullpath !== $original_fullpath && strpos($original_fullpath, $fullpath) === 0) || ($original_fullpath == $fullpath && strpos($use_path_when_storing, '/') !== false) ) {
|
3169 |
$this->log("Infinite recursion: symlink lead us to $fullpath, which is within $original_fullpath");
|
3170 |
+
$this->error(__("Infinite recursion: consult your log for more information",'updraftplus'));
|
3171 |
return false;
|
3172 |
}
|
3173 |
|