Version Description
= After an upgrade from version 2 =
Please check all settings after the update:
- Dropbox authentication must be done again
- SugarSync authentication must be done again
- S3 Settings
- Google Storage is now in S3
- Check all your passwords
Download this release
Release Info
Developer | danielhuesken |
Plugin | BackWPup – WordPress Backup Plugin |
Version | 3.0.2 |
Comparing to | |
See all releases |
Code changes from version 3.0.1 to 3.0.2
- backwpup.php +3 -4
- css/adminbar.css +1 -1
- css/adminbar.dev.css +0 -74
- inc/class-adminbar.php +2 -2
- inc/class-create-archive.php +1 -1
- inc/class-cron.php +5 -4
- inc/class-destination-dropbox.php +1 -1
- inc/class-destination-email.php +14 -3
- inc/class-destination-rsc.php +1 -1
- inc/class-destination-s3.php +68 -35
- inc/class-file.php +4 -1
- inc/class-install.php +1 -1
- inc/class-job.php +18 -8
- inc/class-jobtype-dbdump.php +2 -1
- inc/class-jobtype-file.php +2 -3
- inc/class-mysqldump.php +9 -4
- inc/class-option.php +1 -0
- inc/class-page-editjob.php +25 -10
- inc/class-page-jobs.php +0 -1
- languages/backwpup-de_DE.mo +0 -0
- languages/backwpup-de_DE.po +380 -346
- readme.txt +33 -12
- sdk/OpenCloud/asyncresponse.php +79 -0
- sdk/OpenCloud/compute.php +7 -0
- sdk/OpenCloud/dataobject.php +67 -2
- sdk/OpenCloud/dns.php +250 -0
- sdk/OpenCloud/dnsobject.php +109 -0
- sdk/OpenCloud/domain.php +223 -0
- sdk/OpenCloud/exceptions.php +13 -0
- sdk/OpenCloud/globals.php +17 -7
- sdk/OpenCloud/http.php +6 -1
- sdk/OpenCloud/lbresources.php +4 -15
- sdk/OpenCloud/loadbalancer.php +23 -9
- sdk/OpenCloud/nova.php +1 -11
- sdk/OpenCloud/objectstore.php +20 -1
- sdk/OpenCloud/openstack.php +7 -1
- sdk/OpenCloud/persistentobject.php +5 -5
- sdk/OpenCloud/ptrrecord.php +122 -0
- sdk/OpenCloud/rackspace.php +11 -0
- sdk/OpenCloud/record.php +73 -0
- sdk/OpenCloud/service.php +42 -8
backwpup.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* Description: WordPress Backup and more...
|
6 |
* Author: Inpsyde GmbH
|
7 |
* Author URI: http://inpsyde.com
|
8 |
-
* Version: 3.0.
|
9 |
* Text Domain: backwpup
|
10 |
* Domain Path: /languages/
|
11 |
* Network: true
|
@@ -231,7 +231,7 @@ if ( ! class_exists( 'BackWPup' ) ) {
|
|
231 |
public function plugin_init() {
|
232 |
|
233 |
//Add Admin Bar
|
234 |
-
if ( ! defined( 'DOING_CRON' ) && current_user_can( 'backwpup' ) && current_user_can( 'backwpup' ) && is_admin_bar_showing() &&
|
235 |
BackWPup_Adminbar::getInstance();
|
236 |
}
|
237 |
|
@@ -284,8 +284,7 @@ if ( ! class_exists( 'BackWPup' ) ) {
|
|
284 |
if ( !empty( self::$job_types ) )
|
285 |
return self::$job_types;
|
286 |
|
287 |
-
|
288 |
-
self::$job_types[ 'DBDUMP' ]= new BackWPup_JobType_DBDump;
|
289 |
self::$job_types[ 'FILE' ] = new BackWPup_JobType_File;
|
290 |
self::$job_types[ 'WPEXP' ] = new BackWPup_JobType_WPEXP;
|
291 |
self::$job_types[ 'WPPLUGIN' ] = new BackWPup_JobType_WPPlugin;
|
5 |
* Description: WordPress Backup and more...
|
6 |
* Author: Inpsyde GmbH
|
7 |
* Author URI: http://inpsyde.com
|
8 |
+
* Version: 3.0.2
|
9 |
* Text Domain: backwpup
|
10 |
* Domain Path: /languages/
|
11 |
* Network: true
|
231 |
public function plugin_init() {
|
232 |
|
233 |
//Add Admin Bar
|
234 |
+
if ( ! defined( 'DOING_CRON' ) && current_user_can( 'backwpup' ) && current_user_can( 'backwpup' ) && is_admin_bar_showing() && BackWPup_Option::get( 'cfg', 'showadminbar' ) )
|
235 |
BackWPup_Adminbar::getInstance();
|
236 |
}
|
237 |
|
284 |
if ( !empty( self::$job_types ) )
|
285 |
return self::$job_types;
|
286 |
|
287 |
+
self::$job_types[ 'DBDUMP' ]= new BackWPup_JobType_DBDump;
|
|
|
288 |
self::$job_types[ 'FILE' ] = new BackWPup_JobType_File;
|
289 |
self::$job_types[ 'WPEXP' ] = new BackWPup_JobType_WPEXP;
|
290 |
self::$job_types[ 'WPPLUGIN' ] = new BackWPup_JobType_WPPlugin;
|
css/adminbar.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#wp-admin-bar-backwpup.menupop>.ab-item .ab-icon,#wp-admin-bar-backwpup.menupop>a>span .ab-icon{background-image:url(../images/BackWPup20.png);background-repeat:no-repeat;position:relative;float:left;width:20px;height:20px;margin-top:3px;margin-right:5px;background-position:top center}#wp-admin-bar-backwpup.menupop.hover>.ab-item .ab-icon,#wp-admin-bar-backwpup.menupop.hover>a>span .ab-icon:hover{background-image:url(../images/BackWPup20.png);background-repeat:no-repeat;background-position:bottom center}
|
1 |
+
#wp-admin-bar-backwpup.menupop>.ab-item .ab-icon,#wp-admin-bar-backwpup.menupop>a>span .ab-icon{background-image:url(../images/BackWPup20.png);background-repeat:no-repeat;position:relative;float:left;width:20px;height:20px;margin-top:3px;margin-right:5px;background-position:top center}#wp-admin-bar-backwpup.menupop.hover>.ab-item .ab-icon,#wp-admin-bar-backwpup.menupop.hover>a>span .ab-icon:hover{background-image:url(../images/BackWPup20.png);background-repeat:no-repeat;background-position:bottom center}@media only screen and (-webkit-min-device-pixel-ratio:2){#wp-admin-bar-backwpup.menupop>.ab-item .ab-icon,#wp-admin-bar-backwpup.menupop>a>span .ab-icon{background-image:url(../images/BackWPup20_2x.png);background-repeat:no-repeat;background-size:20px 40px;background-position:top center;position:relative}#wp-admin-bar-backwpup.menupop.hover>.ab-item .ab-icon,#wp-admin-bar-backwpup.menupop.hover>a>span .ab-icon:hover{background-image:url(../images/BackWPup20_2x.png);background-repeat:no-repeat;background-position:bottom center}}
|
css/adminbar.dev.css
CHANGED
@@ -17,80 +17,6 @@
|
|
17 |
background-repeat: no-repeat;
|
18 |
background-position:bottom center;
|
19 |
}
|
20 |
-
#wp-admin-bar-backwpup .blink {
|
21 |
-
-webkit-animation: blink .75s linear infinite;
|
22 |
-
-moz-animation: blink .75s linear infinite;
|
23 |
-
-ms-animation: blink .75s linear infinite;
|
24 |
-
-o-animation: blink .75s linear infinite;
|
25 |
-
animation: blink .75s linear infinite;
|
26 |
-
}
|
27 |
-
|
28 |
-
@-webkit-keyframes blink {
|
29 |
-
0% {
|
30 |
-
opacity: 1;
|
31 |
-
}
|
32 |
-
50% {
|
33 |
-
opacity: 1;
|
34 |
-
}
|
35 |
-
50.01% {
|
36 |
-
opacity: 0;
|
37 |
-
}
|
38 |
-
100% {
|
39 |
-
opacity: 0;
|
40 |
-
}
|
41 |
-
}
|
42 |
-
|
43 |
-
@-moz-keyframes blink {
|
44 |
-
0% {
|
45 |
-
opacity: 1;
|
46 |
-
}
|
47 |
-
50% {
|
48 |
-
opacity: 1;
|
49 |
-
}
|
50 |
-
50.01% {
|
51 |
-
opacity: 0;
|
52 |
-
}
|
53 |
-
100% {
|
54 |
-
opacity: 0;
|
55 |
-
}
|
56 |
-
}
|
57 |
-
|
58 |
-
@-ms-keyframes blink {
|
59 |
-
0% { opacity: 1; }
|
60 |
-
50% { opacity: 1; }
|
61 |
-
50.01% { opacity: 0; }
|
62 |
-
100% { opacity: 0; }
|
63 |
-
}
|
64 |
-
|
65 |
-
@-o-keyframes blink {
|
66 |
-
0% {
|
67 |
-
opacity: 1;
|
68 |
-
}
|
69 |
-
50% {
|
70 |
-
opacity: 1;
|
71 |
-
}
|
72 |
-
50.01% {
|
73 |
-
opacity: 0;
|
74 |
-
}
|
75 |
-
100% {
|
76 |
-
opacity: 0;
|
77 |
-
}
|
78 |
-
}
|
79 |
-
|
80 |
-
@keyframes blink {
|
81 |
-
0% {
|
82 |
-
opacity: 1;
|
83 |
-
}
|
84 |
-
50% {
|
85 |
-
opacity: 1;
|
86 |
-
}
|
87 |
-
50.01% {
|
88 |
-
opacity: 0;
|
89 |
-
}
|
90 |
-
100% {
|
91 |
-
opacity: 0;
|
92 |
-
}
|
93 |
-
}
|
94 |
|
95 |
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
|
96 |
#wp-admin-bar-backwpup.menupop > .ab-item .ab-icon,
|
17 |
background-repeat: no-repeat;
|
18 |
background-position:bottom center;
|
19 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
|
22 |
#wp-admin-bar-backwpup.menupop > .ab-item .ab-icon,
|
inc/class-adminbar.php
CHANGED
@@ -11,7 +11,7 @@ class BackWPup_Adminbar {
|
|
11 |
*/
|
12 |
private function __construct() {
|
13 |
|
14 |
-
if ( defined( 'DOING_CRON' ) || ! current_user_can( 'backwpup' ) || ! is_admin_bar_showing() || !
|
15 |
return;
|
16 |
|
17 |
//load text domain
|
@@ -49,7 +49,7 @@ class BackWPup_Adminbar {
|
|
49 |
$menu_title = '<span class="ab-icon"></span><span class="ab-label">' . BackWPup::get_plugin_data( 'name' ) . '</span>';
|
50 |
$menu_herf = network_admin_url( 'admin.php' ) . '?page=backwpup';
|
51 |
if ( $job_object && current_user_can( 'backwpup_jobs_start' ) ) {
|
52 |
-
$menu_title = '<span class="ab-icon
|
53 |
$menu_herf = network_admin_url( 'admin.php' ) . '?page=backwpupjobs';
|
54 |
}
|
55 |
|
11 |
*/
|
12 |
private function __construct() {
|
13 |
|
14 |
+
if ( defined( 'DOING_CRON' ) || ! current_user_can( 'backwpup' ) || ! is_admin_bar_showing() || ! BackWPup_Option::get( 'cfg', 'showadminbar' ) )
|
15 |
return;
|
16 |
|
17 |
//load text domain
|
49 |
$menu_title = '<span class="ab-icon"></span><span class="ab-label">' . BackWPup::get_plugin_data( 'name' ) . '</span>';
|
50 |
$menu_herf = network_admin_url( 'admin.php' ) . '?page=backwpup';
|
51 |
if ( $job_object && current_user_can( 'backwpup_jobs_start' ) ) {
|
52 |
+
$menu_title = '<span class="ab-icon"></span><span class="ab-label">' . BackWPup::get_plugin_data( 'name' ) . ' <span id="backwpup-adminbar-running">' .__( 'running', 'backwpupadminbar') . '</span></span>';
|
53 |
$menu_herf = network_admin_url( 'admin.php' ) . '?page=backwpupjobs';
|
54 |
}
|
55 |
|
inc/class-create-archive.php
CHANGED
@@ -348,7 +348,7 @@ class BackWPup_Create_Archive {
|
|
348 |
$zip_error = __( '(ER_REMOVE) Can\'t remove file', 'backwpup' );
|
349 |
if ( $this->ziparchive->status == 23 )
|
350 |
$zip_error = __( '(ER_DELETED) Entry has been deleted', 'backwpup' );
|
351 |
-
trigger_error( sprintf( _x( 'ZipArchive returns status: %s','Text of ZipArchive status Massage', 'backwpup' ), $zip_error ),
|
352 |
}
|
353 |
}
|
354 |
|
348 |
$zip_error = __( '(ER_REMOVE) Can\'t remove file', 'backwpup' );
|
349 |
if ( $this->ziparchive->status == 23 )
|
350 |
$zip_error = __( '(ER_DELETED) Entry has been deleted', 'backwpup' );
|
351 |
+
trigger_error( sprintf( _x( 'ZipArchive returns status: %s','Text of ZipArchive status Massage', 'backwpup' ), $zip_error ), E_USER_WARNING );
|
352 |
}
|
353 |
}
|
354 |
|
inc/class-cron.php
CHANGED
@@ -85,7 +85,8 @@ class BackWPup_Cron {
|
|
85 |
$headers = array();
|
86 |
$headers[] = 'Content-Type: text/html; charset='. get_bloginfo( 'charset' );
|
87 |
$headers[] = 'X-Priority: 1';
|
88 |
-
|
|
|
89 |
wp_mail( $job_object->job[ 'mailaddresslog' ], $subject, file_get_contents( $job_object->logfile ), $headers );
|
90 |
}
|
91 |
}
|
@@ -137,11 +138,11 @@ class BackWPup_Cron {
|
|
137 |
}
|
138 |
}
|
139 |
//temp cleanup
|
140 |
-
$
|
141 |
-
foreach ( $
|
142 |
if ( is_file( BackWPup::get_plugin_data( 'TEMP' ) . $temp_file ) ) {
|
143 |
if ( '.gz' == substr( $temp_file, -3 ) || '.sql' == substr( $temp_file, -4 ) || '.bz2' == substr( $temp_file, -4 ) || '.zip' == substr( $temp_file, -4 ) || '.txt' == substr( $temp_file, -4 ) || '.xml' == substr( $temp_file, -4 ) )
|
144 |
-
unlink(
|
145 |
}
|
146 |
}
|
147 |
}
|
85 |
$headers = array();
|
86 |
$headers[] = 'Content-Type: text/html; charset='. get_bloginfo( 'charset' );
|
87 |
$headers[] = 'X-Priority: 1';
|
88 |
+
if ( ! empty( $job_object->job[ 'mailaddresssenderlog' ] ) )
|
89 |
+
$headers[] = 'From: ' . $job_object->job[ 'mailaddresssenderlog' ];
|
90 |
wp_mail( $job_object->job[ 'mailaddresslog' ], $subject, file_get_contents( $job_object->logfile ), $headers );
|
91 |
}
|
92 |
}
|
138 |
}
|
139 |
}
|
140 |
//temp cleanup
|
141 |
+
$temp_folder = scandir( BackWPup::get_plugin_data( 'TEMP' ) );
|
142 |
+
foreach ( $temp_folder as $temp_file ) {
|
143 |
if ( is_file( BackWPup::get_plugin_data( 'TEMP' ) . $temp_file ) ) {
|
144 |
if ( '.gz' == substr( $temp_file, -3 ) || '.sql' == substr( $temp_file, -4 ) || '.bz2' == substr( $temp_file, -4 ) || '.zip' == substr( $temp_file, -4 ) || '.txt' == substr( $temp_file, -4 ) || '.xml' == substr( $temp_file, -4 ) )
|
145 |
+
unlink( BackWPup::get_plugin_data( 'TEMP' ) . $temp_file );
|
146 |
}
|
147 |
}
|
148 |
}
|
inc/class-destination-dropbox.php
CHANGED
@@ -498,7 +498,7 @@ final class BackWPup_Destination_Dropbox_API {
|
|
498 |
$job_object = BackWPup_Job::getInstance();
|
499 |
|
500 |
while ( $data = fread( $file_handel, 4194304 ) ) { //4194304 = 4MB
|
501 |
-
$chunkHandle = fopen( 'php://
|
502 |
fwrite( $chunkHandle, $data );
|
503 |
rewind( $chunkHandle );
|
504 |
$url = self::API_CONTENT_URL . self::API_VERSION_URL . 'chunked_upload';
|
498 |
$job_object = BackWPup_Job::getInstance();
|
499 |
|
500 |
while ( $data = fread( $file_handel, 4194304 ) ) { //4194304 = 4MB
|
501 |
+
$chunkHandle = fopen( 'php://temp', 'rw' );
|
502 |
fwrite( $chunkHandle, $data );
|
503 |
rewind( $chunkHandle );
|
504 |
$url = self::API_CONTENT_URL . self::API_VERSION_URL . 'chunked_upload';
|
inc/class-destination-email.php
CHANGED
@@ -34,6 +34,7 @@ class BackWPup_Destination_Email extends BackWPup_Destinations {
|
|
34 |
$default[ 'emailaddress' ] = sanitize_email( get_bloginfo( 'admin_email' ) );
|
35 |
$default[ 'emailefilesize' ] = 20;
|
36 |
$default[ 'emailsndemail' ] = sanitize_email( get_bloginfo( 'admin_email' ) );
|
|
|
37 |
$default[ 'emailmethod' ] = '';
|
38 |
$default[ 'emailsendmail' ] = ini_get( 'sendmail_path' );
|
39 |
$default[ 'emailhost' ] = isset($_SERVER[ 'SERVER_NAME' ]) ? $_SERVER[ 'SERVER_NAME' ] : '';
|
@@ -82,7 +83,15 @@ class BackWPup_Destination_Email extends BackWPup_Destinations {
|
|
82 |
<td><input name="emailsndemail" type="text" id="emailsndemail"
|
83 |
value="<?PHP echo esc_attr( BackWPup_Option::get( $jobid, 'emailsndemail' ) );?>"
|
84 |
class="regular-text" />
|
85 |
-
<?php BackWPup_Help::tip( __('Sender email address','backwpup') ); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
</td>
|
87 |
</tr>
|
88 |
<tr valign="top">
|
@@ -177,6 +186,7 @@ class BackWPup_Destination_Email extends BackWPup_Destinations {
|
|
177 |
emailsndemail: $('input[name="emailsndemail"]').val(),
|
178 |
emailmethod: $('#emailmethod').val(),
|
179 |
emailsendmail: $('input[name="emailsendmail"]').val(),
|
|
|
180 |
emailhost: $('input[name="emailhost"]').val(),
|
181 |
emailhostport: $('input[name="emailhostport"]').val(),
|
182 |
emailsecure: $('#emailsecure').val(),
|
@@ -202,6 +212,7 @@ class BackWPup_Destination_Email extends BackWPup_Destinations {
|
|
202 |
BackWPup_Option::update( $jobid, 'emailsndemail', sanitize_email( $_POST[ 'emailsndemail' ] ) );
|
203 |
BackWPup_Option::update( $jobid, 'emailmethod', ( $_POST[ 'emailmethod' ] == '' || $_POST[ 'emailmethod' ] == 'mail' || $_POST[ 'emailmethod' ] == 'sendmail' || $_POST[ 'emailmethod' ] == 'smtp' ) ? $_POST[ 'emailmethod' ] : '' );
|
204 |
BackWPup_Option::update( $jobid, 'emailsendmail', $_POST[ 'emailsendmail' ] );
|
|
|
205 |
BackWPup_Option::update( $jobid, 'emailhost', $_POST[ 'emailhost' ] );
|
206 |
BackWPup_Option::update( $jobid, 'emailhostport', (int)$_POST[ 'emailhostport' ] );
|
207 |
BackWPup_Option::update( $jobid, 'emailsecure', ( $_POST[ 'emailsecure' ] == 'ssl' || $_POST[ 'emailsecure' ] == 'tls' ) ? $_POST[ 'emailsecure' ] : '' );
|
@@ -303,7 +314,7 @@ class BackWPup_Destination_Email extends BackWPup_Destinations {
|
|
303 |
|
304 |
// Create a message
|
305 |
$message = Swift_Message::newInstance( sprintf( __( 'BackWPup archive from %1$s: %2$s', 'backwpup' ), date_i18n( 'd-M-Y H:i', $job_object->start_time, TRUE ), esc_attr($job_object->job[ 'name' ] ) ) );
|
306 |
-
$message->setFrom( array( $job_object->job[ 'emailsndemail' ] ) );
|
307 |
$message->setTo( array( $job_object->job[ 'emailaddress' ] ) );
|
308 |
$message->setBody( sprintf( __( 'Backup archive: %s', 'backwpup' ), $job_object->backup_file ), 'text/plain', strtolower( get_bloginfo( 'charset' ) ) );
|
309 |
$message->attach( Swift_Attachment::fromPath( $job_object->backup_folder . $job_object->backup_file, $job_object->get_mime_type( $job_object->backup_folder . $job_object->backup_file ) ) );
|
@@ -425,7 +436,7 @@ class BackWPup_Destination_Email extends BackWPup_Destinations {
|
|
425 |
|
426 |
// Create a message
|
427 |
$message = Swift_Message::newInstance( __( 'BackWPup archive sending TEST Message', 'backwpup' ) );
|
428 |
-
$message->setFrom( array( $_POST[ 'emailsndemail' ] ) );
|
429 |
$message->setTo( array( $_POST[ 'emailaddress' ] ) );
|
430 |
$message->setBody( __( 'If this message reaches you sending of backup archives per email should work.', 'backwpup' ) );
|
431 |
// Send the message
|
34 |
$default[ 'emailaddress' ] = sanitize_email( get_bloginfo( 'admin_email' ) );
|
35 |
$default[ 'emailefilesize' ] = 20;
|
36 |
$default[ 'emailsndemail' ] = sanitize_email( get_bloginfo( 'admin_email' ) );
|
37 |
+
$default[ 'emailsndemailname' ] = 'BackWPup ' . get_bloginfo( 'name' );
|
38 |
$default[ 'emailmethod' ] = '';
|
39 |
$default[ 'emailsendmail' ] = ini_get( 'sendmail_path' );
|
40 |
$default[ 'emailhost' ] = isset($_SERVER[ 'SERVER_NAME' ]) ? $_SERVER[ 'SERVER_NAME' ] : '';
|
83 |
<td><input name="emailsndemail" type="text" id="emailsndemail"
|
84 |
value="<?PHP echo esc_attr( BackWPup_Option::get( $jobid, 'emailsndemail' ) );?>"
|
85 |
class="regular-text" />
|
86 |
+
<?php BackWPup_Help::tip( __( 'Sender email address', 'backwpup' ) ); ?>
|
87 |
+
</td>
|
88 |
+
</tr>
|
89 |
+
<tr valign="top">
|
90 |
+
<th scope="row"><label for="emailsndemailname"><?PHP _e( 'Sender name', 'backwpup' ); ?></label></th>
|
91 |
+
<td><input name="emailsndemailname" type="text" id="emailsndemailname"
|
92 |
+
value="<?PHP echo esc_attr( BackWPup_Option::get( $jobid, 'emailsndemailname' ) );?>"
|
93 |
+
class="regular-text" />
|
94 |
+
<?php BackWPup_Help::tip( __( 'Name of email sender', 'backwpup' ) ); ?>
|
95 |
</td>
|
96 |
</tr>
|
97 |
<tr valign="top">
|
186 |
emailsndemail: $('input[name="emailsndemail"]').val(),
|
187 |
emailmethod: $('#emailmethod').val(),
|
188 |
emailsendmail: $('input[name="emailsendmail"]').val(),
|
189 |
+
emailsndemailname: $('input[name="emailsndemailname"]').val(),
|
190 |
emailhost: $('input[name="emailhost"]').val(),
|
191 |
emailhostport: $('input[name="emailhostport"]').val(),
|
192 |
emailsecure: $('#emailsecure').val(),
|
212 |
BackWPup_Option::update( $jobid, 'emailsndemail', sanitize_email( $_POST[ 'emailsndemail' ] ) );
|
213 |
BackWPup_Option::update( $jobid, 'emailmethod', ( $_POST[ 'emailmethod' ] == '' || $_POST[ 'emailmethod' ] == 'mail' || $_POST[ 'emailmethod' ] == 'sendmail' || $_POST[ 'emailmethod' ] == 'smtp' ) ? $_POST[ 'emailmethod' ] : '' );
|
214 |
BackWPup_Option::update( $jobid, 'emailsendmail', $_POST[ 'emailsendmail' ] );
|
215 |
+
BackWPup_Option::update( $jobid, 'emailsndemailname', $_POST[ 'emailsndemailname' ] );
|
216 |
BackWPup_Option::update( $jobid, 'emailhost', $_POST[ 'emailhost' ] );
|
217 |
BackWPup_Option::update( $jobid, 'emailhostport', (int)$_POST[ 'emailhostport' ] );
|
218 |
BackWPup_Option::update( $jobid, 'emailsecure', ( $_POST[ 'emailsecure' ] == 'ssl' || $_POST[ 'emailsecure' ] == 'tls' ) ? $_POST[ 'emailsecure' ] : '' );
|
314 |
|
315 |
// Create a message
|
316 |
$message = Swift_Message::newInstance( sprintf( __( 'BackWPup archive from %1$s: %2$s', 'backwpup' ), date_i18n( 'd-M-Y H:i', $job_object->start_time, TRUE ), esc_attr($job_object->job[ 'name' ] ) ) );
|
317 |
+
$message->setFrom( array( $job_object->job[ 'emailsndemail' ] => $job_object->job[ 'emailsndemailname' ] ) );
|
318 |
$message->setTo( array( $job_object->job[ 'emailaddress' ] ) );
|
319 |
$message->setBody( sprintf( __( 'Backup archive: %s', 'backwpup' ), $job_object->backup_file ), 'text/plain', strtolower( get_bloginfo( 'charset' ) ) );
|
320 |
$message->attach( Swift_Attachment::fromPath( $job_object->backup_folder . $job_object->backup_file, $job_object->get_mime_type( $job_object->backup_folder . $job_object->backup_file ) ) );
|
436 |
|
437 |
// Create a message
|
438 |
$message = Swift_Message::newInstance( __( 'BackWPup archive sending TEST Message', 'backwpup' ) );
|
439 |
+
$message->setFrom( array( $_POST[ 'emailsndemail' ] => $_POST[ 'emailsndemailname' ] ) );
|
440 |
$message->setTo( array( $_POST[ 'emailaddress' ] ) );
|
441 |
$message->setBody( __( 'If this message reaches you sending of backup archives per email should work.', 'backwpup' ) );
|
442 |
// Send the message
|
inc/class-destination-rsc.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
// Rackspace OpenCloud SDK v1.
|
3 |
// http://www.rackspace.com/cloud/files/
|
4 |
// https://github.com/rackspace/php-opencloud
|
5 |
if ( ! defined( 'RAXSDK_CACERTPEM' ) )
|
1 |
<?php
|
2 |
+
// Rackspace OpenCloud SDK v1.4.1
|
3 |
// http://www.rackspace.com/cloud/files/
|
4 |
// https://github.com/rackspace/php-opencloud
|
5 |
if ( ! defined( 'RAXSDK_CACERTPEM' ) )
|
inc/class-destination-s3.php
CHANGED
@@ -59,8 +59,6 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
59 |
return 'https://s3-ap-southeast-2.amazonaws.com';
|
60 |
case 'sa-east-1':
|
61 |
return 'https://s3-sa-east-1.amazonaws.com';
|
62 |
-
case 'us-gov-west-1':
|
63 |
-
return 'https://s3-us-gov-west-1.amazonaws.com';
|
64 |
case 'google-storage':
|
65 |
return 'https://storage.googleapis.com';
|
66 |
case 'hosteurope':
|
@@ -78,7 +76,7 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
78 |
*/
|
79 |
public function option_defaults() {
|
80 |
|
81 |
-
return array( 's3accesskey' => '', 's3secretkey' => '', 's3bucket' => '', 's3region' => 'us-east-1', 's3base_url' => '', 's3ssencrypt' => '', 's3storageclass' => '', 's3dir' => trailingslashit( sanitize_title_with_dashes( get_bloginfo( 'name' ) ) ), 's3maxbackups' => 0, 's3syncnodelete' => TRUE );
|
82 |
}
|
83 |
|
84 |
|
@@ -103,7 +101,6 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
103 |
<option value="ap-southeast-1" <?php selected( 'ap-southeast-1', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Amazon S3: Asia Pacific (Singapore)', 'backwpup' ); ?></option>
|
104 |
<option value="ap-southeast-2" <?php selected( 'ap-southeast-2', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Amazon S3: Asia Pacific (Sydney)', 'backwpup' ); ?></option>
|
105 |
<option value="sa-east-1" <?php selected( 'sa-east-1', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Amazon S3: South America (Sao Paulo)', 'backwpup' ); ?></option>
|
106 |
-
<option value="us-gov-west-1" <?php selected( 'us-gov-west-1', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Amazon S3: GovCloud (US)', 'backwpup' ); ?></option>
|
107 |
<option value="google-storage" <?php selected( 'google-storage', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Google Storage (Interoperable Access)', 'backwpup' ); ?></option>
|
108 |
<option value="hosteurope" <?php selected( 'hosteurope', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Hosteurope Cloud Storage', 'backwpup' ); ?></option>
|
109 |
<option value="dreamhost" <?php selected( 'dreamhost', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Dream Host Cloud Storage', 'backwpup' ); ?></option>
|
@@ -185,6 +182,17 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
185 |
<?php } ?>
|
186 |
</td>
|
187 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
</table>
|
189 |
|
190 |
<h3 class="title"><?php _e( 'Amazon specific settings', 'backwpup' ); ?></h3>
|
@@ -236,6 +244,7 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
236 |
|
237 |
BackWPup_Option::update( $jobid, 's3maxbackups', isset( $_POST[ 's3maxbackups' ] ) ? (int)$_POST[ 's3maxbackups' ] : 0 );
|
238 |
BackWPup_Option::update( $jobid, 's3syncnodelete', ( isset( $_POST[ 's3syncnodelete' ] ) && $_POST[ 's3syncnodelete' ] == 1 ) ? TRUE : FALSE );
|
|
|
239 |
|
240 |
//create new bucket
|
241 |
if ( !empty( $_POST[ 's3newbucket' ] ) ) {
|
@@ -381,8 +390,7 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
381 |
|
382 |
if ( $s3->doesBucketExist( $job_object->job[ 's3bucket' ] ) ) {
|
383 |
$bucketregion = $s3->getBucketLocation( array( 'Bucket' => $job_object->job[ 's3bucket' ] ) )->toArray();
|
384 |
-
$
|
385 |
-
$job_object->log( sprintf( __( 'Connected to S3 Bucket "%1$s" from "%3$s" in %2$s', 'backwpup' ), $job_object->job[ 's3bucket' ], $bucketregion[ 'Location' ], $bucketacl[ 'Owner' ][ 'DisplayName' ] ), E_USER_NOTICE );
|
386 |
}
|
387 |
else {
|
388 |
$job_object->log( sprintf( __( 'S3 Bucket "%s" does not exist!', 'backwpup' ), $job_object->job[ 's3bucket' ] ), E_USER_ERROR );
|
@@ -395,36 +403,61 @@ class BackWPup_Destination_S3 extends BackWPup_Destinations {
|
|
395 |
|
396 |
//check memory
|
397 |
$job_object->need_free_memory( '6M' );
|
398 |
-
|
399 |
-
$
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
->setOption('ACL', 'private' )
|
405 |
-
->setKey( $job_object->job[ 's3dir' ] . $job_object->backup_file );
|
406 |
if ( ! empty( $job_object->job[ 's3ssencrypt' ] ) )
|
407 |
-
$
|
408 |
-
if ( ! empty( $job_object->job[ 's3storageclass' ] ) )
|
409 |
-
$
|
410 |
-
$
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
$
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
}
|
424 |
-
|
425 |
-
$multipart_transfer
|
426 |
-
|
427 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
428 |
}
|
429 |
|
430 |
$result = $s3->headObject( array( 'Bucket' => $job_object->job[ 's3bucket' ],
|
59 |
return 'https://s3-ap-southeast-2.amazonaws.com';
|
60 |
case 'sa-east-1':
|
61 |
return 'https://s3-sa-east-1.amazonaws.com';
|
|
|
|
|
62 |
case 'google-storage':
|
63 |
return 'https://storage.googleapis.com';
|
64 |
case 'hosteurope':
|
76 |
*/
|
77 |
public function option_defaults() {
|
78 |
|
79 |
+
return array( 's3accesskey' => '', 's3secretkey' => '', 's3bucket' => '', 's3region' => 'us-east-1', 's3base_url' => '', 's3ssencrypt' => '', 's3storageclass' => '', 's3dir' => trailingslashit( sanitize_title_with_dashes( get_bloginfo( 'name' ) ) ), 's3maxbackups' => 0, 's3syncnodelete' => TRUE, 's3multipart' => TRUE );
|
80 |
}
|
81 |
|
82 |
|
101 |
<option value="ap-southeast-1" <?php selected( 'ap-southeast-1', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Amazon S3: Asia Pacific (Singapore)', 'backwpup' ); ?></option>
|
102 |
<option value="ap-southeast-2" <?php selected( 'ap-southeast-2', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Amazon S3: Asia Pacific (Sydney)', 'backwpup' ); ?></option>
|
103 |
<option value="sa-east-1" <?php selected( 'sa-east-1', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Amazon S3: South America (Sao Paulo)', 'backwpup' ); ?></option>
|
|
|
104 |
<option value="google-storage" <?php selected( 'google-storage', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Google Storage (Interoperable Access)', 'backwpup' ); ?></option>
|
105 |
<option value="hosteurope" <?php selected( 'hosteurope', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Hosteurope Cloud Storage', 'backwpup' ); ?></option>
|
106 |
<option value="dreamhost" <?php selected( 'dreamhost', BackWPup_Option::get( $jobid, 's3region' ), TRUE ) ?>><?php _e( 'Dream Host Cloud Storage', 'backwpup' ); ?></option>
|
182 |
<?php } ?>
|
183 |
</td>
|
184 |
</tr>
|
185 |
+
<?php if ( BackWPup_Option::get( $jobid, 'backuptype' ) == 'archive' ) { ?>
|
186 |
+
<tr valign="top">
|
187 |
+
<th scope="row"><?php _e( 'Multipart Upload', 'backwpup' ); ?></th>
|
188 |
+
<td>
|
189 |
+
<label for="ids3multipart"><input class="checkbox" value="1"
|
190 |
+
type="checkbox" <?php checked( BackWPup_Option::get( $jobid, 's3multipart' ), TRUE ); ?>
|
191 |
+
name="s3multipart" id="ids3multipart" /> <?php _e( 'Use multipart upload for uploading a file', 'backwpup' ); ?></label>
|
192 |
+
<?php BackWPup_Help::tip( __( 'Mutipart split the file into peaces of chucks while uploading. It is needed for displaying upload process and can transfer bigger files. Im moment there are problems on Google storage with this option', 'backwpup') ); ?>
|
193 |
+
</td>
|
194 |
+
</tr>
|
195 |
+
<?php } ?>
|
196 |
</table>
|
197 |
|
198 |
<h3 class="title"><?php _e( 'Amazon specific settings', 'backwpup' ); ?></h3>
|
244 |
|
245 |
BackWPup_Option::update( $jobid, 's3maxbackups', isset( $_POST[ 's3maxbackups' ] ) ? (int)$_POST[ 's3maxbackups' ] : 0 );
|
246 |
BackWPup_Option::update( $jobid, 's3syncnodelete', ( isset( $_POST[ 's3syncnodelete' ] ) && $_POST[ 's3syncnodelete' ] == 1 ) ? TRUE : FALSE );
|
247 |
+
BackWPup_Option::update( $jobid, 's3multipart', ( isset( $_POST[ 's3multipart' ] ) && $_POST[ 's3multipart' ] == 1 ) ? TRUE : FALSE );
|
248 |
|
249 |
//create new bucket
|
250 |
if ( !empty( $_POST[ 's3newbucket' ] ) ) {
|
390 |
|
391 |
if ( $s3->doesBucketExist( $job_object->job[ 's3bucket' ] ) ) {
|
392 |
$bucketregion = $s3->getBucketLocation( array( 'Bucket' => $job_object->job[ 's3bucket' ] ) )->toArray();
|
393 |
+
$job_object->log( sprintf( __( 'Connected to S3 Bucket "%1$s" in %2$s', 'backwpup' ), $job_object->job[ 's3bucket' ], $bucketregion[ 'Location' ] ), E_USER_NOTICE );
|
|
|
394 |
}
|
395 |
else {
|
396 |
$job_object->log( sprintf( __( 'S3 Bucket "%s" does not exist!', 'backwpup' ), $job_object->job[ 's3bucket' ] ), E_USER_ERROR );
|
403 |
|
404 |
//check memory
|
405 |
$job_object->need_free_memory( '6M' );
|
406 |
+
|
407 |
+
if ( ! $job_object->job[ 's3multipart' ] ) {
|
408 |
+
//Prepare Upload
|
409 |
+
$create_args = array();
|
410 |
+
$create_args[ 'Bucket' ] = $job_object->job[ 's3bucket' ];
|
411 |
+
$create_args[ 'ACL' ] = 'private';
|
|
|
|
|
412 |
if ( ! empty( $job_object->job[ 's3ssencrypt' ] ) )
|
413 |
+
$create_args[ 'ServerSideEncryption' ] = $job_object->job[ 's3ssencrypt' ]; //AES256
|
414 |
+
if ( ! empty( $job_object->job[ 's3storageclass' ] ) ) //REDUCED_REDUNDANCY
|
415 |
+
$create_args[ 'StorageClass' ] = $job_object->job[ 's3storageclass' ];
|
416 |
+
$create_args[ 'Metadata' ] = array( 'BackupTime' => date_i18n( 'Y-m-d H:i:s', $job_object->start_time ) );
|
417 |
+
|
418 |
+
$create_args[ 'Body' ] = fopen( $job_object->backup_folder . $job_object->backup_file, 'r' );
|
419 |
+
$create_args[ 'Key' ] = $job_object->job[ 's3dir' ] . $job_object->backup_file;
|
420 |
+
$create_args[ 'ContentType' ] = $job_object->get_mime_type( $job_object->backup_folder . $job_object->backup_file );
|
421 |
+
|
422 |
+
try {
|
423 |
+
$s3->putObject( $create_args );
|
424 |
+
} catch ( Aws\Common\Exception\MultipartUploadException $e ) {
|
425 |
+
$job_object->log( E_USER_ERROR, sprintf( __( 'S3 Service API: %s', 'backwpup' ), htmlentities( $e->getMessage() ) ), $e->getFile(), $e->getLine() );
|
426 |
+
|
427 |
+
return FALSE;
|
428 |
+
}
|
429 |
+
} else {
|
430 |
+
//Prepare Upload
|
431 |
+
$multipart_transfer = Aws\S3\Model\MultipartUpload\UploadBuilder::newInstance()
|
432 |
+
->setClient( $s3 )
|
433 |
+
->setSource( $job_object->backup_folder . $job_object->backup_file )
|
434 |
+
->setBucket( $job_object->job[ 's3bucket' ] )
|
435 |
+
->setOption('ContentType', $job_object->get_mime_type( $job_object->backup_folder . $job_object->backup_file ) )
|
436 |
+
->setOption('ACL', 'private' )
|
437 |
+
->setKey( $job_object->job[ 's3dir' ] . $job_object->backup_file );
|
438 |
+
if ( ! empty( $job_object->job[ 's3ssencrypt' ] ) )
|
439 |
+
$multipart_transfer = $multipart_transfer->setOption('ServerSideEncryption', $job_object->job[ 's3ssencrypt' ] );
|
440 |
+
if ( ! empty( $job_object->job[ 's3storageclass' ] ) )
|
441 |
+
$multipart_transfer = $multipart_transfer->setOption('StorageClass', $job_object->job[ 's3storageclass' ] );
|
442 |
+
$multipart_transfer = $multipart_transfer->build();
|
443 |
+
|
444 |
+
// Attach event listeners to the transfer object for upload progress
|
445 |
+
$dispatcher = $multipart_transfer->getEventDispatcher();
|
446 |
+
$dispatcher->addListener($multipart_transfer::AFTER_PART_UPLOAD, function ($event) {
|
447 |
+
$size = $event['command']->get('Body')->getContentLength();
|
448 |
+
$job_object = BackWPup_Job::get_working_data();
|
449 |
+
$job_object->substeps_done = $job_object->substeps_done + $size;
|
450 |
+
$job_object->update_working_data();
|
451 |
+
});
|
452 |
+
|
453 |
+
try {
|
454 |
+
$multipart_transfer->upload();
|
455 |
+
} catch ( Aws\Common\Exception\MultipartUploadException $e ) {
|
456 |
+
$job_object->log( E_USER_ERROR, sprintf( __( 'S3 Service API: %s', 'backwpup' ), htmlentities( $e->getMessage() ) ), $e->getFile(), $e->getLine() );
|
457 |
+
$multipart_transfer->abort();
|
458 |
+
|
459 |
+
return FALSE;
|
460 |
+
}
|
461 |
}
|
462 |
|
463 |
$result = $s3->headObject( array( 'Bucket' => $job_object->job[ 's3bucket' ],
|
inc/class-file.php
CHANGED
@@ -61,7 +61,10 @@ class BackWPup_File {
|
|
61 |
public static function get_folder_size( $folder, $deep = TRUE ) {
|
62 |
|
63 |
$files_size = 0;
|
64 |
-
|
|
|
|
|
|
|
65 |
$folder_content = scandir( $folder );
|
66 |
foreach( $folder_content as $file ) {
|
67 |
if ( in_array( $file, array( '.', '..' ) ) )
|
61 |
public static function get_folder_size( $folder, $deep = TRUE ) {
|
62 |
|
63 |
$files_size = 0;
|
64 |
+
|
65 |
+
if ( ! is_readable( $folder ) )
|
66 |
+
return $files_size;
|
67 |
+
|
68 |
$folder_content = scandir( $folder );
|
69 |
foreach( $folder_content as $file ) {
|
70 |
if ( in_array( $file, array( '.', '..' ) ) )
|
inc/class-install.php
CHANGED
@@ -232,7 +232,7 @@ class BackWPup_Install {
|
|
232 |
$jobvalue[ 's3bucket' ] = $jobvalue[ 'GStorageBucket' ];
|
233 |
$jobvalue[ 's3region' ] = 'google-storage';
|
234 |
$jobvalue[ 's3base_url' ] = '';
|
235 |
-
$jobvalue[ 's3ssencrypt' ] =
|
236 |
$jobvalue[ 's3dir' ] = $jobvalue[ 'GStoragedir' ];
|
237 |
$jobvalue[ 's3maxbackups' ] = $jobvalue[ 'GStoragemaxbackups' ];
|
238 |
unset( $jobvalue[ 'GStorageAccessKey' ], $jobvalue[ 'GStorageSecret' ], $jobvalue[ 'GStorageBucket' ], $jobvalue[ 'GStoragedir' ], $jobvalue[ 'GStoragemaxbackups' ] );
|
232 |
$jobvalue[ 's3bucket' ] = $jobvalue[ 'GStorageBucket' ];
|
233 |
$jobvalue[ 's3region' ] = 'google-storage';
|
234 |
$jobvalue[ 's3base_url' ] = '';
|
235 |
+
$jobvalue[ 's3ssencrypt' ] = '';
|
236 |
$jobvalue[ 's3dir' ] = $jobvalue[ 'GStoragedir' ];
|
237 |
$jobvalue[ 's3maxbackups' ] = $jobvalue[ 'GStoragemaxbackups' ];
|
238 |
unset( $jobvalue[ 'GStorageAccessKey' ], $jobvalue[ 'GStorageSecret' ], $jobvalue[ 'GStorageBucket' ], $jobvalue[ 'GStoragedir' ], $jobvalue[ 'GStoragemaxbackups' ] );
|
inc/class-job.php
CHANGED
@@ -623,7 +623,7 @@ final class BackWPup_Job {
|
|
623 |
@ini_set( 'log_errors', 'On' );
|
624 |
//set temp folder
|
625 |
$this->temp[ 'PHP' ][ 'ENV' ][ 'TEMPDIR' ] = getenv( 'TMPDIR' );
|
626 |
-
putenv( 'TMPDIR='.BackWPup::get_plugin_data( 'TEMP') );
|
627 |
//increase MySQL timeout
|
628 |
@ini_set( 'mysql.connect_timeout', '60' );
|
629 |
$wpdb->query( "SET session wait_timeout = 60" );
|
@@ -646,7 +646,7 @@ final class BackWPup_Job {
|
|
646 |
$GLOBALS[ 'l10n' ] = array();
|
647 |
}
|
648 |
//clear caches then the backups smaller and lesser problems
|
649 |
-
if (
|
650 |
apc_clear_cache();
|
651 |
}
|
652 |
if ( function_exists('w3tc_objectcache_flush') ) { //W3TC
|
@@ -1062,8 +1062,14 @@ final class BackWPup_Job {
|
|
1062 |
@set_time_limit( 0 );
|
1063 |
|
1064 |
//check MySQL connection to WordPress Database and reconnect if needed
|
1065 |
-
if (
|
1066 |
-
$wpdb->
|
|
|
|
|
|
|
|
|
|
|
|
|
1067 |
|
1068 |
//check if job already aborted
|
1069 |
if ( ! self::get_working_data( FALSE ) && $this->step_working != 'END') {
|
@@ -1176,7 +1182,7 @@ final class BackWPup_Job {
|
|
1176 |
@ini_set( 'error_log', $this->temp[ 'PHP' ][ 'INI' ][ 'ERROR_LOG' ] );
|
1177 |
@ini_set( 'display_errors', $this->temp[ 'PHP' ][ 'INI' ][ 'DISPLAY_ERRORS' ] );
|
1178 |
if ( $this->temp[ 'PHP' ][ 'ENV' ][ 'TEMPDIR' ] )
|
1179 |
-
putenv('TMPDIR=' . $this->temp[ 'PHP' ][ 'ENV' ][ 'TEMPDIR' ] );
|
1180 |
//logfile end
|
1181 |
file_put_contents( $this->logfile, "</body>" . PHP_EOL . "</html>", FILE_APPEND );
|
1182 |
|
@@ -1203,7 +1209,8 @@ final class BackWPup_Job {
|
|
1203 |
$headers = array();
|
1204 |
$headers[] = 'Content-Type: text/html; charset='. get_bloginfo( 'charset' );
|
1205 |
$headers[] = 'X-Priority: '.$priority;
|
1206 |
-
|
|
|
1207 |
|
1208 |
wp_mail( $this->job[ 'mailaddresslog' ], $subject, file_get_contents( $this->logfile ), $headers );
|
1209 |
}
|
@@ -1553,6 +1560,9 @@ final class BackWPup_Job {
|
|
1553 |
*/
|
1554 |
public function get_files_in_folder( $folder ) {
|
1555 |
|
|
|
|
|
|
|
1556 |
$files = array();
|
1557 |
|
1558 |
if ( ! is_dir( $folder ) ) {
|
@@ -1663,8 +1673,8 @@ final class BackWPup_Job {
|
|
1663 |
if ( ! empty( $suffix ) && substr( $suffix, 0, 1 ) != '.' )
|
1664 |
$suffix = '.' . $suffix;
|
1665 |
|
1666 |
-
$name = str_replace( $datevars, $datevalues, $name )
|
1667 |
-
$name = sanitize_file_name( $name );
|
1668 |
if ( $delete_temp_file && is_file( BackWPup::get_plugin_data( 'TEMP' ) . $name ) )
|
1669 |
unlink( BackWPup::get_plugin_data( 'TEMP' ) . $name );
|
1670 |
|
623 |
@ini_set( 'log_errors', 'On' );
|
624 |
//set temp folder
|
625 |
$this->temp[ 'PHP' ][ 'ENV' ][ 'TEMPDIR' ] = getenv( 'TMPDIR' );
|
626 |
+
@putenv( 'TMPDIR='.BackWPup::get_plugin_data( 'TEMP') );
|
627 |
//increase MySQL timeout
|
628 |
@ini_set( 'mysql.connect_timeout', '60' );
|
629 |
$wpdb->query( "SET session wait_timeout = 60" );
|
646 |
$GLOBALS[ 'l10n' ] = array();
|
647 |
}
|
648 |
//clear caches then the backups smaller and lesser problems
|
649 |
+
if ( function_exists( 'apc_clear_cache' ) ) { //clear APC
|
650 |
apc_clear_cache();
|
651 |
}
|
652 |
if ( function_exists('w3tc_objectcache_flush') ) { //W3TC
|
1062 |
@set_time_limit( 0 );
|
1063 |
|
1064 |
//check MySQL connection to WordPress Database and reconnect if needed
|
1065 |
+
if ( is_resource( $wpdb->dbh ) ) {
|
1066 |
+
if ( ! mysql_ping( $wpdb->dbh ) )
|
1067 |
+
$wpdb->db_connect();
|
1068 |
+
} else {
|
1069 |
+
$res = $wpdb->query( 'SELECT 1' );
|
1070 |
+
if ( $res === FALSE )
|
1071 |
+
$wpdb->db_connect();
|
1072 |
+
}
|
1073 |
|
1074 |
//check if job already aborted
|
1075 |
if ( ! self::get_working_data( FALSE ) && $this->step_working != 'END') {
|
1182 |
@ini_set( 'error_log', $this->temp[ 'PHP' ][ 'INI' ][ 'ERROR_LOG' ] );
|
1183 |
@ini_set( 'display_errors', $this->temp[ 'PHP' ][ 'INI' ][ 'DISPLAY_ERRORS' ] );
|
1184 |
if ( $this->temp[ 'PHP' ][ 'ENV' ][ 'TEMPDIR' ] )
|
1185 |
+
@putenv('TMPDIR=' . $this->temp[ 'PHP' ][ 'ENV' ][ 'TEMPDIR' ] );
|
1186 |
//logfile end
|
1187 |
file_put_contents( $this->logfile, "</body>" . PHP_EOL . "</html>", FILE_APPEND );
|
1188 |
|
1209 |
$headers = array();
|
1210 |
$headers[] = 'Content-Type: text/html; charset='. get_bloginfo( 'charset' );
|
1211 |
$headers[] = 'X-Priority: '.$priority;
|
1212 |
+
if ( ! empty( $this->job[ 'mailaddresssenderlog' ] ) )
|
1213 |
+
$headers[] = 'From: ' . $this->job[ 'mailaddresssenderlog' ];
|
1214 |
|
1215 |
wp_mail( $this->job[ 'mailaddresslog' ], $subject, file_get_contents( $this->logfile ), $headers );
|
1216 |
}
|
1560 |
*/
|
1561 |
public function get_files_in_folder( $folder ) {
|
1562 |
|
1563 |
+
//clear cache of files in php
|
1564 |
+
clearstatcache();
|
1565 |
+
|
1566 |
$files = array();
|
1567 |
|
1568 |
if ( ! is_dir( $folder ) ) {
|
1673 |
if ( ! empty( $suffix ) && substr( $suffix, 0, 1 ) != '.' )
|
1674 |
$suffix = '.' . $suffix;
|
1675 |
|
1676 |
+
$name = str_replace( $datevars, $datevalues, $name );
|
1677 |
+
$name = sanitize_file_name( $name ) . $suffix; //prevent _ in extension name that sanitize_file_name add.
|
1678 |
if ( $delete_temp_file && is_file( BackWPup::get_plugin_data( 'TEMP' ) . $name ) )
|
1679 |
unlink( BackWPup::get_plugin_data( 'TEMP' ) . $name );
|
1680 |
|
inc/class-jobtype-dbdump.php
CHANGED
@@ -155,6 +155,7 @@ class BackWPup_JobType_DBDump extends BackWPup_JobTypes {
|
|
155 |
* @return bool
|
156 |
*/
|
157 |
public function job_run( $job_object ) {
|
|
|
158 |
|
159 |
$job_object->substeps_done = 0;
|
160 |
$job_object->substeps_todo = 1;
|
@@ -175,7 +176,7 @@ class BackWPup_JobType_DBDump extends BackWPup_JobTypes {
|
|
175 |
$sql_dump = new BackWPup_MySQLDump( array( 'dumpfile' => BackWPup::get_plugin_data( 'TEMP' ) . $job_object->temp[ 'dbdumpfile' ] ) );
|
176 |
|
177 |
if ( is_object( $sql_dump ) )
|
178 |
-
$job_object->log( sprintf( __( 'Connected to database %1$s on %2$s', 'backwpup' ), $
|
179 |
|
180 |
//Exclude Tables
|
181 |
foreach ( $sql_dump->tables_to_dump as $key => $table ) {
|
155 |
* @return bool
|
156 |
*/
|
157 |
public function job_run( $job_object ) {
|
158 |
+
global $wpdb;
|
159 |
|
160 |
$job_object->substeps_done = 0;
|
161 |
$job_object->substeps_todo = 1;
|
176 |
$sql_dump = new BackWPup_MySQLDump( array( 'dumpfile' => BackWPup::get_plugin_data( 'TEMP' ) . $job_object->temp[ 'dbdumpfile' ] ) );
|
177 |
|
178 |
if ( is_object( $sql_dump ) )
|
179 |
+
$job_object->log( sprintf( __( 'Connected to database %1$s on %2$s', 'backwpup' ), $wpdb->dbname, $wpdb->dbhost ) );
|
180 |
|
181 |
//Exclude Tables
|
182 |
foreach ( $sql_dump->tables_to_dump as $key => $table ) {
|
inc/class-jobtype-file.php
CHANGED
@@ -334,7 +334,7 @@ class BackWPup_JobType_File extends BackWPup_JobTypes {
|
|
334 |
if ( ! empty( $job_object->job[ 'backupcontent'] ) && $job_object->substeps_done == 1 ) {
|
335 |
$excludes = $this->get_exclude_dirs( WP_CONTENT_DIR );
|
336 |
foreach( $job_object->job[ 'backupcontentexcludedirs' ] as $folder ) {
|
337 |
-
$excludes[] = trailingslashit( str_replace( '\\', '/',
|
338 |
}
|
339 |
$this->get_folder_list( $job_object, trailingslashit( str_replace( '\\', '/', WP_CONTENT_DIR ) ), $excludes );
|
340 |
}
|
@@ -457,7 +457,6 @@ class BackWPup_JobType_File extends BackWPup_JobTypes {
|
|
457 |
if ( $dir = scandir( $folder ) ) {
|
458 |
//add folder to folder list
|
459 |
$job_object->add_folder_to_backup( $folder );
|
460 |
-
$job_object->temp[ 'folders_to_backup' ][] = $folder;
|
461 |
//scan folder
|
462 |
foreach ( $dir as $file ) {
|
463 |
if ( in_array( $file, array( '.', '..' ) ) )
|
@@ -474,7 +473,7 @@ class BackWPup_JobType_File extends BackWPup_JobTypes {
|
|
474 |
trigger_error( sprintf( __( 'Folder "%s" is not readable!', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
475 |
continue;
|
476 |
}
|
477 |
-
if ( in_array( trailingslashit( $folder . $file ), $excludedirs )
|
478 |
continue;
|
479 |
$this->get_folder_list( $job_object, trailingslashit( $folder . $file ), $excludedirs );
|
480 |
}
|
334 |
if ( ! empty( $job_object->job[ 'backupcontent'] ) && $job_object->substeps_done == 1 ) {
|
335 |
$excludes = $this->get_exclude_dirs( WP_CONTENT_DIR );
|
336 |
foreach( $job_object->job[ 'backupcontentexcludedirs' ] as $folder ) {
|
337 |
+
$excludes[] = trailingslashit( str_replace( '\\', '/', WP_CONTENT_DIR ) ) . $folder . '/';
|
338 |
}
|
339 |
$this->get_folder_list( $job_object, trailingslashit( str_replace( '\\', '/', WP_CONTENT_DIR ) ), $excludes );
|
340 |
}
|
457 |
if ( $dir = scandir( $folder ) ) {
|
458 |
//add folder to folder list
|
459 |
$job_object->add_folder_to_backup( $folder );
|
|
|
460 |
//scan folder
|
461 |
foreach ( $dir as $file ) {
|
462 |
if ( in_array( $file, array( '.', '..' ) ) )
|
473 |
trigger_error( sprintf( __( 'Folder "%s" is not readable!', 'backwpup' ), $folder . $file ), E_USER_WARNING );
|
474 |
continue;
|
475 |
}
|
476 |
+
if ( in_array( trailingslashit( $folder . $file ), $excludedirs ) )
|
477 |
continue;
|
478 |
$this->get_folder_list( $job_object, trailingslashit( $folder . $file ), $excludedirs );
|
479 |
}
|
inc/class-mysqldump.php
CHANGED
@@ -52,6 +52,9 @@ class BackWPup_MySQLDump {
|
|
52 |
*/
|
53 |
public function __construct( $args = array() ) {
|
54 |
global $wpdb;
|
|
|
|
|
|
|
55 |
|
56 |
$default_args = array(
|
57 |
'dbhost' => $wpdb->dbhost,
|
@@ -69,7 +72,7 @@ class BackWPup_MySQLDump {
|
|
69 |
//check if port or socket in hostname and set port and socket
|
70 |
$args[ 'dbport' ] = NULL;
|
71 |
$args[ 'dbsocket' ] = NULL;
|
72 |
-
if ( strstr(
|
73 |
$hostparts = explode( ':', $args[ 'dbhost' ] );
|
74 |
$args[ 'dbhost' ] = $hostparts[ 0 ];
|
75 |
if ( is_numeric( $hostparts[ 1 ] ) )
|
@@ -86,9 +89,11 @@ class BackWPup_MySQLDump {
|
|
86 |
throw new BackWPup_MySQLDump_Exception( sprintf( __( 'Can not connect to MySQL Database %1$d: %2$s', 'backwpup' ), $this->mysqli->connect_errno, $this->mysqli->connect_error ) );
|
87 |
|
88 |
//set charset
|
89 |
-
|
90 |
-
|
91 |
-
|
|
|
|
|
92 |
|
93 |
//set db name
|
94 |
$this->dbname = $args[ 'dbname' ];
|
52 |
*/
|
53 |
public function __construct( $args = array() ) {
|
54 |
global $wpdb;
|
55 |
+
|
56 |
+
if ( ! class_exists( 'mysqli' ) )
|
57 |
+
throw new BackWPup_MySQLDump_Exception( __( 'No MySQLi extension found. Please install it.', 'backwpup' ) );
|
58 |
|
59 |
$default_args = array(
|
60 |
'dbhost' => $wpdb->dbhost,
|
72 |
//check if port or socket in hostname and set port and socket
|
73 |
$args[ 'dbport' ] = NULL;
|
74 |
$args[ 'dbsocket' ] = NULL;
|
75 |
+
if ( strstr( $args[ 'dbhost' ], ':' ) ) {
|
76 |
$hostparts = explode( ':', $args[ 'dbhost' ] );
|
77 |
$args[ 'dbhost' ] = $hostparts[ 0 ];
|
78 |
if ( is_numeric( $hostparts[ 1 ] ) )
|
89 |
throw new BackWPup_MySQLDump_Exception( sprintf( __( 'Can not connect to MySQL Database %1$d: %2$s', 'backwpup' ), $this->mysqli->connect_errno, $this->mysqli->connect_error ) );
|
90 |
|
91 |
//set charset
|
92 |
+
if ( ! empty( $args[ 'dbcharset' ] ) ) {
|
93 |
+
$res = $this->mysqli->set_charset( $args[ 'dbcharset' ] );
|
94 |
+
if ( ! $res )
|
95 |
+
throw new BackWPup_MySQLDump_Exception( sprintf( _x( 'Can not set DB charset to %s','Database Charset', 'backwpup' ), $args[ 'dbcharset' ] ) );
|
96 |
+
}
|
97 |
|
98 |
//set db name
|
99 |
$this->dbname = $args[ 'dbname' ];
|
inc/class-option.php
CHANGED
@@ -116,6 +116,7 @@ final class BackWPup_Option {
|
|
116 |
$default[ 'cronselect' ] = 'basic';
|
117 |
$default[ 'cron' ] = '0 3 * * *';
|
118 |
$default[ 'mailaddresslog' ] = sanitize_email( get_bloginfo( 'admin_email' ) );
|
|
|
119 |
$default[ 'mailerroronly' ] = TRUE;
|
120 |
$default[ 'backuptype' ] = 'archive';
|
121 |
$default[ 'archiveformat' ] = '.tar.gz';
|
116 |
$default[ 'cronselect' ] = 'basic';
|
117 |
$default[ 'cron' ] = '0 3 * * *';
|
118 |
$default[ 'mailaddresslog' ] = sanitize_email( get_bloginfo( 'admin_email' ) );
|
119 |
+
$default[ 'mailaddresssenderlog' ] = 'BackWPup ' . get_bloginfo( 'name' ) . ' <' . sanitize_email( get_bloginfo( 'admin_email' ) ).'>';
|
120 |
$default[ 'mailerroronly' ] = TRUE;
|
121 |
$default[ 'backuptype' ] = 'archive';
|
122 |
$default[ 'archiveformat' ] = '.tar.gz';
|
inc/class-page-editjob.php
CHANGED
@@ -90,6 +90,13 @@ class BackWPup_Page_Editjob {
|
|
90 |
|
91 |
BackWPup_Option::update( $jobid, 'name', esc_html( $_POST[ 'name' ] ) );
|
92 |
BackWPup_Option::update( $jobid, 'mailaddresslog', sanitize_email( $_POST[ 'mailaddresslog' ] ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
BackWPup_Option::update( $jobid, 'mailerroronly', ( isset( $_POST[ 'mailerroronly' ] ) && $_POST[ 'mailerroronly' ] == 1 ) ? TRUE : FALSE );
|
94 |
if ( class_exists( 'BackWPup_Features', FALSE ) )
|
95 |
BackWPup_Option::update( $jobid, 'backuptype', $_POST[ 'backuptype' ] );
|
@@ -305,13 +312,13 @@ class BackWPup_Page_Editjob {
|
|
305 |
}
|
306 |
|
307 |
list( $cronstr[ 'minutes' ], $cronstr[ 'hours' ], $cronstr[ 'mday' ], $cronstr[ 'mon' ], $cronstr[ 'wday' ] ) = explode( ' ', $cronstamp, 5 );
|
308 |
-
if ( FALSE !== strpos( $cronstr[ 'minutes' ], '*/' ) ||
|
309 |
$repeatmins = str_replace( '*/', '', $cronstr[ 'minutes' ] );
|
310 |
if ( $repeatmins == '*' || empty( $repeatmins ) )
|
311 |
-
$repeatmins =
|
312 |
echo '<span style="color:red;">' . sprintf( __( 'ATTENTION: Job runs every %d minutes!', 'backwpup' ), $repeatmins ) . '</span><br />';
|
313 |
}
|
314 |
-
if ( FALSE !== strpos( $cronstr[ 'hours' ], '*/' ) ||
|
315 |
$repeathouer = str_replace( '*/', '', $cronstr[ 'hours' ] );
|
316 |
if ( $repeathouer == '*' || empty( $repeathouer ) )
|
317 |
$repeathouer = 1;
|
@@ -556,13 +563,21 @@ class BackWPup_Page_Editjob {
|
|
556 |
<p></p>
|
557 |
<table class="form-table">
|
558 |
<tr valign="top">
|
559 |
-
<th scope="row"><label for="mailaddresslog"><?php _e( '
|
560 |
<td>
|
561 |
<input name="mailaddresslog" type="text" id="mailaddresslog"
|
562 |
value="<?php echo BackWPup_Option::get( $jobid, 'mailaddresslog' );?>"
|
563 |
class="regular-text" /><?php BackWPup_Help::tip( __( 'Leave empty and don\'t get a log sent.', 'backwpup' ) ); ?>
|
564 |
</td>
|
565 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
566 |
<tr valign="top">
|
567 |
<th scope="row"><?php _e( 'When to send', 'backwpup' ); ?></th>
|
568 |
<td>
|
@@ -689,7 +704,7 @@ class BackWPup_Page_Editjob {
|
|
689 |
<td><select name="moncronhours"><?php for ( $i = 0; $i < 24; $i ++ ) {
|
690 |
echo '<option ' . selected( in_array( "$i", $hours, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
691 |
} ?></select></td>
|
692 |
-
<td><select name="moncronminutes"><?php for ( $i = 0; $i < 60; $i = $i +
|
693 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
694 |
} ?></select></td>
|
695 |
</tr>
|
@@ -707,7 +722,7 @@ class BackWPup_Page_Editjob {
|
|
707 |
<td><select name="weekcronhours"><?php for ( $i = 0; $i < 24; $i ++ ) {
|
708 |
echo '<option ' . selected( in_array( "$i", $hours, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
709 |
} ?></select></td>
|
710 |
-
<td><select name="weekcronminutes"><?php for ( $i = 0; $i < 60; $i = $i +
|
711 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
712 |
} ?></select></td>
|
713 |
</tr>
|
@@ -717,7 +732,7 @@ class BackWPup_Page_Editjob {
|
|
717 |
<td><select name="daycronhours"><?php for ( $i = 0; $i < 24; $i ++ ) {
|
718 |
echo '<option ' . selected( in_array( "$i", $hours, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
719 |
} ?></select></td>
|
720 |
-
<td><select name="daycronminutes"><?php for ( $i = 0; $i < 60; $i = $i +
|
721 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
722 |
} ?></select></td>
|
723 |
</tr>
|
@@ -725,7 +740,7 @@ class BackWPup_Page_Editjob {
|
|
725 |
<td><label for="idcronbtype-hour"><?php echo '<input class="radio" type="radio"' . checked( "*", $hours[ 0 ], FALSE, FALSE ) . ' name="cronbtype" id="idcronbtype-hour" value="hour" /> ' . __( 'hourly', 'backwpup' ); ?></label></td>
|
726 |
<td></td>
|
727 |
<td></td>
|
728 |
-
<td><select name="hourcronminutes"><?php for ( $i = 0; $i < 60; $i = $i +
|
729 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
730 |
} ?></select></td>
|
731 |
</tr>
|
@@ -741,8 +756,8 @@ class BackWPup_Page_Editjob {
|
|
741 |
echo '<label for="idcronminutes"><input class="checkbox" type="checkbox"' . checked( in_array( "*", $minutes, TRUE ), TRUE, FALSE ) . ' name="cronminutes[]" id="idcronminutes" value="*" /> ' . __( 'Any (*)', 'backwpup' ) . '</label><br />';
|
742 |
?>
|
743 |
<div id="cron-min"><?php
|
744 |
-
for ( $i = 0; $i < 60; $i = $i +
|
745 |
-
echo '<label for="idcronminutes-' . $i . '"><input class="checkbox" type="checkbox"' . checked( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' name="
|
746 |
}
|
747 |
?>
|
748 |
</div>
|
90 |
|
91 |
BackWPup_Option::update( $jobid, 'name', esc_html( $_POST[ 'name' ] ) );
|
92 |
BackWPup_Option::update( $jobid, 'mailaddresslog', sanitize_email( $_POST[ 'mailaddresslog' ] ) );
|
93 |
+
|
94 |
+
$_POST[ 'mailaddresssenderlog' ] = trim( $_POST[ 'mailaddresssenderlog' ] );
|
95 |
+
if ( empty($_POST[ 'mailaddresssenderlog' ] ) )
|
96 |
+
BackWPup_Option::delete( $jobid, 'mailaddresssenderlog');
|
97 |
+
else
|
98 |
+
BackWPup_Option::update( $jobid, 'mailaddresssenderlog', $_POST[ 'mailaddresssenderlog' ] );
|
99 |
+
|
100 |
BackWPup_Option::update( $jobid, 'mailerroronly', ( isset( $_POST[ 'mailerroronly' ] ) && $_POST[ 'mailerroronly' ] == 1 ) ? TRUE : FALSE );
|
101 |
if ( class_exists( 'BackWPup_Features', FALSE ) )
|
102 |
BackWPup_Option::update( $jobid, 'backuptype', $_POST[ 'backuptype' ] );
|
312 |
}
|
313 |
|
314 |
list( $cronstr[ 'minutes' ], $cronstr[ 'hours' ], $cronstr[ 'mday' ], $cronstr[ 'mon' ], $cronstr[ 'wday' ] ) = explode( ' ', $cronstamp, 5 );
|
315 |
+
if ( FALSE !== strpos( $cronstr[ 'minutes' ], '*/' ) || $cronstr[ 'minutes' ] == '*' ) {
|
316 |
$repeatmins = str_replace( '*/', '', $cronstr[ 'minutes' ] );
|
317 |
if ( $repeatmins == '*' || empty( $repeatmins ) )
|
318 |
+
$repeatmins = 5;
|
319 |
echo '<span style="color:red;">' . sprintf( __( 'ATTENTION: Job runs every %d minutes!', 'backwpup' ), $repeatmins ) . '</span><br />';
|
320 |
}
|
321 |
+
if ( FALSE !== strpos( $cronstr[ 'hours' ], '*/' ) || $cronstr[ 'hours' ] == '*' ) {
|
322 |
$repeathouer = str_replace( '*/', '', $cronstr[ 'hours' ] );
|
323 |
if ( $repeathouer == '*' || empty( $repeathouer ) )
|
324 |
$repeathouer = 1;
|
563 |
<p></p>
|
564 |
<table class="form-table">
|
565 |
<tr valign="top">
|
566 |
+
<th scope="row"><label for="mailaddresslog"><?php _e( 'Send to email address', 'backwpup' ) ?></label></th>
|
567 |
<td>
|
568 |
<input name="mailaddresslog" type="text" id="mailaddresslog"
|
569 |
value="<?php echo BackWPup_Option::get( $jobid, 'mailaddresslog' );?>"
|
570 |
class="regular-text" /><?php BackWPup_Help::tip( __( 'Leave empty and don\'t get a log sent.', 'backwpup' ) ); ?>
|
571 |
</td>
|
572 |
</tr>
|
573 |
+
<tr valign="top">
|
574 |
+
<th scope="row"><label for="mailaddresssenderlog"><?php _e( 'Email sender name', 'backwpup' ) ?></label></th>
|
575 |
+
<td>
|
576 |
+
<input name="mailaddresssenderlog" type="text" id="mailaddresssenderlog"
|
577 |
+
value="<?php echo BackWPup_Option::get( $jobid, 'mailaddresssenderlog' );?>"
|
578 |
+
class="regular-text" /><?php BackWPup_Help::tip( __( 'Name and email of email sender in the mail formant. Name <emailadress>', 'backwpup' ) ); ?>
|
579 |
+
</td>
|
580 |
+
</tr>
|
581 |
<tr valign="top">
|
582 |
<th scope="row"><?php _e( 'When to send', 'backwpup' ); ?></th>
|
583 |
<td>
|
704 |
<td><select name="moncronhours"><?php for ( $i = 0; $i < 24; $i ++ ) {
|
705 |
echo '<option ' . selected( in_array( "$i", $hours, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
706 |
} ?></select></td>
|
707 |
+
<td><select name="moncronminutes"><?php for ( $i = 0; $i < 60; $i = $i + 5 ) {
|
708 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
709 |
} ?></select></td>
|
710 |
</tr>
|
722 |
<td><select name="weekcronhours"><?php for ( $i = 0; $i < 24; $i ++ ) {
|
723 |
echo '<option ' . selected( in_array( "$i", $hours, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
724 |
} ?></select></td>
|
725 |
+
<td><select name="weekcronminutes"><?php for ( $i = 0; $i < 60; $i = $i + 5 ) {
|
726 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
727 |
} ?></select></td>
|
728 |
</tr>
|
732 |
<td><select name="daycronhours"><?php for ( $i = 0; $i < 24; $i ++ ) {
|
733 |
echo '<option ' . selected( in_array( "$i", $hours, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
734 |
} ?></select></td>
|
735 |
+
<td><select name="daycronminutes"><?php for ( $i = 0; $i < 60; $i = $i + 5 ) {
|
736 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
737 |
} ?></select></td>
|
738 |
</tr>
|
740 |
<td><label for="idcronbtype-hour"><?php echo '<input class="radio" type="radio"' . checked( "*", $hours[ 0 ], FALSE, FALSE ) . ' name="cronbtype" id="idcronbtype-hour" value="hour" /> ' . __( 'hourly', 'backwpup' ); ?></label></td>
|
741 |
<td></td>
|
742 |
<td></td>
|
743 |
+
<td><select name="hourcronminutes"><?php for ( $i = 0; $i < 60; $i = $i + 5 ) {
|
744 |
echo '<option ' . selected( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' value="' . $i . '" />' . $i . '</option>';
|
745 |
} ?></select></td>
|
746 |
</tr>
|
756 |
echo '<label for="idcronminutes"><input class="checkbox" type="checkbox"' . checked( in_array( "*", $minutes, TRUE ), TRUE, FALSE ) . ' name="cronminutes[]" id="idcronminutes" value="*" /> ' . __( 'Any (*)', 'backwpup' ) . '</label><br />';
|
757 |
?>
|
758 |
<div id="cron-min"><?php
|
759 |
+
for ( $i = 0; $i < 60; $i = $i + 5 ) {
|
760 |
+
echo '<label for="idcronminutes-' . $i . '"><input class="checkbox" type="checkbox"' . checked( in_array( "$i", $minutes, TRUE ), TRUE, FALSE ) . ' name="cronminutes[]" id="idcronminutes-' . $i . '" value="' . $i . '" /> ' . $i . '</label><br />';
|
761 |
}
|
762 |
?>
|
763 |
</div>
|
inc/class-page-jobs.php
CHANGED
@@ -502,7 +502,6 @@ class BackWPup_Page_Jobs extends WP_List_Table {
|
|
502 |
}
|
503 |
if ( rundata.jobdone == 1 ) {
|
504 |
$("#abortbutton").remove();
|
505 |
-
$("#wp-admin-bar-backwpup .blink").removeClass('blink');
|
506 |
$("#backwpup-adminbar-running").remove();
|
507 |
$(".job-run").hide();
|
508 |
$("#message").hide();
|
502 |
}
|
503 |
if ( rundata.jobdone == 1 ) {
|
504 |
$("#abortbutton").remove();
|
|
|
505 |
$("#backwpup-adminbar-running").remove();
|
506 |
$(".job-run").hide();
|
507 |
$("#message").hide();
|
languages/backwpup-de_DE.mo
CHANGED
Binary file
|
languages/backwpup-de_DE.po
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
-
"Project-Id-Version: BackWPup Pro v3.0.
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2013-02-06 17:42+0100\n"
|
6 |
-
"PO-Revision-Date: 2013-02-
|
7 |
"Last-Translator: Frank Bueltge <frank@bueltge.de>\n"
|
8 |
"Language-Team: INPSYDE <info@inpsyde.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -143,14 +143,14 @@ msgid "Aborted, because 2 hours no progress!"
|
|
143 |
msgstr "Abgebrochen, da seit 2 Stunden kein Fortschritt!"
|
144 |
|
145 |
#: inc/class-cron.php:84
|
146 |
-
#: inc/class-job.php:
|
147 |
#, php-format
|
148 |
#@ backwpup
|
149 |
msgid "[%3$s] BackWPup log %1$s: %2$s"
|
150 |
msgstr "[%3$s] BackWPup Log %1$s: %2$s"
|
151 |
|
152 |
#: inc/class-cron.php:84
|
153 |
-
#: inc/class-job.php:
|
154 |
#@ backwpup
|
155 |
msgid "ERROR"
|
156 |
msgstr "FEHLER"
|
@@ -271,13 +271,13 @@ msgstr "Dateilöschung"
|
|
271 |
#: inc/class-destination-ftp.php:83
|
272 |
#: inc/class-destination-msazure.php:102
|
273 |
#: inc/class-destination-rsc.php:111
|
274 |
-
#: inc/class-destination-s3.php:
|
275 |
#: inc/class-destination-sugarsync.php:116
|
276 |
#: inc/features/class-destination-dropbox-pro.php:75
|
277 |
#: inc/features/class-destination-folder-pro.php:27
|
278 |
#: inc/features/class-destination-msazure-pro.php:32
|
279 |
#: inc/features/class-destination-rsc-pro.php:56
|
280 |
-
#: inc/features/class-destination-s3-pro.php:
|
281 |
#@ backwpup
|
282 |
msgid "Number of files to hold in folder."
|
283 |
msgstr "Anzahl der Dateien, die im Ordner behalten werden"
|
@@ -287,13 +287,13 @@ msgstr "Anzahl der Dateien, die im Ordner behalten werden"
|
|
287 |
#: inc/class-destination-ftp.php:83
|
288 |
#: inc/class-destination-msazure.php:102
|
289 |
#: inc/class-destination-rsc.php:111
|
290 |
-
#: inc/class-destination-s3.php:
|
291 |
#: inc/class-destination-sugarsync.php:116
|
292 |
#: inc/features/class-destination-dropbox-pro.php:75
|
293 |
#: inc/features/class-destination-folder-pro.php:27
|
294 |
#: inc/features/class-destination-msazure-pro.php:32
|
295 |
#: inc/features/class-destination-rsc-pro.php:56
|
296 |
-
#: inc/features/class-destination-s3-pro.php:
|
297 |
#@ backwpup
|
298 |
msgid "Oldest files will be deleted first. 0 = no deletion"
|
299 |
msgstr "Älteste Dateien werden als erstes gelöscht. 0 = keine Löschung"
|
@@ -303,12 +303,12 @@ msgstr "Älteste Dateien werden als erstes gelöscht. 0 = keine Löschung"
|
|
303 |
#: inc/class-destination-ftp.php:87
|
304 |
#: inc/class-destination-msazure.php:106
|
305 |
#: inc/class-destination-rsc.php:115
|
306 |
-
#: inc/class-destination-s3.php:
|
307 |
#: inc/class-destination-sugarsync.php:120
|
308 |
#: inc/features/class-destination-folder-pro.php:32
|
309 |
#: inc/features/class-destination-msazure-pro.php:37
|
310 |
#: inc/features/class-destination-rsc-pro.php:61
|
311 |
-
#: inc/features/class-destination-s3-pro.php:
|
312 |
#@ backwpup
|
313 |
msgid "Do not delete files on sync to destination!"
|
314 |
msgstr "Lösche keine Dateien beim Synchronisieren im Zielverzeichnis"
|
@@ -418,7 +418,7 @@ msgstr "FTP-Server"
|
|
418 |
msgid "Host:"
|
419 |
msgstr "Host (Server):"
|
420 |
|
421 |
-
#: inc/class-destination-email.php:
|
422 |
#: inc/class-destination-ftp.php:46
|
423 |
#: inc/features/class-destination-ftp-pro.php:17
|
424 |
#@ backwpup
|
@@ -596,158 +596,157 @@ msgid_plural "%d files deleted on FTP Server"
|
|
596 |
msgstr[0] "Eine Datei auf dem FTP-Server gelöscht"
|
597 |
msgstr[1] "%d Dateien auf dem FTP-Server gelöscht"
|
598 |
|
599 |
-
#: inc/class-destination-email.php:
|
600 |
-
#: inc/class-destination-email.php:
|
601 |
-
#: inc/class-page-editjob.php:559
|
602 |
#@ backwpup
|
603 |
msgid "Email address"
|
604 |
msgstr "E-Mail Adresse"
|
605 |
|
606 |
-
#: inc/class-destination-email.php:
|
607 |
#: inc/features/class-destination-email-pro.php:20
|
608 |
#@ backwpup
|
609 |
msgid "Email address to which Backups are sent."
|
610 |
msgstr "E-Mail Adresse, an die die Backups gesendet werden sollen."
|
611 |
|
612 |
-
#: inc/class-destination-email.php:
|
613 |
-
#: inc/class-destination-email.php:
|
614 |
#: inc/features/class-destination-email-pro.php:24
|
615 |
#: inc/features/class-destination-email-pro.php:26
|
616 |
#@ backwpup
|
617 |
msgid "Send test email"
|
618 |
msgstr "Sende eine Test E-Mail"
|
619 |
|
620 |
-
#: inc/class-destination-email.php:
|
621 |
#@ backwpup
|
622 |
msgid "Send email settings"
|
623 |
msgstr "Absende-Einstellungen für E-Mails"
|
624 |
|
625 |
-
#: inc/class-destination-email.php:
|
626 |
#@ backwpup
|
627 |
msgid "Maximum file size"
|
628 |
msgstr "Maximale Dateigröße"
|
629 |
|
630 |
-
#: inc/class-destination-email.php:
|
631 |
#: inc/features/class-destination-email-pro.php:35
|
632 |
#@ backwpup
|
633 |
msgid "MB"
|
634 |
msgstr "MB"
|
635 |
|
636 |
-
#: inc/class-destination-email.php:
|
637 |
-
#: inc/class-destination-email.php:
|
638 |
#: inc/features/class-destination-email-pro.php:44
|
639 |
#@ backwpup
|
640 |
msgid "Sender email address"
|
641 |
msgstr "Absender der E-Mails"
|
642 |
|
643 |
-
#: inc/class-destination-email.php:
|
644 |
#@ backwpup
|
645 |
msgid "Send email method"
|
646 |
msgstr "E-Mail-Versandmethode"
|
647 |
|
648 |
-
#: inc/class-destination-email.php:
|
649 |
#@ backwpup
|
650 |
msgid "Use Blog settings"
|
651 |
msgstr "Verwende Blogeinstellungen"
|
652 |
|
653 |
-
#: inc/class-destination-email.php:
|
654 |
#@ backwpup
|
655 |
msgid "PHP: mail()"
|
656 |
msgstr "PHP: mail()"
|
657 |
|
658 |
-
#: inc/class-destination-email.php:
|
659 |
#@ backwpup
|
660 |
msgid "Sendmail"
|
661 |
msgstr "Sendmail"
|
662 |
|
663 |
-
#: inc/class-destination-email.php:
|
664 |
#@ backwpup
|
665 |
msgid "SMTP"
|
666 |
msgstr "SMTP"
|
667 |
|
668 |
-
#: inc/class-destination-email.php:
|
669 |
#@ backwpup
|
670 |
msgid "- Use Blog settings: gets the settings form blog. -PHP mail(): needs more PHP memory"
|
671 |
msgstr "- Verwende Webseiten Einstelllung: zieht die Einstellungen der Webseite. - PHP mail(): verbraucht viel PHP Memory"
|
672 |
|
673 |
-
#: inc/class-destination-email.php:
|
674 |
#@ backwpup
|
675 |
msgid "Sendmail path"
|
676 |
msgstr "Sendmail Pfad"
|
677 |
|
678 |
-
#: inc/class-destination-email.php:
|
679 |
#@ backwpup
|
680 |
msgid "SMTP host name"
|
681 |
msgstr "SMTP Hostname"
|
682 |
|
683 |
-
#: inc/class-destination-email.php:
|
684 |
#@ backwpup
|
685 |
msgid "SMTP secure connection"
|
686 |
msgstr "SMTP Sichere Verbindung"
|
687 |
|
688 |
-
#: inc/class-destination-email.php:
|
689 |
-
#: inc/class-destination-s3.php:
|
690 |
#: inc/class-jobtype-dbdump.php:67
|
691 |
#: inc/class-jobtype-dbdump.php:110
|
692 |
#: inc/class-jobtype-wpexp.php:69
|
693 |
#: inc/class-jobtype-wpplugin.php:56
|
694 |
-
#: inc/class-page-backwpup.php:
|
695 |
-
#: inc/class-page-backwpup.php:
|
696 |
#: inc/features/class-jobtype-dbdump-pro.php:161
|
697 |
#: inc/features/class-jobtype-dbdump-pro.php:219
|
698 |
#@ backwpup
|
699 |
msgid "none"
|
700 |
msgstr "nichts"
|
701 |
|
702 |
-
#: inc/class-destination-email.php:
|
703 |
#@ backwpup
|
704 |
msgid "SSL"
|
705 |
msgstr "SSL"
|
706 |
|
707 |
-
#: inc/class-destination-email.php:
|
708 |
#@ backwpup
|
709 |
msgid "TLS"
|
710 |
msgstr "TLS"
|
711 |
|
712 |
-
#: inc/class-destination-email.php:
|
713 |
#@ backwpup
|
714 |
msgid "SMTP username"
|
715 |
msgstr "SMTP Benutzername"
|
716 |
|
717 |
-
#: inc/class-destination-email.php:
|
718 |
#@ backwpup
|
719 |
msgid "SMTP password"
|
720 |
msgstr "SMTP Passwort"
|
721 |
|
722 |
-
#: inc/class-destination-email.php:
|
723 |
#@ backwpup
|
724 |
msgid "Backup archive too big to be sent by email!"
|
725 |
msgstr "Das Datensicherungsarchiv ist zu groß zum Senden via E-Mail!"
|
726 |
|
727 |
-
#: inc/class-destination-email.php:
|
728 |
#, php-format
|
729 |
#@ backwpup
|
730 |
msgid "BackWPup archive from %1$s: %2$s"
|
731 |
msgstr "BackWPup-Archiv vom %1$s: %2$s"
|
732 |
|
733 |
-
#: inc/class-destination-email.php:
|
734 |
#, php-format
|
735 |
#@ backwpup
|
736 |
msgid "Backup archive: %s"
|
737 |
msgstr "Datensicherungsarchiv: %s"
|
738 |
|
739 |
-
#: inc/class-destination-email.php:
|
740 |
-
#: inc/class-destination-email.php:
|
741 |
#@ backwpup
|
742 |
msgid "Email sent."
|
743 |
msgstr "E-Mail gesendet."
|
744 |
|
745 |
-
#: inc/class-destination-email.php:
|
746 |
#@ backwpup
|
747 |
msgid "BackWPup archive sending TEST Message"
|
748 |
msgstr "BackWPup Archiv TEST Nachricht senden"
|
749 |
|
750 |
-
#: inc/class-destination-email.php:
|
751 |
#@ backwpup
|
752 |
msgid "If this message reaches you sending of backup archives per email should work."
|
753 |
msgstr "Falls dich diese Nachricht erreicht, funktioniert das Senden der Sicherungsarchive per E-Mail."
|
@@ -801,7 +800,7 @@ msgstr "Ordner im Container"
|
|
801 |
|
802 |
#: inc/class-destination-msazure.php:96
|
803 |
#: inc/class-destination-rsc.php:105
|
804 |
-
#: inc/class-destination-s3.php:
|
805 |
#@ backwpup
|
806 |
msgid "File deletion"
|
807 |
msgstr "Datei Löschung"
|
@@ -921,13 +920,13 @@ msgid "Chicago (ORD)"
|
|
921 |
msgstr "Chicago (ORD)"
|
922 |
|
923 |
#: inc/class-destination-rsc.php:95
|
924 |
-
#: inc/class-destination-s3.php:
|
925 |
#@ backwpup
|
926 |
msgid "S3 Backup settings"
|
927 |
msgstr "S3 Backup Einstellungen"
|
928 |
|
929 |
#: inc/class-destination-rsc.php:99
|
930 |
-
#: inc/class-destination-s3.php:
|
931 |
#@ backwpup
|
932 |
msgid "Folder in bucket"
|
933 |
msgstr "Ordner im Bucket"
|
@@ -1002,7 +1001,7 @@ msgid "No Container's found!"
|
|
1002 |
msgstr "Keine Container gefunden!"
|
1003 |
|
1004 |
#: inc/class-destination-s3.php:26
|
1005 |
-
#: inc/class-destination-s3.php:
|
1006 |
#@ backwpup
|
1007 |
msgid "S3 Service"
|
1008 |
msgstr "S3 Service"
|
@@ -1012,223 +1011,212 @@ msgstr "S3 Service"
|
|
1012 |
msgid "Backup to a S3 Service"
|
1013 |
msgstr "Backup zu einem S3 Service"
|
1014 |
|
1015 |
-
#: inc/class-destination-s3.php:
|
1016 |
#@ backwpup
|
1017 |
msgid "Select a S3 service"
|
1018 |
msgstr "Wähle einen S3 Service"
|
1019 |
|
1020 |
-
#: inc/class-destination-s3.php:
|
1021 |
#: inc/features/class-destination-s3-pro.php:23
|
1022 |
#@ backwpup
|
1023 |
msgid "Amazon S3 Region"
|
1024 |
msgstr "Amazon S3 Region"
|
1025 |
|
1026 |
-
#: inc/class-destination-s3.php:
|
1027 |
#: inc/features/class-destination-s3-pro.php:24
|
1028 |
#@ backwpup
|
1029 |
msgid "Amazon S3: US Standard"
|
1030 |
msgstr "Amazon S3: US Standard"
|
1031 |
|
1032 |
-
#: inc/class-destination-s3.php:
|
1033 |
#: inc/features/class-destination-s3-pro.php:25
|
1034 |
#@ backwpup
|
1035 |
msgid "Amazon S3: US West (Northern California)"
|
1036 |
msgstr "Amazon S3: US West (Northern California)"
|
1037 |
|
1038 |
-
#: inc/class-destination-s3.php:
|
1039 |
#: inc/features/class-destination-s3-pro.php:26
|
1040 |
#@ backwpup
|
1041 |
msgid "Amazon S3: US West (Oregon)"
|
1042 |
msgstr "Amazon S3: US West (Oregon)"
|
1043 |
|
1044 |
-
#: inc/class-destination-s3.php:
|
1045 |
#: inc/features/class-destination-s3-pro.php:27
|
1046 |
#@ backwpup
|
1047 |
msgid "Amazon S3: EU (Ireland)"
|
1048 |
msgstr "Amazon S3: EU (Ireland)"
|
1049 |
|
1050 |
-
#: inc/class-destination-s3.php:
|
1051 |
#: inc/features/class-destination-s3-pro.php:28
|
1052 |
#@ backwpup
|
1053 |
msgid "Amazon S3: Asia Pacific (Tokyo)"
|
1054 |
msgstr "Amazon S3: Asia Pacific (Tokyo)"
|
1055 |
|
1056 |
-
#: inc/class-destination-s3.php:
|
1057 |
#: inc/features/class-destination-s3-pro.php:29
|
1058 |
#@ backwpup
|
1059 |
msgid "Amazon S3: Asia Pacific (Singapore)"
|
1060 |
msgstr "Amazon S3: Asia Pacific (Singapore)"
|
1061 |
|
1062 |
-
#: inc/class-destination-s3.php:
|
1063 |
#: inc/features/class-destination-s3-pro.php:30
|
1064 |
#@ backwpup
|
1065 |
msgid "Amazon S3: Asia Pacific (Sydney)"
|
1066 |
msgstr "Amazon S3: Asia Pacific (Sydney)"
|
1067 |
|
1068 |
-
#: inc/class-destination-s3.php:
|
1069 |
#: inc/features/class-destination-s3-pro.php:31
|
1070 |
#@ backwpup
|
1071 |
msgid "Amazon S3: South America (Sao Paulo)"
|
1072 |
msgstr "Amazon S3: South America (Sao Paulo)"
|
1073 |
|
1074 |
-
#: inc/class-destination-s3.php:
|
1075 |
#: inc/features/class-destination-s3-pro.php:32
|
1076 |
#@ backwpup
|
1077 |
-
msgid "Amazon S3: GovCloud (US)"
|
1078 |
-
msgstr "Amazon S3: GovCloud (US)"
|
1079 |
-
|
1080 |
-
#: inc/class-destination-s3.php:107
|
1081 |
-
#: inc/features/class-destination-s3-pro.php:33
|
1082 |
-
#@ backwpup
|
1083 |
msgid "Google Storage (Interoperable Access)"
|
1084 |
msgstr "Google Storage (Interoperable Access)"
|
1085 |
|
1086 |
-
#: inc/class-destination-s3.php:
|
1087 |
-
#: inc/features/class-destination-s3-pro.php:
|
1088 |
#@ backwpup
|
1089 |
msgid "Hosteurope Cloud Storage"
|
1090 |
msgstr "Hosteurope Cloud Storage"
|
1091 |
|
1092 |
-
#: inc/class-destination-s3.php:
|
1093 |
-
#: inc/features/class-destination-s3-pro.php:
|
1094 |
#@ backwpup
|
1095 |
msgid "Dream Host Cloud Storage"
|
1096 |
msgstr "Dream Host Cloud Storage"
|
1097 |
|
1098 |
-
#: inc/class-destination-s3.php:
|
1099 |
#@ backwpup
|
1100 |
msgid "Or a S3 Server url"
|
1101 |
msgstr "oder eine S3 Server URL"
|
1102 |
|
1103 |
-
#: inc/class-destination-s3.php:
|
1104 |
#@ backwpup
|
1105 |
msgid "S3 Access Keys"
|
1106 |
msgstr "S3 Access Keys"
|
1107 |
|
1108 |
-
#: inc/class-destination-s3.php:
|
1109 |
#@ backwpup
|
1110 |
msgid "Access Key"
|
1111 |
msgstr "Access Key"
|
1112 |
|
1113 |
-
#: inc/class-destination-s3.php:
|
1114 |
#@ backwpup
|
1115 |
msgid "Secret Key"
|
1116 |
msgstr "Secret Key"
|
1117 |
|
1118 |
-
#: inc/class-destination-s3.php:
|
1119 |
#@ backwpup
|
1120 |
msgid "S3 Bucket"
|
1121 |
msgstr "S3 Bucket"
|
1122 |
|
1123 |
-
#: inc/class-destination-s3.php:
|
1124 |
#@ backwpup
|
1125 |
msgid "Bucket selection"
|
1126 |
msgstr "Bucket Auswahl"
|
1127 |
|
1128 |
-
#: inc/class-destination-s3.php:
|
1129 |
#@ backwpup
|
1130 |
msgid "Create a new Bucket"
|
1131 |
msgstr "Neues Bucket erstellen"
|
1132 |
|
1133 |
-
#: inc/class-destination-s3.php:
|
1134 |
#@ backwpup
|
1135 |
msgid "Amazon specific settings"
|
1136 |
msgstr "Amazon spezifische Einstellungen"
|
1137 |
|
1138 |
-
#: inc/class-destination-s3.php:
|
1139 |
-
#: inc/class-destination-s3.php:
|
1140 |
#@ backwpup
|
1141 |
msgid "Amazon: Storage Class"
|
1142 |
msgstr "Amazon: Storage Class"
|
1143 |
|
1144 |
-
#: inc/class-destination-s3.php:
|
1145 |
#@ backwpup
|
1146 |
msgid "Reduced Redundancy"
|
1147 |
msgstr "Reduzierte Redundanz"
|
1148 |
|
1149 |
-
#: inc/class-destination-s3.php:
|
1150 |
#@ backwpup
|
1151 |
msgid "Server side encryption"
|
1152 |
msgstr "Serverseitige Enkryption"
|
1153 |
|
1154 |
-
#: inc/class-destination-s3.php:
|
1155 |
#@ backwpup
|
1156 |
msgid "Save files encrypted (AES256) on server."
|
1157 |
msgstr "Speicher Dateien Server Side Encrypted (AES256)"
|
1158 |
|
1159 |
-
#: inc/class-destination-s3.php:
|
1160 |
-
#: inc/features/class-destination-s3-pro.php:
|
1161 |
#, php-format
|
1162 |
#@ backwpup
|
1163 |
msgid "Bucket %1$s in %2$s created."
|
1164 |
msgstr "Bucket %1$s in %2$s erstellt."
|
1165 |
|
1166 |
-
#: inc/class-destination-s3.php:
|
1167 |
#, php-format
|
1168 |
#@ backwpup
|
1169 |
msgid "Bucket %s could not created."
|
1170 |
msgstr "Bucket %s konnte nicht erstellt werden"
|
1171 |
|
1172 |
-
#: inc/class-destination-s3.php:
|
1173 |
-
#: inc/features/class-destination-s3-pro.php:
|
1174 |
#, php-format
|
1175 |
#@ backwpup
|
1176 |
msgid " %s is not a valid bucket name."
|
1177 |
msgstr "%s ist kein gültiger Bucket Name"
|
1178 |
|
1179 |
-
#: inc/class-destination-s3.php:
|
1180 |
-
#: inc/class-destination-s3.php:
|
1181 |
-
#: inc/class-destination-s3.php:
|
1182 |
-
#: inc/class-destination-s3.php:
|
1183 |
-
#: inc/
|
|
|
1184 |
#, php-format
|
1185 |
#@ backwpup
|
1186 |
msgid "S3 Service API: %s"
|
1187 |
msgstr "S3 Service API: %s"
|
1188 |
|
1189 |
-
#: inc/class-destination-s3.php:
|
1190 |
#, php-format
|
1191 |
#@ backwpup
|
1192 |
msgid "%d. Trying to send backup file to S3 Service …"
|
1193 |
msgstr "%d. Versuche, ein Backup zum S3-Service zu senden …"
|
1194 |
|
1195 |
-
#: inc/class-destination-s3.php:
|
1196 |
-
|
1197 |
-
#@ backwpup
|
1198 |
-
msgid "Connected to S3 Bucket \"%1$s\" from \"%3$s\" in %2$s"
|
1199 |
-
msgstr "Mit S3 Bucket \"%1$s\" von \"%3$s\" in %2$s verbunden"
|
1200 |
-
|
1201 |
-
#: inc/class-destination-s3.php:388
|
1202 |
-
#: inc/features/class-destination-s3-pro.php:166
|
1203 |
#, php-format
|
1204 |
#@ backwpup
|
1205 |
msgid "S3 Bucket \"%s\" does not exist!"
|
1206 |
msgstr "Amazon S3 Bucket \"%s\" existiert nicht!"
|
1207 |
|
1208 |
-
#: inc/class-destination-s3.php:
|
1209 |
#@ backwpup
|
1210 |
msgid "Upload to S3 Service started …"
|
1211 |
msgstr "Upload zum S3 Service jetzt gestartet …"
|
1212 |
|
1213 |
-
#: inc/class-destination-s3.php:
|
1214 |
#, php-format
|
1215 |
#@ backwpup
|
1216 |
msgid "Backup transferred to %s."
|
1217 |
msgstr "Datensicherung übertragen zu %s"
|
1218 |
|
1219 |
-
#: inc/class-destination-s3.php:
|
1220 |
#, php-format
|
1221 |
#@ backwpup
|
1222 |
msgid "Can not transfer backup to S3! (%1$d) %2$s"
|
1223 |
msgstr "Datensicherung kann nicht zu Amazon S3 übertragen werden! (%1$d) %2$s"
|
1224 |
|
1225 |
-
#: inc/class-destination-s3.php:
|
1226 |
#, php-format
|
1227 |
#@ backwpup
|
1228 |
msgid "Can not delete backup on %s."
|
1229 |
msgstr "Kann das Backup auf %s nicht löschen"
|
1230 |
|
1231 |
-
#: inc/class-destination-s3.php:
|
1232 |
#, php-format
|
1233 |
#@ backwpup
|
1234 |
msgid "One file deleted on S3 Bucket."
|
@@ -1236,17 +1224,17 @@ msgid_plural "%d files deleted on S3 Bucket"
|
|
1236 |
msgstr[0] "Eine Datei im S3-Bucket gelöscht"
|
1237 |
msgstr[1] "%d Dateien im S3-Bucket gelöscht"
|
1238 |
|
1239 |
-
#: inc/class-destination-s3.php:
|
1240 |
#@ backwpup
|
1241 |
msgid "Missing access key!"
|
1242 |
msgstr "Der Zugangsschlüssel (Access Key) fehlt!"
|
1243 |
|
1244 |
-
#: inc/class-destination-s3.php:
|
1245 |
#@ backwpup
|
1246 |
msgid "Missing secret access key!"
|
1247 |
msgstr "Der geheime Zugangsschlüssel (Secret Access Key) fehlt!"
|
1248 |
|
1249 |
-
#: inc/class-destination-s3.php:
|
1250 |
#@ backwpup
|
1251 |
msgid "No bucket found!"
|
1252 |
msgstr "Kein Bucket gefunden!"
|
@@ -1608,7 +1596,7 @@ msgstr "EXAKTE NOTIZ:"
|
|
1608 |
msgid "RECOVERABLE ERROR:"
|
1609 |
msgstr "WIEDERHERSTELLUNGS FEHLER:"
|
1610 |
|
1611 |
-
#: inc/class-job.php:
|
1612 |
#, php-format
|
1613 |
#@ backwpup
|
1614 |
msgid "One old log deleted"
|
@@ -1616,57 +1604,57 @@ msgid_plural "%d old logs deleted"
|
|
1616 |
msgstr[0] "Eine alte Log-Datei gelöscht"
|
1617 |
msgstr[1] "%d alte Log-Dateien gelöscht"
|
1618 |
|
1619 |
-
#: inc/class-job.php:
|
1620 |
-
#: inc/class-page-jobs.php:
|
1621 |
#, php-format
|
1622 |
#@ backwpup
|
1623 |
msgid "Job done in %s seconds."
|
1624 |
msgstr "Auftrag erledigt in %s Sekunden."
|
1625 |
|
1626 |
-
#: inc/class-job.php:
|
1627 |
#@ backwpup
|
1628 |
msgid "SUCCESSFUL"
|
1629 |
msgstr "ERFOLGREICH"
|
1630 |
|
1631 |
-
#: inc/class-job.php:
|
1632 |
#@ backwpup
|
1633 |
msgid "WARNING"
|
1634 |
msgstr "WARNUNG"
|
1635 |
|
1636 |
-
#: inc/class-job.php:
|
1637 |
#@ backwpup
|
1638 |
msgid "Set blog into maintenance mode"
|
1639 |
msgstr "Webseite / Blog in den Wartungsmodus versetzen"
|
1640 |
|
1641 |
-
#: inc/class-job.php:
|
1642 |
#@ backwpup
|
1643 |
msgid "Cannot set blog into maintenance mode! .maintenance is not writable!"
|
1644 |
msgstr "Die Webseite kann nicht in den Wartungsmodus gesetzt werden! Das Root-Verzeichnis ist nicht beschreibbar!"
|
1645 |
|
1646 |
-
#: inc/class-job.php:
|
1647 |
#@ backwpup
|
1648 |
msgid "Set blog to normal mode"
|
1649 |
msgstr "Setze Webseite / Blog zurück in den Normalmodus"
|
1650 |
|
1651 |
-
#: inc/class-job.php:
|
1652 |
#, php-format
|
1653 |
#@ backwpup
|
1654 |
msgid "Memory increased from %1$s to %2$s"
|
1655 |
msgstr "Speicher(limit) erhöht von %1$s auf %2$s"
|
1656 |
|
1657 |
-
#: inc/class-job.php:
|
1658 |
#, php-format
|
1659 |
#@ backwpup
|
1660 |
msgid "Can not increase memory limit. The current value is %1$s"
|
1661 |
msgstr "Das PHP-Speicherlimit kann nicht erhöht werden, es beträgt derzeit %1$s "
|
1662 |
|
1663 |
-
#: inc/class-job.php:
|
1664 |
#, php-format
|
1665 |
#@ backwpup
|
1666 |
msgid "File \"%s\" is not readable!"
|
1667 |
msgstr "Datei \"%s\" ist nicht lesbar!"
|
1668 |
|
1669 |
-
#: inc/class-job.php:
|
1670 |
#, php-format
|
1671 |
#@ backwpup
|
1672 |
msgid "Link \"%s\" not followed."
|
@@ -1793,13 +1781,13 @@ msgstr "(ER_REMOVE) Datei kann nicht entfernt werden"
|
|
1793 |
msgid "(ER_DELETED) Entry has been deleted"
|
1794 |
msgstr "(ER_DELETED) Eintrag wurde gelöscht"
|
1795 |
|
1796 |
-
#: inc/class-job.php:
|
1797 |
#, php-format
|
1798 |
#@ backwpup
|
1799 |
msgid "Archive size is %s."
|
1800 |
msgstr "Archivgröße ist %s"
|
1801 |
|
1802 |
-
#: inc/class-job.php:
|
1803 |
#, php-format
|
1804 |
#@ backwpup
|
1805 |
msgid "%1$d Files with %2$s in Archive."
|
@@ -1992,55 +1980,55 @@ msgid "BZip2"
|
|
1992 |
msgstr "BZip2"
|
1993 |
|
1994 |
#: inc/class-mysqldump.php:86
|
1995 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
1996 |
#, php-format
|
1997 |
#@ backwpup
|
1998 |
msgid "Can not connect to MySQL Database %1$d: %2$s"
|
1999 |
msgstr "Kann keine Verbindung zur Datenbank %1$d herstellen: %2$s"
|
2000 |
|
2001 |
-
#: inc/class-jobtype-dbdump.php:
|
2002 |
#: inc/features/class-jobtype-dbdump-pro.php:489
|
2003 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
2004 |
#, php-format
|
2005 |
#@ backwpup
|
2006 |
msgid "Connected to database %1$s on %2$s"
|
2007 |
msgstr "Mit Datenbank %1$s auf %2$s verbunden"
|
2008 |
|
2009 |
-
#: inc/class-mysqldump.php:
|
2010 |
-
#: inc/class-mysqldump.php:
|
2011 |
-
#: inc/class-mysqldump.php:
|
2012 |
-
#: inc/class-mysqldump.php:
|
2013 |
-
#: inc/class-mysqldump.php:
|
2014 |
-
#: inc/class-mysqldump.php:
|
2015 |
-
#: inc/class-mysqldump.php:
|
2016 |
-
#: inc/class-mysqldump.php:
|
2017 |
-
#: inc/class-mysqldump.php:
|
2018 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
2019 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
2020 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
2021 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
2022 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
2023 |
#, php-format
|
2024 |
#@ backwpup
|
2025 |
msgid "Database error %1$s for query %2$s"
|
2026 |
msgstr "Datenbankfehler %1$s für die Abfrage (Query) %2$s"
|
2027 |
|
2028 |
-
#: inc/class-jobtype-dbdump.php:
|
2029 |
#: inc/features/class-jobtype-dbdump-pro.php:502
|
2030 |
#@ backwpup
|
2031 |
msgid "No tables to dump."
|
2032 |
msgstr "Es gibt keine Tabellen zu sichern"
|
2033 |
|
2034 |
-
#: inc/class-jobtype-dbdump.php:
|
2035 |
#: inc/features/class-jobtype-dbdump-pro.php:516
|
2036 |
#, php-format
|
2037 |
#@ backwpup
|
2038 |
msgid "Dump database table \"%s\""
|
2039 |
msgstr "Sichere Datenbanktabelle \"%s\""
|
2040 |
|
2041 |
-
#: inc/class-jobtype-dbdump.php:
|
2042 |
#: inc/features/class-jobtype-dbdump-pro.php:541
|
2043 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
2044 |
#@ backwpup
|
2045 |
msgid "Database dump done!"
|
2046 |
msgstr "Datenbank-Backup fertig!"
|
@@ -2201,7 +2189,7 @@ msgstr "Keine Ordner zum Sichern"
|
|
2201 |
msgid "%1$d folders to back up."
|
2202 |
msgstr "%1$d Ordner zu sichern"
|
2203 |
|
2204 |
-
#: inc/class-jobtype-file.php:
|
2205 |
#, php-format
|
2206 |
#@ backwpup
|
2207 |
msgid "Folder \"%s\" is not readable!"
|
@@ -2323,8 +2311,8 @@ msgid "Size"
|
|
2323 |
msgstr "Größe"
|
2324 |
|
2325 |
#: inc/class-page-backups.php:233
|
2326 |
-
#: inc/class-page-backwpup.php:
|
2327 |
-
#: inc/class-page-backwpup.php:
|
2328 |
#@ backwpup
|
2329 |
msgid "Time"
|
2330 |
msgstr "Zeit"
|
@@ -2384,67 +2372,67 @@ msgstr "Willkommen bei BackWPup"
|
|
2384 |
msgid "Start wizard"
|
2385 |
msgstr "Assistenten starten"
|
2386 |
|
2387 |
-
#: inc/class-page-backwpup.php:
|
2388 |
#@ backwpup
|
2389 |
msgid "Test the installation"
|
2390 |
msgstr "Die Installation testen"
|
2391 |
|
2392 |
-
#: inc/class-page-backwpup.php:
|
2393 |
-
#: inc/class-page-backwpup.php:
|
2394 |
#@ backwpup
|
2395 |
msgid "Create a Job"
|
2396 |
msgstr "Auftrag erstellen"
|
2397 |
|
2398 |
-
#: inc/class-page-backwpup.php:
|
2399 |
#@ backwpup
|
2400 |
msgid "Run the created job"
|
2401 |
msgstr "Erstellten Auftrag starten"
|
2402 |
|
2403 |
-
#: inc/class-page-backwpup.php:
|
2404 |
#@ backwpup
|
2405 |
msgid "Check the job log"
|
2406 |
msgstr "Logs des Auftrages prüfen"
|
2407 |
|
2408 |
-
#: inc/class-page-backwpup.php:
|
2409 |
#@ backwpup
|
2410 |
msgid "Next scheduled jobs"
|
2411 |
msgstr "Nächste geplante Aufträge"
|
2412 |
|
2413 |
-
#: inc/class-page-backwpup.php:
|
2414 |
-
#: inc/class-page-backwpup.php:
|
2415 |
#: inc/class-page-logs.php:114
|
2416 |
#@ backwpup
|
2417 |
msgid "Job"
|
2418 |
msgstr "Auftrag"
|
2419 |
|
2420 |
-
#: inc/class-page-backwpup.php:
|
2421 |
#, php-format
|
2422 |
#@ backwpup
|
2423 |
msgid "working since %d seconds"
|
2424 |
msgstr "in Arbeit seit %d Sek."
|
2425 |
|
2426 |
-
#: inc/class-page-backwpup.php:
|
2427 |
#: inc/class-page-jobs.php:436
|
2428 |
#@ backwpup
|
2429 |
msgid "Abort"
|
2430 |
msgstr "Abbrechen"
|
2431 |
|
2432 |
-
#: inc/class-page-backwpup.php:
|
2433 |
#@ backwpup
|
2434 |
msgid "Edit Job"
|
2435 |
msgstr "Auftrag bearbeiten"
|
2436 |
|
2437 |
-
#: inc/class-page-backwpup.php:
|
2438 |
#@ backwpup
|
2439 |
msgid "Last logs"
|
2440 |
msgstr "Letzte Logs"
|
2441 |
|
2442 |
-
#: inc/class-page-backwpup.php:
|
2443 |
#@ backwpup
|
2444 |
msgid "Result"
|
2445 |
msgstr "Ergebnis"
|
2446 |
|
2447 |
-
#: inc/class-page-backwpup.php:
|
2448 |
#, php-format
|
2449 |
#@ backwpup
|
2450 |
msgid "%d ERROR"
|
@@ -2452,7 +2440,7 @@ msgid_plural "%d ERRORS"
|
|
2452 |
msgstr[0] "%d FEHLER"
|
2453 |
msgstr[1] "%d FEHLER"
|
2454 |
|
2455 |
-
#: inc/class-page-backwpup.php:
|
2456 |
#, php-format
|
2457 |
#@ backwpup
|
2458 |
msgid "%d WARNING"
|
@@ -2460,7 +2448,7 @@ msgid_plural "%d WARNINGS"
|
|
2460 |
msgstr[0] "%d WARNUNG"
|
2461 |
msgstr[1] "%d WARNUNGEN"
|
2462 |
|
2463 |
-
#: inc/class-page-backwpup.php:
|
2464 |
#: inc/class-page-logs.php:197
|
2465 |
#@ backwpup
|
2466 |
msgid "O.K."
|
@@ -2477,70 +2465,70 @@ msgstr "Überblick"
|
|
2477 |
msgid "Not allowed!"
|
2478 |
msgstr "Nicht erlaubt!"
|
2479 |
|
2480 |
-
#: inc/class-page-editjob.php:
|
2481 |
#, php-format
|
2482 |
#@ backwpup
|
2483 |
msgid "Changes for job <i>%s</i> saved."
|
2484 |
msgstr "Änderungen für den Auftrag <i>%s</i> gesichert."
|
2485 |
|
2486 |
-
#: inc/class-page-editjob.php:
|
2487 |
#, php-format
|
2488 |
#@ backwpup
|
2489 |
msgid "ATTENTION: Job runs every %d minutes!"
|
2490 |
msgstr "ACHTUNG: Auftrag läuft alle %d Minuten!"
|
2491 |
|
2492 |
-
#: inc/class-page-editjob.php:
|
2493 |
#, php-format
|
2494 |
#@ backwpup
|
2495 |
msgid "ATTENTION: Job runs every %d hours!"
|
2496 |
msgstr "ACHTUNG: Auftrag läuft alle %d Stunden!"
|
2497 |
|
2498 |
-
#: inc/class-page-editjob.php:
|
2499 |
#@ backwpup
|
2500 |
msgid "ATTENTION: Can't calculate cron!"
|
2501 |
msgstr "ACHTUNG: Kann cron nicht berechnen!"
|
2502 |
|
2503 |
-
#: inc/class-page-editjob.php:
|
2504 |
#@ backwpup
|
2505 |
msgid "Next runtime:"
|
2506 |
msgstr "Nächster Durchlauf:"
|
2507 |
|
2508 |
-
#: inc/class-page-editjob.php:
|
2509 |
#: inc/class-page-settings.php:100
|
2510 |
#@ backwpup
|
2511 |
msgid "General"
|
2512 |
msgstr "Allgemein"
|
2513 |
|
2514 |
-
#: inc/class-page-editjob.php:
|
2515 |
#@ backwpup
|
2516 |
msgid "Schedule"
|
2517 |
msgstr "Planen"
|
2518 |
|
2519 |
-
#: inc/class-page-editjob.php:
|
2520 |
#, php-format
|
2521 |
#@ backwpup
|
2522 |
msgid "To: %s"
|
2523 |
msgstr "Zu: %s"
|
2524 |
|
2525 |
-
#: inc/class-page-editjob.php:
|
2526 |
#, php-format
|
2527 |
#@ backwpup
|
2528 |
msgid "%s Job:"
|
2529 |
msgstr "%s Auftrag: "
|
2530 |
|
2531 |
-
#: inc/class-page-editjob.php:
|
2532 |
#: inc/features/class-wizard-job.php:228
|
2533 |
#@ backwpup
|
2534 |
msgid "Job tasks"
|
2535 |
msgstr "Auftragsdetails"
|
2536 |
|
2537 |
-
#: inc/class-page-editjob.php:
|
2538 |
#@ backwpup
|
2539 |
msgid "Backup file creation settings"
|
2540 |
msgstr "Einstellungen für das Erstellen der Backup Datei"
|
2541 |
|
2542 |
-
#: inc/class-page-editjob.php:
|
2543 |
-
#: inc/class-page-editjob.php:
|
2544 |
#: inc/features/class-wizard-job.php:350
|
2545 |
#: inc/features/class-wizard-job.php:353
|
2546 |
#@ backwpup
|
@@ -2552,34 +2540,34 @@ msgstr "Backup Typ"
|
|
2552 |
msgid "Sync file by file to destination"
|
2553 |
msgstr "Synchronisiere Datei für Datei zum Zielverzeichnis"
|
2554 |
|
2555 |
-
#: inc/class-page-editjob.php:
|
2556 |
#: inc/features/class-wizard-job.php:361
|
2557 |
#@ backwpup
|
2558 |
msgid "Create a backup archive"
|
2559 |
msgstr "Backup erstellen"
|
2560 |
|
2561 |
-
#: inc/class-page-editjob.php:
|
2562 |
-
#: inc/class-page-editjob.php:
|
2563 |
#@ backwpup
|
2564 |
msgid "Archive Format"
|
2565 |
msgstr "Archiv Format"
|
2566 |
|
2567 |
-
#: inc/class-page-editjob.php:
|
2568 |
-
#: inc/class-page-editjob.php:
|
2569 |
#: inc/features/class-wizard-job.php:371
|
2570 |
#: inc/features/class-wizard-job.php:373
|
2571 |
#@ backwpup
|
2572 |
msgid "Zip"
|
2573 |
msgstr "Zip"
|
2574 |
|
2575 |
-
#: inc/class-page-editjob.php:
|
2576 |
#@ backwpup
|
2577 |
msgid "PHP Zip functions will be used if available (needs less memory). Otherwise the PCLZip Class will be used."
|
2578 |
msgstr "PHP-Zip-Funktionen werden verwendet, sofern verfügbar (schneller). Ansonsten wird die Klasse PCLZip verwendet."
|
2579 |
|
2580 |
-
#: inc/class-page-editjob.php:
|
2581 |
-
#: inc/class-page-editjob.php:
|
2582 |
-
#: inc/class-page-editjob.php:
|
2583 |
#: inc/features/class-wizard-job.php:373
|
2584 |
#: inc/features/class-wizard-job.php:378
|
2585 |
#: inc/features/class-wizard-job.php:382
|
@@ -2587,51 +2575,51 @@ msgstr "PHP-Zip-Funktionen werden verwendet, sofern verfügbar (schneller). Anso
|
|
2587 |
msgid "Disabled because missing PHP function."
|
2588 |
msgstr "Aufgrund fehlender PHP Funktion deaktiviert."
|
2589 |
|
2590 |
-
#: inc/class-page-editjob.php:
|
2591 |
#: inc/features/class-wizard-job.php:374
|
2592 |
#@ backwpup
|
2593 |
msgid "Tar"
|
2594 |
msgstr "Tar"
|
2595 |
|
2596 |
-
#: inc/class-page-editjob.php:
|
2597 |
#@ backwpup
|
2598 |
msgid "Tar (fast and less memory)"
|
2599 |
msgstr "Tar (schnell und speicherschonend)"
|
2600 |
|
2601 |
-
#: inc/class-page-editjob.php:
|
2602 |
-
#: inc/class-page-editjob.php:
|
2603 |
#: inc/features/class-wizard-job.php:376
|
2604 |
#: inc/features/class-wizard-job.php:378
|
2605 |
#@ backwpup
|
2606 |
msgid "Tar GZip"
|
2607 |
msgstr "Tar GZip"
|
2608 |
|
2609 |
-
#: inc/class-page-editjob.php:
|
2610 |
#@ backwpup
|
2611 |
msgid "A tarballed and GZipped archive (fast and less memory)"
|
2612 |
msgstr "Ein .tar und .gz Archiv (schnell und schlank)"
|
2613 |
|
2614 |
-
#: inc/class-page-editjob.php:
|
2615 |
-
#: inc/class-page-editjob.php:
|
2616 |
#: inc/features/class-wizard-job.php:380
|
2617 |
#: inc/features/class-wizard-job.php:382
|
2618 |
#@ backwpup
|
2619 |
msgid "Tar BZip2"
|
2620 |
msgstr "Tar BZip2"
|
2621 |
|
2622 |
-
#: inc/class-page-editjob.php:
|
2623 |
#@ backwpup
|
2624 |
msgid "A tarballed and BZipped archive (fast and less memory)"
|
2625 |
msgstr "Ein .tar und .bz Archiv (schnell und schlank)"
|
2626 |
|
2627 |
-
#: inc/class-page-editjob.php:
|
2628 |
#: inc/features/class-wizard-job.php:396
|
2629 |
#@ backwpup
|
2630 |
msgid "Where to store the files"
|
2631 |
msgstr "Wo die Dateien abgelegt werden"
|
2632 |
|
2633 |
-
#: inc/class-page-editjob.php:
|
2634 |
-
#: inc/class-page-editjob.php:
|
2635 |
#: inc/class-page-jobs.php:71
|
2636 |
#: inc/features/class-wizard-job.php:50
|
2637 |
#: inc/features/class-wizard-job.php:399
|
@@ -2639,81 +2627,81 @@ msgstr "Wo die Dateien abgelegt werden"
|
|
2639 |
msgid "Destinations"
|
2640 |
msgstr "Zielordner"
|
2641 |
|
2642 |
-
#: inc/class-page-editjob.php:
|
2643 |
#@ backwpup
|
2644 |
msgid "Send log to email address"
|
2645 |
msgstr "Sende Log-Datei zur E-Mail Adresse"
|
2646 |
|
2647 |
-
#: inc/class-page-editjob.php:
|
2648 |
#@ backwpup
|
2649 |
msgid "Leave empty and don't get a log sent."
|
2650 |
msgstr "Leerlassen um die Logs nicht zu senden"
|
2651 |
|
2652 |
-
#: inc/class-page-editjob.php:
|
2653 |
#@ backwpup
|
2654 |
msgid "When to send"
|
2655 |
msgstr "Sendezeitpunkt"
|
2656 |
|
2657 |
-
#: inc/class-page-editjob.php:
|
2658 |
#@ backwpup
|
2659 |
msgid "Send mail with log only when errors occur during job execution."
|
2660 |
msgstr "Sende eine E-Mail mit Protokoll nur, wenn während des Auftrags ein Fehler aufgetreten ist."
|
2661 |
|
2662 |
-
#: inc/class-page-editjob.php:
|
2663 |
#@ backwpup
|
2664 |
msgid "Schedule start setting"
|
2665 |
msgstr "Planung Start Einstellungen"
|
2666 |
|
2667 |
-
#: inc/class-page-editjob.php:
|
2668 |
-
#: inc/class-page-editjob.php:
|
2669 |
#@ backwpup
|
2670 |
msgid "Start job"
|
2671 |
msgstr "Auftrag starten"
|
2672 |
|
2673 |
-
#: inc/class-page-editjob.php:
|
2674 |
#@ backwpup
|
2675 |
msgid "manually only"
|
2676 |
msgstr "nur manuell"
|
2677 |
|
2678 |
-
#: inc/class-page-editjob.php:
|
2679 |
#@ backwpup
|
2680 |
msgid "with WordPress cron"
|
2681 |
msgstr "mit WordPress Cron"
|
2682 |
|
2683 |
-
#: inc/class-page-editjob.php:
|
2684 |
#@ backwpup
|
2685 |
msgid "with a link"
|
2686 |
msgstr "mit einem Link"
|
2687 |
|
2688 |
-
#: inc/class-page-editjob.php:
|
2689 |
#@ backwpup
|
2690 |
msgid "Schedule execution time"
|
2691 |
msgstr "Plane Ausführungszeit"
|
2692 |
|
2693 |
-
#: inc/class-page-editjob.php:
|
2694 |
-
#: inc/class-page-editjob.php:
|
2695 |
#@ backwpup
|
2696 |
msgid "Scheduler type"
|
2697 |
msgstr "Planungstyp"
|
2698 |
|
2699 |
-
#: inc/class-page-editjob.php:
|
2700 |
#@ backwpup
|
2701 |
msgid "basic"
|
2702 |
msgstr "einfach"
|
2703 |
|
2704 |
-
#: inc/class-page-editjob.php:
|
2705 |
#@ backwpup
|
2706 |
msgid "advanced"
|
2707 |
msgstr "erweitert"
|
2708 |
|
2709 |
-
#: inc/class-page-editjob.php:
|
2710 |
-
#: inc/class-page-editjob.php:
|
2711 |
#: inc/features/class-wizard-job.php:275
|
2712 |
#@ backwpup
|
2713 |
msgid "Scheduler"
|
2714 |
msgstr "Planer"
|
2715 |
|
2716 |
-
#: inc/class-page-editjob.php:
|
2717 |
#: inc/class-page-jobs.php:70
|
2718 |
#: inc/class-page-logs.php:115
|
2719 |
#: inc/features/class-wizard-job.php:280
|
@@ -2721,187 +2709,187 @@ msgstr "Planer"
|
|
2721 |
msgid "Type"
|
2722 |
msgstr "Typ"
|
2723 |
|
2724 |
-
#: inc/class-page-editjob.php:
|
2725 |
#: inc/features/class-wizard-job.php:285
|
2726 |
#@ backwpup
|
2727 |
msgid "Hour"
|
2728 |
msgstr "Stunde"
|
2729 |
|
2730 |
-
#: inc/class-page-editjob.php:
|
2731 |
#: inc/features/class-wizard-job.php:288
|
2732 |
#@ backwpup
|
2733 |
msgid "Minute"
|
2734 |
msgstr "Minute"
|
2735 |
|
2736 |
-
#: inc/class-page-editjob.php:
|
2737 |
#: inc/features/class-wizard-job.php:292
|
2738 |
#@ backwpup
|
2739 |
msgid "monthly"
|
2740 |
msgstr "monatlich"
|
2741 |
|
2742 |
-
#: inc/class-page-editjob.php:
|
2743 |
#: inc/features/class-wizard-job.php:294
|
2744 |
#@ backwpup
|
2745 |
msgid "on"
|
2746 |
msgstr "am"
|
2747 |
|
2748 |
-
#: inc/class-page-editjob.php:
|
2749 |
#: inc/features/class-wizard-job.php:304
|
2750 |
#@ backwpup
|
2751 |
msgid "weekly"
|
2752 |
msgstr "wöchentlich"
|
2753 |
|
2754 |
-
#: inc/class-page-editjob.php:
|
2755 |
-
#: inc/class-page-editjob.php:
|
2756 |
#: inc/features/class-wizard-job.php:306
|
2757 |
#@ backwpup
|
2758 |
msgid "Sunday"
|
2759 |
msgstr "Sonntag"
|
2760 |
|
2761 |
-
#: inc/class-page-editjob.php:
|
2762 |
-
#: inc/class-page-editjob.php:
|
2763 |
#: inc/features/class-wizard-job.php:307
|
2764 |
#@ backwpup
|
2765 |
msgid "Monday"
|
2766 |
msgstr "Montag"
|
2767 |
|
2768 |
-
#: inc/class-page-editjob.php:
|
2769 |
-
#: inc/class-page-editjob.php:
|
2770 |
#: inc/features/class-wizard-job.php:308
|
2771 |
#@ backwpup
|
2772 |
msgid "Tuesday"
|
2773 |
msgstr "Dienstag"
|
2774 |
|
2775 |
-
#: inc/class-page-editjob.php:
|
2776 |
-
#: inc/class-page-editjob.php:
|
2777 |
#: inc/features/class-wizard-job.php:309
|
2778 |
#@ backwpup
|
2779 |
msgid "Wednesday"
|
2780 |
msgstr "Mittwoch"
|
2781 |
|
2782 |
-
#: inc/class-page-editjob.php:
|
2783 |
-
#: inc/class-page-editjob.php:
|
2784 |
#: inc/features/class-wizard-job.php:310
|
2785 |
#@ backwpup
|
2786 |
msgid "Thursday"
|
2787 |
msgstr "Donnerstag"
|
2788 |
|
2789 |
-
#: inc/class-page-editjob.php:
|
2790 |
-
#: inc/class-page-editjob.php:
|
2791 |
#: inc/features/class-wizard-job.php:311
|
2792 |
#@ backwpup
|
2793 |
msgid "Friday"
|
2794 |
msgstr "Freitag"
|
2795 |
|
2796 |
-
#: inc/class-page-editjob.php:
|
2797 |
-
#: inc/class-page-editjob.php:
|
2798 |
#: inc/features/class-wizard-job.php:312
|
2799 |
#@ backwpup
|
2800 |
msgid "Saturday"
|
2801 |
msgstr "Samstag"
|
2802 |
|
2803 |
-
#: inc/class-page-editjob.php:
|
2804 |
#: inc/features/class-wizard-job.php:322
|
2805 |
#@ backwpup
|
2806 |
msgid "daily"
|
2807 |
msgstr "täglich"
|
2808 |
|
2809 |
-
#: inc/class-page-editjob.php:
|
2810 |
#: inc/features/class-wizard-job.php:332
|
2811 |
#@ backwpup
|
2812 |
msgid "hourly"
|
2813 |
msgstr "stündlich"
|
2814 |
|
2815 |
-
#: inc/class-page-editjob.php:
|
2816 |
-
#: inc/class-page-editjob.php:
|
2817 |
-
#: inc/class-page-editjob.php:
|
2818 |
-
#: inc/class-page-editjob.php:
|
2819 |
-
#: inc/class-page-editjob.php:
|
2820 |
#@ backwpup
|
2821 |
msgid "Any (*)"
|
2822 |
msgstr "Alle (*)"
|
2823 |
|
2824 |
-
#: inc/class-page-editjob.php:
|
2825 |
#@ backwpup
|
2826 |
msgid "Hours:"
|
2827 |
msgstr "Stunden:"
|
2828 |
|
2829 |
-
#: inc/class-page-editjob.php:
|
2830 |
#@ backwpup
|
2831 |
msgid "Day of Month:"
|
2832 |
msgstr "Tag des Monats:"
|
2833 |
|
2834 |
-
#: inc/class-page-editjob.php:
|
2835 |
#@ backwpup
|
2836 |
msgid "Month:"
|
2837 |
msgstr "Monat:"
|
2838 |
|
2839 |
-
#: inc/class-page-editjob.php:
|
2840 |
#@ backwpup
|
2841 |
msgid "January"
|
2842 |
msgstr "Januar"
|
2843 |
|
2844 |
-
#: inc/class-page-editjob.php:
|
2845 |
#@ backwpup
|
2846 |
msgid "February"
|
2847 |
msgstr "Februar"
|
2848 |
|
2849 |
-
#: inc/class-page-editjob.php:
|
2850 |
#@ backwpup
|
2851 |
msgid "March"
|
2852 |
msgstr "März"
|
2853 |
|
2854 |
-
#: inc/class-page-editjob.php:
|
2855 |
#@ backwpup
|
2856 |
msgid "April"
|
2857 |
msgstr "April"
|
2858 |
|
2859 |
-
#: inc/class-page-editjob.php:
|
2860 |
#@ backwpup
|
2861 |
msgid "May"
|
2862 |
msgstr "Mai"
|
2863 |
|
2864 |
-
#: inc/class-page-editjob.php:
|
2865 |
#@ backwpup
|
2866 |
msgid "June"
|
2867 |
msgstr "Juni"
|
2868 |
|
2869 |
-
#: inc/class-page-editjob.php:
|
2870 |
#@ backwpup
|
2871 |
msgid "July"
|
2872 |
msgstr "Juli"
|
2873 |
|
2874 |
-
#: inc/class-page-editjob.php:
|
2875 |
#@ backwpup
|
2876 |
msgid "August"
|
2877 |
msgstr "August"
|
2878 |
|
2879 |
-
#: inc/class-page-editjob.php:
|
2880 |
#@ backwpup
|
2881 |
msgid "September"
|
2882 |
msgstr "September"
|
2883 |
|
2884 |
-
#: inc/class-page-editjob.php:
|
2885 |
#@ backwpup
|
2886 |
msgid "October"
|
2887 |
msgstr "Oktober"
|
2888 |
|
2889 |
-
#: inc/class-page-editjob.php:
|
2890 |
#@ backwpup
|
2891 |
msgid "November"
|
2892 |
msgstr "November"
|
2893 |
|
2894 |
-
#: inc/class-page-editjob.php:
|
2895 |
#@ backwpup
|
2896 |
msgid "December"
|
2897 |
msgstr "Dezember"
|
2898 |
|
2899 |
-
#: inc/class-page-editjob.php:
|
2900 |
#@ backwpup
|
2901 |
msgid "Day of Week:"
|
2902 |
msgstr "Wochentag:"
|
2903 |
|
2904 |
-
#: inc/class-page-editjob.php:
|
2905 |
#@ backwpup
|
2906 |
msgid "Save changes"
|
2907 |
msgstr "Änderungen speichern"
|
@@ -3038,7 +3026,7 @@ msgstr "Arbeitsfläche schließen"
|
|
3038 |
msgid "close"
|
3039 |
msgstr "schließen"
|
3040 |
|
3041 |
-
#: inc/class-page-jobs.php:
|
3042 |
#@ backwpup
|
3043 |
msgid "Job end"
|
3044 |
msgstr "Auftragsende"
|
@@ -3410,7 +3398,7 @@ msgstr "Geladene PHP Erweiterungen"
|
|
3410 |
msgid "Job Types"
|
3411 |
msgstr "Auftragstypen"
|
3412 |
|
3413 |
-
#: inc/class-page-editjob.php:
|
3414 |
#@ backwpup
|
3415 |
msgid "Name"
|
3416 |
msgstr "Name"
|
@@ -3654,7 +3642,7 @@ msgid "Account Name:"
|
|
3654 |
msgstr "Kontoname/ Benutzername:"
|
3655 |
|
3656 |
#: inc/features/class-destination-msazure-pro.php:15
|
3657 |
-
#: inc/features/class-destination-s3-pro.php:
|
3658 |
#@ backwpup
|
3659 |
msgid "Access Key:"
|
3660 |
msgstr "Zugangsschlüssel (Access Key):"
|
@@ -3776,77 +3764,77 @@ msgstr "Datei %s in der Rackspace Cloud gelöscht."
|
|
3776 |
msgid "Select a S3 service:"
|
3777 |
msgstr "Wähle einen S3 service: "
|
3778 |
|
3779 |
-
#: inc/features/class-destination-s3-pro.php:
|
3780 |
#@ backwpup
|
3781 |
msgid "or set a S3 Server url:"
|
3782 |
msgstr "oder setze eine S3 Server URL:"
|
3783 |
|
3784 |
-
#: inc/features/class-destination-s3-pro.php:
|
3785 |
#@ backwpup
|
3786 |
msgid "Secret Key:"
|
3787 |
msgstr "Secret Key:"
|
3788 |
|
3789 |
-
#: inc/features/class-destination-s3-pro.php:
|
3790 |
#@ backwpup
|
3791 |
msgid "Bucket:"
|
3792 |
msgstr "Bucket:"
|
3793 |
|
3794 |
-
#: inc/features/class-destination-s3-pro.php:
|
3795 |
#@ backwpup
|
3796 |
msgid "New Bucket:"
|
3797 |
msgstr "Neues Bucket: "
|
3798 |
|
3799 |
-
#: inc/features/class-destination-s3-pro.php:
|
3800 |
#@ backwpup
|
3801 |
msgid "Folder in bucket:"
|
3802 |
msgstr "Ordner im Bucket:"
|
3803 |
|
3804 |
-
#: inc/features/class-destination-s3-pro.php:
|
3805 |
#, php-format
|
3806 |
#@ backwpup
|
3807 |
msgid "Bucket %s could not be created."
|
3808 |
msgstr "Bucket %s konnte nicht erstellt werden."
|
3809 |
|
3810 |
-
#: inc/features/class-destination-s3-pro.php:
|
3811 |
#, php-format
|
3812 |
#@ backwpup
|
3813 |
msgid "%d. Trying to sync files to S3 Service …"
|
3814 |
msgstr "%d. Versuche, die Dateien mit dem S3-Service zu synchronisieren …"
|
3815 |
|
3816 |
-
#: inc/features/class-destination-s3-pro.php:
|
3817 |
#, php-format
|
3818 |
#@ backwpup
|
3819 |
msgid "Connected to S3 Bucket \"%1$s\" from \"%3$s\" in %2$s."
|
3820 |
msgstr "Mit S3 Bucket \"%1$s\" von \"%3$s\" in %2$s verbunden."
|
3821 |
|
3822 |
-
#: inc/features/class-destination-s3-pro.php:
|
3823 |
#@ backwpup
|
3824 |
msgid "Getting files list from S3."
|
3825 |
msgstr "Ziehe Dateilliste von S3."
|
3826 |
|
3827 |
-
#: inc/features/class-destination-s3-pro.php:
|
3828 |
#@ backwpup
|
3829 |
msgid "Upload changed files to S3."
|
3830 |
msgstr "Geänderte Dateien zu S3 hochladen."
|
3831 |
|
3832 |
-
#: inc/features/class-destination-s3-pro.php:
|
3833 |
#, php-format
|
3834 |
#@ backwpup
|
3835 |
msgid "File %s Uploaded to S3."
|
3836 |
msgstr "Datei %s zu S3 hochgeladen."
|
3837 |
|
3838 |
-
#: inc/features/class-destination-s3-pro.php:
|
3839 |
#, php-format
|
3840 |
#@ backwpup
|
3841 |
msgid "Extra file %s uploaded to S3."
|
3842 |
msgstr "Extra Datei %s zu S3 hochgeladen."
|
3843 |
|
3844 |
-
#: inc/features/class-destination-s3-pro.php:
|
3845 |
#@ backwpup
|
3846 |
msgid "Delete nonexistent files on S3"
|
3847 |
msgstr "Es werden keine existierenden Dateien in S3 gelöscht."
|
3848 |
|
3849 |
-
#: inc/features/class-destination-s3-pro.php:
|
3850 |
#, php-format
|
3851 |
#@ backwpup
|
3852 |
msgid "File %s deleted on S3."
|
@@ -3948,43 +3936,43 @@ msgstr "Datenbank:"
|
|
3948 |
msgid "Dump type"
|
3949 |
msgstr "Backup-Typ"
|
3950 |
|
3951 |
-
#: inc/class-jobtype-dbdump.php:
|
3952 |
#: inc/features/class-jobtype-dbdump-pro.php:538
|
3953 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
3954 |
#, php-format
|
3955 |
#@ backwpup
|
3956 |
msgid "Added database dump \"%1$s\" with %2$s to backup file list"
|
3957 |
msgstr "Datenbank-Backup erstellt \"%1$s\" mit %2$s zur Backup-Liste"
|
3958 |
|
3959 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
3960 |
#@ backwpup
|
3961 |
msgid "Compressing done."
|
3962 |
msgstr "Komprimierung erledigt."
|
3963 |
|
3964 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
3965 |
#@ backwpup
|
3966 |
msgid "No tables for XML dump"
|
3967 |
msgstr "Es gibt keine Tabellen für ein XML-Backup"
|
3968 |
|
3969 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
3970 |
#, php-format
|
3971 |
#@ backwpup
|
3972 |
msgid "Dump database create view \"%s\""
|
3973 |
msgstr "Datenbank-Backup erstellt \"%s\""
|
3974 |
|
3975 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
3976 |
#, php-format
|
3977 |
#@ backwpup
|
3978 |
msgid "Dump table \"%s\" data"
|
3979 |
msgstr "Backup der Tabellen \"%s\""
|
3980 |
|
3981 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
3982 |
#, php-format
|
3983 |
#@ backwpup
|
3984 |
msgid "Added database XML dump \"%1$s\" with %2$s to backup file list"
|
3985 |
msgstr "XML-Backup der Datenbank \"%1$s\" mit %2$s zur Backup-Liste"
|
3986 |
|
3987 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
3988 |
#@ backwpup
|
3989 |
msgid "Database XML dump done!"
|
3990 |
msgstr "XML-Backup der Datenbank erstellt."
|
@@ -4442,7 +4430,7 @@ msgstr "Auftragsstart"
|
|
4442 |
msgid "No destination correctly defined for backup! Please correct job settings."
|
4443 |
msgstr "Es wurde kein korrektes Backupziel definiert! Bitte überprüfe die Auftragseinstellungen."
|
4444 |
|
4445 |
-
#: inc/class-job.php:
|
4446 |
#@ backwpup
|
4447 |
msgid "WordPress Maintenance mode not activated on Manual run. Because it disappears displaying of working progress."
|
4448 |
msgstr "Der WordPress-Wartungsmodus wurde nicht aktiviert, da der Auftrag manuell gestartet wurde. Dies würde die Fortschrittsanzeige behindern."
|
@@ -4543,7 +4531,7 @@ msgstr "Datei Koprimierung"
|
|
4543 |
msgid "Plugin list file name"
|
4544 |
msgstr "Plugin listen Datei Name"
|
4545 |
|
4546 |
-
#: inc/class-page-backwpup.php:
|
4547 |
#@ backwpup
|
4548 |
msgid "Check the installation"
|
4549 |
msgstr "Überprüfe die Installation"
|
@@ -4627,7 +4615,7 @@ msgstr "WP Cron abgeschaltet"
|
|
4627 |
msgid "%d. Try to Sync files to Folder …"
|
4628 |
msgstr "%d. Versuch Dateien in eine Verzeichnis zu Synchronisierungen …"
|
4629 |
|
4630 |
-
#: inc/class-jobtype-dbdump.php:
|
4631 |
#: inc/features/class-jobtype-dbdump-pro.php:466
|
4632 |
#, php-format
|
4633 |
#@ backwpup
|
@@ -4640,12 +4628,12 @@ msgstr "%d. Versuche, das Datenbank-Backup zu erstellen …"
|
|
4640 |
msgid "%d. Try for MySQL System dump …"
|
4641 |
msgstr "%d. Versuche, das MySQL-System-Backup zu erstellen …"
|
4642 |
|
4643 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
4644 |
#@ backwpup
|
4645 |
msgid "Compressing file …"
|
4646 |
msgstr "Komprimiere Datei …"
|
4647 |
|
4648 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
4649 |
#, php-format
|
4650 |
#@ backwpup
|
4651 |
msgid "%d. Try for database XML dump …"
|
@@ -4661,19 +4649,19 @@ msgstr "E-Mail"
|
|
4661 |
msgid "Backup to email"
|
4662 |
msgstr "Sicherung per E-Mail"
|
4663 |
|
4664 |
-
#: inc/class-destination-email.php:
|
4665 |
#@ backwpup
|
4666 |
msgid "Max. file size where email send with. 0 = unlimited"
|
4667 |
msgstr "Maximale Datei Größe des Archives das gesendet werden soll. 0 = unbegrenzt."
|
4668 |
|
4669 |
-
#: inc/class-destination-email.php:
|
4670 |
#, php-format
|
4671 |
#@ backwpup
|
4672 |
msgid "Sending email to %s …"
|
4673 |
msgstr "Sende E-Mail an %s …"
|
4674 |
|
4675 |
-
#: inc/class-destination-email.php:
|
4676 |
-
#: inc/class-destination-email.php:
|
4677 |
#@ backwpup
|
4678 |
msgid "Error while sending email!"
|
4679 |
msgstr "Fehler beim senden der E-Mail!"
|
@@ -4815,17 +4803,17 @@ msgstr "BackWPup unterstützt mehrere Cloud-Dienste parallel. Damit wird sicherg
|
|
4815 |
msgid "Now back up!"
|
4816 |
msgstr "Sichern Sie Ihre Daten jetzt!"
|
4817 |
|
4818 |
-
#: inc/class-page-backwpup.php:
|
4819 |
#@ backwpup
|
4820 |
msgid "First steps"
|
4821 |
msgstr "Erste Schritte"
|
4822 |
|
4823 |
-
#: inc/class-page-editjob.php:
|
4824 |
#@ backwpup
|
4825 |
msgid "Tasks"
|
4826 |
msgstr "Aufgaben"
|
4827 |
|
4828 |
-
#: inc/class-page-editjob.php:
|
4829 |
#@ backwpup
|
4830 |
msgid "Start job with CLI"
|
4831 |
msgstr "Auftrag per CLI starten"
|
@@ -4955,7 +4943,7 @@ msgstr "Es gab Fehler. Bitte korrigieren Sie diese, damit BackWPup arbeiten kann
|
|
4955 |
msgid "%d. Try to send backup file to Dropbox …"
|
4956 |
msgstr "%d. Versuche, Backup zur Dropbox zu schicken …"
|
4957 |
|
4958 |
-
#: inc/class-destination-email.php:
|
4959 |
#, php-format
|
4960 |
#@ backwpup
|
4961 |
msgid "%d. Try to send backup with email …"
|
@@ -4993,7 +4981,7 @@ msgstr "Bitte geben Sie einen Namen ein"
|
|
4993 |
msgid "Attention! You have updated from version 2.x"
|
4994 |
msgstr "Achtung! Sie haben von Version 2.x aktualisiert."
|
4995 |
|
4996 |
-
#: inc/class-page-editjob.php:
|
4997 |
#@ backwpup
|
4998 |
msgid "Minutes:"
|
4999 |
msgstr "Minuten:"
|
@@ -5060,22 +5048,22 @@ msgstr "Google Storage ist jetzt in S3"
|
|
5060 |
msgid "All your passwords"
|
5061 |
msgstr "All Ihre Passwörter"
|
5062 |
|
5063 |
-
#: inc/class-page-editjob.php:
|
5064 |
#@ backwpup
|
5065 |
msgid "Name of this job"
|
5066 |
msgstr "Name des Auftrags"
|
5067 |
|
5068 |
-
#: inc/class-page-editjob.php:
|
5069 |
#@ backwpup
|
5070 |
msgid "What the job does"
|
5071 |
msgstr "Was der Auftrag tut"
|
5072 |
|
5073 |
-
#: inc/class-page-editjob.php:
|
5074 |
#@ backwpup
|
5075 |
msgid "Synchronize file by file to destination"
|
5076 |
msgstr "Synchronisiere Datei für Datei zum Auftragsziel"
|
5077 |
|
5078 |
-
#: inc/class-page-editjob.php:
|
5079 |
#@ backwpup
|
5080 |
msgid "Archive name"
|
5081 |
msgstr "Archivname"
|
@@ -5168,125 +5156,125 @@ msgstr "Mit BackWPup können Sie automatische Datenbank-Backups planen. Mit eine
|
|
5168 |
msgid "You can back up all your attachments, also all system files, plugins and themes in a single file. You can <a href=\"%s\">create a job</a> to update a backup copy of your file system only when files are changed."
|
5169 |
msgstr "Sie können all Ihre Anhänge sichern, ebenso alle Systemdateien, Plugins und Themes – in einer einzigen Datei. Sie können einen <a href=\\\"%s\\\">Auftrag erstellen</a>, um die Sicherungskopie nur dann zu aktualisieren, wenn sich tatsächlich eine Datei geändert hat."
|
5170 |
|
5171 |
-
#: inc/class-page-editjob.php:
|
5172 |
#@ backwpup
|
5173 |
msgid "Copy the link for an external start. This option has to be activated to make the link work."
|
5174 |
msgstr "Kopieren Sie den Link für einen externen Auftragsstart. Diese Option muss erst aktiviert werden, damit der Link funktioniert."
|
5175 |
|
5176 |
-
#: inc/class-page-editjob.php:
|
5177 |
#, php-format
|
5178 |
#@ backwpup
|
5179 |
msgid "Use <a href=\"http://wp-cli.org/\">WP-CLI</a> to run jobs from commandline or <a href=\"%s\">get the start script</a>."
|
5180 |
msgstr "Verwenden Sie <a href=\"http://wp-cli.org/\">WP-CLI</a>, um Aufträge per Kommandozeile auszulösen, oder <a href=\"%s\">dieses Start-Script</a>."
|
5181 |
|
5182 |
-
#: inc/class-page-editjob.php:
|
5183 |
#@ backwpup
|
5184 |
msgid "Generate a server script file to let the job start with the server’s cron on command line interface. Or use WP-CLI commands."
|
5185 |
msgstr "Erzeugen Sie ein Serverscript, um einen Auftrag per Kommandoziele auszulösen, oder benutzen Sie WP-CLI."
|
5186 |
|
5187 |
-
#: inc/class-page-editjob.php:
|
5188 |
#, php-format
|
5189 |
#@ backwpup
|
5190 |
msgid "%d = Day of the month, 2 digits with leading zeros"
|
5191 |
msgstr "%d = Tag des Monat, zwei Ziffern mit führender Null"
|
5192 |
|
5193 |
-
#: inc/class-page-editjob.php:
|
5194 |
#, php-format
|
5195 |
#@ backwpup
|
5196 |
msgid "%j = Day of the month without leading zeros"
|
5197 |
msgstr "%j = Tag des Monat ohne führend Null"
|
5198 |
|
5199 |
-
#: inc/class-page-editjob.php:
|
5200 |
#, php-format
|
5201 |
#@ backwpup
|
5202 |
msgid "%m = Numeric representation of a month, two digits with leading zeros"
|
5203 |
msgstr "%m = Numerische Angabe des Monats, zwei Ziffern mit führender Null"
|
5204 |
|
5205 |
-
#: inc/class-page-editjob.php:
|
5206 |
#, php-format
|
5207 |
#@ backwpup
|
5208 |
msgid "%n = Numeric representation of a month without leading zeros"
|
5209 |
msgstr "%n = Numerische Angabe des Monats ohne führende Null"
|
5210 |
|
5211 |
-
#: inc/class-page-editjob.php:
|
5212 |
#, php-format
|
5213 |
#@ backwpup
|
5214 |
msgid "%Y = Four digit representation of a year"
|
5215 |
msgstr "%Y = Vierstellige Angabe des Jahres"
|
5216 |
|
5217 |
-
#: inc/class-page-editjob.php:
|
5218 |
#, php-format
|
5219 |
#@ backwpup
|
5220 |
msgid "%y = Two digit representation of a year with leading zeros"
|
5221 |
msgstr "%y = Zweistellige Angabe des Jahres mit führender Null"
|
5222 |
|
5223 |
-
#: inc/class-page-editjob.php:
|
5224 |
#, php-format
|
5225 |
#@ backwpup
|
5226 |
msgid "%a = Lowercase Ante meridiem and Post meridiem"
|
5227 |
msgstr "%a = Klein geschriebene Tageszeit ante meridiem und post meridiem"
|
5228 |
|
5229 |
-
#: inc/class-page-editjob.php:
|
5230 |
#, php-format
|
5231 |
#@ backwpup
|
5232 |
msgid "%A = Uppercase Ante meridiem and Post meridiem"
|
5233 |
msgstr "%A = Groß geschriebene Tageszeit ante meridiem und post meridiem"
|
5234 |
|
5235 |
-
#: inc/class-page-editjob.php:
|
5236 |
#, php-format
|
5237 |
#@ backwpup
|
5238 |
msgid "%B = Swatch Internet time"
|
5239 |
msgstr "%B = Swatch-Internetzeit"
|
5240 |
|
5241 |
-
#: inc/class-page-editjob.php:
|
5242 |
#, php-format
|
5243 |
#@ backwpup
|
5244 |
msgid "%g = 12-hour format of an hour without leading zeros"
|
5245 |
msgstr "%g = Zwölfstundenformat ohne führende Null"
|
5246 |
|
5247 |
-
#: inc/class-page-editjob.php:
|
5248 |
#, php-format
|
5249 |
#@ backwpup
|
5250 |
msgid "%G = 24-hour format of an hour without leading zeros"
|
5251 |
msgstr "%G = Vierundzwanzigstundenformat ohne führende Null"
|
5252 |
|
5253 |
-
#: inc/class-page-editjob.php:
|
5254 |
#, php-format
|
5255 |
#@ backwpup
|
5256 |
msgid "%h = 12-hour format of an hour with leading zeros"
|
5257 |
msgstr "%h = Zwölfstundenformat mit führender Null"
|
5258 |
|
5259 |
-
#: inc/class-page-editjob.php:
|
5260 |
#, php-format
|
5261 |
#@ backwpup
|
5262 |
msgid "%H = 24-hour format of an hour with leading zeros"
|
5263 |
msgstr "%H = Vierundzwanzigstundenformat mit führender Null"
|
5264 |
|
5265 |
-
#: inc/class-page-editjob.php:
|
5266 |
#, php-format
|
5267 |
#@ backwpup
|
5268 |
msgid "%i = Minutes with leading zeros"
|
5269 |
msgstr "%i = Minutenangabe mit führender Null"
|
5270 |
|
5271 |
-
#: inc/class-page-editjob.php:
|
5272 |
#, php-format
|
5273 |
#@ backwpup
|
5274 |
msgid "%s = Seconds with leading zeros"
|
5275 |
msgstr "%s = Sekundenangabe mit führender Null"
|
5276 |
|
5277 |
-
#: inc/class-page-editjob.php:
|
5278 |
#, php-format
|
5279 |
#@ backwpup
|
5280 |
msgid "%u = Microseconds"
|
5281 |
msgstr "%u = Mikrosekunden"
|
5282 |
|
5283 |
-
#: inc/class-page-editjob.php:
|
5284 |
#, php-format
|
5285 |
#@ backwpup
|
5286 |
msgid "%U = Seconds since the Unix epoch"
|
5287 |
msgstr "%U = Sekunden seit Beginn der UNIX-Zeit"
|
5288 |
|
5289 |
-
#: inc/class-page-editjob.php:
|
5290 |
#@ backwpup
|
5291 |
msgid "Replacement patterns:"
|
5292 |
msgstr "Ersetzungsmuster:"
|
@@ -5345,7 +5333,7 @@ msgstr "Erstellen Sie erst einen Auftrag, und planen Sie, was Sie sichern möcht
|
|
5345 |
msgid "First set up a job, and plan what you want to save. Please note: the plugin author gives no warranty for your data."
|
5346 |
msgstr "Erstellen Sie erst einen Auftrag, und planen Sie, was Sie sichern möchten. Bitte beachten Sie: Die Pluginautoren übernehmen keine Gewähr für Ihre Daten."
|
5347 |
|
5348 |
-
#: inc/class-page-editjob.php:
|
5349 |
#@ backwpup
|
5350 |
msgid "Working as <a href=\"http://wikipedia.org/wiki/Cron\">Cron</a> schedule:"
|
5351 |
msgstr "Als <a href=\\\"http://de.wikipedia.org/wiki/Cron\\\">Cron-Job</a> ausführen:"
|
@@ -5414,7 +5402,7 @@ msgstr "Spezialoption"
|
|
5414 |
msgid "Include special files"
|
5415 |
msgstr "Spezielle Dateien einschließen"
|
5416 |
|
5417 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
5418 |
#, php-format
|
5419 |
#@ backwpup
|
5420 |
msgid "Dump database structure \"%s\""
|
@@ -5428,14 +5416,14 @@ msgstr "BackWPup Braucht PHP in der Version 5.2.6 oder höher und WordPress in d
|
|
5428 |
#: inc/class-create-archive.php:78
|
5429 |
#: inc/class-create-archive.php:128
|
5430 |
#: inc/class-create-archive.php:141
|
5431 |
-
#: inc/class-mysqldump.php:
|
5432 |
#@ backwpup
|
5433 |
msgid "Functions for gz compression not available"
|
5434 |
msgstr "Die Funktionen für die Gzip-Kompression sind nicht verfügbar."
|
5435 |
|
5436 |
#: inc/class-create-archive.php:93
|
5437 |
#: inc/class-create-archive.php:147
|
5438 |
-
#: inc/class-mysqldump.php:
|
5439 |
#@ backwpup
|
5440 |
msgid "Functions for bz2 compression not available"
|
5441 |
msgstr "Die Funktionen für die Bz2-Kompression sind nicht verfügbar."
|
@@ -5466,30 +5454,30 @@ msgctxt "Text of ZipArchive status Massage"
|
|
5466 |
msgid "ZipArchive returns status: %s"
|
5467 |
msgstr "Das Zip-Archive liefert den Status: %s"
|
5468 |
|
5469 |
-
#: inc/class-job.php:
|
5470 |
#, php-format
|
5471 |
#@ backwpup
|
5472 |
msgid "%d. Trying to create backup archive …"
|
5473 |
msgstr "%d. Versuche, Backup zu erstellen …"
|
5474 |
|
5475 |
-
#: inc/class-job.php:
|
5476 |
#, php-format
|
5477 |
#@ backwpup
|
5478 |
msgctxt "Archive compression method"
|
5479 |
msgid "Compression method is %s"
|
5480 |
msgstr "Komprimierungsmethode ist %s"
|
5481 |
|
5482 |
-
#: inc/class-job.php:
|
5483 |
#@ backwpup
|
5484 |
msgid "Backup archive created."
|
5485 |
msgstr "Backup wurde erstellt."
|
5486 |
|
5487 |
-
#: inc/class-mysqldump.php:
|
5488 |
#@ backwpup
|
5489 |
msgid "Can not open dump file"
|
5490 |
msgstr "Konnte Backup nicht öffnen"
|
5491 |
|
5492 |
-
#: inc/class-mysqldump.php:
|
5493 |
#@ backwpup
|
5494 |
msgid "Error on writing to file!"
|
5495 |
msgstr "Fehler beim Schreiben!"
|
@@ -5510,14 +5498,14 @@ msgstr "SQL-Datei"
|
|
5510 |
msgid "XML File (phpMyAdmin schema)"
|
5511 |
msgstr "XML-Datei (phpMyAdmin-Schema9"
|
5512 |
|
5513 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
5514 |
#, php-format
|
5515 |
#@ backwpup
|
5516 |
msgctxt "Executed shell_exec() command"
|
5517 |
msgid "CLI Exec: %s"
|
5518 |
msgstr "CLI-Exec: %s"
|
5519 |
|
5520 |
-
#: inc/features/class-jobtype-dbdump-pro.php:
|
5521 |
#, php-format
|
5522 |
#@ backwpup
|
5523 |
msgctxt "Output of a shell_exec()"
|
@@ -5567,14 +5555,14 @@ msgstr "Der Dateiname kann nicht leer sein."
|
|
5567 |
msgid "This archive method can only add one file"
|
5568 |
msgstr "Diese Archive-Methode kann nur eine einziges Datei sichern."
|
5569 |
|
5570 |
-
#: inc/class-mysqldump.php:
|
5571 |
#, php-format
|
5572 |
#@ backwpup
|
5573 |
msgctxt "Database Charset"
|
5574 |
msgid "Can not set DB charset to %s"
|
5575 |
msgstr "Kann Datenbank-Zeichenkodierung nicht auf %s setzen."
|
5576 |
|
5577 |
-
#: inc/class-page-backwpup.php:
|
5578 |
#@ backwpup
|
5579 |
msgid "One click backup"
|
5580 |
msgstr "Ein-Klick-Backup"
|
@@ -5584,7 +5572,7 @@ msgstr "Ein-Klick-Backup"
|
|
5584 |
msgid "Path to the mysqldump file so a backup can be made with it. If it is correct and <em>shell_exec</em> is active the backup will made with a system command. If <em>shell_exec</em> not active this is disabled"
|
5585 |
msgstr "Pfad zur MySQL-Datei, mit der ein Backup erstellt werden kann. Wenn es korrekt ist und <em>shell_exec</em> funktioniert, kann das Backup mit einem Systemkommando ausgelöst werden. Dies wird deaktiviert, wenn <em>shell_exec</em> nicht verfügbar ist."
|
5586 |
|
5587 |
-
#: inc/class-page-backwpup.php:
|
5588 |
#@ backwpup
|
5589 |
msgid "Generate a database backup of WordPress tables and download it immediately!"
|
5590 |
msgstr "Datenbank-Backup der WordPress-Tabellen erstellen und herunterladen."
|
@@ -5604,7 +5592,7 @@ msgctxt "File path to add to archive"
|
|
5604 |
msgid "File %s does not exist or is not readable"
|
5605 |
msgstr "Die Datei %s existiert nicht, oder sie ist nicht lesbar."
|
5606 |
|
5607 |
-
#: inc/class-page-backwpup.php:
|
5608 |
#@ backwpup
|
5609 |
msgid "Download database backup"
|
5610 |
msgstr "Datenbank-Backup herunterladen"
|
@@ -5630,12 +5618,6 @@ msgctxt "Plugin name; Plugin Version; WordPress Version"
|
|
5630 |
msgid "[INFO] %1$s version %2$s; WordPress version %3$s; A project of Inpsyde GmbH developed by Daniel Hüsken"
|
5631 |
msgstr "[INFO] %1$s Version %2$s; WordPress Version %3$s; Ein Projekt der Inpsyde GmbH, entwickelt von Daniel Hüsken"
|
5632 |
|
5633 |
-
#. translators: plugin header field 'Version'
|
5634 |
-
#: backwpup.php:0
|
5635 |
-
#@ backwpup
|
5636 |
-
msgid "3.0.0"
|
5637 |
-
msgstr "3.0.0"
|
5638 |
-
|
5639 |
#: inc/class-page-about.php:103
|
5640 |
#@ backwpup
|
5641 |
msgid "Please activate your license"
|
@@ -5670,14 +5652,14 @@ msgstr "%1$s Version %2$s. Ein Projekt der <a href=\"http://inpsyde.com\">Inpsyd
|
|
5670 |
msgid "Plugin on wordpress.org"
|
5671 |
msgstr "Plugin auf wordpress.org"
|
5672 |
|
5673 |
-
#: inc/class-job.php:
|
5674 |
#, php-format
|
5675 |
#@ backwpup
|
5676 |
msgctxt "Folder name"
|
5677 |
msgid "Folder %s not exists"
|
5678 |
msgstr "Verzeichnis %s existiert nicht"
|
5679 |
|
5680 |
-
#: inc/class-job.php:
|
5681 |
#, php-format
|
5682 |
#@ backwpup
|
5683 |
msgctxt "Folder name"
|
@@ -5871,3 +5853,55 @@ msgstr "http://marketpress.de/product/backwpup-pro/"
|
|
5871 |
msgid "GET PRO"
|
5872 |
msgstr "GET PRO"
|
5873 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
+
"Project-Id-Version: BackWPup Pro v3.0.1\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
"POT-Creation-Date: 2013-02-06 17:42+0100\n"
|
6 |
+
"PO-Revision-Date: 2013-02-28 11:30:16-0600\n"
|
7 |
"Last-Translator: Frank Bueltge <frank@bueltge.de>\n"
|
8 |
"Language-Team: INPSYDE <info@inpsyde.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
143 |
msgstr "Abgebrochen, da seit 2 Stunden kein Fortschritt!"
|
144 |
|
145 |
#: inc/class-cron.php:84
|
146 |
+
#: inc/class-job.php:1208
|
147 |
#, php-format
|
148 |
#@ backwpup
|
149 |
msgid "[%3$s] BackWPup log %1$s: %2$s"
|
150 |
msgstr "[%3$s] BackWPup Log %1$s: %2$s"
|
151 |
|
152 |
#: inc/class-cron.php:84
|
153 |
+
#: inc/class-job.php:1204
|
154 |
#@ backwpup
|
155 |
msgid "ERROR"
|
156 |
msgstr "FEHLER"
|
271 |
#: inc/class-destination-ftp.php:83
|
272 |
#: inc/class-destination-msazure.php:102
|
273 |
#: inc/class-destination-rsc.php:111
|
274 |
+
#: inc/class-destination-s3.php:177
|
275 |
#: inc/class-destination-sugarsync.php:116
|
276 |
#: inc/features/class-destination-dropbox-pro.php:75
|
277 |
#: inc/features/class-destination-folder-pro.php:27
|
278 |
#: inc/features/class-destination-msazure-pro.php:32
|
279 |
#: inc/features/class-destination-rsc-pro.php:56
|
280 |
+
#: inc/features/class-destination-s3-pro.php:64
|
281 |
#@ backwpup
|
282 |
msgid "Number of files to hold in folder."
|
283 |
msgstr "Anzahl der Dateien, die im Ordner behalten werden"
|
287 |
#: inc/class-destination-ftp.php:83
|
288 |
#: inc/class-destination-msazure.php:102
|
289 |
#: inc/class-destination-rsc.php:111
|
290 |
+
#: inc/class-destination-s3.php:177
|
291 |
#: inc/class-destination-sugarsync.php:116
|
292 |
#: inc/features/class-destination-dropbox-pro.php:75
|
293 |
#: inc/features/class-destination-folder-pro.php:27
|
294 |
#: inc/features/class-destination-msazure-pro.php:32
|
295 |
#: inc/features/class-destination-rsc-pro.php:56
|
296 |
+
#: inc/features/class-destination-s3-pro.php:64
|
297 |
#@ backwpup
|
298 |
msgid "Oldest files will be deleted first. 0 = no deletion"
|
299 |
msgstr "Älteste Dateien werden als erstes gelöscht. 0 = keine Löschung"
|
303 |
#: inc/class-destination-ftp.php:87
|
304 |
#: inc/class-destination-msazure.php:106
|
305 |
#: inc/class-destination-rsc.php:115
|
306 |
+
#: inc/class-destination-s3.php:181
|
307 |
#: inc/class-destination-sugarsync.php:120
|
308 |
#: inc/features/class-destination-folder-pro.php:32
|
309 |
#: inc/features/class-destination-msazure-pro.php:37
|
310 |
#: inc/features/class-destination-rsc-pro.php:61
|
311 |
+
#: inc/features/class-destination-s3-pro.php:69
|
312 |
#@ backwpup
|
313 |
msgid "Do not delete files on sync to destination!"
|
314 |
msgstr "Lösche keine Dateien beim Synchronisieren im Zielverzeichnis"
|
418 |
msgid "Host:"
|
419 |
msgstr "Host (Server):"
|
420 |
|
421 |
+
#: inc/class-destination-email.php:127
|
422 |
#: inc/class-destination-ftp.php:46
|
423 |
#: inc/features/class-destination-ftp-pro.php:17
|
424 |
#@ backwpup
|
596 |
msgstr[0] "Eine Datei auf dem FTP-Server gelöscht"
|
597 |
msgstr[1] "%d Dateien auf dem FTP-Server gelöscht"
|
598 |
|
599 |
+
#: inc/class-destination-email.php:55
|
600 |
+
#: inc/class-destination-email.php:58
|
|
|
601 |
#@ backwpup
|
602 |
msgid "Email address"
|
603 |
msgstr "E-Mail Adresse"
|
604 |
|
605 |
+
#: inc/class-destination-email.php:62
|
606 |
#: inc/features/class-destination-email-pro.php:20
|
607 |
#@ backwpup
|
608 |
msgid "Email address to which Backups are sent."
|
609 |
msgstr "E-Mail Adresse, an die die Backups gesendet werden sollen."
|
610 |
|
611 |
+
#: inc/class-destination-email.php:66
|
612 |
+
#: inc/class-destination-email.php:68
|
613 |
#: inc/features/class-destination-email-pro.php:24
|
614 |
#: inc/features/class-destination-email-pro.php:26
|
615 |
#@ backwpup
|
616 |
msgid "Send test email"
|
617 |
msgstr "Sende eine Test E-Mail"
|
618 |
|
619 |
+
#: inc/class-destination-email.php:73
|
620 |
#@ backwpup
|
621 |
msgid "Send email settings"
|
622 |
msgstr "Absende-Einstellungen für E-Mails"
|
623 |
|
624 |
+
#: inc/class-destination-email.php:76
|
625 |
#@ backwpup
|
626 |
msgid "Maximum file size"
|
627 |
msgstr "Maximale Dateigröße"
|
628 |
|
629 |
+
#: inc/class-destination-email.php:77
|
630 |
#: inc/features/class-destination-email-pro.php:35
|
631 |
#@ backwpup
|
632 |
msgid "MB"
|
633 |
msgstr "MB"
|
634 |
|
635 |
+
#: inc/class-destination-email.php:82
|
636 |
+
#: inc/class-destination-email.php:86
|
637 |
#: inc/features/class-destination-email-pro.php:44
|
638 |
#@ backwpup
|
639 |
msgid "Sender email address"
|
640 |
msgstr "Absender der E-Mails"
|
641 |
|
642 |
+
#: inc/class-destination-email.php:98
|
643 |
#@ backwpup
|
644 |
msgid "Send email method"
|
645 |
msgstr "E-Mail-Versandmethode"
|
646 |
|
647 |
+
#: inc/class-destination-email.php:102
|
648 |
#@ backwpup
|
649 |
msgid "Use Blog settings"
|
650 |
msgstr "Verwende Blogeinstellungen"
|
651 |
|
652 |
+
#: inc/class-destination-email.php:103
|
653 |
#@ backwpup
|
654 |
msgid "PHP: mail()"
|
655 |
msgstr "PHP: mail()"
|
656 |
|
657 |
+
#: inc/class-destination-email.php:104
|
658 |
#@ backwpup
|
659 |
msgid "Sendmail"
|
660 |
msgstr "Sendmail"
|
661 |
|
662 |
+
#: inc/class-destination-email.php:105
|
663 |
#@ backwpup
|
664 |
msgid "SMTP"
|
665 |
msgstr "SMTP"
|
666 |
|
667 |
+
#: inc/class-destination-email.php:108
|
668 |
#@ backwpup
|
669 |
msgid "- Use Blog settings: gets the settings form blog. -PHP mail(): needs more PHP memory"
|
670 |
msgstr "- Verwende Webseiten Einstelllung: zieht die Einstellungen der Webseite. - PHP mail(): verbraucht viel PHP Memory"
|
671 |
|
672 |
+
#: inc/class-destination-email.php:113
|
673 |
#@ backwpup
|
674 |
msgid "Sendmail path"
|
675 |
msgstr "Sendmail Pfad"
|
676 |
|
677 |
+
#: inc/class-destination-email.php:122
|
678 |
#@ backwpup
|
679 |
msgid "SMTP host name"
|
680 |
msgstr "SMTP Hostname"
|
681 |
|
682 |
+
#: inc/class-destination-email.php:134
|
683 |
#@ backwpup
|
684 |
msgid "SMTP secure connection"
|
685 |
msgstr "SMTP Sichere Verbindung"
|
686 |
|
687 |
+
#: inc/class-destination-email.php:138
|
688 |
+
#: inc/class-destination-s3.php:205
|
689 |
#: inc/class-jobtype-dbdump.php:67
|
690 |
#: inc/class-jobtype-dbdump.php:110
|
691 |
#: inc/class-jobtype-wpexp.php:69
|
692 |
#: inc/class-jobtype-wpplugin.php:56
|
693 |
+
#: inc/class-page-backwpup.php:217
|
694 |
+
#: inc/class-page-backwpup.php:280
|
695 |
#: inc/features/class-jobtype-dbdump-pro.php:161
|
696 |
#: inc/features/class-jobtype-dbdump-pro.php:219
|
697 |
#@ backwpup
|
698 |
msgid "none"
|
699 |
msgstr "nichts"
|
700 |
|
701 |
+
#: inc/class-destination-email.php:139
|
702 |
#@ backwpup
|
703 |
msgid "SSL"
|
704 |
msgstr "SSL"
|
705 |
|
706 |
+
#: inc/class-destination-email.php:140
|
707 |
#@ backwpup
|
708 |
msgid "TLS"
|
709 |
msgstr "TLS"
|
710 |
|
711 |
+
#: inc/class-destination-email.php:146
|
712 |
#@ backwpup
|
713 |
msgid "SMTP username"
|
714 |
msgstr "SMTP Benutzername"
|
715 |
|
716 |
+
#: inc/class-destination-email.php:154
|
717 |
#@ backwpup
|
718 |
msgid "SMTP password"
|
719 |
msgstr "SMTP Passwort"
|
720 |
|
721 |
+
#: inc/class-destination-email.php:235
|
722 |
#@ backwpup
|
723 |
msgid "Backup archive too big to be sent by email!"
|
724 |
msgstr "Das Datensicherungsarchiv ist zu groß zum Senden via E-Mail!"
|
725 |
|
726 |
+
#: inc/class-destination-email.php:316
|
727 |
#, php-format
|
728 |
#@ backwpup
|
729 |
msgid "BackWPup archive from %1$s: %2$s"
|
730 |
msgstr "BackWPup-Archiv vom %1$s: %2$s"
|
731 |
|
732 |
+
#: inc/class-destination-email.php:319
|
733 |
#, php-format
|
734 |
#@ backwpup
|
735 |
msgid "Backup archive: %s"
|
736 |
msgstr "Datensicherungsarchiv: %s"
|
737 |
|
738 |
+
#: inc/class-destination-email.php:339
|
739 |
+
#: inc/class-destination-email.php:456
|
740 |
#@ backwpup
|
741 |
msgid "Email sent."
|
742 |
msgstr "E-Mail gesendet."
|
743 |
|
744 |
+
#: inc/class-destination-email.php:438
|
745 |
#@ backwpup
|
746 |
msgid "BackWPup archive sending TEST Message"
|
747 |
msgstr "BackWPup Archiv TEST Nachricht senden"
|
748 |
|
749 |
+
#: inc/class-destination-email.php:441
|
750 |
#@ backwpup
|
751 |
msgid "If this message reaches you sending of backup archives per email should work."
|
752 |
msgstr "Falls dich diese Nachricht erreicht, funktioniert das Senden der Sicherungsarchive per E-Mail."
|
800 |
|
801 |
#: inc/class-destination-msazure.php:96
|
802 |
#: inc/class-destination-rsc.php:105
|
803 |
+
#: inc/class-destination-s3.php:171
|
804 |
#@ backwpup
|
805 |
msgid "File deletion"
|
806 |
msgstr "Datei Löschung"
|
920 |
msgstr "Chicago (ORD)"
|
921 |
|
922 |
#: inc/class-destination-rsc.php:95
|
923 |
+
#: inc/class-destination-s3.php:161
|
924 |
#@ backwpup
|
925 |
msgid "S3 Backup settings"
|
926 |
msgstr "S3 Backup Einstellungen"
|
927 |
|
928 |
#: inc/class-destination-rsc.php:99
|
929 |
+
#: inc/class-destination-s3.php:165
|
930 |
#@ backwpup
|
931 |
msgid "Folder in bucket"
|
932 |
msgstr "Ordner im Bucket"
|
1001 |
msgstr "Keine Container gefunden!"
|
1002 |
|
1003 |
#: inc/class-destination-s3.php:26
|
1004 |
+
#: inc/class-destination-s3.php:89
|
1005 |
#@ backwpup
|
1006 |
msgid "S3 Service"
|
1007 |
msgstr "S3 Service"
|
1011 |
msgid "Backup to a S3 Service"
|
1012 |
msgstr "Backup zu einem S3 Service"
|
1013 |
|
1014 |
+
#: inc/class-destination-s3.php:93
|
1015 |
#@ backwpup
|
1016 |
msgid "Select a S3 service"
|
1017 |
msgstr "Wähle einen S3 Service"
|
1018 |
|
1019 |
+
#: inc/class-destination-s3.php:95
|
1020 |
#: inc/features/class-destination-s3-pro.php:23
|
1021 |
#@ backwpup
|
1022 |
msgid "Amazon S3 Region"
|
1023 |
msgstr "Amazon S3 Region"
|
1024 |
|
1025 |
+
#: inc/class-destination-s3.php:96
|
1026 |
#: inc/features/class-destination-s3-pro.php:24
|
1027 |
#@ backwpup
|
1028 |
msgid "Amazon S3: US Standard"
|
1029 |
msgstr "Amazon S3: US Standard"
|
1030 |
|
1031 |
+
#: inc/class-destination-s3.php:97
|
1032 |
#: inc/features/class-destination-s3-pro.php:25
|
1033 |
#@ backwpup
|
1034 |
msgid "Amazon S3: US West (Northern California)"
|
1035 |
msgstr "Amazon S3: US West (Northern California)"
|
1036 |
|
1037 |
+
#: inc/class-destination-s3.php:98
|
1038 |
#: inc/features/class-destination-s3-pro.php:26
|
1039 |
#@ backwpup
|
1040 |
msgid "Amazon S3: US West (Oregon)"
|
1041 |
msgstr "Amazon S3: US West (Oregon)"
|
1042 |
|
1043 |
+
#: inc/class-destination-s3.php:99
|
1044 |
#: inc/features/class-destination-s3-pro.php:27
|
1045 |
#@ backwpup
|
1046 |
msgid "Amazon S3: EU (Ireland)"
|
1047 |
msgstr "Amazon S3: EU (Ireland)"
|
1048 |
|
1049 |
+
#: inc/class-destination-s3.php:100
|
1050 |
#: inc/features/class-destination-s3-pro.php:28
|
1051 |
#@ backwpup
|
1052 |
msgid "Amazon S3: Asia Pacific (Tokyo)"
|
1053 |
msgstr "Amazon S3: Asia Pacific (Tokyo)"
|
1054 |
|
1055 |
+
#: inc/class-destination-s3.php:101
|
1056 |
#: inc/features/class-destination-s3-pro.php:29
|
1057 |
#@ backwpup
|
1058 |
msgid "Amazon S3: Asia Pacific (Singapore)"
|
1059 |
msgstr "Amazon S3: Asia Pacific (Singapore)"
|
1060 |
|
1061 |
+
#: inc/class-destination-s3.php:102
|
1062 |
#: inc/features/class-destination-s3-pro.php:30
|
1063 |
#@ backwpup
|
1064 |
msgid "Amazon S3: Asia Pacific (Sydney)"
|
1065 |
msgstr "Amazon S3: Asia Pacific (Sydney)"
|
1066 |
|
1067 |
+
#: inc/class-destination-s3.php:103
|
1068 |
#: inc/features/class-destination-s3-pro.php:31
|
1069 |
#@ backwpup
|
1070 |
msgid "Amazon S3: South America (Sao Paulo)"
|
1071 |
msgstr "Amazon S3: South America (Sao Paulo)"
|
1072 |
|
1073 |
+
#: inc/class-destination-s3.php:104
|
1074 |
#: inc/features/class-destination-s3-pro.php:32
|
1075 |
#@ backwpup
|
|
|
|
|
|
|
|
|
|
|
|
|
1076 |
msgid "Google Storage (Interoperable Access)"
|
1077 |
msgstr "Google Storage (Interoperable Access)"
|
1078 |
|
1079 |
+
#: inc/class-destination-s3.php:105
|
1080 |
+
#: inc/features/class-destination-s3-pro.php:33
|
1081 |
#@ backwpup
|
1082 |
msgid "Hosteurope Cloud Storage"
|
1083 |
msgstr "Hosteurope Cloud Storage"
|
1084 |
|
1085 |
+
#: inc/class-destination-s3.php:106
|
1086 |
+
#: inc/features/class-destination-s3-pro.php:34
|
1087 |
#@ backwpup
|
1088 |
msgid "Dream Host Cloud Storage"
|
1089 |
msgstr "Dream Host Cloud Storage"
|
1090 |
|
1091 |
+
#: inc/class-destination-s3.php:111
|
1092 |
#@ backwpup
|
1093 |
msgid "Or a S3 Server url"
|
1094 |
msgstr "oder eine S3 Server URL"
|
1095 |
|
1096 |
+
#: inc/class-destination-s3.php:118
|
1097 |
#@ backwpup
|
1098 |
msgid "S3 Access Keys"
|
1099 |
msgstr "S3 Access Keys"
|
1100 |
|
1101 |
+
#: inc/class-destination-s3.php:122
|
1102 |
#@ backwpup
|
1103 |
msgid "Access Key"
|
1104 |
msgstr "Access Key"
|
1105 |
|
1106 |
+
#: inc/class-destination-s3.php:129
|
1107 |
#@ backwpup
|
1108 |
msgid "Secret Key"
|
1109 |
msgstr "Secret Key"
|
1110 |
|
1111 |
+
#: inc/class-destination-s3.php:137
|
1112 |
#@ backwpup
|
1113 |
msgid "S3 Bucket"
|
1114 |
msgstr "S3 Bucket"
|
1115 |
|
1116 |
+
#: inc/class-destination-s3.php:141
|
1117 |
#@ backwpup
|
1118 |
msgid "Bucket selection"
|
1119 |
msgstr "Bucket Auswahl"
|
1120 |
|
1121 |
+
#: inc/class-destination-s3.php:154
|
1122 |
#@ backwpup
|
1123 |
msgid "Create a new Bucket"
|
1124 |
msgstr "Neues Bucket erstellen"
|
1125 |
|
1126 |
+
#: inc/class-destination-s3.php:198
|
1127 |
#@ backwpup
|
1128 |
msgid "Amazon specific settings"
|
1129 |
msgstr "Amazon spezifische Einstellungen"
|
1130 |
|
1131 |
+
#: inc/class-destination-s3.php:202
|
1132 |
+
#: inc/class-destination-s3.php:204
|
1133 |
#@ backwpup
|
1134 |
msgid "Amazon: Storage Class"
|
1135 |
msgstr "Amazon: Storage Class"
|
1136 |
|
1137 |
+
#: inc/class-destination-s3.php:206
|
1138 |
#@ backwpup
|
1139 |
msgid "Reduced Redundancy"
|
1140 |
msgstr "Reduzierte Redundanz"
|
1141 |
|
1142 |
+
#: inc/class-destination-s3.php:211
|
1143 |
#@ backwpup
|
1144 |
msgid "Server side encryption"
|
1145 |
msgstr "Serverseitige Enkryption"
|
1146 |
|
1147 |
+
#: inc/class-destination-s3.php:215
|
1148 |
#@ backwpup
|
1149 |
msgid "Save files encrypted (AES256) on server."
|
1150 |
msgstr "Speicher Dateien Server Side Encrypted (AES256)"
|
1151 |
|
1152 |
+
#: inc/class-destination-s3.php:271
|
1153 |
+
#: inc/features/class-destination-s3-pro.php:126
|
1154 |
#, php-format
|
1155 |
#@ backwpup
|
1156 |
msgid "Bucket %1$s in %2$s created."
|
1157 |
msgstr "Bucket %1$s in %2$s erstellt."
|
1158 |
|
1159 |
+
#: inc/class-destination-s3.php:273
|
1160 |
#, php-format
|
1161 |
#@ backwpup
|
1162 |
msgid "Bucket %s could not created."
|
1163 |
msgstr "Bucket %s konnte nicht erstellt werden"
|
1164 |
|
1165 |
+
#: inc/class-destination-s3.php:275
|
1166 |
+
#: inc/features/class-destination-s3-pro.php:130
|
1167 |
#, php-format
|
1168 |
#@ backwpup
|
1169 |
msgid " %s is not a valid bucket name."
|
1170 |
msgstr "%s ist kein gültiger Bucket Name"
|
1171 |
|
1172 |
+
#: inc/class-destination-s3.php:317
|
1173 |
+
#: inc/class-destination-s3.php:425
|
1174 |
+
#: inc/class-destination-s3.php:456
|
1175 |
+
#: inc/class-destination-s3.php:477
|
1176 |
+
#: inc/class-destination-s3.php:536
|
1177 |
+
#: inc/features/class-destination-s3-pro.php:280
|
1178 |
#, php-format
|
1179 |
#@ backwpup
|
1180 |
msgid "S3 Service API: %s"
|
1181 |
msgstr "S3 Service API: %s"
|
1182 |
|
1183 |
+
#: inc/class-destination-s3.php:381
|
1184 |
#, php-format
|
1185 |
#@ backwpup
|
1186 |
msgid "%d. Trying to send backup file to S3 Service …"
|
1187 |
msgstr "%d. Versuche, ein Backup zum S3-Service zu senden …"
|
1188 |
|
1189 |
+
#: inc/class-destination-s3.php:396
|
1190 |
+
#: inc/features/class-destination-s3-pro.php:168
|
|
|
|
|
|
|
|
|
|
|
|
|
1191 |
#, php-format
|
1192 |
#@ backwpup
|
1193 |
msgid "S3 Bucket \"%s\" does not exist!"
|
1194 |
msgstr "Amazon S3 Bucket \"%s\" existiert nicht!"
|
1195 |
|
1196 |
+
#: inc/class-destination-s3.php:402
|
1197 |
#@ backwpup
|
1198 |
msgid "Upload to S3 Service started …"
|
1199 |
msgstr "Upload zum S3 Service jetzt gestartet …"
|
1200 |
|
1201 |
+
#: inc/class-destination-s3.php:468
|
1202 |
#, php-format
|
1203 |
#@ backwpup
|
1204 |
msgid "Backup transferred to %s."
|
1205 |
msgstr "Datensicherung übertragen zu %s"
|
1206 |
|
1207 |
+
#: inc/class-destination-s3.php:473
|
1208 |
#, php-format
|
1209 |
#@ backwpup
|
1210 |
msgid "Can not transfer backup to S3! (%1$d) %2$s"
|
1211 |
msgstr "Datensicherung kann nicht zu Amazon S3 übertragen werden! (%1$d) %2$s"
|
1212 |
|
1213 |
+
#: inc/class-destination-s3.php:526
|
1214 |
#, php-format
|
1215 |
#@ backwpup
|
1216 |
msgid "Can not delete backup on %s."
|
1217 |
msgstr "Kann das Backup auf %s nicht löschen"
|
1218 |
|
1219 |
+
#: inc/class-destination-s3.php:530
|
1220 |
#, php-format
|
1221 |
#@ backwpup
|
1222 |
msgid "One file deleted on S3 Bucket."
|
1224 |
msgstr[0] "Eine Datei im S3-Bucket gelöscht"
|
1225 |
msgstr[1] "%d Dateien im S3-Bucket gelöscht"
|
1226 |
|
1227 |
+
#: inc/class-destination-s3.php:633
|
1228 |
#@ backwpup
|
1229 |
msgid "Missing access key!"
|
1230 |
msgstr "Der Zugangsschlüssel (Access Key) fehlt!"
|
1231 |
|
1232 |
+
#: inc/class-destination-s3.php:635
|
1233 |
#@ backwpup
|
1234 |
msgid "Missing secret access key!"
|
1235 |
msgstr "Der geheime Zugangsschlüssel (Secret Access Key) fehlt!"
|
1236 |
|
1237 |
+
#: inc/class-destination-s3.php:639
|
1238 |
#@ backwpup
|
1239 |
msgid "No bucket found!"
|
1240 |
msgstr "Kein Bucket gefunden!"
|
1596 |
msgid "RECOVERABLE ERROR:"
|
1597 |
msgstr "WIEDERHERSTELLUNGS FEHLER:"
|
1598 |
|
1599 |
+
#: inc/class-job.php:1127
|
1600 |
#, php-format
|
1601 |
#@ backwpup
|
1602 |
msgid "One old log deleted"
|
1604 |
msgstr[0] "Eine alte Log-Datei gelöscht"
|
1605 |
msgstr[1] "%d alte Log-Dateien gelöscht"
|
1606 |
|
1607 |
+
#: inc/class-job.php:1132
|
1608 |
+
#: inc/class-page-jobs.php:566
|
1609 |
#, php-format
|
1610 |
#@ backwpup
|
1611 |
msgid "Job done in %s seconds."
|
1612 |
msgstr "Auftrag erledigt in %s Sekunden."
|
1613 |
|
1614 |
+
#: inc/class-job.php:1197
|
1615 |
#@ backwpup
|
1616 |
msgid "SUCCESSFUL"
|
1617 |
msgstr "ERFOLGREICH"
|
1618 |
|
1619 |
+
#: inc/class-job.php:1200
|
1620 |
#@ backwpup
|
1621 |
msgid "WARNING"
|
1622 |
msgstr "WARNUNG"
|
1623 |
|
1624 |
+
#: inc/class-job.php:1243
|
1625 |
#@ backwpup
|
1626 |
msgid "Set blog into maintenance mode"
|
1627 |
msgstr "Webseite / Blog in den Wartungsmodus versetzen"
|
1628 |
|
1629 |
+
#: inc/class-job.php:1256
|
1630 |
#@ backwpup
|
1631 |
msgid "Cannot set blog into maintenance mode! .maintenance is not writable!"
|
1632 |
msgstr "Die Webseite kann nicht in den Wartungsmodus gesetzt werden! Das Root-Verzeichnis ist nicht beschreibbar!"
|
1633 |
|
1634 |
+
#: inc/class-job.php:1261
|
1635 |
#@ backwpup
|
1636 |
msgid "Set blog to normal mode"
|
1637 |
msgstr "Setze Webseite / Blog zurück in den Normalmodus"
|
1638 |
|
1639 |
+
#: inc/class-job.php:1291
|
1640 |
#, php-format
|
1641 |
#@ backwpup
|
1642 |
msgid "Memory increased from %1$s to %2$s"
|
1643 |
msgstr "Speicher(limit) erhöht von %1$s auf %2$s"
|
1644 |
|
1645 |
+
#: inc/class-job.php:1293
|
1646 |
#, php-format
|
1647 |
#@ backwpup
|
1648 |
msgid "Can not increase memory limit. The current value is %1$s"
|
1649 |
msgstr "Das PHP-Speicherlimit kann nicht erhöht werden, es beträgt derzeit %1$s "
|
1650 |
|
1651 |
+
#: inc/class-job.php:1589
|
1652 |
#, php-format
|
1653 |
#@ backwpup
|
1654 |
msgid "File \"%s\" is not readable!"
|
1655 |
msgstr "Datei \"%s\" ist nicht lesbar!"
|
1656 |
|
1657 |
+
#: inc/class-job.php:1591
|
1658 |
#, php-format
|
1659 |
#@ backwpup
|
1660 |
msgid "Link \"%s\" not followed."
|
1781 |
msgid "(ER_DELETED) Entry has been deleted"
|
1782 |
msgstr "(ER_DELETED) Eintrag wurde gelöscht"
|
1783 |
|
1784 |
+
#: inc/class-job.php:1656
|
1785 |
#, php-format
|
1786 |
#@ backwpup
|
1787 |
msgid "Archive size is %s."
|
1788 |
msgstr "Archivgröße ist %s"
|
1789 |
|
1790 |
+
#: inc/class-job.php:1657
|
1791 |
#, php-format
|
1792 |
#@ backwpup
|
1793 |
msgid "%1$d Files with %2$s in Archive."
|
1980 |
msgstr "BZip2"
|
1981 |
|
1982 |
#: inc/class-mysqldump.php:86
|
1983 |
+
#: inc/features/class-jobtype-dbdump-pro.php:700
|
1984 |
#, php-format
|
1985 |
#@ backwpup
|
1986 |
msgid "Can not connect to MySQL Database %1$d: %2$s"
|
1987 |
msgstr "Kann keine Verbindung zur Datenbank %1$d herstellen: %2$s"
|
1988 |
|
1989 |
+
#: inc/class-jobtype-dbdump.php:179
|
1990 |
#: inc/features/class-jobtype-dbdump-pro.php:489
|
1991 |
+
#: inc/features/class-jobtype-dbdump-pro.php:707
|
1992 |
#, php-format
|
1993 |
#@ backwpup
|
1994 |
msgid "Connected to database %1$s on %2$s"
|
1995 |
msgstr "Mit Datenbank %1$s auf %2$s verbunden"
|
1996 |
|
1997 |
+
#: inc/class-mysqldump.php:127
|
1998 |
+
#: inc/class-mysqldump.php:137
|
1999 |
+
#: inc/class-mysqldump.php:214
|
2000 |
+
#: inc/class-mysqldump.php:225
|
2001 |
+
#: inc/class-mysqldump.php:237
|
2002 |
+
#: inc/class-mysqldump.php:248
|
2003 |
+
#: inc/class-mysqldump.php:286
|
2004 |
+
#: inc/class-mysqldump.php:307
|
2005 |
+
#: inc/class-mysqldump.php:321
|
2006 |
+
#: inc/features/class-jobtype-dbdump-pro.php:713
|
2007 |
+
#: inc/features/class-jobtype-dbdump-pro.php:727
|
2008 |
+
#: inc/features/class-jobtype-dbdump-pro.php:776
|
2009 |
+
#: inc/features/class-jobtype-dbdump-pro.php:793
|
2010 |
+
#: inc/features/class-jobtype-dbdump-pro.php:834
|
2011 |
#, php-format
|
2012 |
#@ backwpup
|
2013 |
msgid "Database error %1$s for query %2$s"
|
2014 |
msgstr "Datenbankfehler %1$s für die Abfrage (Query) %2$s"
|
2015 |
|
2016 |
+
#: inc/class-jobtype-dbdump.php:191
|
2017 |
#: inc/features/class-jobtype-dbdump-pro.php:502
|
2018 |
#@ backwpup
|
2019 |
msgid "No tables to dump."
|
2020 |
msgstr "Es gibt keine Tabellen zu sichern"
|
2021 |
|
2022 |
+
#: inc/class-jobtype-dbdump.php:202
|
2023 |
#: inc/features/class-jobtype-dbdump-pro.php:516
|
2024 |
#, php-format
|
2025 |
#@ backwpup
|
2026 |
msgid "Dump database table \"%s\""
|
2027 |
msgstr "Sichere Datenbanktabelle \"%s\""
|
2028 |
|
2029 |
+
#: inc/class-jobtype-dbdump.php:227
|
2030 |
#: inc/features/class-jobtype-dbdump-pro.php:541
|
2031 |
+
#: inc/features/class-jobtype-dbdump-pro.php:659
|
2032 |
#@ backwpup
|
2033 |
msgid "Database dump done!"
|
2034 |
msgstr "Datenbank-Backup fertig!"
|
2189 |
msgid "%1$d folders to back up."
|
2190 |
msgstr "%1$d Ordner zu sichern"
|
2191 |
|
2192 |
+
#: inc/class-jobtype-file.php:473
|
2193 |
#, php-format
|
2194 |
#@ backwpup
|
2195 |
msgid "Folder \"%s\" is not readable!"
|
2311 |
msgstr "Größe"
|
2312 |
|
2313 |
#: inc/class-page-backups.php:233
|
2314 |
+
#: inc/class-page-backwpup.php:175
|
2315 |
+
#: inc/class-page-backwpup.php:236
|
2316 |
#@ backwpup
|
2317 |
msgid "Time"
|
2318 |
msgstr "Zeit"
|
2372 |
msgid "Start wizard"
|
2373 |
msgstr "Assistenten starten"
|
2374 |
|
2375 |
+
#: inc/class-page-backwpup.php:134
|
2376 |
#@ backwpup
|
2377 |
msgid "Test the installation"
|
2378 |
msgstr "Die Installation testen"
|
2379 |
|
2380 |
+
#: inc/class-page-backwpup.php:135
|
2381 |
+
#: inc/class-page-backwpup.php:138
|
2382 |
#@ backwpup
|
2383 |
msgid "Create a Job"
|
2384 |
msgstr "Auftrag erstellen"
|
2385 |
|
2386 |
+
#: inc/class-page-backwpup.php:140
|
2387 |
#@ backwpup
|
2388 |
msgid "Run the created job"
|
2389 |
msgstr "Erstellten Auftrag starten"
|
2390 |
|
2391 |
+
#: inc/class-page-backwpup.php:141
|
2392 |
#@ backwpup
|
2393 |
msgid "Check the job log"
|
2394 |
msgstr "Logs des Auftrages prüfen"
|
2395 |
|
2396 |
+
#: inc/class-page-backwpup.php:234
|
2397 |
#@ backwpup
|
2398 |
msgid "Next scheduled jobs"
|
2399 |
msgstr "Nächste geplante Aufträge"
|
2400 |
|
2401 |
+
#: inc/class-page-backwpup.php:175
|
2402 |
+
#: inc/class-page-backwpup.php:237
|
2403 |
#: inc/class-page-logs.php:114
|
2404 |
#@ backwpup
|
2405 |
msgid "Job"
|
2406 |
msgstr "Auftrag"
|
2407 |
|
2408 |
+
#: inc/class-page-backwpup.php:260
|
2409 |
#, php-format
|
2410 |
#@ backwpup
|
2411 |
msgid "working since %d seconds"
|
2412 |
msgstr "in Arbeit seit %d Sek."
|
2413 |
|
2414 |
+
#: inc/class-page-backwpup.php:262
|
2415 |
#: inc/class-page-jobs.php:436
|
2416 |
#@ backwpup
|
2417 |
msgid "Abort"
|
2418 |
msgstr "Abbrechen"
|
2419 |
|
2420 |
+
#: inc/class-page-backwpup.php:276
|
2421 |
#@ backwpup
|
2422 |
msgid "Edit Job"
|
2423 |
msgstr "Auftrag bearbeiten"
|
2424 |
|
2425 |
+
#: inc/class-page-backwpup.php:174
|
2426 |
#@ backwpup
|
2427 |
msgid "Last logs"
|
2428 |
msgstr "Letzte Logs"
|
2429 |
|
2430 |
+
#: inc/class-page-backwpup.php:175
|
2431 |
#@ backwpup
|
2432 |
msgid "Result"
|
2433 |
msgstr "Ergebnis"
|
2434 |
|
2435 |
+
#: inc/class-page-backwpup.php:205
|
2436 |
#, php-format
|
2437 |
#@ backwpup
|
2438 |
msgid "%d ERROR"
|
2440 |
msgstr[0] "%d FEHLER"
|
2441 |
msgstr[1] "%d FEHLER"
|
2442 |
|
2443 |
+
#: inc/class-page-backwpup.php:207
|
2444 |
#, php-format
|
2445 |
#@ backwpup
|
2446 |
msgid "%d WARNING"
|
2448 |
msgstr[0] "%d WARNUNG"
|
2449 |
msgstr[1] "%d WARNUNGEN"
|
2450 |
|
2451 |
+
#: inc/class-page-backwpup.php:209
|
2452 |
#: inc/class-page-logs.php:197
|
2453 |
#@ backwpup
|
2454 |
msgid "O.K."
|
2465 |
msgid "Not allowed!"
|
2466 |
msgstr "Nicht erlaubt!"
|
2467 |
|
2468 |
+
#: inc/class-page-editjob.php:177
|
2469 |
#, php-format
|
2470 |
#@ backwpup
|
2471 |
msgid "Changes for job <i>%s</i> saved."
|
2472 |
msgstr "Änderungen für den Auftrag <i>%s</i> gesichert."
|
2473 |
|
2474 |
+
#: inc/class-page-editjob.php:319
|
2475 |
#, php-format
|
2476 |
#@ backwpup
|
2477 |
msgid "ATTENTION: Job runs every %d minutes!"
|
2478 |
msgstr "ACHTUNG: Auftrag läuft alle %d Minuten!"
|
2479 |
|
2480 |
+
#: inc/class-page-editjob.php:325
|
2481 |
#, php-format
|
2482 |
#@ backwpup
|
2483 |
msgid "ATTENTION: Job runs every %d hours!"
|
2484 |
msgstr "ACHTUNG: Auftrag läuft alle %d Stunden!"
|
2485 |
|
2486 |
+
#: inc/class-page-editjob.php:329
|
2487 |
#@ backwpup
|
2488 |
msgid "ATTENTION: Can't calculate cron!"
|
2489 |
msgstr "ACHTUNG: Kann cron nicht berechnen!"
|
2490 |
|
2491 |
+
#: inc/class-page-editjob.php:332
|
2492 |
#@ backwpup
|
2493 |
msgid "Next runtime:"
|
2494 |
msgstr "Nächster Durchlauf:"
|
2495 |
|
2496 |
+
#: inc/class-page-editjob.php:370
|
2497 |
#: inc/class-page-settings.php:100
|
2498 |
#@ backwpup
|
2499 |
msgid "General"
|
2500 |
msgstr "Allgemein"
|
2501 |
|
2502 |
+
#: inc/class-page-editjob.php:370
|
2503 |
#@ backwpup
|
2504 |
msgid "Schedule"
|
2505 |
msgstr "Planen"
|
2506 |
|
2507 |
+
#: inc/class-page-editjob.php:385
|
2508 |
#, php-format
|
2509 |
#@ backwpup
|
2510 |
msgid "To: %s"
|
2511 |
msgstr "Zu: %s"
|
2512 |
|
2513 |
+
#: inc/class-page-editjob.php:391
|
2514 |
#, php-format
|
2515 |
#@ backwpup
|
2516 |
msgid "%s Job:"
|
2517 |
msgstr "%s Auftrag: "
|
2518 |
|
2519 |
+
#: inc/class-page-editjob.php:437
|
2520 |
#: inc/features/class-wizard-job.php:228
|
2521 |
#@ backwpup
|
2522 |
msgid "Job tasks"
|
2523 |
msgstr "Auftragsdetails"
|
2524 |
|
2525 |
+
#: inc/class-page-editjob.php:453
|
2526 |
#@ backwpup
|
2527 |
msgid "Backup file creation settings"
|
2528 |
msgstr "Einstellungen für das Erstellen der Backup Datei"
|
2529 |
|
2530 |
+
#: inc/class-page-editjob.php:458
|
2531 |
+
#: inc/class-page-editjob.php:461
|
2532 |
#: inc/features/class-wizard-job.php:350
|
2533 |
#: inc/features/class-wizard-job.php:353
|
2534 |
#@ backwpup
|
2540 |
msgid "Sync file by file to destination"
|
2541 |
msgstr "Synchronisiere Datei für Datei zum Zielverzeichnis"
|
2542 |
|
2543 |
+
#: inc/class-page-editjob.php:470
|
2544 |
#: inc/features/class-wizard-job.php:361
|
2545 |
#@ backwpup
|
2546 |
msgid "Create a backup archive"
|
2547 |
msgstr "Backup erstellen"
|
2548 |
|
2549 |
+
#: inc/class-page-editjob.php:516
|
2550 |
+
#: inc/class-page-editjob.php:519
|
2551 |
#@ backwpup
|
2552 |
msgid "Archive Format"
|
2553 |
msgstr "Archiv Format"
|
2554 |
|
2555 |
+
#: inc/class-page-editjob.php:522
|
2556 |
+
#: inc/class-page-editjob.php:524
|
2557 |
#: inc/features/class-wizard-job.php:371
|
2558 |
#: inc/features/class-wizard-job.php:373
|
2559 |
#@ backwpup
|
2560 |
msgid "Zip"
|
2561 |
msgstr "Zip"
|
2562 |
|
2563 |
+
#: inc/class-page-editjob.php:522
|
2564 |
#@ backwpup
|
2565 |
msgid "PHP Zip functions will be used if available (needs less memory). Otherwise the PCLZip Class will be used."
|
2566 |
msgstr "PHP-Zip-Funktionen werden verwendet, sofern verfügbar (schneller). Ansonsten wird die Klasse PCLZip verwendet."
|
2567 |
|
2568 |
+
#: inc/class-page-editjob.php:524
|
2569 |
+
#: inc/class-page-editjob.php:529
|
2570 |
+
#: inc/class-page-editjob.php:533
|
2571 |
#: inc/features/class-wizard-job.php:373
|
2572 |
#: inc/features/class-wizard-job.php:378
|
2573 |
#: inc/features/class-wizard-job.php:382
|
2575 |
msgid "Disabled because missing PHP function."
|
2576 |
msgstr "Aufgrund fehlender PHP Funktion deaktiviert."
|
2577 |
|
2578 |
+
#: inc/class-page-editjob.php:525
|
2579 |
#: inc/features/class-wizard-job.php:374
|
2580 |
#@ backwpup
|
2581 |
msgid "Tar"
|
2582 |
msgstr "Tar"
|
2583 |
|
2584 |
+
#: inc/class-page-editjob.php:525
|
2585 |
#@ backwpup
|
2586 |
msgid "Tar (fast and less memory)"
|
2587 |
msgstr "Tar (schnell und speicherschonend)"
|
2588 |
|
2589 |
+
#: inc/class-page-editjob.php:527
|
2590 |
+
#: inc/class-page-editjob.php:529
|
2591 |
#: inc/features/class-wizard-job.php:376
|
2592 |
#: inc/features/class-wizard-job.php:378
|
2593 |
#@ backwpup
|
2594 |
msgid "Tar GZip"
|
2595 |
msgstr "Tar GZip"
|
2596 |
|
2597 |
+
#: inc/class-page-editjob.php:527
|
2598 |
#@ backwpup
|
2599 |
msgid "A tarballed and GZipped archive (fast and less memory)"
|
2600 |
msgstr "Ein .tar und .gz Archiv (schnell und schlank)"
|
2601 |
|
2602 |
+
#: inc/class-page-editjob.php:531
|
2603 |
+
#: inc/class-page-editjob.php:533
|
2604 |
#: inc/features/class-wizard-job.php:380
|
2605 |
#: inc/features/class-wizard-job.php:382
|
2606 |
#@ backwpup
|
2607 |
msgid "Tar BZip2"
|
2608 |
msgstr "Tar BZip2"
|
2609 |
|
2610 |
+
#: inc/class-page-editjob.php:531
|
2611 |
#@ backwpup
|
2612 |
msgid "A tarballed and BZipped archive (fast and less memory)"
|
2613 |
msgstr "Ein .tar und .bz Archiv (schnell und schlank)"
|
2614 |
|
2615 |
+
#: inc/class-page-editjob.php:539
|
2616 |
#: inc/features/class-wizard-job.php:396
|
2617 |
#@ backwpup
|
2618 |
msgid "Where to store the files"
|
2619 |
msgstr "Wo die Dateien abgelegt werden"
|
2620 |
|
2621 |
+
#: inc/class-page-editjob.php:543
|
2622 |
+
#: inc/class-page-editjob.php:546
|
2623 |
#: inc/class-page-jobs.php:71
|
2624 |
#: inc/features/class-wizard-job.php:50
|
2625 |
#: inc/features/class-wizard-job.php:399
|
2627 |
msgid "Destinations"
|
2628 |
msgstr "Zielordner"
|
2629 |
|
2630 |
+
#: inc/class-page-editjob.php:562
|
2631 |
#@ backwpup
|
2632 |
msgid "Send log to email address"
|
2633 |
msgstr "Sende Log-Datei zur E-Mail Adresse"
|
2634 |
|
2635 |
+
#: inc/class-page-editjob.php:570
|
2636 |
#@ backwpup
|
2637 |
msgid "Leave empty and don't get a log sent."
|
2638 |
msgstr "Leerlassen um die Logs nicht zu senden"
|
2639 |
|
2640 |
+
#: inc/class-page-editjob.php:582
|
2641 |
#@ backwpup
|
2642 |
msgid "When to send"
|
2643 |
msgstr "Sendezeitpunkt"
|
2644 |
|
2645 |
+
#: inc/class-page-editjob.php:587
|
2646 |
#@ backwpup
|
2647 |
msgid "Send mail with log only when errors occur during job execution."
|
2648 |
msgstr "Sende eine E-Mail mit Protokoll nur, wenn während des Auftrags ein Fehler aufgetreten ist."
|
2649 |
|
2650 |
+
#: inc/class-page-editjob.php:598
|
2651 |
#@ backwpup
|
2652 |
msgid "Schedule start setting"
|
2653 |
msgstr "Planung Start Einstellungen"
|
2654 |
|
2655 |
+
#: inc/class-page-editjob.php:602
|
2656 |
+
#: inc/class-page-editjob.php:605
|
2657 |
#@ backwpup
|
2658 |
msgid "Start job"
|
2659 |
msgstr "Auftrag starten"
|
2660 |
|
2661 |
+
#: inc/class-page-editjob.php:609
|
2662 |
#@ backwpup
|
2663 |
msgid "manually only"
|
2664 |
msgstr "nur manuell"
|
2665 |
|
2666 |
+
#: inc/class-page-editjob.php:613
|
2667 |
#@ backwpup
|
2668 |
msgid "with WordPress cron"
|
2669 |
msgstr "mit WordPress Cron"
|
2670 |
|
2671 |
+
#: inc/class-page-editjob.php:620
|
2672 |
#@ backwpup
|
2673 |
msgid "with a link"
|
2674 |
msgstr "mit einem Link"
|
2675 |
|
2676 |
+
#: inc/class-page-editjob.php:638
|
2677 |
#@ backwpup
|
2678 |
msgid "Schedule execution time"
|
2679 |
msgstr "Plane Ausführungszeit"
|
2680 |
|
2681 |
+
#: inc/class-page-editjob.php:642
|
2682 |
+
#: inc/class-page-editjob.php:645
|
2683 |
#@ backwpup
|
2684 |
msgid "Scheduler type"
|
2685 |
msgstr "Planungstyp"
|
2686 |
|
2687 |
+
#: inc/class-page-editjob.php:650
|
2688 |
#@ backwpup
|
2689 |
msgid "basic"
|
2690 |
msgstr "einfach"
|
2691 |
|
2692 |
+
#: inc/class-page-editjob.php:654
|
2693 |
#@ backwpup
|
2694 |
msgid "advanced"
|
2695 |
msgstr "erweitert"
|
2696 |
|
2697 |
+
#: inc/class-page-editjob.php:683
|
2698 |
+
#: inc/class-page-editjob.php:751
|
2699 |
#: inc/features/class-wizard-job.php:275
|
2700 |
#@ backwpup
|
2701 |
msgid "Scheduler"
|
2702 |
msgstr "Planer"
|
2703 |
|
2704 |
+
#: inc/class-page-editjob.php:688
|
2705 |
#: inc/class-page-jobs.php:70
|
2706 |
#: inc/class-page-logs.php:115
|
2707 |
#: inc/features/class-wizard-job.php:280
|
2709 |
msgid "Type"
|
2710 |
msgstr "Typ"
|
2711 |
|
2712 |
+
#: inc/class-page-editjob.php:693
|
2713 |
#: inc/features/class-wizard-job.php:285
|
2714 |
#@ backwpup
|
2715 |
msgid "Hour"
|
2716 |
msgstr "Stunde"
|
2717 |
|
2718 |
+
#: inc/class-page-editjob.php:696
|
2719 |
#: inc/features/class-wizard-job.php:288
|
2720 |
#@ backwpup
|
2721 |
msgid "Minute"
|
2722 |
msgstr "Minute"
|
2723 |
|
2724 |
+
#: inc/class-page-editjob.php:700
|
2725 |
#: inc/features/class-wizard-job.php:292
|
2726 |
#@ backwpup
|
2727 |
msgid "monthly"
|
2728 |
msgstr "monatlich"
|
2729 |
|
2730 |
+
#: inc/class-page-editjob.php:702
|
2731 |
#: inc/features/class-wizard-job.php:294
|
2732 |
#@ backwpup
|
2733 |
msgid "on"
|
2734 |
msgstr "am"
|
2735 |
|
2736 |
+
#: inc/class-page-editjob.php:712
|
2737 |
#: inc/features/class-wizard-job.php:304
|
2738 |
#@ backwpup
|
2739 |
msgid "weekly"
|
2740 |
msgstr "wöchentlich"
|
2741 |
|
2742 |
+
#: inc/class-page-editjob.php:714
|
2743 |
+
#: inc/class-page-editjob.php:821
|
2744 |
#: inc/features/class-wizard-job.php:306
|
2745 |
#@ backwpup
|
2746 |
msgid "Sunday"
|
2747 |
msgstr "Sonntag"
|
2748 |
|
2749 |
+
#: inc/class-page-editjob.php:715
|
2750 |
+
#: inc/class-page-editjob.php:822
|
2751 |
#: inc/features/class-wizard-job.php:307
|
2752 |
#@ backwpup
|
2753 |
msgid "Monday"
|
2754 |
msgstr "Montag"
|
2755 |
|
2756 |
+
#: inc/class-page-editjob.php:716
|
2757 |
+
#: inc/class-page-editjob.php:823
|
2758 |
#: inc/features/class-wizard-job.php:308
|
2759 |
#@ backwpup
|
2760 |
msgid "Tuesday"
|
2761 |
msgstr "Dienstag"
|
2762 |
|
2763 |
+
#: inc/class-page-editjob.php:717
|
2764 |
+
#: inc/class-page-editjob.php:824
|
2765 |
#: inc/features/class-wizard-job.php:309
|
2766 |
#@ backwpup
|
2767 |
msgid "Wednesday"
|
2768 |
msgstr "Mittwoch"
|
2769 |
|
2770 |
+
#: inc/class-page-editjob.php:718
|
2771 |
+
#: inc/class-page-editjob.php:825
|
2772 |
#: inc/features/class-wizard-job.php:310
|
2773 |
#@ backwpup
|
2774 |
msgid "Thursday"
|
2775 |
msgstr "Donnerstag"
|
2776 |
|
2777 |
+
#: inc/class-page-editjob.php:719
|
2778 |
+
#: inc/class-page-editjob.php:826
|
2779 |
#: inc/features/class-wizard-job.php:311
|
2780 |
#@ backwpup
|
2781 |
msgid "Friday"
|
2782 |
msgstr "Freitag"
|
2783 |
|
2784 |
+
#: inc/class-page-editjob.php:720
|
2785 |
+
#: inc/class-page-editjob.php:827
|
2786 |
#: inc/features/class-wizard-job.php:312
|
2787 |
#@ backwpup
|
2788 |
msgid "Saturday"
|
2789 |
msgstr "Samstag"
|
2790 |
|
2791 |
+
#: inc/class-page-editjob.php:730
|
2792 |
#: inc/features/class-wizard-job.php:322
|
2793 |
#@ backwpup
|
2794 |
msgid "daily"
|
2795 |
msgstr "täglich"
|
2796 |
|
2797 |
+
#: inc/class-page-editjob.php:740
|
2798 |
#: inc/features/class-wizard-job.php:332
|
2799 |
#@ backwpup
|
2800 |
msgid "hourly"
|
2801 |
msgstr "stündlich"
|
2802 |
|
2803 |
+
#: inc/class-page-editjob.php:756
|
2804 |
+
#: inc/class-page-editjob.php:769
|
2805 |
+
#: inc/class-page-editjob.php:781
|
2806 |
+
#: inc/class-page-editjob.php:795
|
2807 |
+
#: inc/class-page-editjob.php:817
|
2808 |
#@ backwpup
|
2809 |
msgid "Any (*)"
|
2810 |
msgstr "Alle (*)"
|
2811 |
|
2812 |
+
#: inc/class-page-editjob.php:766
|
2813 |
#@ backwpup
|
2814 |
msgid "Hours:"
|
2815 |
msgstr "Stunden:"
|
2816 |
|
2817 |
+
#: inc/class-page-editjob.php:779
|
2818 |
#@ backwpup
|
2819 |
msgid "Day of Month:"
|
2820 |
msgstr "Tag des Monats:"
|
2821 |
|
2822 |
+
#: inc/class-page-editjob.php:793
|
2823 |
#@ backwpup
|
2824 |
msgid "Month:"
|
2825 |
msgstr "Monat:"
|
2826 |
|
2827 |
+
#: inc/class-page-editjob.php:799
|
2828 |
#@ backwpup
|
2829 |
msgid "January"
|
2830 |
msgstr "Januar"
|
2831 |
|
2832 |
+
#: inc/class-page-editjob.php:800
|
2833 |
#@ backwpup
|
2834 |
msgid "February"
|
2835 |
msgstr "Februar"
|
2836 |
|
2837 |
+
#: inc/class-page-editjob.php:801
|
2838 |
#@ backwpup
|
2839 |
msgid "March"
|
2840 |
msgstr "März"
|
2841 |
|
2842 |
+
#: inc/class-page-editjob.php:802
|
2843 |
#@ backwpup
|
2844 |
msgid "April"
|
2845 |
msgstr "April"
|
2846 |
|
2847 |
+
#: inc/class-page-editjob.php:803
|
2848 |
#@ backwpup
|
2849 |
msgid "May"
|
2850 |
msgstr "Mai"
|
2851 |
|
2852 |
+
#: inc/class-page-editjob.php:804
|
2853 |
#@ backwpup
|
2854 |
msgid "June"
|
2855 |
msgstr "Juni"
|
2856 |
|
2857 |
+
#: inc/class-page-editjob.php:805
|
2858 |
#@ backwpup
|
2859 |
msgid "July"
|
2860 |
msgstr "Juli"
|
2861 |
|
2862 |
+
#: inc/class-page-editjob.php:806
|
2863 |
#@ backwpup
|
2864 |
msgid "August"
|
2865 |
msgstr "August"
|
2866 |
|
2867 |
+
#: inc/class-page-editjob.php:807
|
2868 |
#@ backwpup
|
2869 |
msgid "September"
|
2870 |
msgstr "September"
|
2871 |
|
2872 |
+
#: inc/class-page-editjob.php:808
|
2873 |
#@ backwpup
|
2874 |
msgid "October"
|
2875 |
msgstr "Oktober"
|
2876 |
|
2877 |
+
#: inc/class-page-editjob.php:809
|
2878 |
#@ backwpup
|
2879 |
msgid "November"
|
2880 |
msgstr "November"
|
2881 |
|
2882 |
+
#: inc/class-page-editjob.php:810
|
2883 |
#@ backwpup
|
2884 |
msgid "December"
|
2885 |
msgstr "Dezember"
|
2886 |
|
2887 |
+
#: inc/class-page-editjob.php:815
|
2888 |
#@ backwpup
|
2889 |
msgid "Day of Week:"
|
2890 |
msgstr "Wochentag:"
|
2891 |
|
2892 |
+
#: inc/class-page-editjob.php:851
|
2893 |
#@ backwpup
|
2894 |
msgid "Save changes"
|
2895 |
msgstr "Änderungen speichern"
|
3026 |
msgid "close"
|
3027 |
msgstr "schließen"
|
3028 |
|
3029 |
+
#: inc/class-page-jobs.php:565
|
3030 |
#@ backwpup
|
3031 |
msgid "Job end"
|
3032 |
msgstr "Auftragsende"
|
3398 |
msgid "Job Types"
|
3399 |
msgstr "Auftragstypen"
|
3400 |
|
3401 |
+
#: inc/class-page-editjob.php:422
|
3402 |
#@ backwpup
|
3403 |
msgid "Name"
|
3404 |
msgstr "Name"
|
3642 |
msgstr "Kontoname/ Benutzername:"
|
3643 |
|
3644 |
#: inc/features/class-destination-msazure-pro.php:15
|
3645 |
+
#: inc/features/class-destination-s3-pro.php:39
|
3646 |
#@ backwpup
|
3647 |
msgid "Access Key:"
|
3648 |
msgstr "Zugangsschlüssel (Access Key):"
|
3764 |
msgid "Select a S3 service:"
|
3765 |
msgstr "Wähle einen S3 service: "
|
3766 |
|
3767 |
+
#: inc/features/class-destination-s3-pro.php:36
|
3768 |
#@ backwpup
|
3769 |
msgid "or set a S3 Server url:"
|
3770 |
msgstr "oder setze eine S3 Server URL:"
|
3771 |
|
3772 |
+
#: inc/features/class-destination-s3-pro.php:42
|
3773 |
#@ backwpup
|
3774 |
msgid "Secret Key:"
|
3775 |
msgstr "Secret Key:"
|
3776 |
|
3777 |
+
#: inc/features/class-destination-s3-pro.php:45
|
3778 |
#@ backwpup
|
3779 |
msgid "Bucket:"
|
3780 |
msgstr "Bucket:"
|
3781 |
|
3782 |
+
#: inc/features/class-destination-s3-pro.php:55
|
3783 |
#@ backwpup
|
3784 |
msgid "New Bucket:"
|
3785 |
msgstr "Neues Bucket: "
|
3786 |
|
3787 |
+
#: inc/features/class-destination-s3-pro.php:57
|
3788 |
#@ backwpup
|
3789 |
msgid "Folder in bucket:"
|
3790 |
msgstr "Ordner im Bucket:"
|
3791 |
|
3792 |
+
#: inc/features/class-destination-s3-pro.php:128
|
3793 |
#, php-format
|
3794 |
#@ backwpup
|
3795 |
msgid "Bucket %s could not be created."
|
3796 |
msgstr "Bucket %s konnte nicht erstellt werden."
|
3797 |
|
3798 |
+
#: inc/features/class-destination-s3-pro.php:152
|
3799 |
#, php-format
|
3800 |
#@ backwpup
|
3801 |
msgid "%d. Trying to sync files to S3 Service …"
|
3802 |
msgstr "%d. Versuche, die Dateien mit dem S3-Service zu synchronisieren …"
|
3803 |
|
3804 |
+
#: inc/features/class-destination-s3-pro.php:165
|
3805 |
#, php-format
|
3806 |
#@ backwpup
|
3807 |
msgid "Connected to S3 Bucket \"%1$s\" from \"%3$s\" in %2$s."
|
3808 |
msgstr "Mit S3 Bucket \"%1$s\" von \"%3$s\" in %2$s verbunden."
|
3809 |
|
3810 |
+
#: inc/features/class-destination-s3-pro.php:175
|
3811 |
#@ backwpup
|
3812 |
msgid "Getting files list from S3."
|
3813 |
msgstr "Ziehe Dateilliste von S3."
|
3814 |
|
3815 |
+
#: inc/features/class-destination-s3-pro.php:228
|
3816 |
#@ backwpup
|
3817 |
msgid "Upload changed files to S3."
|
3818 |
msgstr "Geänderte Dateien zu S3 hochladen."
|
3819 |
|
3820 |
+
#: inc/features/class-destination-s3-pro.php:240
|
3821 |
#, php-format
|
3822 |
#@ backwpup
|
3823 |
msgid "File %s Uploaded to S3."
|
3824 |
msgstr "Datei %s zu S3 hochgeladen."
|
3825 |
|
3826 |
+
#: inc/features/class-destination-s3-pro.php:257
|
3827 |
#, php-format
|
3828 |
#@ backwpup
|
3829 |
msgid "Extra file %s uploaded to S3."
|
3830 |
msgstr "Extra Datei %s zu S3 hochgeladen."
|
3831 |
|
3832 |
+
#: inc/features/class-destination-s3-pro.php:266
|
3833 |
#@ backwpup
|
3834 |
msgid "Delete nonexistent files on S3"
|
3835 |
msgstr "Es werden keine existierenden Dateien in S3 gelöscht."
|
3836 |
|
3837 |
+
#: inc/features/class-destination-s3-pro.php:273
|
3838 |
#, php-format
|
3839 |
#@ backwpup
|
3840 |
msgid "File %s deleted on S3."
|
3936 |
msgid "Dump type"
|
3937 |
msgstr "Backup-Typ"
|
3938 |
|
3939 |
+
#: inc/class-jobtype-dbdump.php:224
|
3940 |
#: inc/features/class-jobtype-dbdump-pro.php:538
|
3941 |
+
#: inc/features/class-jobtype-dbdump-pro.php:656
|
3942 |
#, php-format
|
3943 |
#@ backwpup
|
3944 |
msgid "Added database dump \"%1$s\" with %2$s to backup file list"
|
3945 |
msgstr "Datenbank-Backup erstellt \"%1$s\" mit %2$s zur Backup-Liste"
|
3946 |
|
3947 |
+
#: inc/features/class-jobtype-dbdump-pro.php:641
|
3948 |
#@ backwpup
|
3949 |
msgid "Compressing done."
|
3950 |
msgstr "Komprimierung erledigt."
|
3951 |
|
3952 |
+
#: inc/features/class-jobtype-dbdump-pro.php:734
|
3953 |
#@ backwpup
|
3954 |
msgid "No tables for XML dump"
|
3955 |
msgstr "Es gibt keine Tabellen für ein XML-Backup"
|
3956 |
|
3957 |
+
#: inc/features/class-jobtype-dbdump-pro.php:771
|
3958 |
#, php-format
|
3959 |
#@ backwpup
|
3960 |
msgid "Dump database create view \"%s\""
|
3961 |
msgstr "Datenbank-Backup erstellt \"%s\""
|
3962 |
|
3963 |
+
#: inc/features/class-jobtype-dbdump-pro.php:828
|
3964 |
#, php-format
|
3965 |
#@ backwpup
|
3966 |
msgid "Dump table \"%s\" data"
|
3967 |
msgstr "Backup der Tabellen \"%s\""
|
3968 |
|
3969 |
+
#: inc/features/class-jobtype-dbdump-pro.php:897
|
3970 |
#, php-format
|
3971 |
#@ backwpup
|
3972 |
msgid "Added database XML dump \"%1$s\" with %2$s to backup file list"
|
3973 |
msgstr "XML-Backup der Datenbank \"%1$s\" mit %2$s zur Backup-Liste"
|
3974 |
|
3975 |
+
#: inc/features/class-jobtype-dbdump-pro.php:900
|
3976 |
#@ backwpup
|
3977 |
msgid "Database XML dump done!"
|
3978 |
msgstr "XML-Backup der Datenbank erstellt."
|
4430 |
msgid "No destination correctly defined for backup! Please correct job settings."
|
4431 |
msgstr "Es wurde kein korrektes Backupziel definiert! Bitte überprüfe die Auftragseinstellungen."
|
4432 |
|
4433 |
+
#: inc/class-job.php:1252
|
4434 |
#@ backwpup
|
4435 |
msgid "WordPress Maintenance mode not activated on Manual run. Because it disappears displaying of working progress."
|
4436 |
msgstr "Der WordPress-Wartungsmodus wurde nicht aktiviert, da der Auftrag manuell gestartet wurde. Dies würde die Fortschrittsanzeige behindern."
|
4531 |
msgid "Plugin list file name"
|
4532 |
msgstr "Plugin listen Datei Name"
|
4533 |
|
4534 |
+
#: inc/class-page-backwpup.php:137
|
4535 |
#@ backwpup
|
4536 |
msgid "Check the installation"
|
4537 |
msgstr "Überprüfe die Installation"
|
4615 |
msgid "%d. Try to Sync files to Folder …"
|
4616 |
msgstr "%d. Versuch Dateien in eine Verzeichnis zu Synchronisierungen …"
|
4617 |
|
4618 |
+
#: inc/class-jobtype-dbdump.php:163
|
4619 |
#: inc/features/class-jobtype-dbdump-pro.php:466
|
4620 |
#, php-format
|
4621 |
#@ backwpup
|
4628 |
msgid "%d. Try for MySQL System dump …"
|
4629 |
msgstr "%d. Versuche, das MySQL-System-Backup zu erstellen …"
|
4630 |
|
4631 |
+
#: inc/features/class-jobtype-dbdump-pro.php:635
|
4632 |
#@ backwpup
|
4633 |
msgid "Compressing file …"
|
4634 |
msgstr "Komprimiere Datei …"
|
4635 |
|
4636 |
+
#: inc/features/class-jobtype-dbdump-pro.php:677
|
4637 |
#, php-format
|
4638 |
#@ backwpup
|
4639 |
msgid "%d. Try for database XML dump …"
|
4649 |
msgid "Backup to email"
|
4650 |
msgstr "Sicherung per E-Mail"
|
4651 |
|
4652 |
+
#: inc/class-destination-email.php:78
|
4653 |
#@ backwpup
|
4654 |
msgid "Max. file size where email send with. 0 = unlimited"
|
4655 |
msgstr "Maximale Datei Größe des Archives das gesendet werden soll. 0 = unbegrenzt."
|
4656 |
|
4657 |
+
#: inc/class-destination-email.php:242
|
4658 |
#, php-format
|
4659 |
#@ backwpup
|
4660 |
msgid "Sending email to %s …"
|
4661 |
msgstr "Sende E-Mail an %s …"
|
4662 |
|
4663 |
+
#: inc/class-destination-email.php:333
|
4664 |
+
#: inc/class-destination-email.php:454
|
4665 |
#@ backwpup
|
4666 |
msgid "Error while sending email!"
|
4667 |
msgstr "Fehler beim senden der E-Mail!"
|
4803 |
msgid "Now back up!"
|
4804 |
msgstr "Sichern Sie Ihre Daten jetzt!"
|
4805 |
|
4806 |
+
#: inc/class-page-backwpup.php:130
|
4807 |
#@ backwpup
|
4808 |
msgid "First steps"
|
4809 |
msgstr "Erste Schritte"
|
4810 |
|
4811 |
+
#: inc/class-page-editjob.php:434
|
4812 |
#@ backwpup
|
4813 |
msgid "Tasks"
|
4814 |
msgstr "Aufgaben"
|
4815 |
|
4816 |
+
#: inc/class-page-editjob.php:629
|
4817 |
#@ backwpup
|
4818 |
msgid "Start job with CLI"
|
4819 |
msgstr "Auftrag per CLI starten"
|
4943 |
msgid "%d. Try to send backup file to Dropbox …"
|
4944 |
msgstr "%d. Versuche, Backup zur Dropbox zu schicken …"
|
4945 |
|
4946 |
+
#: inc/class-destination-email.php:230
|
4947 |
#, php-format
|
4948 |
#@ backwpup
|
4949 |
msgid "%d. Try to send backup with email …"
|
4981 |
msgid "Attention! You have updated from version 2.x"
|
4982 |
msgstr "Achtung! Sie haben von Version 2.x aktualisiert."
|
4983 |
|
4984 |
+
#: inc/class-page-editjob.php:754
|
4985 |
#@ backwpup
|
4986 |
msgid "Minutes:"
|
4987 |
msgstr "Minuten:"
|
5048 |
msgid "All your passwords"
|
5049 |
msgstr "All Ihre Passwörter"
|
5050 |
|
5051 |
+
#: inc/class-page-editjob.php:418
|
5052 |
#@ backwpup
|
5053 |
msgid "Name of this job"
|
5054 |
msgstr "Name des Auftrags"
|
5055 |
|
5056 |
+
#: inc/class-page-editjob.php:430
|
5057 |
#@ backwpup
|
5058 |
msgid "What the job does"
|
5059 |
msgstr "Was der Auftrag tut"
|
5060 |
|
5061 |
+
#: inc/class-page-editjob.php:466
|
5062 |
#@ backwpup
|
5063 |
msgid "Synchronize file by file to destination"
|
5064 |
msgstr "Synchronisiere Datei für Datei zum Auftragsziel"
|
5065 |
|
5066 |
+
#: inc/class-page-editjob.php:476
|
5067 |
#@ backwpup
|
5068 |
msgid "Archive name"
|
5069 |
msgstr "Archivname"
|
5156 |
msgid "You can back up all your attachments, also all system files, plugins and themes in a single file. You can <a href=\"%s\">create a job</a> to update a backup copy of your file system only when files are changed."
|
5157 |
msgstr "Sie können all Ihre Anhänge sichern, ebenso alle Systemdateien, Plugins und Themes – in einer einzigen Datei. Sie können einen <a href=\\\"%s\\\">Auftrag erstellen</a>, um die Sicherungskopie nur dann zu aktualisieren, wenn sich tatsächlich eine Datei geändert hat."
|
5158 |
|
5159 |
+
#: inc/class-page-editjob.php:622
|
5160 |
#@ backwpup
|
5161 |
msgid "Copy the link for an external start. This option has to be activated to make the link work."
|
5162 |
msgstr "Kopieren Sie den Link für einen externen Auftragsstart. Diese Option muss erst aktiviert werden, damit der Link funktioniert."
|
5163 |
|
5164 |
+
#: inc/class-page-editjob.php:632
|
5165 |
#, php-format
|
5166 |
#@ backwpup
|
5167 |
msgid "Use <a href=\"http://wp-cli.org/\">WP-CLI</a> to run jobs from commandline or <a href=\"%s\">get the start script</a>."
|
5168 |
msgstr "Verwenden Sie <a href=\"http://wp-cli.org/\">WP-CLI</a>, um Aufträge per Kommandozeile auszulösen, oder <a href=\"%s\">dieses Start-Script</a>."
|
5169 |
|
5170 |
+
#: inc/class-page-editjob.php:633
|
5171 |
#@ backwpup
|
5172 |
msgid "Generate a server script file to let the job start with the server’s cron on command line interface. Or use WP-CLI commands."
|
5173 |
msgstr "Erzeugen Sie ein Serverscript, um einen Auftrag per Kommandoziele auszulösen, oder benutzen Sie WP-CLI."
|
5174 |
|
5175 |
+
#: inc/class-page-editjob.php:483
|
5176 |
#, php-format
|
5177 |
#@ backwpup
|
5178 |
msgid "%d = Day of the month, 2 digits with leading zeros"
|
5179 |
msgstr "%d = Tag des Monat, zwei Ziffern mit führender Null"
|
5180 |
|
5181 |
+
#: inc/class-page-editjob.php:484
|
5182 |
#, php-format
|
5183 |
#@ backwpup
|
5184 |
msgid "%j = Day of the month without leading zeros"
|
5185 |
msgstr "%j = Tag des Monat ohne führend Null"
|
5186 |
|
5187 |
+
#: inc/class-page-editjob.php:485
|
5188 |
#, php-format
|
5189 |
#@ backwpup
|
5190 |
msgid "%m = Numeric representation of a month, two digits with leading zeros"
|
5191 |
msgstr "%m = Numerische Angabe des Monats, zwei Ziffern mit führender Null"
|
5192 |
|
5193 |
+
#: inc/class-page-editjob.php:486
|
5194 |
#, php-format
|
5195 |
#@ backwpup
|
5196 |
msgid "%n = Numeric representation of a month without leading zeros"
|
5197 |
msgstr "%n = Numerische Angabe des Monats ohne führende Null"
|
5198 |
|
5199 |
+
#: inc/class-page-editjob.php:487
|
5200 |
#, php-format
|
5201 |
#@ backwpup
|
5202 |
msgid "%Y = Four digit representation of a year"
|
5203 |
msgstr "%Y = Vierstellige Angabe des Jahres"
|
5204 |
|
5205 |
+
#: inc/class-page-editjob.php:488
|
5206 |
#, php-format
|
5207 |
#@ backwpup
|
5208 |
msgid "%y = Two digit representation of a year with leading zeros"
|
5209 |
msgstr "%y = Zweistellige Angabe des Jahres mit führender Null"
|
5210 |
|
5211 |
+
#: inc/class-page-editjob.php:489
|
5212 |
#, php-format
|
5213 |
#@ backwpup
|
5214 |
msgid "%a = Lowercase Ante meridiem and Post meridiem"
|
5215 |
msgstr "%a = Klein geschriebene Tageszeit ante meridiem und post meridiem"
|
5216 |
|
5217 |
+
#: inc/class-page-editjob.php:490
|
5218 |
#, php-format
|
5219 |
#@ backwpup
|
5220 |
msgid "%A = Uppercase Ante meridiem and Post meridiem"
|
5221 |
msgstr "%A = Groß geschriebene Tageszeit ante meridiem und post meridiem"
|
5222 |
|
5223 |
+
#: inc/class-page-editjob.php:491
|
5224 |
#, php-format
|
5225 |
#@ backwpup
|
5226 |
msgid "%B = Swatch Internet time"
|
5227 |
msgstr "%B = Swatch-Internetzeit"
|
5228 |
|
5229 |
+
#: inc/class-page-editjob.php:492
|
5230 |
#, php-format
|
5231 |
#@ backwpup
|
5232 |
msgid "%g = 12-hour format of an hour without leading zeros"
|
5233 |
msgstr "%g = Zwölfstundenformat ohne führende Null"
|
5234 |
|
5235 |
+
#: inc/class-page-editjob.php:493
|
5236 |
#, php-format
|
5237 |
#@ backwpup
|
5238 |
msgid "%G = 24-hour format of an hour without leading zeros"
|
5239 |
msgstr "%G = Vierundzwanzigstundenformat ohne führende Null"
|
5240 |
|
5241 |
+
#: inc/class-page-editjob.php:494
|
5242 |
#, php-format
|
5243 |
#@ backwpup
|
5244 |
msgid "%h = 12-hour format of an hour with leading zeros"
|
5245 |
msgstr "%h = Zwölfstundenformat mit führender Null"
|
5246 |
|
5247 |
+
#: inc/class-page-editjob.php:495
|
5248 |
#, php-format
|
5249 |
#@ backwpup
|
5250 |
msgid "%H = 24-hour format of an hour with leading zeros"
|
5251 |
msgstr "%H = Vierundzwanzigstundenformat mit führender Null"
|
5252 |
|
5253 |
+
#: inc/class-page-editjob.php:496
|
5254 |
#, php-format
|
5255 |
#@ backwpup
|
5256 |
msgid "%i = Minutes with leading zeros"
|
5257 |
msgstr "%i = Minutenangabe mit führender Null"
|
5258 |
|
5259 |
+
#: inc/class-page-editjob.php:497
|
5260 |
#, php-format
|
5261 |
#@ backwpup
|
5262 |
msgid "%s = Seconds with leading zeros"
|
5263 |
msgstr "%s = Sekundenangabe mit führender Null"
|
5264 |
|
5265 |
+
#: inc/class-page-editjob.php:498
|
5266 |
#, php-format
|
5267 |
#@ backwpup
|
5268 |
msgid "%u = Microseconds"
|
5269 |
msgstr "%u = Mikrosekunden"
|
5270 |
|
5271 |
+
#: inc/class-page-editjob.php:499
|
5272 |
#, php-format
|
5273 |
#@ backwpup
|
5274 |
msgid "%U = Seconds since the Unix epoch"
|
5275 |
msgstr "%U = Sekunden seit Beginn der UNIX-Zeit"
|
5276 |
|
5277 |
+
#: inc/class-page-editjob.php:503
|
5278 |
#@ backwpup
|
5279 |
msgid "Replacement patterns:"
|
5280 |
msgstr "Ersetzungsmuster:"
|
5333 |
msgid "First set up a job, and plan what you want to save. Please note: the plugin author gives no warranty for your data."
|
5334 |
msgstr "Erstellen Sie erst einen Auftrag, und planen Sie, was Sie sichern möchten. Bitte beachten Sie: Die Pluginautoren übernehmen keine Gewähr für Ihre Daten."
|
5335 |
|
5336 |
+
#: inc/class-page-editjob.php:310
|
5337 |
#@ backwpup
|
5338 |
msgid "Working as <a href=\"http://wikipedia.org/wiki/Cron\">Cron</a> schedule:"
|
5339 |
msgstr "Als <a href=\\\"http://de.wikipedia.org/wiki/Cron\\\">Cron-Job</a> ausführen:"
|
5402 |
msgid "Include special files"
|
5403 |
msgstr "Spezielle Dateien einschließen"
|
5404 |
|
5405 |
+
#: inc/features/class-jobtype-dbdump-pro.php:788
|
5406 |
#, php-format
|
5407 |
#@ backwpup
|
5408 |
msgid "Dump database structure \"%s\""
|
5416 |
#: inc/class-create-archive.php:78
|
5417 |
#: inc/class-create-archive.php:128
|
5418 |
#: inc/class-create-archive.php:141
|
5419 |
+
#: inc/class-mysqldump.php:106
|
5420 |
#@ backwpup
|
5421 |
msgid "Functions for gz compression not available"
|
5422 |
msgstr "Die Funktionen für die Gzip-Kompression sind nicht verfügbar."
|
5423 |
|
5424 |
#: inc/class-create-archive.php:93
|
5425 |
#: inc/class-create-archive.php:147
|
5426 |
+
#: inc/class-mysqldump.php:110
|
5427 |
#@ backwpup
|
5428 |
msgid "Functions for bz2 compression not available"
|
5429 |
msgstr "Die Funktionen für die Bz2-Kompression sind nicht verfügbar."
|
5454 |
msgid "ZipArchive returns status: %s"
|
5455 |
msgstr "Das Zip-Archive liefert den Status: %s"
|
5456 |
|
5457 |
+
#: inc/class-job.php:1613
|
5458 |
#, php-format
|
5459 |
#@ backwpup
|
5460 |
msgid "%d. Trying to create backup archive …"
|
5461 |
msgstr "%d. Versuche, Backup zu erstellen …"
|
5462 |
|
5463 |
+
#: inc/class-job.php:1620
|
5464 |
#, php-format
|
5465 |
#@ backwpup
|
5466 |
msgctxt "Archive compression method"
|
5467 |
msgid "Compression method is %s"
|
5468 |
msgstr "Komprimierungsmethode ist %s"
|
5469 |
|
5470 |
+
#: inc/class-job.php:1647
|
5471 |
#@ backwpup
|
5472 |
msgid "Backup archive created."
|
5473 |
msgstr "Backup wurde erstellt."
|
5474 |
|
5475 |
+
#: inc/class-mysqldump.php:122
|
5476 |
#@ backwpup
|
5477 |
msgid "Can not open dump file"
|
5478 |
msgstr "Konnte Backup nicht öffnen"
|
5479 |
|
5480 |
+
#: inc/class-mysqldump.php:383
|
5481 |
#@ backwpup
|
5482 |
msgid "Error on writing to file!"
|
5483 |
msgstr "Fehler beim Schreiben!"
|
5498 |
msgid "XML File (phpMyAdmin schema)"
|
5499 |
msgstr "XML-Datei (phpMyAdmin-Schema9"
|
5500 |
|
5501 |
+
#: inc/features/class-jobtype-dbdump-pro.php:628
|
5502 |
#, php-format
|
5503 |
#@ backwpup
|
5504 |
msgctxt "Executed shell_exec() command"
|
5505 |
msgid "CLI Exec: %s"
|
5506 |
msgstr "CLI-Exec: %s"
|
5507 |
|
5508 |
+
#: inc/features/class-jobtype-dbdump-pro.php:631
|
5509 |
#, php-format
|
5510 |
#@ backwpup
|
5511 |
msgctxt "Output of a shell_exec()"
|
5555 |
msgid "This archive method can only add one file"
|
5556 |
msgstr "Diese Archive-Methode kann nur eine einziges Datei sichern."
|
5557 |
|
5558 |
+
#: inc/class-mysqldump.php:92
|
5559 |
#, php-format
|
5560 |
#@ backwpup
|
5561 |
msgctxt "Database Charset"
|
5562 |
msgid "Can not set DB charset to %s"
|
5563 |
msgstr "Kann Datenbank-Zeichenkodierung nicht auf %s setzen."
|
5564 |
|
5565 |
+
#: inc/class-page-backwpup.php:149
|
5566 |
#@ backwpup
|
5567 |
msgid "One click backup"
|
5568 |
msgstr "Ein-Klick-Backup"
|
5572 |
msgid "Path to the mysqldump file so a backup can be made with it. If it is correct and <em>shell_exec</em> is active the backup will made with a system command. If <em>shell_exec</em> not active this is disabled"
|
5573 |
msgstr "Pfad zur MySQL-Datei, mit der ein Backup erstellt werden kann. Wenn es korrekt ist und <em>shell_exec</em> funktioniert, kann das Backup mit einem Systemkommando ausgelöst werden. Dies wird deaktiviert, wenn <em>shell_exec</em> nicht verfügbar ist."
|
5574 |
|
5575 |
+
#: inc/class-page-backwpup.php:151
|
5576 |
#@ backwpup
|
5577 |
msgid "Generate a database backup of WordPress tables and download it immediately!"
|
5578 |
msgstr "Datenbank-Backup der WordPress-Tabellen erstellen und herunterladen."
|
5592 |
msgid "File %s does not exist or is not readable"
|
5593 |
msgstr "Die Datei %s existiert nicht, oder sie ist nicht lesbar."
|
5594 |
|
5595 |
+
#: inc/class-page-backwpup.php:151
|
5596 |
#@ backwpup
|
5597 |
msgid "Download database backup"
|
5598 |
msgstr "Datenbank-Backup herunterladen"
|
5618 |
msgid "[INFO] %1$s version %2$s; WordPress version %3$s; A project of Inpsyde GmbH developed by Daniel Hüsken"
|
5619 |
msgstr "[INFO] %1$s Version %2$s; WordPress Version %3$s; Ein Projekt der Inpsyde GmbH, entwickelt von Daniel Hüsken"
|
5620 |
|
|
|
|
|
|
|
|
|
|
|
|
|
5621 |
#: inc/class-page-about.php:103
|
5622 |
#@ backwpup
|
5623 |
msgid "Please activate your license"
|
5652 |
msgid "Plugin on wordpress.org"
|
5653 |
msgstr "Plugin auf wordpress.org"
|
5654 |
|
5655 |
+
#: inc/class-job.php:1569
|
5656 |
#, php-format
|
5657 |
#@ backwpup
|
5658 |
msgctxt "Folder name"
|
5659 |
msgid "Folder %s not exists"
|
5660 |
msgstr "Verzeichnis %s existiert nicht"
|
5661 |
|
5662 |
+
#: inc/class-job.php:1573
|
5663 |
#, php-format
|
5664 |
#@ backwpup
|
5665 |
msgctxt "Folder name"
|
5853 |
msgid "GET PRO"
|
5854 |
msgstr "GET PRO"
|
5855 |
|
5856 |
+
#. translators: plugin header field 'Version'
|
5857 |
+
#: backwpup.php:0
|
5858 |
+
#@ backwpup
|
5859 |
+
msgid "3.0.1"
|
5860 |
+
msgstr ""
|
5861 |
+
|
5862 |
+
#: inc/class-destination-s3.php:187
|
5863 |
+
#@ backwpup
|
5864 |
+
msgid "Multipart Upload"
|
5865 |
+
msgstr "Multipart Upload"
|
5866 |
+
|
5867 |
+
#: inc/class-destination-s3.php:191
|
5868 |
+
#@ backwpup
|
5869 |
+
msgid "Use multipart upload for uploading a file"
|
5870 |
+
msgstr "Benutze Multipart Upload zu hochladen der Datei"
|
5871 |
+
|
5872 |
+
#: inc/class-destination-s3.php:192
|
5873 |
+
#@ backwpup
|
5874 |
+
msgid "Mutipart split the file into peaces of chucks while uploading. It is needed for displaying upload process and can transfer bigger files. Im moment there are problems on Google storage with this option"
|
5875 |
+
msgstr "Multipart splittet den Upload in mehrere teile auf. Das wird benötigt um die Fortschrittsanzeige zu machen und um groß Dateien hochzuladen. Im moment gibt es mit dieser Option Probleme bei Google Storage"
|
5876 |
+
|
5877 |
+
#: inc/class-destination-s3.php:393
|
5878 |
+
#, php-format
|
5879 |
+
#@ backwpup
|
5880 |
+
msgid "Connected to S3 Bucket \"%1$s\" in %2$s"
|
5881 |
+
msgstr "Verbunden zum S3 Bucket \"%1$s\" in %2$s"
|
5882 |
+
|
5883 |
+
#: inc/class-destination-email.php:90
|
5884 |
+
#@ backwpup
|
5885 |
+
msgid "Sender name"
|
5886 |
+
msgstr "Absender NAme"
|
5887 |
+
|
5888 |
+
#: inc/class-destination-email.php:94
|
5889 |
+
#@ backwpup
|
5890 |
+
msgid "Name of email sender"
|
5891 |
+
msgstr "Name des Absenders der E-Mail"
|
5892 |
+
|
5893 |
+
#: inc/class-page-editjob.php:566
|
5894 |
+
#@ backwpup
|
5895 |
+
msgid "Send to email address"
|
5896 |
+
msgstr "Sende zur E-Mail Adresse"
|
5897 |
+
|
5898 |
+
#: inc/class-page-editjob.php:574
|
5899 |
+
#@ backwpup
|
5900 |
+
msgid "Email sender name"
|
5901 |
+
msgstr "E-Mail Absender Name"
|
5902 |
+
|
5903 |
+
#: inc/class-page-editjob.php:578
|
5904 |
+
#@ backwpup
|
5905 |
+
msgid "Name and email of email sender in the mail formant. Name <emailadress>"
|
5906 |
+
msgstr "Name des E-Mail Senders im E-MAil formart. <code>Name <E-Mail-Adresse></code>"
|
5907 |
+
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: inpsyde, danielhuesken, Bueltge, nullbyte
|
|
3 |
Tags: backup, dump, database, file, ftp, xml, time, upload, multisite, cloud, dropbox, storage, S3
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.5.1
|
6 |
-
Stable tag: 3.0.
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
@@ -15,29 +15,36 @@ The backup files can be used to save your whole installation including `/wp-cont
|
|
15 |
and push them to an external Backup Service, if you don’t want to save the backups on
|
16 |
the same server. With the single backup .zip file you are able to restore an installation.
|
17 |
|
18 |
-
* Database Backup
|
19 |
* WordPress XML Export
|
20 |
* Generate a file with installed plugins
|
21 |
* Optimize Database
|
22 |
* Check and repair Database
|
23 |
* File backup
|
24 |
-
*
|
25 |
-
* Backups in zip, tar, tar.gz, tar.bz2 format
|
26 |
* Store backup to directory
|
27 |
-
* Store backup to FTP server
|
28 |
-
* Store backup to S3 services
|
29 |
-
* Store backup to Microsoft Azure (Blob)
|
30 |
-
* Store backup to RackSpaceCloud
|
31 |
-
* Store backup to Dropbox
|
32 |
-
* Store backup to SugarSync
|
33 |
* Send logs and backups by email
|
34 |
* Multi-site support only as network admin
|
35 |
|
36 |
Get the Pro Version: http://marketpress.com/product/backwpup-pro/
|
37 |
|
38 |
-
**
|
39 |
|
40 |
-
**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
== Frequently Asked Questions ==
|
43 |
|
@@ -75,6 +82,20 @@ Please check all settings after the update:
|
|
75 |
|
76 |
== Changelog ==
|
77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
= Version 3.0 =
|
79 |
* Added: Jobs can now be started with an external link or per command line
|
80 |
* Added: Backups can now be compressed with gz or bzip2
|
3 |
Tags: backup, dump, database, file, ftp, xml, time, upload, multisite, cloud, dropbox, storage, S3
|
4 |
Requires at least: 3.2
|
5 |
Tested up to: 3.5.1
|
6 |
+
Stable tag: 3.0.2
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
15 |
and push them to an external Backup Service, if you don’t want to save the backups on
|
16 |
the same server. With the single backup .zip file you are able to restore an installation.
|
17 |
|
18 |
+
* Database Backup *(needs mysqli)*
|
19 |
* WordPress XML Export
|
20 |
* Generate a file with installed plugins
|
21 |
* Optimize Database
|
22 |
* Check and repair Database
|
23 |
* File backup
|
24 |
+
* Backups in zip, tar, tar.gz, tar.bz2 format *(needs gz, bz2, ZipArchive)*
|
|
|
25 |
* Store backup to directory
|
26 |
+
* Store backup to FTP server *(needs ftp)*
|
27 |
+
* Store backup to S3 services *(needs PHP 5.3.3, curl)*
|
28 |
+
* Store backup to Microsoft Azure (Blob) *(needs PHP 5.3.2, curl)*
|
29 |
+
* Store backup to RackSpaceCloud *(needs PHP 5.3.2, curl)*
|
30 |
+
* Store backup to Dropbox *(needs curl)*
|
31 |
+
* Store backup to SugarSync *(needs curl)*
|
32 |
* Send logs and backups by email
|
33 |
* Multi-site support only as network admin
|
34 |
|
35 |
Get the Pro Version: http://marketpress.com/product/backwpup-pro/
|
36 |
|
37 |
+
**WordPress 3.2 and PHP 5.2.6 required!**
|
38 |
|
39 |
+
**To use the Plugin with full functionality PHP 5.3.3 with mysqli, FTP,gz, bz2, ZipArchive and curl is needed.**
|
40 |
+
|
41 |
+
**Plugin functions that don't work will be not displayed.**
|
42 |
+
|
43 |
+
**Test your Backups!**
|
44 |
+
|
45 |
+
**Made by [Inpsyde](http://inpsyde.com) · We love WordPress**
|
46 |
+
|
47 |
+
Have a look at the premium plugins in our [market](http://marketpress.com).
|
48 |
|
49 |
== Frequently Asked Questions ==
|
50 |
|
82 |
|
83 |
== Changelog ==
|
84 |
|
85 |
+
= Version 3.0.2 =
|
86 |
+
* Fixed: Warnings on job edit tab files
|
87 |
+
* Fixed: folder name on temp cleanup in cron
|
88 |
+
* Fixed: Setting charset on sql backup
|
89 |
+
* Fixed: DB Connection on database backup if hostname has a port
|
90 |
+
* Fixed: Call undefined function apc_clear_cache()
|
91 |
+
* Fixed: wp-content selected folders not excluded
|
92 |
+
* Added: Deactivation off multi part upload for S3 Services
|
93 |
+
* Added: fallback for mysql_ping()
|
94 |
+
* Added: Options for email senders name
|
95 |
+
* Changed: 5 minutes cron steps back
|
96 |
+
* Removed: Flashing admin bar icon
|
97 |
+
* Updated: OpenCloud API to Version 1.4.1
|
98 |
+
|
99 |
= Version 3.0 =
|
100 |
* Added: Jobs can now be started with an external link or per command line
|
101 |
* Added: Backups can now be compressed with gz or bzip2
|
sdk/OpenCloud/asyncresponse.php
ADDED
@@ -0,0 +1,79 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The Rackspace Cloud DNS service asynchronous response object
|
4 |
+
*
|
5 |
+
* @copyright 2012-2013 Rackspace Hosting, Inc.
|
6 |
+
* See COPYING for licensing information
|
7 |
+
*
|
8 |
+
* @package phpOpenCloud
|
9 |
+
* @version 1.0
|
10 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace OpenCloud\DNS;
|
14 |
+
|
15 |
+
require_once(__DIR__.'/persistentobject.php');
|
16 |
+
|
17 |
+
/**
|
18 |
+
* The AsyncResponse class encapsulates the data returned by a Cloud DNS
|
19 |
+
* asynchronous response.
|
20 |
+
*/
|
21 |
+
class AsyncResponse extends \OpenCloud\PersistentObject {
|
22 |
+
|
23 |
+
public
|
24 |
+
$jobId,
|
25 |
+
$callbackUrl,
|
26 |
+
$status,
|
27 |
+
$requestUrl,
|
28 |
+
$verb,
|
29 |
+
$request,
|
30 |
+
$response,
|
31 |
+
$error;
|
32 |
+
|
33 |
+
protected static
|
34 |
+
$json_name=FALSE;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* constructs a new AsyncResponse object from a JSON
|
38 |
+
* string
|
39 |
+
*
|
40 |
+
* @param \OpenCloud\Service $service the calling service
|
41 |
+
* @param string $json the json response from the initial request
|
42 |
+
*/
|
43 |
+
public function __construct(\OpenCloud\Service $service, $json=NULL) {
|
44 |
+
if (!$json)
|
45 |
+
return;
|
46 |
+
$obj = json_decode($json);
|
47 |
+
if ($this->CheckJsonError())
|
48 |
+
return;
|
49 |
+
parent::__construct($service, $obj);
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* URL for status
|
54 |
+
*
|
55 |
+
* We always show details
|
56 |
+
*
|
57 |
+
* @return string
|
58 |
+
*/
|
59 |
+
public function Url($subresource=NULL, $qstr=array()) {
|
60 |
+
return $this->callbackUrl.'?showDetails=True';
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* returns the Name of the request (the job ID)
|
65 |
+
*
|
66 |
+
* @return string
|
67 |
+
*/
|
68 |
+
public function Name() {
|
69 |
+
return $this->jobId;
|
70 |
+
}
|
71 |
+
|
72 |
+
/**
|
73 |
+
* overrides for methods
|
74 |
+
*/
|
75 |
+
public function Create($parm=array()) { return $this->NoCreate(); }
|
76 |
+
public function Update($parm=array()) { return $this->NoUpdate(); }
|
77 |
+
public function Delete() { return $this->NoDelete(); }
|
78 |
+
public function PrimaryKeyField() { return 'jobId'; }
|
79 |
+
}
|
sdk/OpenCloud/compute.php
CHANGED
@@ -76,6 +76,13 @@ class Compute extends Nova {
|
|
76 |
$urltype
|
77 |
);
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
// load extension namespaces
|
80 |
$this->load_namespaces();
|
81 |
} // function __construct()
|
76 |
$urltype
|
77 |
);
|
78 |
|
79 |
+
// check the URL version
|
80 |
+
$path = parse_url($this->Url(), PHP_URL_PATH);
|
81 |
+
if (substr($path, 0, 3) == '/v1')
|
82 |
+
throw new Compute\UnsupportedVersionError(sprintf(
|
83 |
+
_('Sorry; API version /v1 is not supported [%s]'),
|
84 |
+
$this->Url()));
|
85 |
+
|
86 |
// load extension namespaces
|
87 |
$this->load_namespaces();
|
88 |
} // function __construct()
|
sdk/OpenCloud/dataobject.php
CHANGED
@@ -37,7 +37,15 @@ class DataObject extends ObjStoreBase {
|
|
37 |
private
|
38 |
$data, // the actual data
|
39 |
$etag, // the ETag
|
40 |
-
$container
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
/**
|
43 |
* A DataObject is related to a container and has a name
|
@@ -125,9 +133,10 @@ class DataObject extends ObjStoreBase {
|
|
125 |
*/
|
126 |
$this->debug('Uploading %u bytes from %s', $filesize, $filename);
|
127 |
}
|
128 |
-
else
|
129 |
// compute the length
|
130 |
$this->content_length = strlen($this->data);
|
|
|
131 |
|
132 |
// flag missing Content-Type
|
133 |
if (!$this->content_type)
|
@@ -160,8 +169,17 @@ class DataObject extends ObjStoreBase {
|
|
160 |
return FALSE;
|
161 |
}
|
162 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
if ($fp)
|
164 |
fclose($fp);
|
|
|
165 |
return $response;
|
166 |
} // create()
|
167 |
|
@@ -250,6 +268,53 @@ class DataObject extends ObjStoreBase {
|
|
250 |
return $this->container;
|
251 |
}
|
252 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
/**
|
254 |
* Sets object data from string
|
255 |
*
|
37 |
private
|
38 |
$data, // the actual data
|
39 |
$etag, // the ETag
|
40 |
+
$container, // the container used by this object
|
41 |
+
/**
|
42 |
+
* this array translates header values (returned by requests) into
|
43 |
+
* properties
|
44 |
+
*/
|
45 |
+
$header_translate = array(
|
46 |
+
'Etag' => 'hash',
|
47 |
+
'Last-Modified' => 'last_modified'
|
48 |
+
);
|
49 |
|
50 |
/**
|
51 |
* A DataObject is related to a container and has a name
|
133 |
*/
|
134 |
$this->debug('Uploading %u bytes from %s', $filesize, $filename);
|
135 |
}
|
136 |
+
else {
|
137 |
// compute the length
|
138 |
$this->content_length = strlen($this->data);
|
139 |
+
}
|
140 |
|
141 |
// flag missing Content-Type
|
142 |
if (!$this->content_type)
|
169 |
return FALSE;
|
170 |
}
|
171 |
|
172 |
+
// set values from response
|
173 |
+
foreach($response->Headers() as $key => $value) {
|
174 |
+
if (isset($this->header_translate[$key])) {
|
175 |
+
$this->{$this->header_translate[$key]} = $value;
|
176 |
+
}
|
177 |
+
}
|
178 |
+
|
179 |
+
// close the file handle
|
180 |
if ($fp)
|
181 |
fclose($fp);
|
182 |
+
|
183 |
return $response;
|
184 |
} // create()
|
185 |
|
268 |
return $this->container;
|
269 |
}
|
270 |
|
271 |
+
/**
|
272 |
+
* returns the TEMP_URL for the object
|
273 |
+
*
|
274 |
+
* Some notes:
|
275 |
+
* * The `$secret` value is arbitrary; it must match the value set for
|
276 |
+
* the `X-Account-Meta-Temp-URL-Key` on the account level. This can be
|
277 |
+
* set by calling `$service->SetTempUrlSecret($secret)`.
|
278 |
+
* * The `$expires` value is the number of seconds you want the temporary
|
279 |
+
* URL to be valid for. For example, use `60` to make it valid for a
|
280 |
+
* minute
|
281 |
+
* * The `$method` must be either GET or PUT. No other methods are
|
282 |
+
* supported.
|
283 |
+
*
|
284 |
+
* @param string $secret the shared secret
|
285 |
+
* @param integer $expires the expiration time (in seconds)
|
286 |
+
* @param string $method either GET or PUT
|
287 |
+
* @return string the temporary URL
|
288 |
+
*/
|
289 |
+
public function TempUrl($secret, $expires, $method) {
|
290 |
+
$method = strtoupper($method);
|
291 |
+
$expiry_time = time() + $expires;
|
292 |
+
|
293 |
+
// check for proper method
|
294 |
+
switch($method) {
|
295 |
+
case 'GET':
|
296 |
+
case 'PUT':
|
297 |
+
break;
|
298 |
+
default:
|
299 |
+
throw new TempUrlMethodError(sprintf(
|
300 |
+
_('Bad method [%s] for TempUrl; only GET or PUT supported'),
|
301 |
+
$method));
|
302 |
+
}
|
303 |
+
|
304 |
+
// construct the URL
|
305 |
+
$url = $this->Url();
|
306 |
+
$path = parse_url($url, PHP_URL_PATH);
|
307 |
+
$temp_url = sprintf('%s?temp_url_sig=%s&temp_url_expires=%d',
|
308 |
+
$url,
|
309 |
+
hash_hmac('sha1', "$method\n$expires\n$path", $secret),
|
310 |
+
$expiry_time);
|
311 |
+
|
312 |
+
// debug that stuff
|
313 |
+
$this->debug('TempUrl generated [%s]', $temp_url);
|
314 |
+
|
315 |
+
return $temp_url;
|
316 |
+
}
|
317 |
+
|
318 |
/**
|
319 |
* Sets object data from string
|
320 |
*
|
sdk/OpenCloud/dns.php
ADDED
@@ -0,0 +1,250 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The Rackspace Cloud DNS service
|
4 |
+
*
|
5 |
+
* @copyright 2012-2013 Rackspace Hosting, Inc.
|
6 |
+
* See COPYING for licensing information
|
7 |
+
*
|
8 |
+
* @package phpOpenCloud
|
9 |
+
* @version 1.0
|
10 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace OpenCloud;
|
14 |
+
|
15 |
+
require_once(__DIR__.'/asyncresponse.php');
|
16 |
+
require_once(__DIR__.'/domain.php');
|
17 |
+
require_once(__DIR__.'/record.php');
|
18 |
+
require_once(__DIR__.'/ptrrecord.php');
|
19 |
+
require_once(__DIR__.'/service.php');
|
20 |
+
|
21 |
+
class DNS extends Service {
|
22 |
+
|
23 |
+
/**
|
24 |
+
* creates a new DNS object
|
25 |
+
*
|
26 |
+
* @param \OpenCloud\OpenStack $conn connection object
|
27 |
+
* @param string $serviceName the name of the service
|
28 |
+
* @param string $serviceRegion (not currently used; DNS is regionless)
|
29 |
+
* @param string $urltype the type of URL
|
30 |
+
*/
|
31 |
+
public function __construct(OpenStack $conn,
|
32 |
+
$serviceName, $serviceRegion, $urltype) {
|
33 |
+
$this->debug(_('initializing DNS...'));
|
34 |
+
parent::__construct(
|
35 |
+
$conn,
|
36 |
+
'rax:dns',
|
37 |
+
$serviceName,
|
38 |
+
$serviceRegion,
|
39 |
+
$urltype
|
40 |
+
);
|
41 |
+
} // function __construct()
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Returns the selected endpoint URL of this Service
|
45 |
+
*
|
46 |
+
* @param string $resource - a child resource. For example,
|
47 |
+
* passing 'servers' would return .../servers. Should *not* be
|
48 |
+
* prefixed with a slash (/).
|
49 |
+
* @param array $args (optional) an array of key-value pairs for query
|
50 |
+
* strings to append to the URL
|
51 |
+
* @returns string - the requested URL
|
52 |
+
*/
|
53 |
+
public function Url($resource='', $args=array()) {
|
54 |
+
$baseurl = parent::Url();
|
55 |
+
if ($resource != '')
|
56 |
+
$baseurl = noslash($baseurl).'/'.$resource;
|
57 |
+
if (!empty($args))
|
58 |
+
$baseurl .= '?'.$this->MakeQueryString($args);
|
59 |
+
return $baseurl;
|
60 |
+
}
|
61 |
+
|
62 |
+
/**
|
63 |
+
* returns a DNS::Domain object
|
64 |
+
*
|
65 |
+
* @api
|
66 |
+
* @param mixed $info either the ID, an object, or array of parameters
|
67 |
+
* @return DNS\Domain
|
68 |
+
*/
|
69 |
+
public function Domain($info=NULL) {
|
70 |
+
return new DNS\Domain($this, $info);
|
71 |
+
}
|
72 |
+
|
73 |
+
/**
|
74 |
+
* returns a Collection of DNS::Domain objects
|
75 |
+
*
|
76 |
+
* @api
|
77 |
+
* @param array $filter key/value pairs to use as query strings
|
78 |
+
* @return \OpenCloud\Collection
|
79 |
+
*/
|
80 |
+
public function DomainList($filter=array()) {
|
81 |
+
$url = $this->Url(DNS\Domain::ResourceName(), $filter);
|
82 |
+
return $this->Collection('\OpenCloud\DNS\Domain', $url);
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* returns a PtrRecord object for a server
|
87 |
+
*
|
88 |
+
* @param mixed $info ID, array, or object containing record data
|
89 |
+
* @return Record
|
90 |
+
*/
|
91 |
+
public function PtrRecord($info=NULL) {
|
92 |
+
return new DNS\PtrRecord($this, $info);
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* returns a Collection of PTR records for a given Server
|
97 |
+
*
|
98 |
+
* @param \OpenCloud\Compute\Server $server the server for which to
|
99 |
+
* retrieve the PTR records
|
100 |
+
* @return Collection
|
101 |
+
*/
|
102 |
+
public function PtrRecordList(\OpenCloud\Compute\Server $server) {
|
103 |
+
$service_name = $server->Service()->Name();
|
104 |
+
$url = $this->Url('rdns/'.$service_name);
|
105 |
+
$url .= '?' . $this->MakeQueryString(array('href'=>$server->Url()));
|
106 |
+
return $this->Collection('\OpenCloud\DNS\PtrRecord', $url);
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* performs a HTTP request
|
111 |
+
*
|
112 |
+
* This method overrides the request with JSON content type
|
113 |
+
*
|
114 |
+
* @param string $url the URL to target
|
115 |
+
* @param string $method the HTTP method to use
|
116 |
+
* @param array $headers key/value pairs for headers to include
|
117 |
+
* @param string $body the body of the request (for PUT and POST)
|
118 |
+
* @return \OpenCloud\HttpResponse
|
119 |
+
*/
|
120 |
+
public function Request($url,$method='GET',$headers=array(),$body=NULL) {
|
121 |
+
$headers['Accept'] = RAXSDK_CONTENT_TYPE_JSON;
|
122 |
+
$headers['Content-Type'] = RAXSDK_CONTENT_TYPE_JSON;
|
123 |
+
return parent::Request($url, $method, $headers, $body);
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* retrieves an asynchronous response
|
128 |
+
*
|
129 |
+
* This method calls the provided `$url` and expects an asynchronous
|
130 |
+
* response. It checks for various HTTP error codes and returns
|
131 |
+
* an `AsyncResponse` object. This object can then be used to poll
|
132 |
+
* for the status or to retrieve the final data as needed.
|
133 |
+
*
|
134 |
+
* @param string $url the URL of the request
|
135 |
+
* @param string $method the HTTP method to use
|
136 |
+
* @param array $headers key/value pairs for headers to include
|
137 |
+
* @param string $body the body of the request (for PUT and POST)
|
138 |
+
* @return DNS\AsyncResponse
|
139 |
+
*/
|
140 |
+
public function AsyncRequest(
|
141 |
+
$url, $method='GET', $headers=array(), $body=NULL) {
|
142 |
+
|
143 |
+
// perform the initial request
|
144 |
+
$resp = $this->Request($url, $method, $headers, $body);
|
145 |
+
|
146 |
+
// check response status
|
147 |
+
if ($resp->HttpStatus() > 204)
|
148 |
+
throw new DNS\AsyncHttpError(sprintf(
|
149 |
+
_('Unexpected HTTP status for async request: '.
|
150 |
+
'URL [%s] method [%s] status [%s] response [%s]'),
|
151 |
+
$url, $method, $resp->HttpStatus(), $resp->HttpBody()));
|
152 |
+
|
153 |
+
// debug
|
154 |
+
$this->debug('AsyncResponse [%s]', $resp->HttpBody());
|
155 |
+
|
156 |
+
// return an AsyncResponse object
|
157 |
+
return new DNS\AsyncResponse($this, $resp->HttpBody());
|
158 |
+
}
|
159 |
+
|
160 |
+
/**
|
161 |
+
* imports domain records
|
162 |
+
*
|
163 |
+
* Note that this function is called from the service (DNS) level, and
|
164 |
+
* not (as you might suspect) from the Domain object. Because the function
|
165 |
+
* return an AsyncResponse, the domain object will not actually exist
|
166 |
+
* until some point after the import has occurred.
|
167 |
+
*
|
168 |
+
* @api
|
169 |
+
* @param string $data the BIND_9 formatted data to import
|
170 |
+
* @return DNS\AsyncResponse
|
171 |
+
*/
|
172 |
+
public function Import($data) {
|
173 |
+
// determine the URL
|
174 |
+
$url = $this->Url('domains/import');
|
175 |
+
|
176 |
+
// create the JSON object
|
177 |
+
$obj = new \stdClass;
|
178 |
+
$obj->domains = array();
|
179 |
+
$dom = new \stdClass;
|
180 |
+
$dom->contents = $data;
|
181 |
+
$dom->contentType = 'BIND_9';
|
182 |
+
$obj->domains[] = $dom;
|
183 |
+
|
184 |
+
// encode it
|
185 |
+
$json = json_encode($obj);
|
186 |
+
|
187 |
+
// debug it
|
188 |
+
$this->debug('Importing [%s]', $json);
|
189 |
+
|
190 |
+
// perform the request
|
191 |
+
return $this->AsyncRequest($url, 'POST', array(), $json);
|
192 |
+
}
|
193 |
+
|
194 |
+
/**
|
195 |
+
* returns a list of limits
|
196 |
+
*
|
197 |
+
*/
|
198 |
+
public function Limits($type=NULL) {
|
199 |
+
$url = $this->url('limits');
|
200 |
+
if (isset($type))
|
201 |
+
$url .= '/'.$type;
|
202 |
+
|
203 |
+
// perform the request
|
204 |
+
$obj = $this->SimpleRequest($url);
|
205 |
+
|
206 |
+
if (isset($type))
|
207 |
+
return $obj;
|
208 |
+
else
|
209 |
+
return $obj->limits;
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* returns an array of limit types
|
214 |
+
*
|
215 |
+
* @return array
|
216 |
+
*/
|
217 |
+
public function LimitTypes() {
|
218 |
+
$url = $this->Url('limits/types');
|
219 |
+
$obj = $this->SimpleRequest($url);
|
220 |
+
return $obj->limitTypes;
|
221 |
+
}
|
222 |
+
|
223 |
+
/**
|
224 |
+
* performs a simple request and returns the JSON as an object
|
225 |
+
*
|
226 |
+
* @param string $url the URL to GET
|
227 |
+
*/
|
228 |
+
public function SimpleRequest($url) {
|
229 |
+
// perform the request
|
230 |
+
$resp = $this->Request($url);
|
231 |
+
|
232 |
+
// check for errors
|
233 |
+
if ($resp->HttpStatus() > 202)
|
234 |
+
throw new \OpenCloud\HttpError(sprintf(
|
235 |
+
_('Unexpected status [%s] for URL [%s], body [%s]'),
|
236 |
+
$resp->HttpStatus(),
|
237 |
+
$url,
|
238 |
+
$resp->HttpBody()));
|
239 |
+
|
240 |
+
// decode the JSON
|
241 |
+
$json = $resp->HttpBody();
|
242 |
+
$this->debug(_('Limit Types JSON [%s]'), $json);
|
243 |
+
$obj = json_decode($json);
|
244 |
+
if ($this->CheckJsonError())
|
245 |
+
return FALSE;
|
246 |
+
|
247 |
+
return $obj;
|
248 |
+
}
|
249 |
+
|
250 |
+
} // end class DNS
|
sdk/OpenCloud/dnsobject.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The Rackspace Cloud DNS persistent object
|
4 |
+
*
|
5 |
+
* @copyright 2012-2013 Rackspace Hosting, Inc.
|
6 |
+
* See COPYING for licensing information
|
7 |
+
*
|
8 |
+
* @package phpOpenCloud
|
9 |
+
* @version 1.0
|
10 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace OpenCloud\DNS;
|
14 |
+
|
15 |
+
require_once(__DIR__.'/persistentobject.php');
|
16 |
+
require_once(__DIR__.'/asyncresponse.php');
|
17 |
+
|
18 |
+
/**
|
19 |
+
* The DnsObject class is an extension of the PersistentObject class that
|
20 |
+
* permits the asynchronous responses used by Cloud DNS
|
21 |
+
*
|
22 |
+
*/
|
23 |
+
abstract class DnsObject extends \OpenCloud\PersistentObject {
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Create() returns an asynchronous response
|
27 |
+
*
|
28 |
+
* @param array $params array of key/value pairs
|
29 |
+
* @return AsyncResponse
|
30 |
+
*/
|
31 |
+
public function Create($params=array()) {
|
32 |
+
$resp = parent::Create($params);
|
33 |
+
return new AsyncResponse($this->Service(), $resp->HttpBody());
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Update() returns an asynchronous response
|
38 |
+
*
|
39 |
+
* @param array $params array of key/value pairs
|
40 |
+
* @return AsyncResponse
|
41 |
+
*/
|
42 |
+
public function Update($params=array()) {
|
43 |
+
$resp = parent::Update($params);
|
44 |
+
return new AsyncResponse($this->Service(), $resp->HttpBody());
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Delete() returns an asynchronous response
|
49 |
+
*
|
50 |
+
* @param array $params array of key/value pairs
|
51 |
+
* @return AsyncResponse
|
52 |
+
*/
|
53 |
+
public function Delete() {
|
54 |
+
$resp = parent::Delete();
|
55 |
+
return new AsyncResponse($this->Service(), $resp->HttpBody());
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* returns the create keys
|
60 |
+
*/
|
61 |
+
public function CreateKeys() {
|
62 |
+
return $this->_create_keys;
|
63 |
+
}
|
64 |
+
|
65 |
+
/* ---------- PROTECTED METHODS ---------- */
|
66 |
+
|
67 |
+
/**
|
68 |
+
* creates the JSON for create
|
69 |
+
*
|
70 |
+
* @return stdClass
|
71 |
+
*/
|
72 |
+
protected function CreateJson() {
|
73 |
+
$obj = new \stdClass;
|
74 |
+
if (!isset($this->_create_keys))
|
75 |
+
throw new \OpenCloud\CreateError(_('Missing [_create_keys]'));
|
76 |
+
$top = self::JsonCollectionName();
|
77 |
+
$obj->{$top} = array();
|
78 |
+
$obj->{$top}[] = $this->GetJson($this->_create_keys);
|
79 |
+
return $obj;
|
80 |
+
}
|
81 |
+
|
82 |
+
/**
|
83 |
+
* creates the JSON for update
|
84 |
+
*
|
85 |
+
* @return stdClass
|
86 |
+
*/
|
87 |
+
protected function UpdateJson($params=array()) {
|
88 |
+
if (!isset($this->_update_keys))
|
89 |
+
throw new \OpenCloud\UpdateError(_('Missing [_update_keys]'));
|
90 |
+
return $this->GetJson($this->_update_keys);
|
91 |
+
}
|
92 |
+
|
93 |
+
/* ---------- PRIVATE METHODS ---------- */
|
94 |
+
|
95 |
+
/**
|
96 |
+
* returns JSON based on $keys
|
97 |
+
*
|
98 |
+
* @param array $keys list of items to include
|
99 |
+
* @return stdClass
|
100 |
+
*/
|
101 |
+
private function GetJson($keys) {
|
102 |
+
$obj = new \stdClass;
|
103 |
+
foreach($keys as $item)
|
104 |
+
if ($this->$item)
|
105 |
+
$obj->$item = $this->$item;
|
106 |
+
return $obj;
|
107 |
+
}
|
108 |
+
|
109 |
+
} // class DnsObject
|
sdk/OpenCloud/domain.php
ADDED
@@ -0,0 +1,223 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Defines a DNS domain
|
4 |
+
*
|
5 |
+
* @copyright 2012-2013 Rackspace Hosting, Inc.
|
6 |
+
* See COPYING for licensing information
|
7 |
+
*
|
8 |
+
* @package phpOpenCloud
|
9 |
+
* @version 1.0
|
10 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace OpenCloud\DNS;
|
14 |
+
|
15 |
+
require_once(__DIR__.'/dnsobject.php');
|
16 |
+
require_once(__DIR__.'/record.php');
|
17 |
+
|
18 |
+
/**
|
19 |
+
* The Domain class represents a single domain
|
20 |
+
*
|
21 |
+
* Note that the `Subdomain` class is defined in this same file because of
|
22 |
+
* mutual dependencies.
|
23 |
+
*
|
24 |
+
* @api
|
25 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
26 |
+
*/
|
27 |
+
class Domain extends DnsObject {
|
28 |
+
|
29 |
+
public
|
30 |
+
$id,
|
31 |
+
$accountId,
|
32 |
+
$ttl,
|
33 |
+
$updated,
|
34 |
+
$emailAddress,
|
35 |
+
$created,
|
36 |
+
$name,
|
37 |
+
$comment;
|
38 |
+
|
39 |
+
protected static
|
40 |
+
$json_name = FALSE,
|
41 |
+
$json_collection_name = 'domains',
|
42 |
+
$url_resource = 'domains';
|
43 |
+
|
44 |
+
protected
|
45 |
+
$_create_keys = array('name','emailAddress','ttl','comment'),
|
46 |
+
$_update_keys = array('emailAddress','ttl','comment');
|
47 |
+
|
48 |
+
private
|
49 |
+
$records = array(),
|
50 |
+
$subdomains = array();
|
51 |
+
|
52 |
+
/**
|
53 |
+
* returns a Record object
|
54 |
+
*
|
55 |
+
* Note that this method is available at the DNS level, but only for
|
56 |
+
* PTR records.
|
57 |
+
*
|
58 |
+
* @return Record
|
59 |
+
*/
|
60 |
+
public function Record($info=NULL) {
|
61 |
+
return new Record($this, $info);
|
62 |
+
}
|
63 |
+
|
64 |
+
/**
|
65 |
+
* returns a Collection of Record objects
|
66 |
+
*
|
67 |
+
* @param array $filter query-string parameters
|
68 |
+
* @return \OpenCloud\Collection
|
69 |
+
*/
|
70 |
+
public function RecordList($filter=array()) {
|
71 |
+
return $this->Parent()->Collection(
|
72 |
+
'\OpenCloud\DNS\Record', NULL, $this, $filter);
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* returns a Subdomain object (child of current domain)
|
77 |
+
*
|
78 |
+
*/
|
79 |
+
public function Subdomain($info=array()) {
|
80 |
+
return new Subdomain($this, $info);
|
81 |
+
}
|
82 |
+
|
83 |
+
/**
|
84 |
+
* returns a Collection of subdomains
|
85 |
+
*
|
86 |
+
* The subdomains are all `DNS:Domain` objects that are children of
|
87 |
+
* the current domain.
|
88 |
+
*
|
89 |
+
* @param array $filter key/value pairs for query string parameters
|
90 |
+
* return \OpenCloud\Collection
|
91 |
+
*/
|
92 |
+
public function SubdomainList($filter=array()) {
|
93 |
+
return $this->Parent()->Collection(
|
94 |
+
'\OpenCloud\DNS\Subdomain', NULL, $this);
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Adds a new record to the list (for multiple record creation)
|
99 |
+
*
|
100 |
+
* @api
|
101 |
+
* @param Record $rec the record to add
|
102 |
+
* @return integer the number of records
|
103 |
+
*/
|
104 |
+
public function AddRecord(Record $rec) {
|
105 |
+
$this->records[] = $rec;
|
106 |
+
return count($this->records);
|
107 |
+
}
|
108 |
+
|
109 |
+
/**
|
110 |
+
* adds a new subdomain (for multiple subdomain creation)
|
111 |
+
*
|
112 |
+
* @api
|
113 |
+
* @param Subdomain $subd the subdomain to add
|
114 |
+
* @return integer the number of subdomains
|
115 |
+
*/
|
116 |
+
public function AddSubdomain(Subdomain $subd) {
|
117 |
+
$this->subdomains[] = $subd;
|
118 |
+
return count($this->subdomains);
|
119 |
+
}
|
120 |
+
|
121 |
+
/**
|
122 |
+
* returns changes since a specified date/time
|
123 |
+
*
|
124 |
+
* @param string $since the date or time
|
125 |
+
* @return DNS\Changes
|
126 |
+
*/
|
127 |
+
public function Changes($since=NULL) {
|
128 |
+
if (isset($since))
|
129 |
+
$url = $this->Url('changes', array('since'=>$since));
|
130 |
+
else
|
131 |
+
$url = $this->Url('changes');
|
132 |
+
|
133 |
+
// perform the request
|
134 |
+
$obj = $this->Service()->SimpleRequest($url);
|
135 |
+
|
136 |
+
return $obj;
|
137 |
+
}
|
138 |
+
|
139 |
+
/**
|
140 |
+
* exports the domain
|
141 |
+
*
|
142 |
+
* @return AsyncResponse
|
143 |
+
*/
|
144 |
+
public function Export() {
|
145 |
+
$url = $this->Url('export');
|
146 |
+
return $this->Service()->AsyncRequest($url);
|
147 |
+
}
|
148 |
+
|
149 |
+
/* ---------- PROTECTED METHODS ---------- */
|
150 |
+
|
151 |
+
/**
|
152 |
+
* handles creation of multiple records at Create()
|
153 |
+
*
|
154 |
+
* @api
|
155 |
+
* @return \stdClass
|
156 |
+
*/
|
157 |
+
protected function CreateJson() {
|
158 |
+
$obj = parent::CreateJson();
|
159 |
+
|
160 |
+
// add records, if any
|
161 |
+
if (count($this->records) > 0) {
|
162 |
+
$recobj = new \stdClass;
|
163 |
+
$recobj->records = array();
|
164 |
+
foreach($this->records as $rec) {
|
165 |
+
$robj = new \stdClass;
|
166 |
+
foreach($rec->CreateKeys() as $key)
|
167 |
+
if (isset($rec->$key))
|
168 |
+
$robj->$key = $rec->$key;
|
169 |
+
$recobj->records[] = $robj;
|
170 |
+
}
|
171 |
+
$obj->domains[0]->recordsList = $recobj;
|
172 |
+
}
|
173 |
+
|
174 |
+
// add subdomains, if any
|
175 |
+
if (count($this->subdomains) > 0) {
|
176 |
+
$sub = new \stdClass;
|
177 |
+
$sub->domains = array();
|
178 |
+
foreach($this->subdomains as $subdom) {
|
179 |
+
$sobj = new \stdClass;
|
180 |
+
foreach($subdom->CreateKeys() as $key)
|
181 |
+
if (isset($subdom->$key))
|
182 |
+
$sobj->$key = $subdom->$key;
|
183 |
+
$sub->domains[] = $sobj;
|
184 |
+
}
|
185 |
+
$obj->domains[0]->subdomains = $sub;
|
186 |
+
}
|
187 |
+
|
188 |
+
return $obj;
|
189 |
+
}
|
190 |
+
|
191 |
+
} // class Domain
|
192 |
+
|
193 |
+
/**
|
194 |
+
* The Subdomain is basically another domain, albeit one that is a child of
|
195 |
+
* a parent domain. In terms of the code involved, the JSON is slightly
|
196 |
+
* different than a top-level domain, and the parent is a domain instead of
|
197 |
+
* the DNS service itself.
|
198 |
+
*/
|
199 |
+
class Subdomain extends Domain {
|
200 |
+
|
201 |
+
protected static
|
202 |
+
$json_name = FALSE,
|
203 |
+
$json_collection_name = 'domains',
|
204 |
+
$url_resource = 'subdomains';
|
205 |
+
|
206 |
+
private
|
207 |
+
$_parent;
|
208 |
+
|
209 |
+
/**
|
210 |
+
*/
|
211 |
+
public function __construct(Domain $parent, $info=array()) {
|
212 |
+
$this->_parent = $parent;
|
213 |
+
return parent::__construct($parent->Service(), $info);
|
214 |
+
}
|
215 |
+
|
216 |
+
/**
|
217 |
+
* returns the parent domain object
|
218 |
+
*/
|
219 |
+
public function Parent() {
|
220 |
+
return $this->_parent;
|
221 |
+
}
|
222 |
+
|
223 |
+
} // class Subdomain
|
sdk/OpenCloud/exceptions.php
CHANGED
@@ -35,6 +35,7 @@ namespace OpenCloud {
|
|
35 |
class HttpOverLimitError extends \Exception {}
|
36 |
class IdRequiredError extends \Exception {}
|
37 |
class InstanceNotFound extends \Exception {}
|
|
|
38 |
class JsonError extends \Exception {}
|
39 |
class ServerActionError extends \Exception {}
|
40 |
class ServiceValueError extends \Exception {}
|
@@ -83,6 +84,7 @@ namespace OpenCloud\Compute {
|
|
83 |
class ServerUrlError extends \Exception {}
|
84 |
class ServerJsonError extends \Exception {}
|
85 |
class UnsupportedFeatureExtension extends \Exception {}
|
|
|
86 |
class VolumeError extends \Exception {}
|
87 |
|
88 |
}
|
@@ -111,6 +113,7 @@ namespace OpenCloud\ObjectStore {
|
|
111 |
class ObjectError extends \Exception {} // SyntaxException
|
112 |
class ObjectCopyError extends \Exception {}
|
113 |
class ObjFetchError extends \Exception {}
|
|
|
114 |
class UnknownParameterError extends \Exception {}
|
115 |
}
|
116 |
|
@@ -151,3 +154,13 @@ namespace OpenCloud\VolumeService {
|
|
151 |
namespace OpenCloud\LoadBalancerService {
|
152 |
class MissingValueError extends \Exception {}
|
153 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
class HttpOverLimitError extends \Exception {}
|
36 |
class IdRequiredError extends \Exception {}
|
37 |
class InstanceNotFound extends \Exception {}
|
38 |
+
class InvalidArgumentError extends \Exception {}
|
39 |
class JsonError extends \Exception {}
|
40 |
class ServerActionError extends \Exception {}
|
41 |
class ServiceValueError extends \Exception {}
|
84 |
class ServerUrlError extends \Exception {}
|
85 |
class ServerJsonError extends \Exception {}
|
86 |
class UnsupportedFeatureExtension extends \Exception {}
|
87 |
+
class UnsupportedVersionError extends \Exception {}
|
88 |
class VolumeError extends \Exception {}
|
89 |
|
90 |
}
|
113 |
class ObjectError extends \Exception {} // SyntaxException
|
114 |
class ObjectCopyError extends \Exception {}
|
115 |
class ObjFetchError extends \Exception {}
|
116 |
+
class TempUrlMethodError extends \Exception {}
|
117 |
class UnknownParameterError extends \Exception {}
|
118 |
}
|
119 |
|
154 |
namespace OpenCloud\LoadBalancerService {
|
155 |
class MissingValueError extends \Exception {}
|
156 |
}
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Exceptions used by the DNS service
|
160 |
+
*/
|
161 |
+
namespace OpenCloud\DNS {
|
162 |
+
class AsyncHttpError extends \Exception {}
|
163 |
+
class AsyncError extends \Exception {}
|
164 |
+
class AsyncTimeoutError extends \Exception {}
|
165 |
+
class RecordTypeError extends \Exception {}
|
166 |
+
}
|
sdk/OpenCloud/globals.php
CHANGED
@@ -82,6 +82,16 @@ if (!defined('RAXSDK_LBSERVICE_REGION'))
|
|
82 |
define('RAXSDK_LBSERVICE_REGION', NULL);
|
83 |
if (!defined('RAXSDK_LBSERVICE_URLTYPE'))
|
84 |
define('RAXSDK_LBSERVICE_URLTYPE', 'publicURL');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
85 |
if (!defined('RAXSDK_CONNECTTIMEOUT'))
|
86 |
define('RAXSDK_CONNECTTIMEOUT', 5);
|
87 |
if (!defined('RAXSDK_TIMEOUT'))
|
@@ -95,15 +105,15 @@ if (!defined('RAXSDK_DEFAULT_IP_VERSION'))
|
|
95 |
if (!defined('RAXSDK_OVERLIMIT_TIMEOUT'))
|
96 |
define('RAXSDK_OVERLIMIT_TIMEOUT', 300);
|
97 |
/**
|
98 |
-
* sets default (highly secure) value for CURLOPT_SSL_VERIFYHOST. If you
|
99 |
-
* are using a self-signed SSL certificate, you can reduce this setting, but
|
100 |
-
* you do so at your own risk.
|
101 |
*/
|
102 |
if (!defined('RAXSDK_SSL_VERIFYHOST'))
|
103 |
define('RAXSDK_SSL_VERIFYHOST', 2);
|
104 |
/**
|
105 |
-
* sets default (highly secure) value for CURLOPT_SSL_VERIFYPEER. If you
|
106 |
-
* are using a self-signed SSL certificate, you can reduce this setting, but
|
107 |
* you do so at your own risk.
|
108 |
*/
|
109 |
if (!defined('RAXSDK_SSL_VERIFYPEER'))
|
@@ -118,12 +128,12 @@ if (!defined('RAXSDK_SSL_VERIFYPEER'))
|
|
118 |
date_default_timezone_set(RAXSDK_TIMEZONE);
|
119 |
|
120 |
/* these should not be overridden */
|
121 |
-
define('RAXSDK_VERSION', '1.
|
122 |
define('RAXSDK_USER_AGENT', 'php-opencloud/'.RAXSDK_VERSION.' (Rackspace)');
|
123 |
define('RAXSDK_ERROR', 'Error:');
|
124 |
define('RAXSDK_FATAL', 'FATAL ERROR:');
|
125 |
define('RAXSDK_TERMINATED', '*** PROCESSING HALTED ***');
|
126 |
-
define('
|
127 |
define('RAXSDK_URL_PUBLIC', 'publicURL');
|
128 |
define('RAXSDK_URL_INTERNAL', 'internalURL');
|
129 |
define('RAXSDK_URL_VERSION_INFO', 'versionInfo');
|
82 |
define('RAXSDK_LBSERVICE_REGION', NULL);
|
83 |
if (!defined('RAXSDK_LBSERVICE_URLTYPE'))
|
84 |
define('RAXSDK_LBSERVICE_URLTYPE', 'publicURL');
|
85 |
+
if (!defined('RAXSDK_DNS_NAME'))
|
86 |
+
define('RAXSDK_DNS_NAME', 'cloudDNS');
|
87 |
+
if (!defined('RAXSDK_DNS_REGION'))
|
88 |
+
define('RAXSDK_DNS_REGION', '{IGNORE}'); // DNS is regionless
|
89 |
+
if (!defined('RAXSDK_DNS_URLTYPE'))
|
90 |
+
define('RAXSDK_DNS_URLTYPE', 'publicURL');
|
91 |
+
if (!defined('RAXSDK_DNS_ASYNC_TIMEOUT'))
|
92 |
+
define('RAXSDK_DNS_ASYNC_TIMEOUT', 60);
|
93 |
+
if (!defined('RAXSDK_DNS_ASYNC_INTERVAL'))
|
94 |
+
define('RAXSDK_DNS_ASYNC_INTERVAL', 1);
|
95 |
if (!defined('RAXSDK_CONNECTTIMEOUT'))
|
96 |
define('RAXSDK_CONNECTTIMEOUT', 5);
|
97 |
if (!defined('RAXSDK_TIMEOUT'))
|
105 |
if (!defined('RAXSDK_OVERLIMIT_TIMEOUT'))
|
106 |
define('RAXSDK_OVERLIMIT_TIMEOUT', 300);
|
107 |
/**
|
108 |
+
* sets default (highly secure) value for CURLOPT_SSL_VERIFYHOST. If you
|
109 |
+
* are using a self-signed SSL certificate, you can reduce this setting, but
|
110 |
+
* you do so at your own risk.
|
111 |
*/
|
112 |
if (!defined('RAXSDK_SSL_VERIFYHOST'))
|
113 |
define('RAXSDK_SSL_VERIFYHOST', 2);
|
114 |
/**
|
115 |
+
* sets default (highly secure) value for CURLOPT_SSL_VERIFYPEER. If you
|
116 |
+
* are using a self-signed SSL certificate, you can reduce this setting, but
|
117 |
* you do so at your own risk.
|
118 |
*/
|
119 |
if (!defined('RAXSDK_SSL_VERIFYPEER'))
|
128 |
date_default_timezone_set(RAXSDK_TIMEZONE);
|
129 |
|
130 |
/* these should not be overridden */
|
131 |
+
define('RAXSDK_VERSION', '1.4');
|
132 |
define('RAXSDK_USER_AGENT', 'php-opencloud/'.RAXSDK_VERSION.' (Rackspace)');
|
133 |
define('RAXSDK_ERROR', 'Error:');
|
134 |
define('RAXSDK_FATAL', 'FATAL ERROR:');
|
135 |
define('RAXSDK_TERMINATED', '*** PROCESSING HALTED ***');
|
136 |
+
define('RAXSDK_CONTENT_TYPE_JSON', 'application/json');
|
137 |
define('RAXSDK_URL_PUBLIC', 'publicURL');
|
138 |
define('RAXSDK_URL_INTERNAL', 'internalURL');
|
139 |
define('RAXSDK_URL_VERSION_INFO', 'versionInfo');
|
sdk/OpenCloud/http.php
CHANGED
@@ -83,6 +83,11 @@ class CurlRequest implements HTTPRequest {
|
|
83 |
$this->setOption(CURLOPT_CAINFO, RAXSDK_CACERTPEM);
|
84 |
}
|
85 |
|
|
|
|
|
|
|
|
|
|
|
86 |
// follow redirects
|
87 |
$this->SetOption(CURLOPT_FOLLOWLOCATION, TRUE);
|
88 |
|
@@ -294,7 +299,7 @@ class CurlRequest implements HTTPRequest {
|
|
294 |
* @api
|
295 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
296 |
*/
|
297 |
-
class HttpResponse {
|
298 |
|
299 |
private
|
300 |
$errno,
|
83 |
$this->setOption(CURLOPT_CAINFO, RAXSDK_CACERTPEM);
|
84 |
}
|
85 |
|
86 |
+
// curl code [18]
|
87 |
+
// message [transfer closed with x bytes remaining to read]
|
88 |
+
if ($method === 'HEAD')
|
89 |
+
$this->SetOption(CURLOPT_NOBODY, TRUE);
|
90 |
+
|
91 |
// follow redirects
|
92 |
$this->SetOption(CURLOPT_FOLLOWLOCATION, TRUE);
|
93 |
|
299 |
* @api
|
300 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
301 |
*/
|
302 |
+
class HttpResponse extends \OpenCloud\Base {
|
303 |
|
304 |
private
|
305 |
$errno,
|
sdk/OpenCloud/lbresources.php
CHANGED
@@ -87,7 +87,7 @@ abstract class SubResource extends \OpenCloud\PersistentObject {
|
|
87 |
}
|
88 |
return $obj;
|
89 |
}
|
90 |
-
|
91 |
/**
|
92 |
* returns the JSON for the update (same as create)
|
93 |
*
|
@@ -97,7 +97,7 @@ abstract class SubResource extends \OpenCloud\PersistentObject {
|
|
97 |
protected function UpdateJson($params = array()) {
|
98 |
return $this->CreateJson();
|
99 |
}
|
100 |
-
|
101 |
/**
|
102 |
* returns the Parent object (usually a LoadBalancer, but sometimes another
|
103 |
* SubResource)
|
@@ -107,7 +107,7 @@ abstract class SubResource extends \OpenCloud\PersistentObject {
|
|
107 |
public function Parent() {
|
108 |
return $this->parent;
|
109 |
}
|
110 |
-
|
111 |
/**
|
112 |
* returns a (default) name of the object
|
113 |
*
|
@@ -282,7 +282,7 @@ class Node extends \OpenCloud\PersistentObject {
|
|
282 |
/**
|
283 |
* a single node event, usually called as part of a Collection
|
284 |
*
|
285 |
-
* This is a read-only subresource.
|
286 |
*/
|
287 |
class NodeEvent extends ReadonlySubResource {
|
288 |
public
|
@@ -349,17 +349,6 @@ class VirtualIp extends SubResource {
|
|
349 |
public function Update($params=array()) { $this->NoUpdate(); }
|
350 |
}
|
351 |
|
352 |
-
/**
|
353 |
-
* used to get a list of billable load balancers for a specific date range
|
354 |
-
*/
|
355 |
-
class BillableLoadBalancer extends LoadBalancer {
|
356 |
-
protected static
|
357 |
-
$url_resource = 'loadbalancers/billable';
|
358 |
-
public function Create($params=array()) { $this->NoCreate(); }
|
359 |
-
public function Update($params=array()) { $this->NoUpdate(); }
|
360 |
-
public function Delete() { $this->NoDelete(); }
|
361 |
-
} // end BillableLoadBalancer
|
362 |
-
|
363 |
/**
|
364 |
* used to get usage data for a load balancer
|
365 |
*/
|
87 |
}
|
88 |
return $obj;
|
89 |
}
|
90 |
+
|
91 |
/**
|
92 |
* returns the JSON for the update (same as create)
|
93 |
*
|
97 |
protected function UpdateJson($params = array()) {
|
98 |
return $this->CreateJson();
|
99 |
}
|
100 |
+
|
101 |
/**
|
102 |
* returns the Parent object (usually a LoadBalancer, but sometimes another
|
103 |
* SubResource)
|
107 |
public function Parent() {
|
108 |
return $this->parent;
|
109 |
}
|
110 |
+
|
111 |
/**
|
112 |
* returns a (default) name of the object
|
113 |
*
|
282 |
/**
|
283 |
* a single node event, usually called as part of a Collection
|
284 |
*
|
285 |
+
* This is a read-only subresource.
|
286 |
*/
|
287 |
class NodeEvent extends ReadonlySubResource {
|
288 |
public
|
349 |
public function Update($params=array()) { $this->NoUpdate(); }
|
350 |
}
|
351 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
352 |
/**
|
353 |
* used to get usage data for a load balancer
|
354 |
*/
|
sdk/OpenCloud/loadbalancer.php
CHANGED
@@ -19,6 +19,8 @@ require_once(__DIR__.'/lbresources.php'); // child resources
|
|
19 |
/**
|
20 |
* The LoadBalancer class represents a single load balancer
|
21 |
*
|
|
|
|
|
22 |
* @api
|
23 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
24 |
*/
|
@@ -134,7 +136,7 @@ class LoadBalancer extends \OpenCloud\PersistentObject {
|
|
134 |
if (count($this->nodes) < 1)
|
135 |
throw new MissingValueError(
|
136 |
_('Cannot add nodes; no nodes are defined'));
|
137 |
-
|
138 |
// iterate through all the nodes
|
139 |
foreach($this->nodes as $node)
|
140 |
$resp = $node->Create();
|
@@ -183,8 +185,8 @@ class LoadBalancer extends \OpenCloud\PersistentObject {
|
|
183 |
}
|
184 |
}
|
185 |
|
186 |
-
/**
|
187 |
-
* If the load balancer exists, we want to add it immediately.
|
188 |
* If not, we add it to the virtualIps list and add it when the load
|
189 |
* balancer is created.
|
190 |
*/
|
@@ -198,7 +200,7 @@ class LoadBalancer extends \OpenCloud\PersistentObject {
|
|
198 |
}
|
199 |
else // queue it
|
200 |
$this->virtualIps[] = $obj;
|
201 |
-
|
202 |
// done
|
203 |
return TRUE;
|
204 |
}
|
@@ -209,7 +211,7 @@ class LoadBalancer extends \OpenCloud\PersistentObject {
|
|
209 |
* each managed by independent HTTP requests, such as the .../errorpage
|
210 |
* and the .../sessionpersistence objects.
|
211 |
*/
|
212 |
-
|
213 |
/**
|
214 |
* returns a Node object
|
215 |
*/
|
@@ -224,14 +226,14 @@ class LoadBalancer extends \OpenCloud\PersistentObject {
|
|
224 |
return $this->Parent()->Collection(
|
225 |
'\OpenCloud\LoadBalancerService\Node', NULL, $this);
|
226 |
}
|
227 |
-
|
228 |
/**
|
229 |
* returns a NodeEvent object
|
230 |
*/
|
231 |
public function NodeEvent() {
|
232 |
return new NodeEvent($this);
|
233 |
}
|
234 |
-
|
235 |
/**
|
236 |
* returns a Collection of NodeEvents
|
237 |
*/
|
@@ -319,13 +321,13 @@ class LoadBalancer extends \OpenCloud\PersistentObject {
|
|
319 |
public function ContentCaching() {
|
320 |
return new ContentCaching($this);
|
321 |
}
|
322 |
-
|
323 |
/**
|
324 |
*/
|
325 |
public function SSLTermination() {
|
326 |
return new SSLTermination($this);
|
327 |
}
|
328 |
-
|
329 |
/**
|
330 |
*/
|
331 |
public function Metadata($data=NULL) {
|
@@ -371,3 +373,15 @@ class LoadBalancer extends \OpenCloud\PersistentObject {
|
|
371 |
}
|
372 |
|
373 |
} // end LoadBalancer
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
/**
|
20 |
* The LoadBalancer class represents a single load balancer
|
21 |
*
|
22 |
+
* NOTE: see BillableLoadBalancer, a subclass, defined at the end of this file.
|
23 |
+
*
|
24 |
* @api
|
25 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
26 |
*/
|
136 |
if (count($this->nodes) < 1)
|
137 |
throw new MissingValueError(
|
138 |
_('Cannot add nodes; no nodes are defined'));
|
139 |
+
|
140 |
// iterate through all the nodes
|
141 |
foreach($this->nodes as $node)
|
142 |
$resp = $node->Create();
|
185 |
}
|
186 |
}
|
187 |
|
188 |
+
/**
|
189 |
+
* If the load balancer exists, we want to add it immediately.
|
190 |
* If not, we add it to the virtualIps list and add it when the load
|
191 |
* balancer is created.
|
192 |
*/
|
200 |
}
|
201 |
else // queue it
|
202 |
$this->virtualIps[] = $obj;
|
203 |
+
|
204 |
// done
|
205 |
return TRUE;
|
206 |
}
|
211 |
* each managed by independent HTTP requests, such as the .../errorpage
|
212 |
* and the .../sessionpersistence objects.
|
213 |
*/
|
214 |
+
|
215 |
/**
|
216 |
* returns a Node object
|
217 |
*/
|
226 |
return $this->Parent()->Collection(
|
227 |
'\OpenCloud\LoadBalancerService\Node', NULL, $this);
|
228 |
}
|
229 |
+
|
230 |
/**
|
231 |
* returns a NodeEvent object
|
232 |
*/
|
233 |
public function NodeEvent() {
|
234 |
return new NodeEvent($this);
|
235 |
}
|
236 |
+
|
237 |
/**
|
238 |
* returns a Collection of NodeEvents
|
239 |
*/
|
321 |
public function ContentCaching() {
|
322 |
return new ContentCaching($this);
|
323 |
}
|
324 |
+
|
325 |
/**
|
326 |
*/
|
327 |
public function SSLTermination() {
|
328 |
return new SSLTermination($this);
|
329 |
}
|
330 |
+
|
331 |
/**
|
332 |
*/
|
333 |
public function Metadata($data=NULL) {
|
373 |
}
|
374 |
|
375 |
} // end LoadBalancer
|
376 |
+
|
377 |
+
/**
|
378 |
+
* used to get a list of billable load balancers for a specific date range
|
379 |
+
*/
|
380 |
+
class BillableLoadBalancer extends LoadBalancer {
|
381 |
+
protected static
|
382 |
+
$url_resource = 'loadbalancers/billable';
|
383 |
+
public function Create($params=array()) { $this->NoCreate(); }
|
384 |
+
public function Update($params=array()) { $this->NoUpdate(); }
|
385 |
+
public function Delete() { $this->NoDelete(); }
|
386 |
+
} // end BillableLoadBalancer
|
387 |
+
|
sdk/OpenCloud/nova.php
CHANGED
@@ -26,7 +26,6 @@ require_once(__DIR__.'/collection.php');
|
|
26 |
*/
|
27 |
abstract class Nova extends Service {
|
28 |
private
|
29 |
-
$_namespaces=array(),
|
30 |
$_url;
|
31 |
|
32 |
/**
|
@@ -130,19 +129,10 @@ abstract class Nova extends Service {
|
|
130 |
* @return \Rackspace\HttpResult object
|
131 |
*/
|
132 |
public function Request($url, $method='GET', $headers=array(), $body=NULL) {
|
133 |
-
$headers['Content-Type'] =
|
134 |
return parent::Request($url, $method, $headers, $body);
|
135 |
}
|
136 |
|
137 |
-
/**
|
138 |
-
* Returns a list of supported namespaces
|
139 |
-
*
|
140 |
-
* @return array
|
141 |
-
*/
|
142 |
-
public function namespaces() {
|
143 |
-
return $this->_namespaces;
|
144 |
-
}
|
145 |
-
|
146 |
/********** PRIVATE METHODS **********/
|
147 |
|
148 |
/**
|
26 |
*/
|
27 |
abstract class Nova extends Service {
|
28 |
private
|
|
|
29 |
$_url;
|
30 |
|
31 |
/**
|
129 |
* @return \Rackspace\HttpResult object
|
130 |
*/
|
131 |
public function Request($url, $method='GET', $headers=array(), $body=NULL) {
|
132 |
+
$headers['Content-Type'] = RAXSDK_CONTENT_TYPE_JSON;
|
133 |
return parent::Request($url, $method, $headers, $body);
|
134 |
}
|
135 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
/********** PRIVATE METHODS **********/
|
137 |
|
138 |
/**
|
sdk/OpenCloud/objectstore.php
CHANGED
@@ -18,7 +18,8 @@ require_once(__DIR__.'/container.php');
|
|
18 |
define('SWIFT_MAX_OBJECT_SIZE', 5*1024*1024*1024+1);
|
19 |
|
20 |
/**
|
21 |
-
* A base class for common code shared between the ObjectStore and
|
|
|
22 |
* objects
|
23 |
*
|
24 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
@@ -143,6 +144,24 @@ class ObjectStore extends ObjectStoreBase {
|
|
143 |
}
|
144 |
} // function __construct()
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
/**
|
147 |
* returns the CDN object
|
148 |
*/
|
18 |
define('SWIFT_MAX_OBJECT_SIZE', 5*1024*1024*1024+1);
|
19 |
|
20 |
/**
|
21 |
+
* A base class for common code shared between the ObjectStore and
|
22 |
+
* ObjectStoreCDN
|
23 |
* objects
|
24 |
*
|
25 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
144 |
}
|
145 |
} // function __construct()
|
146 |
|
147 |
+
/**
|
148 |
+
* sets the shared secret value for the TEMP_URL
|
149 |
+
*
|
150 |
+
* @param string $secret the shared secret
|
151 |
+
* @return HttpResponse
|
152 |
+
*/
|
153 |
+
public function SetTempUrlSecret($secret) {
|
154 |
+
$resp = $this->Request($this->Url(), 'POST',
|
155 |
+
array('X-Account-Meta-Temp-URL-Key' => $secret));
|
156 |
+
if ($resp->HttpStatus() > 204)
|
157 |
+
throw new \OpenCloud\HttpError(sprintf(
|
158 |
+
_('Error in request, status [%d] for URL [%s] [%s]'),
|
159 |
+
$resp->HttpStatus(),
|
160 |
+
$this->Url(),
|
161 |
+
$resp->HttpBody()));
|
162 |
+
return $resp;
|
163 |
+
}
|
164 |
+
|
165 |
/**
|
166 |
* returns the CDN object
|
167 |
*/
|
sdk/OpenCloud/openstack.php
CHANGED
@@ -106,6 +106,11 @@ class OpenStack extends \OpenCloud\Base {
|
|
106 |
'name' => RAXSDK_LBSERVICE_NAME,
|
107 |
'region' => RAXSDK_LBSERVICE_REGION,
|
108 |
'urltype' => RAXSDK_LBSERVICE_URLTYPE
|
|
|
|
|
|
|
|
|
|
|
109 |
)
|
110 |
),
|
111 |
$connect_timeout=RAXSDK_CONNECTTIMEOUT,
|
@@ -264,7 +269,8 @@ class OpenStack extends \OpenCloud\Base {
|
|
264 |
|
265 |
if (isset($this->secret['tenantName']))
|
266 |
{
|
267 |
-
$credentials['auth']['tenantName'] =
|
|
|
268 |
}
|
269 |
|
270 |
return json_encode($credentials);
|
106 |
'name' => RAXSDK_LBSERVICE_NAME,
|
107 |
'region' => RAXSDK_LBSERVICE_REGION,
|
108 |
'urltype' => RAXSDK_LBSERVICE_URLTYPE
|
109 |
+
),
|
110 |
+
'DNS' => array(
|
111 |
+
'name' => RAXSDK_DNS_NAME,
|
112 |
+
'region' => RAXSDK_DNS_REGION,
|
113 |
+
'urltype' => RAXSDK_DNS_URLTYPE
|
114 |
)
|
115 |
),
|
116 |
$connect_timeout=RAXSDK_CONNECTTIMEOUT,
|
269 |
|
270 |
if (isset($this->secret['tenantName']))
|
271 |
{
|
272 |
+
$credentials['auth']['tenantName'] =
|
273 |
+
$this->secret['tenantName'];
|
274 |
}
|
275 |
|
276 |
return json_encode($credentials);
|
sdk/OpenCloud/persistentobject.php
CHANGED
@@ -95,9 +95,8 @@ abstract class PersistentObject extends Base {
|
|
95 |
}
|
96 |
elseif (isset($info))
|
97 |
throw new InvalidArgumentError(sprintf(
|
98 |
-
_('Argument for [%s] must be string or object
|
99 |
-
get_class()
|
100 |
-
get_class($info)));
|
101 |
}
|
102 |
|
103 |
/**
|
@@ -287,7 +286,8 @@ abstract class PersistentObject extends Base {
|
|
287 |
*
|
288 |
*/
|
289 |
public function WaitFor($terminal='ACTIVE',
|
290 |
-
$timeout=RAXSDK_SERVER_MAXTIMEOUT, $callback=NULL
|
|
|
291 |
// find the primary key field
|
292 |
$pk = $this->PrimaryKeyField();
|
293 |
|
@@ -301,7 +301,7 @@ abstract class PersistentObject extends Base {
|
|
301 |
if ($this->status == 'ERROR') return;
|
302 |
if ($this->status == $terminal) return;
|
303 |
if (time()-$starttime > $timeout) return;
|
304 |
-
sleep(
|
305 |
}
|
306 |
}
|
307 |
|
95 |
}
|
96 |
elseif (isset($info))
|
97 |
throw new InvalidArgumentError(sprintf(
|
98 |
+
_('Argument for [%s] must be string or object'),
|
99 |
+
get_class()));
|
|
|
100 |
}
|
101 |
|
102 |
/**
|
286 |
*
|
287 |
*/
|
288 |
public function WaitFor($terminal='ACTIVE',
|
289 |
+
$timeout=RAXSDK_SERVER_MAXTIMEOUT, $callback=NULL,
|
290 |
+
$sleep=RAXSDK_POLL_INTERVAL) {
|
291 |
// find the primary key field
|
292 |
$pk = $this->PrimaryKeyField();
|
293 |
|
301 |
if ($this->status == 'ERROR') return;
|
302 |
if ($this->status == $terminal) return;
|
303 |
if (time()-$starttime > $timeout) return;
|
304 |
+
sleep($sleep);
|
305 |
}
|
306 |
}
|
307 |
|
sdk/OpenCloud/ptrrecord.php
ADDED
@@ -0,0 +1,122 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Defines a DNS PTR record
|
4 |
+
*
|
5 |
+
* @copyright 2012-2013 Rackspace Hosting, Inc.
|
6 |
+
* See COPYING for licensing information
|
7 |
+
*
|
8 |
+
* @package phpOpenCloud
|
9 |
+
* @version 1.0
|
10 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace OpenCloud\DNS;
|
14 |
+
|
15 |
+
require_once(__DIR__.'/record.php');
|
16 |
+
|
17 |
+
/**
|
18 |
+
* PTR records are used for reverse DNS
|
19 |
+
*
|
20 |
+
* The PtrRecord object is nearly identical with the Record object. However,
|
21 |
+
* the PtrRecord is a child of the service, and not a child of a Domain.
|
22 |
+
*
|
23 |
+
*/
|
24 |
+
class PtrRecord extends Record {
|
25 |
+
|
26 |
+
protected static
|
27 |
+
$json_name = FALSE,
|
28 |
+
$json_collection_name = 'records',
|
29 |
+
$url_resource = 'rdns';
|
30 |
+
|
31 |
+
private
|
32 |
+
$link_rel,
|
33 |
+
$link_href;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* constructur ensures that the record type is PTR
|
37 |
+
*/
|
38 |
+
public function __construct($parent, $info=NULL) {
|
39 |
+
$this->type = 'PTR';
|
40 |
+
parent::__construct($parent, $info);
|
41 |
+
if ($this->type != 'PTR')
|
42 |
+
throw new RecordTypeError(sprintf(
|
43 |
+
_('Invalid record type [%s], must be PTR'), $this->type));
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* specialized DNS PTR URL requires server service name and href
|
48 |
+
*/
|
49 |
+
public function Url($subresource=NULL, $params=array()) {
|
50 |
+
if (isset($subresource))
|
51 |
+
$url = $this->Parent()->Url($subresource, $params);
|
52 |
+
else
|
53 |
+
$url = $this->Parent()->Url(self::$url_resource, $params);
|
54 |
+
return $url;
|
55 |
+
}
|
56 |
+
|
57 |
+
/**
|
58 |
+
* DNS PTR Create() method requires a server
|
59 |
+
*/
|
60 |
+
public function Create(\OpenCloud\Compute\Server $srv, $param=array()) {
|
61 |
+
$this->link_rel = $srv->Service()->Name();
|
62 |
+
$this->link_href = $srv->Url();
|
63 |
+
return parent::Create($param);
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* DNS PTR Update() method requires a server
|
68 |
+
*/
|
69 |
+
public function Update(\OpenCloud\Compute\Server $srv, $param=array()) {
|
70 |
+
$this->link_rel = $srv->Service()->Name();
|
71 |
+
$this->link_href = $srv->Url();
|
72 |
+
return parent::Update($param);
|
73 |
+
}
|
74 |
+
|
75 |
+
/**
|
76 |
+
* DNS PTR Delete() method requires a server
|
77 |
+
*
|
78 |
+
* Note that delete will remove ALL PTR records associated with the device
|
79 |
+
* unless you pass in the parameter ip={ip address}
|
80 |
+
*
|
81 |
+
*/
|
82 |
+
public function Delete(\OpenCloud\Compute\Server $srv) {
|
83 |
+
$this->link_rel = $srv->Service()->Name();
|
84 |
+
$this->link_href = $srv->Url();
|
85 |
+
$url = $this->Url('rdns/'.$this->link_rel,
|
86 |
+
array('href'=>$this->link_href));
|
87 |
+
if (isset($this->data))
|
88 |
+
$url .= '&ip='.$this->data;
|
89 |
+
|
90 |
+
// perform the request
|
91 |
+
$resp = $this->Service()->Request($url, 'DELETE');
|
92 |
+
|
93 |
+
// return the AsyncResponse object
|
94 |
+
return new AsyncResponse($this->Service(), $resp->HttpBody());
|
95 |
+
}
|
96 |
+
|
97 |
+
/* ---------- PROTECTED METHODS ---------- */
|
98 |
+
|
99 |
+
/**
|
100 |
+
* Specialized JSON for DNS PTR creates and updates
|
101 |
+
*/
|
102 |
+
protected function CreateJson() {
|
103 |
+
$obj = new \stdClass;
|
104 |
+
$obj->recordsList = parent::CreateJson();
|
105 |
+
|
106 |
+
// add links from server
|
107 |
+
$obj->link = new \stdClass;
|
108 |
+
$obj->link->href = $this->link_href;
|
109 |
+
$obj->link->rel = $this->link_rel;
|
110 |
+
return $obj;
|
111 |
+
}
|
112 |
+
|
113 |
+
/**
|
114 |
+
* The Update() JSON requires a record ID
|
115 |
+
*/
|
116 |
+
protected function UpdateJson() {
|
117 |
+
$obj = $this->CreateJson();
|
118 |
+
$obj->recordsList->records[0]->id = $this->id;
|
119 |
+
return $obj;
|
120 |
+
}
|
121 |
+
|
122 |
+
} // class PtrRecord
|
sdk/OpenCloud/rackspace.php
CHANGED
@@ -16,6 +16,7 @@ namespace OpenCloud;
|
|
16 |
require_once(__DIR__.'/openstack.php');
|
17 |
require_once(__DIR__.'/dbservice.php');
|
18 |
require_once(__DIR__.'/lbservice.php');
|
|
|
19 |
|
20 |
/**
|
21 |
* Rackspace extends the OpenStack class with support for Rackspace's
|
@@ -92,5 +93,15 @@ ENDCRED;
|
|
92 |
public function LoadBalancerService($name=NULL,$region=NULL,$urltype=NULL) {
|
93 |
return $this->Service('LoadBalancerService', $name, $region, $urltype);
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
} // end class Rackspace
|
16 |
require_once(__DIR__.'/openstack.php');
|
17 |
require_once(__DIR__.'/dbservice.php');
|
18 |
require_once(__DIR__.'/lbservice.php');
|
19 |
+
require_once(__DIR__.'/dns.php');
|
20 |
|
21 |
/**
|
22 |
* Rackspace extends the OpenStack class with support for Rackspace's
|
93 |
public function LoadBalancerService($name=NULL,$region=NULL,$urltype=NULL) {
|
94 |
return $this->Service('LoadBalancerService', $name, $region, $urltype);
|
95 |
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* creates a new DNS service object
|
99 |
+
*
|
100 |
+
* This is a factory method that is currently Rackspace-only
|
101 |
+
* (not available via the OpenStack class)
|
102 |
+
*/
|
103 |
+
public function DNS($name=NULL, $region=NULL, $urltype=NULL) {
|
104 |
+
return $this->Service('DNS', $name, $region, $urltype);
|
105 |
+
}
|
106 |
|
107 |
} // end class Rackspace
|
sdk/OpenCloud/record.php
ADDED
@@ -0,0 +1,73 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Defines a DNS record
|
4 |
+
*
|
5 |
+
* @copyright 2012-2013 Rackspace Hosting, Inc.
|
6 |
+
* See COPYING for licensing information
|
7 |
+
*
|
8 |
+
* @package phpOpenCloud
|
9 |
+
* @version 1.0
|
10 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
11 |
+
*/
|
12 |
+
|
13 |
+
namespace OpenCloud\DNS;
|
14 |
+
|
15 |
+
require_once(__DIR__.'/dnsobject.php');
|
16 |
+
|
17 |
+
/**
|
18 |
+
* The Record class represents a single domain record
|
19 |
+
*
|
20 |
+
* This is also used for PTR records.
|
21 |
+
*
|
22 |
+
* @api
|
23 |
+
* @author Glen Campbell <glen.campbell@rackspace.com>
|
24 |
+
*/
|
25 |
+
class Record extends DnsObject {
|
26 |
+
|
27 |
+
public
|
28 |
+
$ttl,
|
29 |
+
$updated,
|
30 |
+
$created,
|
31 |
+
$name,
|
32 |
+
$id,
|
33 |
+
$type,
|
34 |
+
$data,
|
35 |
+
$priority,
|
36 |
+
$comment;
|
37 |
+
|
38 |
+
protected static
|
39 |
+
$json_name = FALSE,
|
40 |
+
$json_collection_name = 'records',
|
41 |
+
$url_resource = 'records';
|
42 |
+
|
43 |
+
protected
|
44 |
+
$_parent,
|
45 |
+
$_update_keys = array('name','ttl','data','priority','comment'),
|
46 |
+
$_create_keys = array('type','name','ttl','data','priority','comment');
|
47 |
+
|
48 |
+
/**
|
49 |
+
* create a new record object
|
50 |
+
*
|
51 |
+
* @param mixed $parent either the domain object or the DNS object (for PTR)
|
52 |
+
* @param mixed $info ID or array/object of data for the object
|
53 |
+
* @return void
|
54 |
+
*/
|
55 |
+
public function __construct($parent, $info=NULL) {
|
56 |
+
$this->_parent = $parent;
|
57 |
+
if (get_class($parent) == 'OpenCloud\DNS')
|
58 |
+
parent::__construct($parent, $info);
|
59 |
+
else
|
60 |
+
parent::__construct($parent->Service(), $info);
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* returns the parent domain
|
65 |
+
*
|
66 |
+
* @return Domain
|
67 |
+
*/
|
68 |
+
public function Parent() {
|
69 |
+
return $this->_parent;
|
70 |
+
}
|
71 |
+
|
72 |
+
} // class Record
|
73 |
+
|
sdk/OpenCloud/service.php
CHANGED
@@ -25,6 +25,10 @@ require_once(__DIR__.'/base.php');
|
|
25 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
26 |
*/
|
27 |
abstract class Service extends Base {
|
|
|
|
|
|
|
|
|
28 |
private
|
29 |
$conn,
|
30 |
$service_type,
|
@@ -54,7 +58,6 @@ abstract class Service extends Base {
|
|
54 |
$this->service_type = $type;
|
55 |
$this->service_name = $name;
|
56 |
$this->service_region = $region;
|
57 |
-
$catalog = $conn->serviceCatalog();
|
58 |
$this->service_url = $this->get_endpoint(
|
59 |
$type, $name, $region, $urltype);
|
60 |
} // public function __construct()
|
@@ -142,7 +145,7 @@ abstract class Service extends Base {
|
|
142 |
// determine the URL
|
143 |
if (!$url)
|
144 |
$url = $parent->Url($class::ResourceName());
|
145 |
-
|
146 |
// add query string parameters
|
147 |
if (count($parm))
|
148 |
$url .= '?' . $this->MakeQueryString($parm);
|
@@ -174,7 +177,7 @@ abstract class Service extends Base {
|
|
174 |
$obj = json_decode($response->HttpBody());
|
175 |
if ($this->CheckJsonError())
|
176 |
return FALSE;
|
177 |
-
|
178 |
// see if there is a "next" link
|
179 |
if (isset($obj->links)) {
|
180 |
if (is_array($obj->links)) {
|
@@ -205,18 +208,18 @@ abstract class Service extends Base {
|
|
205 |
}
|
206 |
else
|
207 |
$coll_obj = new Collection($parent, $class, array());
|
208 |
-
|
209 |
// if there's a $next_page_url, then we need to establish a
|
210 |
// callback method
|
211 |
if (isset($next_page_url)) {
|
212 |
$coll_obj->SetNextPageCallback(
|
213 |
-
array($this, 'Collection'),
|
214 |
$next_page_url);
|
215 |
}
|
216 |
-
|
217 |
return $coll_obj;
|
218 |
}
|
219 |
-
|
220 |
/**
|
221 |
* returns the Region associated with the service
|
222 |
*
|
@@ -227,6 +230,31 @@ abstract class Service extends Base {
|
|
227 |
return $this->service_region;
|
228 |
}
|
229 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
230 |
/********** PRIVATE METHODS **********/
|
231 |
|
232 |
/**
|
@@ -256,8 +284,14 @@ abstract class Service extends Base {
|
|
256 |
(!strcasecmp($service->name, $name))) {
|
257 |
// found the service, now we need to find the region
|
258 |
foreach($service->endpoints as $endpoint) {
|
|
|
|
|
|
|
|
|
|
|
|
|
259 |
// compare the regions
|
260 |
-
|
261 |
isset($endpoint->$urltype)) {
|
262 |
// now we have a match! Yay!
|
263 |
++$found;
|
25 |
* @author Glen Campbell <glen.campbell@rackspace.com>
|
26 |
*/
|
27 |
abstract class Service extends Base {
|
28 |
+
|
29 |
+
protected
|
30 |
+
$_namespaces=array();
|
31 |
+
|
32 |
private
|
33 |
$conn,
|
34 |
$service_type,
|
58 |
$this->service_type = $type;
|
59 |
$this->service_name = $name;
|
60 |
$this->service_region = $region;
|
|
|
61 |
$this->service_url = $this->get_endpoint(
|
62 |
$type, $name, $region, $urltype);
|
63 |
} // public function __construct()
|
145 |
// determine the URL
|
146 |
if (!$url)
|
147 |
$url = $parent->Url($class::ResourceName());
|
148 |
+
|
149 |
// add query string parameters
|
150 |
if (count($parm))
|
151 |
$url .= '?' . $this->MakeQueryString($parm);
|
177 |
$obj = json_decode($response->HttpBody());
|
178 |
if ($this->CheckJsonError())
|
179 |
return FALSE;
|
180 |
+
|
181 |
// see if there is a "next" link
|
182 |
if (isset($obj->links)) {
|
183 |
if (is_array($obj->links)) {
|
208 |
}
|
209 |
else
|
210 |
$coll_obj = new Collection($parent, $class, array());
|
211 |
+
|
212 |
// if there's a $next_page_url, then we need to establish a
|
213 |
// callback method
|
214 |
if (isset($next_page_url)) {
|
215 |
$coll_obj->SetNextPageCallback(
|
216 |
+
array($this, 'Collection'),
|
217 |
$next_page_url);
|
218 |
}
|
219 |
+
|
220 |
return $coll_obj;
|
221 |
}
|
222 |
+
|
223 |
/**
|
224 |
* returns the Region associated with the service
|
225 |
*
|
230 |
return $this->service_region;
|
231 |
}
|
232 |
|
233 |
+
/**
|
234 |
+
* returns the serviceName associated with the service
|
235 |
+
*
|
236 |
+
* This is used by DNS for PTR record lookups
|
237 |
+
*
|
238 |
+
* @api
|
239 |
+
* @return string
|
240 |
+
*/
|
241 |
+
public function Name() {
|
242 |
+
return $this->service_name;
|
243 |
+
}
|
244 |
+
|
245 |
+
/**
|
246 |
+
* Returns a list of supported namespaces
|
247 |
+
*
|
248 |
+
* @return array
|
249 |
+
*/
|
250 |
+
public function namespaces() {
|
251 |
+
if (!isset($this->_namespaces))
|
252 |
+
return array();
|
253 |
+
if (is_array($this->_namespaces))
|
254 |
+
return $this->_namespaces;
|
255 |
+
return array();
|
256 |
+
}
|
257 |
+
|
258 |
/********** PRIVATE METHODS **********/
|
259 |
|
260 |
/**
|
284 |
(!strcasecmp($service->name, $name))) {
|
285 |
// found the service, now we need to find the region
|
286 |
foreach($service->endpoints as $endpoint) {
|
287 |
+
// regionless service
|
288 |
+
if (!isset($endpoint->region) &&
|
289 |
+
isset($endpoint->$urltype)) {
|
290 |
+
++$found;
|
291 |
+
return $endpoint->$urltype;
|
292 |
+
}
|
293 |
// compare the regions
|
294 |
+
elseif ((!strcasecmp($endpoint->region, $region)) &&
|
295 |
isset($endpoint->$urltype)) {
|
296 |
// now we have a match! Yay!
|
297 |
++$found;
|