Version Description
- Preformance improvment
- Uses now dropbox-php.com lib (ver. 0.4.2)
- Updated AWS lib to 1.4.0
- changed Plugin activation function, because on update or upload activate is not called
- bug fixes
Download this release
Release Info
Developer | daveshine |
Plugin | BackWPup – WordPress Backup Plugin |
Version | 2.1.3 |
Comparing to | |
See all releases |
Code changes from version 2.1.2 to 2.1.3
- backwpup-functions.php +23 -20
- backwpup.php +10 -14
- job/backup_create.php +1 -1
- job/dest_dropbox.php +25 -27
- job/file_list.php +2 -0
- job/job_functions.php +27 -33
- job/job_run.php +5 -0
- job/job_start.php +2 -1
- lang/backwpup-de_DE.mo +0 -0
- lang/backwpup-de_DE.po +174 -206
- lang/backwpup.pot +1033 -1085
- libs/Dropbox/API.php +345 -0
- libs/Dropbox/Exception.php +15 -0
- libs/Dropbox/Exception/Forbidden.php +18 -0
- libs/Dropbox/Exception/NotFound.php +20 -0
- libs/Dropbox/Exception/OverQuota.php +20 -0
- libs/Dropbox/Exception/RequestToken.php +18 -0
- libs/Dropbox/OAuth.php +151 -0
- libs/Dropbox/OAuth/Curl.php +282 -0
- libs/Dropbox/OAuth/PEAR.php +170 -0
- libs/Dropbox/OAuth/PHP.php +147 -0
- libs/Dropbox/OAuth/Wordpress.php +223 -0
- libs/Dropbox/OAuth/Zend.php +244 -0
- libs/Dropbox/autoload.php +29 -0
- libs/aws/sdk.class.php +146 -43
- libs/aws/services/as.class.php +1 -1
- libs/aws/services/cloudformation.class.php +1 -1
- libs/aws/services/cloudwatch.class.php +1 -1
- libs/aws/services/ec2.class.php +39 -11
- libs/aws/services/elasticbeanstalk.class.php +1 -1
- libs/aws/services/elb.class.php +1 -1
- libs/aws/services/iam.class.php +1 -1
- libs/aws/services/importexport.class.php +1 -1
- libs/aws/services/rds.class.php +1 -1
- libs/aws/services/s3.class.php +18 -4
- libs/aws/services/ses.class.php +1 -1
- libs/aws/services/sns.class.php +14 -6
- libs/aws/services/sqs.class.php +15 -7
- libs/dropbox/OAuthSimple.php +0 -418
- libs/dropbox/dropbox.php +0 -271
- pages/func_backwpupbackups.php +21 -26
- pages/func_backwpupeditjob.php +0 -5
- pages/header_backwpupbackups.php +26 -28
- pages/header_backwpupeditjob.php +14 -15
- readme.txt +8 -1
- uninstall.php +0 -2
backwpup-functions.php
CHANGED
@@ -102,19 +102,19 @@ function backwpup_contextual_help($help='') {
|
|
102 |
'</p>');
|
103 |
}
|
104 |
|
105 |
-
//On
|
106 |
function backwpup_plugin_activate() {
|
107 |
-
//
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
$jobs=get_option('backwpup_jobs');
|
116 |
if (isset($jobs[0]))
|
117 |
-
unset($jobs[0]); //
|
118 |
if (!empty($jobs)) {
|
119 |
foreach ($jobs as $jobid => $jobvalue) {
|
120 |
$checktjobs[$jobid]=backwpup_get_job_vars($jobid); //check jobvaules
|
@@ -125,9 +125,8 @@ function backwpup_plugin_activate() {
|
|
125 |
//remove old cron jobs
|
126 |
wp_clear_scheduled_hook('backwpup_cron');
|
127 |
//make new schedule round
|
128 |
-
wp_schedule_event(
|
129 |
//Set settings defaults
|
130 |
-
$cfg=get_option('backwpup'); //Load Settings
|
131 |
if (empty($cfg['mailsndemail'])) $cfg['mailsndemail']=sanitize_email(get_bloginfo( 'admin_email' ));
|
132 |
if (empty($cfg['mailsndname'])) $cfg['mailsndname']='BackWPup '.get_bloginfo( 'name' );
|
133 |
if (empty($cfg['mailmethod'])) $cfg['mailmethod']='mail';
|
@@ -161,12 +160,16 @@ function backwpup_plugin_activate() {
|
|
161 |
update_option('backwpup',$cfg);
|
162 |
//delete not longer used options
|
163 |
delete_option('backwpup_backups_chache');
|
|
|
164 |
backwpup_api(true);
|
165 |
}
|
166 |
|
167 |
//on Plugin deaktivate
|
168 |
function backwpup_plugin_deactivate() {
|
169 |
-
wp_clear_scheduled_hook('backwpup_cron');
|
|
|
|
|
|
|
170 |
backwpup_api(false);
|
171 |
}
|
172 |
|
@@ -233,7 +236,7 @@ function backwpup_api($active=false) {
|
|
233 |
}
|
234 |
}
|
235 |
}
|
236 |
-
wp_remote_post( BACKWPUP_API_URL, array('timeout' =>
|
237 |
}
|
238 |
|
239 |
//add edit setting to plugins page
|
@@ -279,7 +282,7 @@ function backwpup_cron() {
|
|
279 |
if (!empty($cfg['httpauthuser']) and !empty($cfg['httpauthpassword']))
|
280 |
$httpauthheader='Authorization: BASIC '.base64_encode($cfg['httpauthuser'].':'.base64_decode($cfg['httpauthpassword']));
|
281 |
if (!empty($infile['timestamp']) and $infile['timestamp']<$revtime) {
|
282 |
-
wp_remote_post(BACKWPUP_PLUGIN_BASEURL.'/job/job_run.php', array('timeout' =>
|
283 |
}
|
284 |
} else {
|
285 |
$jobs=get_option('backwpup_jobs');
|
@@ -724,7 +727,7 @@ function backwpup_env_checks() {
|
|
724 |
}
|
725 |
}
|
726 |
$nextrun=wp_next_scheduled('backwpup_cron');
|
727 |
-
if (empty($nextrun) or $nextrun
|
728 |
$message.=__("- WP-Cron isn't working, please check it!","backwpup") .'<br />';
|
729 |
}
|
730 |
//put massage if one
|
@@ -735,7 +738,9 @@ function backwpup_env_checks() {
|
|
735 |
|
736 |
function backwpup_admin_notice() {
|
737 |
global $backwpup_admin_message;
|
738 |
-
|
|
|
|
|
739 |
}
|
740 |
|
741 |
//Checking,upgrade and default job setting
|
@@ -1054,9 +1059,6 @@ function backwpup_get_job_vars($jobid='',$jobnewsettings='') {
|
|
1054 |
|
1055 |
if (!isset($jobsettings['droperoot']) or ($jobsettings['droperoot']!='dropbox' and $jobsettings['droperoot']!='sandbox'))
|
1056 |
$jobsettings['droperoot']='dropbox';
|
1057 |
-
|
1058 |
-
if (!isset($jobsettings['dropesignmethod']) or ($jobsettings['dropesignmethod']!='PLAIN' and $jobsettings['dropesignmethod']!='SHA1'))
|
1059 |
-
$jobsettings['dropesignmethod']='SHA1';
|
1060 |
|
1061 |
if (!isset($jobsettings['dropemaxbackups']) or !is_int($jobsettings['dropemaxbackups']))
|
1062 |
$jobsettings['dropemaxbackups']=0;
|
@@ -1090,6 +1092,7 @@ function backwpup_get_job_vars($jobid='',$jobnewsettings='') {
|
|
1090 |
unset($jobsettings['dropemail']);
|
1091 |
unset($jobsettings['dropepass']);
|
1092 |
unset($jobsettings['dbtables']);
|
|
|
1093 |
|
1094 |
return $jobsettings;
|
1095 |
}
|
102 |
'</p>');
|
103 |
}
|
104 |
|
105 |
+
//On activate function
|
106 |
function backwpup_plugin_activate() {
|
107 |
+
//Load Settings
|
108 |
+
$cfg=get_option('backwpup');
|
109 |
+
//Check only run once on update
|
110 |
+
if ($cfg['last_activate']==BACKWPUP_VERSION or !is_main_site())
|
111 |
+
return;
|
112 |
+
else
|
113 |
+
$cfg['last_activate']=BACKWPUP_VERSION;
|
114 |
+
//check jobs
|
115 |
$jobs=get_option('backwpup_jobs');
|
116 |
if (isset($jobs[0]))
|
117 |
+
unset($jobs[0]); //Delete old false job
|
118 |
if (!empty($jobs)) {
|
119 |
foreach ($jobs as $jobid => $jobvalue) {
|
120 |
$checktjobs[$jobid]=backwpup_get_job_vars($jobid); //check jobvaules
|
125 |
//remove old cron jobs
|
126 |
wp_clear_scheduled_hook('backwpup_cron');
|
127 |
//make new schedule round
|
128 |
+
wp_schedule_event(time(), 'backwpup_int', 'backwpup_cron');
|
129 |
//Set settings defaults
|
|
|
130 |
if (empty($cfg['mailsndemail'])) $cfg['mailsndemail']=sanitize_email(get_bloginfo( 'admin_email' ));
|
131 |
if (empty($cfg['mailsndname'])) $cfg['mailsndname']='BackWPup '.get_bloginfo( 'name' );
|
132 |
if (empty($cfg['mailmethod'])) $cfg['mailmethod']='mail';
|
160 |
update_option('backwpup',$cfg);
|
161 |
//delete not longer used options
|
162 |
delete_option('backwpup_backups_chache');
|
163 |
+
delete_option('backwpup_last_activate');
|
164 |
backwpup_api(true);
|
165 |
}
|
166 |
|
167 |
//on Plugin deaktivate
|
168 |
function backwpup_plugin_deactivate() {
|
169 |
+
wp_clear_scheduled_hook('backwpup_cron'); //delete cron
|
170 |
+
$cfg=get_option('backwpup');
|
171 |
+
$cfg['last_activate']=''; //set to not activated
|
172 |
+
update_option('backwpup',$cfg);
|
173 |
backwpup_api(false);
|
174 |
}
|
175 |
|
236 |
}
|
237 |
}
|
238 |
}
|
239 |
+
wp_remote_post( BACKWPUP_API_URL, array('timeout' => 15, 'blocking' => false, 'sslverify' => false, 'body'=>$post, 'user-agent'=>'BackWPup '.BACKWPUP_VERSION) );
|
240 |
}
|
241 |
|
242 |
//add edit setting to plugins page
|
282 |
if (!empty($cfg['httpauthuser']) and !empty($cfg['httpauthpassword']))
|
283 |
$httpauthheader='Authorization: BASIC '.base64_encode($cfg['httpauthuser'].':'.base64_decode($cfg['httpauthpassword']));
|
284 |
if (!empty($infile['timestamp']) and $infile['timestamp']<$revtime) {
|
285 |
+
wp_remote_post(BACKWPUP_PLUGIN_BASEURL.'/job/job_run.php', array('timeout' => 3, 'blocking' => false, 'sslverify' => false,'headers'=>$httpauthheader, 'body'=>array('BackWPupJobTemp'=>backwpup_get_temp(), 'nonce'=> $infile['NONCE'],'type'=>'restarttime'), 'user-agent'=>'BackWPup') );
|
286 |
}
|
287 |
} else {
|
288 |
$jobs=get_option('backwpup_jobs');
|
727 |
}
|
728 |
}
|
729 |
$nextrun=wp_next_scheduled('backwpup_cron');
|
730 |
+
if (empty($nextrun) or $nextrun<(time()-(3600*6))) { //check cron jobs work
|
731 |
$message.=__("- WP-Cron isn't working, please check it!","backwpup") .'<br />';
|
732 |
}
|
733 |
//put massage if one
|
738 |
|
739 |
function backwpup_admin_notice() {
|
740 |
global $backwpup_admin_message;
|
741 |
+
if (current_user_can(BACKWPUP_USER_CAPABILITY))
|
742 |
+
echo $backwpup_admin_message;
|
743 |
+
return;
|
744 |
}
|
745 |
|
746 |
//Checking,upgrade and default job setting
|
1059 |
|
1060 |
if (!isset($jobsettings['droperoot']) or ($jobsettings['droperoot']!='dropbox' and $jobsettings['droperoot']!='sandbox'))
|
1061 |
$jobsettings['droperoot']='dropbox';
|
|
|
|
|
|
|
1062 |
|
1063 |
if (!isset($jobsettings['dropemaxbackups']) or !is_int($jobsettings['dropemaxbackups']))
|
1064 |
$jobsettings['dropemaxbackups']=0;
|
1092 |
unset($jobsettings['dropemail']);
|
1093 |
unset($jobsettings['dropepass']);
|
1094 |
unset($jobsettings['dbtables']);
|
1095 |
+
unset($jobsettings['dropesignmethod']);
|
1096 |
|
1097 |
return $jobsettings;
|
1098 |
}
|
backwpup.php
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
/*
|
3 |
Plugin Name: BackWPup
|
4 |
Plugin URI: http://backwpup.com
|
5 |
-
Description:
|
6 |
Author: Daniel Hüsken
|
7 |
-
Version: 2.1.
|
8 |
Author URI: http://danielhuesken.de
|
9 |
Text Domain: backwpup
|
10 |
Domain Path: /lang/
|
@@ -32,7 +32,7 @@ Domain Path: /lang/
|
|
32 |
define('BACKWPUP_PLUGIN_BASEDIR', dirname(plugin_basename(__FILE__)));
|
33 |
define('BACKWPUP_PLUGIN_BASEURL',plugins_url('',__FILE__));
|
34 |
//Set Plugin Version
|
35 |
-
define('BACKWPUP_VERSION', '2.1.
|
36 |
//Set Min Wordpress Version
|
37 |
define('BACKWPUP_MIN_WORDPRESS_VERSION', '3.1');
|
38 |
//Set User Capability
|
@@ -40,7 +40,7 @@ define('BACKWPUP_USER_CAPABILITY', 'export');
|
|
40 |
//Set useable destinations
|
41 |
if (!defined('BACKWPUP_DESTS')) {
|
42 |
if (!function_exists('curl_init'))
|
43 |
-
define('BACKWPUP_DESTS', 'FTP,MSAZURE');
|
44 |
else
|
45 |
define('BACKWPUP_DESTS', 'FTP,DROPBOX,SUGARSYNC,S3,GSTORAGE,RSC,MSAZURE');
|
46 |
}
|
@@ -52,12 +52,12 @@ define('BACKWPUP_SUGARSYNC_ACCESSKEY', 'OTcwNjc5MTI5OTQxMzY1Njc5OA');
|
|
52 |
define('BACKWPUP_SUGARSYNC_PRIVATEACCESSKEY', 'NzNmNDMwMDBiNTkwNDY0YzhjY2JiN2E5YWVkMjFmYmI');
|
53 |
//BackWPup API url
|
54 |
define('BACKWPUP_API_URL', 'http://api.backwpup.com');
|
|
|
|
|
55 |
//load Text Domain
|
56 |
load_plugin_textdomain('backwpup', false, BACKWPUP_PLUGIN_BASEDIR.'/lang');
|
57 |
//Load functions file
|
58 |
require_once(dirname(__FILE__).'/backwpup-functions.php');
|
59 |
-
//Plugin activate
|
60 |
-
register_activation_hook(__FILE__, 'backwpup_plugin_activate');
|
61 |
//Plugin deactivate
|
62 |
register_deactivation_hook(__FILE__, 'backwpup_plugin_deactivate');
|
63 |
//Admin message
|
@@ -65,11 +65,10 @@ if (is_multisite())
|
|
65 |
add_action('network_admin_notices', 'backwpup_admin_notice');
|
66 |
else
|
67 |
add_action('admin_notices', 'backwpup_admin_notice');
|
68 |
-
//test if cron active
|
69 |
-
if (!(wp_next_scheduled('backwpup_cron')) and is_network_admin())
|
70 |
-
wp_schedule_event(mktime(date("H")), 'backwpup_int', 'backwpup_cron');
|
71 |
//add cron intervals
|
72 |
-
add_filter('cron_schedules', 'backwpup_intervals');
|
|
|
|
|
73 |
//Check if plugin can activated
|
74 |
if (backwpup_env_checks()) {
|
75 |
if (is_multisite()) { //For multisite
|
@@ -98,10 +97,7 @@ if (backwpup_env_checks()) {
|
|
98 |
backwpup_load_ajax();
|
99 |
//Disabele WP_Corn
|
100 |
$cfg=get_option('backwpup');
|
101 |
-
if (
|
102 |
define('DISABLE_WP_CRON',true);
|
103 |
-
//test if cron active
|
104 |
-
if (!(wp_next_scheduled('backwpup_cron')) and is_network_admin())
|
105 |
-
wp_schedule_event(mktime(date("H")), 'backwpup_int', 'backwpup_cron');
|
106 |
}
|
107 |
?>
|
2 |
/*
|
3 |
Plugin Name: BackWPup
|
4 |
Plugin URI: http://backwpup.com
|
5 |
+
Description: WordPress Backup and more�
|
6 |
Author: Daniel Hüsken
|
7 |
+
Version: 2.1.3
|
8 |
Author URI: http://danielhuesken.de
|
9 |
Text Domain: backwpup
|
10 |
Domain Path: /lang/
|
32 |
define('BACKWPUP_PLUGIN_BASEDIR', dirname(plugin_basename(__FILE__)));
|
33 |
define('BACKWPUP_PLUGIN_BASEURL',plugins_url('',__FILE__));
|
34 |
//Set Plugin Version
|
35 |
+
define('BACKWPUP_VERSION', '2.1.3');
|
36 |
//Set Min Wordpress Version
|
37 |
define('BACKWPUP_MIN_WORDPRESS_VERSION', '3.1');
|
38 |
//Set User Capability
|
40 |
//Set useable destinations
|
41 |
if (!defined('BACKWPUP_DESTS')) {
|
42 |
if (!function_exists('curl_init'))
|
43 |
+
define('BACKWPUP_DESTS', 'FTP,DROPBOX,MSAZURE');
|
44 |
else
|
45 |
define('BACKWPUP_DESTS', 'FTP,DROPBOX,SUGARSYNC,S3,GSTORAGE,RSC,MSAZURE');
|
46 |
}
|
52 |
define('BACKWPUP_SUGARSYNC_PRIVATEACCESSKEY', 'NzNmNDMwMDBiNTkwNDY0YzhjY2JiN2E5YWVkMjFmYmI');
|
53 |
//BackWPup API url
|
54 |
define('BACKWPUP_API_URL', 'http://api.backwpup.com');
|
55 |
+
//use Cert in AWS dir
|
56 |
+
define('AWS_CERTIFICATE_AUTHORITY', true);
|
57 |
//load Text Domain
|
58 |
load_plugin_textdomain('backwpup', false, BACKWPUP_PLUGIN_BASEDIR.'/lang');
|
59 |
//Load functions file
|
60 |
require_once(dirname(__FILE__).'/backwpup-functions.php');
|
|
|
|
|
61 |
//Plugin deactivate
|
62 |
register_deactivation_hook(__FILE__, 'backwpup_plugin_deactivate');
|
63 |
//Admin message
|
65 |
add_action('network_admin_notices', 'backwpup_admin_notice');
|
66 |
else
|
67 |
add_action('admin_notices', 'backwpup_admin_notice');
|
|
|
|
|
|
|
68 |
//add cron intervals
|
69 |
+
add_filter('cron_schedules', 'backwpup_intervals');
|
70 |
+
//call activation settings
|
71 |
+
backwpup_plugin_activate();
|
72 |
//Check if plugin can activated
|
73 |
if (backwpup_env_checks()) {
|
74 |
if (is_multisite()) { //For multisite
|
97 |
backwpup_load_ajax();
|
98 |
//Disabele WP_Corn
|
99 |
$cfg=get_option('backwpup');
|
100 |
+
if (!empty($cfg['disablewpcron']))
|
101 |
define('DISABLE_WP_CRON',true);
|
|
|
|
|
|
|
102 |
}
|
103 |
?>
|
job/backup_create.php
CHANGED
@@ -59,7 +59,7 @@ function backup_create() {
|
|
59 |
$files[$i][79003]=$filelist[$i]['OUTFILE'];
|
60 |
$files[$i][79004]=$filelist[$i]['MTIME'];
|
61 |
}
|
62 |
-
need_free_memory(
|
63 |
$zipbackupfile = new PclZip($STATIC['JOB']['backupdir'].$STATIC['backupfile']);
|
64 |
if (0==$zipbackupfile->create($files,PCLZIP_CB_POST_ADD,'_pclzipPostAddCallBack',PCLZIP_OPT_TEMP_FILE_THRESHOLD, 10)) {
|
65 |
trigger_error(sprintf(__('Zip archive create error: %s','backwpup'),$zipbackupfile->errorInfo(true)),E_USER_ERROR);
|
59 |
$files[$i][79003]=$filelist[$i]['OUTFILE'];
|
60 |
$files[$i][79004]=$filelist[$i]['MTIME'];
|
61 |
}
|
62 |
+
need_free_memory(26214400); //25MB free memory for zip
|
63 |
$zipbackupfile = new PclZip($STATIC['JOB']['backupdir'].$STATIC['backupfile']);
|
64 |
if (0==$zipbackupfile->create($files,PCLZIP_CB_POST_ADD,'_pclzipPostAddCallBack',PCLZIP_OPT_TEMP_FILE_THRESHOLD, 10)) {
|
65 |
trigger_error(sprintf(__('Zip archive create error: %s','backwpup'),$zipbackupfile->errorInfo(true)),E_USER_ERROR);
|
job/dest_dropbox.php
CHANGED
@@ -4,25 +4,26 @@ function dest_dropbox() {
|
|
4 |
$WORKING['STEPTODO']=2+filesize($STATIC['JOB']['backupdir'].$STATIC['backupfile']);
|
5 |
$WORKING['STEPDONE']=0;
|
6 |
trigger_error(sprintf(__('%d. Try to sending backup file to DropBox...','backwpup'),$WORKING['DEST_DROPBOX']['STEP_TRY']),E_USER_NOTICE);
|
7 |
-
|
|
|
8 |
try {
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
$
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
trigger_error(sprintf(__('
|
|
|
19 |
}
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
$info=$dropbox->accountInfo();
|
26 |
if (!empty($info['uid'])) {
|
27 |
trigger_error(sprintf(__('Authed with DropBox from %s','backwpup'),$info['display_name']),E_USER_NOTICE);
|
28 |
}
|
@@ -36,29 +37,26 @@ function dest_dropbox() {
|
|
36 |
trigger_error(sprintf(__('%s free on DropBox','backwpup'),formatBytes($dropboxfreespase)),E_USER_NOTICE);
|
37 |
}
|
38 |
//set calback function
|
39 |
-
$
|
40 |
// put the file
|
41 |
trigger_error(__('Upload to DropBox now started... ','backwpup'),E_USER_NOTICE);
|
42 |
-
need_free_memory(filesize($STATIC['JOB']['backupdir'].$STATIC['backupfile'])*2.
|
43 |
@set_time_limit($STATIC['CFG']['jobscriptruntimelong']);
|
44 |
-
$response = $dropbox->
|
45 |
-
if ($response
|
46 |
$STATIC['JOB']['lastbackupdownloadurl']=$STATIC['WP']['ADMINURL'].'?page=backwpupbackups&action=downloaddropbox&file='.$STATIC['JOB']['dropedir'].$STATIC['backupfile'].'&jobid='.$STATIC['JOB']['jobid'];
|
47 |
$WORKING['STEPDONE']++;
|
48 |
trigger_error(sprintf(__('Backup transferred to %s','backwpup'),'https://api-content.dropbox.com/0/files/'.$STATIC['JOB']['droperoot'].'/'.$STATIC['JOB']['dropedir'].$STATIC['backupfile']),E_USER_NOTICE);
|
49 |
-
} else {
|
50 |
-
trigger_error(sprintf(__('Error on transfere backup to DropBox: %s','backwpup'),$response['error']),E_USER_ERROR);
|
51 |
-
return;
|
52 |
}
|
53 |
//unset calback function
|
54 |
-
$
|
55 |
} catch (Exception $e) {
|
56 |
trigger_error(sprintf(__('DropBox API: %s','backwpup'),$e->getMessage()),E_USER_ERROR);
|
57 |
}
|
58 |
try {
|
59 |
if ($STATIC['JOB']['dropemaxbackups']>0 and is_object($dropbox)) { //Delete old backups
|
60 |
$backupfilelist=array();
|
61 |
-
$metadata = $dropbox->
|
62 |
if (is_array($metadata)) {
|
63 |
foreach ($metadata['contents'] as $data) {
|
64 |
$file=basename($data['path']);
|
@@ -70,7 +68,7 @@ function dest_dropbox() {
|
|
70 |
rsort($backupfilelist);
|
71 |
$numdeltefiles=0;
|
72 |
for ($i=$STATIC['JOB']['dropemaxbackups'];$i<count($backupfilelist);$i++) {
|
73 |
-
$dropbox->
|
74 |
$numdeltefiles++;
|
75 |
}
|
76 |
if ($numdeltefiles>0)
|
4 |
$WORKING['STEPTODO']=2+filesize($STATIC['JOB']['backupdir'].$STATIC['backupfile']);
|
5 |
$WORKING['STEPDONE']=0;
|
6 |
trigger_error(sprintf(__('%d. Try to sending backup file to DropBox...','backwpup'),$WORKING['DEST_DROPBOX']['STEP_TRY']),E_USER_NOTICE);
|
7 |
+
|
8 |
+
require_once(realpath(dirname(__FILE__).'/../libs/Dropbox/autoload.php'));
|
9 |
try {
|
10 |
+
if (class_exists('OAuth'))
|
11 |
+
$oauth = new Dropbox_OAuth_PHP($STATIC['BACKWPUP']['DROPBOX_APP_KEY'], $STATIC['BACKWPUP']['DROPBOX_APP_SECRET']);
|
12 |
+
elseif (class_exists('HTTP_OAuth_Consumer'))
|
13 |
+
$oauth = new Dropbox_OAuth_PEAR($STATIC['BACKWPUP']['DROPBOX_APP_KEY'], $STATIC['BACKWPUP']['DROPBOX_APP_SECRET']);
|
14 |
+
elseif (class_exists('Zend_Oauth_Consumer'))
|
15 |
+
$oauth = new Dropbox_OAuth_Zend($STATIC['BACKWPUP']['DROPBOX_APP_KEY'], $STATIC['BACKWPUP']['DROPBOX_APP_SECRET']);
|
16 |
+
elseif (function_exists('curl_exec'))
|
17 |
+
$oauth = new Dropbox_OAuth_Curl($STATIC['BACKWPUP']['DROPBOX_APP_KEY'], $STATIC['BACKWPUP']['DROPBOX_APP_SECRET']);
|
18 |
+
else {
|
19 |
+
trigger_error(sprintf(__('No supported DropDox oauth class found!','backwpup'),$info['display_name']),E_USER_ERROR);
|
20 |
+
return;
|
21 |
}
|
22 |
+
|
23 |
+
$dropbox = new Dropbox_API($oauth,$STATIC['JOB']['droperoot']);
|
24 |
+
// set the tokens
|
25 |
+
$oauth->setToken($STATIC['JOB']['dropetoken'],$STATIC['JOB']['dropesecret']);
|
26 |
+
$info=$dropbox->getAccountInfo();
|
|
|
27 |
if (!empty($info['uid'])) {
|
28 |
trigger_error(sprintf(__('Authed with DropBox from %s','backwpup'),$info['display_name']),E_USER_NOTICE);
|
29 |
}
|
37 |
trigger_error(sprintf(__('%s free on DropBox','backwpup'),formatBytes($dropboxfreespase)),E_USER_NOTICE);
|
38 |
}
|
39 |
//set calback function
|
40 |
+
$oauth->ProgressFunction='curl_progresscallback';
|
41 |
// put the file
|
42 |
trigger_error(__('Upload to DropBox now started... ','backwpup'),E_USER_NOTICE);
|
43 |
+
need_free_memory(filesize($STATIC['JOB']['backupdir'].$STATIC['backupfile'])*2.3); //free memory to transfer to dropbox
|
44 |
@set_time_limit($STATIC['CFG']['jobscriptruntimelong']);
|
45 |
+
$response = $dropbox->putFile($STATIC['JOB']['dropedir'].$STATIC['backupfile'],$STATIC['JOB']['backupdir'].$STATIC['backupfile']);
|
46 |
+
if ($response) {
|
47 |
$STATIC['JOB']['lastbackupdownloadurl']=$STATIC['WP']['ADMINURL'].'?page=backwpupbackups&action=downloaddropbox&file='.$STATIC['JOB']['dropedir'].$STATIC['backupfile'].'&jobid='.$STATIC['JOB']['jobid'];
|
48 |
$WORKING['STEPDONE']++;
|
49 |
trigger_error(sprintf(__('Backup transferred to %s','backwpup'),'https://api-content.dropbox.com/0/files/'.$STATIC['JOB']['droperoot'].'/'.$STATIC['JOB']['dropedir'].$STATIC['backupfile']),E_USER_NOTICE);
|
|
|
|
|
|
|
50 |
}
|
51 |
//unset calback function
|
52 |
+
$oauth->ProgressFunction='';
|
53 |
} catch (Exception $e) {
|
54 |
trigger_error(sprintf(__('DropBox API: %s','backwpup'),$e->getMessage()),E_USER_ERROR);
|
55 |
}
|
56 |
try {
|
57 |
if ($STATIC['JOB']['dropemaxbackups']>0 and is_object($dropbox)) { //Delete old backups
|
58 |
$backupfilelist=array();
|
59 |
+
$metadata = $dropbox->getMetaData($STATIC['JOB']['dropedir']);
|
60 |
if (is_array($metadata)) {
|
61 |
foreach ($metadata['contents'] as $data) {
|
62 |
$file=basename($data['path']);
|
68 |
rsort($backupfilelist);
|
69 |
$numdeltefiles=0;
|
70 |
for ($i=$STATIC['JOB']['dropemaxbackups'];$i<count($backupfilelist);$i++) {
|
71 |
+
$dropbox->delete($STATIC['JOB']['dropedir'].$backupfilelist[$i]); //delete files on Cloud
|
72 |
$numdeltefiles++;
|
73 |
}
|
74 |
if ($numdeltefiles>0)
|
job/file_list.php
CHANGED
@@ -75,6 +75,8 @@ function _file_list( $folder = '', $levels = 100, $excludedirs=array()) {
|
|
75 |
return false;
|
76 |
if( ! $levels )
|
77 |
return false;
|
|
|
|
|
78 |
$folder=rtrim($folder,'/').'/';
|
79 |
if ( $dir = @opendir( $folder ) ) {
|
80 |
while (($file = readdir( $dir ) ) !== false ) {
|
75 |
return false;
|
76 |
if( ! $levels )
|
77 |
return false;
|
78 |
+
if ($levels == 100 or $levels == 95)
|
79 |
+
update_working_file();
|
80 |
$folder=rtrim($folder,'/').'/';
|
81 |
if ( $dir = @opendir( $folder ) ) {
|
82 |
while (($file = readdir( $dir ) ) !== false ) {
|
job/job_functions.php
CHANGED
@@ -72,7 +72,7 @@ function get_filelist() {
|
|
72 |
|
73 |
//file size
|
74 |
function formatbytes($bytes, $precision = 2) {
|
75 |
-
$units = array('B', 'KB', 'MB', 'GB', 'TB');
|
76 |
$bytes = max($bytes, 0);
|
77 |
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
|
78 |
$pow = min($pow, count($units) - 1);
|
@@ -80,40 +80,34 @@ function formatbytes($bytes, $precision = 2) {
|
|
80 |
return round($bytes, $precision) . ' ' . $units[$pow];
|
81 |
}
|
82 |
|
83 |
-
function need_free_memory($memneed) {
|
84 |
-
if (ini_get('safe_mode') or strtolower(ini_get('safe_mode'))=='on' or ini_get('safe_mode')=='1') {
|
85 |
-
trigger_error(sprintf(__('PHP Safe mode is on!!! Can not increase memory limit is %s','backwpup'),ini_get('memory_limit')),E_USER_WARNING);
|
86 |
-
return false;
|
87 |
-
}
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
$
|
94 |
-
|
95 |
-
$
|
96 |
-
|
97 |
-
$
|
98 |
-
|
99 |
-
|
100 |
-
if (version_compare(phpversion(), '5.2.0', '<'))
|
101 |
-
$memnow=memory_get_usage();
|
102 |
-
else
|
103 |
-
$memnow=memory_get_usage(true);
|
104 |
|
|
|
|
|
|
|
105 |
//need memory
|
106 |
-
$needmemory
|
107 |
-
|
108 |
// increase Memory
|
109 |
-
if ($needmemory
|
110 |
-
$newmemory=round($needmemory/1024/1024)+1;
|
111 |
-
if ($
|
112 |
-
|
|
|
|
|
113 |
else
|
114 |
-
trigger_error(sprintf(__('Can not increase memory limit is %1$s','backwpup')
|
115 |
}
|
116 |
-
return true;
|
117 |
}
|
118 |
|
119 |
function maintenance_mode($enable = false) {
|
@@ -186,7 +180,7 @@ function update_working_file($mustwrite=false) {
|
|
186 |
global $WORKING,$STATIC,$runmicrotime;
|
187 |
if (!file_exists($STATIC['TEMPDIR'].'.running'))
|
188 |
job_end();
|
189 |
-
if ($mustwrite or empty($runmicrotime) or $runmicrotime
|
190 |
if ($WORKING['STEPTODO']>0 and $WORKING['STEPDONE']>0)
|
191 |
$steppersent=round($WORKING['STEPDONE']/$WORKING['STEPTODO']*100);
|
192 |
else
|
@@ -351,7 +345,7 @@ function job_end() {
|
|
351 |
//Display job working time
|
352 |
trigger_error(sprintf(__('Job done in %s sec.','backwpup'),time()-$STATIC['JOB']['starttime']),E_USER_NOTICE);
|
353 |
|
354 |
-
if (!is_file($STATIC['JOB']['backupdir'].$STATIC['backupfile']) or !($filesize=filesize($STATIC['JOB']['backupdir'].$STATIC['backupfile']))) //Set the filezie corectly
|
355 |
$filesize=0;
|
356 |
|
357 |
//clean up temp
|
@@ -542,7 +536,7 @@ function job_shutdown($signal='') {
|
|
542 |
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
|
543 |
curl_setopt($ch, CURLOPT_USERPWD, $STATIC['CFG']['httpauthuser'].':'.base64_decode($STATIC['CFG']['httpauthpassword']));
|
544 |
}
|
545 |
-
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,
|
546 |
curl_exec($ch);
|
547 |
} else {
|
548 |
//use fopen if no curl
|
@@ -565,7 +559,7 @@ function job_shutdown($signal='') {
|
|
565 |
$header.= "Authorization: Basic ".base64_encode($STATIC['CFG']['httpauthuser'].':'.base64_decode($STATIC['CFG']['httpauthpassword']))."\r\n";
|
566 |
$header.= "Connection: Close\r\n\r\n";
|
567 |
$header.=$query;
|
568 |
-
$fp=fsockopen($host, $port, $errno, $errstr,
|
569 |
fwrite($fp,$header);
|
570 |
fclose($fp);
|
571 |
}
|
72 |
|
73 |
//file size
|
74 |
function formatbytes($bytes, $precision = 2) {
|
75 |
+
$units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB');
|
76 |
$bytes = max($bytes, 0);
|
77 |
$pow = floor(($bytes ? log($bytes) : 0) / log(1024));
|
78 |
$pow = min($pow, count($units) - 1);
|
80 |
return round($bytes, $precision) . ' ' . $units[$pow];
|
81 |
}
|
82 |
|
|
|
|
|
|
|
|
|
|
|
83 |
|
84 |
+
function inbytes($value) {
|
85 |
+
$multi=strtoupper(substr(trim($value),-1));
|
86 |
+
$bytes=abs(intval(trim($value)));
|
87 |
+
if ($multi=='G')
|
88 |
+
$bytes=$bytes*1024*1024*1024;
|
89 |
+
if ($multi=='M')
|
90 |
+
$bytes=$bytes*1024*1024;
|
91 |
+
if ($multi=='K')
|
92 |
+
$bytes=$bytes*1024;
|
93 |
+
return $bytes;
|
94 |
+
}
|
|
|
|
|
|
|
|
|
95 |
|
96 |
+
function need_free_memory($memneed) {
|
97 |
+
if (!function_exists('memory_get_usage'))
|
98 |
+
return;
|
99 |
//need memory
|
100 |
+
$needmemory=@memory_get_usage(true)+inbytes($memneed);
|
|
|
101 |
// increase Memory
|
102 |
+
if ($needmemory>inbytes(ini_get('memory_limit'))) {
|
103 |
+
$newmemory=round($needmemory/1024/1024)+1 .'M';
|
104 |
+
if ($needmemory>=1073741824)
|
105 |
+
$newmemory=round($needmemory/1024/1024/1024) .'G';
|
106 |
+
if ($oldmem=@ini_set('memory_limit', $newmemory))
|
107 |
+
trigger_error(sprintf(__('Memory increased from %1$s to %2$s','backwpup'),$oldmem,@ini_get('memory_limit')),E_USER_NOTICE);
|
108 |
else
|
109 |
+
trigger_error(sprintf(__('Can not increase memory limit is %1$s','backwpup'),@ini_get('memory_limit')),E_USER_WARNING);
|
110 |
}
|
|
|
111 |
}
|
112 |
|
113 |
function maintenance_mode($enable = false) {
|
180 |
global $WORKING,$STATIC,$runmicrotime;
|
181 |
if (!file_exists($STATIC['TEMPDIR'].'.running'))
|
182 |
job_end();
|
183 |
+
if ($mustwrite or empty($runmicrotime) or $runmicrotime<(microtime()-1000)) { //only update all 1 sec.
|
184 |
if ($WORKING['STEPTODO']>0 and $WORKING['STEPDONE']>0)
|
185 |
$steppersent=round($WORKING['STEPDONE']/$WORKING['STEPTODO']*100);
|
186 |
else
|
345 |
//Display job working time
|
346 |
trigger_error(sprintf(__('Job done in %s sec.','backwpup'),time()-$STATIC['JOB']['starttime']),E_USER_NOTICE);
|
347 |
|
348 |
+
if (empty($STATIC['backupfile']) or !is_file($STATIC['JOB']['backupdir'].$STATIC['backupfile']) or !($filesize=filesize($STATIC['JOB']['backupdir'].$STATIC['backupfile']))) //Set the filezie corectly
|
349 |
$filesize=0;
|
350 |
|
351 |
//clean up temp
|
536 |
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
|
537 |
curl_setopt($ch, CURLOPT_USERPWD, $STATIC['CFG']['httpauthuser'].':'.base64_decode($STATIC['CFG']['httpauthpassword']));
|
538 |
}
|
539 |
+
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
|
540 |
curl_exec($ch);
|
541 |
} else {
|
542 |
//use fopen if no curl
|
559 |
$header.= "Authorization: Basic ".base64_encode($STATIC['CFG']['httpauthuser'].':'.base64_decode($STATIC['CFG']['httpauthpassword']))."\r\n";
|
560 |
$header.= "Connection: Close\r\n\r\n";
|
561 |
$header.=$query;
|
562 |
+
$fp=fsockopen($host, $port, $errno, $errstr, 3);
|
563 |
fwrite($fp,$header);
|
564 |
fclose($fp);
|
565 |
}
|
job/job_run.php
CHANGED
@@ -1,6 +1,8 @@
|
|
1 |
<?PHP
|
2 |
//Set a constance for not direkt loding in other files
|
3 |
define('BACKWPUP_JOBRUN_FOLDER', dirname(__FILE__).'/');
|
|
|
|
|
4 |
// get needed functions for the jobrun
|
5 |
require_once(BACKWPUP_JOBRUN_FOLDER.'job_functions.php');
|
6 |
//check referer
|
@@ -39,6 +41,9 @@ ob_start();
|
|
39 |
header("Content-Length: 0");
|
40 |
ob_end_flush();
|
41 |
flush();
|
|
|
|
|
|
|
42 |
//check existing Logfile
|
43 |
if (empty($STATIC) or !file_exists($STATIC['LOGFILE'])) {
|
44 |
delete_working_file();
|
1 |
<?PHP
|
2 |
//Set a constance for not direkt loding in other files
|
3 |
define('BACKWPUP_JOBRUN_FOLDER', dirname(__FILE__).'/');
|
4 |
+
//for S3 and Gstorage
|
5 |
+
define('AWS_CERTIFICATE_AUTHORITY', true);
|
6 |
// get needed functions for the jobrun
|
7 |
require_once(BACKWPUP_JOBRUN_FOLDER.'job_functions.php');
|
8 |
//check referer
|
41 |
header("Content-Length: 0");
|
42 |
ob_end_flush();
|
43 |
flush();
|
44 |
+
// set memory limit to the same as WP.
|
45 |
+
if (function_exists('memory_get_usage') && (inbytes(@ini_get('memory_limit')) < inbytes($STATIC['WP']['MEMORY_LIMIT'])))
|
46 |
+
@ini_set('memory_limit',$STATIC['WP']['MEMORY_LIMIT']);
|
47 |
//check existing Logfile
|
48 |
if (empty($STATIC) or !file_exists($STATIC['LOGFILE'])) {
|
49 |
delete_working_file();
|
job/job_start.php
CHANGED
@@ -71,6 +71,7 @@ function backwpup_jobstart($jobid='',$cronstart=false) {
|
|
71 |
$backwpup_static['WP']['WPLANG']=WPLANG;
|
72 |
$backwpup_static['WP']['VERSION']=$wp_version;
|
73 |
$backwpup_static['WP']['CHARSET']=get_option('blog_charset');
|
|
|
74 |
//WP folder
|
75 |
$backwpup_static['WP']['ABSPATH']=rtrim(str_replace('\\','/',ABSPATH),'/').'/';
|
76 |
$backwpup_static['WP']['WP_CONTENT_DIR']=rtrim(str_replace('\\','/',WP_CONTENT_DIR),'/').'/';
|
@@ -258,7 +259,7 @@ function backwpup_jobstart($jobid='',$cronstart=false) {
|
|
258 |
$httpauthheader='';
|
259 |
if (!empty($backwpup_static['CFG']['httpauthuser']) and !empty($backwpup_static['CFG']['httpauthpassword']))
|
260 |
$httpauthheader="Authorization: Basic ".base64_encode($backwpup_static['CFG']['httpauthuser'].':'.base64_decode($backwpup_static['CFG']['httpauthpassword']))."\r\n";
|
261 |
-
wp_remote_post($backwpup_static['JOBRUNURL'], array('timeout' =>
|
262 |
return $backwpup_static['LOGFILE'];
|
263 |
}
|
264 |
?>
|
71 |
$backwpup_static['WP']['WPLANG']=WPLANG;
|
72 |
$backwpup_static['WP']['VERSION']=$wp_version;
|
73 |
$backwpup_static['WP']['CHARSET']=get_option('blog_charset');
|
74 |
+
$backwpup_static['WP']['MEMORY_LIMIT']=WP_MEMORY_LIMIT;
|
75 |
//WP folder
|
76 |
$backwpup_static['WP']['ABSPATH']=rtrim(str_replace('\\','/',ABSPATH),'/').'/';
|
77 |
$backwpup_static['WP']['WP_CONTENT_DIR']=rtrim(str_replace('\\','/',WP_CONTENT_DIR),'/').'/';
|
259 |
$httpauthheader='';
|
260 |
if (!empty($backwpup_static['CFG']['httpauthuser']) and !empty($backwpup_static['CFG']['httpauthpassword']))
|
261 |
$httpauthheader="Authorization: Basic ".base64_encode($backwpup_static['CFG']['httpauthuser'].':'.base64_decode($backwpup_static['CFG']['httpauthpassword']))."\r\n";
|
262 |
+
wp_remote_post($backwpup_static['JOBRUNURL'], array('timeout' => 3, 'blocking' => false, 'sslverify' => false, 'headers'=>$httpauthheader ,'body'=>array('BackWPupJobTemp'=>$backwpup_static['TEMPDIR'], 'nonce'=>$backwpup_working['NONCE'], 'type'=>'start'), 'user-agent'=>'BackWPup'));
|
263 |
return $backwpup_static['LOGFILE'];
|
264 |
}
|
265 |
?>
|
lang/backwpup-de_DE.mo
CHANGED
Binary file
|
lang/backwpup-de_DE.po
CHANGED
@@ -3,7 +3,7 @@ msgstr ""
|
|
3 |
"Project-Id-Version: BackWPup 2.x Branch\n"
|
4 |
"Report-Msgid-Bugs-To: http://backwpup.com/forum/\n"
|
5 |
"POT-Creation-Date: 2010-06-23 17:08+0000\n"
|
6 |
-
"PO-Revision-Date: 2011-
|
7 |
"Last-Translator: David Decker <deckerweb.mobil@googlemail.com>\n"
|
8 |
"Language-Team: DECKERWEB <deckerweb.mobil@googlemail.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -19,32 +19,32 @@ msgstr ""
|
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
|
21 |
#@ backwpup
|
22 |
-
#: job/job_functions.php:
|
23 |
msgid "[WARNING]"
|
24 |
msgstr "[WARNUNG]"
|
25 |
|
26 |
#@ backwpup
|
27 |
-
#: job/job_functions.php:
|
28 |
msgid "[ERROR]"
|
29 |
msgstr "[FEHLER]"
|
30 |
|
31 |
#@ backwpup
|
32 |
-
#: job/job_functions.php:
|
33 |
msgid "[DEPRECATED]"
|
34 |
msgstr "[VERALTET]"
|
35 |
|
36 |
#@ backwpup
|
37 |
-
#: job/job_functions.php:
|
38 |
msgid "[STRICT NOTICE]"
|
39 |
msgstr "[STRENGER HINWEIS]"
|
40 |
|
41 |
#@ backwpup
|
42 |
-
#: job/job_functions.php:
|
43 |
msgid "[RECOVERABLE ERROR]"
|
44 |
msgstr "[LÖSBARER FEHLER]"
|
45 |
|
46 |
#@ backwpup
|
47 |
-
#: job/job_functions.php:
|
48 |
#, php-format
|
49 |
msgid "Memory increased from %1$s to %2$s"
|
50 |
msgstr "Speicher(limit) erhöht von %1$s auf %2$s"
|
@@ -142,8 +142,8 @@ msgstr "Warnungen:"
|
|
142 |
#@ textdomain
|
143 |
#. translators: plugin header field 'Name'
|
144 |
#: backwpup-functions.php:4
|
145 |
-
#: backwpup-functions.php:
|
146 |
-
#: backwpup-functions.php:
|
147 |
#: backwpup.php:0
|
148 |
msgid "BackWPup"
|
149 |
msgstr "BackWPup"
|
@@ -203,13 +203,13 @@ msgstr "Letzter Durchlauf"
|
|
203 |
|
204 |
#@ backwpup
|
205 |
#: backwpup-functions.php:95
|
206 |
-
#: backwpup-functions.php:
|
207 |
msgid "Support"
|
208 |
msgstr "Hilfe + Unterstützung (Support)"
|
209 |
|
210 |
#@ backwpup
|
211 |
#: backwpup-functions.php:96
|
212 |
-
#: backwpup-functions.php:
|
213 |
msgid "FAQ"
|
214 |
msgstr "FAQ"
|
215 |
|
@@ -220,57 +220,57 @@ msgstr "Plugin Homepage"
|
|
220 |
|
221 |
#@ backwpup
|
222 |
#: backwpup-functions.php:99
|
223 |
-
#: backwpup-functions.php:
|
224 |
msgid "Donate"
|
225 |
msgstr "Spenden"
|
226 |
|
227 |
#@ backwpup
|
228 |
-
#: backwpup-functions.php:
|
229 |
msgid "Go to Settings Page"
|
230 |
msgstr "Gehe zur Einstellungsseite"
|
231 |
|
232 |
#@ backwpup
|
233 |
#: backwpup-functions.php:17
|
234 |
-
#: backwpup-functions.php:
|
235 |
msgid "Settings"
|
236 |
msgstr "Einstellungen"
|
237 |
|
238 |
#@ backwpup
|
239 |
-
#: backwpup-functions.php:
|
240 |
msgid "WP XML Export"
|
241 |
msgstr "WP XML Export"
|
242 |
|
243 |
#@ backwpup
|
244 |
-
#: backwpup-functions.php:
|
245 |
msgid "Database Backup"
|
246 |
msgstr "Datenbank-Sicherung"
|
247 |
|
248 |
#@ backwpup
|
249 |
-
#: backwpup-functions.php:
|
250 |
#: pages/page_backwpupeditjob.php:78
|
251 |
msgid "File Backup"
|
252 |
msgstr "Dateien-Sicherung"
|
253 |
|
254 |
#@ backwpup
|
255 |
-
#: backwpup-functions.php:
|
256 |
msgid "Optimize Database Tables"
|
257 |
msgstr "Datenbanktabellen optimieren"
|
258 |
|
259 |
#@ backwpup
|
260 |
-
#: backwpup-functions.php:
|
261 |
msgid "Check Database Tables"
|
262 |
msgstr "Datenbanktabellen checken"
|
263 |
|
264 |
#@ backwpup
|
265 |
-
#: backwpup-functions.php:
|
266 |
-
#: backwpup-functions.php:
|
267 |
-
#: backwpup-functions.php:
|
268 |
#: pages/page_backwpupsettings.php:59
|
269 |
msgid "none"
|
270 |
msgstr "nichts"
|
271 |
|
272 |
#@ backwpup
|
273 |
-
#: backwpup-functions.php:
|
274 |
msgid "Edit Job"
|
275 |
msgstr "Auftrag bearbeiten"
|
276 |
|
@@ -320,7 +320,6 @@ msgid "Delete"
|
|
320 |
msgstr "Löschen"
|
321 |
|
322 |
#@ backwpup
|
323 |
-
#: pages/func_backwpupeditjob.php:8
|
324 |
#: pages/func_backwpupeditjob.php:28
|
325 |
msgid "Save Changes"
|
326 |
msgstr "Änderungen speichern"
|
@@ -391,7 +390,7 @@ msgid "December"
|
|
391 |
msgstr "Dezember"
|
392 |
|
393 |
#@ backwpup
|
394 |
-
#: pages/header_backwpupeditjob.php:
|
395 |
msgid "Send log"
|
396 |
msgstr "Sende Protokoll"
|
397 |
|
@@ -443,7 +442,7 @@ msgid "(Oldest files will deleted first.)"
|
|
443 |
msgstr "(Älteste Dateien werden zuerst gelöscht.)"
|
444 |
|
445 |
#@ backwpup
|
446 |
-
#: pages/header_backwpupeditjob.php:
|
447 |
msgid "Backup to FTP Server"
|
448 |
msgstr "Datensicherung zum FTP-Server"
|
449 |
|
@@ -461,13 +460,13 @@ msgstr "Benutzername:"
|
|
461 |
|
462 |
#@ backwpup
|
463 |
#: pages/func_backwpupeditjob.php:236
|
464 |
-
#: pages/func_backwpupeditjob.php:
|
465 |
#: pages/page_backwpupsettings.php:164
|
466 |
msgid "Password:"
|
467 |
msgstr "Passwort:"
|
468 |
|
469 |
#@ backwpup
|
470 |
-
#: pages/header_backwpupeditjob.php:
|
471 |
msgid "Backup to Amazon S3"
|
472 |
msgstr "Datensicherung zu Amazon S3"
|
473 |
|
@@ -493,27 +492,27 @@ msgid "Backup to E-Mail"
|
|
493 |
msgstr "Datensicherung via E-Mail"
|
494 |
|
495 |
#@ backwpup
|
496 |
-
#: pages/func_backwpupeditjob.php:
|
497 |
msgid "Max. File Size for sending Backups with mail:"
|
498 |
msgstr "Maximale Dateigröße zum Senden von Datensicherungen via E-Mail:"
|
499 |
|
500 |
#@ backwpup
|
501 |
-
#: backwpup-functions.php:
|
502 |
#: pages/page_backwpuplogs.php:8
|
503 |
msgid "BackWPup Logs"
|
504 |
msgstr "BackWPup Protokolle"
|
505 |
|
506 |
#@ backwpup
|
507 |
#: backwpup-functions.php:5
|
508 |
-
#: backwpup-functions.php:
|
509 |
#: pages/page_backwpupsettings.php:101
|
510 |
msgid "Jobs"
|
511 |
msgstr "Aufträge"
|
512 |
|
513 |
#@ backwpup
|
514 |
#: backwpup-functions.php:11
|
515 |
-
#: backwpup-functions.php:
|
516 |
-
#: pages/header_backwpupbackups.php:
|
517 |
#: pages/header_backwpuplogs.php:61
|
518 |
#: pages/page_backwpupsettings.php:79
|
519 |
msgid "Logs"
|
@@ -722,28 +721,28 @@ msgstr "BackWPup-Datensicherungen verwalten"
|
|
722 |
|
723 |
#@ backwpup
|
724 |
#: backwpup-functions.php:13
|
725 |
-
#: backwpup-functions.php:
|
726 |
msgid "Backups"
|
727 |
msgstr "Datensicherungen"
|
728 |
|
729 |
#@ backwpup
|
730 |
-
#: backwpup-functions.php:
|
731 |
msgid "New"
|
732 |
msgstr "Neu"
|
733 |
|
734 |
#@ backwpup
|
735 |
-
#: pages/func_backwpupeditjob.php:
|
736 |
-
#: pages/func_backwpupeditjob.php:
|
737 |
msgid "Missing Username!"
|
738 |
msgstr "Falscher Benutzername!"
|
739 |
|
740 |
#@ backwpup
|
741 |
-
#: pages/func_backwpupeditjob.php:
|
742 |
msgid "Missing API Key!"
|
743 |
msgstr "API-Schlüssel wird vermisst!"
|
744 |
|
745 |
#@ backwpup
|
746 |
-
#: pages/func_backwpupeditjob.php:
|
747 |
msgid "No Containerss found!"
|
748 |
msgstr "Keine Container gefunden!"
|
749 |
|
@@ -875,17 +874,17 @@ msgid "Saturday"
|
|
875 |
msgstr "Samstag"
|
876 |
|
877 |
#@ backwpup
|
878 |
-
#: pages/func_backwpupeditjob.php:
|
879 |
msgid "Working as <a href=\"http://wikipedia.org/wiki/Cron\" target=\"_blank\">Cron</a> job schedule:"
|
880 |
msgstr "Arbeiten nach der <a href=\"http://de.wikipedia.org/wiki/Cron\" target=\"_blank\">Cron</a>-Auftragsplanung:"
|
881 |
|
882 |
#@ backwpup
|
883 |
-
#: pages/func_backwpupeditjob.php:
|
884 |
msgid "Next runtime:"
|
885 |
msgstr "Nächster Durchlauf:"
|
886 |
|
887 |
#@ backwpup
|
888 |
-
#: pages/header_backwpupeditjob.php:
|
889 |
msgid "Backup File"
|
890 |
msgstr "Datensicherungsdatei"
|
891 |
|
@@ -967,7 +966,7 @@ msgid "Save Backups with reduced redundancy!"
|
|
967 |
msgstr "Sichere Datensicherungen mit reduzierter Redundanz!"
|
968 |
|
969 |
#@ backwpup
|
970 |
-
#: pages/header_backwpupeditjob.php:
|
971 |
msgid "Backup to Rackspace Cloud"
|
972 |
msgstr "Datensicherung in die Rackspace Cloud"
|
973 |
|
@@ -989,13 +988,13 @@ msgid "Create Container:"
|
|
989 |
msgstr "Erstelle Container:"
|
990 |
|
991 |
#@ backwpup
|
992 |
-
#: pages/header_backwpupeditjob.php:
|
993 |
#, php-format
|
994 |
msgid "Job '%1' changes saved."
|
995 |
msgstr "Auftrag '%1' Veränderungen gepeichert."
|
996 |
|
997 |
#@ backwpup
|
998 |
-
#: pages/header_backwpupeditjob.php:
|
999 |
msgid "Jobs overview."
|
1000 |
msgstr "Auftragsüberblick"
|
1001 |
|
@@ -1030,7 +1029,7 @@ msgid "Use SSL-FTP Connection."
|
|
1030 |
msgstr "Benutze SSL-FTP-Verbindung."
|
1031 |
|
1032 |
#@ backwpup
|
1033 |
-
#: pages/header_backwpupeditjob.php:
|
1034 |
msgid "Backup to Dropbox"
|
1035 |
msgstr "Datensicherung in die Dropbox"
|
1036 |
|
@@ -1138,22 +1137,22 @@ msgid "Jobs imported!"
|
|
1138 |
msgstr "Aufträge importiert!"
|
1139 |
|
1140 |
#@ backwpup
|
1141 |
-
#: pages/func_backwpupeditjob.php:
|
1142 |
msgid "Missing Hostname!"
|
1143 |
msgstr "Hostname (Server) nicht angegeben!"
|
1144 |
|
1145 |
#@ backwpup
|
1146 |
-
#: pages/func_backwpupeditjob.php:
|
1147 |
msgid "Missing Account Name!"
|
1148 |
msgstr "Kontoname (Benutzername) nicht angegeben!"
|
1149 |
|
1150 |
#@ backwpup
|
1151 |
-
#: pages/func_backwpupeditjob.php:
|
1152 |
msgid "Missing Access Key!"
|
1153 |
msgstr "Zugangsschlüssel (Access Key) nicht angegeben!"
|
1154 |
|
1155 |
#@ backwpup
|
1156 |
-
#: pages/func_backwpupeditjob.php:
|
1157 |
msgid "No Container found!"
|
1158 |
msgstr "Kein Container gefunden!"
|
1159 |
|
@@ -1163,7 +1162,7 @@ msgid "Asia Pacific (Japan)"
|
|
1163 |
msgstr "Asien Pazifik (Japan)"
|
1164 |
|
1165 |
#@ backwpup
|
1166 |
-
#: pages/header_backwpupeditjob.php:
|
1167 |
msgid "Backup to Micosoft Azure (Blob)"
|
1168 |
msgstr "Datensicherung zu Microsoft Azure (Blob)"
|
1169 |
|
@@ -1193,13 +1192,13 @@ msgstr "Zugangsschlüssel (Access Key):"
|
|
1193 |
#: pages/func_backwpupeditjob.php:288
|
1194 |
#: pages/func_backwpupeditjob.php:315
|
1195 |
#: pages/func_backwpupeditjob.php:338
|
1196 |
-
#: pages/func_backwpupeditjob.php:
|
1197 |
-
#: pages/func_backwpupeditjob.php:
|
1198 |
msgid "Create Account"
|
1199 |
msgstr "Konto erstellen"
|
1200 |
|
1201 |
#@ backwpup
|
1202 |
-
#: job/dest_dropbox.php:
|
1203 |
msgid "No free space left on DropBox!!!"
|
1204 |
msgstr "Kein freier Speicherplatz mehr übrig auf Dropbox!!!"
|
1205 |
|
@@ -1229,8 +1228,8 @@ msgstr "Kurze INSERTs benutzen, statt kompletter (mit Schlüssel)"
|
|
1229 |
#: pages/func_backwpupeditjob.php:285
|
1230 |
#: pages/func_backwpupeditjob.php:312
|
1231 |
#: pages/func_backwpupeditjob.php:335
|
1232 |
-
#: pages/func_backwpupeditjob.php:
|
1233 |
-
#: pages/func_backwpupeditjob.php:
|
1234 |
msgid "(Oldest files will be deleted first.)"
|
1235 |
msgstr "(Älteste Dateien werden zuerst gelöscht.)"
|
1236 |
|
@@ -1260,8 +1259,8 @@ msgid "Delete!"
|
|
1260 |
msgstr "Löschen!"
|
1261 |
|
1262 |
#@ backwpup
|
1263 |
-
#: pages/func_backwpupeditjob.php:
|
1264 |
-
#: pages/func_backwpupeditjob.php:
|
1265 |
msgid "E-mail address:"
|
1266 |
msgstr "E-Mail-Adresse:"
|
1267 |
|
@@ -1276,7 +1275,7 @@ msgid "Use your host's Cron Job and disable WP-Cron"
|
|
1276 |
msgstr "Den Cron-Job Ihres Webhosters/ -Servers benutzen und WP-Cron deaktivieren"
|
1277 |
|
1278 |
#@ backwpup
|
1279 |
-
#: pages/header_backwpupeditjob.php:
|
1280 |
msgid "Backup to SugarSync"
|
1281 |
msgstr "Datensicherung zu SugarSync"
|
1282 |
|
@@ -1286,23 +1285,23 @@ msgid "No free space left on SugarSync!!!"
|
|
1286 |
msgstr "Sie haben keinen freien Speicherplatz mehr übrig bei SugarSync!!!"
|
1287 |
|
1288 |
#@ backwpup
|
1289 |
-
#: pages/func_backwpupeditjob.php:
|
1290 |
-
#: pages/func_backwpupeditjob.php:
|
1291 |
msgid "Root:"
|
1292 |
msgstr "Root:"
|
1293 |
|
1294 |
#@ backwpup
|
1295 |
-
#: pages/func_backwpupeditjob.php:
|
1296 |
msgid "Missing Password!"
|
1297 |
msgstr "Passwort fehlt!"
|
1298 |
|
1299 |
#@ backwpup
|
1300 |
-
#: pages/func_backwpupeditjob.php:
|
1301 |
msgid "No Syncfolders found!"
|
1302 |
msgstr "Keine Sync-Ordner gefunden!"
|
1303 |
|
1304 |
#@ backwpup
|
1305 |
-
#: pages/header_backwpupeditjob.php:
|
1306 |
msgid "Dropbox authentication complete!"
|
1307 |
msgstr "Dropbox-Authentifizierung vollständig!"
|
1308 |
|
@@ -1312,12 +1311,12 @@ msgid "Working"
|
|
1312 |
msgstr "In Bearbeitung"
|
1313 |
|
1314 |
#@ backwpup
|
1315 |
-
#: backwpup-functions.php:
|
1316 |
msgid "View Log:"
|
1317 |
msgstr "Protokoll ansehen:"
|
1318 |
|
1319 |
#@ backwpup
|
1320 |
-
#: backwpup-functions.php:
|
1321 |
#: pages/func_backwpuplogs.php:135
|
1322 |
#, php-format
|
1323 |
msgid "%d ERROR"
|
@@ -1326,7 +1325,7 @@ msgstr[0] "%d FEHLER"
|
|
1326 |
msgstr[1] "%d FEHLER"
|
1327 |
|
1328 |
#@ backwpup
|
1329 |
-
#: backwpup-functions.php:
|
1330 |
#: pages/func_backwpuplogs.php:137
|
1331 |
#, php-format
|
1332 |
msgid "%d WARNING"
|
@@ -1335,36 +1334,36 @@ msgstr[0] "%d WARNUNG"
|
|
1335 |
msgstr[1] "%d WARNUNGEN"
|
1336 |
|
1337 |
#@ backwpup
|
1338 |
-
#: backwpup-functions.php:
|
1339 |
#: pages/func_backwpuplogs.php:139
|
1340 |
msgid "O.K."
|
1341 |
msgstr "O.K."
|
1342 |
|
1343 |
#@ backwpup
|
1344 |
-
#: backwpup-functions.php:
|
1345 |
msgid "How many of the lastes logs would you like to display?"
|
1346 |
msgstr "Wieviele der letzten Protokolle wollen Sie anzeigen lassen?"
|
1347 |
|
1348 |
#@ backwpup
|
1349 |
-
#: backwpup-functions.php:
|
1350 |
#, php-format
|
1351 |
msgid "working since %d sec."
|
1352 |
msgstr "in Arbeit seit %d Sek."
|
1353 |
|
1354 |
#@ backwpup
|
1355 |
-
#: backwpup-functions.php:
|
1356 |
#: pages/func_backwpup.php:107
|
1357 |
msgid "View!"
|
1358 |
msgstr "Ansehen!"
|
1359 |
|
1360 |
#@ backwpup
|
1361 |
-
#: backwpup-functions.php:
|
1362 |
#: pages/func_backwpup.php:108
|
1363 |
msgid "Abort!"
|
1364 |
msgstr "Abbrechen!"
|
1365 |
|
1366 |
#@ backwpup
|
1367 |
-
#: backwpup-functions.php:
|
1368 |
msgid "BackWPup Aktive Jobs"
|
1369 |
msgstr "BackWPup aktive Aufträge"
|
1370 |
|
@@ -1384,12 +1383,12 @@ msgid "Upload to RSC now started ... "
|
|
1384 |
msgstr "Hochladen zu RSC hat begonnen ... "
|
1385 |
|
1386 |
#@ backwpup
|
1387 |
-
#: job/job_functions.php:
|
1388 |
msgid "To many restarts...."
|
1389 |
msgstr "Zu viele Neustarts..."
|
1390 |
|
1391 |
#@ backwpup
|
1392 |
-
#: job/job_functions.php:
|
1393 |
msgid "Script stop! Will started again now!"
|
1394 |
msgstr "Skript-Stop! Wird jetzt wieder neu gestartet!"
|
1395 |
|
@@ -1404,12 +1403,12 @@ msgid "Temp dir not writeable"
|
|
1404 |
msgstr "Temp-Verzeichnis nicht beschreibbar"
|
1405 |
|
1406 |
#@ backwpup
|
1407 |
-
#: job/job_start.php:
|
1408 |
msgid "Log folder not writeable!"
|
1409 |
msgstr "Protokolldateien-Ordner nicht beschreibbar!"
|
1410 |
|
1411 |
#@ backwpup
|
1412 |
-
#: job/job_start.php:
|
1413 |
msgid "Backup folder not writeable!"
|
1414 |
msgstr "Datensicherungs-Ordner nicht beschreibbar!"
|
1415 |
|
@@ -1440,8 +1439,8 @@ msgid "Time"
|
|
1440 |
msgstr "Zeit"
|
1441 |
|
1442 |
#@ backwpup
|
1443 |
-
#: pages/func_backwpupbackups.php:
|
1444 |
-
#: pages/header_backwpupbackups.php:
|
1445 |
msgid "Login failure!"
|
1446 |
msgstr "Anmeldung fehlgeschlagen!"
|
1447 |
|
@@ -1456,12 +1455,12 @@ msgid "Secret:"
|
|
1456 |
msgstr "Geheimnis (secret):"
|
1457 |
|
1458 |
#@ backwpup
|
1459 |
-
#: pages/func_backwpupeditjob.php:
|
1460 |
msgid "dropbox"
|
1461 |
msgstr "dropbox"
|
1462 |
|
1463 |
#@ backwpup
|
1464 |
-
#: pages/func_backwpupeditjob.php:
|
1465 |
msgid "sandbox (disabled by DropBox)"
|
1466 |
msgstr "sandbox (deaktiviert von Dropbox)"
|
1467 |
|
@@ -1481,7 +1480,7 @@ msgid "Can't kill process with PID:"
|
|
1481 |
msgstr "Prozess mit PID kann nicht abgewürgt werden:"
|
1482 |
|
1483 |
#@ backwpup
|
1484 |
-
#: pages/header_backwpupeditjob.php:
|
1485 |
msgid "Backup to Google storage"
|
1486 |
msgstr "Datensicherung zu Google Storage"
|
1487 |
|
@@ -1597,12 +1596,12 @@ msgid "BackWPup Working"
|
|
1597 |
msgstr "BackWPup arbeitet"
|
1598 |
|
1599 |
#@ backwpup
|
1600 |
-
#: backwpup-functions.php:
|
1601 |
msgid "See Working!"
|
1602 |
msgstr "Siehe unter 'In Bearbeitung'!"
|
1603 |
|
1604 |
#@ backwpup
|
1605 |
-
#: backwpup-functions.php:
|
1606 |
msgid "BackWPup Job"
|
1607 |
msgstr "BackWPup Auftrag"
|
1608 |
|
@@ -1639,7 +1638,7 @@ msgstr "Ihr WordPress-Verzeichnis ist:"
|
|
1639 |
|
1640 |
#@ backwpup
|
1641 |
#: pages/func_backwpupeditjob.php:224
|
1642 |
-
#: pages/func_backwpupeditjob.php:
|
1643 |
msgid "Max. backup files in folder:"
|
1644 |
msgstr "Max. Anzahl von Dateien im Ordner:"
|
1645 |
|
@@ -1681,8 +1680,8 @@ msgstr "Schlüssel (Keys) finden"
|
|
1681 |
#: pages/func_backwpupeditjob.php:266
|
1682 |
#: pages/func_backwpupeditjob.php:290
|
1683 |
#: pages/func_backwpupeditjob.php:340
|
1684 |
-
#: pages/func_backwpupeditjob.php:
|
1685 |
-
#: pages/func_backwpupeditjob.php:
|
1686 |
msgid "Webinterface"
|
1687 |
msgstr "Web-Oberfläche"
|
1688 |
|
@@ -1709,24 +1708,24 @@ msgid "Folder in container:"
|
|
1709 |
msgstr "Ordner im Container:"
|
1710 |
|
1711 |
#@ backwpup
|
1712 |
-
#: pages/func_backwpupeditjob.php:
|
1713 |
-
#: pages/func_backwpupeditjob.php:
|
1714 |
msgid "Folder:"
|
1715 |
msgstr "Ordner:"
|
1716 |
|
1717 |
#@ backwpup
|
1718 |
-
#: pages/func_backwpupeditjob.php:
|
1719 |
msgid "Max. backup files in Dropbox folder:"
|
1720 |
msgstr "Max. Anzahl von Dateien im Dropbox-Ordner:"
|
1721 |
|
1722 |
#@ backwpup
|
1723 |
-
#: pages/func_backwpupeditjob.php:
|
1724 |
#, php-format
|
1725 |
msgid "ATTENTION: Job runs every %d mins.!!!"
|
1726 |
msgstr "ACHTUNG: Auftrag läuft alle %d Minuten!"
|
1727 |
|
1728 |
#@ backwpup
|
1729 |
-
#: pages/func_backwpupeditjob.php:
|
1730 |
#, php-format
|
1731 |
msgid "ATTENTION: Job runs every %d houers.!!!"
|
1732 |
msgstr "ACHTUNG: Auftrag läuft alle %d Stunden!"
|
@@ -1793,42 +1792,42 @@ msgid "BackWPup comes with ABSOLUTELY NO WARRANTY. This is free software, and yo
|
|
1793 |
msgstr "BackWPup erhalten Sie OHNE JEDWEDE GARANTIE. Dies ist freie Software (quelloffen, im Sinne von Open Source) und Sie sind eingeladen, sie unter bestimmten Bedingungen weiterzugeben."
|
1794 |
|
1795 |
#@ backwpup
|
1796 |
-
#: job/job_run.php:
|
1797 |
msgid "[INFO]: BackWPup comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions."
|
1798 |
msgstr "[INFO]: BackWPup erhalten Sie OHNE JEDWEDE GARANTIE. Dies ist freie Software (quelloffen, im Sinne von Open Source) und Sie sind eingeladen, sie unter bestimmten Bedingungen weiterzugeben."
|
1799 |
|
1800 |
#@ backwpup
|
1801 |
-
#: job/job_run.php:
|
1802 |
msgid "[INFO]: BackWPup job:"
|
1803 |
msgstr "[INFO]: BackWPup Auftrag:"
|
1804 |
|
1805 |
#@ backwpup
|
1806 |
-
#: job/job_run.php:
|
1807 |
msgid "[INFO]: BackWPup cron:"
|
1808 |
msgstr "[INFO]: BackWPup-Planung (Cron):"
|
1809 |
|
1810 |
#@ backwpup
|
1811 |
-
#: job/job_run.php:
|
1812 |
msgid "[INFO]: PHP ver.:"
|
1813 |
msgstr "[INFO]: PHP-Version:"
|
1814 |
|
1815 |
#@ backwpup
|
1816 |
-
#: job/job_run.php:
|
1817 |
msgid "[INFO]: MySQL ver.:"
|
1818 |
msgstr "[INFO]: MySQL-Version:"
|
1819 |
|
1820 |
#@ backwpup
|
1821 |
-
#: job/job_run.php:
|
1822 |
msgid "[INFO]: curl ver.:"
|
1823 |
msgstr "[INFO]: cURL-Version:"
|
1824 |
|
1825 |
#@ backwpup
|
1826 |
-
#: job/job_run.php:
|
1827 |
msgid "[INFO]: Temp folder is:"
|
1828 |
msgstr "[INFO]: Temp-Ordner ist:"
|
1829 |
|
1830 |
#@ backwpup
|
1831 |
-
#: job/job_run.php:
|
1832 |
msgid "[INFO]: Backup file is:"
|
1833 |
msgstr "[INFO]: Datensicherungsdatei ist:"
|
1834 |
|
@@ -1878,7 +1877,7 @@ msgid "hourly"
|
|
1878 |
msgstr "stündlich"
|
1879 |
|
1880 |
#@ backwpup
|
1881 |
-
#: pages/func_backwpupeditjob.php:
|
1882 |
msgid "ATTENTION: Can't calculate cron!!!"
|
1883 |
msgstr "ACHTUNG: Cron (Auftragsplanung) kann nicht berechnet werden!!!"
|
1884 |
|
@@ -1888,7 +1887,7 @@ msgid "Here is the job overview with some information. You can see some further
|
|
1888 |
msgstr "Hier ist der Auftragsüberblick mit einigen Informationen. Sie können einige Informationen zu den Aufträgen einsehen, wieviele, kann über den Ansehen-Button geändert werden. Sie können auch die Aufträge verwalten oder aktive Aufträge abbrechen. Einige Links wurden hinzugefügt, damit Sie direkt auf das letzte Protokoll oder die letzte Datensicherungsdatei via Download zugreifen können."
|
1889 |
|
1890 |
#@ backwpup
|
1891 |
-
#: pages/header_backwpupbackups.php:
|
1892 |
msgid "Here you see a list of backup files. Change the destionation to jobname:destination to become a list of backups from other destinations and jobs. Then you kann delete or download backup files."
|
1893 |
msgstr "Hier sehen Sie eine Liste der Datensicherungsdateien. Verändern Sie das Ziel via Auftragsname:Ziel, um eine entsprechende Liste der Datensicherungen, Ziele und Aufträge zu erhalten. Dann können Sie Datensicherungsdateien löschen oder herunterladen."
|
1894 |
|
@@ -1898,12 +1897,6 @@ msgstr "Hier sehen Sie eine Liste der Datensicherungsdateien. Verändern Sie
|
|
1898 |
msgid "http://backwpup.com"
|
1899 |
msgstr "http://backwpup.com/"
|
1900 |
|
1901 |
-
#@ backwpup
|
1902 |
-
#. translators: plugin header field 'Description'
|
1903 |
-
#: backwpup.php:0
|
1904 |
-
msgid "Wordpress Backup and more..."
|
1905 |
-
msgstr "WordPress-Datensicherung und mehr ..."
|
1906 |
-
|
1907 |
#@ backwpup
|
1908 |
#: pages/func_backwpup.php:240
|
1909 |
msgid "DB Size:"
|
@@ -2129,56 +2122,31 @@ msgid "%d. Try to sending backup file to DropBox..."
|
|
2129 |
msgstr "%d. Versuche Datensicherungsdatei zur Dropbox zu senden ..."
|
2130 |
|
2131 |
#@ backwpup
|
2132 |
-
#: job/dest_dropbox.php:
|
2133 |
-
#: job/dest_dropbox.php:18
|
2134 |
-
#, php-format
|
2135 |
-
msgid "oAuth sign method for DropBox is %s"
|
2136 |
-
msgstr "oAuth Sign-Methode für Dropbox ist %s"
|
2137 |
-
|
2138 |
-
#@ backwpup
|
2139 |
-
#: job/dest_dropbox.php:15
|
2140 |
-
#: pages/func_backwpupeditjob.php:358
|
2141 |
-
msgid "PLAINTEXT"
|
2142 |
-
msgstr "PLAINTEXT"
|
2143 |
-
|
2144 |
-
#@ backwpup
|
2145 |
-
#: job/dest_dropbox.php:18
|
2146 |
-
#: pages/func_backwpupeditjob.php:357
|
2147 |
-
msgid "HMAC-SHA1"
|
2148 |
-
msgstr "HMAC-SHA1"
|
2149 |
-
|
2150 |
-
#@ backwpup
|
2151 |
-
#: job/dest_dropbox.php:27
|
2152 |
#, php-format
|
2153 |
msgid "Authed with DropBox from %s"
|
2154 |
msgstr "Authentifiziert mit Dropbox von %s"
|
2155 |
|
2156 |
#@ backwpup
|
2157 |
-
#: job/dest_dropbox.php:
|
2158 |
#, php-format
|
2159 |
msgid "%s free on DropBox"
|
2160 |
msgstr "%s frei in der Dropbox"
|
2161 |
|
2162 |
#@ backwpup
|
2163 |
-
#: job/dest_dropbox.php:
|
2164 |
msgid "Upload to DropBox now started... "
|
2165 |
msgstr "Hochladen zur Dropbox hat begonnen ... "
|
2166 |
|
2167 |
#@ backwpup
|
2168 |
-
#: job/dest_dropbox.php:
|
2169 |
-
|
2170 |
-
msgid "Error on transfere backup to DropBox: %s"
|
2171 |
-
msgstr "Fehler beim Übertragen der Datensicherungsdatei zur Dropbox: %s"
|
2172 |
-
|
2173 |
-
#@ backwpup
|
2174 |
-
#: job/dest_dropbox.php:56
|
2175 |
-
#: job/dest_dropbox.php:81
|
2176 |
#, php-format
|
2177 |
msgid "DropBox API: %s"
|
2178 |
msgstr "Dropbox-API: %s"
|
2179 |
|
2180 |
#@ backwpup
|
2181 |
-
#: job/dest_dropbox.php:
|
2182 |
#, php-format
|
2183 |
msgid "One file deleted on DropBox"
|
2184 |
msgid_plural "%d files deleted on DropBox"
|
@@ -2482,64 +2450,58 @@ msgid "%1$d files with %2$s to backup"
|
|
2482 |
msgstr "%1$d Dateien mit %2$s zum Sichern"
|
2483 |
|
2484 |
#@ backwpup
|
2485 |
-
#: job/file_list.php:
|
2486 |
#, php-format
|
2487 |
msgid "File or folder \"%s\" is not readable!"
|
2488 |
msgstr "Datei oder Ordner \"%s\" ist nicht lesbar!"
|
2489 |
|
2490 |
#@ backwpup
|
2491 |
-
#: job/file_list.php:
|
2492 |
#, php-format
|
2493 |
msgid "Link \"%s\" not followed"
|
2494 |
msgstr "Link \"%s\" ist nicht erlaubt"
|
2495 |
|
2496 |
#@ backwpup
|
2497 |
-
#: job/file_list.php:
|
2498 |
#, php-format
|
2499 |
msgid "\"%s\" is not a file or directory"
|
2500 |
msgstr "\"%s\" ist keine Datei oder ein Verzeichnis"
|
2501 |
|
2502 |
#@ backwpup
|
2503 |
-
#: job/job_functions.php:
|
2504 |
-
#, php-format
|
2505 |
-
msgid "PHP Safe mode is on!!! Can not increase memory limit is %s"
|
2506 |
-
msgstr "PHP-Safemode ist an!!! Das PHP-Speicherlimit kann nicht erhöht werden, es beträgt derzeit %s"
|
2507 |
-
|
2508 |
-
#@ backwpup
|
2509 |
-
#: job/job_functions.php:114
|
2510 |
#, php-format
|
2511 |
msgid "Can not increase memory limit is %1$s"
|
2512 |
msgstr "Das PHP-Speicherlimit kann nicht erhöht werden, es beträgt derzeit %s"
|
2513 |
|
2514 |
#@ backwpup
|
2515 |
-
#: job/job_functions.php:
|
2516 |
msgid "Set Blog to maintenance mode"
|
2517 |
msgstr "Webseite/ Blog in den Wartungsmodus versetzen"
|
2518 |
|
2519 |
#@ backwpup
|
2520 |
-
#: job/job_functions.php:
|
2521 |
msgid "Cannot set Blog to maintenance mode! Root folder is not writeable!"
|
2522 |
msgstr "Webseite/ Blog kann nicht in den Wartungsmodus versetzt werden! Der Root-Ordner ist nicht beschreibbar!"
|
2523 |
|
2524 |
#@ backwpup
|
2525 |
-
#: job/job_functions.php:
|
2526 |
msgid "Set Blog to normal mode"
|
2527 |
msgstr "Setze Webseite/ Blog zurück in den Normalmodus"
|
2528 |
|
2529 |
#@ backwpup
|
2530 |
-
#: job/job_functions.php:
|
2531 |
#, php-format
|
2532 |
msgid "No MySQL connection: %s"
|
2533 |
msgstr "Keine MySQL-Verbindung: %s"
|
2534 |
|
2535 |
#@ backwpup
|
2536 |
-
#: job/job_functions.php:
|
2537 |
#, php-format
|
2538 |
msgid "No MySQL connection to database: %s"
|
2539 |
msgstr "Keine MySQL-Verbindung zur Datenbank: %s"
|
2540 |
|
2541 |
#@ backwpup
|
2542 |
-
#: job/job_functions.php:
|
2543 |
#, php-format
|
2544 |
msgid "One old log deleted"
|
2545 |
msgid_plural "%d old logs deleted"
|
@@ -2547,91 +2509,91 @@ msgstr[0] "Eine alte Protokolldatei gelöscht"
|
|
2547 |
msgstr[1] "%d alte Protokolldateien gelöscht"
|
2548 |
|
2549 |
#@ backwpup
|
2550 |
-
#: job/job_functions.php:
|
2551 |
#, php-format
|
2552 |
msgid "Job done in %s sec."
|
2553 |
msgstr "Auftrag erledigt in %s Sekunden."
|
2554 |
|
2555 |
#@ backwpup
|
2556 |
-
#: job/job_functions.php:
|
2557 |
#, php-format
|
2558 |
msgid "Jobname: %s"
|
2559 |
msgstr "Auftragsname: %s"
|
2560 |
|
2561 |
#@ backwpup
|
2562 |
-
#: job/job_functions.php:
|
2563 |
#, php-format
|
2564 |
msgid "Jobtype: %s"
|
2565 |
msgstr "Auftragstyp: %s"
|
2566 |
|
2567 |
#@ backwpup
|
2568 |
-
#: job/job_functions.php:
|
2569 |
#, php-format
|
2570 |
msgid "Errors: %d"
|
2571 |
msgstr "Fehler: %d"
|
2572 |
|
2573 |
#@ backwpup
|
2574 |
-
#: job/job_functions.php:
|
2575 |
#, php-format
|
2576 |
msgid "Warnings: %d"
|
2577 |
msgstr "Warnungen: %d"
|
2578 |
|
2579 |
#@ backwpup
|
2580 |
-
#: job/job_functions.php:
|
2581 |
#, php-format
|
2582 |
msgid "BackWPup log from %1$s: %2$s"
|
2583 |
msgstr "BackWPup-Protokoll vom %1$s: %2$s"
|
2584 |
|
2585 |
#@ backwpup
|
2586 |
-
#: job/job_run.php:
|
2587 |
msgid "Job restart terminated, bcause old job runs again!"
|
2588 |
msgstr "Auftragsneustart verschoben, weil der alte/ bisherige Auftrag noch läuft!"
|
2589 |
|
2590 |
#@ backwpup
|
2591 |
-
#: job/job_run.php:
|
2592 |
msgid "Job restarted, bcause inactivity!"
|
2593 |
msgstr "Auftrag neu gestartet, wegen Inaktivität!"
|
2594 |
|
2595 |
#@ backwpup
|
2596 |
-
#: job/job_run.php:
|
2597 |
#, php-format
|
2598 |
msgid "Second Prozess is running, bcause old job runs! Start type is %s"
|
2599 |
msgstr "Ein zweiter Prozess läuft, weil alte/ bisherige Aufträge laufen! Startzeit ist %s"
|
2600 |
|
2601 |
#@ backwpup
|
2602 |
-
#: job/job_run.php:
|
2603 |
#, php-format
|
2604 |
msgid "Can not find job step file: %s"
|
2605 |
msgstr "Datei mit Abarbeitungsschritten kann nicht gefunden werden: %s"
|
2606 |
|
2607 |
#@ backwpup
|
2608 |
-
#: job/job_run.php:
|
2609 |
msgid "[INFO]: BackWPup job strated by cron"
|
2610 |
msgstr "[INFO]: BackWPup-Auftrag via Cron gestartet"
|
2611 |
|
2612 |
#@ backwpup
|
2613 |
-
#: job/job_run.php:
|
2614 |
msgid "[INFO]: BackWPup job strated manualy"
|
2615 |
msgstr "[INFO]: BackWPup-Auftrag manuell gestartet"
|
2616 |
|
2617 |
#@ backwpup
|
2618 |
-
#: job/job_run.php:
|
2619 |
#, php-format
|
2620 |
msgid "[INFO]: PHP Safe mode is ON! Maximum script execution time is %1$d sec."
|
2621 |
msgstr "[INFO]: PHP-Safemode ist AN! Die maximale Skriptausführzeit ist %1$d Sekunden"
|
2622 |
|
2623 |
#@ backwpup
|
2624 |
-
#: job/job_run.php:
|
2625 |
msgid "No destination defineid for backup!!! Please correct job settings"
|
2626 |
msgstr "Kein Zielort für die Datensicherung festgelegt!!! Bitte korrigieren Sie die Auftragseinstellungen."
|
2627 |
|
2628 |
#@ backwpup
|
2629 |
-
#: job/job_run.php:
|
2630 |
msgid "Step arborted has too many trys!"
|
2631 |
msgstr "Schritt wurde abgebrochen - hat zuviele Versuche!"
|
2632 |
|
2633 |
#@ backwpup
|
2634 |
-
#: job/job_run.php:
|
2635 |
#, php-format
|
2636 |
msgid "Can not find job step function %s!"
|
2637 |
msgstr "Funktion für die Auftragsschritte kann nicht gefunden werden %s!"
|
@@ -2643,19 +2605,19 @@ msgid "Can not create temp folder: %s"
|
|
2643 |
msgstr "Temp-Ordner kann nicht erstellt werden: %s"
|
2644 |
|
2645 |
#@ backwpup
|
2646 |
-
#: job/job_start.php:
|
2647 |
#, php-format
|
2648 |
msgid "Can not create folder for log files: %s"
|
2649 |
msgstr "Ordner für Protokolldateien kann nicht erstellt werden: %s"
|
2650 |
|
2651 |
#@ backwpup
|
2652 |
-
#: job/job_start.php:
|
2653 |
#, php-format
|
2654 |
msgid "BackWPup log for %1$s from %2$s at %3$s"
|
2655 |
msgstr "BackWPup-Protokoll für %1$s von %2$s am %3$s"
|
2656 |
|
2657 |
#@ backwpup
|
2658 |
-
#: job/job_start.php:
|
2659 |
#, php-format
|
2660 |
msgid "Can not create folder for backups: %1$s"
|
2661 |
msgstr "Ordner für Datensicherungen kann nicht erstellt werden: %1$s"
|
@@ -2673,15 +2635,10 @@ msgid "Add XML export \"%1$s\" to backup list with %2$s"
|
|
2673 |
msgstr "Füge XML-Export \"%1$s\" der Datensicherungs-Liste hinzu, mit %2$s"
|
2674 |
|
2675 |
#@ backwpup
|
2676 |
-
#: pages/func_backwpupeditjob.php:
|
2677 |
msgid "PHP curl functions not available! Most backup destinations deaktivated!"
|
2678 |
msgstr "PHP cURL-Funktionen nicht verfügbar! Daher werden die meisten Datensicherungsziele deaktiviert!"
|
2679 |
|
2680 |
-
#@ backwpup
|
2681 |
-
#: pages/func_backwpupeditjob.php:355
|
2682 |
-
msgid "oAuth sign method:"
|
2683 |
-
msgstr "oAuth Sign-Methode:"
|
2684 |
-
|
2685 |
#@ backwpup
|
2686 |
#: pages/page_backwpupsettings.php:135
|
2687 |
msgid "PHP zip class"
|
@@ -2698,55 +2655,49 @@ msgid "Use PHP zip class if available! Normaly PCL Zip class will used."
|
|
2698 |
msgstr "Benutze die PHP ZIP-Klasse, falls verfügbar! Normalerweise wird die PCL ZIP-Klasse benutzt."
|
2699 |
|
2700 |
#@ default
|
2701 |
-
#: job/job_run.php:
|
2702 |
#, php-format
|
2703 |
msgid "[INFO]: BackWPup version %1$s, WordPress version %4$s Copyright © %2$s %3$s"
|
2704 |
msgstr "[INFO]: BackWPup Version %1$s, WordPress Version %4$s Urheberrecht © %2$s %3$s"
|
2705 |
|
2706 |
#@ backwpup
|
2707 |
-
#: backwpup-functions.php:
|
2708 |
#, php-format
|
2709 |
msgid "- WordPress %d or heiger is needed!"
|
2710 |
msgstr "- WordPress Version %d oder höher ist erforderlich!"
|
2711 |
|
2712 |
#@ backwpup
|
2713 |
-
#: backwpup-functions.php:
|
2714 |
msgid "- PHP 5.2.4 or higher is needed!"
|
2715 |
msgstr "- PHP Version 5.2.4 oder höher ist erforderlich!"
|
2716 |
|
2717 |
#@ backwpup
|
2718 |
-
#: backwpup-functions.php:
|
2719 |
msgid "- Log folder does not exists:"
|
2720 |
msgstr "- Protokolldateienordner existiert nicht:"
|
2721 |
|
2722 |
#@ backwpup
|
2723 |
-
#: backwpup-functions.php:
|
2724 |
msgid "- Log folder is not writeable:"
|
2725 |
msgstr "- Protokolldateienordner ist nicht beschreibbar:"
|
2726 |
|
2727 |
#@ backwpup
|
2728 |
-
#: backwpup-functions.php:
|
2729 |
msgid "- Log folder is not in open_basedir path:"
|
2730 |
msgstr "- Protokolldateienordner liegt nicht im open_basedir Pfad:"
|
2731 |
|
2732 |
#@ backwpup
|
2733 |
-
#: backwpup-functions.php:
|
2734 |
msgid "- Please check the scheduled time for the job:"
|
2735 |
msgstr "- Bitte prüfen Sie die Zeitplanung für den Auftrag:"
|
2736 |
|
2737 |
#@ backwpup
|
2738 |
-
#: backwpup-functions.php:
|
2739 |
msgid "- WP-Cron isn't working, please check it!"
|
2740 |
msgstr "- WP-Cron funktioniert nicht, bitte prüfen Sie die Funktion!"
|
2741 |
|
2742 |
#@ backwpup
|
2743 |
-
|
2744 |
-
#: backwpup.php:0
|
2745 |
-
msgid "2.1.2"
|
2746 |
-
msgstr "2.1.2"
|
2747 |
-
|
2748 |
-
#@ backwpup
|
2749 |
-
#: job/dest_dropbox.php:48
|
2750 |
#: job/dest_gstorage.php:29
|
2751 |
#: job/dest_msazure.php:26
|
2752 |
#: job/dest_s3.php:32
|
@@ -2781,8 +2732,8 @@ msgstr "GStorage Bucket \"%s\" existiert nicht!"
|
|
2781 |
#@ backwpup
|
2782 |
#: job/dest_gstorage.php:38
|
2783 |
#: job/dest_gstorage.php:67
|
2784 |
-
#: pages/func_backwpupbackups.php:
|
2785 |
-
#: pages/header_backwpupbackups.php:
|
2786 |
#, php-format
|
2787 |
msgid "GStorage API: %s"
|
2788 |
msgstr "GStorage-API: %s"
|
@@ -2808,35 +2759,35 @@ msgid "Can not transfer backup to S3! (%1$d) %2$s"
|
|
2808 |
msgstr "Datensicherung kann nicht zu Amazon S3 übertragen werden! (%1$d) %2$s"
|
2809 |
|
2810 |
#@ backwpup
|
2811 |
-
#: job/job_functions.php:
|
2812 |
msgid "Signal $d send to script!"
|
2813 |
msgstr "Signal $d zum Skript gesendet!"
|
2814 |
|
2815 |
#@ backwpup
|
2816 |
-
#: pages/func_backwpupeditjob.php:
|
2817 |
-
#: pages/func_backwpupeditjob.php:
|
2818 |
msgid "Missing access key!"
|
2819 |
msgstr "Der Zugangsschlüssel (Access Key) fehlt!"
|
2820 |
|
2821 |
#@ backwpup
|
2822 |
-
#: pages/func_backwpupeditjob.php:
|
2823 |
-
#: pages/func_backwpupeditjob.php:
|
2824 |
msgid "Missing secret access key!"
|
2825 |
msgstr "Der Geheime Zugangsschlüssel (Secret Access Key) fehlt!"
|
2826 |
|
2827 |
#@ backwpup
|
2828 |
-
#: pages/func_backwpupeditjob.php:
|
2829 |
-
#: pages/func_backwpupeditjob.php:
|
2830 |
msgid "No bucket fount!"
|
2831 |
msgstr "Kein Bucket gefunden!"
|
2832 |
|
2833 |
#@ backwpup
|
2834 |
-
#: pages/header_backwpupeditjob.php:
|
2835 |
msgid "Wrong Token for Dropbox authentication received!"
|
2836 |
msgstr "Falschen Token für die Dropbox-Authentifizierung erhalten!"
|
2837 |
|
2838 |
#@ backwpup
|
2839 |
-
#: pages/header_backwpupeditjob.php:
|
2840 |
msgid "No Dropbox authentication received!"
|
2841 |
msgstr "Keine Dropbox-Authentifizierung erhalten!"
|
2842 |
|
@@ -2901,3 +2852,20 @@ msgstr "Kopieren Sie die SQL-Datei in den root-Ordner Ihrer Webseite (bzw. WordP
|
|
2901 |
msgid "Restore Done. Please delete the SQL file after restoring."
|
2902 |
msgstr "Wiederherstellung abgeschlossen. Bitte löschen Sie die SQL-Datei nach der Wiederherstellung."
|
2903 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
"Project-Id-Version: BackWPup 2.x Branch\n"
|
4 |
"Report-Msgid-Bugs-To: http://backwpup.com/forum/\n"
|
5 |
"POT-Creation-Date: 2010-06-23 17:08+0000\n"
|
6 |
+
"PO-Revision-Date: 2011-08-04 21:21+0100\n"
|
7 |
"Last-Translator: David Decker <deckerweb.mobil@googlemail.com>\n"
|
8 |
"Language-Team: DECKERWEB <deckerweb.mobil@googlemail.com>\n"
|
9 |
"MIME-Version: 1.0\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
|
21 |
#@ backwpup
|
22 |
+
#: job/job_functions.php:249
|
23 |
msgid "[WARNING]"
|
24 |
msgstr "[WARNUNG]"
|
25 |
|
26 |
#@ backwpup
|
27 |
+
#: job/job_functions.php:255
|
28 |
msgid "[ERROR]"
|
29 |
msgstr "[FEHLER]"
|
30 |
|
31 |
#@ backwpup
|
32 |
+
#: job/job_functions.php:259
|
33 |
msgid "[DEPRECATED]"
|
34 |
msgstr "[VERALTET]"
|
35 |
|
36 |
#@ backwpup
|
37 |
+
#: job/job_functions.php:262
|
38 |
msgid "[STRICT NOTICE]"
|
39 |
msgstr "[STRENGER HINWEIS]"
|
40 |
|
41 |
#@ backwpup
|
42 |
+
#: job/job_functions.php:265
|
43 |
msgid "[RECOVERABLE ERROR]"
|
44 |
msgstr "[LÖSBARER FEHLER]"
|
45 |
|
46 |
#@ backwpup
|
47 |
+
#: job/job_functions.php:107
|
48 |
#, php-format
|
49 |
msgid "Memory increased from %1$s to %2$s"
|
50 |
msgstr "Speicher(limit) erhöht von %1$s auf %2$s"
|
142 |
#@ textdomain
|
143 |
#. translators: plugin header field 'Name'
|
144 |
#: backwpup-functions.php:4
|
145 |
+
#: backwpup-functions.php:265
|
146 |
+
#: backwpup-functions.php:488
|
147 |
#: backwpup.php:0
|
148 |
msgid "BackWPup"
|
149 |
msgstr "BackWPup"
|
203 |
|
204 |
#@ backwpup
|
205 |
#: backwpup-functions.php:95
|
206 |
+
#: backwpup-functions.php:257
|
207 |
msgid "Support"
|
208 |
msgstr "Hilfe + Unterstützung (Support)"
|
209 |
|
210 |
#@ backwpup
|
211 |
#: backwpup-functions.php:96
|
212 |
+
#: backwpup-functions.php:256
|
213 |
msgid "FAQ"
|
214 |
msgstr "FAQ"
|
215 |
|
220 |
|
221 |
#@ backwpup
|
222 |
#: backwpup-functions.php:99
|
223 |
+
#: backwpup-functions.php:258
|
224 |
msgid "Donate"
|
225 |
msgstr "Spenden"
|
226 |
|
227 |
#@ backwpup
|
228 |
+
#: backwpup-functions.php:246
|
229 |
msgid "Go to Settings Page"
|
230 |
msgstr "Gehe zur Einstellungsseite"
|
231 |
|
232 |
#@ backwpup
|
233 |
#: backwpup-functions.php:17
|
234 |
+
#: backwpup-functions.php:246
|
235 |
msgid "Settings"
|
236 |
msgstr "Einstellungen"
|
237 |
|
238 |
#@ backwpup
|
239 |
+
#: backwpup-functions.php:320
|
240 |
msgid "WP XML Export"
|
241 |
msgstr "WP XML Export"
|
242 |
|
243 |
#@ backwpup
|
244 |
+
#: backwpup-functions.php:326
|
245 |
msgid "Database Backup"
|
246 |
msgstr "Datenbank-Sicherung"
|
247 |
|
248 |
#@ backwpup
|
249 |
+
#: backwpup-functions.php:323
|
250 |
#: pages/page_backwpupeditjob.php:78
|
251 |
msgid "File Backup"
|
252 |
msgstr "Dateien-Sicherung"
|
253 |
|
254 |
#@ backwpup
|
255 |
+
#: backwpup-functions.php:329
|
256 |
msgid "Optimize Database Tables"
|
257 |
msgstr "Datenbanktabellen optimieren"
|
258 |
|
259 |
#@ backwpup
|
260 |
+
#: backwpup-functions.php:332
|
261 |
msgid "Check Database Tables"
|
262 |
msgstr "Datenbanktabellen checken"
|
263 |
|
264 |
#@ backwpup
|
265 |
+
#: backwpup-functions.php:411
|
266 |
+
#: backwpup-functions.php:441
|
267 |
+
#: backwpup-functions.php:469
|
268 |
#: pages/page_backwpupsettings.php:59
|
269 |
msgid "none"
|
270 |
msgstr "nichts"
|
271 |
|
272 |
#@ backwpup
|
273 |
+
#: backwpup-functions.php:462
|
274 |
msgid "Edit Job"
|
275 |
msgstr "Auftrag bearbeiten"
|
276 |
|
320 |
msgstr "Löschen"
|
321 |
|
322 |
#@ backwpup
|
|
|
323 |
#: pages/func_backwpupeditjob.php:28
|
324 |
msgid "Save Changes"
|
325 |
msgstr "Änderungen speichern"
|
390 |
msgstr "Dezember"
|
391 |
|
392 |
#@ backwpup
|
393 |
+
#: pages/header_backwpupeditjob.php:261
|
394 |
msgid "Send log"
|
395 |
msgstr "Sende Protokoll"
|
396 |
|
442 |
msgstr "(Älteste Dateien werden zuerst gelöscht.)"
|
443 |
|
444 |
#@ backwpup
|
445 |
+
#: pages/header_backwpupeditjob.php:263
|
446 |
msgid "Backup to FTP Server"
|
447 |
msgstr "Datensicherung zum FTP-Server"
|
448 |
|
460 |
|
461 |
#@ backwpup
|
462 |
#: pages/func_backwpupeditjob.php:236
|
463 |
+
#: pages/func_backwpupeditjob.php:377
|
464 |
#: pages/page_backwpupsettings.php:164
|
465 |
msgid "Password:"
|
466 |
msgstr "Passwort:"
|
467 |
|
468 |
#@ backwpup
|
469 |
+
#: pages/header_backwpupeditjob.php:269
|
470 |
msgid "Backup to Amazon S3"
|
471 |
msgstr "Datensicherung zu Amazon S3"
|
472 |
|
492 |
msgstr "Datensicherung via E-Mail"
|
493 |
|
494 |
#@ backwpup
|
495 |
+
#: pages/func_backwpupeditjob.php:398
|
496 |
msgid "Max. File Size for sending Backups with mail:"
|
497 |
msgstr "Maximale Dateigröße zum Senden von Datensicherungen via E-Mail:"
|
498 |
|
499 |
#@ backwpup
|
500 |
+
#: backwpup-functions.php:477
|
501 |
#: pages/page_backwpuplogs.php:8
|
502 |
msgid "BackWPup Logs"
|
503 |
msgstr "BackWPup Protokolle"
|
504 |
|
505 |
#@ backwpup
|
506 |
#: backwpup-functions.php:5
|
507 |
+
#: backwpup-functions.php:491
|
508 |
#: pages/page_backwpupsettings.php:101
|
509 |
msgid "Jobs"
|
510 |
msgstr "Aufträge"
|
511 |
|
512 |
#@ backwpup
|
513 |
#: backwpup-functions.php:11
|
514 |
+
#: backwpup-functions.php:492
|
515 |
+
#: pages/header_backwpupbackups.php:328
|
516 |
#: pages/header_backwpuplogs.php:61
|
517 |
#: pages/page_backwpupsettings.php:79
|
518 |
msgid "Logs"
|
721 |
|
722 |
#@ backwpup
|
723 |
#: backwpup-functions.php:13
|
724 |
+
#: backwpup-functions.php:493
|
725 |
msgid "Backups"
|
726 |
msgstr "Datensicherungen"
|
727 |
|
728 |
#@ backwpup
|
729 |
+
#: backwpup-functions.php:786
|
730 |
msgid "New"
|
731 |
msgstr "Neu"
|
732 |
|
733 |
#@ backwpup
|
734 |
+
#: pages/func_backwpupeditjob.php:622
|
735 |
+
#: pages/func_backwpupeditjob.php:751
|
736 |
msgid "Missing Username!"
|
737 |
msgstr "Falscher Benutzername!"
|
738 |
|
739 |
#@ backwpup
|
740 |
+
#: pages/func_backwpupeditjob.php:629
|
741 |
msgid "Missing API Key!"
|
742 |
msgstr "API-Schlüssel wird vermisst!"
|
743 |
|
744 |
#@ backwpup
|
745 |
+
#: pages/func_backwpupeditjob.php:650
|
746 |
msgid "No Containerss found!"
|
747 |
msgstr "Keine Container gefunden!"
|
748 |
|
874 |
msgstr "Samstag"
|
875 |
|
876 |
#@ backwpup
|
877 |
+
#: pages/func_backwpupeditjob.php:445
|
878 |
msgid "Working as <a href=\"http://wikipedia.org/wiki/Cron\" target=\"_blank\">Cron</a> job schedule:"
|
879 |
msgstr "Arbeiten nach der <a href=\"http://de.wikipedia.org/wiki/Cron\" target=\"_blank\">Cron</a>-Auftragsplanung:"
|
880 |
|
881 |
#@ backwpup
|
882 |
+
#: pages/func_backwpupeditjob.php:463
|
883 |
msgid "Next runtime:"
|
884 |
msgstr "Nächster Durchlauf:"
|
885 |
|
886 |
#@ backwpup
|
887 |
+
#: pages/header_backwpupeditjob.php:260
|
888 |
msgid "Backup File"
|
889 |
msgstr "Datensicherungsdatei"
|
890 |
|
966 |
msgstr "Sichere Datensicherungen mit reduzierter Redundanz!"
|
967 |
|
968 |
#@ backwpup
|
969 |
+
#: pages/header_backwpupeditjob.php:275
|
970 |
msgid "Backup to Rackspace Cloud"
|
971 |
msgstr "Datensicherung in die Rackspace Cloud"
|
972 |
|
988 |
msgstr "Erstelle Container:"
|
989 |
|
990 |
#@ backwpup
|
991 |
+
#: pages/header_backwpupeditjob.php:248
|
992 |
#, php-format
|
993 |
msgid "Job '%1' changes saved."
|
994 |
msgstr "Auftrag '%1' Veränderungen gepeichert."
|
995 |
|
996 |
#@ backwpup
|
997 |
+
#: pages/header_backwpupeditjob.php:248
|
998 |
msgid "Jobs overview."
|
999 |
msgstr "Auftragsüberblick"
|
1000 |
|
1029 |
msgstr "Benutze SSL-FTP-Verbindung."
|
1030 |
|
1031 |
#@ backwpup
|
1032 |
+
#: pages/header_backwpupeditjob.php:265
|
1033 |
msgid "Backup to Dropbox"
|
1034 |
msgstr "Datensicherung in die Dropbox"
|
1035 |
|
1137 |
msgstr "Aufträge importiert!"
|
1138 |
|
1139 |
#@ backwpup
|
1140 |
+
#: pages/func_backwpupeditjob.php:685
|
1141 |
msgid "Missing Hostname!"
|
1142 |
msgstr "Hostname (Server) nicht angegeben!"
|
1143 |
|
1144 |
#@ backwpup
|
1145 |
+
#: pages/func_backwpupeditjob.php:692
|
1146 |
msgid "Missing Account Name!"
|
1147 |
msgstr "Kontoname (Benutzername) nicht angegeben!"
|
1148 |
|
1149 |
#@ backwpup
|
1150 |
+
#: pages/func_backwpupeditjob.php:699
|
1151 |
msgid "Missing Access Key!"
|
1152 |
msgstr "Zugangsschlüssel (Access Key) nicht angegeben!"
|
1153 |
|
1154 |
#@ backwpup
|
1155 |
+
#: pages/func_backwpupeditjob.php:716
|
1156 |
msgid "No Container found!"
|
1157 |
msgstr "Kein Container gefunden!"
|
1158 |
|
1162 |
msgstr "Asien Pazifik (Japan)"
|
1163 |
|
1164 |
#@ backwpup
|
1165 |
+
#: pages/header_backwpupeditjob.php:273
|
1166 |
msgid "Backup to Micosoft Azure (Blob)"
|
1167 |
msgstr "Datensicherung zu Microsoft Azure (Blob)"
|
1168 |
|
1192 |
#: pages/func_backwpupeditjob.php:288
|
1193 |
#: pages/func_backwpupeditjob.php:315
|
1194 |
#: pages/func_backwpupeditjob.php:338
|
1195 |
+
#: pages/func_backwpupeditjob.php:365
|
1196 |
+
#: pages/func_backwpupeditjob.php:387
|
1197 |
msgid "Create Account"
|
1198 |
msgstr "Konto erstellen"
|
1199 |
|
1200 |
#@ backwpup
|
1201 |
+
#: job/dest_dropbox.php:33
|
1202 |
msgid "No free space left on DropBox!!!"
|
1203 |
msgstr "Kein freier Speicherplatz mehr übrig auf Dropbox!!!"
|
1204 |
|
1228 |
#: pages/func_backwpupeditjob.php:285
|
1229 |
#: pages/func_backwpupeditjob.php:312
|
1230 |
#: pages/func_backwpupeditjob.php:335
|
1231 |
+
#: pages/func_backwpupeditjob.php:362
|
1232 |
+
#: pages/func_backwpupeditjob.php:384
|
1233 |
msgid "(Oldest files will be deleted first.)"
|
1234 |
msgstr "(Älteste Dateien werden zuerst gelöscht.)"
|
1235 |
|
1259 |
msgstr "Löschen!"
|
1260 |
|
1261 |
#@ backwpup
|
1262 |
+
#: pages/func_backwpupeditjob.php:375
|
1263 |
+
#: pages/func_backwpupeditjob.php:395
|
1264 |
msgid "E-mail address:"
|
1265 |
msgstr "E-Mail-Adresse:"
|
1266 |
|
1275 |
msgstr "Den Cron-Job Ihres Webhosters/ -Servers benutzen und WP-Cron deaktivieren"
|
1276 |
|
1277 |
#@ backwpup
|
1278 |
+
#: pages/header_backwpupeditjob.php:267
|
1279 |
msgid "Backup to SugarSync"
|
1280 |
msgstr "Datensicherung zu SugarSync"
|
1281 |
|
1285 |
msgstr "Sie haben keinen freien Speicherplatz mehr übrig bei SugarSync!!!"
|
1286 |
|
1287 |
#@ backwpup
|
1288 |
+
#: pages/func_backwpupeditjob.php:355
|
1289 |
+
#: pages/func_backwpupeditjob.php:379
|
1290 |
msgid "Root:"
|
1291 |
msgstr "Root:"
|
1292 |
|
1293 |
#@ backwpup
|
1294 |
+
#: pages/func_backwpupeditjob.php:758
|
1295 |
msgid "Missing Password!"
|
1296 |
msgstr "Passwort fehlt!"
|
1297 |
|
1298 |
#@ backwpup
|
1299 |
+
#: pages/func_backwpupeditjob.php:778
|
1300 |
msgid "No Syncfolders found!"
|
1301 |
msgstr "Keine Sync-Ordner gefunden!"
|
1302 |
|
1303 |
#@ backwpup
|
1304 |
+
#: pages/header_backwpupeditjob.php:25
|
1305 |
msgid "Dropbox authentication complete!"
|
1306 |
msgstr "Dropbox-Authentifizierung vollständig!"
|
1307 |
|
1311 |
msgstr "In Bearbeitung"
|
1312 |
|
1313 |
#@ backwpup
|
1314 |
+
#: backwpup-functions.php:397
|
1315 |
msgid "View Log:"
|
1316 |
msgstr "Protokoll ansehen:"
|
1317 |
|
1318 |
#@ backwpup
|
1319 |
+
#: backwpup-functions.php:399
|
1320 |
#: pages/func_backwpuplogs.php:135
|
1321 |
#, php-format
|
1322 |
msgid "%d ERROR"
|
1325 |
msgstr[1] "%d FEHLER"
|
1326 |
|
1327 |
#@ backwpup
|
1328 |
+
#: backwpup-functions.php:401
|
1329 |
#: pages/func_backwpuplogs.php:137
|
1330 |
#, php-format
|
1331 |
msgid "%d WARNING"
|
1334 |
msgstr[1] "%d WARNUNGEN"
|
1335 |
|
1336 |
#@ backwpup
|
1337 |
+
#: backwpup-functions.php:403
|
1338 |
#: pages/func_backwpuplogs.php:139
|
1339 |
msgid "O.K."
|
1340 |
msgstr "O.K."
|
1341 |
|
1342 |
#@ backwpup
|
1343 |
+
#: backwpup-functions.php:429
|
1344 |
msgid "How many of the lastes logs would you like to display?"
|
1345 |
msgstr "Wieviele der letzten Protokolle wollen Sie anzeigen lassen?"
|
1346 |
|
1347 |
#@ backwpup
|
1348 |
+
#: backwpup-functions.php:455
|
1349 |
#, php-format
|
1350 |
msgid "working since %d sec."
|
1351 |
msgstr "in Arbeit seit %d Sek."
|
1352 |
|
1353 |
#@ backwpup
|
1354 |
+
#: backwpup-functions.php:456
|
1355 |
#: pages/func_backwpup.php:107
|
1356 |
msgid "View!"
|
1357 |
msgstr "Ansehen!"
|
1358 |
|
1359 |
#@ backwpup
|
1360 |
+
#: backwpup-functions.php:457
|
1361 |
#: pages/func_backwpup.php:108
|
1362 |
msgid "Abort!"
|
1363 |
msgstr "Abbrechen!"
|
1364 |
|
1365 |
#@ backwpup
|
1366 |
+
#: backwpup-functions.php:478
|
1367 |
msgid "BackWPup Aktive Jobs"
|
1368 |
msgstr "BackWPup aktive Aufträge"
|
1369 |
|
1383 |
msgstr "Hochladen zu RSC hat begonnen ... "
|
1384 |
|
1385 |
#@ backwpup
|
1386 |
+
#: job/job_functions.php:481
|
1387 |
msgid "To many restarts...."
|
1388 |
msgstr "Zu viele Neustarts..."
|
1389 |
|
1390 |
#@ backwpup
|
1391 |
+
#: job/job_functions.php:522
|
1392 |
msgid "Script stop! Will started again now!"
|
1393 |
msgstr "Skript-Stop! Wird jetzt wieder neu gestartet!"
|
1394 |
|
1403 |
msgstr "Temp-Verzeichnis nicht beschreibbar"
|
1404 |
|
1405 |
#@ backwpup
|
1406 |
+
#: job/job_start.php:131
|
1407 |
msgid "Log folder not writeable!"
|
1408 |
msgstr "Protokolldateien-Ordner nicht beschreibbar!"
|
1409 |
|
1410 |
#@ backwpup
|
1411 |
+
#: job/job_start.php:200
|
1412 |
msgid "Backup folder not writeable!"
|
1413 |
msgstr "Datensicherungs-Ordner nicht beschreibbar!"
|
1414 |
|
1439 |
msgstr "Zeit"
|
1440 |
|
1441 |
#@ backwpup
|
1442 |
+
#: pages/func_backwpupbackups.php:492
|
1443 |
+
#: pages/header_backwpupbackups.php:141
|
1444 |
msgid "Login failure!"
|
1445 |
msgstr "Anmeldung fehlgeschlagen!"
|
1446 |
|
1455 |
msgstr "Geheimnis (secret):"
|
1456 |
|
1457 |
#@ backwpup
|
1458 |
+
#: pages/func_backwpupeditjob.php:357
|
1459 |
msgid "dropbox"
|
1460 |
msgstr "dropbox"
|
1461 |
|
1462 |
#@ backwpup
|
1463 |
+
#: pages/func_backwpupeditjob.php:358
|
1464 |
msgid "sandbox (disabled by DropBox)"
|
1465 |
msgstr "sandbox (deaktiviert von Dropbox)"
|
1466 |
|
1480 |
msgstr "Prozess mit PID kann nicht abgewürgt werden:"
|
1481 |
|
1482 |
#@ backwpup
|
1483 |
+
#: pages/header_backwpupeditjob.php:271
|
1484 |
msgid "Backup to Google storage"
|
1485 |
msgstr "Datensicherung zu Google Storage"
|
1486 |
|
1596 |
msgstr "BackWPup arbeitet"
|
1597 |
|
1598 |
#@ backwpup
|
1599 |
+
#: backwpup-functions.php:490
|
1600 |
msgid "See Working!"
|
1601 |
msgstr "Siehe unter 'In Bearbeitung'!"
|
1602 |
|
1603 |
#@ backwpup
|
1604 |
+
#: backwpup-functions.php:494
|
1605 |
msgid "BackWPup Job"
|
1606 |
msgstr "BackWPup Auftrag"
|
1607 |
|
1638 |
|
1639 |
#@ backwpup
|
1640 |
#: pages/func_backwpupeditjob.php:224
|
1641 |
+
#: pages/func_backwpupeditjob.php:384
|
1642 |
msgid "Max. backup files in folder:"
|
1643 |
msgstr "Max. Anzahl von Dateien im Ordner:"
|
1644 |
|
1680 |
#: pages/func_backwpupeditjob.php:266
|
1681 |
#: pages/func_backwpupeditjob.php:290
|
1682 |
#: pages/func_backwpupeditjob.php:340
|
1683 |
+
#: pages/func_backwpupeditjob.php:366
|
1684 |
+
#: pages/func_backwpupeditjob.php:388
|
1685 |
msgid "Webinterface"
|
1686 |
msgstr "Web-Oberfläche"
|
1687 |
|
1708 |
msgstr "Ordner im Container:"
|
1709 |
|
1710 |
#@ backwpup
|
1711 |
+
#: pages/func_backwpupeditjob.php:360
|
1712 |
+
#: pages/func_backwpupeditjob.php:382
|
1713 |
msgid "Folder:"
|
1714 |
msgstr "Ordner:"
|
1715 |
|
1716 |
#@ backwpup
|
1717 |
+
#: pages/func_backwpupeditjob.php:362
|
1718 |
msgid "Max. backup files in Dropbox folder:"
|
1719 |
msgstr "Max. Anzahl von Dateien im Dropbox-Ordner:"
|
1720 |
|
1721 |
#@ backwpup
|
1722 |
+
#: pages/func_backwpupeditjob.php:451
|
1723 |
#, php-format
|
1724 |
msgid "ATTENTION: Job runs every %d mins.!!!"
|
1725 |
msgstr "ACHTUNG: Auftrag läuft alle %d Minuten!"
|
1726 |
|
1727 |
#@ backwpup
|
1728 |
+
#: pages/func_backwpupeditjob.php:457
|
1729 |
#, php-format
|
1730 |
msgid "ATTENTION: Job runs every %d houers.!!!"
|
1731 |
msgstr "ACHTUNG: Auftrag läuft alle %d Stunden!"
|
1792 |
msgstr "BackWPup erhalten Sie OHNE JEDWEDE GARANTIE. Dies ist freie Software (quelloffen, im Sinne von Open Source) und Sie sind eingeladen, sie unter bestimmten Bedingungen weiterzugeben."
|
1793 |
|
1794 |
#@ backwpup
|
1795 |
+
#: job/job_run.php:119
|
1796 |
msgid "[INFO]: BackWPup comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions."
|
1797 |
msgstr "[INFO]: BackWPup erhalten Sie OHNE JEDWEDE GARANTIE. Dies ist freie Software (quelloffen, im Sinne von Open Source) und Sie sind eingeladen, sie unter bestimmten Bedingungen weiterzugeben."
|
1798 |
|
1799 |
#@ backwpup
|
1800 |
+
#: job/job_run.php:120
|
1801 |
msgid "[INFO]: BackWPup job:"
|
1802 |
msgstr "[INFO]: BackWPup Auftrag:"
|
1803 |
|
1804 |
#@ backwpup
|
1805 |
+
#: job/job_run.php:122
|
1806 |
msgid "[INFO]: BackWPup cron:"
|
1807 |
msgstr "[INFO]: BackWPup-Planung (Cron):"
|
1808 |
|
1809 |
#@ backwpup
|
1810 |
+
#: job/job_run.php:127
|
1811 |
msgid "[INFO]: PHP ver.:"
|
1812 |
msgstr "[INFO]: PHP-Version:"
|
1813 |
|
1814 |
#@ backwpup
|
1815 |
+
#: job/job_run.php:130
|
1816 |
msgid "[INFO]: MySQL ver.:"
|
1817 |
msgstr "[INFO]: MySQL-Version:"
|
1818 |
|
1819 |
#@ backwpup
|
1820 |
+
#: job/job_run.php:133
|
1821 |
msgid "[INFO]: curl ver.:"
|
1822 |
msgstr "[INFO]: cURL-Version:"
|
1823 |
|
1824 |
#@ backwpup
|
1825 |
+
#: job/job_run.php:135
|
1826 |
msgid "[INFO]: Temp folder is:"
|
1827 |
msgstr "[INFO]: Temp-Ordner ist:"
|
1828 |
|
1829 |
#@ backwpup
|
1830 |
+
#: job/job_run.php:137
|
1831 |
msgid "[INFO]: Backup file is:"
|
1832 |
msgstr "[INFO]: Datensicherungsdatei ist:"
|
1833 |
|
1877 |
msgstr "stündlich"
|
1878 |
|
1879 |
#@ backwpup
|
1880 |
+
#: pages/func_backwpupeditjob.php:461
|
1881 |
msgid "ATTENTION: Can't calculate cron!!!"
|
1882 |
msgstr "ACHTUNG: Cron (Auftragsplanung) kann nicht berechnet werden!!!"
|
1883 |
|
1887 |
msgstr "Hier ist der Auftragsüberblick mit einigen Informationen. Sie können einige Informationen zu den Aufträgen einsehen, wieviele, kann über den Ansehen-Button geändert werden. Sie können auch die Aufträge verwalten oder aktive Aufträge abbrechen. Einige Links wurden hinzugefügt, damit Sie direkt auf das letzte Protokoll oder die letzte Datensicherungsdatei via Download zugreifen können."
|
1888 |
|
1889 |
#@ backwpup
|
1890 |
+
#: pages/header_backwpupbackups.php:326
|
1891 |
msgid "Here you see a list of backup files. Change the destionation to jobname:destination to become a list of backups from other destinations and jobs. Then you kann delete or download backup files."
|
1892 |
msgstr "Hier sehen Sie eine Liste der Datensicherungsdateien. Verändern Sie das Ziel via Auftragsname:Ziel, um eine entsprechende Liste der Datensicherungen, Ziele und Aufträge zu erhalten. Dann können Sie Datensicherungsdateien löschen oder herunterladen."
|
1893 |
|
1897 |
msgid "http://backwpup.com"
|
1898 |
msgstr "http://backwpup.com/"
|
1899 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1900 |
#@ backwpup
|
1901 |
#: pages/func_backwpup.php:240
|
1902 |
msgid "DB Size:"
|
2122 |
msgstr "%d. Versuche Datensicherungsdatei zur Dropbox zu senden ..."
|
2123 |
|
2124 |
#@ backwpup
|
2125 |
+
#: job/dest_dropbox.php:28
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2126 |
#, php-format
|
2127 |
msgid "Authed with DropBox from %s"
|
2128 |
msgstr "Authentifiziert mit Dropbox von %s"
|
2129 |
|
2130 |
#@ backwpup
|
2131 |
+
#: job/dest_dropbox.php:37
|
2132 |
#, php-format
|
2133 |
msgid "%s free on DropBox"
|
2134 |
msgstr "%s frei in der Dropbox"
|
2135 |
|
2136 |
#@ backwpup
|
2137 |
+
#: job/dest_dropbox.php:42
|
2138 |
msgid "Upload to DropBox now started... "
|
2139 |
msgstr "Hochladen zur Dropbox hat begonnen ... "
|
2140 |
|
2141 |
#@ backwpup
|
2142 |
+
#: job/dest_dropbox.php:54
|
2143 |
+
#: job/dest_dropbox.php:79
|
|
|
|
|
|
|
|
|
|
|
|
|
2144 |
#, php-format
|
2145 |
msgid "DropBox API: %s"
|
2146 |
msgstr "Dropbox-API: %s"
|
2147 |
|
2148 |
#@ backwpup
|
2149 |
+
#: job/dest_dropbox.php:75
|
2150 |
#, php-format
|
2151 |
msgid "One file deleted on DropBox"
|
2152 |
msgid_plural "%d files deleted on DropBox"
|
2450 |
msgstr "%1$d Dateien mit %2$s zum Sichern"
|
2451 |
|
2452 |
#@ backwpup
|
2453 |
+
#: job/file_list.php:93
|
2454 |
#, php-format
|
2455 |
msgid "File or folder \"%s\" is not readable!"
|
2456 |
msgstr "Datei oder Ordner \"%s\" ist nicht lesbar!"
|
2457 |
|
2458 |
#@ backwpup
|
2459 |
+
#: job/file_list.php:95
|
2460 |
#, php-format
|
2461 |
msgid "Link \"%s\" not followed"
|
2462 |
msgstr "Link \"%s\" ist nicht erlaubt"
|
2463 |
|
2464 |
#@ backwpup
|
2465 |
+
#: job/file_list.php:101
|
2466 |
#, php-format
|
2467 |
msgid "\"%s\" is not a file or directory"
|
2468 |
msgstr "\"%s\" ist keine Datei oder ein Verzeichnis"
|
2469 |
|
2470 |
#@ backwpup
|
2471 |
+
#: job/job_functions.php:109
|
|
|
|
|
|
|
|
|
|
|
|
|
2472 |
#, php-format
|
2473 |
msgid "Can not increase memory limit is %1$s"
|
2474 |
msgstr "Das PHP-Speicherlimit kann nicht erhöht werden, es beträgt derzeit %s"
|
2475 |
|
2476 |
#@ backwpup
|
2477 |
+
#: job/job_functions.php:118
|
2478 |
msgid "Set Blog to maintenance mode"
|
2479 |
msgstr "Webseite/ Blog in den Wartungsmodus versetzen"
|
2480 |
|
2481 |
#@ backwpup
|
2482 |
+
#: job/job_functions.php:132
|
2483 |
msgid "Cannot set Blog to maintenance mode! Root folder is not writeable!"
|
2484 |
msgstr "Webseite/ Blog kann nicht in den Wartungsmodus versetzt werden! Der Root-Ordner ist nicht beschreibbar!"
|
2485 |
|
2486 |
#@ backwpup
|
2487 |
+
#: job/job_functions.php:135
|
2488 |
msgid "Set Blog to normal mode"
|
2489 |
msgstr "Setze Webseite/ Blog zurück in den Normalmodus"
|
2490 |
|
2491 |
#@ backwpup
|
2492 |
+
#: job/job_functions.php:210
|
2493 |
#, php-format
|
2494 |
msgid "No MySQL connection: %s"
|
2495 |
msgstr "Keine MySQL-Verbindung: %s"
|
2496 |
|
2497 |
#@ backwpup
|
2498 |
+
#: job/job_functions.php:225
|
2499 |
#, php-format
|
2500 |
msgid "No MySQL connection to database: %s"
|
2501 |
msgstr "Keine MySQL-Verbindung zur Datenbank: %s"
|
2502 |
|
2503 |
#@ backwpup
|
2504 |
+
#: job/job_functions.php:342
|
2505 |
#, php-format
|
2506 |
msgid "One old log deleted"
|
2507 |
msgid_plural "%d old logs deleted"
|
2509 |
msgstr[1] "%d alte Protokolldateien gelöscht"
|
2510 |
|
2511 |
#@ backwpup
|
2512 |
+
#: job/job_functions.php:346
|
2513 |
#, php-format
|
2514 |
msgid "Job done in %s sec."
|
2515 |
msgstr "Auftrag erledigt in %s Sekunden."
|
2516 |
|
2517 |
#@ backwpup
|
2518 |
+
#: job/job_functions.php:446
|
2519 |
#, php-format
|
2520 |
msgid "Jobname: %s"
|
2521 |
msgstr "Auftragsname: %s"
|
2522 |
|
2523 |
#@ backwpup
|
2524 |
+
#: job/job_functions.php:447
|
2525 |
#, php-format
|
2526 |
msgid "Jobtype: %s"
|
2527 |
msgstr "Auftragstyp: %s"
|
2528 |
|
2529 |
#@ backwpup
|
2530 |
+
#: job/job_functions.php:449
|
2531 |
#, php-format
|
2532 |
msgid "Errors: %d"
|
2533 |
msgstr "Fehler: %d"
|
2534 |
|
2535 |
#@ backwpup
|
2536 |
+
#: job/job_functions.php:451
|
2537 |
#, php-format
|
2538 |
msgid "Warnings: %d"
|
2539 |
msgstr "Warnungen: %d"
|
2540 |
|
2541 |
#@ backwpup
|
2542 |
+
#: job/job_functions.php:456
|
2543 |
#, php-format
|
2544 |
msgid "BackWPup log from %1$s: %2$s"
|
2545 |
msgstr "BackWPup-Protokoll vom %1$s: %2$s"
|
2546 |
|
2547 |
#@ backwpup
|
2548 |
+
#: job/job_run.php:74
|
2549 |
msgid "Job restart terminated, bcause old job runs again!"
|
2550 |
msgstr "Auftragsneustart verschoben, weil der alte/ bisherige Auftrag noch läuft!"
|
2551 |
|
2552 |
#@ backwpup
|
2553 |
+
#: job/job_run.php:77
|
2554 |
msgid "Job restarted, bcause inactivity!"
|
2555 |
msgstr "Auftrag neu gestartet, wegen Inaktivität!"
|
2556 |
|
2557 |
#@ backwpup
|
2558 |
+
#: job/job_run.php:79
|
2559 |
#, php-format
|
2560 |
msgid "Second Prozess is running, bcause old job runs! Start type is %s"
|
2561 |
msgstr "Ein zweiter Prozess läuft, weil alte/ bisherige Aufträge laufen! Startzeit ist %s"
|
2562 |
|
2563 |
#@ backwpup
|
2564 |
+
#: job/job_run.php:110
|
2565 |
#, php-format
|
2566 |
msgid "Can not find job step file: %s"
|
2567 |
msgstr "Datei mit Abarbeitungsschritten kann nicht gefunden werden: %s"
|
2568 |
|
2569 |
#@ backwpup
|
2570 |
+
#: job/job_run.php:124
|
2571 |
msgid "[INFO]: BackWPup job strated by cron"
|
2572 |
msgstr "[INFO]: BackWPup-Auftrag via Cron gestartet"
|
2573 |
|
2574 |
#@ backwpup
|
2575 |
+
#: job/job_run.php:126
|
2576 |
msgid "[INFO]: BackWPup job strated manualy"
|
2577 |
msgstr "[INFO]: BackWPup-Auftrag manuell gestartet"
|
2578 |
|
2579 |
#@ backwpup
|
2580 |
+
#: job/job_run.php:129
|
2581 |
#, php-format
|
2582 |
msgid "[INFO]: PHP Safe mode is ON! Maximum script execution time is %1$d sec."
|
2583 |
msgstr "[INFO]: PHP-Safemode ist AN! Die maximale Skriptausführzeit ist %1$d Sekunden"
|
2584 |
|
2585 |
#@ backwpup
|
2586 |
+
#: job/job_run.php:148
|
2587 |
msgid "No destination defineid for backup!!! Please correct job settings"
|
2588 |
msgstr "Kein Zielort für die Datensicherung festgelegt!!! Bitte korrigieren Sie die Auftragseinstellungen."
|
2589 |
|
2590 |
#@ backwpup
|
2591 |
+
#: job/job_run.php:170
|
2592 |
msgid "Step arborted has too many trys!"
|
2593 |
msgstr "Schritt wurde abgebrochen - hat zuviele Versuche!"
|
2594 |
|
2595 |
#@ backwpup
|
2596 |
+
#: job/job_run.php:172
|
2597 |
#, php-format
|
2598 |
msgid "Can not find job step function %s!"
|
2599 |
msgstr "Funktion für die Auftragsschritte kann nicht gefunden werden %s!"
|
2605 |
msgstr "Temp-Ordner kann nicht erstellt werden: %s"
|
2606 |
|
2607 |
#@ backwpup
|
2608 |
+
#: job/job_start.php:116
|
2609 |
#, php-format
|
2610 |
msgid "Can not create folder for log files: %s"
|
2611 |
msgstr "Ordner für Protokolldateien kann nicht erstellt werden: %s"
|
2612 |
|
2613 |
#@ backwpup
|
2614 |
+
#: job/job_start.php:155
|
2615 |
#, php-format
|
2616 |
msgid "BackWPup log for %1$s from %2$s at %3$s"
|
2617 |
msgstr "BackWPup-Protokoll für %1$s von %2$s am %3$s"
|
2618 |
|
2619 |
#@ backwpup
|
2620 |
+
#: job/job_start.php:183
|
2621 |
#, php-format
|
2622 |
msgid "Can not create folder for backups: %1$s"
|
2623 |
msgstr "Ordner für Datensicherungen kann nicht erstellt werden: %1$s"
|
2635 |
msgstr "Füge XML-Export \"%1$s\" der Datensicherungs-Liste hinzu, mit %2$s"
|
2636 |
|
2637 |
#@ backwpup
|
2638 |
+
#: pages/func_backwpupeditjob.php:18
|
2639 |
msgid "PHP curl functions not available! Most backup destinations deaktivated!"
|
2640 |
msgstr "PHP cURL-Funktionen nicht verfügbar! Daher werden die meisten Datensicherungsziele deaktiviert!"
|
2641 |
|
|
|
|
|
|
|
|
|
|
|
2642 |
#@ backwpup
|
2643 |
#: pages/page_backwpupsettings.php:135
|
2644 |
msgid "PHP zip class"
|
2655 |
msgstr "Benutze die PHP ZIP-Klasse, falls verfügbar! Normalerweise wird die PCL ZIP-Klasse benutzt."
|
2656 |
|
2657 |
#@ default
|
2658 |
+
#: job/job_run.php:118
|
2659 |
#, php-format
|
2660 |
msgid "[INFO]: BackWPup version %1$s, WordPress version %4$s Copyright © %2$s %3$s"
|
2661 |
msgstr "[INFO]: BackWPup Version %1$s, WordPress Version %4$s Urheberrecht © %2$s %3$s"
|
2662 |
|
2663 |
#@ backwpup
|
2664 |
+
#: backwpup-functions.php:703
|
2665 |
#, php-format
|
2666 |
msgid "- WordPress %d or heiger is needed!"
|
2667 |
msgstr "- WordPress Version %d oder höher ist erforderlich!"
|
2668 |
|
2669 |
#@ backwpup
|
2670 |
+
#: backwpup-functions.php:707
|
2671 |
msgid "- PHP 5.2.4 or higher is needed!"
|
2672 |
msgstr "- PHP Version 5.2.4 oder höher ist erforderlich!"
|
2673 |
|
2674 |
#@ backwpup
|
2675 |
+
#: backwpup-functions.php:714
|
2676 |
msgid "- Log folder does not exists:"
|
2677 |
msgstr "- Protokolldateienordner existiert nicht:"
|
2678 |
|
2679 |
#@ backwpup
|
2680 |
+
#: backwpup-functions.php:717
|
2681 |
msgid "- Log folder is not writeable:"
|
2682 |
msgstr "- Protokolldateienordner ist nicht beschreibbar:"
|
2683 |
|
2684 |
#@ backwpup
|
2685 |
+
#: backwpup-functions.php:720
|
2686 |
msgid "- Log folder is not in open_basedir path:"
|
2687 |
msgstr "- Protokolldateienordner liegt nicht im open_basedir Pfad:"
|
2688 |
|
2689 |
#@ backwpup
|
2690 |
+
#: backwpup-functions.php:726
|
2691 |
msgid "- Please check the scheduled time for the job:"
|
2692 |
msgstr "- Bitte prüfen Sie die Zeitplanung für den Auftrag:"
|
2693 |
|
2694 |
#@ backwpup
|
2695 |
+
#: backwpup-functions.php:731
|
2696 |
msgid "- WP-Cron isn't working, please check it!"
|
2697 |
msgstr "- WP-Cron funktioniert nicht, bitte prüfen Sie die Funktion!"
|
2698 |
|
2699 |
#@ backwpup
|
2700 |
+
#: job/dest_dropbox.php:49
|
|
|
|
|
|
|
|
|
|
|
|
|
2701 |
#: job/dest_gstorage.php:29
|
2702 |
#: job/dest_msazure.php:26
|
2703 |
#: job/dest_s3.php:32
|
2732 |
#@ backwpup
|
2733 |
#: job/dest_gstorage.php:38
|
2734 |
#: job/dest_gstorage.php:67
|
2735 |
+
#: pages/func_backwpupbackups.php:394
|
2736 |
+
#: pages/header_backwpupbackups.php:50
|
2737 |
#, php-format
|
2738 |
msgid "GStorage API: %s"
|
2739 |
msgstr "GStorage-API: %s"
|
2759 |
msgstr "Datensicherung kann nicht zu Amazon S3 übertragen werden! (%1$d) %2$s"
|
2760 |
|
2761 |
#@ backwpup
|
2762 |
+
#: job/job_functions.php:500
|
2763 |
msgid "Signal $d send to script!"
|
2764 |
msgstr "Signal $d zum Skript gesendet!"
|
2765 |
|
2766 |
#@ backwpup
|
2767 |
+
#: pages/func_backwpupeditjob.php:489
|
2768 |
+
#: pages/func_backwpupeditjob.php:554
|
2769 |
msgid "Missing access key!"
|
2770 |
msgstr "Der Zugangsschlüssel (Access Key) fehlt!"
|
2771 |
|
2772 |
#@ backwpup
|
2773 |
+
#: pages/func_backwpupeditjob.php:496
|
2774 |
+
#: pages/func_backwpupeditjob.php:561
|
2775 |
msgid "Missing secret access key!"
|
2776 |
msgstr "Der Geheime Zugangsschlüssel (Secret Access Key) fehlt!"
|
2777 |
|
2778 |
#@ backwpup
|
2779 |
+
#: pages/func_backwpupeditjob.php:520
|
2780 |
+
#: pages/func_backwpupeditjob.php:587
|
2781 |
msgid "No bucket fount!"
|
2782 |
msgstr "Kein Bucket gefunden!"
|
2783 |
|
2784 |
#@ backwpup
|
2785 |
+
#: pages/header_backwpupeditjob.php:27
|
2786 |
msgid "Wrong Token for Dropbox authentication received!"
|
2787 |
msgstr "Falschen Token für die Dropbox-Authentifizierung erhalten!"
|
2788 |
|
2789 |
#@ backwpup
|
2790 |
+
#: pages/header_backwpupeditjob.php:30
|
2791 |
msgid "No Dropbox authentication received!"
|
2792 |
msgstr "Keine Dropbox-Authentifizierung erhalten!"
|
2793 |
|
2852 |
msgid "Restore Done. Please delete the SQL file after restoring."
|
2853 |
msgstr "Wiederherstellung abgeschlossen. Bitte löschen Sie die SQL-Datei nach der Wiederherstellung."
|
2854 |
|
2855 |
+
#@ backwpup
|
2856 |
+
#. translators: plugin header field 'Description'
|
2857 |
+
#: backwpup.php:0
|
2858 |
+
msgid "WordPress Backup and more
"
|
2859 |
+
msgstr "WordPress-Datensicherung und mehr ..."
|
2860 |
+
|
2861 |
+
#@ backwpup
|
2862 |
+
#. translators: plugin header field 'Version'
|
2863 |
+
#: backwpup.php:0
|
2864 |
+
msgid "2.1.3"
|
2865 |
+
msgstr "2.1.3"
|
2866 |
+
|
2867 |
+
#@ backwpup
|
2868 |
+
#: job/dest_dropbox.php:19
|
2869 |
+
msgid "No supported DropDox oauth class found!"
|
2870 |
+
msgstr "Eine nicht unterstützte OAuth-Klasse von Dropbox gefunden!"
|
2871 |
+
|
lang/backwpup.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the BackWPup package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: BackWPup 2.1.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/backwpup\n"
|
7 |
-
"POT-Creation-Date: 2011-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -12,2008 +12,1955 @@ msgstr ""
|
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
-
#:
|
16 |
-
msgid "
|
17 |
msgstr ""
|
18 |
|
19 |
-
#:
|
20 |
-
|
21 |
-
#: pages/func_backwpuplogs.php:73 pages/func_backwpuplogs.php:127
|
22 |
-
#: pages/func_backwpupeditjob.php:25
|
23 |
-
msgid "Delete"
|
24 |
msgstr ""
|
25 |
|
26 |
-
#:
|
27 |
-
msgid "
|
28 |
msgstr ""
|
29 |
|
30 |
-
#:
|
31 |
-
msgid "File"
|
32 |
msgstr ""
|
33 |
|
34 |
-
#:
|
35 |
-
msgid "
|
36 |
msgstr ""
|
37 |
|
38 |
-
#:
|
39 |
-
msgid "
|
40 |
msgstr ""
|
41 |
|
42 |
-
#:
|
43 |
-
msgid "
|
44 |
msgstr ""
|
45 |
|
46 |
-
#:
|
47 |
-
msgid ""
|
48 |
-
"You are about to delete this Backup Archive. \n"
|
49 |
-
" 'Cancel' to stop, 'OK' to delete."
|
50 |
msgstr ""
|
51 |
|
52 |
-
#:
|
53 |
-
|
54 |
-
msgid "Download"
|
55 |
msgstr ""
|
56 |
|
57 |
-
#:
|
58 |
-
msgid "
|
59 |
msgstr ""
|
60 |
|
61 |
-
#:
|
62 |
-
|
63 |
-
msgid "GStorage API: %s"
|
64 |
msgstr ""
|
65 |
|
66 |
-
#:
|
67 |
-
msgid "
|
68 |
msgstr ""
|
69 |
|
70 |
-
#:
|
71 |
-
msgid "
|
72 |
msgstr ""
|
73 |
|
74 |
-
#:
|
75 |
-
msgid "
|
76 |
msgstr ""
|
77 |
|
78 |
-
#:
|
79 |
-
msgid "
|
80 |
msgstr ""
|
81 |
|
82 |
-
#:
|
83 |
-
msgid "
|
84 |
msgstr ""
|
85 |
|
86 |
-
#:
|
87 |
-
msgid "
|
88 |
msgstr ""
|
89 |
|
90 |
-
#:
|
91 |
-
|
92 |
-
msgid "Add New"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#:
|
96 |
-
msgid "
|
97 |
msgstr ""
|
98 |
|
99 |
-
#:
|
100 |
-
msgid "
|
101 |
msgstr ""
|
102 |
|
103 |
-
#:
|
104 |
-
msgid "
|
105 |
msgstr ""
|
106 |
|
107 |
-
#:
|
108 |
-
msgid "
|
109 |
msgstr ""
|
110 |
|
111 |
-
#:
|
112 |
-
msgid "
|
113 |
msgstr ""
|
114 |
|
115 |
-
#:
|
116 |
-
msgid "
|
117 |
msgstr ""
|
118 |
|
119 |
-
#:
|
120 |
-
msgid "
|
121 |
msgstr ""
|
122 |
|
123 |
-
#:
|
124 |
-
msgid "
|
125 |
msgstr ""
|
126 |
|
127 |
-
#:
|
128 |
-
|
129 |
-
#: pages/page_backwpupeditjob.php:150
|
130 |
-
msgid "Exclude:"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#:
|
134 |
-
msgid "
|
135 |
msgstr ""
|
136 |
|
137 |
-
#:
|
138 |
-
msgid "
|
139 |
msgstr ""
|
140 |
|
141 |
-
#:
|
142 |
-
|
|
|
143 |
msgstr ""
|
144 |
|
145 |
-
#:
|
146 |
-
msgid "
|
147 |
msgstr ""
|
148 |
|
149 |
-
#:
|
150 |
-
msgid "
|
151 |
-
|
|
|
|
|
152 |
|
153 |
-
#:
|
154 |
-
msgid "
|
155 |
msgstr ""
|
156 |
|
157 |
-
#:
|
158 |
-
msgid "
|
159 |
msgstr ""
|
160 |
|
161 |
-
#:
|
162 |
-
msgid "
|
163 |
msgstr ""
|
164 |
|
165 |
-
#:
|
166 |
-
msgid "
|
167 |
msgstr ""
|
168 |
|
169 |
-
#:
|
170 |
-
msgid "
|
171 |
msgstr ""
|
172 |
|
173 |
-
#:
|
174 |
-
msgid "
|
175 |
msgstr ""
|
176 |
|
177 |
-
#:
|
178 |
-
|
179 |
-
msgid "Type"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#:
|
183 |
-
msgid "
|
184 |
msgstr ""
|
185 |
|
186 |
-
#:
|
187 |
-
msgid "
|
188 |
msgstr ""
|
189 |
|
190 |
-
#:
|
191 |
-
msgid "
|
192 |
msgstr ""
|
193 |
|
194 |
-
#:
|
195 |
-
msgid "
|
196 |
msgstr ""
|
197 |
|
198 |
-
#:
|
199 |
-
msgid "
|
200 |
msgstr ""
|
201 |
|
202 |
-
#:
|
203 |
-
msgid "
|
204 |
msgstr ""
|
205 |
|
206 |
-
#:
|
207 |
-
msgid "
|
208 |
msgstr ""
|
209 |
|
210 |
-
#:
|
211 |
-
msgid "
|
212 |
msgstr ""
|
213 |
|
214 |
-
#:
|
215 |
-
msgid "
|
216 |
msgstr ""
|
217 |
|
218 |
-
#:
|
219 |
-
msgid "
|
220 |
msgstr ""
|
221 |
|
222 |
-
#:
|
223 |
-
|
224 |
-
#: pages/page_backwpupsettings.php:131
|
225 |
-
msgid "sec."
|
226 |
msgstr ""
|
227 |
|
228 |
-
#:
|
229 |
-
msgid "
|
230 |
msgstr ""
|
231 |
|
232 |
-
#:
|
233 |
-
msgid "
|
234 |
msgstr ""
|
235 |
|
236 |
-
#:
|
237 |
-
msgid "
|
238 |
msgstr ""
|
239 |
|
240 |
-
#:
|
241 |
-
msgid "
|
242 |
msgstr ""
|
243 |
|
244 |
-
#:
|
245 |
-
msgid "
|
246 |
msgstr ""
|
247 |
|
248 |
-
#:
|
249 |
-
msgid "
|
250 |
msgstr ""
|
251 |
|
252 |
-
#:
|
253 |
-
msgid "
|
254 |
msgstr ""
|
255 |
|
256 |
-
#:
|
257 |
-
msgid "
|
258 |
msgstr ""
|
259 |
|
260 |
-
#:
|
261 |
-
|
|
|
|
|
|
|
262 |
msgstr ""
|
263 |
|
264 |
-
#:
|
265 |
-
msgid "
|
266 |
msgstr ""
|
267 |
|
268 |
-
#:
|
269 |
-
msgid "
|
270 |
msgstr ""
|
271 |
|
272 |
-
#:
|
273 |
-
msgid "
|
274 |
msgstr ""
|
275 |
|
276 |
-
#:
|
277 |
-
msgid "
|
278 |
msgstr ""
|
279 |
|
280 |
-
#:
|
281 |
-
msgid "
|
282 |
msgstr ""
|
283 |
|
284 |
-
#:
|
285 |
-
msgid "
|
286 |
msgstr ""
|
287 |
|
288 |
-
#:
|
289 |
-
msgid "
|
290 |
msgstr ""
|
291 |
|
292 |
-
#:
|
293 |
-
msgid "
|
294 |
msgstr ""
|
295 |
|
296 |
-
#:
|
297 |
-
msgid "
|
298 |
msgstr ""
|
299 |
|
300 |
-
#:
|
301 |
-
msgid "
|
302 |
msgstr ""
|
303 |
|
304 |
-
#:
|
305 |
-
msgid "
|
306 |
msgstr ""
|
307 |
|
308 |
-
#:
|
309 |
-
msgid "
|
310 |
-
|
311 |
-
msgstr[0] ""
|
312 |
-
msgstr[1] ""
|
313 |
|
314 |
-
#:
|
315 |
-
msgid "
|
316 |
-
msgid_plural "%d
|
317 |
msgstr[0] ""
|
318 |
msgstr[1] ""
|
319 |
|
320 |
-
#:
|
321 |
-
msgid "
|
322 |
msgstr ""
|
323 |
|
324 |
-
#:
|
325 |
-
msgid "
|
326 |
msgstr ""
|
327 |
|
328 |
-
#:
|
329 |
-
|
330 |
-
#: pages/tools/db_restore.php:82 pages/tools/db_restore.php:85
|
331 |
-
#: pages/tools/db_restore.php:90
|
332 |
-
msgid "ERROR:"
|
333 |
msgstr ""
|
334 |
|
335 |
-
#:
|
336 |
-
msgid "
|
337 |
msgstr ""
|
338 |
|
339 |
-
#:
|
340 |
-
msgid "
|
341 |
msgstr ""
|
342 |
|
343 |
-
#:
|
344 |
-
|
345 |
-
#: pages/tools/db_restore.php:90
|
346 |
-
msgid "BackWPup database error %1$s for query %2$s"
|
347 |
msgstr ""
|
348 |
|
349 |
-
#:
|
350 |
-
msgid "
|
351 |
msgstr ""
|
352 |
|
353 |
-
#:
|
354 |
-
msgid "
|
355 |
msgstr ""
|
356 |
|
357 |
-
#:
|
358 |
-
msgid "
|
359 |
msgstr ""
|
360 |
|
361 |
-
#:
|
362 |
-
msgid "
|
363 |
-
|
|
|
|
|
364 |
|
365 |
-
#:
|
366 |
-
msgid "
|
367 |
msgstr ""
|
368 |
|
369 |
-
#:
|
370 |
-
msgid "
|
371 |
msgstr ""
|
372 |
|
373 |
-
#:
|
374 |
-
msgid "
|
375 |
msgstr ""
|
376 |
|
377 |
-
#:
|
378 |
-
msgid "
|
379 |
msgstr ""
|
380 |
|
381 |
-
#:
|
382 |
-
msgid "
|
383 |
msgstr ""
|
384 |
|
385 |
-
#:
|
386 |
-
msgid "
|
387 |
msgstr ""
|
388 |
|
389 |
-
#:
|
390 |
-
msgid "
|
391 |
msgstr ""
|
392 |
|
393 |
-
#:
|
394 |
-
msgid "
|
395 |
-
|
|
|
|
|
396 |
|
397 |
-
#:
|
398 |
-
msgid "
|
399 |
msgstr ""
|
400 |
|
401 |
-
#:
|
402 |
-
msgid "
|
403 |
msgstr ""
|
404 |
|
405 |
-
#:
|
406 |
-
msgid "
|
407 |
msgstr ""
|
408 |
|
409 |
-
#:
|
410 |
-
msgid "
|
411 |
msgstr ""
|
412 |
|
413 |
-
#:
|
414 |
-
msgid "
|
415 |
msgstr ""
|
416 |
|
417 |
-
#:
|
418 |
-
msgid "
|
419 |
msgstr ""
|
420 |
|
421 |
-
#:
|
422 |
-
msgid "
|
423 |
msgstr ""
|
424 |
|
425 |
-
#:
|
426 |
-
msgid "
|
427 |
msgstr ""
|
428 |
|
429 |
-
#:
|
430 |
-
msgid "
|
431 |
msgstr ""
|
432 |
|
433 |
-
#:
|
434 |
-
msgid "
|
435 |
msgstr ""
|
436 |
|
437 |
-
#:
|
438 |
-
msgid "
|
439 |
msgstr ""
|
440 |
|
441 |
-
#:
|
442 |
-
msgid "
|
443 |
msgstr ""
|
444 |
|
445 |
-
#:
|
446 |
-
msgid ""
|
447 |
-
"Here you can set the options for email sending. The settings will be used in "
|
448 |
-
"jobs for sending backups via email or for sending log files."
|
449 |
msgstr ""
|
450 |
|
451 |
-
#:
|
452 |
-
msgid "
|
453 |
msgstr ""
|
454 |
|
455 |
-
#:
|
456 |
-
msgid "
|
457 |
msgstr ""
|
458 |
|
459 |
-
#:
|
460 |
-
msgid "
|
461 |
msgstr ""
|
462 |
|
463 |
-
#:
|
464 |
-
msgid "
|
465 |
msgstr ""
|
466 |
|
467 |
-
#:
|
468 |
-
msgid "
|
469 |
msgstr ""
|
470 |
|
471 |
-
#:
|
472 |
-
msgid "
|
473 |
msgstr ""
|
474 |
|
475 |
-
#:
|
476 |
-
msgid "
|
477 |
msgstr ""
|
478 |
|
479 |
-
#:
|
480 |
-
msgid "
|
481 |
msgstr ""
|
482 |
|
483 |
-
#:
|
484 |
-
msgid "
|
485 |
msgstr ""
|
486 |
|
487 |
-
#:
|
488 |
-
msgid "
|
489 |
msgstr ""
|
490 |
|
491 |
-
#:
|
492 |
-
|
493 |
-
|
494 |
-
msgstr ""
|
|
|
495 |
|
496 |
-
#:
|
497 |
-
msgid "
|
498 |
msgstr ""
|
499 |
|
500 |
-
#:
|
501 |
-
msgid "
|
502 |
msgstr ""
|
503 |
|
504 |
-
#:
|
505 |
-
|
506 |
-
#: backwpup-functions.php:492
|
507 |
-
msgid "Logs"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#:
|
511 |
-
msgid "
|
512 |
msgstr ""
|
513 |
|
514 |
-
#:
|
515 |
-
msgid "
|
516 |
msgstr ""
|
517 |
|
518 |
-
#:
|
519 |
-
msgid "
|
520 |
msgstr ""
|
521 |
|
522 |
-
#:
|
523 |
-
msgid "
|
524 |
-
|
|
|
|
|
525 |
|
526 |
-
#:
|
527 |
-
msgid "
|
528 |
msgstr ""
|
529 |
|
530 |
-
#:
|
531 |
-
msgid "
|
532 |
msgstr ""
|
533 |
|
534 |
-
#:
|
535 |
-
|
536 |
-
msgid "Jobs"
|
537 |
msgstr ""
|
538 |
|
539 |
-
#:
|
540 |
-
msgid "
|
541 |
msgstr ""
|
542 |
|
543 |
-
#:
|
544 |
-
msgid "
|
545 |
msgstr ""
|
546 |
|
547 |
-
#:
|
548 |
-
msgid "
|
549 |
msgstr ""
|
550 |
|
551 |
-
#:
|
552 |
-
msgid "
|
553 |
msgstr ""
|
554 |
|
555 |
-
#:
|
556 |
-
msgid ""
|
557 |
-
"Script runtime will reset on many job functions. You can only set it if "
|
558 |
-
"safemode off. Default runtime is 30 sec. Your ini setting is in sec.:"
|
559 |
msgstr ""
|
560 |
|
561 |
-
#:
|
562 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
563 |
msgstr ""
|
564 |
|
565 |
-
#:
|
566 |
-
msgid ""
|
567 |
-
"Script runtime for long operations withaut responce to script. You can only "
|
568 |
-
"set it if safemode off. Default runtime is 300 sec.(Max. on most webservers.)"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#:
|
572 |
-
msgid "
|
573 |
msgstr ""
|
574 |
|
575 |
-
#:
|
576 |
-
msgid "PHP
|
577 |
-
msgstr ""
|
578 |
-
|
579 |
-
#: pages/page_backwpupsettings.php:138
|
580 |
-
msgid "Use PHP zip class if available! Normaly PCL Zip class will used."
|
581 |
-
msgstr ""
|
582 |
-
|
583 |
-
#: pages/page_backwpupsettings.php:143
|
584 |
-
msgid "WP Admin Bar"
|
585 |
-
msgstr ""
|
586 |
-
|
587 |
-
#: pages/page_backwpupsettings.php:144
|
588 |
-
msgid "Will you see BackWPup in the WordPress Admin Bar?"
|
589 |
-
msgstr ""
|
590 |
-
|
591 |
-
#: pages/page_backwpupsettings.php:147 pages/page_backwpupsettings.php:148
|
592 |
-
msgid "Admin Bar"
|
593 |
msgstr ""
|
594 |
|
595 |
-
#:
|
596 |
-
msgid "
|
597 |
msgstr ""
|
598 |
|
599 |
-
#:
|
600 |
-
msgid "
|
601 |
msgstr ""
|
602 |
|
603 |
-
#:
|
604 |
-
msgid ""
|
605 |
-
"Is your blog behind a http basic authentication (.htaccess)? Then you must "
|
606 |
-
"set the username and password four authentication."
|
607 |
msgstr ""
|
608 |
|
609 |
-
#:
|
610 |
-
|
611 |
-
msgid "Username:"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#:
|
615 |
-
|
616 |
-
msgid "Password:"
|
617 |
msgstr ""
|
618 |
|
619 |
-
#:
|
620 |
-
msgid "
|
621 |
msgstr ""
|
622 |
|
623 |
-
#:
|
624 |
-
msgid ""
|
625 |
-
"If you would use the cron job of your hoster you must point it to the url:"
|
626 |
msgstr ""
|
627 |
|
628 |
-
#:
|
629 |
-
msgid "
|
630 |
msgstr ""
|
631 |
|
632 |
-
#:
|
633 |
-
msgid "
|
634 |
msgstr ""
|
635 |
|
636 |
-
#:
|
637 |
-
msgid "
|
638 |
msgstr ""
|
639 |
|
640 |
-
#:
|
641 |
-
msgid ""
|
642 |
-
"If you check this, the job schedule will submited to backwpup.com. Backwpup."
|
643 |
-
"com will call your blog wp-cron.php to start. <em>Use this service only if "
|
644 |
-
"you have not a cron service of your hoster, or a blog that has a few "
|
645 |
-
"visitors.</em> The cron service can start cron behind a basic "
|
646 |
-
"authentication, on that the http authentication data will transferd too! "
|
647 |
-
"Please make a little donation for the plugin if you use this servcie. The "
|
648 |
-
"service can be removed by me without a massage."
|
649 |
msgstr ""
|
650 |
|
651 |
-
#:
|
652 |
-
msgid "
|
653 |
msgstr ""
|
654 |
|
655 |
-
#:
|
656 |
-
msgid "
|
657 |
msgstr ""
|
658 |
|
659 |
-
#:
|
660 |
-
msgid "
|
661 |
msgstr ""
|
662 |
|
663 |
-
#:
|
664 |
-
msgid "
|
665 |
msgstr ""
|
666 |
|
667 |
-
#:
|
668 |
-
msgid ""
|
669 |
-
"Here you can manage the log files of the jobs. You can download, view, or "
|
670 |
-
"delete them."
|
671 |
msgstr ""
|
672 |
|
673 |
-
#:
|
674 |
-
msgid ""
|
675 |
-
"Here you see a list of backup files. Change the destionation to jobname:"
|
676 |
-
"destination to become a list of backups from other destinations and jobs. "
|
677 |
-
"Then you kann delete or download backup files."
|
678 |
msgstr ""
|
679 |
|
680 |
-
#:
|
681 |
-
msgid "
|
682 |
msgstr ""
|
683 |
|
684 |
-
#:
|
685 |
-
|
|
|
686 |
msgstr ""
|
687 |
|
688 |
-
#:
|
689 |
-
msgid "
|
690 |
msgstr ""
|
691 |
|
692 |
-
#:
|
693 |
-
msgid "
|
694 |
-
|
|
|
|
|
695 |
|
696 |
-
#:
|
697 |
-
msgid "
|
698 |
msgstr ""
|
699 |
|
700 |
-
#:
|
701 |
-
msgid ""
|
702 |
-
"Here is the job overview with some information. You can see some further "
|
703 |
-
"information of the jobs, how many can be switched with the view button. Also "
|
704 |
-
"you can manage the jobs or abbort working jobs. Some links are added to have "
|
705 |
-
"direct access to the last log or download."
|
706 |
msgstr ""
|
707 |
|
708 |
-
#:
|
709 |
-
msgid "
|
710 |
msgstr ""
|
711 |
|
712 |
-
#:
|
713 |
-
msgid "
|
714 |
msgstr ""
|
715 |
|
716 |
-
#:
|
717 |
-
msgid "
|
718 |
msgstr ""
|
719 |
|
720 |
-
#:
|
721 |
-
msgid "
|
722 |
msgstr ""
|
723 |
|
724 |
-
#:
|
725 |
-
msgid "
|
726 |
msgstr ""
|
727 |
|
728 |
-
#:
|
729 |
-
msgid "
|
730 |
msgstr ""
|
731 |
|
732 |
-
#:
|
733 |
-
msgid "
|
734 |
msgstr ""
|
735 |
|
736 |
-
#:
|
737 |
-
msgid "
|
738 |
msgstr ""
|
739 |
|
740 |
-
#:
|
741 |
-
msgid "
|
742 |
msgstr ""
|
743 |
|
744 |
-
#:
|
745 |
-
msgid "
|
746 |
msgstr ""
|
747 |
|
748 |
-
#:
|
749 |
-
|
|
|
750 |
msgstr ""
|
751 |
|
752 |
-
#:
|
753 |
-
|
|
|
|
|
754 |
msgstr ""
|
755 |
|
756 |
-
#:
|
757 |
-
msgid "
|
758 |
msgstr ""
|
759 |
|
760 |
-
#:
|
761 |
-
msgid "
|
762 |
msgstr ""
|
763 |
|
764 |
-
#:
|
765 |
-
|
766 |
-
msgid "Import"
|
767 |
msgstr ""
|
768 |
|
769 |
-
#:
|
770 |
-
msgid "
|
771 |
msgstr ""
|
772 |
|
773 |
-
#:
|
774 |
-
msgid "
|
775 |
msgstr ""
|
776 |
|
777 |
-
#:
|
778 |
-
msgid "
|
779 |
msgstr ""
|
780 |
|
781 |
-
#:
|
782 |
-
msgid ""
|
783 |
-
"You are about to delete this Job. \n"
|
784 |
-
" 'Cancel' to stop, 'OK' to delete."
|
785 |
msgstr ""
|
786 |
|
787 |
-
#:
|
788 |
-
msgid "
|
789 |
msgstr ""
|
790 |
|
791 |
-
#:
|
792 |
-
msgid "
|
793 |
msgstr ""
|
794 |
|
795 |
-
#:
|
796 |
-
msgid "
|
797 |
msgstr ""
|
798 |
|
799 |
-
#:
|
800 |
-
msgid "
|
801 |
msgstr ""
|
802 |
|
803 |
-
#:
|
804 |
-
msgid "
|
805 |
-
|
|
|
|
|
806 |
|
807 |
-
#: pages/
|
808 |
-
msgid "
|
809 |
msgstr ""
|
810 |
|
811 |
-
#: pages/
|
812 |
-
|
|
|
|
|
|
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: pages/
|
816 |
-
msgid "
|
817 |
msgstr ""
|
818 |
|
819 |
-
#: pages/
|
820 |
-
msgid "
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: pages/
|
824 |
-
|
|
|
|
|
825 |
msgstr ""
|
826 |
|
827 |
-
#: pages/
|
828 |
-
msgid "
|
829 |
msgstr ""
|
830 |
|
831 |
-
#: pages/
|
832 |
-
msgid "
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: pages/
|
836 |
-
msgid "
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: pages/
|
840 |
-
|
841 |
-
#: pages/func_backwpupeditjob.php:153
|
842 |
-
msgid "Any (*)"
|
843 |
msgstr ""
|
844 |
|
845 |
-
#: pages/
|
846 |
-
msgid "
|
847 |
msgstr ""
|
848 |
|
849 |
-
#: pages/
|
850 |
-
|
|
|
|
|
|
|
851 |
msgstr ""
|
852 |
|
853 |
-
#: pages/
|
854 |
-
msgid "
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: pages/
|
858 |
-
|
|
|
859 |
msgstr ""
|
860 |
|
861 |
-
#: pages/
|
862 |
-
msgid "
|
863 |
msgstr ""
|
864 |
|
865 |
-
#: pages/
|
866 |
-
msgid "
|
867 |
msgstr ""
|
868 |
|
869 |
-
#: pages/
|
870 |
-
msgid "
|
871 |
msgstr ""
|
872 |
|
873 |
-
#: pages/
|
874 |
-
msgid "
|
875 |
msgstr ""
|
876 |
|
877 |
-
#: pages/
|
878 |
-
msgid "
|
879 |
msgstr ""
|
880 |
|
881 |
-
#: pages/
|
882 |
-
msgid "
|
883 |
msgstr ""
|
884 |
|
885 |
-
#: pages/
|
886 |
-
|
|
|
887 |
msgstr ""
|
888 |
|
889 |
-
#: pages/
|
890 |
-
msgid "
|
891 |
-
|
|
|
|
|
892 |
|
893 |
-
#: pages/
|
894 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: pages/
|
898 |
-
msgid "
|
899 |
msgstr ""
|
900 |
|
901 |
-
#: pages/
|
902 |
-
|
|
|
|
|
903 |
msgstr ""
|
904 |
|
905 |
-
#: pages/
|
906 |
-
msgid "
|
907 |
msgstr ""
|
908 |
|
909 |
-
#: pages/
|
910 |
-
msgid "
|
911 |
msgstr ""
|
912 |
|
913 |
-
#: pages/
|
914 |
-
msgid "
|
915 |
msgstr ""
|
916 |
|
917 |
-
#: pages/
|
918 |
-
msgid "
|
919 |
msgstr ""
|
920 |
|
921 |
-
#: pages/
|
922 |
-
msgid "
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: pages/
|
926 |
-
msgid "
|
927 |
msgstr ""
|
928 |
|
929 |
-
#: pages/
|
930 |
-
msgid "
|
931 |
msgstr ""
|
932 |
|
933 |
-
#: pages/
|
934 |
-
msgid "
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: pages/
|
938 |
-
|
|
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: pages/
|
942 |
-
msgid "
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: pages/
|
946 |
-
msgid "
|
947 |
msgstr ""
|
948 |
|
949 |
-
#: pages/
|
950 |
-
msgid "
|
951 |
msgstr ""
|
952 |
|
953 |
-
#: pages/
|
954 |
-
msgid "
|
955 |
msgstr ""
|
956 |
|
957 |
-
#: pages/
|
958 |
-
msgid "
|
959 |
msgstr ""
|
960 |
|
961 |
-
#: pages/
|
962 |
-
msgid "
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: pages/
|
966 |
-
msgid "
|
967 |
msgstr ""
|
968 |
|
969 |
-
#: pages/
|
970 |
-
msgid "
|
971 |
msgstr ""
|
972 |
|
973 |
-
#: pages/
|
974 |
-
msgid "
|
975 |
msgstr ""
|
976 |
|
977 |
-
#: pages/
|
978 |
-
msgid "
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: pages/
|
982 |
-
msgid "
|
983 |
msgstr ""
|
984 |
|
985 |
-
#: pages/
|
986 |
-
msgid "
|
987 |
msgstr ""
|
988 |
|
989 |
-
#: pages/
|
990 |
-
|
991 |
-
#: pages/func_backwpupeditjob.php:335 pages/func_backwpupeditjob.php:367
|
992 |
-
#: pages/func_backwpupeditjob.php:389
|
993 |
-
msgid "(Oldest files will be deleted first.)"
|
994 |
msgstr ""
|
995 |
|
996 |
-
#: pages/
|
997 |
-
msgid "
|
998 |
msgstr ""
|
999 |
|
1000 |
-
#: pages/
|
1001 |
-
|
|
|
1002 |
msgstr ""
|
1003 |
|
1004 |
-
#: pages/
|
1005 |
-
msgid "
|
1006 |
msgstr ""
|
1007 |
|
1008 |
-
#: pages/
|
1009 |
-
msgid "
|
1010 |
msgstr ""
|
1011 |
|
1012 |
-
#: pages/
|
1013 |
-
msgid "
|
1014 |
msgstr ""
|
1015 |
|
1016 |
-
#: pages/
|
1017 |
-
|
|
|
|
|
1018 |
msgstr ""
|
1019 |
|
1020 |
-
#: pages/
|
1021 |
-
msgid "
|
1022 |
msgstr ""
|
1023 |
|
1024 |
-
#: pages/
|
1025 |
-
msgid "
|
1026 |
msgstr ""
|
1027 |
|
1028 |
-
#: pages/
|
1029 |
-
msgid "
|
1030 |
msgstr ""
|
1031 |
|
1032 |
-
#: pages/
|
1033 |
-
msgid "
|
1034 |
msgstr ""
|
1035 |
|
1036 |
-
#: pages/
|
1037 |
-
msgid "
|
1038 |
msgstr ""
|
1039 |
|
1040 |
-
#: pages/
|
1041 |
-
msgid "
|
1042 |
msgstr ""
|
1043 |
|
1044 |
-
#: pages/
|
1045 |
-
msgid "
|
1046 |
msgstr ""
|
1047 |
|
1048 |
-
#: pages/
|
1049 |
-
msgid "
|
1050 |
msgstr ""
|
1051 |
|
1052 |
-
#: pages/
|
1053 |
-
msgid "
|
1054 |
msgstr ""
|
1055 |
|
1056 |
-
#: pages/
|
1057 |
-
|
1058 |
-
#: pages/func_backwpupeditjob.php:370 pages/func_backwpupeditjob.php:392
|
1059 |
-
msgid "Create Account"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
-
#: pages/
|
1063 |
-
msgid "
|
1064 |
msgstr ""
|
1065 |
|
1066 |
-
#: pages/
|
1067 |
-
|
1068 |
-
#: pages/func_backwpupeditjob.php:393
|
1069 |
-
msgid "Webinterface"
|
1070 |
msgstr ""
|
1071 |
|
1072 |
-
#: pages/
|
1073 |
-
msgid "
|
1074 |
msgstr ""
|
1075 |
|
1076 |
-
#: pages/
|
1077 |
-
msgid "
|
1078 |
msgstr ""
|
1079 |
|
1080 |
-
#: pages/
|
1081 |
-
msgid "
|
1082 |
msgstr ""
|
1083 |
|
1084 |
-
#: pages/
|
1085 |
-
msgid "
|
1086 |
msgstr ""
|
1087 |
|
1088 |
-
#: pages/
|
1089 |
-
msgid "
|
1090 |
msgstr ""
|
1091 |
|
1092 |
-
#: pages/
|
1093 |
-
msgid "
|
1094 |
msgstr ""
|
1095 |
|
1096 |
-
#: pages/
|
1097 |
-
msgid "
|
1098 |
msgstr ""
|
1099 |
|
1100 |
-
#: pages/
|
1101 |
-
msgid "
|
1102 |
msgstr ""
|
1103 |
|
1104 |
-
#: pages/
|
1105 |
-
msgid "
|
1106 |
msgstr ""
|
1107 |
|
1108 |
-
#: pages/
|
1109 |
-
msgid "
|
1110 |
msgstr ""
|
1111 |
|
1112 |
-
#: pages/
|
1113 |
-
msgid "
|
1114 |
msgstr ""
|
1115 |
|
1116 |
-
#: pages/
|
1117 |
-
msgid "
|
1118 |
msgstr ""
|
1119 |
|
1120 |
-
#: pages/
|
1121 |
-
msgid "
|
1122 |
msgstr ""
|
1123 |
|
1124 |
-
#: pages/
|
1125 |
-
msgid "
|
1126 |
msgstr ""
|
1127 |
|
1128 |
-
#: pages/
|
1129 |
-
msgid "
|
1130 |
msgstr ""
|
1131 |
|
1132 |
-
#: pages/
|
1133 |
-
msgid "
|
1134 |
msgstr ""
|
1135 |
|
1136 |
-
#: pages/
|
1137 |
-
msgid "
|
1138 |
msgstr ""
|
1139 |
|
1140 |
-
#: pages/
|
1141 |
-
msgid "
|
1142 |
msgstr ""
|
1143 |
|
1144 |
-
#: pages/
|
1145 |
-
msgid "
|
1146 |
msgstr ""
|
1147 |
|
1148 |
-
#: pages/
|
1149 |
-
msgid "
|
1150 |
msgstr ""
|
1151 |
|
1152 |
-
#: pages/
|
1153 |
-
msgid "
|
1154 |
msgstr ""
|
1155 |
|
1156 |
-
#: pages/
|
1157 |
-
msgid "
|
1158 |
msgstr ""
|
1159 |
|
1160 |
-
#: pages/
|
1161 |
-
msgid "
|
1162 |
msgstr ""
|
1163 |
|
1164 |
-
#: pages/
|
1165 |
-
msgid "
|
1166 |
msgstr ""
|
1167 |
|
1168 |
-
#: pages/
|
1169 |
-
msgid "
|
1170 |
msgstr ""
|
1171 |
|
1172 |
-
#: pages/
|
1173 |
-
msgid "
|
1174 |
msgstr ""
|
1175 |
|
1176 |
-
#: pages/
|
1177 |
-
msgid "
|
1178 |
msgstr ""
|
1179 |
|
1180 |
-
#: pages/
|
1181 |
-
msgid ""
|
1182 |
-
"Working as <a href=\"http://wikipedia.org/wiki/Cron\" target=\"_blank"
|
1183 |
-
"\">Cron</a> job schedule:"
|
1184 |
msgstr ""
|
1185 |
|
1186 |
-
#: pages/
|
1187 |
-
msgid "
|
1188 |
msgstr ""
|
1189 |
|
1190 |
-
#: pages/
|
1191 |
-
msgid "
|
1192 |
msgstr ""
|
1193 |
|
1194 |
-
#: pages/
|
1195 |
-
msgid "
|
1196 |
msgstr ""
|
1197 |
|
1198 |
-
#: pages/
|
1199 |
-
msgid "
|
1200 |
msgstr ""
|
1201 |
|
1202 |
-
#: pages/
|
1203 |
-
msgid "
|
1204 |
msgstr ""
|
1205 |
|
1206 |
-
#: pages/
|
1207 |
-
msgid "
|
1208 |
msgstr ""
|
1209 |
|
1210 |
-
#: pages/
|
1211 |
-
msgid "
|
1212 |
msgstr ""
|
1213 |
|
1214 |
-
#: pages/
|
1215 |
-
|
|
|
1216 |
msgstr ""
|
1217 |
|
1218 |
-
#: pages/
|
1219 |
-
msgid "
|
1220 |
msgstr ""
|
1221 |
|
1222 |
-
#: pages/
|
1223 |
-
msgid "
|
1224 |
msgstr ""
|
1225 |
|
1226 |
-
#: pages/
|
1227 |
-
msgid "
|
1228 |
msgstr ""
|
1229 |
|
1230 |
-
#: pages/
|
1231 |
-
msgid "
|
1232 |
msgstr ""
|
1233 |
|
1234 |
-
#: pages/
|
1235 |
-
msgid "
|
1236 |
msgstr ""
|
1237 |
|
1238 |
-
#: pages/func_backwpupeditjob.php:
|
1239 |
-
msgid "
|
1240 |
msgstr ""
|
1241 |
|
1242 |
-
#: pages/
|
1243 |
-
msgid "
|
1244 |
msgstr ""
|
1245 |
|
1246 |
-
#: pages/
|
1247 |
-
msgid "
|
1248 |
msgstr ""
|
1249 |
|
1250 |
-
#: pages/
|
1251 |
-
|
|
|
1252 |
msgstr ""
|
1253 |
|
1254 |
-
#: pages/
|
1255 |
-
msgid "
|
1256 |
msgstr ""
|
1257 |
|
1258 |
-
#:
|
1259 |
-
msgid "
|
1260 |
msgstr ""
|
1261 |
|
1262 |
-
#:
|
1263 |
-
msgid "
|
1264 |
msgstr ""
|
1265 |
|
1266 |
-
#:
|
1267 |
-
msgid "
|
1268 |
msgstr ""
|
1269 |
|
1270 |
-
#:
|
1271 |
-
msgid "
|
1272 |
msgstr ""
|
1273 |
|
1274 |
-
#:
|
1275 |
-
msgid "
|
1276 |
msgstr ""
|
1277 |
|
1278 |
-
#:
|
1279 |
-
msgid "
|
1280 |
msgstr ""
|
1281 |
|
1282 |
-
#:
|
1283 |
-
msgid "
|
1284 |
msgstr ""
|
1285 |
|
1286 |
-
#:
|
1287 |
-
msgid "
|
1288 |
msgstr ""
|
1289 |
|
1290 |
-
#:
|
1291 |
-
msgid "
|
1292 |
-
msgid_plural "%d files deleted on RSC container"
|
1293 |
-
msgstr[0] ""
|
1294 |
-
msgstr[1] ""
|
1295 |
-
|
1296 |
-
#: job/dest_msazure.php:5
|
1297 |
-
msgid "%d. try sending backup to a Microsoft Azure (Blob)..."
|
1298 |
msgstr ""
|
1299 |
|
1300 |
-
#:
|
1301 |
-
msgid "
|
1302 |
msgstr ""
|
1303 |
|
1304 |
-
#:
|
1305 |
-
msgid "
|
1306 |
msgstr ""
|
1307 |
|
1308 |
-
#:
|
1309 |
-
msgid "
|
1310 |
msgstr ""
|
1311 |
|
1312 |
-
#:
|
1313 |
-
|
1314 |
-
msgid "Backup transferred to %s"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
-
#:
|
1318 |
-
msgid "
|
1319 |
msgstr ""
|
1320 |
|
1321 |
-
#:
|
1322 |
-
msgid "
|
1323 |
-
msgid_plural "%d files deleted on Microsoft Azure container"
|
1324 |
-
msgstr[0] ""
|
1325 |
-
msgstr[1] ""
|
1326 |
-
|
1327 |
-
#: job/dest_msazure.php:55
|
1328 |
-
msgid "Microsoft Azure API: %s"
|
1329 |
msgstr ""
|
1330 |
|
1331 |
-
#:
|
1332 |
-
|
|
|
1333 |
msgstr ""
|
1334 |
|
1335 |
-
#:
|
1336 |
-
|
|
|
1337 |
msgstr ""
|
1338 |
|
1339 |
-
#:
|
1340 |
-
msgid "
|
1341 |
msgstr ""
|
1342 |
|
1343 |
-
#:
|
1344 |
-
msgid "
|
1345 |
msgstr ""
|
1346 |
|
1347 |
-
#:
|
1348 |
-
msgid "
|
1349 |
msgstr ""
|
1350 |
|
1351 |
-
#:
|
1352 |
-
msgid "
|
1353 |
msgstr ""
|
1354 |
|
1355 |
-
#:
|
1356 |
-
msgid "
|
1357 |
msgstr ""
|
1358 |
|
1359 |
-
#:
|
1360 |
-
msgid ""
|
1361 |
-
"[INFO]: BackWPup version %1$s, WordPress version %4$s Copyright © %2$s %"
|
1362 |
-
"3$s"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
-
#:
|
1366 |
-
msgid ""
|
1367 |
-
"[INFO]: BackWPup comes with ABSOLUTELY NO WARRANTY. This is free software, "
|
1368 |
-
"and you are welcome to redistribute it under certain conditions."
|
1369 |
msgstr ""
|
1370 |
|
1371 |
-
#:
|
1372 |
-
msgid "
|
|
|
|
|
1373 |
msgstr ""
|
1374 |
|
1375 |
-
#:
|
1376 |
-
msgid "
|
1377 |
msgstr ""
|
1378 |
|
1379 |
-
#:
|
1380 |
-
msgid "
|
1381 |
msgstr ""
|
1382 |
|
1383 |
-
#:
|
1384 |
-
msgid "
|
1385 |
msgstr ""
|
1386 |
|
1387 |
-
#:
|
1388 |
-
msgid "
|
1389 |
msgstr ""
|
1390 |
|
1391 |
-
#:
|
1392 |
-
msgid "
|
1393 |
msgstr ""
|
1394 |
|
1395 |
-
#:
|
1396 |
-
msgid "
|
1397 |
msgstr ""
|
1398 |
|
1399 |
-
#:
|
1400 |
-
msgid "
|
1401 |
msgstr ""
|
1402 |
|
1403 |
-
#:
|
1404 |
-
msgid "
|
1405 |
msgstr ""
|
1406 |
|
1407 |
-
#:
|
1408 |
-
msgid "
|
1409 |
msgstr ""
|
1410 |
|
1411 |
-
#:
|
1412 |
-
msgid "
|
1413 |
msgstr ""
|
1414 |
|
1415 |
-
#:
|
1416 |
-
msgid "
|
1417 |
msgstr ""
|
1418 |
|
1419 |
-
#:
|
1420 |
-
msgid "
|
1421 |
msgstr ""
|
1422 |
|
1423 |
-
#:
|
1424 |
-
msgid "
|
1425 |
msgstr ""
|
1426 |
|
1427 |
-
#:
|
1428 |
-
msgid "
|
1429 |
msgstr ""
|
1430 |
|
1431 |
-
#:
|
1432 |
-
|
|
|
|
|
1433 |
msgstr ""
|
1434 |
|
1435 |
-
#:
|
1436 |
-
msgid "
|
1437 |
msgstr ""
|
1438 |
|
1439 |
-
#:
|
1440 |
-
msgid "
|
1441 |
msgstr ""
|
1442 |
|
1443 |
-
#:
|
1444 |
-
msgid "
|
1445 |
msgstr ""
|
1446 |
|
1447 |
-
#:
|
1448 |
-
msgid "
|
1449 |
msgstr ""
|
1450 |
|
1451 |
-
#:
|
1452 |
-
msgid "
|
1453 |
-
|
1454 |
-
msgstr[0] ""
|
1455 |
-
msgstr[1] ""
|
1456 |
|
1457 |
-
#:
|
1458 |
-
msgid "
|
1459 |
msgstr ""
|
1460 |
|
1461 |
-
#:
|
1462 |
-
|
1463 |
-
#: job/db_check.php:43 job/db_dump.php:12 job/db_dump.php:25
|
1464 |
-
#: job/db_dump.php:109 job/db_dump.php:119
|
1465 |
-
msgid "Database error %1$s for query %2$s"
|
1466 |
msgstr ""
|
1467 |
|
1468 |
-
#:
|
1469 |
-
msgid "
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#:
|
1473 |
-
msgid "
|
1474 |
msgstr ""
|
1475 |
|
1476 |
-
#:
|
1477 |
-
msgid "
|
1478 |
msgstr ""
|
1479 |
|
1480 |
-
#:
|
1481 |
-
msgid "
|
1482 |
msgstr ""
|
1483 |
|
1484 |
-
#:
|
1485 |
-
msgid "
|
1486 |
msgstr ""
|
1487 |
|
1488 |
-
#:
|
1489 |
-
msgid "
|
1490 |
msgstr ""
|
1491 |
|
1492 |
-
#:
|
1493 |
-
msgid "
|
1494 |
msgstr ""
|
1495 |
|
1496 |
-
#:
|
1497 |
-
msgid "
|
1498 |
msgstr ""
|
1499 |
|
1500 |
-
#:
|
1501 |
-
msgid "
|
1502 |
msgstr ""
|
1503 |
|
1504 |
-
#:
|
1505 |
-
msgid "
|
1506 |
msgstr ""
|
1507 |
|
1508 |
-
#:
|
1509 |
-
msgid "
|
1510 |
msgstr ""
|
1511 |
|
1512 |
-
#:
|
1513 |
-
msgid "
|
1514 |
msgstr ""
|
1515 |
|
1516 |
-
#:
|
1517 |
-
msgid "
|
1518 |
msgstr ""
|
1519 |
|
1520 |
-
#:
|
1521 |
-
msgid "
|
1522 |
msgstr ""
|
1523 |
|
1524 |
-
#:
|
1525 |
-
msgid "
|
1526 |
msgstr ""
|
1527 |
|
1528 |
-
#:
|
1529 |
-
msgid "
|
1530 |
msgstr ""
|
1531 |
|
1532 |
-
#:
|
1533 |
-
msgid "
|
1534 |
-
|
1535 |
-
msgstr[0] ""
|
1536 |
-
msgstr[1] ""
|
1537 |
|
1538 |
-
#:
|
1539 |
-
msgid "
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#:
|
1543 |
-
msgid "
|
1544 |
msgstr ""
|
1545 |
|
1546 |
-
#:
|
1547 |
-
msgid "
|
1548 |
msgstr ""
|
1549 |
|
1550 |
-
#:
|
1551 |
-
msgid "
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#:
|
1555 |
-
msgid "
|
1556 |
msgstr ""
|
1557 |
|
1558 |
-
#:
|
1559 |
-
msgid "
|
1560 |
msgstr ""
|
1561 |
|
1562 |
-
#:
|
1563 |
-
msgid "
|
1564 |
msgstr ""
|
1565 |
|
1566 |
-
#:
|
1567 |
-
msgid "
|
1568 |
msgstr ""
|
1569 |
|
1570 |
-
#:
|
1571 |
-
msgid "
|
1572 |
msgstr ""
|
1573 |
|
1574 |
-
#:
|
1575 |
-
msgid "
|
1576 |
msgstr ""
|
1577 |
|
1578 |
-
#:
|
1579 |
-
msgid "
|
1580 |
msgstr ""
|
1581 |
|
1582 |
-
#:
|
1583 |
-
msgid "
|
1584 |
msgstr ""
|
1585 |
|
1586 |
-
#:
|
1587 |
-
|
|
|
|
|
|
|
1588 |
msgstr ""
|
1589 |
|
1590 |
-
#:
|
1591 |
-
msgid "
|
1592 |
msgstr ""
|
1593 |
|
1594 |
-
#:
|
1595 |
-
msgid "
|
1596 |
msgstr ""
|
1597 |
|
1598 |
-
#:
|
1599 |
-
msgid "
|
1600 |
msgstr ""
|
1601 |
|
1602 |
-
#:
|
1603 |
-
msgid "
|
1604 |
msgstr ""
|
1605 |
|
1606 |
-
#:
|
1607 |
-
msgid "
|
1608 |
msgstr ""
|
1609 |
|
1610 |
-
#:
|
1611 |
-
msgid "
|
1612 |
msgstr ""
|
1613 |
|
1614 |
-
#:
|
1615 |
-
msgid "
|
1616 |
msgstr ""
|
1617 |
|
1618 |
-
#:
|
1619 |
-
msgid "
|
1620 |
msgstr ""
|
1621 |
|
1622 |
-
#:
|
1623 |
-
|
1624 |
-
msgid "FTP Client command: %s"
|
1625 |
msgstr ""
|
1626 |
|
1627 |
-
#:
|
1628 |
-
|
1629 |
-
#: job/dest_ftp.php:67 job/dest_ftp.php:73 job/dest_ftp.php:75
|
1630 |
-
msgid "FTP Server reply: %s"
|
1631 |
msgstr ""
|
1632 |
|
1633 |
-
#:
|
1634 |
-
msgid "
|
1635 |
msgstr ""
|
1636 |
|
1637 |
-
#:
|
1638 |
-
msgid "
|
1639 |
msgstr ""
|
1640 |
|
1641 |
-
#:
|
1642 |
-
msgid "
|
1643 |
msgstr ""
|
1644 |
|
1645 |
-
#:
|
1646 |
-
msgid "
|
1647 |
msgstr ""
|
1648 |
|
1649 |
-
#:
|
1650 |
-
msgid "
|
1651 |
msgstr ""
|
1652 |
|
1653 |
-
#:
|
1654 |
-
|
|
|
|
|
1655 |
msgstr ""
|
1656 |
|
1657 |
-
#:
|
1658 |
-
msgid "
|
1659 |
msgstr ""
|
1660 |
|
1661 |
-
#:
|
1662 |
-
|
|
|
|
|
1663 |
msgstr ""
|
1664 |
|
1665 |
-
#:
|
1666 |
-
msgid "
|
1667 |
msgstr ""
|
1668 |
|
1669 |
-
#:
|
1670 |
-
msgid "
|
1671 |
msgstr ""
|
1672 |
|
1673 |
-
#:
|
1674 |
-
msgid "
|
1675 |
msgstr ""
|
1676 |
|
1677 |
-
#:
|
1678 |
-
msgid "
|
1679 |
-
|
1680 |
-
msgstr[0] ""
|
1681 |
-
msgstr[1] ""
|
1682 |
|
1683 |
-
#:
|
1684 |
-
msgid "
|
1685 |
msgstr ""
|
1686 |
|
1687 |
-
#:
|
1688 |
-
msgid "
|
1689 |
msgstr ""
|
1690 |
|
1691 |
-
#:
|
1692 |
-
msgid "
|
1693 |
msgstr ""
|
1694 |
|
1695 |
-
#:
|
1696 |
-
msgid "
|
1697 |
msgstr ""
|
1698 |
|
1699 |
-
#:
|
1700 |
-
msgid "
|
1701 |
msgstr ""
|
1702 |
|
1703 |
-
#:
|
1704 |
-
msgid "
|
1705 |
msgstr ""
|
1706 |
|
1707 |
-
#:
|
1708 |
-
msgid "
|
1709 |
msgstr ""
|
1710 |
|
1711 |
-
#:
|
1712 |
-
msgid "
|
1713 |
msgstr ""
|
1714 |
|
1715 |
-
#:
|
1716 |
-
msgid "
|
1717 |
msgstr ""
|
1718 |
|
1719 |
-
#:
|
1720 |
-
msgid "
|
1721 |
msgstr ""
|
1722 |
|
1723 |
-
#:
|
1724 |
-
msgid "
|
1725 |
msgstr ""
|
1726 |
|
1727 |
-
#:
|
1728 |
-
msgid "
|
1729 |
msgstr ""
|
1730 |
|
1731 |
-
#:
|
1732 |
-
msgid "
|
1733 |
msgstr ""
|
1734 |
|
1735 |
-
#:
|
1736 |
-
msgid "
|
1737 |
msgstr ""
|
1738 |
|
1739 |
-
#:
|
1740 |
-
msgid "
|
1741 |
-
|
1742 |
-
msgstr[0] ""
|
1743 |
-
msgstr[1] ""
|
1744 |
-
|
1745 |
-
#: job/dest_folder.php:25
|
1746 |
-
msgid "One backup file deleted"
|
1747 |
-
msgid_plural "%d backup files deleted"
|
1748 |
-
msgstr[0] ""
|
1749 |
-
msgstr[1] ""
|
1750 |
|
1751 |
-
#:
|
1752 |
-
msgid "
|
1753 |
msgstr ""
|
1754 |
|
1755 |
-
#:
|
1756 |
-
msgid "
|
1757 |
msgstr ""
|
1758 |
|
1759 |
-
#:
|
1760 |
-
msgid "
|
1761 |
msgstr ""
|
1762 |
|
1763 |
-
#:
|
1764 |
-
msgid "
|
1765 |
msgstr ""
|
1766 |
|
1767 |
-
#:
|
1768 |
-
msgid "
|
1769 |
msgstr ""
|
1770 |
|
1771 |
-
#:
|
1772 |
-
msgid "
|
1773 |
msgstr ""
|
1774 |
|
1775 |
-
#:
|
1776 |
-
msgid "
|
1777 |
msgstr ""
|
1778 |
|
1779 |
-
#:
|
1780 |
-
msgid "
|
1781 |
msgstr ""
|
1782 |
|
1783 |
-
#:
|
1784 |
-
msgid "
|
1785 |
-
|
1786 |
-
msgstr[0] ""
|
1787 |
-
msgstr[1] ""
|
1788 |
|
1789 |
-
#:
|
1790 |
-
msgid "
|
1791 |
msgstr ""
|
1792 |
|
1793 |
-
#:
|
1794 |
-
msgid "
|
1795 |
msgstr ""
|
1796 |
|
1797 |
-
#:
|
1798 |
-
msgid "
|
1799 |
msgstr ""
|
1800 |
|
1801 |
-
#:
|
1802 |
-
msgid "
|
1803 |
msgstr ""
|
1804 |
|
1805 |
-
#:
|
1806 |
-
msgid "
|
1807 |
msgstr ""
|
1808 |
|
1809 |
-
#:
|
1810 |
-
msgid "
|
1811 |
msgstr ""
|
1812 |
|
1813 |
-
#:
|
1814 |
-
msgid "
|
1815 |
msgstr ""
|
1816 |
|
1817 |
-
#:
|
1818 |
-
msgid "
|
1819 |
msgstr ""
|
1820 |
|
1821 |
-
#:
|
1822 |
-
msgid "
|
1823 |
msgstr ""
|
1824 |
|
1825 |
-
#:
|
1826 |
-
msgid "
|
1827 |
msgstr ""
|
1828 |
|
1829 |
-
#:
|
1830 |
-
msgid "
|
1831 |
msgstr ""
|
1832 |
|
1833 |
-
#:
|
1834 |
-
msgid "
|
1835 |
-
|
1836 |
-
msgstr[0] ""
|
1837 |
-
msgstr[1] ""
|
1838 |
|
1839 |
-
#:
|
1840 |
-
msgid "
|
1841 |
msgstr ""
|
1842 |
|
1843 |
-
#:
|
1844 |
-
msgid "
|
1845 |
msgstr ""
|
1846 |
|
1847 |
-
#:
|
1848 |
-
msgid "
|
1849 |
msgstr ""
|
1850 |
|
1851 |
-
#:
|
1852 |
-
msgid "
|
1853 |
msgstr ""
|
1854 |
|
1855 |
-
#:
|
1856 |
-
msgid "
|
1857 |
msgstr ""
|
1858 |
|
1859 |
-
#:
|
1860 |
-
msgid "
|
1861 |
msgstr ""
|
1862 |
|
1863 |
-
#:
|
1864 |
-
msgid "
|
1865 |
msgstr ""
|
1866 |
|
1867 |
-
#:
|
1868 |
-
msgid "
|
1869 |
msgstr ""
|
1870 |
|
1871 |
-
#:
|
1872 |
-
msgid "
|
1873 |
msgstr ""
|
1874 |
|
1875 |
-
#:
|
1876 |
-
msgid "(
|
1877 |
msgstr ""
|
1878 |
|
1879 |
-
#:
|
1880 |
-
msgid "
|
1881 |
msgstr ""
|
1882 |
|
1883 |
-
#:
|
1884 |
-
msgid "
|
1885 |
msgstr ""
|
1886 |
|
1887 |
-
#:
|
1888 |
-
msgid "
|
1889 |
msgstr ""
|
1890 |
|
1891 |
-
#:
|
1892 |
-
msgid "
|
1893 |
msgstr ""
|
1894 |
|
1895 |
-
#:
|
1896 |
-
|
|
|
|
|
1897 |
msgstr ""
|
1898 |
|
1899 |
-
#:
|
1900 |
-
msgid "
|
1901 |
msgstr ""
|
1902 |
|
1903 |
-
#:
|
1904 |
-
msgid "
|
1905 |
msgstr ""
|
1906 |
|
1907 |
-
#:
|
1908 |
-
msgid "
|
1909 |
msgstr ""
|
1910 |
|
1911 |
-
#:
|
1912 |
-
msgid "
|
1913 |
msgstr ""
|
1914 |
|
1915 |
-
#:
|
1916 |
-
msgid "
|
1917 |
msgstr ""
|
1918 |
|
1919 |
-
#:
|
1920 |
-
msgid "
|
1921 |
msgstr ""
|
1922 |
|
1923 |
-
#:
|
1924 |
-
msgid "
|
1925 |
msgstr ""
|
1926 |
|
1927 |
-
#:
|
1928 |
-
msgid "
|
1929 |
msgstr ""
|
1930 |
|
1931 |
-
#:
|
1932 |
-
msgid "
|
1933 |
msgstr ""
|
1934 |
|
1935 |
-
#:
|
1936 |
-
msgid "
|
1937 |
msgstr ""
|
1938 |
|
1939 |
-
#:
|
1940 |
-
msgid "
|
1941 |
msgstr ""
|
1942 |
|
1943 |
-
#:
|
1944 |
-
msgid "%
|
1945 |
msgstr ""
|
1946 |
|
1947 |
-
#:
|
1948 |
-
msgid "
|
1949 |
msgstr ""
|
1950 |
|
1951 |
-
#:
|
1952 |
-
msgid "
|
1953 |
msgstr ""
|
1954 |
|
1955 |
-
#:
|
1956 |
-
msgid "
|
1957 |
msgstr ""
|
1958 |
|
1959 |
-
#:
|
1960 |
-
msgid "
|
1961 |
msgstr ""
|
1962 |
|
1963 |
-
#:
|
1964 |
-
msgid "
|
1965 |
msgstr ""
|
1966 |
|
1967 |
-
#:
|
1968 |
-
msgid "
|
1969 |
msgstr ""
|
1970 |
|
1971 |
-
#:
|
1972 |
-
msgid "
|
1973 |
msgstr ""
|
1974 |
|
1975 |
-
#:
|
1976 |
-
msgid "
|
1977 |
msgstr ""
|
1978 |
|
1979 |
-
#:
|
1980 |
-
msgid "
|
1981 |
msgstr ""
|
1982 |
|
1983 |
-
#:
|
1984 |
-
msgid "
|
1985 |
msgstr ""
|
1986 |
|
1987 |
-
#:
|
1988 |
-
msgid "
|
1989 |
msgstr ""
|
1990 |
|
1991 |
-
#:
|
1992 |
-
msgid "
|
1993 |
msgstr ""
|
1994 |
|
1995 |
-
#:
|
1996 |
-
msgid "
|
1997 |
msgstr ""
|
1998 |
|
1999 |
-
#:
|
2000 |
-
msgid "
|
2001 |
msgstr ""
|
2002 |
|
2003 |
-
#:
|
2004 |
-
msgid "
|
2005 |
msgstr ""
|
2006 |
|
2007 |
-
#:
|
2008 |
-
msgid "
|
|
|
|
|
2009 |
msgstr ""
|
2010 |
|
2011 |
-
#:
|
2012 |
-
msgid "
|
2013 |
msgstr ""
|
2014 |
|
2015 |
-
#. #-#-#-#-# plugin.pot (BackWPup 2.1.1) #-#-#-#-#
|
2016 |
-
#. Plugin Name of the plugin/theme
|
2017 |
#: backwpup-functions.php:4 backwpup-functions.php:265
|
2018 |
#: backwpup-functions.php:488
|
2019 |
msgid "BackWPup"
|
@@ -2064,9 +2011,7 @@ msgid "Flattr"
|
|
2064 |
msgstr ""
|
2065 |
|
2066 |
#: backwpup-functions.php:101
|
2067 |
-
msgid ""
|
2068 |
-
"BackWPup comes with ABSOLUTELY NO WARRANTY. This is free software, and you "
|
2069 |
-
"are welcome to redistribute it under certain conditions."
|
2070 |
msgstr ""
|
2071 |
|
2072 |
#: backwpup-functions.php:246
|
@@ -2145,16 +2090,19 @@ msgstr ""
|
|
2145 |
msgid "- WP-Cron isn't working, please check it!"
|
2146 |
msgstr ""
|
2147 |
|
2148 |
-
#: backwpup-functions.php:
|
2149 |
msgid "New"
|
2150 |
msgstr ""
|
|
|
|
|
|
|
2151 |
|
2152 |
#. Plugin URI of the plugin/theme
|
2153 |
msgid "http://backwpup.com"
|
2154 |
msgstr ""
|
2155 |
|
2156 |
#. Description of the plugin/theme
|
2157 |
-
msgid "
|
2158 |
msgstr ""
|
2159 |
|
2160 |
#. Author of the plugin/theme
|
2 |
# This file is distributed under the same license as the BackWPup package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: BackWPup 2.1.3\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/backwpup\n"
|
7 |
+
"POT-Creation-Date: 2011-08-04 18:37:34+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
+
#: job/file_list.php:5
|
16 |
+
msgid "%d. try for make list of files to backup...."
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: job/file_list.php:66
|
20 |
+
msgid "No files to backup"
|
|
|
|
|
|
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: job/file_list.php:68
|
24 |
+
msgid "%1$d files with %2$s to backup"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: job/file_list.php:93
|
28 |
+
msgid "File or folder \"%s\" is not readable!"
|
29 |
msgstr ""
|
30 |
|
31 |
+
#: job/file_list.php:95
|
32 |
+
msgid "Link \"%s\" not followed"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: job/file_list.php:101
|
36 |
+
msgid "\"%s\" is not a file or directory"
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: job/job_run.php:74
|
40 |
+
msgid "Job restart terminated, bcause old job runs again!"
|
41 |
msgstr ""
|
42 |
|
43 |
+
#: job/job_run.php:77
|
44 |
+
msgid "Job restarted, bcause inactivity!"
|
|
|
|
|
45 |
msgstr ""
|
46 |
|
47 |
+
#: job/job_run.php:79
|
48 |
+
msgid "Second Prozess is running, bcause old job runs! Start type is %s"
|
|
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: job/job_run.php:110
|
52 |
+
msgid "Can not find job step file: %s"
|
53 |
msgstr ""
|
54 |
|
55 |
+
#: job/job_run.php:118
|
56 |
+
msgid "[INFO]: BackWPup version %1$s, WordPress version %4$s Copyright © %2$s %3$s"
|
|
|
57 |
msgstr ""
|
58 |
|
59 |
+
#: job/job_run.php:119
|
60 |
+
msgid "[INFO]: BackWPup comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions."
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: job/job_run.php:120
|
64 |
+
msgid "[INFO]: BackWPup job:"
|
65 |
msgstr ""
|
66 |
|
67 |
+
#: job/job_run.php:122
|
68 |
+
msgid "[INFO]: BackWPup cron:"
|
69 |
msgstr ""
|
70 |
|
71 |
+
#: job/job_run.php:124
|
72 |
+
msgid "[INFO]: BackWPup job strated by cron"
|
73 |
msgstr ""
|
74 |
|
75 |
+
#: job/job_run.php:126
|
76 |
+
msgid "[INFO]: BackWPup job strated manualy"
|
77 |
msgstr ""
|
78 |
|
79 |
+
#: job/job_run.php:127
|
80 |
+
msgid "[INFO]: PHP ver.:"
|
81 |
msgstr ""
|
82 |
|
83 |
+
#: job/job_run.php:129
|
84 |
+
msgid "[INFO]: PHP Safe mode is ON! Maximum script execution time is %1$d sec."
|
|
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: job/job_run.php:130
|
88 |
+
msgid "[INFO]: MySQL ver.:"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: job/job_run.php:133
|
92 |
+
msgid "[INFO]: curl ver.:"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: job/job_run.php:135
|
96 |
+
msgid "[INFO]: Temp folder is:"
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: job/job_run.php:137
|
100 |
+
msgid "[INFO]: Backup file is:"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: job/job_run.php:148
|
104 |
+
msgid "No destination defineid for backup!!! Please correct job settings"
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: job/job_run.php:170
|
108 |
+
msgid "Step arborted has too many trys!"
|
109 |
msgstr ""
|
110 |
|
111 |
+
#: job/job_run.php:172
|
112 |
+
msgid "Can not find job step function %s!"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: job/dest_msazure.php:5
|
116 |
+
msgid "%d. try sending backup to a Microsoft Azure (Blob)..."
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: job/dest_msazure.php:14
|
120 |
+
msgid "Microsoft Azure container \"%s\" not exists!"
|
|
|
|
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: job/dest_msazure.php:17
|
124 |
+
msgid "Connected to Microsoft Azure container \"%s\""
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: job/dest_msazure.php:20
|
128 |
+
msgid "Upload to MS Azure now started... "
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: job/dest_msazure.php:26 job/dest_dropbox.php:49 job/dest_sugarsync.php:37
|
132 |
+
#: job/dest_s3.php:32 job/dest_gstorage.php:29
|
133 |
+
msgid "Backup transferred to %s"
|
134 |
msgstr ""
|
135 |
|
136 |
+
#: job/dest_msazure.php:29
|
137 |
+
msgid "Can not transfer backup to Microsoft Azure!"
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: job/dest_msazure.php:50
|
141 |
+
msgid "One file deleted on Microsoft Azure container"
|
142 |
+
msgid_plural "%d files deleted on Microsoft Azure container"
|
143 |
+
msgstr[0] ""
|
144 |
+
msgstr[1] ""
|
145 |
|
146 |
+
#: job/dest_msazure.php:55
|
147 |
+
msgid "Microsoft Azure API: %s"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: job/backup_create.php:13
|
151 |
+
msgid "%d. try to create backup zip archive..."
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: job/backup_create.php:18
|
155 |
+
msgid "Can not add \"%s\" to zip archive!"
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: job/backup_create.php:25
|
159 |
+
msgid "(4) ER_SEEK"
|
160 |
msgstr ""
|
161 |
|
162 |
+
#: job/backup_create.php:27
|
163 |
+
msgid "(5) ER_READ"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: job/backup_create.php:29
|
167 |
+
msgid "(9) ER_NOENT"
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: job/backup_create.php:31
|
171 |
+
msgid "(10) ER_EXISTS"
|
|
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: job/backup_create.php:33
|
175 |
+
msgid "(11) ER_OPEN"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: job/backup_create.php:35
|
179 |
+
msgid "(14) ER_MEMORY"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: job/backup_create.php:37
|
183 |
+
msgid "(18) ER_INVAL"
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: job/backup_create.php:39
|
187 |
+
msgid "(19) ER_NOZIP"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: job/backup_create.php:41
|
191 |
+
msgid "(21) ER_INCONS"
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: job/backup_create.php:42
|
195 |
+
msgid "Zip returns status: %s"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: job/backup_create.php:46
|
199 |
+
msgid "Backup zip archive create done!"
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: job/backup_create.php:49
|
203 |
+
msgid "Can not create backup zip archive $s!"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: job/backup_create.php:56
|
207 |
+
msgid "%d. try to create backup zip (PclZip) archive..."
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: job/backup_create.php:65
|
211 |
+
msgid "Zip archive create error: %s"
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: job/backup_create.php:69
|
215 |
+
msgid "Backup zip archive create done"
|
|
|
|
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: job/backup_create.php:84
|
219 |
+
msgid "Can not create tar arcive file!"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: job/backup_create.php:87
|
223 |
+
msgid "%1$d. try to create %2$s archive file..."
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: job/backup_create.php:95
|
227 |
+
msgid "File \"%s\" not readable!"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: job/backup_create.php:110
|
231 |
+
msgid "File name \"%1$s\" to long to save corectly in %2$s archive!"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: job/backup_create.php:112
|
235 |
+
msgid "File path \"%1$s\" to long to save corectly in %2$s archive!"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: job/backup_create.php:189
|
239 |
+
msgid "%s archive creation done"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: job/backup_create.php:193
|
243 |
+
msgid "Archive size is %s"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: job/backup_create.php:200
|
247 |
+
msgid "PCL ZIP Error \"%1$s\" on file %2$s!"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: job/job_functions.php:34 job/job_functions.php:47 job/db_optimize.php:12
|
251 |
+
#: job/db_optimize.php:27 job/db_check.php:12 job/db_check.php:28
|
252 |
+
#: job/db_check.php:43 job/db_dump.php:12 job/db_dump.php:24
|
253 |
+
#: job/db_dump.php:107 job/db_dump.php:117
|
254 |
+
msgid "Database error %1$s for query %2$s"
|
255 |
msgstr ""
|
256 |
|
257 |
+
#: job/job_functions.php:107
|
258 |
+
msgid "Memory increased from %1$s to %2$s"
|
259 |
msgstr ""
|
260 |
|
261 |
+
#: job/job_functions.php:109
|
262 |
+
msgid "Can not increase memory limit is %1$s"
|
263 |
msgstr ""
|
264 |
|
265 |
+
#: job/job_functions.php:118
|
266 |
+
msgid "Set Blog to maintenance mode"
|
267 |
msgstr ""
|
268 |
|
269 |
+
#: job/job_functions.php:132
|
270 |
+
msgid "Cannot set Blog to maintenance mode! Root folder is not writeable!"
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: job/job_functions.php:135
|
274 |
+
msgid "Set Blog to normal mode"
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: job/job_functions.php:210
|
278 |
+
msgid "No MySQL connection: %s"
|
279 |
msgstr ""
|
280 |
|
281 |
+
#: job/job_functions.php:225
|
282 |
+
msgid "No MySQL connection to database: %s"
|
283 |
msgstr ""
|
284 |
|
285 |
+
#: job/job_functions.php:249
|
286 |
+
msgid "[WARNING]"
|
287 |
msgstr ""
|
288 |
|
289 |
+
#: job/job_functions.php:255
|
290 |
+
msgid "[ERROR]"
|
291 |
msgstr ""
|
292 |
|
293 |
+
#: job/job_functions.php:259
|
294 |
+
msgid "[DEPRECATED]"
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: job/job_functions.php:262
|
298 |
+
msgid "[STRICT NOTICE]"
|
299 |
msgstr ""
|
300 |
|
301 |
+
#: job/job_functions.php:265
|
302 |
+
msgid "[RECOVERABLE ERROR]"
|
303 |
+
msgstr ""
|
|
|
|
|
304 |
|
305 |
+
#: job/job_functions.php:342
|
306 |
+
msgid "One old log deleted"
|
307 |
+
msgid_plural "%d old logs deleted"
|
308 |
msgstr[0] ""
|
309 |
msgstr[1] ""
|
310 |
|
311 |
+
#: job/job_functions.php:346
|
312 |
+
msgid "Job done in %s sec."
|
313 |
msgstr ""
|
314 |
|
315 |
+
#: job/job_functions.php:446
|
316 |
+
msgid "Jobname: %s"
|
317 |
msgstr ""
|
318 |
|
319 |
+
#: job/job_functions.php:447
|
320 |
+
msgid "Jobtype: %s"
|
|
|
|
|
|
|
321 |
msgstr ""
|
322 |
|
323 |
+
#: job/job_functions.php:449
|
324 |
+
msgid "Errors: %d"
|
325 |
msgstr ""
|
326 |
|
327 |
+
#: job/job_functions.php:451
|
328 |
+
msgid "Warnings: %d"
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: job/job_functions.php:456
|
332 |
+
msgid "BackWPup log from %1$s: %2$s"
|
|
|
|
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: job/job_functions.php:481
|
336 |
+
msgid "To many restarts...."
|
337 |
msgstr ""
|
338 |
|
339 |
+
#: job/job_functions.php:500
|
340 |
+
msgid "Signal $d send to script!"
|
341 |
msgstr ""
|
342 |
|
343 |
+
#: job/job_functions.php:522
|
344 |
+
msgid "Script stop! Will started again now!"
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: job/dest_folder.php:25
|
348 |
+
msgid "One backup file deleted"
|
349 |
+
msgid_plural "%d backup files deleted"
|
350 |
+
msgstr[0] ""
|
351 |
+
msgstr[1] ""
|
352 |
|
353 |
+
#: job/dest_dropbox.php:6
|
354 |
+
msgid "%d. Try to sending backup file to DropBox..."
|
355 |
msgstr ""
|
356 |
|
357 |
+
#: job/dest_dropbox.php:19
|
358 |
+
msgid "No supported DropDox oauth class found!"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: job/dest_dropbox.php:28
|
362 |
+
msgid "Authed with DropBox from %s"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: job/dest_dropbox.php:33
|
366 |
+
msgid "No free space left on DropBox!!!"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: job/dest_dropbox.php:37
|
370 |
+
msgid "%s free on DropBox"
|
371 |
msgstr ""
|
372 |
|
373 |
+
#: job/dest_dropbox.php:42
|
374 |
+
msgid "Upload to DropBox now started... "
|
375 |
msgstr ""
|
376 |
|
377 |
+
#: job/dest_dropbox.php:54 job/dest_dropbox.php:79
|
378 |
+
msgid "DropBox API: %s"
|
379 |
msgstr ""
|
380 |
|
381 |
+
#: job/dest_dropbox.php:75
|
382 |
+
msgid "One file deleted on DropBox"
|
383 |
+
msgid_plural "%d files deleted on DropBox"
|
384 |
+
msgstr[0] ""
|
385 |
+
msgstr[1] ""
|
386 |
|
387 |
+
#: job/wp_export.php:11
|
388 |
+
msgid "%d. try for wordpress export to XML file..."
|
389 |
msgstr ""
|
390 |
|
391 |
+
#: job/wp_export.php:40 job/wp_export.php:42
|
392 |
+
msgid "cURL:"
|
393 |
msgstr ""
|
394 |
|
395 |
+
#: job/wp_export.php:83
|
396 |
+
msgid "Add XML export \"%1$s\" to backup list with %2$s"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: job/job_start.php:15
|
400 |
+
msgid "A job already running!"
|
401 |
msgstr ""
|
402 |
|
403 |
+
#: job/job_start.php:24
|
404 |
+
msgid "Can not create temp folder: %s"
|
405 |
msgstr ""
|
406 |
|
407 |
+
#: job/job_start.php:29
|
408 |
+
msgid "Temp dir not writeable"
|
409 |
msgstr ""
|
410 |
|
411 |
+
#: job/job_start.php:116
|
412 |
+
msgid "Can not create folder for log files: %s"
|
413 |
msgstr ""
|
414 |
|
415 |
+
#: job/job_start.php:131
|
416 |
+
msgid "Log folder not writeable!"
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: job/job_start.php:155
|
420 |
+
msgid "BackWPup log for %1$s from %2$s at %3$s"
|
421 |
msgstr ""
|
422 |
|
423 |
+
#: job/job_start.php:183
|
424 |
+
msgid "Can not create folder for backups: %1$s"
|
425 |
msgstr ""
|
426 |
|
427 |
+
#: job/job_start.php:200
|
428 |
+
msgid "Backup folder not writeable!"
|
429 |
msgstr ""
|
430 |
|
431 |
+
#: job/db_optimize.php:4
|
432 |
+
msgid "%d. try for database optimize..."
|
433 |
msgstr ""
|
434 |
|
435 |
+
#: job/db_optimize.php:34 job/db_optimize.php:36 job/db_optimize.php:38
|
436 |
+
msgid "Result of table optimize for %1$s is: %2$s"
|
|
|
|
|
437 |
msgstr ""
|
438 |
|
439 |
+
#: job/db_optimize.php:40
|
440 |
+
msgid "Database optimize done!"
|
441 |
msgstr ""
|
442 |
|
443 |
+
#: job/db_optimize.php:43
|
444 |
+
msgid "No tables to optimize"
|
445 |
msgstr ""
|
446 |
|
447 |
+
#: job/dest_rsc.php:4
|
448 |
+
msgid "Try to sending backup file to Rackspace Cloud..."
|
449 |
msgstr ""
|
450 |
|
451 |
+
#: job/dest_rsc.php:13
|
452 |
+
msgid "Connected to Rackspase ..."
|
453 |
msgstr ""
|
454 |
|
455 |
+
#: job/dest_rsc.php:29 job/dest_rsc.php:63 job/dest_rsc.php:92
|
456 |
+
msgid "Rackspase Cloud API:"
|
457 |
msgstr ""
|
458 |
|
459 |
+
#: job/dest_rsc.php:34
|
460 |
+
msgid "Rackspase Cloud Container not exists:"
|
461 |
msgstr ""
|
462 |
|
463 |
+
#: job/dest_rsc.php:53
|
464 |
+
msgid "Upload to RSC now started ... "
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: job/dest_rsc.php:57
|
468 |
+
msgid "Backup File transferred to RSC://"
|
469 |
msgstr ""
|
470 |
|
471 |
+
#: job/dest_rsc.php:60
|
472 |
+
msgid "Can not transfer backup to RSC."
|
473 |
msgstr ""
|
474 |
|
475 |
+
#: job/dest_rsc.php:85
|
476 |
+
msgid "Can not delete file on RSC://"
|
477 |
msgstr ""
|
478 |
|
479 |
+
#: job/dest_rsc.php:88
|
480 |
+
msgid "One file deleted on RSC container"
|
481 |
+
msgid_plural "%d files deleted on RSC container"
|
482 |
+
msgstr[0] ""
|
483 |
+
msgstr[1] ""
|
484 |
|
485 |
+
#: job/dest_sugarsync.php:6
|
486 |
+
msgid "%d. try sending backup to SugarSync..."
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: job/dest_sugarsync.php:15
|
490 |
+
msgid "Authed to SugarSync with Nick %s"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: job/dest_sugarsync.php:19
|
494 |
+
msgid "No free space left on SugarSync!!!"
|
|
|
|
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: job/dest_sugarsync.php:24
|
498 |
+
msgid "%s free on SugarSync"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: job/dest_sugarsync.php:31
|
502 |
+
msgid "Upload to SugarSync now started... "
|
503 |
msgstr ""
|
504 |
|
505 |
+
#: job/dest_sugarsync.php:39
|
506 |
+
msgid "Can not transfer backup to SugarSync!"
|
507 |
msgstr ""
|
508 |
|
509 |
+
#: job/dest_sugarsync.php:62
|
510 |
+
msgid "One file deleted on SugarSync folder"
|
511 |
+
msgid_plural "%d files deleted on SugarSync folder"
|
512 |
+
msgstr[0] ""
|
513 |
+
msgstr[1] ""
|
514 |
|
515 |
+
#: job/dest_sugarsync.php:66
|
516 |
+
msgid "SugarSync API: %s"
|
517 |
msgstr ""
|
518 |
|
519 |
+
#: job/dest_s3.php:4
|
520 |
+
msgid "%d. try sending backup file to Amazon S3..."
|
521 |
msgstr ""
|
522 |
|
523 |
+
#: job/dest_s3.php:14
|
524 |
+
msgid "Connected to S3 Bucket: %s"
|
|
|
525 |
msgstr ""
|
526 |
|
527 |
+
#: job/dest_s3.php:26
|
528 |
+
msgid "Upload to Amazon S3 now started... "
|
529 |
msgstr ""
|
530 |
|
531 |
+
#: job/dest_s3.php:35
|
532 |
+
msgid "Can not transfer backup to S3! (%1$d) %2$s"
|
533 |
msgstr ""
|
534 |
|
535 |
+
#: job/dest_s3.php:38
|
536 |
+
msgid "S3 Bucket \"%s\" not exists!"
|
537 |
msgstr ""
|
538 |
|
539 |
+
#: job/dest_s3.php:41 job/dest_s3.php:70
|
540 |
+
msgid "Amazon API: %s"
|
541 |
msgstr ""
|
542 |
|
543 |
+
#: job/dest_s3.php:62
|
544 |
+
msgid "Can not delete backup on S3://%s"
|
|
|
|
|
545 |
msgstr ""
|
546 |
|
547 |
+
#: job/dest_s3.php:65
|
548 |
+
msgid "One file deleted on S3 Bucket"
|
549 |
+
msgid_plural "%d files deleted on S3 Bucket"
|
550 |
+
msgstr[0] ""
|
551 |
+
msgstr[1] ""
|
552 |
+
|
553 |
+
#: job/dest_mail.php:6
|
554 |
+
msgid "%d. try to sending backup with mail..."
|
555 |
msgstr ""
|
556 |
|
557 |
+
#: job/dest_mail.php:22
|
558 |
+
msgid "Send mail with SMTP"
|
|
|
|
|
559 |
msgstr ""
|
560 |
|
561 |
+
#: job/dest_mail.php:26
|
562 |
+
msgid "Send mail with Sendmail"
|
563 |
msgstr ""
|
564 |
|
565 |
+
#: job/dest_mail.php:29
|
566 |
+
msgid "Send mail with PHP mail"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
567 |
msgstr ""
|
568 |
|
569 |
+
#: job/dest_mail.php:32
|
570 |
+
msgid "Creating mail"
|
571 |
msgstr ""
|
572 |
|
573 |
+
#: job/dest_mail.php:36
|
574 |
+
msgid "BackWPup archive from %1$s: %2$s"
|
575 |
msgstr ""
|
576 |
|
577 |
+
#: job/dest_mail.php:38
|
578 |
+
msgid "Backup archive: %s"
|
|
|
|
|
579 |
msgstr ""
|
580 |
|
581 |
+
#: job/dest_mail.php:44
|
582 |
+
msgid "Backup archive too big for sending by mail!"
|
|
|
583 |
msgstr ""
|
584 |
|
585 |
+
#: job/dest_mail.php:51
|
586 |
+
msgid "Adding backup archive to mail"
|
|
|
587 |
msgstr ""
|
588 |
|
589 |
+
#: job/dest_mail.php:55
|
590 |
+
msgid "Send mail...."
|
591 |
msgstr ""
|
592 |
|
593 |
+
#: job/dest_mail.php:58
|
594 |
+
msgid "Error \"%s\" on sending mail!"
|
|
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: job/dest_mail.php:61
|
598 |
+
msgid "Mail send!!!"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: job/db_check.php:4
|
602 |
+
msgid "%d. try for database check..."
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: job/db_check.php:33 job/db_check.php:35 job/db_check.php:37
|
606 |
+
msgid "Result of table check for %1$s is: %2$s"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: job/db_check.php:48 job/db_check.php:50 job/db_check.php:52
|
610 |
+
msgid "Result of table repair for %1$s is: %2$s"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: job/db_check.php:58
|
614 |
+
msgid "Database check done!"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: job/db_check.php:60
|
618 |
+
msgid "No tables to check"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: job/dest_gstorage.php:4
|
622 |
+
msgid "%d. try sending backup to Google Storage..."
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: job/dest_gstorage.php:16
|
626 |
+
msgid "Connected to GStorage Bucket: %s"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: job/dest_gstorage.php:23
|
630 |
+
msgid "Upload to GStorage now started... "
|
|
|
|
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: job/dest_gstorage.php:32
|
634 |
+
msgid "Can not transfer backup to GStorage! (%1$d) %2$s"
|
|
|
|
|
|
|
635 |
msgstr ""
|
636 |
|
637 |
+
#: job/dest_gstorage.php:35
|
638 |
+
msgid "GStorage Bucket \"%s\" not exists!"
|
639 |
msgstr ""
|
640 |
|
641 |
+
#: job/dest_gstorage.php:38 job/dest_gstorage.php:67
|
642 |
+
#: pages/header_backwpupbackups.php:50 pages/func_backwpupbackups.php:394
|
643 |
+
msgid "GStorage API: %s"
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: job/dest_gstorage.php:59
|
647 |
+
msgid "Can not delete backup on GStorage://%s"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: job/dest_gstorage.php:62
|
651 |
+
msgid "One file deleted on GStorage Bucket"
|
652 |
+
msgid_plural "%d files deleted on GStorage Bucket"
|
653 |
+
msgstr[0] ""
|
654 |
+
msgstr[1] ""
|
655 |
|
656 |
+
#: job/db_dump.php:4
|
657 |
+
msgid "%d. try for database dump..."
|
658 |
msgstr ""
|
659 |
|
660 |
+
#: job/db_dump.php:56
|
661 |
+
msgid "Dump database table \"%s\""
|
|
|
|
|
|
|
|
|
662 |
msgstr ""
|
663 |
|
664 |
+
#: job/db_dump.php:73
|
665 |
+
msgid "Database dump done!"
|
666 |
msgstr ""
|
667 |
|
668 |
+
#: job/db_dump.php:75
|
669 |
+
msgid "Can not create database dump!"
|
670 |
msgstr ""
|
671 |
|
672 |
+
#: job/db_dump.php:78
|
673 |
+
msgid "No tables to dump"
|
674 |
msgstr ""
|
675 |
|
676 |
+
#: job/db_dump.php:84
|
677 |
+
msgid "Add database dump \"%1$s\" with %2$s to backup file list"
|
678 |
msgstr ""
|
679 |
|
680 |
+
#: job/dest_ftp.php:9
|
681 |
+
msgid "%d. try to sending backup file to a FTP Server..."
|
682 |
msgstr ""
|
683 |
|
684 |
+
#: job/dest_ftp.php:17
|
685 |
+
msgid "Connected by SSL-FTP to Server: %s"
|
686 |
msgstr ""
|
687 |
|
688 |
+
#: job/dest_ftp.php:19
|
689 |
+
msgid "Can not connect by SSL-FTP to Server: %s"
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: job/dest_ftp.php:23
|
693 |
+
msgid "PHP function to connect with SSL-FTP to server not exists!"
|
694 |
msgstr ""
|
695 |
|
696 |
+
#: job/dest_ftp.php:29
|
697 |
+
msgid "Connected to FTP server: %s"
|
698 |
msgstr ""
|
699 |
|
700 |
+
#: job/dest_ftp.php:31
|
701 |
+
msgid "Can not connect to FTP server: %s"
|
702 |
msgstr ""
|
703 |
|
704 |
+
#: job/dest_ftp.php:38 job/dest_ftp.php:45 job/dest_ftp.php:57
|
705 |
+
#: job/dest_ftp.php:70
|
706 |
+
msgid "FTP Client command: %s"
|
707 |
msgstr ""
|
708 |
|
709 |
+
#: job/dest_ftp.php:40 job/dest_ftp.php:43 job/dest_ftp.php:47
|
710 |
+
#: job/dest_ftp.php:60 job/dest_ftp.php:62 job/dest_ftp.php:65
|
711 |
+
#: job/dest_ftp.php:67 job/dest_ftp.php:73 job/dest_ftp.php:75
|
712 |
+
msgid "FTP Server reply: %s"
|
713 |
msgstr ""
|
714 |
|
715 |
+
#: job/dest_ftp.php:60
|
716 |
+
msgid "Entering Passive Mode"
|
717 |
msgstr ""
|
718 |
|
719 |
+
#: job/dest_ftp.php:62
|
720 |
+
msgid "Can not Entering Passive Mode"
|
721 |
msgstr ""
|
722 |
|
723 |
+
#: job/dest_ftp.php:65
|
724 |
+
msgid "Entering Normal Mode"
|
|
|
725 |
msgstr ""
|
726 |
|
727 |
+
#: job/dest_ftp.php:67
|
728 |
+
msgid "Can not Entering Normal Mode"
|
729 |
msgstr ""
|
730 |
|
731 |
+
#: job/dest_ftp.php:75
|
732 |
+
msgid "Error getting SYSTYPE"
|
733 |
msgstr ""
|
734 |
|
735 |
+
#: job/dest_ftp.php:85
|
736 |
+
msgid "FTP Folder \"%s\" created!"
|
737 |
msgstr ""
|
738 |
|
739 |
+
#: job/dest_ftp.php:88
|
740 |
+
msgid "FTP Folder \"%s\" can not created!"
|
|
|
|
|
741 |
msgstr ""
|
742 |
|
743 |
+
#: job/dest_ftp.php:93
|
744 |
+
msgid "Upload to FTP now started ... "
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: job/dest_ftp.php:97
|
748 |
+
msgid "Backup transferred to FTP server: %s"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: job/dest_ftp.php:100
|
752 |
+
msgid "Can not transfer backup to FTP server!"
|
753 |
msgstr ""
|
754 |
|
755 |
+
#: job/dest_ftp.php:117
|
756 |
+
msgid "Can not delete \"%s\" on FTP server!"
|
757 |
msgstr ""
|
758 |
|
759 |
+
#: job/dest_ftp.php:120
|
760 |
+
msgid "One file deleted on FTP Server"
|
761 |
+
msgid_plural "%d files deleted on FTP Server"
|
762 |
+
msgstr[0] ""
|
763 |
+
msgstr[1] ""
|
764 |
|
765 |
+
#: pages/page_backwpupbackups.php:8
|
766 |
+
msgid "BackWPup Manage Backups"
|
767 |
msgstr ""
|
768 |
|
769 |
+
#: pages/tools/db_restore.php:34 pages/tools/db_restore.php:53
|
770 |
+
#: pages/tools/db_restore.php:68 pages/tools/db_restore.php:79
|
771 |
+
#: pages/tools/db_restore.php:82 pages/tools/db_restore.php:85
|
772 |
+
#: pages/tools/db_restore.php:90
|
773 |
+
msgid "ERROR:"
|
774 |
msgstr ""
|
775 |
|
776 |
+
#: pages/tools/db_restore.php:34
|
777 |
+
msgid "Pleace set <i>$table_prefix = '%1$s';</i> in wp-config.php"
|
778 |
msgstr ""
|
779 |
|
780 |
+
#: pages/tools/db_restore.php:53
|
781 |
+
msgid "Pleace set <i>define('DB_CHARSET', '%1$s');</i> in wp-config.php"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: pages/tools/db_restore.php:68 pages/tools/db_restore.php:79
|
785 |
+
#: pages/tools/db_restore.php:82 pages/tools/db_restore.php:85
|
786 |
+
#: pages/tools/db_restore.php:90
|
787 |
+
msgid "BackWPup database error %1$s for query %2$s"
|
788 |
msgstr ""
|
789 |
|
790 |
+
#: pages/tools/db_restore.php:74
|
791 |
+
msgid "%1$s Database Querys done."
|
792 |
msgstr ""
|
793 |
|
794 |
+
#: pages/tools/db_restore.php:75
|
795 |
+
msgid "Make changes for Blogurl and ABSPATH if needed."
|
796 |
msgstr ""
|
797 |
|
798 |
+
#: pages/tools/db_restore.php:92
|
799 |
+
msgid "Restore Done. Please delete the SQL file after restoring."
|
800 |
msgstr ""
|
801 |
|
802 |
+
#: pages/page_backwpuplogs.php:8 backwpup-functions.php:477
|
803 |
+
msgid "BackWPup Logs"
|
|
|
|
|
804 |
msgstr ""
|
805 |
|
806 |
+
#: pages/func_backwpuplogs.php:68
|
807 |
+
msgid "No Logs."
|
808 |
msgstr ""
|
809 |
|
810 |
+
#: pages/func_backwpuplogs.php:73 pages/func_backwpuplogs.php:127
|
811 |
+
#: pages/func_backwpup.php:47 pages/func_backwpup.php:103
|
812 |
+
#: pages/func_backwpupeditjob.php:25 pages/func_backwpupbackups.php:130
|
813 |
+
#: pages/func_backwpupbackups.php:227
|
814 |
+
msgid "Delete"
|
815 |
msgstr ""
|
816 |
|
817 |
+
#: pages/func_backwpuplogs.php:80
|
818 |
+
msgid "Job"
|
819 |
msgstr ""
|
820 |
|
821 |
+
#: pages/func_backwpuplogs.php:81 pages/func_backwpup.php:57
|
822 |
+
#: pages/func_backwpupeditjob.php:171
|
823 |
+
msgid "Type"
|
824 |
msgstr ""
|
825 |
|
826 |
+
#: pages/func_backwpuplogs.php:82
|
827 |
+
msgid "Backup/Log Date/Time"
|
828 |
msgstr ""
|
829 |
|
830 |
+
#: pages/func_backwpuplogs.php:83
|
831 |
+
msgid "Status"
|
832 |
msgstr ""
|
833 |
|
834 |
+
#: pages/func_backwpuplogs.php:84 pages/func_backwpupbackups.php:184
|
835 |
+
msgid "Size"
|
836 |
msgstr ""
|
837 |
|
838 |
+
#: pages/func_backwpuplogs.php:85
|
839 |
+
msgid "Runtime"
|
840 |
msgstr ""
|
841 |
|
842 |
+
#: pages/func_backwpuplogs.php:124
|
843 |
+
msgid "View log"
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: pages/func_backwpuplogs.php:126
|
847 |
+
msgid "View"
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: pages/func_backwpuplogs.php:128 pages/func_backwpup.php:149
|
851 |
+
#: pages/func_backwpupbackups.php:228
|
852 |
+
msgid "Download"
|
853 |
msgstr ""
|
854 |
|
855 |
+
#: pages/func_backwpuplogs.php:135 backwpup-functions.php:399
|
856 |
+
msgid "%d ERROR"
|
857 |
+
msgid_plural "%d ERRORS"
|
858 |
+
msgstr[0] ""
|
859 |
+
msgstr[1] ""
|
860 |
|
861 |
+
#: pages/func_backwpuplogs.php:137 backwpup-functions.php:401
|
862 |
+
msgid "%d WARNING"
|
863 |
+
msgid_plural "%d WARNINGS"
|
864 |
+
msgstr[0] ""
|
865 |
+
msgstr[1] ""
|
866 |
+
|
867 |
+
#: pages/func_backwpuplogs.php:139 backwpup-functions.php:403
|
868 |
+
msgid "O.K."
|
869 |
msgstr ""
|
870 |
|
871 |
+
#: pages/func_backwpuplogs.php:147
|
872 |
+
msgid "only Log"
|
873 |
msgstr ""
|
874 |
|
875 |
+
#: pages/func_backwpuplogs.php:153 pages/func_backwpup.php:128
|
876 |
+
#: pages/func_backwpup.php:144 pages/page_backwpupsettings.php:125
|
877 |
+
#: pages/page_backwpupsettings.php:131
|
878 |
+
msgid "sec."
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: pages/header_backwpupworking.php:12
|
882 |
+
msgid "A job alredy running!!! Pleace try again if its done."
|
883 |
msgstr ""
|
884 |
|
885 |
+
#: pages/header_backwpupworking.php:24
|
886 |
+
msgid "A job is running!!!"
|
887 |
msgstr ""
|
888 |
|
889 |
+
#: pages/header_backwpupworking.php:28
|
890 |
+
msgid "Nothing..."
|
891 |
msgstr ""
|
892 |
|
893 |
+
#: pages/header_backwpupworking.php:33
|
894 |
+
msgid "Here you see working jobs or logfiles"
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: pages/page_backwpupworking.php:9
|
898 |
+
msgid "BackWPup Working"
|
899 |
msgstr ""
|
900 |
|
901 |
+
#: pages/page_backwpupworking.php:29
|
902 |
+
msgid "Warnings:"
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: pages/page_backwpupworking.php:33
|
906 |
+
msgid "Errors:"
|
907 |
msgstr ""
|
908 |
|
909 |
+
#: pages/page_backwpup.php:8
|
910 |
+
msgid "BackWPup Jobs"
|
911 |
msgstr ""
|
912 |
|
913 |
+
#: pages/page_backwpup.php:8 pages/page_backwpupeditjob.php:28
|
914 |
+
#: backwpup-functions.php:7
|
915 |
+
msgid "Add New"
|
916 |
msgstr ""
|
917 |
|
918 |
+
#: pages/page_backwpuptools.php:8
|
919 |
+
msgid "BackWPup Tools"
|
920 |
msgstr ""
|
921 |
|
922 |
+
#: pages/page_backwpuptools.php:15
|
923 |
+
msgid "Database restore"
|
924 |
msgstr ""
|
925 |
|
926 |
+
#: pages/page_backwpuptools.php:18
|
927 |
+
msgid "DB Restore"
|
928 |
msgstr ""
|
929 |
|
930 |
+
#: pages/page_backwpuptools.php:21 pages/page_backwpuptools.php:40
|
931 |
+
msgid "Restore"
|
932 |
msgstr ""
|
933 |
|
934 |
+
#: pages/page_backwpuptools.php:37
|
935 |
+
msgid "SQL File to restore:"
|
936 |
msgstr ""
|
937 |
|
938 |
+
#: pages/page_backwpuptools.php:43
|
939 |
+
msgid "Copy SQL file to blog root folder to use for a restoring."
|
940 |
msgstr ""
|
941 |
|
942 |
+
#: pages/page_backwpuptools.php:51
|
943 |
+
msgid "Import Jobs settings"
|
944 |
msgstr ""
|
945 |
|
946 |
+
#: pages/page_backwpuptools.php:54
|
947 |
+
msgid "Select file to import:"
|
948 |
msgstr ""
|
949 |
|
950 |
+
#: pages/page_backwpuptools.php:56 pages/page_backwpuptools.php:61
|
951 |
+
msgid "Upload"
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: pages/page_backwpuptools.php:62
|
955 |
+
msgid "Select jobs to import"
|
956 |
msgstr ""
|
957 |
|
958 |
+
#: pages/page_backwpuptools.php:66
|
959 |
+
msgid "Import Type"
|
960 |
msgstr ""
|
961 |
|
962 |
+
#: pages/page_backwpuptools.php:66
|
963 |
+
msgid "No Import"
|
964 |
msgstr ""
|
965 |
|
966 |
+
#: pages/page_backwpuptools.php:68
|
967 |
+
msgid "Overwrite"
|
|
|
|
|
|
|
968 |
msgstr ""
|
969 |
|
970 |
+
#: pages/page_backwpuptools.php:68
|
971 |
+
msgid "Append"
|
972 |
msgstr ""
|
973 |
|
974 |
+
#: pages/page_backwpuptools.php:70 pages/page_backwpuptools.php:75
|
975 |
+
#: pages/page_backwpuptools.php:77 pages/page_backwpuptools.php:78
|
976 |
+
msgid "Import"
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: pages/page_backwpuptools.php:114
|
980 |
+
msgid "Jobs imported!"
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: pages/header_backwpupsettings.php:54
|
984 |
+
msgid "Settings saved"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: pages/header_backwpuplogs.php:59
|
988 |
+
msgid "Here you can manage the log files of the jobs. You can download, view, or delete them."
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: pages/header_backwpuplogs.php:61 pages/header_backwpupbackups.php:328
|
992 |
+
#: pages/page_backwpupsettings.php:79 backwpup-functions.php:11
|
993 |
+
#: backwpup-functions.php:492
|
994 |
+
msgid "Logs"
|
995 |
msgstr ""
|
996 |
|
997 |
+
#: pages/header_backwpupbackups.php:141 pages/func_backwpupbackups.php:492
|
998 |
+
msgid "Login failure!"
|
999 |
msgstr ""
|
1000 |
|
1001 |
+
#: pages/header_backwpupbackups.php:326
|
1002 |
+
msgid "Here you see a list of backup files. Change the destionation to jobname:destination to become a list of backups from other destinations and jobs. Then you kann delete or download backup files."
|
1003 |
msgstr ""
|
1004 |
|
1005 |
+
#: pages/func_backwpup.php:41
|
1006 |
+
msgid "No Jobs."
|
1007 |
msgstr ""
|
1008 |
|
1009 |
+
#: pages/func_backwpup.php:46 pages/func_backwpup.php:102
|
1010 |
+
msgid "Export"
|
1011 |
msgstr ""
|
1012 |
|
1013 |
+
#: pages/func_backwpup.php:55
|
1014 |
+
msgid "ID"
|
1015 |
msgstr ""
|
1016 |
|
1017 |
+
#: pages/func_backwpup.php:56
|
1018 |
+
msgid "Job Name"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
+
#: pages/func_backwpup.php:58
|
1022 |
+
msgid "Information"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
+
#: pages/func_backwpup.php:59
|
1026 |
+
msgid "Next Run"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
+
#: pages/func_backwpup.php:60
|
1030 |
+
msgid "Last Run"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: pages/func_backwpup.php:97
|
1034 |
+
msgid "Edit:"
|
|
|
|
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: pages/func_backwpup.php:100
|
1038 |
+
msgid "Edit"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
+
#: pages/func_backwpup.php:101
|
1042 |
+
msgid "Copy"
|
|
|
|
|
1043 |
msgstr ""
|
1044 |
|
1045 |
+
#: pages/func_backwpup.php:104
|
1046 |
+
msgid "Run Now"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
+
#: pages/func_backwpup.php:107 backwpup-functions.php:456
|
1050 |
+
msgid "View!"
|
1051 |
msgstr ""
|
1052 |
|
1053 |
+
#: pages/func_backwpup.php:108 backwpup-functions.php:457
|
1054 |
+
msgid "Abort!"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
+
#: pages/func_backwpup.php:128
|
1058 |
+
msgid "Running since:"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
+
#: pages/func_backwpup.php:132
|
1062 |
+
msgid "Inactive"
|
1063 |
msgstr ""
|
1064 |
|
1065 |
+
#: pages/func_backwpup.php:135
|
1066 |
+
msgid "<a href=\"http://wikipedia.org/wiki/Cron\" target=\"_blank\">Cron</a>:"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
+
#: pages/func_backwpup.php:144
|
1070 |
+
msgid "Runtime:"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
+
#: pages/func_backwpup.php:146
|
1074 |
+
msgid "None"
|
1075 |
msgstr ""
|
1076 |
|
1077 |
+
#: pages/func_backwpup.php:149
|
1078 |
+
msgid "Download last Backup"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
+
#: pages/func_backwpup.php:151
|
1082 |
+
msgid "View last Log"
|
1083 |
msgstr ""
|
1084 |
|
1085 |
+
#: pages/func_backwpup.php:151
|
1086 |
+
msgid "Log"
|
1087 |
msgstr ""
|
1088 |
|
1089 |
+
#: pages/func_backwpup.php:240
|
1090 |
+
msgid "DB Size:"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
+
#: pages/func_backwpup.php:242
|
1094 |
+
msgid "DB Tables:"
|
1095 |
msgstr ""
|
1096 |
|
1097 |
+
#: pages/func_backwpup.php:243
|
1098 |
+
msgid "DB Rows:"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
+
#: pages/func_backwpup.php:248
|
1102 |
+
msgid "Files Size:"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
+
#: pages/func_backwpup.php:250
|
1106 |
+
msgid "Files count:"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
+
#: pages/header_backwpup.php:35
|
1110 |
+
msgid "Copy of"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
+
#: pages/header_backwpup.php:78
|
1114 |
+
msgid "Aborted by user!!!"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
+
#: pages/header_backwpup.php:93
|
1118 |
+
msgid "Job will be terminated."
|
1119 |
msgstr ""
|
1120 |
|
1121 |
+
#: pages/header_backwpup.php:96
|
1122 |
+
msgid "Process killed with PID:"
|
1123 |
msgstr ""
|
1124 |
|
1125 |
+
#: pages/header_backwpup.php:98
|
1126 |
+
msgid "Can't kill process with PID:"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
+
#: pages/header_backwpup.php:114
|
1130 |
+
msgid "Here is the job overview with some information. You can see some further information of the jobs, how many can be switched with the view button. Also you can manage the jobs or abbort working jobs. Some links are added to have direct access to the last log or download."
|
1131 |
msgstr ""
|
1132 |
|
1133 |
+
#: pages/page_backwpupsettings.php:10
|
1134 |
+
msgid "BackWPup Settings"
|
1135 |
msgstr ""
|
1136 |
|
1137 |
+
#: pages/page_backwpupsettings.php:17
|
1138 |
+
msgid "Send Mail"
|
1139 |
msgstr ""
|
1140 |
|
1141 |
+
#: pages/page_backwpupsettings.php:18
|
1142 |
+
msgid "Here you can set the options for email sending. The settings will be used in jobs for sending backups via email or for sending log files."
|
1143 |
msgstr ""
|
1144 |
|
1145 |
+
#: pages/page_backwpupsettings.php:21
|
1146 |
+
msgid "Sender email"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
+
#: pages/page_backwpupsettings.php:26
|
1150 |
+
msgid "Sender name"
|
1151 |
msgstr ""
|
1152 |
|
1153 |
+
#: pages/page_backwpupsettings.php:30
|
1154 |
+
msgid "Send mail method"
|
|
|
|
|
1155 |
msgstr ""
|
1156 |
|
1157 |
+
#: pages/page_backwpupsettings.php:34
|
1158 |
+
msgid "PHP: mail()"
|
1159 |
msgstr ""
|
1160 |
|
1161 |
+
#: pages/page_backwpupsettings.php:35
|
1162 |
+
msgid "Sendmail"
|
1163 |
msgstr ""
|
1164 |
|
1165 |
+
#: pages/page_backwpupsettings.php:36
|
1166 |
+
msgid "SMTP"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: pages/page_backwpupsettings.php:42
|
1170 |
+
msgid "Sendmail path"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
+
#: pages/page_backwpupsettings.php:49
|
1174 |
+
msgid "SMTP hostname"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: pages/page_backwpupsettings.php:52 pages/func_backwpupeditjob.php:232
|
1178 |
+
msgid "Port:"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: pages/page_backwpupsettings.php:56
|
1182 |
+
msgid "SMTP secure connection"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: pages/page_backwpupsettings.php:59 backwpup-functions.php:411
|
1186 |
+
#: backwpup-functions.php:441 backwpup-functions.php:469
|
1187 |
+
msgid "none"
|
1188 |
msgstr ""
|
1189 |
|
1190 |
+
#: pages/page_backwpupsettings.php:66
|
1191 |
+
msgid "SMTP username"
|
1192 |
msgstr ""
|
1193 |
|
1194 |
+
#: pages/page_backwpupsettings.php:72
|
1195 |
+
msgid "SMTP password"
|
1196 |
msgstr ""
|
1197 |
|
1198 |
+
#: pages/page_backwpupsettings.php:80
|
1199 |
+
msgid "Here you can set Logfile related options."
|
1200 |
msgstr ""
|
1201 |
|
1202 |
+
#: pages/page_backwpupsettings.php:83
|
1203 |
+
msgid "Log file Folder"
|
1204 |
msgstr ""
|
1205 |
|
1206 |
+
#: pages/page_backwpupsettings.php:88
|
1207 |
+
msgid "Max. Log Files in Folder"
|
1208 |
msgstr ""
|
1209 |
|
1210 |
+
#: pages/page_backwpupsettings.php:90 pages/func_backwpupeditjob.php:224
|
1211 |
+
msgid "(Oldest files will deleted first.)"
|
1212 |
msgstr ""
|
1213 |
|
1214 |
+
#: pages/page_backwpupsettings.php:94 pages/page_backwpupsettings.php:95
|
1215 |
+
msgid "Compression"
|
1216 |
msgstr ""
|
1217 |
|
1218 |
+
#: pages/page_backwpupsettings.php:97
|
1219 |
+
msgid "Gzip Log files!"
|
1220 |
msgstr ""
|
1221 |
|
1222 |
+
#: pages/page_backwpupsettings.php:101 backwpup-functions.php:5
|
1223 |
+
#: backwpup-functions.php:491
|
1224 |
+
msgid "Jobs"
|
1225 |
msgstr ""
|
1226 |
|
1227 |
+
#: pages/page_backwpupsettings.php:102
|
1228 |
+
msgid "Here you can set Job related options."
|
1229 |
msgstr ""
|
1230 |
|
1231 |
+
#: pages/page_backwpupsettings.php:105
|
1232 |
+
msgid "Max. retrys for job steps"
|
1233 |
msgstr ""
|
1234 |
|
1235 |
+
#: pages/page_backwpupsettings.php:110
|
1236 |
+
msgid "Max. retrys for job script retries"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: pages/page_backwpupsettings.php:124
|
1240 |
+
msgid "Max. normal script runtime:"
|
1241 |
msgstr ""
|
1242 |
|
1243 |
+
#: pages/page_backwpupsettings.php:126
|
1244 |
+
msgid "Script runtime will reset on many job functions. You can only set it if safemode off. Default runtime is 30 sec. Your ini setting is in sec.:"
|
1245 |
msgstr ""
|
1246 |
|
1247 |
+
#: pages/page_backwpupsettings.php:130
|
1248 |
+
msgid "Max. long script runtime:"
|
1249 |
msgstr ""
|
1250 |
|
1251 |
+
#: pages/page_backwpupsettings.php:132
|
1252 |
+
msgid "Script runtime for long operations withaut responce to script. You can only set it if safemode off. Default runtime is 300 sec.(Max. on most webservers.)"
|
1253 |
msgstr ""
|
1254 |
|
1255 |
+
#: pages/page_backwpupsettings.php:135
|
1256 |
+
msgid "PHP zip class"
|
1257 |
msgstr ""
|
1258 |
|
1259 |
+
#: pages/page_backwpupsettings.php:136
|
1260 |
+
msgid "PHP zip"
|
1261 |
msgstr ""
|
1262 |
|
1263 |
+
#: pages/page_backwpupsettings.php:138
|
1264 |
+
msgid "Use PHP zip class if available! Normaly PCL Zip class will used."
|
|
|
|
|
|
|
|
|
|
|
|
|
1265 |
msgstr ""
|
1266 |
|
1267 |
+
#: pages/page_backwpupsettings.php:143
|
1268 |
+
msgid "WP Admin Bar"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: pages/page_backwpupsettings.php:144
|
1272 |
+
msgid "Will you see BackWPup in the WordPress Admin Bar?"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: pages/page_backwpupsettings.php:147 pages/page_backwpupsettings.php:148
|
1276 |
+
msgid "Admin Bar"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: pages/page_backwpupsettings.php:150
|
1280 |
+
msgid "Show BackWPup Links in Admin Bar."
|
|
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: pages/page_backwpupsettings.php:155
|
1284 |
+
msgid "Http basic authentication"
|
1285 |
msgstr ""
|
1286 |
|
1287 |
+
#: pages/page_backwpupsettings.php:156
|
1288 |
+
msgid "Is your blog behind a http basic authentication (.htaccess)? Then you must set the username and password four authentication."
|
|
|
|
|
|
|
|
|
|
|
|
|
1289 |
msgstr ""
|
1290 |
|
1291 |
+
#: pages/page_backwpupsettings.php:159 pages/func_backwpupeditjob.php:234
|
1292 |
+
#: pages/func_backwpupeditjob.php:325
|
1293 |
+
msgid "Username:"
|
1294 |
msgstr ""
|
1295 |
|
1296 |
+
#: pages/page_backwpupsettings.php:164 pages/func_backwpupeditjob.php:236
|
1297 |
+
#: pages/func_backwpupeditjob.php:377
|
1298 |
+
msgid "Password:"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: pages/page_backwpupsettings.php:169
|
1302 |
+
msgid "WP-Cron"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
+
#: pages/page_backwpupsettings.php:170
|
1306 |
+
msgid "If you would use the cron job of your hoster you must point it to the url:"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: pages/page_backwpupsettings.php:173 pages/page_backwpupsettings.php:174
|
1310 |
+
msgid "Disable WP-Cron"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: pages/page_backwpupsettings.php:176
|
1314 |
+
msgid "Use your host's Cron Job and disable WP-Cron"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: pages/page_backwpupsettings.php:180 pages/page_backwpupsettings.php:181
|
1318 |
+
msgid "Use cron service of backwpup.com"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: pages/page_backwpupsettings.php:183
|
1322 |
+
msgid "If you check this, the job schedule will submited to backwpup.com. Backwpup.com will call your blog wp-cron.php to start. <em>Use this service only if you have not a cron service of your hoster, or a blog that has a few visitors.</em> The cron service can start cron behind a basic authentication, on that the http authentication data will transferd too! Please make a little donation for the plugin if you use this servcie. The service can be removed by me without a massage."
|
|
|
|
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: pages/func_backwpupeditjob.php:18
|
1326 |
+
msgid "PHP curl functions not available! Most backup destinations deaktivated!"
|
|
|
|
|
1327 |
msgstr ""
|
1328 |
|
1329 |
+
#: pages/func_backwpupeditjob.php:25
|
1330 |
+
msgid ""
|
1331 |
+
"You are about to delete this Job. \n"
|
1332 |
+
" 'Cancel' to stop, 'OK' to delete."
|
1333 |
msgstr ""
|
1334 |
|
1335 |
+
#: pages/func_backwpupeditjob.php:28
|
1336 |
+
msgid "Save Changes"
|
1337 |
msgstr ""
|
1338 |
|
1339 |
+
#: pages/func_backwpupeditjob.php:38
|
1340 |
+
msgid "File Prefix:"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
+
#: pages/func_backwpupeditjob.php:40
|
1344 |
+
msgid "File Formart:"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
+
#: pages/func_backwpupeditjob.php:43 pages/func_backwpupeditjob.php:45
|
1348 |
+
msgid "Zip"
|
1349 |
msgstr ""
|
1350 |
|
1351 |
+
#: pages/func_backwpupeditjob.php:46
|
1352 |
+
msgid "Tar"
|
1353 |
msgstr ""
|
1354 |
|
1355 |
+
#: pages/func_backwpupeditjob.php:48 pages/func_backwpupeditjob.php:50
|
1356 |
+
msgid "Tar GZip"
|
1357 |
msgstr ""
|
1358 |
|
1359 |
+
#: pages/func_backwpupeditjob.php:52 pages/func_backwpupeditjob.php:54
|
1360 |
+
msgid "Tar BZip2"
|
1361 |
msgstr ""
|
1362 |
|
1363 |
+
#: pages/func_backwpupeditjob.php:55
|
1364 |
+
msgid "Preview:"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
+
#: pages/func_backwpupeditjob.php:60
|
1368 |
+
msgid "E-Mail-Adress:"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
+
#: pages/func_backwpupeditjob.php:62
|
1372 |
+
msgid "Only send an e-mail if there are errors."
|
1373 |
msgstr ""
|
1374 |
|
1375 |
+
#: pages/func_backwpupeditjob.php:91
|
1376 |
+
msgid "Activate scheduling"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
+
#: pages/func_backwpupeditjob.php:92
|
1380 |
+
msgid "advanced"
|
1381 |
msgstr ""
|
1382 |
|
1383 |
+
#: pages/func_backwpupeditjob.php:93
|
1384 |
+
msgid "basic"
|
1385 |
msgstr ""
|
1386 |
|
1387 |
+
#: pages/func_backwpupeditjob.php:97
|
1388 |
+
msgid "Minutes: "
|
1389 |
msgstr ""
|
1390 |
|
1391 |
+
#: pages/func_backwpupeditjob.php:99 pages/func_backwpupeditjob.php:111
|
1392 |
+
#: pages/func_backwpupeditjob.php:122 pages/func_backwpupeditjob.php:133
|
1393 |
+
#: pages/func_backwpupeditjob.php:153
|
1394 |
+
msgid "Any (*)"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: pages/func_backwpupeditjob.php:108
|
1398 |
+
msgid "Hours:"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#: pages/func_backwpupeditjob.php:120
|
1402 |
+
msgid "Day of Month:"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: pages/func_backwpupeditjob.php:131
|
1406 |
+
msgid "Month:"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: pages/func_backwpupeditjob.php:135
|
1410 |
+
msgid "January"
|
1411 |
msgstr ""
|
1412 |
|
1413 |
+
#: pages/func_backwpupeditjob.php:136
|
1414 |
+
msgid "February"
|
1415 |
+
msgstr ""
|
|
|
|
|
1416 |
|
1417 |
+
#: pages/func_backwpupeditjob.php:137
|
1418 |
+
msgid "March"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: pages/func_backwpupeditjob.php:138
|
1422 |
+
msgid "April"
|
|
|
|
|
|
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: pages/func_backwpupeditjob.php:139
|
1426 |
+
msgid "May"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
+
#: pages/func_backwpupeditjob.php:140
|
1430 |
+
msgid "June"
|
1431 |
msgstr ""
|
1432 |
|
1433 |
+
#: pages/func_backwpupeditjob.php:141
|
1434 |
+
msgid "July"
|
1435 |
msgstr ""
|
1436 |
|
1437 |
+
#: pages/func_backwpupeditjob.php:142
|
1438 |
+
msgid "Augest"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: pages/func_backwpupeditjob.php:143
|
1442 |
+
msgid "September"
|
1443 |
msgstr ""
|
1444 |
|
1445 |
+
#: pages/func_backwpupeditjob.php:144
|
1446 |
+
msgid "October"
|
1447 |
msgstr ""
|
1448 |
|
1449 |
+
#: pages/func_backwpupeditjob.php:145
|
1450 |
+
msgid "November"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
+
#: pages/func_backwpupeditjob.php:146
|
1454 |
+
msgid "December"
|
1455 |
msgstr ""
|
1456 |
|
1457 |
+
#: pages/func_backwpupeditjob.php:151
|
1458 |
+
msgid "Day of Week:"
|
1459 |
msgstr ""
|
1460 |
|
1461 |
+
#: pages/func_backwpupeditjob.php:155 pages/func_backwpupeditjob.php:191
|
1462 |
+
msgid "Sunday"
|
1463 |
msgstr ""
|
1464 |
|
1465 |
+
#: pages/func_backwpupeditjob.php:156 pages/func_backwpupeditjob.php:192
|
1466 |
+
msgid "Monday"
|
1467 |
msgstr ""
|
1468 |
|
1469 |
+
#: pages/func_backwpupeditjob.php:157 pages/func_backwpupeditjob.php:193
|
1470 |
+
msgid "Tuesday"
|
1471 |
msgstr ""
|
1472 |
|
1473 |
+
#: pages/func_backwpupeditjob.php:158 pages/func_backwpupeditjob.php:194
|
1474 |
+
msgid "Wednesday"
|
1475 |
msgstr ""
|
1476 |
|
1477 |
+
#: pages/func_backwpupeditjob.php:159 pages/func_backwpupeditjob.php:195
|
1478 |
+
msgid "Thursday"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
+
#: pages/func_backwpupeditjob.php:160 pages/func_backwpupeditjob.php:196
|
1482 |
+
msgid "Friday"
|
1483 |
msgstr ""
|
1484 |
|
1485 |
+
#: pages/func_backwpupeditjob.php:161 pages/func_backwpupeditjob.php:197
|
1486 |
+
msgid "Saturday"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: pages/func_backwpupeditjob.php:176
|
1490 |
+
msgid "Hour"
|
1491 |
+
msgstr ""
|
|
|
|
|
1492 |
|
1493 |
+
#: pages/func_backwpupeditjob.php:179
|
1494 |
+
msgid "Minute"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: pages/func_backwpupeditjob.php:183
|
1498 |
+
msgid "monthly"
|
1499 |
msgstr ""
|
1500 |
|
1501 |
+
#: pages/func_backwpupeditjob.php:184
|
1502 |
+
msgid "on"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
+
#: pages/func_backwpupeditjob.php:189
|
1506 |
+
msgid "weekly"
|
1507 |
msgstr ""
|
1508 |
|
1509 |
+
#: pages/func_backwpupeditjob.php:203
|
1510 |
+
msgid "daily"
|
1511 |
msgstr ""
|
1512 |
|
1513 |
+
#: pages/func_backwpupeditjob.php:209
|
1514 |
+
msgid "hourly"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
+
#: pages/func_backwpupeditjob.php:221
|
1518 |
+
msgid "Full Path to folder for Backup Files:"
|
1519 |
msgstr ""
|
1520 |
|
1521 |
+
#: pages/func_backwpupeditjob.php:223
|
1522 |
+
msgid "Your WordPress dir is:"
|
1523 |
msgstr ""
|
1524 |
|
1525 |
+
#: pages/func_backwpupeditjob.php:224 pages/func_backwpupeditjob.php:384
|
1526 |
+
msgid "Max. backup files in folder:"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
+
#: pages/func_backwpupeditjob.php:230
|
1530 |
+
msgid "Hostname:"
|
1531 |
msgstr ""
|
1532 |
|
1533 |
+
#: pages/func_backwpupeditjob.php:238
|
1534 |
+
msgid "Folder on Server:"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
+
#: pages/func_backwpupeditjob.php:241
|
1538 |
+
msgid "Max. backup files in FTP folder:"
|
1539 |
msgstr ""
|
1540 |
|
1541 |
+
#: pages/func_backwpupeditjob.php:241 pages/func_backwpupeditjob.php:260
|
1542 |
+
#: pages/func_backwpupeditjob.php:285 pages/func_backwpupeditjob.php:312
|
1543 |
+
#: pages/func_backwpupeditjob.php:335 pages/func_backwpupeditjob.php:362
|
1544 |
+
#: pages/func_backwpupeditjob.php:384
|
1545 |
+
msgid "(Oldest files will be deleted first.)"
|
1546 |
msgstr ""
|
1547 |
|
1548 |
+
#: pages/func_backwpupeditjob.php:242
|
1549 |
+
msgid "Use SSL-FTP Connection."
|
1550 |
msgstr ""
|
1551 |
|
1552 |
+
#: pages/func_backwpupeditjob.php:243
|
1553 |
+
msgid "Use FTP Passiv mode."
|
1554 |
msgstr ""
|
1555 |
|
1556 |
+
#: pages/func_backwpupeditjob.php:250
|
1557 |
+
msgid "Access Key ID:"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
+
#: pages/func_backwpupeditjob.php:252
|
1561 |
+
msgid "Secret Access Key:"
|
1562 |
msgstr ""
|
1563 |
|
1564 |
+
#: pages/func_backwpupeditjob.php:254 pages/func_backwpupeditjob.php:279
|
1565 |
+
msgid "Bucket:"
|
1566 |
msgstr ""
|
1567 |
|
1568 |
+
#: pages/func_backwpupeditjob.php:257 pages/func_backwpupeditjob.php:282
|
1569 |
+
msgid "Create bucket:"
|
1570 |
msgstr ""
|
1571 |
|
1572 |
+
#: pages/func_backwpupeditjob.php:257
|
1573 |
+
msgid "Bucket Region"
|
1574 |
msgstr ""
|
1575 |
|
1576 |
+
#: pages/func_backwpupeditjob.php:257
|
1577 |
+
msgid "US-East (Northern Virginia)"
|
1578 |
msgstr ""
|
1579 |
|
1580 |
+
#: pages/func_backwpupeditjob.php:257
|
1581 |
+
msgid "US-West (Northern California)"
|
|
|
1582 |
msgstr ""
|
1583 |
|
1584 |
+
#: pages/func_backwpupeditjob.php:257
|
1585 |
+
msgid "EU (Ireland)"
|
|
|
|
|
1586 |
msgstr ""
|
1587 |
|
1588 |
+
#: pages/func_backwpupeditjob.php:257
|
1589 |
+
msgid "Asia Pacific (Singapore)"
|
1590 |
msgstr ""
|
1591 |
|
1592 |
+
#: pages/func_backwpupeditjob.php:257
|
1593 |
+
msgid "Asia Pacific (Japan)"
|
1594 |
msgstr ""
|
1595 |
|
1596 |
+
#: pages/func_backwpupeditjob.php:258 pages/func_backwpupeditjob.php:283
|
1597 |
+
msgid "Folder in bucket:"
|
1598 |
msgstr ""
|
1599 |
|
1600 |
+
#: pages/func_backwpupeditjob.php:260 pages/func_backwpupeditjob.php:285
|
1601 |
+
msgid "Max. backup files in bucket folder:"
|
1602 |
msgstr ""
|
1603 |
|
1604 |
+
#: pages/func_backwpupeditjob.php:261
|
1605 |
+
msgid "Save Backups with reduced redundancy!"
|
1606 |
msgstr ""
|
1607 |
|
1608 |
+
#: pages/func_backwpupeditjob.php:264 pages/func_backwpupeditjob.php:288
|
1609 |
+
#: pages/func_backwpupeditjob.php:315 pages/func_backwpupeditjob.php:338
|
1610 |
+
#: pages/func_backwpupeditjob.php:365 pages/func_backwpupeditjob.php:387
|
1611 |
+
msgid "Create Account"
|
1612 |
msgstr ""
|
1613 |
|
1614 |
+
#: pages/func_backwpupeditjob.php:265 pages/func_backwpupeditjob.php:289
|
1615 |
+
msgid "Find Keys"
|
1616 |
msgstr ""
|
1617 |
|
1618 |
+
#: pages/func_backwpupeditjob.php:266 pages/func_backwpupeditjob.php:290
|
1619 |
+
#: pages/func_backwpupeditjob.php:340 pages/func_backwpupeditjob.php:366
|
1620 |
+
#: pages/func_backwpupeditjob.php:388
|
1621 |
+
msgid "Webinterface"
|
1622 |
msgstr ""
|
1623 |
|
1624 |
+
#: pages/func_backwpupeditjob.php:275 pages/func_backwpupeditjob.php:304
|
1625 |
+
msgid "Access Key:"
|
1626 |
msgstr ""
|
1627 |
|
1628 |
+
#: pages/func_backwpupeditjob.php:277
|
1629 |
+
msgid "Secret:"
|
1630 |
msgstr ""
|
1631 |
|
1632 |
+
#: pages/func_backwpupeditjob.php:300
|
1633 |
+
msgid "Host:"
|
1634 |
msgstr ""
|
1635 |
|
1636 |
+
#: pages/func_backwpupeditjob.php:301
|
1637 |
+
msgid "Normely: blob.core.windows.net"
|
1638 |
+
msgstr ""
|
|
|
|
|
1639 |
|
1640 |
+
#: pages/func_backwpupeditjob.php:302
|
1641 |
+
msgid "Account Name:"
|
1642 |
msgstr ""
|
1643 |
|
1644 |
+
#: pages/func_backwpupeditjob.php:306 pages/func_backwpupeditjob.php:329
|
1645 |
+
msgid "Container:"
|
1646 |
msgstr ""
|
1647 |
|
1648 |
+
#: pages/func_backwpupeditjob.php:309 pages/func_backwpupeditjob.php:332
|
1649 |
+
msgid "Create Container:"
|
1650 |
msgstr ""
|
1651 |
|
1652 |
+
#: pages/func_backwpupeditjob.php:310
|
1653 |
+
msgid "Folder in Container:"
|
1654 |
msgstr ""
|
1655 |
|
1656 |
+
#: pages/func_backwpupeditjob.php:312 pages/func_backwpupeditjob.php:335
|
1657 |
+
msgid "Max. backup files in container folder:"
|
1658 |
msgstr ""
|
1659 |
|
1660 |
+
#: pages/func_backwpupeditjob.php:316 pages/func_backwpupeditjob.php:339
|
1661 |
+
msgid "Find Key"
|
1662 |
msgstr ""
|
1663 |
|
1664 |
+
#: pages/func_backwpupeditjob.php:327
|
1665 |
+
msgid "API Key:"
|
1666 |
msgstr ""
|
1667 |
|
1668 |
+
#: pages/func_backwpupeditjob.php:333
|
1669 |
+
msgid "Folder in container:"
|
1670 |
msgstr ""
|
1671 |
|
1672 |
+
#: pages/func_backwpupeditjob.php:349
|
1673 |
+
msgid "Login:"
|
1674 |
msgstr ""
|
1675 |
|
1676 |
+
#: pages/func_backwpupeditjob.php:351
|
1677 |
+
msgid "Not authenticated!"
|
1678 |
msgstr ""
|
1679 |
|
1680 |
+
#: pages/func_backwpupeditjob.php:351
|
1681 |
+
msgid "Authenticate!"
|
1682 |
msgstr ""
|
1683 |
|
1684 |
+
#: pages/func_backwpupeditjob.php:353
|
1685 |
+
msgid "Authenticated!"
|
1686 |
msgstr ""
|
1687 |
|
1688 |
+
#: pages/func_backwpupeditjob.php:353
|
1689 |
+
msgid "Delete!"
|
1690 |
msgstr ""
|
1691 |
|
1692 |
+
#: pages/func_backwpupeditjob.php:355 pages/func_backwpupeditjob.php:379
|
1693 |
+
msgid "Root:"
|
1694 |
msgstr ""
|
1695 |
|
1696 |
+
#: pages/func_backwpupeditjob.php:357
|
1697 |
+
msgid "dropbox"
|
1698 |
+
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1699 |
|
1700 |
+
#: pages/func_backwpupeditjob.php:358
|
1701 |
+
msgid "sandbox (disabled by DropBox)"
|
1702 |
msgstr ""
|
1703 |
|
1704 |
+
#: pages/func_backwpupeditjob.php:360 pages/func_backwpupeditjob.php:382
|
1705 |
+
msgid "Folder:"
|
1706 |
msgstr ""
|
1707 |
|
1708 |
+
#: pages/func_backwpupeditjob.php:362
|
1709 |
+
msgid "Max. backup files in Dropbox folder:"
|
1710 |
msgstr ""
|
1711 |
|
1712 |
+
#: pages/func_backwpupeditjob.php:375 pages/func_backwpupeditjob.php:395
|
1713 |
+
msgid "E-mail address:"
|
1714 |
msgstr ""
|
1715 |
|
1716 |
+
#: pages/func_backwpupeditjob.php:398
|
1717 |
+
msgid "Max. File Size for sending Backups with mail:"
|
1718 |
msgstr ""
|
1719 |
|
1720 |
+
#: pages/func_backwpupeditjob.php:445
|
1721 |
+
msgid "Working as <a href=\"http://wikipedia.org/wiki/Cron\" target=\"_blank\">Cron</a> job schedule:"
|
1722 |
msgstr ""
|
1723 |
|
1724 |
+
#: pages/func_backwpupeditjob.php:451
|
1725 |
+
msgid "ATTENTION: Job runs every %d mins.!!!"
|
1726 |
msgstr ""
|
1727 |
|
1728 |
+
#: pages/func_backwpupeditjob.php:457
|
1729 |
+
msgid "ATTENTION: Job runs every %d houers.!!!"
|
1730 |
msgstr ""
|
1731 |
|
1732 |
+
#: pages/func_backwpupeditjob.php:461
|
1733 |
+
msgid "ATTENTION: Can't calculate cron!!!"
|
1734 |
+
msgstr ""
|
|
|
|
|
1735 |
|
1736 |
+
#: pages/func_backwpupeditjob.php:463
|
1737 |
+
msgid "Next runtime:"
|
1738 |
msgstr ""
|
1739 |
|
1740 |
+
#: pages/func_backwpupeditjob.php:489 pages/func_backwpupeditjob.php:554
|
1741 |
+
msgid "Missing access key!"
|
1742 |
msgstr ""
|
1743 |
|
1744 |
+
#: pages/func_backwpupeditjob.php:496 pages/func_backwpupeditjob.php:561
|
1745 |
+
msgid "Missing secret access key!"
|
1746 |
msgstr ""
|
1747 |
|
1748 |
+
#: pages/func_backwpupeditjob.php:520 pages/func_backwpupeditjob.php:587
|
1749 |
+
msgid "No bucket fount!"
|
1750 |
msgstr ""
|
1751 |
|
1752 |
+
#: pages/func_backwpupeditjob.php:622 pages/func_backwpupeditjob.php:751
|
1753 |
+
msgid "Missing Username!"
|
1754 |
msgstr ""
|
1755 |
|
1756 |
+
#: pages/func_backwpupeditjob.php:629
|
1757 |
+
msgid "Missing API Key!"
|
1758 |
msgstr ""
|
1759 |
|
1760 |
+
#: pages/func_backwpupeditjob.php:650
|
1761 |
+
msgid "No Containerss found!"
|
1762 |
msgstr ""
|
1763 |
|
1764 |
+
#: pages/func_backwpupeditjob.php:685
|
1765 |
+
msgid "Missing Hostname!"
|
1766 |
msgstr ""
|
1767 |
|
1768 |
+
#: pages/func_backwpupeditjob.php:692
|
1769 |
+
msgid "Missing Account Name!"
|
1770 |
msgstr ""
|
1771 |
|
1772 |
+
#: pages/func_backwpupeditjob.php:699
|
1773 |
+
msgid "Missing Access Key!"
|
1774 |
msgstr ""
|
1775 |
|
1776 |
+
#: pages/func_backwpupeditjob.php:716
|
1777 |
+
msgid "No Container found!"
|
1778 |
msgstr ""
|
1779 |
|
1780 |
+
#: pages/func_backwpupeditjob.php:758
|
1781 |
+
msgid "Missing Password!"
|
1782 |
+
msgstr ""
|
|
|
|
|
1783 |
|
1784 |
+
#: pages/func_backwpupeditjob.php:778
|
1785 |
+
msgid "No Syncfolders found!"
|
1786 |
msgstr ""
|
1787 |
|
1788 |
+
#: pages/page_backwpupeditjob.php:9
|
1789 |
+
msgid "Job Type"
|
1790 |
msgstr ""
|
1791 |
|
1792 |
+
#: pages/page_backwpupeditjob.php:10
|
1793 |
+
msgid "Job Schedule"
|
1794 |
msgstr ""
|
1795 |
|
1796 |
+
#: pages/page_backwpupeditjob.php:11
|
1797 |
+
msgid "Backup to Folder"
|
1798 |
msgstr ""
|
1799 |
|
1800 |
+
#: pages/page_backwpupeditjob.php:12
|
1801 |
+
msgid "Backup to E-Mail"
|
1802 |
msgstr ""
|
1803 |
|
1804 |
+
#: pages/page_backwpupeditjob.php:28
|
1805 |
+
msgid "BackWPup Job Settings"
|
1806 |
msgstr ""
|
1807 |
|
1808 |
+
#: pages/page_backwpupeditjob.php:53
|
1809 |
+
msgid "Enter Job name here"
|
1810 |
msgstr ""
|
1811 |
|
1812 |
+
#: pages/page_backwpupeditjob.php:59
|
1813 |
+
msgid "Database Jobs"
|
1814 |
msgstr ""
|
1815 |
|
1816 |
+
#: pages/page_backwpupeditjob.php:62
|
1817 |
+
msgid "Database tables to use:"
|
1818 |
msgstr ""
|
1819 |
|
1820 |
+
#: pages/page_backwpupeditjob.php:72
|
1821 |
+
msgid "Use short INSERTs instead of full (with keys)"
|
1822 |
msgstr ""
|
1823 |
|
1824 |
+
#: pages/page_backwpupeditjob.php:73
|
1825 |
+
msgid "Set Blog Maintenance Mode on Database Operations"
|
1826 |
msgstr ""
|
1827 |
|
1828 |
+
#: pages/page_backwpupeditjob.php:78 backwpup-functions.php:323
|
1829 |
+
msgid "File Backup"
|
1830 |
msgstr ""
|
1831 |
|
1832 |
+
#: pages/page_backwpupeditjob.php:80
|
1833 |
+
msgid "Blog Folders to Backup:"
|
1834 |
msgstr ""
|
1835 |
|
1836 |
+
#: pages/page_backwpupeditjob.php:83
|
1837 |
+
msgid "root"
|
1838 |
msgstr ""
|
1839 |
|
1840 |
+
#: pages/page_backwpupeditjob.php:86 pages/page_backwpupeditjob.php:102
|
1841 |
+
#: pages/page_backwpupeditjob.php:118 pages/page_backwpupeditjob.php:134
|
1842 |
+
#: pages/page_backwpupeditjob.php:150
|
1843 |
+
msgid "Exclude:"
|
1844 |
msgstr ""
|
1845 |
|
1846 |
+
#: pages/page_backwpupeditjob.php:99
|
1847 |
+
msgid "Content"
|
1848 |
msgstr ""
|
1849 |
|
1850 |
+
#: pages/page_backwpupeditjob.php:115
|
1851 |
+
msgid "Plugins"
|
1852 |
msgstr ""
|
1853 |
|
1854 |
+
#: pages/page_backwpupeditjob.php:131
|
1855 |
+
msgid "Themes"
|
1856 |
msgstr ""
|
1857 |
|
1858 |
+
#: pages/page_backwpupeditjob.php:147
|
1859 |
+
msgid "Blog Uploads"
|
1860 |
msgstr ""
|
1861 |
|
1862 |
+
#: pages/page_backwpupeditjob.php:164
|
1863 |
+
msgid "Include Folders to Backup:"
|
1864 |
msgstr ""
|
1865 |
|
1866 |
+
#: pages/page_backwpupeditjob.php:165 pages/page_backwpupeditjob.php:169
|
1867 |
+
msgid "Example:"
|
1868 |
msgstr ""
|
1869 |
|
1870 |
+
#: pages/page_backwpupeditjob.php:168
|
1871 |
+
msgid "Exclude Files/Folders from Backup:"
|
1872 |
msgstr ""
|
1873 |
|
1874 |
+
#: pages/header_backwpupeditjob.php:25
|
1875 |
+
msgid "Dropbox authentication complete!"
|
1876 |
msgstr ""
|
1877 |
|
1878 |
+
#: pages/header_backwpupeditjob.php:27
|
1879 |
+
msgid "Wrong Token for Dropbox authentication received!"
|
1880 |
msgstr ""
|
1881 |
|
1882 |
+
#: pages/header_backwpupeditjob.php:30
|
1883 |
+
msgid "No Dropbox authentication received!"
|
1884 |
msgstr ""
|
1885 |
|
1886 |
+
#: pages/header_backwpupeditjob.php:225
|
1887 |
+
msgid "Dropbox authentication deleted!"
|
1888 |
msgstr ""
|
1889 |
|
1890 |
+
#: pages/header_backwpupeditjob.php:248
|
1891 |
+
msgid "Job '%1' changes saved."
|
1892 |
msgstr ""
|
1893 |
|
1894 |
+
#: pages/header_backwpupeditjob.php:248
|
1895 |
+
msgid "Jobs overview."
|
1896 |
msgstr ""
|
1897 |
|
1898 |
+
#: pages/header_backwpupeditjob.php:260
|
1899 |
+
msgid "Backup File"
|
1900 |
msgstr ""
|
1901 |
|
1902 |
+
#: pages/header_backwpupeditjob.php:261
|
1903 |
+
msgid "Send log"
|
1904 |
msgstr ""
|
1905 |
|
1906 |
+
#: pages/header_backwpupeditjob.php:263
|
1907 |
+
msgid "Backup to FTP Server"
|
1908 |
msgstr ""
|
1909 |
|
1910 |
+
#: pages/header_backwpupeditjob.php:265
|
1911 |
+
msgid "Backup to Dropbox"
|
1912 |
msgstr ""
|
1913 |
|
1914 |
+
#: pages/header_backwpupeditjob.php:267
|
1915 |
+
msgid "Backup to SugarSync"
|
1916 |
msgstr ""
|
1917 |
|
1918 |
+
#: pages/header_backwpupeditjob.php:269
|
1919 |
+
msgid "Backup to Amazon S3"
|
1920 |
msgstr ""
|
1921 |
|
1922 |
+
#: pages/header_backwpupeditjob.php:271
|
1923 |
+
msgid "Backup to Google storage"
|
1924 |
msgstr ""
|
1925 |
|
1926 |
+
#: pages/header_backwpupeditjob.php:273
|
1927 |
+
msgid "Backup to Micosoft Azure (Blob)"
|
1928 |
msgstr ""
|
1929 |
|
1930 |
+
#: pages/header_backwpupeditjob.php:275
|
1931 |
+
msgid "Backup to Rackspace Cloud"
|
1932 |
msgstr ""
|
1933 |
|
1934 |
+
#: pages/func_backwpupbackups.php:125
|
1935 |
+
msgid "No Files found."
|
1936 |
msgstr ""
|
1937 |
|
1938 |
+
#: pages/func_backwpupbackups.php:145
|
1939 |
+
msgid "Change Destination"
|
1940 |
msgstr ""
|
1941 |
|
1942 |
+
#: pages/func_backwpupbackups.php:182
|
1943 |
+
msgid "File"
|
1944 |
msgstr ""
|
1945 |
|
1946 |
+
#: pages/func_backwpupbackups.php:183 pages/func_backwpupbackups.php:185
|
1947 |
+
msgid "Folder"
|
1948 |
msgstr ""
|
1949 |
|
1950 |
+
#: pages/func_backwpupbackups.php:186
|
1951 |
+
msgid "Time"
|
1952 |
msgstr ""
|
1953 |
|
1954 |
+
#: pages/func_backwpupbackups.php:227
|
1955 |
+
msgid ""
|
1956 |
+
"You are about to delete this Backup Archive. \n"
|
1957 |
+
" 'Cancel' to stop, 'OK' to delete."
|
1958 |
msgstr ""
|
1959 |
|
1960 |
+
#: pages/func_backwpupbackups.php:242
|
1961 |
+
msgid "?"
|
1962 |
msgstr ""
|
1963 |
|
|
|
|
|
1964 |
#: backwpup-functions.php:4 backwpup-functions.php:265
|
1965 |
#: backwpup-functions.php:488
|
1966 |
msgid "BackWPup"
|
2011 |
msgstr ""
|
2012 |
|
2013 |
#: backwpup-functions.php:101
|
2014 |
+
msgid "BackWPup comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions."
|
|
|
|
|
2015 |
msgstr ""
|
2016 |
|
2017 |
#: backwpup-functions.php:246
|
2090 |
msgid "- WP-Cron isn't working, please check it!"
|
2091 |
msgstr ""
|
2092 |
|
2093 |
+
#: backwpup-functions.php:786
|
2094 |
msgid "New"
|
2095 |
msgstr ""
|
2096 |
+
#. Plugin Name of the plugin/theme
|
2097 |
+
msgid "BackWPup"
|
2098 |
+
msgstr ""
|
2099 |
|
2100 |
#. Plugin URI of the plugin/theme
|
2101 |
msgid "http://backwpup.com"
|
2102 |
msgstr ""
|
2103 |
|
2104 |
#. Description of the plugin/theme
|
2105 |
+
msgid "WordPress Backup and more�"
|
2106 |
msgstr ""
|
2107 |
|
2108 |
#. Author of the plugin/theme
|
libs/Dropbox/API.php
ADDED
@@ -0,0 +1,345 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox API class
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
class Dropbox_API {
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Sandbox root-path
|
15 |
+
*/
|
16 |
+
const ROOT_SANDBOX = 'sandbox';
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Dropbox root-path
|
20 |
+
*/
|
21 |
+
const ROOT_DROPBOX = 'dropbox';
|
22 |
+
|
23 |
+
/**
|
24 |
+
* OAuth object
|
25 |
+
*
|
26 |
+
* @var Dropbox_OAuth
|
27 |
+
*/
|
28 |
+
protected $oauth;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Default root-path, this will most likely be 'sandbox' or 'dropbox'
|
32 |
+
*
|
33 |
+
* @var string
|
34 |
+
*/
|
35 |
+
protected $root;
|
36 |
+
|
37 |
+
/**
|
38 |
+
* Constructor
|
39 |
+
*
|
40 |
+
* @param Dropbox_OAuth Dropbox_Auth object
|
41 |
+
* @param string $root default root path (sandbox or dropbox)
|
42 |
+
*/
|
43 |
+
public function __construct(Dropbox_OAuth $oauth, $root = self::ROOT_DROPBOX) {
|
44 |
+
|
45 |
+
$this->oauth = $oauth;
|
46 |
+
$this->root = $root;
|
47 |
+
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* Returns OAuth tokens based on an email address and passwords
|
52 |
+
*
|
53 |
+
* This can be used to bypass the regular oauth workflow.
|
54 |
+
*
|
55 |
+
* This method returns an array with 2 elements:
|
56 |
+
* * token
|
57 |
+
* * secret
|
58 |
+
*
|
59 |
+
* @param string $email
|
60 |
+
* @param string $password
|
61 |
+
* @return array
|
62 |
+
*/
|
63 |
+
public function getToken($email, $password) {
|
64 |
+
|
65 |
+
$data = $this->oauth->fetch('http://api.dropbox.com/0/token', array(
|
66 |
+
'email' => $email,
|
67 |
+
'password' => $password
|
68 |
+
),'POST');
|
69 |
+
|
70 |
+
$data = json_decode($data['body']);
|
71 |
+
return array(
|
72 |
+
'token' => $data->token,
|
73 |
+
'token_secret' => $data->secret,
|
74 |
+
);
|
75 |
+
|
76 |
+
}
|
77 |
+
|
78 |
+
/**
|
79 |
+
* Returns information about the current dropbox account
|
80 |
+
*
|
81 |
+
* @return stdclass
|
82 |
+
*/
|
83 |
+
public function getAccountInfo() {
|
84 |
+
|
85 |
+
$data = $this->oauth->fetch('http://api.dropbox.com/0/account/info');
|
86 |
+
return json_decode($data['body'],true);
|
87 |
+
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Creates a new Dropbox account
|
92 |
+
*
|
93 |
+
* @param string $email
|
94 |
+
* @param string $first_name
|
95 |
+
* @param string $last_name
|
96 |
+
* @param string $password
|
97 |
+
* @return bool
|
98 |
+
*/
|
99 |
+
public function createAccount($email, $first_name, $last_name, $password) {
|
100 |
+
|
101 |
+
$result = $this->oauth->fetch('http://api.dropbox.com/0/account',array(
|
102 |
+
'email' => $email,
|
103 |
+
'first_name' => $first_name,
|
104 |
+
'last_name' => $last_name,
|
105 |
+
'password' => $password,
|
106 |
+
), 'POST');
|
107 |
+
|
108 |
+
return $result['body']==='OK';
|
109 |
+
|
110 |
+
}
|
111 |
+
|
112 |
+
|
113 |
+
/**
|
114 |
+
* Returns a file's contents
|
115 |
+
*
|
116 |
+
* @param string $path path
|
117 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
118 |
+
* @return string
|
119 |
+
*/
|
120 |
+
public function getFile($path = '', $root = null) {
|
121 |
+
|
122 |
+
if (is_null($root)) $root = $this->root;
|
123 |
+
$path = implode("/", array_map('rawurlencode', explode("/", $path)));
|
124 |
+
$result = $this->oauth->fetch('http://api-content.dropbox.com/0/files/' . $root . '/' . ltrim($path,'/'));
|
125 |
+
return $result['body'];
|
126 |
+
|
127 |
+
}
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Uploads a new file
|
131 |
+
*
|
132 |
+
* @param string $path Target path (including filename)
|
133 |
+
* @param string $file Either a path to a file or a stream resource
|
134 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
135 |
+
* @return bool
|
136 |
+
*/
|
137 |
+
public function putFile($path, $file, $root = null) {
|
138 |
+
|
139 |
+
$directory = dirname($path);
|
140 |
+
$filename = basename($path);
|
141 |
+
|
142 |
+
if($directory==='.') $directory = '';
|
143 |
+
if (is_null($root)) $root = $this->root;
|
144 |
+
|
145 |
+
if (is_string($file)) {
|
146 |
+
|
147 |
+
$file = fopen($file,'r');
|
148 |
+
|
149 |
+
} elseif (!is_resource($file)) {
|
150 |
+
throw new Dropbox_Exception('File must be a file-resource or a string');
|
151 |
+
}
|
152 |
+
$result=$this->multipartFetch('http://api-content.dropbox.com/0/files/' .
|
153 |
+
$root . '/' . trim($directory,'/'), $file, $filename);
|
154 |
+
|
155 |
+
if(!isset($result["httpStatus"]) || $result["httpStatus"] != 200)
|
156 |
+
throw new Dropbox_Exception("Uploading file to Dropbox failed");
|
157 |
+
|
158 |
+
return true;
|
159 |
+
}
|
160 |
+
|
161 |
+
|
162 |
+
/**
|
163 |
+
* Copies a file or directory from one location to another
|
164 |
+
*
|
165 |
+
* This method returns the file information of the newly created file.
|
166 |
+
*
|
167 |
+
* @param string $from source path
|
168 |
+
* @param string $to destination path
|
169 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
170 |
+
* @return stdclass
|
171 |
+
*/
|
172 |
+
public function copy($from, $to, $root = null) {
|
173 |
+
|
174 |
+
if (is_null($root)) $root = $this->root;
|
175 |
+
$response = $this->oauth->fetch('http://api.dropbox.com/0/fileops/copy', array('from_path' => $from, 'to_path' => $to, 'root' => $root));
|
176 |
+
|
177 |
+
return json_decode($response['body'],true);
|
178 |
+
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Creates a new folder
|
183 |
+
*
|
184 |
+
* This method returns the information from the newly created directory
|
185 |
+
*
|
186 |
+
* @param string $path
|
187 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
188 |
+
* @return stdclass
|
189 |
+
*/
|
190 |
+
public function createFolder($path, $root = null) {
|
191 |
+
|
192 |
+
if (is_null($root)) $root = $this->root;
|
193 |
+
|
194 |
+
// Making sure the path starts with a /
|
195 |
+
$path = '/' . ltrim($path,'/');
|
196 |
+
|
197 |
+
$response = $this->oauth->fetch('http://api.dropbox.com/0/fileops/create_folder', array('path' => $path, 'root' => $root),'POST');
|
198 |
+
return json_decode($response['body'],true);
|
199 |
+
|
200 |
+
}
|
201 |
+
|
202 |
+
/**
|
203 |
+
* Deletes a file or folder.
|
204 |
+
*
|
205 |
+
* This method will return the metadata information from the deleted file or folder, if successful.
|
206 |
+
*
|
207 |
+
* @param string $path Path to new folder
|
208 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
209 |
+
* @return array
|
210 |
+
*/
|
211 |
+
public function delete($path, $root = null) {
|
212 |
+
|
213 |
+
if (is_null($root)) $root = $this->root;
|
214 |
+
$response = $this->oauth->fetch('http://api.dropbox.com/0/fileops/delete', array('path' => $path, 'root' => $root));
|
215 |
+
return json_decode($response['body']);
|
216 |
+
|
217 |
+
}
|
218 |
+
|
219 |
+
/**
|
220 |
+
* Moves a file or directory to a new location
|
221 |
+
*
|
222 |
+
* This method returns the information from the newly created directory
|
223 |
+
*
|
224 |
+
* @param mixed $from Source path
|
225 |
+
* @param mixed $to destination path
|
226 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
227 |
+
* @return stdclass
|
228 |
+
*/
|
229 |
+
public function move($from, $to, $root = null) {
|
230 |
+
|
231 |
+
if (is_null($root)) $root = $this->root;
|
232 |
+
$response = $this->oauth->fetch('http://api.dropbox.com/0/fileops/move', array('from_path' => rawurldecode($from), 'to_path' => rawurldecode($to), 'root' => $root));
|
233 |
+
|
234 |
+
return json_decode($response['body'],true);
|
235 |
+
|
236 |
+
}
|
237 |
+
|
238 |
+
/**
|
239 |
+
* Returns a list of links for a directory
|
240 |
+
*
|
241 |
+
* The links can be used to securely open files throug a browser. The links are cookie protected
|
242 |
+
* so a user is asked to login if there's no valid session cookie.
|
243 |
+
*
|
244 |
+
* @param string $path Path to directory or file
|
245 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
246 |
+
* @deprecated This method is no longer supported
|
247 |
+
* @return array
|
248 |
+
*/
|
249 |
+
public function getLinks($path, $root = null) {
|
250 |
+
|
251 |
+
throw new Dropbox_Exception('This API method is currently broken, and dropbox documentation about this is no longer online. Please ask Dropbox support if you really need this.');
|
252 |
+
|
253 |
+
/*
|
254 |
+
if (is_null($root)) $root = $this->root;
|
255 |
+
|
256 |
+
$response = $this->oauth->fetch('http://api.dropbox.com/0/links/' . $root . '/' . ltrim($path,'/'));
|
257 |
+
return json_decode($response,true);
|
258 |
+
*/
|
259 |
+
|
260 |
+
}
|
261 |
+
|
262 |
+
/**
|
263 |
+
* Returns file and directory information
|
264 |
+
*
|
265 |
+
* @param string $path Path to receive information from
|
266 |
+
* @param bool $list When set to true, this method returns information from all files in a directory. When set to false it will only return infromation from the specified directory.
|
267 |
+
* @param string $hash If a hash is supplied, this method simply returns true if nothing has changed since the last request. Good for caching.
|
268 |
+
* @param int $fileLimit Maximum number of file-information to receive
|
269 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
270 |
+
* @return array|true
|
271 |
+
*/
|
272 |
+
public function getMetaData($path, $list = true, $hash = null, $fileLimit = null, $root = null) {
|
273 |
+
|
274 |
+
if (is_null($root)) $root = $this->root;
|
275 |
+
|
276 |
+
$args = array(
|
277 |
+
'list' => $list,
|
278 |
+
);
|
279 |
+
|
280 |
+
if (!is_null($hash)) $args['hash'] = $hash;
|
281 |
+
if (!is_null($fileLimit)) $args['file_limit'] = $fileLimit;
|
282 |
+
|
283 |
+
$path = implode("/", array_map('rawurlencode', explode("/", $path)));
|
284 |
+
$response = $this->oauth->fetch('http://api.dropbox.com/0/metadata/' . $root . '/' . ltrim($path,'/'), $args);
|
285 |
+
|
286 |
+
/* 304 is not modified */
|
287 |
+
if ($response['httpStatus']==304) {
|
288 |
+
return true;
|
289 |
+
} else {
|
290 |
+
return json_decode($response['body'],true);
|
291 |
+
}
|
292 |
+
|
293 |
+
}
|
294 |
+
|
295 |
+
/**
|
296 |
+
* Returns a thumbnail (as a string) for a file path.
|
297 |
+
*
|
298 |
+
* @param string $path Path to file
|
299 |
+
* @param string $size small, medium or large
|
300 |
+
* @param string $root Use this to override the default root path (sandbox/dropbox)
|
301 |
+
* @return string
|
302 |
+
*/
|
303 |
+
public function getThumbnail($path, $size = 'small', $root = null) {
|
304 |
+
|
305 |
+
if (is_null($root)) $root = $this->root;
|
306 |
+
$response = $this->oauth->fetch('http://api-content.dropbox.com/0/thumbnails/' . $root . '/' . ltrim($path,'/'),array('size' => $size));
|
307 |
+
|
308 |
+
return $response['body'];
|
309 |
+
|
310 |
+
}
|
311 |
+
|
312 |
+
/**
|
313 |
+
* This method is used to generate multipart POST requests for file upload
|
314 |
+
*
|
315 |
+
* @param string $uri
|
316 |
+
* @param array $arguments
|
317 |
+
* @return bool
|
318 |
+
*/
|
319 |
+
protected function multipartFetch($uri, $file, $filename) {
|
320 |
+
|
321 |
+
/* random string */
|
322 |
+
$boundary = 'R50hrfBj5JYyfR3vF3wR96GPCC9Fd2q2pVMERvEaOE3D8LZTgLLbRpNwXek3';
|
323 |
+
|
324 |
+
$headers = array(
|
325 |
+
'Content-Type' => 'multipart/form-data; boundary=' . $boundary,
|
326 |
+
);
|
327 |
+
|
328 |
+
$body="--" . $boundary . "\r\n";
|
329 |
+
$body.="Content-Disposition: form-data; name=file; filename=".rawurldecode($filename)."\r\n";
|
330 |
+
$body.="Content-type: application/octet-stream\r\n";
|
331 |
+
$body.="\r\n";
|
332 |
+
$body.=stream_get_contents($file);
|
333 |
+
$body.="\r\n";
|
334 |
+
$body.="--" . $boundary . "--";
|
335 |
+
|
336 |
+
// Dropbox requires the filename to also be part of the regular arguments, so it becomes
|
337 |
+
// part of the signature.
|
338 |
+
$uri.='?file=' . $filename;
|
339 |
+
|
340 |
+
return $this->oauth->fetch($uri, $body, 'POST', $headers);
|
341 |
+
|
342 |
+
}
|
343 |
+
|
344 |
+
|
345 |
+
}
|
libs/Dropbox/Exception.php
ADDED
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox base exception
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Base exception class
|
14 |
+
*/
|
15 |
+
class Dropbox_Exception extends Exception { }
|
libs/Dropbox/Exception/Forbidden.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox Forbidden exception
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This exception is thrown when we receive the 403 forbidden response
|
14 |
+
*/
|
15 |
+
class Dropbox_Exception_Forbidden extends Dropbox_Exception {
|
16 |
+
|
17 |
+
|
18 |
+
}
|
libs/Dropbox/Exception/NotFound.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox Not Found exception
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This exception is thrown when a non-existant uri is accessed.
|
14 |
+
*
|
15 |
+
* Basically, this exception is used when we get back a 404.
|
16 |
+
*/
|
17 |
+
class Dropbox_Exception_NotFound extends Dropbox_Exception {
|
18 |
+
|
19 |
+
|
20 |
+
}
|
libs/Dropbox/Exception/OverQuota.php
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox Over Quota exception
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This exception is thrown when the operation required more space than the available quota.
|
14 |
+
*
|
15 |
+
* Basically, this exception is used when we get back a 507.
|
16 |
+
*/
|
17 |
+
class Dropbox_Exception_OverQuota extends Dropbox_Exception {
|
18 |
+
|
19 |
+
|
20 |
+
}
|
libs/Dropbox/Exception/RequestToken.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox RequestToken exception
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This exception is thrown when an error occured during the request_token process.
|
14 |
+
*/
|
15 |
+
class Dropbox_Exception_RequestToken extends Dropbox_Exception {
|
16 |
+
|
17 |
+
|
18 |
+
}
|
libs/Dropbox/OAuth.php
ADDED
@@ -0,0 +1,151 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox OAuth
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
|
13 |
+
/**
|
14 |
+
* This class is an abstract OAuth class.
|
15 |
+
*
|
16 |
+
* It must be extended by classes who wish to provide OAuth functionality
|
17 |
+
* using different libraries.
|
18 |
+
*/
|
19 |
+
abstract class Dropbox_OAuth {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* After a user has authorized access, dropbox can redirect the user back
|
23 |
+
* to this url.
|
24 |
+
*
|
25 |
+
* @var string
|
26 |
+
*/
|
27 |
+
public $authorizeCallbackUrl = null;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* Uri used to fetch request tokens
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
const URI_REQUEST_TOKEN = 'http://api.dropbox.com/0/oauth/request_token';
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Uri used to redirect the user to for authorization.
|
38 |
+
*
|
39 |
+
* @var string
|
40 |
+
*/
|
41 |
+
const URI_AUTHORIZE = 'http://www.dropbox.com/0/oauth/authorize';
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Uri used to
|
45 |
+
*
|
46 |
+
* @var string
|
47 |
+
*/
|
48 |
+
const URI_ACCESS_TOKEN = 'http://api.dropbox.com/0/oauth/access_token';
|
49 |
+
|
50 |
+
/**
|
51 |
+
* An OAuth request token.
|
52 |
+
*
|
53 |
+
* @var string
|
54 |
+
*/
|
55 |
+
protected $oauth_token = null;
|
56 |
+
|
57 |
+
/**
|
58 |
+
* OAuth token secret
|
59 |
+
*
|
60 |
+
* @var string
|
61 |
+
*/
|
62 |
+
protected $oauth_token_secret = null;
|
63 |
+
|
64 |
+
|
65 |
+
/**
|
66 |
+
* Constructor
|
67 |
+
*
|
68 |
+
* @param string $consumerKey
|
69 |
+
* @param string $consumerSecret
|
70 |
+
*/
|
71 |
+
abstract public function __construct($consumerKey, $consumerSecret);
|
72 |
+
|
73 |
+
/**
|
74 |
+
* Sets the request token and secret.
|
75 |
+
*
|
76 |
+
* The tokens can also be passed as an array into the first argument.
|
77 |
+
* The array must have the elements token and token_secret.
|
78 |
+
*
|
79 |
+
* @param string|array $token
|
80 |
+
* @param string $token_secret
|
81 |
+
* @return void
|
82 |
+
*/
|
83 |
+
public function setToken($token, $token_secret = null) {
|
84 |
+
|
85 |
+
if (is_array($token)) {
|
86 |
+
$this->oauth_token = $token['token'];
|
87 |
+
$this->oauth_token_secret = $token['token_secret'];
|
88 |
+
} else {
|
89 |
+
$this->oauth_token = $token;
|
90 |
+
$this->oauth_token_secret = $token_secret;
|
91 |
+
}
|
92 |
+
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Returns the oauth request tokens as an associative array.
|
97 |
+
*
|
98 |
+
* The array will contain the elements 'token' and 'token_secret'.
|
99 |
+
*
|
100 |
+
* @return array
|
101 |
+
*/
|
102 |
+
public function getToken() {
|
103 |
+
|
104 |
+
return array(
|
105 |
+
'token' => $this->oauth_token,
|
106 |
+
'token_secret' => $this->oauth_token_secret,
|
107 |
+
);
|
108 |
+
|
109 |
+
}
|
110 |
+
|
111 |
+
/**
|
112 |
+
* Returns the authorization url
|
113 |
+
*
|
114 |
+
* @param string $callBack Specify a callback url to automatically redirect the user back
|
115 |
+
* @return string
|
116 |
+
*/
|
117 |
+
public function getAuthorizeUrl($callBack = null) {
|
118 |
+
|
119 |
+
// Building the redirect uri
|
120 |
+
$token = $this->getToken();
|
121 |
+
$uri = self::URI_AUTHORIZE . '?oauth_token=' . $token['token'];
|
122 |
+
if ($callBack) $uri.='&oauth_callback=' . $callBack;
|
123 |
+
return $uri;
|
124 |
+
}
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Fetches a secured oauth url and returns the response body.
|
128 |
+
*
|
129 |
+
* @param string $uri
|
130 |
+
* @param mixed $arguments
|
131 |
+
* @param string $method
|
132 |
+
* @param array $httpHeaders
|
133 |
+
* @return string
|
134 |
+
*/
|
135 |
+
public abstract function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array());
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Requests the OAuth request token.
|
139 |
+
*
|
140 |
+
* @return array
|
141 |
+
*/
|
142 |
+
abstract public function getRequestToken();
|
143 |
+
|
144 |
+
/**
|
145 |
+
* Requests the OAuth access tokens.
|
146 |
+
*
|
147 |
+
* @return array
|
148 |
+
*/
|
149 |
+
abstract public function getAccessToken();
|
150 |
+
|
151 |
+
}
|
libs/Dropbox/OAuth/Curl.php
ADDED
@@ -0,0 +1,282 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox OAuth
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2011 Daniel Huesken
|
8 |
+
* @author Daniel Huesken (http://www.danielhuesken.de/)
|
9 |
+
* @license MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This class is used to sign all requests to dropbox.
|
14 |
+
*
|
15 |
+
* This specific class uses WordPress WP_Http to authenticate.
|
16 |
+
*/
|
17 |
+
class Dropbox_OAuth_Curl extends Dropbox_OAuth {
|
18 |
+
|
19 |
+
/**
|
20 |
+
*
|
21 |
+
* @var string ConsumerKey
|
22 |
+
*/
|
23 |
+
protected $consumerKey = null;
|
24 |
+
/**
|
25 |
+
*
|
26 |
+
* @var string ConsumerSecret
|
27 |
+
*/
|
28 |
+
protected $consumerSecret = null;
|
29 |
+
/**
|
30 |
+
*
|
31 |
+
* @var string ProzessCallBack
|
32 |
+
*/
|
33 |
+
public $ProgressFunction = false;
|
34 |
+
|
35 |
+
/**
|
36 |
+
* Constructor
|
37 |
+
*
|
38 |
+
* @param string $consumerKey
|
39 |
+
* @param string $consumerSecret
|
40 |
+
*/
|
41 |
+
public function __construct($consumerKey, $consumerSecret) {
|
42 |
+
if (!function_exists('curl_exec'))
|
43 |
+
throw new Dropbox_Exception('The PHP curl functions not available!');
|
44 |
+
|
45 |
+
$this->consumerKey = $consumerKey;
|
46 |
+
$this->consumerSecret = $consumerSecret;
|
47 |
+
}
|
48 |
+
|
49 |
+
/**
|
50 |
+
* Fetches a secured oauth url and returns the response body.
|
51 |
+
*
|
52 |
+
* @param string $uri
|
53 |
+
* @param mixed $arguments
|
54 |
+
* @param string $method
|
55 |
+
* @param array $httpHeaders
|
56 |
+
* @return string
|
57 |
+
*/
|
58 |
+
public function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()) {
|
59 |
+
|
60 |
+
$uri=str_replace('http://', 'https://', $uri); // all https, upload makes problems if not
|
61 |
+
if (is_string($arguments) and strtoupper($method) == 'POST') {
|
62 |
+
preg_match("/\?file=(.*)$/i", $uri, $matches);
|
63 |
+
if (isset($matches[1])) {
|
64 |
+
$uri = str_replace($matches[0], "", $uri);
|
65 |
+
$filename = $matches[1];
|
66 |
+
$httpHeaders=array_merge($httpHeaders,$this->getOAuthHeader($uri, array("file" => $filename), $method));
|
67 |
+
}
|
68 |
+
} else {
|
69 |
+
$httpHeaders=array_merge($httpHeaders,$this->getOAuthHeader($uri, $arguments, $method));
|
70 |
+
}
|
71 |
+
|
72 |
+
$ch = curl_init();
|
73 |
+
if (strtoupper($method) == 'POST') {
|
74 |
+
curl_setopt($ch, CURLOPT_URL, $uri);
|
75 |
+
curl_setopt($ch, CURLOPT_POST, true);
|
76 |
+
if (is_array($arguments))
|
77 |
+
$arguments=http_build_query($arguments);
|
78 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $arguments);
|
79 |
+
$httpHeaders['Content-Length']=strlen($arguments);
|
80 |
+
} else {
|
81 |
+
curl_setopt($ch, CURLOPT_URL, $uri.'?'.http_build_query($arguments));
|
82 |
+
curl_setopt($ch, CURLOPT_POST, false);
|
83 |
+
}
|
84 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
85 |
+
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
|
86 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
87 |
+
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
88 |
+
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
|
89 |
+
//Build header
|
90 |
+
$headers = array();
|
91 |
+
foreach ($httpHeaders as $name => $value) {
|
92 |
+
$headers[] = "{$name}: $value";
|
93 |
+
}
|
94 |
+
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
95 |
+
if (!ini_get('safe_mode') && !ini_get('open_basedir'))
|
96 |
+
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true );
|
97 |
+
if (function_exists($this->ProgressFunction) and defined('CURLOPT_PROGRESSFUNCTION')) {
|
98 |
+
curl_setopt($curl, CURLOPT_NOPROGRESS, false);
|
99 |
+
curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, $this->ProgressFunction);
|
100 |
+
curl_setopt($curl, CURLOPT_BUFFERSIZE, 512);
|
101 |
+
}
|
102 |
+
$response=curl_exec($ch);
|
103 |
+
$errorno=curl_errno($ch);
|
104 |
+
$error=curl_error($ch);
|
105 |
+
$status=curl_getinfo($ch,CURLINFO_HTTP_CODE);
|
106 |
+
curl_close($ch);
|
107 |
+
|
108 |
+
|
109 |
+
if (!empty($errorno))
|
110 |
+
throw new Dropbox_Exception_NotFound('Curl error: ('.$errorno.') '.$error."\n");
|
111 |
+
|
112 |
+
if ($status>=300) {
|
113 |
+
$body = json_decode($response,true);
|
114 |
+
switch ($status) {
|
115 |
+
// Not modified
|
116 |
+
case 304 :
|
117 |
+
return array(
|
118 |
+
'httpStatus' => 304,
|
119 |
+
'body' => null,
|
120 |
+
);
|
121 |
+
break;
|
122 |
+
case 403 :
|
123 |
+
throw new Dropbox_Exception_Forbidden('Forbidden.
|
124 |
+
This could mean a bad OAuth request, or a file or folder already existing at the target location.
|
125 |
+
' . $body["error"] . "\n");
|
126 |
+
case 404 :
|
127 |
+
throw new Dropbox_Exception_NotFound('Resource at uri: ' . $uri . ' could not be found. ' .
|
128 |
+
$body["error"] . "\n");
|
129 |
+
case 507 :
|
130 |
+
throw new Dropbox_Exception_OverQuota('This dropbox is full. ' .
|
131 |
+
$body["error"] . "\n");
|
132 |
+
}
|
133 |
+
if (!empty($body["error"]))
|
134 |
+
throw new Dropbox_Exception_RequestToken('Error: ('.$status.') '.$body["error"]."\n");
|
135 |
+
}
|
136 |
+
|
137 |
+
return array(
|
138 |
+
'body' => $response,
|
139 |
+
'httpStatus' => $status
|
140 |
+
);
|
141 |
+
}
|
142 |
+
|
143 |
+
/**
|
144 |
+
* Returns named array with oauth parameters for further use
|
145 |
+
* @return array Array with oauth_ parameters
|
146 |
+
*/
|
147 |
+
private function getOAuthBaseParams() {
|
148 |
+
$params['oauth_version'] = '1.0';
|
149 |
+
$params['oauth_signature_method'] = 'HMAC-SHA1';
|
150 |
+
|
151 |
+
$params['oauth_consumer_key'] = $this->consumerKey;
|
152 |
+
$tokens = $this->getToken();
|
153 |
+
if (isset($tokens['token']) && $tokens['token']) {
|
154 |
+
$params['oauth_token'] = $tokens['token'];
|
155 |
+
}
|
156 |
+
$params['oauth_timestamp'] = time();
|
157 |
+
$params['oauth_nonce'] = md5(microtime() . mt_rand());
|
158 |
+
return $params;
|
159 |
+
}
|
160 |
+
|
161 |
+
/**
|
162 |
+
* Creates valid Authorization header for OAuth, based on URI and Params
|
163 |
+
*
|
164 |
+
* @param string $uri
|
165 |
+
* @param array $params
|
166 |
+
* @param string $method GET or POST, standard is GET
|
167 |
+
* @param array $oAuthParams optional, pass your own oauth_params here
|
168 |
+
* @return array Array for request's headers section like
|
169 |
+
* array('Authorization' => 'OAuth ...');
|
170 |
+
*/
|
171 |
+
private function getOAuthHeader($uri, $params, $method = 'GET', $oAuthParams = null) {
|
172 |
+
$oAuthParams = $oAuthParams ? $oAuthParams : $this->getOAuthBaseParams();
|
173 |
+
|
174 |
+
// create baseString to encode for the sent parameters
|
175 |
+
$baseString = $method . '&';
|
176 |
+
$baseString .= $this->oauth_urlencode($uri) . "&";
|
177 |
+
|
178 |
+
// OAuth header does not include GET-Parameters
|
179 |
+
$signatureParams = array_merge($params, $oAuthParams);
|
180 |
+
|
181 |
+
// sorting the parameters
|
182 |
+
ksort($signatureParams);
|
183 |
+
|
184 |
+
$encodedParams = array();
|
185 |
+
foreach ($signatureParams as $key => $value) {
|
186 |
+
$encodedParams[] = $this->oauth_urlencode($key) . '=' . $this->oauth_urlencode($value);
|
187 |
+
}
|
188 |
+
|
189 |
+
$baseString .= $this->oauth_urlencode(implode('&', $encodedParams));
|
190 |
+
|
191 |
+
// encode the signature
|
192 |
+
$tokens = $this->getToken();
|
193 |
+
$hash = $this->hash_hmac_sha1($this->consumerSecret.'&'.$tokens['token_secret'], $baseString);
|
194 |
+
$signature = base64_encode($hash);
|
195 |
+
|
196 |
+
// add signature to oAuthParams
|
197 |
+
$oAuthParams['oauth_signature'] = $signature;
|
198 |
+
|
199 |
+
$oAuthEncoded = array();
|
200 |
+
foreach ($oAuthParams as $key => $value) {
|
201 |
+
$oAuthEncoded[] = $key . '="' . $this->oauth_urlencode($value) . '"';
|
202 |
+
}
|
203 |
+
|
204 |
+
return array('Authorization' => 'OAuth ' . implode(', ', $oAuthEncoded));
|
205 |
+
}
|
206 |
+
|
207 |
+
/**
|
208 |
+
* Requests the OAuth request token.
|
209 |
+
*
|
210 |
+
* @return void
|
211 |
+
*/
|
212 |
+
public function getRequestToken() {
|
213 |
+
$result = $this->fetch(self::URI_REQUEST_TOKEN, array(), 'POST');
|
214 |
+
if ($result['httpStatus'] == "200") {
|
215 |
+
$tokens = array();
|
216 |
+
parse_str($result['body'], $tokens);
|
217 |
+
$this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']);
|
218 |
+
return $this->getToken();
|
219 |
+
} else {
|
220 |
+
throw new Dropbox_Exception_RequestToken('We were unable to fetch request tokens. This likely means that your consumer key and/or secret are incorrect.');
|
221 |
+
}
|
222 |
+
}
|
223 |
+
|
224 |
+
/**
|
225 |
+
* Requests the OAuth access tokens.
|
226 |
+
*
|
227 |
+
* This method requires the 'unauthorized' request tokens
|
228 |
+
* and, if successful will set the authorized request tokens.
|
229 |
+
*
|
230 |
+
* @return void
|
231 |
+
*/
|
232 |
+
public function getAccessToken() {
|
233 |
+
$result = $this->fetch(self::URI_ACCESS_TOKEN, array(), 'POST');
|
234 |
+
if ($result['httpStatus'] == "200") {
|
235 |
+
$tokens = array();
|
236 |
+
parse_str($result['body'], $tokens);
|
237 |
+
$this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']);
|
238 |
+
return $this->getToken();
|
239 |
+
} else {
|
240 |
+
throw new Dropbox_Exception_RequestToken('We were unable to fetch request tokens. This likely means that your consumer key and/or secret are incorrect.');
|
241 |
+
}
|
242 |
+
}
|
243 |
+
|
244 |
+
/**
|
245 |
+
* Helper function to properly urlencode parameters.
|
246 |
+
* See http://php.net/manual/en/function.oauth-urlencode.php
|
247 |
+
*
|
248 |
+
* @param string $string
|
249 |
+
* @return string
|
250 |
+
*/
|
251 |
+
private function oauth_urlencode($string) {
|
252 |
+
return str_replace('%E7', '~', rawurlencode($string));
|
253 |
+
}
|
254 |
+
|
255 |
+
/**
|
256 |
+
* Hash function for hmac_sha1; uses native function if available.
|
257 |
+
*
|
258 |
+
* @param string $key
|
259 |
+
* @param string $data
|
260 |
+
* @return string
|
261 |
+
*/
|
262 |
+
private function hash_hmac_sha1($key, $data) {
|
263 |
+
if (function_exists('hash_hmac') && in_array('sha1', hash_algos())) {
|
264 |
+
return hash_hmac('sha1', $data, $key, true);
|
265 |
+
} else {
|
266 |
+
$blocksize = 64;
|
267 |
+
$hashfunc = 'sha1';
|
268 |
+
if (strlen($key) > $blocksize) {
|
269 |
+
$key = pack('H*', $hashfunc($key));
|
270 |
+
}
|
271 |
+
|
272 |
+
$key = str_pad($key, $blocksize, chr(0x00));
|
273 |
+
$ipad = str_repeat(chr(0x36), $blocksize);
|
274 |
+
$opad = str_repeat(chr(0x5c), $blocksize);
|
275 |
+
$hash = pack('H*', $hashfunc(( $key ^ $opad ) . pack('H*', $hashfunc(($key ^ $ipad) . $data))));
|
276 |
+
|
277 |
+
return $hash;
|
278 |
+
}
|
279 |
+
}
|
280 |
+
|
281 |
+
|
282 |
+
}
|
libs/Dropbox/OAuth/PEAR.php
ADDED
@@ -0,0 +1,170 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox OAuth
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
|
13 |
+
/**
|
14 |
+
* This class is used to sign all requests to dropbox
|
15 |
+
*
|
16 |
+
* This classes use the PEAR HTTP_OAuth package. Make sure this is installed.
|
17 |
+
*/
|
18 |
+
class Dropbox_OAuth_PEAR extends Dropbox_OAuth {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* OAuth object
|
22 |
+
*
|
23 |
+
* @var OAuth
|
24 |
+
*/
|
25 |
+
protected $oAuth;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* OAuth consumer key
|
29 |
+
*
|
30 |
+
* We need to keep this around for later.
|
31 |
+
*
|
32 |
+
* @var string
|
33 |
+
*/
|
34 |
+
protected $consumerKey;
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Constructor
|
38 |
+
*
|
39 |
+
* @param string $consumerKey
|
40 |
+
* @param string $consumerSecret
|
41 |
+
*/
|
42 |
+
public function __construct($consumerKey, $consumerSecret) {
|
43 |
+
|
44 |
+
if (!class_exists('HTTP_OAuth_Consumer')) {
|
45 |
+
|
46 |
+
// We're going to try to load in manually
|
47 |
+
include 'HTTP/OAuth/Consumer.php';
|
48 |
+
|
49 |
+
}
|
50 |
+
if (!class_exists('HTTP_OAuth_Consumer'))
|
51 |
+
throw new Dropbox_Exception('The HTTP_OAuth_Consumer class could not be found! Did you install the pear HTTP_OAUTH class?');
|
52 |
+
|
53 |
+
$this->OAuth = new HTTP_OAuth_Consumer($consumerKey, $consumerSecret);
|
54 |
+
$this->consumerKey = $consumerKey;
|
55 |
+
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Sets the request token and secret.
|
60 |
+
*
|
61 |
+
* The tokens can also be passed as an array into the first argument.
|
62 |
+
* The array must have the elements token and token_secret.
|
63 |
+
*
|
64 |
+
* @param string|array $token
|
65 |
+
* @param string $token_secret
|
66 |
+
* @return void
|
67 |
+
*/
|
68 |
+
public function setToken($token, $token_secret = null) {
|
69 |
+
|
70 |
+
parent::setToken($token,$token_secret);
|
71 |
+
$this->OAuth->setToken($this->oauth_token);
|
72 |
+
$this->OAuth->setTokenSecret($this->oauth_token_secret);
|
73 |
+
|
74 |
+
}
|
75 |
+
|
76 |
+
/**
|
77 |
+
* Fetches a secured oauth url and returns the response body.
|
78 |
+
*
|
79 |
+
* @param string $uri
|
80 |
+
* @param mixed $arguments
|
81 |
+
* @param string $method
|
82 |
+
* @param array $httpHeaders
|
83 |
+
* @return string
|
84 |
+
*/
|
85 |
+
public function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()) {
|
86 |
+
|
87 |
+
$consumerRequest = new HTTP_OAuth_Consumer_Request();
|
88 |
+
$consumerRequest->setUrl($uri);
|
89 |
+
$consumerRequest->setMethod($method);
|
90 |
+
$consumerRequest->setSecrets($this->OAuth->getSecrets());
|
91 |
+
|
92 |
+
$parameters = array(
|
93 |
+
'oauth_consumer_key' => $this->consumerKey,
|
94 |
+
'oauth_signature_method' => 'HMAC-SHA1',
|
95 |
+
'oauth_token' => $this->oauth_token,
|
96 |
+
);
|
97 |
+
|
98 |
+
|
99 |
+
if (is_array($arguments)) {
|
100 |
+
$parameters = array_merge($parameters,$arguments);
|
101 |
+
} elseif (is_string($arguments)) {
|
102 |
+
$consumerRequest->setBody($arguments);
|
103 |
+
}
|
104 |
+
$consumerRequest->setParameters($parameters);
|
105 |
+
|
106 |
+
|
107 |
+
if (count($httpHeaders)) {
|
108 |
+
foreach($httpHeaders as $k=>$v) {
|
109 |
+
$consumerRequest->setHeader($k, $v);
|
110 |
+
}
|
111 |
+
}
|
112 |
+
|
113 |
+
$response = $consumerRequest->send();
|
114 |
+
|
115 |
+
switch($response->getStatus()) {
|
116 |
+
|
117 |
+
// Not modified
|
118 |
+
case 304 :
|
119 |
+
return array(
|
120 |
+
'httpStatus' => 304,
|
121 |
+
'body' => null,
|
122 |
+
);
|
123 |
+
break;
|
124 |
+
case 403 :
|
125 |
+
throw new Dropbox_Exception_Forbidden('Forbidden. This could mean a bad OAuth request, or a file or folder already existing at the target location.');
|
126 |
+
case 404 :
|
127 |
+
throw new Dropbox_Exception_NotFound('Resource at uri: ' . $uri . ' could not be found');
|
128 |
+
case 507 :
|
129 |
+
throw new Dropbox_Exception_OverQuota('This dropbox is full');
|
130 |
+
|
131 |
+
}
|
132 |
+
|
133 |
+
return array(
|
134 |
+
'httpStatus' => $response->getStatus(),
|
135 |
+
'body' => $response->getBody()
|
136 |
+
);
|
137 |
+
|
138 |
+
}
|
139 |
+
|
140 |
+
/**
|
141 |
+
* Requests the OAuth request token.
|
142 |
+
*
|
143 |
+
* @return void
|
144 |
+
*/
|
145 |
+
public function getRequestToken() {
|
146 |
+
|
147 |
+
$this->OAuth->getRequestToken(self::URI_REQUEST_TOKEN);
|
148 |
+
$this->setToken($this->OAuth->getToken(), $this->OAuth->getTokenSecret());
|
149 |
+
return $this->getToken();
|
150 |
+
|
151 |
+
}
|
152 |
+
|
153 |
+
/**
|
154 |
+
* Requests the OAuth access tokens.
|
155 |
+
*
|
156 |
+
* This method requires the 'unauthorized' request tokens
|
157 |
+
* and, if successful will set the authorized request tokens.
|
158 |
+
*
|
159 |
+
* @return void
|
160 |
+
*/
|
161 |
+
public function getAccessToken() {
|
162 |
+
|
163 |
+
$this->OAuth->getAccessToken(self::URI_ACCESS_TOKEN);
|
164 |
+
$this->setToken($this->OAuth->getToken(), $this->OAuth->getTokenSecret());
|
165 |
+
return $this->getToken();
|
166 |
+
|
167 |
+
}
|
168 |
+
|
169 |
+
|
170 |
+
}
|
libs/Dropbox/OAuth/PHP.php
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox OAuth
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
|
13 |
+
/**
|
14 |
+
* This class is used to sign all requests to dropbox.
|
15 |
+
*
|
16 |
+
* This specific class uses the PHP OAuth extension
|
17 |
+
*/
|
18 |
+
class Dropbox_OAuth_PHP extends Dropbox_OAuth {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* OAuth object
|
22 |
+
*
|
23 |
+
* @var OAuth
|
24 |
+
*/
|
25 |
+
protected $oAuth;
|
26 |
+
|
27 |
+
/**
|
28 |
+
* Constructor
|
29 |
+
*
|
30 |
+
* @param string $consumerKey
|
31 |
+
* @param string $consumerSecret
|
32 |
+
*/
|
33 |
+
public function __construct($consumerKey, $consumerSecret) {
|
34 |
+
|
35 |
+
if (!class_exists('OAuth'))
|
36 |
+
throw new Dropbox_Exception('The OAuth class could not be found! Did you install and enable the oauth extension?');
|
37 |
+
|
38 |
+
$this->OAuth = new OAuth($consumerKey, $consumerSecret,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_URI);
|
39 |
+
$this->OAuth->enableDebug();
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Sets the request token and secret.
|
45 |
+
*
|
46 |
+
* The tokens can also be passed as an array into the first argument.
|
47 |
+
* The array must have the elements token and token_secret.
|
48 |
+
*
|
49 |
+
* @param string|array $token
|
50 |
+
* @param string $token_secret
|
51 |
+
* @return void
|
52 |
+
*/
|
53 |
+
public function setToken($token, $token_secret = null) {
|
54 |
+
|
55 |
+
parent::setToken($token,$token_secret);
|
56 |
+
$this->OAuth->setToken($this->oauth_token, $this->oauth_token_secret);
|
57 |
+
|
58 |
+
}
|
59 |
+
|
60 |
+
|
61 |
+
/**
|
62 |
+
* Fetches a secured oauth url and returns the response body.
|
63 |
+
*
|
64 |
+
* @param string $uri
|
65 |
+
* @param mixed $arguments
|
66 |
+
* @param string $method
|
67 |
+
* @param array $httpHeaders
|
68 |
+
* @return string
|
69 |
+
*/
|
70 |
+
public function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()) {
|
71 |
+
|
72 |
+
try {
|
73 |
+
$this->OAuth->fetch($uri, $arguments, $method, $httpHeaders);
|
74 |
+
$result = $this->OAuth->getLastResponse();
|
75 |
+
$lastResponseInfo = $this->OAuth->getLastResponseInfo();
|
76 |
+
return array(
|
77 |
+
'httpStatus' => $lastResponseInfo['http_code'],
|
78 |
+
'body' => $result,
|
79 |
+
);
|
80 |
+
} catch (OAuthException $e) {
|
81 |
+
|
82 |
+
$lastResponseInfo = $this->OAuth->getLastResponseInfo();
|
83 |
+
switch($lastResponseInfo['http_code']) {
|
84 |
+
|
85 |
+
// Not modified
|
86 |
+
case 304 :
|
87 |
+
return array(
|
88 |
+
'httpStatus' => 304,
|
89 |
+
'body' => null,
|
90 |
+
);
|
91 |
+
break;
|
92 |
+
case 403 :
|
93 |
+
throw new Dropbox_Exception_Forbidden('Forbidden. This could mean a bad OAuth request, or a file or folder already existing at the target location.');
|
94 |
+
case 404 :
|
95 |
+
throw new Dropbox_Exception_NotFound('Resource at uri: ' . $uri . ' could not be found');
|
96 |
+
case 507 :
|
97 |
+
throw new Dropbox_Exception_OverQuota('This dropbox is full');
|
98 |
+
default:
|
99 |
+
// rethrowing
|
100 |
+
throw $e;
|
101 |
+
}
|
102 |
+
|
103 |
+
}
|
104 |
+
|
105 |
+
}
|
106 |
+
|
107 |
+
/**
|
108 |
+
* Requests the OAuth request token.
|
109 |
+
*
|
110 |
+
* @return void
|
111 |
+
*/
|
112 |
+
public function getRequestToken() {
|
113 |
+
|
114 |
+
try {
|
115 |
+
|
116 |
+
$tokens = $this->OAuth->getRequestToken(self::URI_REQUEST_TOKEN);
|
117 |
+
$this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']);
|
118 |
+
return $this->getToken();
|
119 |
+
|
120 |
+
} catch (OAuthException $e) {
|
121 |
+
|
122 |
+
throw new Dropbox_Exception_RequestToken('We were unable to fetch request tokens. This likely means that your consumer key and/or secret are incorrect.',0,$e);
|
123 |
+
|
124 |
+
}
|
125 |
+
|
126 |
+
}
|
127 |
+
|
128 |
+
|
129 |
+
/**
|
130 |
+
* Requests the OAuth access tokens.
|
131 |
+
*
|
132 |
+
* This method requires the 'unauthorized' request tokens
|
133 |
+
* and, if successful will set the authorized request tokens.
|
134 |
+
*
|
135 |
+
* @return void
|
136 |
+
*/
|
137 |
+
public function getAccessToken() {
|
138 |
+
|
139 |
+
$uri = self::URI_ACCESS_TOKEN;
|
140 |
+
$tokens = $this->OAuth->getAccessToken($uri);
|
141 |
+
$this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']);
|
142 |
+
return $this->getToken();
|
143 |
+
|
144 |
+
}
|
145 |
+
|
146 |
+
|
147 |
+
}
|
libs/Dropbox/OAuth/Wordpress.php
ADDED
@@ -0,0 +1,223 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox OAuth
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Stefan Motz
|
8 |
+
* @author Stefan Motz (http://www.multimediamotz.de/)
|
9 |
+
* @license MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This class is used to sign all requests to dropbox.
|
14 |
+
*
|
15 |
+
* This specific class uses WordPress WP_Http to authenticate.
|
16 |
+
*/
|
17 |
+
class Dropbox_OAuth_Wordpress extends Dropbox_OAuth {
|
18 |
+
|
19 |
+
/**
|
20 |
+
*
|
21 |
+
* @var string ConsumerKey
|
22 |
+
*/
|
23 |
+
protected $consumerKey = null;
|
24 |
+
/**
|
25 |
+
*
|
26 |
+
* @var string ConsumerSecret
|
27 |
+
*/
|
28 |
+
protected $consumerSecret = null;
|
29 |
+
|
30 |
+
/**
|
31 |
+
* Constructor
|
32 |
+
*
|
33 |
+
* @param string $consumerKey
|
34 |
+
* @param string $consumerSecret
|
35 |
+
*/
|
36 |
+
public function __construct($consumerKey, $consumerSecret) {
|
37 |
+
if (!(defined('ABSPATH') && defined('WPINC')))
|
38 |
+
throw new Dropbox_Exception('The Wordpress OAuth class is available within a wordpress context only!');
|
39 |
+
if (!class_exists('WP_Http')) {
|
40 |
+
include_once( ABSPATH . WPINC . '/class-http.php' );
|
41 |
+
}
|
42 |
+
|
43 |
+
$this->consumerKey = $consumerKey;
|
44 |
+
$this->consumerSecret = $consumerSecret;
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Fetches a secured oauth url and returns the response body.
|
49 |
+
*
|
50 |
+
* @param string $uri
|
51 |
+
* @param mixed $arguments
|
52 |
+
* @param string $method
|
53 |
+
* @param array $httpHeaders
|
54 |
+
* @return string
|
55 |
+
*/
|
56 |
+
public function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()) {
|
57 |
+
|
58 |
+
$requestParams = array();
|
59 |
+
|
60 |
+
$requestParams['method'] = $method;
|
61 |
+
$oAuthHeader = $this->getOAuthHeader($uri, $arguments, $method);
|
62 |
+
$requestParams['headers'] = array_merge($httpHeaders, $oAuthHeader);
|
63 |
+
|
64 |
+
// arguments will be passed to uri for GET, to body for POST etc.
|
65 |
+
if ($method == 'GET') {
|
66 |
+
$uri .= '?' . http_build_query($arguments);
|
67 |
+
} else {
|
68 |
+
if (count($arguments)) {
|
69 |
+
$requestParams['body'] = $arguments;
|
70 |
+
}
|
71 |
+
}
|
72 |
+
|
73 |
+
$request = new WP_Http;
|
74 |
+
|
75 |
+
//$uri = str_replace('api.dropbox.com', 'localhost:12346', $uri);
|
76 |
+
|
77 |
+
$result = $request->request($uri, $requestParams);
|
78 |
+
|
79 |
+
return array(
|
80 |
+
'httpStatus' => $result['response']['code'],
|
81 |
+
'body' => $result['body'],
|
82 |
+
);
|
83 |
+
}
|
84 |
+
|
85 |
+
/**
|
86 |
+
* Returns named array with oauth parameters for further use
|
87 |
+
* @return array Array with oauth_ parameters
|
88 |
+
*/
|
89 |
+
private function getOAuthBaseParams() {
|
90 |
+
$params['oauth_version'] = '1.0';
|
91 |
+
$params['oauth_signature_method'] = 'HMAC-SHA1';
|
92 |
+
|
93 |
+
$params['oauth_consumer_key'] = $this->consumerKey;
|
94 |
+
$tokens = $this->getToken();
|
95 |
+
if (isset($tokens['token']) && $tokens['token']) {
|
96 |
+
$params['oauth_token'] = $tokens['token'];
|
97 |
+
}
|
98 |
+
$params['oauth_timestamp'] = time();
|
99 |
+
$params['oauth_nonce'] = md5(microtime() . mt_rand());
|
100 |
+
return $params;
|
101 |
+
}
|
102 |
+
|
103 |
+
/**
|
104 |
+
* Creates valid Authorization header for OAuth, based on URI and Params
|
105 |
+
*
|
106 |
+
* @param string $uri
|
107 |
+
* @param array $params
|
108 |
+
* @param string $method GET or POST, standard is GET
|
109 |
+
* @param array $oAuthParams optional, pass your own oauth_params here
|
110 |
+
* @return array Array for request's headers section like
|
111 |
+
* array('Authorization' => 'OAuth ...');
|
112 |
+
*/
|
113 |
+
private function getOAuthHeader($uri, $params, $method = 'GET', $oAuthParams = null) {
|
114 |
+
$oAuthParams = $oAuthParams ? $oAuthParams : $this->getOAuthBaseParams();
|
115 |
+
|
116 |
+
// create baseString to encode for the sent parameters
|
117 |
+
$baseString = $method . '&';
|
118 |
+
$baseString .= $this->oauth_urlencode($uri) . "&";
|
119 |
+
|
120 |
+
// OAuth header does not include GET-Parameters
|
121 |
+
$signatureParams = array_merge($params, $oAuthParams);
|
122 |
+
|
123 |
+
// sorting the parameters
|
124 |
+
ksort($signatureParams);
|
125 |
+
|
126 |
+
$encodedParams = array();
|
127 |
+
foreach ($signatureParams as $key => $value) {
|
128 |
+
$encodedParams[] = $this->oauth_urlencode($key) . '=' . $this->oauth_urlencode($value);
|
129 |
+
}
|
130 |
+
|
131 |
+
$baseString .= $this->oauth_urlencode(implode('&', $encodedParams));
|
132 |
+
|
133 |
+
// encode the signature
|
134 |
+
$tokens = $this->getToken();
|
135 |
+
$hash = $this->hash_hmac_sha1($this->consumerSecret.'&'.$tokens['token_secret'], $baseString);
|
136 |
+
$signature = base64_encode($hash);
|
137 |
+
|
138 |
+
// add signature to oAuthParams
|
139 |
+
$oAuthParams['oauth_signature'] = $signature;
|
140 |
+
|
141 |
+
$oAuthEncoded = array();
|
142 |
+
foreach ($oAuthParams as $key => $value) {
|
143 |
+
$oAuthEncoded[] = $key . '="' . $this->oauth_urlencode($value) . '"';
|
144 |
+
}
|
145 |
+
|
146 |
+
return array('Authorization' => 'OAuth ' . implode(', ', $oAuthEncoded));
|
147 |
+
}
|
148 |
+
|
149 |
+
/**
|
150 |
+
* Requests the OAuth request token.
|
151 |
+
*
|
152 |
+
* @return void
|
153 |
+
*/
|
154 |
+
public function getRequestToken() {
|
155 |
+
$result = $this->fetch(self::URI_REQUEST_TOKEN, array(), 'POST');
|
156 |
+
if ($result['httpStatus'] == "200") {
|
157 |
+
$tokens = array();
|
158 |
+
parse_str($result['body'], $tokens);
|
159 |
+
$this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']);
|
160 |
+
return $this->getToken();
|
161 |
+
} else {
|
162 |
+
throw new Dropbox_Exception_RequestToken('We were unable to fetch request tokens. This likely means that your consumer key and/or secret are incorrect.');
|
163 |
+
}
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Requests the OAuth access tokens.
|
168 |
+
*
|
169 |
+
* This method requires the 'unauthorized' request tokens
|
170 |
+
* and, if successful will set the authorized request tokens.
|
171 |
+
*
|
172 |
+
* @return void
|
173 |
+
*/
|
174 |
+
public function getAccessToken() {
|
175 |
+
$result = $this->fetch(self::URI_ACCESS_TOKEN, array(), 'POST');
|
176 |
+
if ($result['httpStatus'] == "200") {
|
177 |
+
$tokens = array();
|
178 |
+
parse_str($result['body'], $tokens);
|
179 |
+
$this->setToken($tokens['oauth_token'], $tokens['oauth_token_secret']);
|
180 |
+
return $this->getToken();
|
181 |
+
} else {
|
182 |
+
throw new Dropbox_Exception_RequestToken('We were unable to fetch request tokens. This likely means that your consumer key and/or secret are incorrect.');
|
183 |
+
}
|
184 |
+
}
|
185 |
+
|
186 |
+
/**
|
187 |
+
* Helper function to properly urlencode parameters.
|
188 |
+
* See http://php.net/manual/en/function.oauth-urlencode.php
|
189 |
+
*
|
190 |
+
* @param string $string
|
191 |
+
* @return string
|
192 |
+
*/
|
193 |
+
private function oauth_urlencode($string) {
|
194 |
+
return str_replace('%E7', '~', rawurlencode($string));
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Hash function for hmac_sha1; uses native function if available.
|
199 |
+
*
|
200 |
+
* @param string $key
|
201 |
+
* @param string $data
|
202 |
+
* @return string
|
203 |
+
*/
|
204 |
+
private function hash_hmac_sha1($key, $data) {
|
205 |
+
if (function_exists('hash_hmac') && in_array('sha1', hash_algos())) {
|
206 |
+
return hash_hmac('sha1', $data, $key, true);
|
207 |
+
} else {
|
208 |
+
$blocksize = 64;
|
209 |
+
$hashfunc = 'sha1';
|
210 |
+
if (strlen($key) > $blocksize) {
|
211 |
+
$key = pack('H*', $hashfunc($key));
|
212 |
+
}
|
213 |
+
|
214 |
+
$key = str_pad($key, $blocksize, chr(0x00));
|
215 |
+
$ipad = str_repeat(chr(0x36), $blocksize);
|
216 |
+
$opad = str_repeat(chr(0x5c), $blocksize);
|
217 |
+
$hash = pack('H*', $hashfunc(( $key ^ $opad ) . pack('H*', $hashfunc(($key ^ $ipad) . $data))));
|
218 |
+
|
219 |
+
return $hash;
|
220 |
+
}
|
221 |
+
}
|
222 |
+
|
223 |
+
}
|
libs/Dropbox/OAuth/Zend.php
ADDED
@@ -0,0 +1,244 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Dropbox OAuth
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Michael Johansen <michael@taskcamp.com>
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* This class is used to sign all requests to dropbox
|
14 |
+
*
|
15 |
+
* This classes use the Zend_Oauth package.
|
16 |
+
*/
|
17 |
+
class Dropbox_OAuth_Zend extends Dropbox_OAuth {
|
18 |
+
|
19 |
+
/**
|
20 |
+
* OAuth object
|
21 |
+
*
|
22 |
+
* @var Zend_Oauth_Consumer
|
23 |
+
*/
|
24 |
+
protected $oAuth;
|
25 |
+
/**
|
26 |
+
* OAuth consumer key
|
27 |
+
*
|
28 |
+
* We need to keep this around for later.
|
29 |
+
*
|
30 |
+
* @var string
|
31 |
+
*/
|
32 |
+
protected $consumerKey;
|
33 |
+
/**
|
34 |
+
*
|
35 |
+
* @var Zend_Oauth_Token
|
36 |
+
*/
|
37 |
+
protected $zend_oauth_token;
|
38 |
+
|
39 |
+
/**
|
40 |
+
* Constructor
|
41 |
+
*
|
42 |
+
* @param string $consumerKey
|
43 |
+
* @param string $consumerSecret
|
44 |
+
*/
|
45 |
+
public function __construct($consumerKey, $consumerSecret) {
|
46 |
+
if (!class_exists('Zend_Oauth_Consumer')) {
|
47 |
+
// We're going to try to load in manually
|
48 |
+
include 'Zend/Oauth/Consumer.php';
|
49 |
+
}
|
50 |
+
if (!class_exists('Zend_Oauth_Consumer'))
|
51 |
+
throw new Dropbox_Exception('The Zend_Oauth_Consumer class could not be found!');
|
52 |
+
$this->OAuth = new Zend_Oauth_Consumer(array(
|
53 |
+
"consumerKey" => $consumerKey,
|
54 |
+
"consumerSecret" => $consumerSecret,
|
55 |
+
"requestTokenUrl" => self::URI_REQUEST_TOKEN,
|
56 |
+
"accessTokenUrl" => self::URI_ACCESS_TOKEN,
|
57 |
+
"authorizeUrl" => self::URI_AUTHORIZE,
|
58 |
+
"signatureMethod" => "HMAC-SHA1",
|
59 |
+
));
|
60 |
+
$this->consumerKey = $consumerKey;
|
61 |
+
}
|
62 |
+
|
63 |
+
/**
|
64 |
+
* Sets the request token and secret.
|
65 |
+
*
|
66 |
+
* The tokens can also be passed as an array into the first argument.
|
67 |
+
* The array must have the elements token and token_secret.
|
68 |
+
*
|
69 |
+
* @param string|array $token
|
70 |
+
* @param string $token_secret
|
71 |
+
* @return void
|
72 |
+
*/
|
73 |
+
public function setToken($token, $token_secret = null) {
|
74 |
+
if (is_a($token, "Zend_Oauth_Token")) {
|
75 |
+
if (is_a($token, "Zend_Oauth_Token_Access")) {
|
76 |
+
$this->OAuth->setToken($token);
|
77 |
+
}
|
78 |
+
$this->zend_oauth_token = $token;
|
79 |
+
return parent::setToken($token->getToken(), $token->getTokenSecret());
|
80 |
+
} elseif (is_string($token) && is_null($token_secret)) {
|
81 |
+
return $this->setToken(unserialize($token));
|
82 |
+
} elseif (isset($token['zend_oauth_token'])) {
|
83 |
+
return $this->setToken(unserialize($token['zend_oauth_token']));
|
84 |
+
} else {
|
85 |
+
parent::setToken($token, $token_secret);
|
86 |
+
return;
|
87 |
+
}
|
88 |
+
}
|
89 |
+
|
90 |
+
/**
|
91 |
+
* Fetches a secured oauth url and returns the response body.
|
92 |
+
*
|
93 |
+
* @param string $uri
|
94 |
+
* @param mixed $arguments
|
95 |
+
* @param string $method
|
96 |
+
* @param array $httpHeaders
|
97 |
+
* @return string
|
98 |
+
*/
|
99 |
+
public function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()) {
|
100 |
+
$token = $this->OAuth->getToken();
|
101 |
+
if (!is_a($token, "Zend_Oauth_Token")) {
|
102 |
+
if (is_a($this->zend_oauth_token, "Zend_Oauth_Token_Access")) {
|
103 |
+
$token = $this->zend_oauth_token;
|
104 |
+
} else {
|
105 |
+
$token = new Zend_Oauth_Token_Access();
|
106 |
+
$token->setToken($this->oauth_token);
|
107 |
+
$token->setTokenSecret($this->oauth_token_secret);
|
108 |
+
}
|
109 |
+
}
|
110 |
+
/* @var $token Zend_Oauth_Token_Access */
|
111 |
+
$oauthOptions = array(
|
112 |
+
'consumerKey' => $this->consumerKey,
|
113 |
+
'signatureMethod' => "HMAC-SHA1",
|
114 |
+
'consumerSecret' => $this->OAuth->getConsumerSecret(),
|
115 |
+
);
|
116 |
+
$config = array("timeout" => 15);
|
117 |
+
|
118 |
+
/* @var $consumerRequest Zend_Oauth_Client */
|
119 |
+
$consumerRequest = $token->getHttpClient($oauthOptions);
|
120 |
+
$consumerRequest->setMethod($method);
|
121 |
+
if (is_array($arguments)) {
|
122 |
+
$consumerRequest->setUri($uri);
|
123 |
+
if ($method == "GET") {
|
124 |
+
foreach ($arguments as $param => $value) {
|
125 |
+
$consumerRequest->setParameterGet($param, $value);
|
126 |
+
}
|
127 |
+
} else {
|
128 |
+
foreach ($arguments as $param => $value) {
|
129 |
+
$consumerRequest->setParameterPost($param, $value);
|
130 |
+
}
|
131 |
+
}
|
132 |
+
} elseif (is_string($arguments)) {
|
133 |
+
preg_match("/\?file=(.*)$/i", $uri, $matches);
|
134 |
+
if (isset($matches[1])) {
|
135 |
+
$uri = str_replace($matches[0], "", $uri);
|
136 |
+
$filename = $matches[1];
|
137 |
+
$uri = Zend_Uri::factory($uri);
|
138 |
+
$uri->addReplaceQueryParameters(array("file" => $filename));
|
139 |
+
$consumerRequest->setParameterGet("file", $filename);
|
140 |
+
}
|
141 |
+
$consumerRequest->setUri($uri);
|
142 |
+
$consumerRequest->setRawData($arguments);
|
143 |
+
} elseif (is_resource($arguments)) {
|
144 |
+
$consumerRequest->setUri($uri);
|
145 |
+
/** Placeholder for Oauth streaming support. */
|
146 |
+
}
|
147 |
+
if (count($httpHeaders)) {
|
148 |
+
foreach ($httpHeaders as $k => $v) {
|
149 |
+
$consumerRequest->setHeaders($k, $v);
|
150 |
+
}
|
151 |
+
}
|
152 |
+
$response = $consumerRequest->request();
|
153 |
+
$body = Zend_Json::decode($response->getBody());
|
154 |
+
switch ($response->getStatus()) {
|
155 |
+
// Not modified
|
156 |
+
case 304 :
|
157 |
+
return array(
|
158 |
+
'httpStatus' => 304,
|
159 |
+
'body' => null,
|
160 |
+
);
|
161 |
+
break;
|
162 |
+
case 403 :
|
163 |
+
throw new Dropbox_Exception_Forbidden('Forbidden.
|
164 |
+
This could mean a bad OAuth request, or a file or folder already existing at the target location.
|
165 |
+
' . $body["error"] . "\n");
|
166 |
+
case 404 :
|
167 |
+
throw new Dropbox_Exception_NotFound('Resource at uri: ' . $uri . ' could not be found. ' .
|
168 |
+
$body["error"] . "\n");
|
169 |
+
case 507 :
|
170 |
+
throw new Dropbox_Exception_OverQuota('This dropbox is full. ' .
|
171 |
+
$body["error"] . "\n");
|
172 |
+
}
|
173 |
+
|
174 |
+
return array(
|
175 |
+
'httpStatus' => $response->getStatus(),
|
176 |
+
'body' => $response->getBody(),
|
177 |
+
);
|
178 |
+
}
|
179 |
+
|
180 |
+
/**
|
181 |
+
* Requests the OAuth request token.
|
182 |
+
*
|
183 |
+
* @return void
|
184 |
+
*/
|
185 |
+
public function getRequestToken() {
|
186 |
+
$token = $this->OAuth->getRequestToken();
|
187 |
+
$this->setToken($token);
|
188 |
+
return $this->getToken();
|
189 |
+
}
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Requests the OAuth access tokens.
|
193 |
+
*
|
194 |
+
* This method requires the 'unauthorized' request tokens
|
195 |
+
* and, if successful will set the authorized request tokens.
|
196 |
+
*
|
197 |
+
* @return void
|
198 |
+
*/
|
199 |
+
public function getAccessToken() {
|
200 |
+
if (is_a($this->zend_oauth_token, "Zend_Oauth_Token_Request")) {
|
201 |
+
$requestToken = $this->zend_oauth_token;
|
202 |
+
} else {
|
203 |
+
$requestToken = new Zend_Oauth_Token_Request();
|
204 |
+
$requestToken->setToken($this->oauth_token);
|
205 |
+
$requestToken->setTokenSecret($this->oauth_token_secret);
|
206 |
+
}
|
207 |
+
$token = $this->OAuth->getAccessToken($_GET, $requestToken);
|
208 |
+
$this->setToken($token);
|
209 |
+
return $this->getToken();
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Returns the oauth request tokens as an associative array.
|
214 |
+
*
|
215 |
+
* The array will contain the elements 'token' and 'token_secret' and the serialized
|
216 |
+
* Zend_Oauth_Token object.
|
217 |
+
*
|
218 |
+
* @return array
|
219 |
+
*/
|
220 |
+
public function getToken() {
|
221 |
+
//$token = $this->OAuth->getToken();
|
222 |
+
//return serialize($token);
|
223 |
+
return array(
|
224 |
+
'token' => $this->oauth_token,
|
225 |
+
'token_secret' => $this->oauth_token_secret,
|
226 |
+
'zend_oauth_token' => serialize($this->zend_oauth_token),
|
227 |
+
);
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* Returns the authorization url
|
232 |
+
*
|
233 |
+
* Overloading Dropbox_OAuth to use the built in functions in Zend_Oauth
|
234 |
+
*
|
235 |
+
* @param string $callBack Specify a callback url to automatically redirect the user back
|
236 |
+
* @return string
|
237 |
+
*/
|
238 |
+
public function getAuthorizeUrl($callBack = null) {
|
239 |
+
if ($callBack)
|
240 |
+
$this->OAuth->setCallbackUrl($callBack);
|
241 |
+
return $this->OAuth->getRedirectUrl();
|
242 |
+
}
|
243 |
+
|
244 |
+
}
|
libs/Dropbox/autoload.php
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* This file registers a new autoload function using spl_autoload_register.
|
5 |
+
*
|
6 |
+
* @package Dropbox
|
7 |
+
* @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved.
|
8 |
+
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
9 |
+
* @license http://code.google.com/p/dropbox-php/wiki/License MIT
|
10 |
+
*/
|
11 |
+
|
12 |
+
/**
|
13 |
+
* Autoloader function
|
14 |
+
*
|
15 |
+
* @param $className string
|
16 |
+
* @return void
|
17 |
+
*/
|
18 |
+
function Dropbox_autoload($className) {
|
19 |
+
|
20 |
+
if(strpos($className,'Dropbox_')===0) {
|
21 |
+
|
22 |
+
include dirname(__FILE__) . '/' . str_replace('_','/',substr($className,8)) . '.php';
|
23 |
+
|
24 |
+
}
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
spl_autoload_register('Dropbox_autoload');
|
29 |
+
|
libs/aws/sdk.class.php
CHANGED
@@ -94,6 +94,29 @@ function __aws_sdk_ua_callback()
|
|
94 |
}
|
95 |
}
|
96 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
return $ua_append;
|
98 |
}
|
99 |
|
@@ -102,10 +125,10 @@ function __aws_sdk_ua_callback()
|
|
102 |
// INTERMEDIARY CONSTANTS
|
103 |
|
104 |
define('CFRUNTIME_NAME', 'aws-sdk-php');
|
105 |
-
define('CFRUNTIME_VERSION', '1.
|
106 |
// define('CFRUNTIME_BUILD', gmdate('YmdHis', filemtime(__FILE__))); // @todo: Hardcode for release.
|
107 |
-
define('CFRUNTIME_BUILD', '
|
108 |
-
define('CFRUNTIME_USERAGENT', CFRUNTIME_NAME . '/' . CFRUNTIME_VERSION . ' PHP/' . PHP_VERSION . ' ' . php_uname('s') . '/' . php_uname('r') . ' Arch/' . php_uname('m') . ' SAPI/' . php_sapi_name() . ' Integer/' . PHP_INT_MAX . ' Build/' . CFRUNTIME_BUILD . __aws_sdk_ua_callback());
|
109 |
|
110 |
|
111 |
/*%******************************************************************************************%*/
|
@@ -115,7 +138,7 @@ define('CFRUNTIME_USERAGENT', CFRUNTIME_NAME . '/' . CFRUNTIME_VERSION . ' PHP/'
|
|
115 |
* Core functionality and default settings shared across all SDK classes. All methods and properties in this
|
116 |
* class are inherited by the service-specific classes.
|
117 |
*
|
118 |
-
* @version 2011.07.
|
119 |
* @license See the included NOTICE.md file for more information.
|
120 |
* @copyright See the included NOTICE.md file for more information.
|
121 |
* @link http://aws.amazon.com/php/ PHP Developer Center
|
@@ -337,13 +360,12 @@ class CFRuntime
|
|
337 |
* The constructor. You would not normally instantiate this class directly. Rather, you would instantiate
|
338 |
* a service-specific class.
|
339 |
*
|
340 |
-
* @param string $key (Optional) Your
|
341 |
-
* @param string $secret_key (Optional) Your
|
342 |
-
* @param string $
|
343 |
-
* @param string $assoc_id (Optional) Your Amazon Associates ID. Required for PAS. If blank, it will look for the <AWS_ASSOC_ID> constant.
|
344 |
* @return boolean A value of `false` if no valid values are set, otherwise `true`.
|
345 |
*/
|
346 |
-
public function __construct($key = null, $secret_key = null, $
|
347 |
{
|
348 |
// Instantiate the utilities class.
|
349 |
$this->util = new $this->utilities_class();
|
@@ -354,28 +376,6 @@ class CFRuntime
|
|
354 |
// Set default values
|
355 |
$this->key = null;
|
356 |
$this->secret_key = null;
|
357 |
-
$this->account_id = null;
|
358 |
-
$this->assoc_id = null;
|
359 |
-
|
360 |
-
// Set the Account ID
|
361 |
-
if ($account_id)
|
362 |
-
{
|
363 |
-
$this->account_id = $account_id;
|
364 |
-
}
|
365 |
-
elseif (defined('AWS_ACCOUNT_ID'))
|
366 |
-
{
|
367 |
-
$this->account_id = AWS_ACCOUNT_ID;
|
368 |
-
}
|
369 |
-
|
370 |
-
// Set the Associates ID
|
371 |
-
if ($assoc_id)
|
372 |
-
{
|
373 |
-
$this->assoc_id = $assoc_id;
|
374 |
-
}
|
375 |
-
elseif (defined('AWS_ASSOC_ID'))
|
376 |
-
{
|
377 |
-
$this->assoc_id = AWS_ASSOC_ID;
|
378 |
-
}
|
379 |
|
380 |
// If both a key and secret key are passed in, use those.
|
381 |
if ($key && $secret_key)
|
@@ -399,16 +399,118 @@ class CFRuntime
|
|
399 |
}
|
400 |
}
|
401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
/**
|
403 |
* Alternate approach to constructing a new instance. Supports chaining.
|
404 |
*
|
405 |
-
* @param string $key (Optional) Your
|
406 |
-
* @param string $secret_key (Optional) Your
|
407 |
-
* @param string $
|
408 |
-
* @param string $assoc_id (Optional) Your Amazon Associates ID. Required for AAWS. If blank, it will look for the <AWS_ASSOC_ID> constant.
|
409 |
* @return boolean A value of `false` if no valid values are set, otherwise `true`.
|
410 |
*/
|
411 |
-
public static function init($key = null, $secret_key = null, $
|
412 |
{
|
413 |
if (version_compare(PHP_VERSION, '5.3.0', '<'))
|
414 |
{
|
@@ -416,7 +518,7 @@ class CFRuntime
|
|
416 |
}
|
417 |
|
418 |
$self = get_called_class();
|
419 |
-
return new $self($key, $secret_key, $
|
420 |
}
|
421 |
|
422 |
|
@@ -820,6 +922,13 @@ class CFRuntime
|
|
820 |
$timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time);
|
821 |
$nonce = $this->util->generate_guid();
|
822 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
823 |
// Manage the key-value pairs that are used in the query.
|
824 |
if (stripos($action, 'x-amz-target') !== false)
|
825 |
{
|
@@ -931,12 +1040,6 @@ class CFRuntime
|
|
931 |
$request->set_body($querystring);
|
932 |
$headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8';
|
933 |
|
934 |
-
// Do we have an authentication token?
|
935 |
-
if ($this->auth_token)
|
936 |
-
{
|
937 |
-
$headers['X-Amz-Security-Token'] = $this->auth_token;
|
938 |
-
}
|
939 |
-
|
940 |
// Signing using X-Amz-Target is handled differently.
|
941 |
if ($signature_version === 3 && $x_amz_target)
|
942 |
{
|
94 |
}
|
95 |
}
|
96 |
|
97 |
+
foreach (array('memory_limit', 'date.timezone', 'open_basedir', 'safe_mode', 'zend.enable_gc') as $cfg)
|
98 |
+
{
|
99 |
+
$cfg_value = get_cfg_var($cfg);
|
100 |
+
|
101 |
+
if (in_array($cfg, array('memory_limit', 'date.timezone'), true))
|
102 |
+
{
|
103 |
+
$ua_append .= ' ' . $cfg . '/' . str_replace('/', '.', $cfg_value);
|
104 |
+
}
|
105 |
+
elseif (in_array($cfg, array('open_basedir', 'safe_mode', 'zend.enable_gc'), true))
|
106 |
+
{
|
107 |
+
if ($cfg_value === false || $cfg_value === '' || $cfg_value === 0)
|
108 |
+
{
|
109 |
+
$cfg_value = 'off';
|
110 |
+
}
|
111 |
+
elseif ($cfg_value === true || $cfg_value === '1' || $cfg_value === 1)
|
112 |
+
{
|
113 |
+
$cfg_value = 'on';
|
114 |
+
}
|
115 |
+
|
116 |
+
$ua_append .= ' ' . $cfg . '/' . $cfg_value;
|
117 |
+
}
|
118 |
+
}
|
119 |
+
|
120 |
return $ua_append;
|
121 |
}
|
122 |
|
125 |
// INTERMEDIARY CONSTANTS
|
126 |
|
127 |
define('CFRUNTIME_NAME', 'aws-sdk-php');
|
128 |
+
define('CFRUNTIME_VERSION', '1.4');
|
129 |
// define('CFRUNTIME_BUILD', gmdate('YmdHis', filemtime(__FILE__))); // @todo: Hardcode for release.
|
130 |
+
define('CFRUNTIME_BUILD', '20110803172558');
|
131 |
+
define('CFRUNTIME_USERAGENT', CFRUNTIME_NAME . '/' . CFRUNTIME_VERSION . ' PHP/' . PHP_VERSION . ' ' . str_replace(' ', '_', php_uname('s')) . '/' . str_replace(' ', '_', php_uname('r')) . ' Arch/' . php_uname('m') . ' SAPI/' . php_sapi_name() . ' Integer/' . PHP_INT_MAX . ' Build/' . CFRUNTIME_BUILD . __aws_sdk_ua_callback());
|
132 |
|
133 |
|
134 |
/*%******************************************************************************************%*/
|
138 |
* Core functionality and default settings shared across all SDK classes. All methods and properties in this
|
139 |
* class are inherited by the service-specific classes.
|
140 |
*
|
141 |
+
* @version 2011.07.28
|
142 |
* @license See the included NOTICE.md file for more information.
|
143 |
* @copyright See the included NOTICE.md file for more information.
|
144 |
* @link http://aws.amazon.com/php/ PHP Developer Center
|
360 |
* The constructor. You would not normally instantiate this class directly. Rather, you would instantiate
|
361 |
* a service-specific class.
|
362 |
*
|
363 |
+
* @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant.
|
364 |
+
* @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant.
|
365 |
+
* @param string $token (optional) An AWS session token. If blank, a request will be made to the AWS Secure Token Service to fetch a set of session credentials.
|
|
|
366 |
* @return boolean A value of `false` if no valid values are set, otherwise `true`.
|
367 |
*/
|
368 |
+
public function __construct($key = null, $secret_key = null, $token = null)
|
369 |
{
|
370 |
// Instantiate the utilities class.
|
371 |
$this->util = new $this->utilities_class();
|
376 |
// Set default values
|
377 |
$this->key = null;
|
378 |
$this->secret_key = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
379 |
|
380 |
// If both a key and secret key are passed in, use those.
|
381 |
if ($key && $secret_key)
|
399 |
}
|
400 |
}
|
401 |
|
402 |
+
/**
|
403 |
+
* Handle session-based authentication for services that support it.
|
404 |
+
*
|
405 |
+
* @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant.
|
406 |
+
* @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant.
|
407 |
+
* @param string $token (optional) An AWS session token. If blank, a request will be made to the AWS Secure Token Service to fetch a set of session credentials.
|
408 |
+
* @return boolean A value of `false` if no valid values are set, otherwise `true`.
|
409 |
+
*/
|
410 |
+
public function session_based_auth($key = null, $secret_key = null, $token = null)
|
411 |
+
{
|
412 |
+
// Instantiate the utilities class.
|
413 |
+
$this->util = new $this->utilities_class();
|
414 |
+
|
415 |
+
// Use 'em if we've got 'em
|
416 |
+
if ($key && $secret_key && $token)
|
417 |
+
{
|
418 |
+
$this->__construct($key, $secret_key);
|
419 |
+
$this->auth_token = $token;
|
420 |
+
return true;
|
421 |
+
}
|
422 |
+
else
|
423 |
+
{
|
424 |
+
if (!$key && !defined('AWS_KEY'))
|
425 |
+
{
|
426 |
+
// @codeCoverageIgnoreStart
|
427 |
+
throw new CFRuntime_Exception('No account key was passed into the constructor, nor was it set in the AWS_KEY constant.');
|
428 |
+
// @codeCoverageIgnoreEnd
|
429 |
+
}
|
430 |
+
|
431 |
+
if (!$secret_key && !defined('AWS_SECRET_KEY'))
|
432 |
+
{
|
433 |
+
// @codeCoverageIgnoreStart
|
434 |
+
throw new CFRuntime_Exception('No account secret was passed into the constructor, nor was it set in the AWS_SECRET_KEY constant.');
|
435 |
+
// @codeCoverageIgnoreEnd
|
436 |
+
}
|
437 |
+
|
438 |
+
// If both a key and secret key are passed in, use those.
|
439 |
+
if ($key && $secret_key)
|
440 |
+
{
|
441 |
+
$this->key = $key;
|
442 |
+
$this->secret_key = $secret_key;
|
443 |
+
}
|
444 |
+
// If neither are passed in, look for the constants instead.
|
445 |
+
elseif (defined('AWS_KEY') && defined('AWS_SECRET_KEY'))
|
446 |
+
{
|
447 |
+
$this->key = AWS_KEY;
|
448 |
+
$this->secret_key = AWS_SECRET_KEY;
|
449 |
+
}
|
450 |
+
|
451 |
+
// Determine storage type.
|
452 |
+
$this->set_cache_config(AWS_DEFAULT_CACHE_CONFIG);
|
453 |
+
$cache_class = $this->cache_class;
|
454 |
+
$cache_object = new $cache_class('aws_active_session_credentials_' . get_class($this) . '_' . $this->key, AWS_DEFAULT_CACHE_CONFIG, 3600); // AWS_DEFAULT_CACHE_CONFIG only matters if it's a file system path.
|
455 |
+
|
456 |
+
// Fetch session credentials
|
457 |
+
$session_credentials = $cache_object->response_manager(array($this, 'cache_token'), array($this->key, $this->secret_key));
|
458 |
+
$this->auth_token = $session_credentials['SessionToken'];
|
459 |
+
|
460 |
+
// If both a key and secret key are passed in, use those.
|
461 |
+
if ($session_credentials['AccessKeyId'] && $session_credentials['SecretAccessKey'])
|
462 |
+
{
|
463 |
+
$this->key = $session_credentials['AccessKeyId'];
|
464 |
+
$this->secret_key = $session_credentials['SecretAccessKey'];
|
465 |
+
return true;
|
466 |
+
}
|
467 |
+
// If neither are passed in, look for the constants instead.
|
468 |
+
elseif (defined('AWS_KEY') && defined('AWS_SECRET_KEY'))
|
469 |
+
{
|
470 |
+
$this->key = AWS_KEY;
|
471 |
+
$this->secret_key = AWS_SECRET_KEY;
|
472 |
+
return true;
|
473 |
+
}
|
474 |
+
|
475 |
+
// Otherwise set the values to blank and return false.
|
476 |
+
else
|
477 |
+
{
|
478 |
+
throw new CFRuntime_Exception('No valid credentials were used to authenticate with AWS.');
|
479 |
+
}
|
480 |
+
}
|
481 |
+
}
|
482 |
+
|
483 |
+
public function cache_token($key, $secret_key)
|
484 |
+
{
|
485 |
+
$token = new AmazonSTS($key, $secret_key);
|
486 |
+
$response = $token->get_session_token();
|
487 |
+
|
488 |
+
if ($response->isOK())
|
489 |
+
{
|
490 |
+
/*
|
491 |
+
Array
|
492 |
+
(
|
493 |
+
[AccessKeyId] => ******
|
494 |
+
[Expiration] => ******
|
495 |
+
[SecretAccessKey] => ******
|
496 |
+
[SessionToken] => ******
|
497 |
+
)
|
498 |
+
*/
|
499 |
+
return $response->body->GetSessionTokenResult->Credentials->to_array()->getArrayCopy();
|
500 |
+
}
|
501 |
+
|
502 |
+
return null;
|
503 |
+
}
|
504 |
+
|
505 |
/**
|
506 |
* Alternate approach to constructing a new instance. Supports chaining.
|
507 |
*
|
508 |
+
* @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant.
|
509 |
+
* @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant.
|
510 |
+
* @param string $token (optional) An AWS session token. If blank, a request will be made to the AWS Secure Token Service to fetch a set of session credentials.
|
|
|
511 |
* @return boolean A value of `false` if no valid values are set, otherwise `true`.
|
512 |
*/
|
513 |
+
public static function init($key = null, $secret_key = null, $token = null)
|
514 |
{
|
515 |
if (version_compare(PHP_VERSION, '5.3.0', '<'))
|
516 |
{
|
518 |
}
|
519 |
|
520 |
$self = get_called_class();
|
521 |
+
return new $self($key, $secret_key, $token);
|
522 |
}
|
523 |
|
524 |
|
922 |
$timestamp = gmdate(CFUtilities::DATE_FORMAT_ISO8601, $current_time);
|
923 |
$nonce = $this->util->generate_guid();
|
924 |
|
925 |
+
// Do we have an authentication token?
|
926 |
+
if ($this->auth_token)
|
927 |
+
{
|
928 |
+
$headers['X-Amz-Security-Token'] = $this->auth_token;
|
929 |
+
$query['SecurityToken'] = $this->auth_token;
|
930 |
+
}
|
931 |
+
|
932 |
// Manage the key-value pairs that are used in the query.
|
933 |
if (stripos($action, 'x-amz-target') !== false)
|
934 |
{
|
1040 |
$request->set_body($querystring);
|
1041 |
$headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=utf-8';
|
1042 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1043 |
// Signing using X-Amz-Target is handled differently.
|
1044 |
if ($signature_version === 3 && $x_amz_target)
|
1045 |
{
|
libs/aws/services/as.class.php
CHANGED
@@ -38,7 +38,7 @@
|
|
38 |
* href="http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and Endpoints</a> in the Amazon Web Services
|
39 |
* General Reference.
|
40 |
*
|
41 |
-
* @version Wed
|
42 |
* @license See the included NOTICE.md file for complete information.
|
43 |
* @copyright See the included NOTICE.md file for complete information.
|
44 |
* @link http://aws.amazon.com/autoscaling/Amazon Auto-Scaling
|
38 |
* href="http://docs.amazonwebservices.com/general/latest/gr/index.html?rande.html">Regions and Endpoints</a> in the Amazon Web Services
|
39 |
* General Reference.
|
40 |
*
|
41 |
+
* @version Wed Aug 03 10:07:42 PDT 2011
|
42 |
* @license See the included NOTICE.md file for complete information.
|
43 |
* @copyright See the included NOTICE.md file for complete information.
|
44 |
* @link http://aws.amazon.com/autoscaling/Amazon Auto-Scaling
|
libs/aws/services/cloudformation.class.php
CHANGED
@@ -48,7 +48,7 @@
|
|
48 |
* Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can
|
49 |
* find the product's technical documentation at <a href="http://aws.amazon.com/documentation/">http://aws.amazon.com/documentation/</a>.
|
50 |
*
|
51 |
-
* @version
|
52 |
* @license See the included NOTICE.md file for complete information.
|
53 |
* @copyright See the included NOTICE.md file for complete information.
|
54 |
* @link http://aws.amazon.com/cloudformation/Amazon CloudFormation
|
48 |
* Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can
|
49 |
* find the product's technical documentation at <a href="http://aws.amazon.com/documentation/">http://aws.amazon.com/documentation/</a>.
|
50 |
*
|
51 |
+
* @version Wed Aug 03 10:08:29 PDT 2011
|
52 |
* @license See the included NOTICE.md file for complete information.
|
53 |
* @copyright See the included NOTICE.md file for complete information.
|
54 |
* @link http://aws.amazon.com/cloudformation/Amazon CloudFormation
|
libs/aws/services/cloudwatch.class.php
CHANGED
@@ -47,7 +47,7 @@
|
|
47 |
*
|
48 |
* </ul>
|
49 |
*
|
50 |
-
* @version
|
51 |
* @license See the included NOTICE.md file for complete information.
|
52 |
* @copyright See the included NOTICE.md file for complete information.
|
53 |
* @link http://aws.amazon.com/cloudwatch/Amazon CloudWatch
|
47 |
*
|
48 |
* </ul>
|
49 |
*
|
50 |
+
* @version Wed Aug 03 10:09:00 PDT 2011
|
51 |
* @license See the included NOTICE.md file for complete information.
|
52 |
* @copyright See the included NOTICE.md file for complete information.
|
53 |
* @link http://aws.amazon.com/cloudwatch/Amazon CloudWatch
|
libs/aws/services/ec2.class.php
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
*
|
28 |
* Visit <a href="http://aws.amazon.com/ec2/">http://aws.amazon.com/ec2/</a> for more information.
|
29 |
*
|
30 |
-
* @version
|
31 |
* @license See the included NOTICE.md file for complete information.
|
32 |
* @copyright See the included NOTICE.md file for complete information.
|
33 |
* @link http://aws.amazon.com/ec2/Amazon Elastic Compute Cloud
|
@@ -120,13 +120,16 @@ class AmazonEC2 extends CFRuntime
|
|
120 |
// CONSTRUCTOR
|
121 |
|
122 |
/**
|
123 |
-
* Constructs a new instance of <AmazonEC2>.
|
|
|
|
|
124 |
*
|
125 |
-
* @param string $key (Optional) Your
|
126 |
-
* @param string $secret_key (Optional) Your
|
127 |
-
* @
|
|
|
128 |
*/
|
129 |
-
public function __construct($key = null, $secret_key = null)
|
130 |
{
|
131 |
$this->api_version = '2011-02-28';
|
132 |
$this->hostname = self::DEFAULT_URL;
|
@@ -145,6 +148,11 @@ class AmazonEC2 extends CFRuntime
|
|
145 |
// @codeCoverageIgnoreEnd
|
146 |
}
|
147 |
|
|
|
|
|
|
|
|
|
|
|
148 |
return parent::__construct($key, $secret_key);
|
149 |
}
|
150 |
|
@@ -3032,21 +3040,32 @@ class AmazonEC2 extends CFRuntime
|
|
3032 |
* Adds or remove permission settings for the specified snapshot.
|
3033 |
*
|
3034 |
* @param string $snapshot_id (Required) The ID of the EBS snapshot whose attributes are being modified.
|
3035 |
-
* @param string $attribute (Required) The name of the attribute being modified. Available attribute names: <code>createVolumePermission</code>
|
3036 |
-
* @param string $operation_type (Required) The operation to perform on the attribute. Available operation names: <code>add</code>, <code>remove</code>
|
3037 |
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
|
|
|
|
|
3038 |
* <li><code>UserId</code> - <code>string|array</code> - Optional - The AWS user IDs to add to or remove from the list of users that have permission to create EBS volumes from the specified snapshot. Currently supports "all". Only valid when the <code>createVolumePermission</code> attribute is being modified. Pass a string for a single value, or an indexed array for multiple values. </li>
|
3039 |
* <li><code>UserGroup</code> - <code>string|array</code> - Optional - The AWS group names to add to or remove from the list of groups that have permission to create EBS volumes from the specified snapshot. Currently supports "all". Only valid when the <code>createVolumePermission</code> attribute is being modified. Pass a string for a single value, or an indexed array for multiple values. </li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3040 |
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
|
3041 |
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
|
3042 |
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
|
3043 |
*/
|
3044 |
-
public function modify_snapshot_attribute($snapshot_id, $
|
3045 |
{
|
3046 |
if (!$opt) $opt = array();
|
3047 |
$opt['SnapshotId'] = $snapshot_id;
|
3048 |
-
$opt['Attribute'] = $attribute;
|
3049 |
-
$opt['OperationType'] = $operation_type;
|
3050 |
|
3051 |
// Optional parameter
|
3052 |
if (isset($opt['UserId']))
|
@@ -3066,6 +3085,15 @@ class AmazonEC2 extends CFRuntime
|
|
3066 |
unset($opt['UserGroup']);
|
3067 |
}
|
3068 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3069 |
return $this->authenticate('ModifySnapshotAttribute', $opt, $this->hostname);
|
3070 |
}
|
3071 |
|
27 |
*
|
28 |
* Visit <a href="http://aws.amazon.com/ec2/">http://aws.amazon.com/ec2/</a> for more information.
|
29 |
*
|
30 |
+
* @version Wed Aug 03 10:10:05 PDT 2011
|
31 |
* @license See the included NOTICE.md file for complete information.
|
32 |
* @copyright See the included NOTICE.md file for complete information.
|
33 |
* @link http://aws.amazon.com/ec2/Amazon Elastic Compute Cloud
|
120 |
// CONSTRUCTOR
|
121 |
|
122 |
/**
|
123 |
+
* Constructs a new instance of <AmazonEC2>. If the <code>AWS_DEFAULT_CACHE_CONFIG</code> configuration
|
124 |
+
* option is set, requests will be authenticated using a session token. Otherwise, requests will use
|
125 |
+
* the older authentication method.
|
126 |
*
|
127 |
+
* @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant.
|
128 |
+
* @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant.
|
129 |
+
* @param string $token (optional) An AWS session token. If blank, a request will be made to the AWS Secure Token Service to fetch a set of session credentials.
|
130 |
+
* @return boolean A value of <code>false</code> if no valid values are set, otherwise <code>true</code>.
|
131 |
*/
|
132 |
+
public function __construct($key = null, $secret_key = null, $token = null)
|
133 |
{
|
134 |
$this->api_version = '2011-02-28';
|
135 |
$this->hostname = self::DEFAULT_URL;
|
148 |
// @codeCoverageIgnoreEnd
|
149 |
}
|
150 |
|
151 |
+
if (defined('AWS_DEFAULT_CACHE_CONFIG') && AWS_DEFAULT_CACHE_CONFIG)
|
152 |
+
{
|
153 |
+
return parent::session_based_auth($key, $secret_key, $token);
|
154 |
+
}
|
155 |
+
|
156 |
return parent::__construct($key, $secret_key);
|
157 |
}
|
158 |
|
3040 |
* Adds or remove permission settings for the specified snapshot.
|
3041 |
*
|
3042 |
* @param string $snapshot_id (Required) The ID of the EBS snapshot whose attributes are being modified.
|
|
|
|
|
3043 |
* @param array $opt (Optional) An associative array of parameters that can have the following keys: <ul>
|
3044 |
+
* <li><code>Attribute</code> - <code>string</code> - Optional - The name of the attribute being modified. Available attribute names: <code>createVolumePermission</code> </li>
|
3045 |
+
* <li><code>OperationType</code> - <code>string</code> - Optional - The operation to perform on the attribute. Available operation names: <code>add</code>, <code>remove</code> </li>
|
3046 |
* <li><code>UserId</code> - <code>string|array</code> - Optional - The AWS user IDs to add to or remove from the list of users that have permission to create EBS volumes from the specified snapshot. Currently supports "all". Only valid when the <code>createVolumePermission</code> attribute is being modified. Pass a string for a single value, or an indexed array for multiple values. </li>
|
3047 |
* <li><code>UserGroup</code> - <code>string|array</code> - Optional - The AWS group names to add to or remove from the list of groups that have permission to create EBS volumes from the specified snapshot. Currently supports "all". Only valid when the <code>createVolumePermission</code> attribute is being modified. Pass a string for a single value, or an indexed array for multiple values. </li>
|
3048 |
+
* <li><code>CreateVolumePermission</code> - <code>array</code> - Optional - <ul>
|
3049 |
+
* <li><code>Add</code> - <code>array</code> - Optional - <ul>
|
3050 |
+
* <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul>
|
3051 |
+
* <li><code>UserId</code> - <code>string</code> - Optional - The user ID of the user that can create volumes from the snapshot. </li>
|
3052 |
+
* <li><code>Group</code> - <code>string</code> - Optional - The group that is allowed to create volumes from the snapshot (currently supports "all"). </li>
|
3053 |
+
* </ul></li>
|
3054 |
+
* </ul></li>
|
3055 |
+
* <li><code>Remove</code> - <code>array</code> - Optional - <ul>
|
3056 |
+
* <li><code>x</code> - <code>array</code> - This represents a simple array index. <ul>
|
3057 |
+
* <li><code>UserId</code> - <code>string</code> - Optional - The user ID of the user that can create volumes from the snapshot. </li>
|
3058 |
+
* <li><code>Group</code> - <code>string</code> - Optional - The group that is allowed to create volumes from the snapshot (currently supports "all"). </li>
|
3059 |
+
* </ul></li>
|
3060 |
+
* </ul></li></ul></li>
|
3061 |
* <li><code>curlopts</code> - <code>array</code> - Optional - A set of values to pass directly into <code>curl_setopt()</code>, where the key is a pre-defined <code>CURLOPT_*</code> constant.</li>
|
3062 |
* <li><code>returnCurlHandle</code> - <code>boolean</code> - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.</li></ul>
|
3063 |
* @return CFResponse A <CFResponse> object containing a parsed HTTP response.
|
3064 |
*/
|
3065 |
+
public function modify_snapshot_attribute($snapshot_id, $opt = null)
|
3066 |
{
|
3067 |
if (!$opt) $opt = array();
|
3068 |
$opt['SnapshotId'] = $snapshot_id;
|
|
|
|
|
3069 |
|
3070 |
// Optional parameter
|
3071 |
if (isset($opt['UserId']))
|
3085 |
unset($opt['UserGroup']);
|
3086 |
}
|
3087 |
|
3088 |
+
// Optional parameter
|
3089 |
+
if (isset($opt['CreateVolumePermission']))
|
3090 |
+
{
|
3091 |
+
$opt = array_merge($opt, CFComplexType::map(array(
|
3092 |
+
'CreateVolumePermission' => $opt['CreateVolumePermission']
|
3093 |
+
)));
|
3094 |
+
unset($opt['CreateVolumePermission']);
|
3095 |
+
}
|
3096 |
+
|
3097 |
return $this->authenticate('ModifySnapshotAttribute', $opt, $this->hostname);
|
3098 |
}
|
3099 |
|
libs/aws/services/elasticbeanstalk.class.php
CHANGED
@@ -35,7 +35,7 @@
|
|
35 |
*
|
36 |
* </ul>
|
37 |
*
|
38 |
-
* @version
|
39 |
* @license See the included NOTICE.md file for complete information.
|
40 |
* @copyright See the included NOTICE.md file for complete information.
|
41 |
* @link http://aws.amazon.com/elasticbeanstalk/AWS Elastic Beanstalk
|
35 |
*
|
36 |
* </ul>
|
37 |
*
|
38 |
+
* @version Wed Aug 03 10:09:34 PDT 2011
|
39 |
* @license See the included NOTICE.md file for complete information.
|
40 |
* @copyright See the included NOTICE.md file for complete information.
|
41 |
* @link http://aws.amazon.com/elasticbeanstalk/AWS Elastic Beanstalk
|
libs/aws/services/elb.class.php
CHANGED
@@ -21,7 +21,7 @@
|
|
21 |
* application. It makes it easy for you to distribute application loads between two or more EC2 instances. Elastic Load Balancing enables
|
22 |
* availability through redundancy and supports traffic growth of your application.
|
23 |
*
|
24 |
-
* @version
|
25 |
* @license See the included NOTICE.md file for complete information.
|
26 |
* @copyright See the included NOTICE.md file for complete information.
|
27 |
* @link http://aws.amazon.com/elasticloadbalancing/Amazon Elastic Load Balancing
|
21 |
* application. It makes it easy for you to distribute application loads between two or more EC2 instances. Elastic Load Balancing enables
|
22 |
* availability through redundancy and supports traffic growth of your application.
|
23 |
*
|
24 |
+
* @version Wed Aug 03 10:10:44 PDT 2011
|
25 |
* @license See the included NOTICE.md file for complete information.
|
26 |
* @copyright See the included NOTICE.md file for complete information.
|
27 |
* @link http://aws.amazon.com/elasticloadbalancing/Amazon Elastic Load Balancing
|
libs/aws/services/iam.class.php
CHANGED
@@ -32,7 +32,7 @@
|
|
32 |
*
|
33 |
* We will refer to Amazon AWS Identity and Access Management using the abbreviated form IAM. All copyrights and legal protections still apply.
|
34 |
*
|
35 |
-
* @version
|
36 |
* @license See the included NOTICE.md file for complete information.
|
37 |
* @copyright See the included NOTICE.md file for complete information.
|
38 |
* @link http://aws.amazon.com/iam/Amazon Identity and Access Management Service
|
32 |
*
|
33 |
* We will refer to Amazon AWS Identity and Access Management using the abbreviated form IAM. All copyrights and legal protections still apply.
|
34 |
*
|
35 |
+
* @version Wed Aug 03 10:12:08 PDT 2011
|
36 |
* @license See the included NOTICE.md file for complete information.
|
37 |
* @copyright See the included NOTICE.md file for complete information.
|
38 |
* @link http://aws.amazon.com/iam/Amazon Identity and Access Management Service
|
libs/aws/services/importexport.class.php
CHANGED
@@ -22,7 +22,7 @@
|
|
22 |
* Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and more cost effective than upgrading your
|
23 |
* connectivity.
|
24 |
*
|
25 |
-
* @version
|
26 |
* @license See the included NOTICE.md file for complete information.
|
27 |
* @copyright See the included NOTICE.md file for complete information.
|
28 |
* @link http://aws.amazon.com/importexport/Amazon Import/Export Service
|
22 |
* Internet. For large data sets, AWS Import/Export is often faster than Internet transfer and more cost effective than upgrading your
|
23 |
* connectivity.
|
24 |
*
|
25 |
+
* @version Wed Aug 03 10:12:39 PDT 2011
|
26 |
* @license See the included NOTICE.md file for complete information.
|
27 |
* @copyright See the included NOTICE.md file for complete information.
|
28 |
* @link http://aws.amazon.com/importexport/Amazon Import/Export Service
|
libs/aws/services/rds.class.php
CHANGED
@@ -27,7 +27,7 @@
|
|
27 |
* instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front
|
28 |
* investments, and you pay only for the resources you use.
|
29 |
*
|
30 |
-
* @version
|
31 |
* @license See the included NOTICE.md file for complete information.
|
32 |
* @copyright See the included NOTICE.md file for complete information.
|
33 |
* @link http://aws.amazon.com/rds/Amazon Relational Database Service
|
27 |
* instance's compute resources and storage capacity to meet your application's demand. As with all Amazon Web Services, there are no up-front
|
28 |
* investments, and you pay only for the resources you use.
|
29 |
*
|
30 |
+
* @version Wed Aug 03 10:13:10 PDT 2011
|
31 |
* @license See the included NOTICE.md file for complete information.
|
32 |
* @copyright See the included NOTICE.md file for complete information.
|
33 |
* @link http://aws.amazon.com/rds/Amazon Relational Database Service
|
libs/aws/services/s3.class.php
CHANGED
@@ -245,13 +245,16 @@ class AmazonS3 extends CFRuntime
|
|
245 |
// CONSTRUCTOR
|
246 |
|
247 |
/**
|
248 |
-
* Constructs a new instance of
|
|
|
|
|
249 |
*
|
250 |
-
* @param string $key (Optional)
|
251 |
-
* @param string $secret_key (Optional)
|
|
|
252 |
* @return boolean A value of <code>false</code> if no valid values are set, otherwise <code>true</code>.
|
253 |
*/
|
254 |
-
public function __construct($key = null, $secret_key = null)
|
255 |
{
|
256 |
$this->vhost = null;
|
257 |
$this->api_version = '2006-03-01';
|
@@ -279,6 +282,11 @@ class AmazonS3 extends CFRuntime
|
|
279 |
// @codeCoverageIgnoreEnd
|
280 |
}
|
281 |
|
|
|
|
|
|
|
|
|
|
|
282 |
return parent::__construct($key, $secret_key);
|
283 |
}
|
284 |
|
@@ -417,6 +425,12 @@ class AmazonS3 extends CFRuntime
|
|
417 |
|
418 |
/*%******************************************************************************************%*/
|
419 |
|
|
|
|
|
|
|
|
|
|
|
|
|
420 |
// Handle specific resources
|
421 |
if (isset($opt['resource']))
|
422 |
{
|
245 |
// CONSTRUCTOR
|
246 |
|
247 |
/**
|
248 |
+
* Constructs a new instance of <AmazonS3>. If the <code>AWS_DEFAULT_CACHE_CONFIG</code> configuration
|
249 |
+
* option is set, requests will be authenticated using a session token. Otherwise, requests will use
|
250 |
+
* the older authentication method.
|
251 |
*
|
252 |
+
* @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant.
|
253 |
+
* @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant.
|
254 |
+
* @param string $token (optional) An AWS session token. If blank, a request will be made to the AWS Secure Token Service to fetch a set of session credentials.
|
255 |
* @return boolean A value of <code>false</code> if no valid values are set, otherwise <code>true</code>.
|
256 |
*/
|
257 |
+
public function __construct($key = null, $secret_key = null, $token = null)
|
258 |
{
|
259 |
$this->vhost = null;
|
260 |
$this->api_version = '2006-03-01';
|
282 |
// @codeCoverageIgnoreEnd
|
283 |
}
|
284 |
|
285 |
+
if (defined('AWS_DEFAULT_CACHE_CONFIG') && AWS_DEFAULT_CACHE_CONFIG)
|
286 |
+
{
|
287 |
+
return parent::session_based_auth($key, $secret_key, $token);
|
288 |
+
}
|
289 |
+
|
290 |
return parent::__construct($key, $secret_key);
|
291 |
}
|
292 |
|
425 |
|
426 |
/*%******************************************************************************************%*/
|
427 |
|
428 |
+
// Do we have an authentication token?
|
429 |
+
if ($this->auth_token)
|
430 |
+
{
|
431 |
+
$headers['X-Amz-Security-Token'] = $this->auth_token;
|
432 |
+
}
|
433 |
+
|
434 |
// Handle specific resources
|
435 |
if (isset($opt['resource']))
|
436 |
{
|
libs/aws/services/ses.class.php
CHANGED
@@ -23,7 +23,7 @@
|
|
23 |
* For specific details on how to construct a service request, please consult the <a
|
24 |
* href="http://docs.amazonwebservices.com/ses/latest/DeveloperGuide">Amazon SES Developer Guide</a>.
|
25 |
*
|
26 |
-
* @version
|
27 |
* @license See the included NOTICE.md file for complete information.
|
28 |
* @copyright See the included NOTICE.md file for complete information.
|
29 |
* @link http://aws.amazon.com/ses/Amazon Simple Email Service
|
23 |
* For specific details on how to construct a service request, please consult the <a
|
24 |
* href="http://docs.amazonwebservices.com/ses/latest/DeveloperGuide">Amazon SES Developer Guide</a>.
|
25 |
*
|
26 |
+
* @version Wed Aug 03 10:11:14 PDT 2011
|
27 |
* @license See the included NOTICE.md file for complete information.
|
28 |
* @copyright See the included NOTICE.md file for complete information.
|
29 |
* @link http://aws.amazon.com/ses/Amazon Simple Email Service
|
libs/aws/services/sns.class.php
CHANGED
@@ -17,7 +17,7 @@
|
|
17 |
/**
|
18 |
|
19 |
*
|
20 |
-
* @version
|
21 |
* @license See the included NOTICE.md file for complete information.
|
22 |
* @copyright See the included NOTICE.md file for complete information.
|
23 |
* @link http://aws.amazon.com/sns/Amazon Simple Notification Service
|
@@ -109,13 +109,16 @@ class AmazonSNS extends CFRuntime
|
|
109 |
// CONSTRUCTOR
|
110 |
|
111 |
/**
|
112 |
-
* Constructs a new instance of <AmazonSNS>.
|
|
|
|
|
113 |
*
|
114 |
-
* @param string $key (Optional) Your
|
115 |
-
* @param string $secret_key (Optional) Your
|
116 |
-
* @
|
|
|
117 |
*/
|
118 |
-
public function __construct($key = null, $secret_key = null)
|
119 |
{
|
120 |
$this->api_version = '2010-03-31';
|
121 |
$this->hostname = self::DEFAULT_URL;
|
@@ -134,6 +137,11 @@ class AmazonSNS extends CFRuntime
|
|
134 |
// @codeCoverageIgnoreEnd
|
135 |
}
|
136 |
|
|
|
|
|
|
|
|
|
|
|
137 |
return parent::__construct($key, $secret_key);
|
138 |
}
|
139 |
|
17 |
/**
|
18 |
|
19 |
*
|
20 |
+
* @version Wed Aug 03 10:14:08 PDT 2011
|
21 |
* @license See the included NOTICE.md file for complete information.
|
22 |
* @copyright See the included NOTICE.md file for complete information.
|
23 |
* @link http://aws.amazon.com/sns/Amazon Simple Notification Service
|
109 |
// CONSTRUCTOR
|
110 |
|
111 |
/**
|
112 |
+
* Constructs a new instance of <AmazonSNS>. If the <code>AWS_DEFAULT_CACHE_CONFIG</code> configuration
|
113 |
+
* option is set, requests will be authenticated using a session token. Otherwise, requests will use
|
114 |
+
* the older authentication method.
|
115 |
*
|
116 |
+
* @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant.
|
117 |
+
* @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant.
|
118 |
+
* @param string $token (optional) An AWS session token. If blank, a request will be made to the AWS Secure Token Service to fetch a set of session credentials.
|
119 |
+
* @return boolean A value of <code>false</code> if no valid values are set, otherwise <code>true</code>.
|
120 |
*/
|
121 |
+
public function __construct($key = null, $secret_key = null, $token = null)
|
122 |
{
|
123 |
$this->api_version = '2010-03-31';
|
124 |
$this->hostname = self::DEFAULT_URL;
|
137 |
// @codeCoverageIgnoreEnd
|
138 |
}
|
139 |
|
140 |
+
if (defined('AWS_DEFAULT_CACHE_CONFIG') && AWS_DEFAULT_CACHE_CONFIG)
|
141 |
+
{
|
142 |
+
return parent::session_based_auth($key, $secret_key, $token);
|
143 |
+
}
|
144 |
+
|
145 |
return parent::__construct($key, $secret_key);
|
146 |
}
|
147 |
|
libs/aws/services/sqs.class.php
CHANGED
@@ -28,7 +28,7 @@
|
|
28 |
*
|
29 |
* Visit <a href="http://aws.amazon.com/sqs/">http://aws.amazon.com/sqs/</a> for more information.
|
30 |
*
|
31 |
-
* @version Wed
|
32 |
* @license See the included NOTICE.md file for complete information.
|
33 |
* @copyright See the included NOTICE.md file for complete information.
|
34 |
* @link http://aws.amazon.com/sqs/Amazon Simple Queue Service
|
@@ -155,13 +155,16 @@ class AmazonSQS extends CFRuntime
|
|
155 |
// CONSTRUCTOR
|
156 |
|
157 |
/**
|
158 |
-
* Constructs a new instance of <AmazonSQS>.
|
159 |
-
*
|
160 |
-
*
|
161 |
-
*
|
162 |
-
* @
|
|
|
|
|
|
|
163 |
*/
|
164 |
-
public function __construct($key = null, $secret_key = null)
|
165 |
{
|
166 |
$this->api_version = '2009-02-01';
|
167 |
$this->hostname = self::DEFAULT_URL;
|
@@ -180,6 +183,11 @@ class AmazonSQS extends CFRuntime
|
|
180 |
// @codeCoverageIgnoreEnd
|
181 |
}
|
182 |
|
|
|
|
|
|
|
|
|
|
|
183 |
return parent::__construct($key, $secret_key);
|
184 |
}
|
185 |
|
28 |
*
|
29 |
* Visit <a href="http://aws.amazon.com/sqs/">http://aws.amazon.com/sqs/</a> for more information.
|
30 |
*
|
31 |
+
* @version Wed Aug 03 10:14:34 PDT 2011
|
32 |
* @license See the included NOTICE.md file for complete information.
|
33 |
* @copyright See the included NOTICE.md file for complete information.
|
34 |
* @link http://aws.amazon.com/sqs/Amazon Simple Queue Service
|
155 |
// CONSTRUCTOR
|
156 |
|
157 |
/**
|
158 |
+
* Constructs a new instance of <AmazonSQS>. If the <code>AWS_DEFAULT_CACHE_CONFIG</code> configuration
|
159 |
+
* option is set, requests will be authenticated using a session token. Otherwise, requests will use
|
160 |
+
* the older authentication method.
|
161 |
+
*
|
162 |
+
* @param string $key (Optional) Your AWS key, or a session key. If blank, it will look for the <code>AWS_KEY</code> constant.
|
163 |
+
* @param string $secret_key (Optional) Your AWS secret key, or a session secret key. If blank, it will look for the <code>AWS_SECRET_KEY</code> constant.
|
164 |
+
* @param string $token (optional) An AWS session token. If blank, a request will be made to the AWS Secure Token Service to fetch a set of session credentials.
|
165 |
+
* @return boolean A value of <code>false</code> if no valid values are set, otherwise <code>true</code>.
|
166 |
*/
|
167 |
+
public function __construct($key = null, $secret_key = null, $token = null)
|
168 |
{
|
169 |
$this->api_version = '2009-02-01';
|
170 |
$this->hostname = self::DEFAULT_URL;
|
183 |
// @codeCoverageIgnoreEnd
|
184 |
}
|
185 |
|
186 |
+
if (defined('AWS_DEFAULT_CACHE_CONFIG') && AWS_DEFAULT_CACHE_CONFIG)
|
187 |
+
{
|
188 |
+
return parent::session_based_auth($key, $secret_key, $token);
|
189 |
+
}
|
190 |
+
|
191 |
return parent::__construct($key, $secret_key);
|
192 |
}
|
193 |
|
libs/dropbox/OAuthSimple.php
DELETED
@@ -1,418 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/* OAuthSimple
|
3 |
-
* A simpler version of OAuth
|
4 |
-
*
|
5 |
-
* author: jr conlin
|
6 |
-
* mail: src@jrconlin.com
|
7 |
-
* copyright: unitedHeroes.net
|
8 |
-
* version: 1.2
|
9 |
-
* url: http://unitedHeroes.net/OAuthSimple
|
10 |
-
*
|
11 |
-
* Copyright (c) 2010, unitedHeroes.net
|
12 |
-
* All rights reserved.
|
13 |
-
*
|
14 |
-
* Redistribution and use in source and binary forms, with or without
|
15 |
-
* modification, are permitted provided that the following conditions are met:
|
16 |
-
* * Redistributions of source code must retain the above copyright
|
17 |
-
* notice, this list of conditions and the following disclaimer.
|
18 |
-
* * Redistributions in binary form must reproduce the above copyright
|
19 |
-
* notice, this list of conditions and the following disclaimer in the
|
20 |
-
* documentation and/or other materials provided with the distribution.
|
21 |
-
* * Neither the name of the unitedHeroes.net nor the
|
22 |
-
* names of its contributors may be used to endorse or promote products
|
23 |
-
* derived from this software without specific prior written permission.
|
24 |
-
*
|
25 |
-
* THIS SOFTWARE IS PROVIDED BY UNITEDHEROES.NET ''AS IS'' AND ANY
|
26 |
-
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
27 |
-
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
28 |
-
* DISCLAIMED. IN NO EVENT SHALL UNITEDHEROES.NET BE LIABLE FOR ANY
|
29 |
-
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
30 |
-
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
31 |
-
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
32 |
-
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
33 |
-
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
34 |
-
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
35 |
-
*/
|
36 |
-
|
37 |
-
/** Define a custom Exception for easy trap and detection
|
38 |
-
*/
|
39 |
-
class OAuthSimpleException extends Exception {}
|
40 |
-
|
41 |
-
|
42 |
-
class OAuthSimple {
|
43 |
-
var $_secrets;
|
44 |
-
var $_default_signature_method;
|
45 |
-
var $_action;
|
46 |
-
var $_nonce_chars;
|
47 |
-
|
48 |
-
/* Simple OAuth
|
49 |
-
*
|
50 |
-
* This class only builds the OAuth elements, it does not do the actual
|
51 |
-
* transmission or reception of the tokens. It does not validate elements
|
52 |
-
* of the token. It is for client use only.
|
53 |
-
*
|
54 |
-
* api_key is the API key, also known as the OAuth consumer key
|
55 |
-
* shared_secret is the shared secret (duh).
|
56 |
-
*
|
57 |
-
* Both the api_key and shared_secret are generally provided by the site
|
58 |
-
* offering OAuth services. You need to specify them at object creation
|
59 |
-
* because nobody <explative>ing uses OAuth without that minimal set of
|
60 |
-
* signatures.
|
61 |
-
*
|
62 |
-
* If you want to use the higher order security that comes from the
|
63 |
-
* OAuth token (sorry, I don't provide the functions to fetch that because
|
64 |
-
* sites aren't horribly consistent about how they offer that), you need to
|
65 |
-
* pass those in either with .signatures() or as an argument to the
|
66 |
-
* .sign() or .getHeaderString() functions.
|
67 |
-
*
|
68 |
-
* Example:
|
69 |
-
<code>
|
70 |
-
<?php
|
71 |
-
$oauthObject = new OAuthSimple();
|
72 |
-
$result = $oauthObject->sign(Array('path'=>'http://example.com/rest/',
|
73 |
-
'parameters'=> 'foo=bar&gorp=banana',
|
74 |
-
'signatures'=> Array(
|
75 |
-
'api_key'=>'12345abcd',
|
76 |
-
'shared_secret'=>'xyz-5309'
|
77 |
-
)));
|
78 |
-
?>
|
79 |
-
<a href="<?php print $result['signed_url']; ?>">Some Link</a>;
|
80 |
-
</code>
|
81 |
-
*
|
82 |
-
* that will sign as a "GET" using "SHA1-MAC" the url. If you need more than
|
83 |
-
* that, read on, McDuff.
|
84 |
-
*/
|
85 |
-
|
86 |
-
/** OAuthSimple creator
|
87 |
-
*
|
88 |
-
* Create an instance of OAuthSimple
|
89 |
-
*
|
90 |
-
* @param api_key {string} The API Key (sometimes referred to as the consumer key) This value is usually supplied by the site you wish to use.
|
91 |
-
* @param shared_secret (string) The shared secret. This value is also usually provided by the site you wish to use.
|
92 |
-
*/
|
93 |
-
function OAuthSimple ($APIKey = "",$sharedSecret=""){
|
94 |
-
if (!empty($APIKey))
|
95 |
-
$this->_secrets{'consumer_key'}=$APIKey;
|
96 |
-
if (!empty($sharedSecret))
|
97 |
-
$this->_secrets{'shared_secret'}=$sharedSecret;
|
98 |
-
$this->_default_signature_method="HMAC-SHA1";
|
99 |
-
$this->_action="GET";
|
100 |
-
$this->_nonce_chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
101 |
-
return $this;
|
102 |
-
}
|
103 |
-
|
104 |
-
/** reset the parameters and url
|
105 |
-
*
|
106 |
-
*/
|
107 |
-
function reset() {
|
108 |
-
$this->_parameters=null;
|
109 |
-
$this->path=null;
|
110 |
-
$this->sbs=null;
|
111 |
-
return $this;
|
112 |
-
}
|
113 |
-
|
114 |
-
/** set the parameters either from a hash or a string
|
115 |
-
*
|
116 |
-
* @param {string,object} List of parameters for the call, this can either be a URI string (e.g. "foo=bar&gorp=banana" or an object/hash)
|
117 |
-
*/
|
118 |
-
function setParameters ($parameters=Array()) {
|
119 |
-
|
120 |
-
if (is_string($parameters))
|
121 |
-
$parameters = $this->_parseParameterString($parameters);
|
122 |
-
if (empty($this->_parameters))
|
123 |
-
$this->_parameters = $parameters;
|
124 |
-
elseif (!empty($parameters))
|
125 |
-
$this->_parameters = array_merge($this->_parameters,$parameters);
|
126 |
-
if (empty($this->_parameters['oauth_nonce']))
|
127 |
-
$this->_getNonce();
|
128 |
-
if (empty($this->_parameters['oauth_timestamp']))
|
129 |
-
$this->_getTimeStamp();
|
130 |
-
if (empty($this->_parameters['oauth_consumer_key']))
|
131 |
-
$this->_getApiKey();
|
132 |
-
if (empty($this->_parameters['oauth_token']))
|
133 |
-
$this->_getAccessToken();
|
134 |
-
if (empty($this->_parameters['oauth_signature_method']))
|
135 |
-
$this->setSignatureMethod();
|
136 |
-
if (empty($this->_parameters['oauth_version']))
|
137 |
-
$this->_parameters['oauth_version']="1.0";
|
138 |
-
//error_log('parameters: '.print_r($this,1));
|
139 |
-
return $this;
|
140 |
-
}
|
141 |
-
|
142 |
-
// convienence method for setParameters
|
143 |
-
function setQueryString ($parameters) {
|
144 |
-
return $this->setParameters($parameters);
|
145 |
-
}
|
146 |
-
|
147 |
-
/** Set the target URL (does not include the parameters)
|
148 |
-
*
|
149 |
-
* @param path {string} the fully qualified URI (excluding query arguments) (e.g "http://example.org/foo")
|
150 |
-
*/
|
151 |
-
function setURL ($path) {
|
152 |
-
if (empty($path))
|
153 |
-
throw new OAuthSimpleException('No path specified for OAuthSimple.setURL');
|
154 |
-
$this->_path=$path;
|
155 |
-
return $this;
|
156 |
-
}
|
157 |
-
|
158 |
-
/** convienence method for setURL
|
159 |
-
*
|
160 |
-
* @param path {string} see .setURL
|
161 |
-
*/
|
162 |
-
function setPath ($path) {
|
163 |
-
return $this->_path=$path;
|
164 |
-
}
|
165 |
-
|
166 |
-
/** set the "action" for the url, (e.g. GET,POST, DELETE, etc.)
|
167 |
-
*
|
168 |
-
* @param action {string} HTTP Action word.
|
169 |
-
*/
|
170 |
-
function setAction ($action) {
|
171 |
-
if (empty($action))
|
172 |
-
$action = 'GET';
|
173 |
-
$action = strtoupper($action);
|
174 |
-
if (preg_match('/[^A-Z]/',$action))
|
175 |
-
throw new OAuthSimpleException('Invalid action specified for OAuthSimple.setAction');
|
176 |
-
$this->_action = $action;
|
177 |
-
return $this;
|
178 |
-
}
|
179 |
-
|
180 |
-
/** set the signatures (as well as validate the ones you have)
|
181 |
-
*
|
182 |
-
* @param signatures {object} object/hash of the token/signature pairs {api_key:, shared_secret:, oauth_token: oauth_secret:}
|
183 |
-
*/
|
184 |
-
function signatures ($signatures) {
|
185 |
-
if (!empty($signatures) && !is_array($signatures))
|
186 |
-
throw new OAuthSimpleException('Must pass dictionary array to OAuthSimple.signatures');
|
187 |
-
if (!empty($signatures)){
|
188 |
-
if (empty($this->_secrets)) {
|
189 |
-
$this->_secrets=Array();
|
190 |
-
}
|
191 |
-
$this->_secrets=array_merge($this->_secrets,$signatures);
|
192 |
-
}
|
193 |
-
// Aliases
|
194 |
-
if (isset($this->_secrets['api_key']))
|
195 |
-
$this->_secrets['consumer_key'] = $this->_secrets['api_key'];
|
196 |
-
if (isset($this->_secrets['access_token']))
|
197 |
-
$this->_secrets['oauth_token'] = $this->_secrets['access_token'];
|
198 |
-
if (isset($this->_secrets['access_secret']))
|
199 |
-
$this->_secrets['oauth_secret'] = $this->_secrets['access_secret'];
|
200 |
-
if (isset($this->_secrets['access_token_secret']))
|
201 |
-
$this->_secrets['oauth_secret'] = $this->_secrets['access_token_secret'];
|
202 |
-
// Gauntlet
|
203 |
-
if (empty($this->_secrets['consumer_key']))
|
204 |
-
throw new OAuthSimpleException('Missing required consumer_key in OAuthSimple.signatures');
|
205 |
-
if (empty($this->_secrets['shared_secret']))
|
206 |
-
throw new OAuthSimpleException('Missing requires shared_secret in OAuthSimple.signatures');
|
207 |
-
if (!empty($this->_secrets['oauth_token']) && empty($this->_secrets['oauth_secret']))
|
208 |
-
throw new OAuthSimpleException('Missing oauth_secret for supplied oauth_token in OAuthSimple.signatures');
|
209 |
-
return $this;
|
210 |
-
}
|
211 |
-
|
212 |
-
function setTokensAndSecrets($signatures) {
|
213 |
-
return $this->signatures($signatures);
|
214 |
-
}
|
215 |
-
|
216 |
-
/** set the signature method (currently only Plaintext or SHA-MAC1)
|
217 |
-
*
|
218 |
-
* @param method {string} Method of signing the transaction (only PLAINTEXT and SHA-MAC1 allowed for now)
|
219 |
-
*/
|
220 |
-
function setSignatureMethod ($method="") {
|
221 |
-
if (empty($method))
|
222 |
-
$method = $this->_default_signature_method;
|
223 |
-
$method = strtoupper($method);
|
224 |
-
switch($method)
|
225 |
-
{
|
226 |
-
case 'PLAINTEXT':
|
227 |
-
case 'HMAC-SHA1':
|
228 |
-
$this->_parameters['oauth_signature_method']=$method;
|
229 |
-
break;
|
230 |
-
default:
|
231 |
-
throw new OAuthSimpleException ("Unknown signing method $method specified for OAuthSimple.setSignatureMethod");
|
232 |
-
}
|
233 |
-
return $this;
|
234 |
-
}
|
235 |
-
|
236 |
-
/** sign the request
|
237 |
-
*
|
238 |
-
* note: all arguments are optional, provided you've set them using the
|
239 |
-
* other helper functions.
|
240 |
-
*
|
241 |
-
* @param args {object} hash of arguments for the call
|
242 |
-
* {action, path, parameters (array), method, signatures (array)}
|
243 |
-
* all arguments are optional.
|
244 |
-
*/
|
245 |
-
function sign($args=array()) {
|
246 |
-
if (!empty($args['action']))
|
247 |
-
$this->setAction($args['action']);
|
248 |
-
if (!empty($args['path']))
|
249 |
-
$this->setPath($args['path']);
|
250 |
-
if (!empty($args['method']))
|
251 |
-
$this->setSignatureMethod($args['method']);
|
252 |
-
if (!empty($args['signatures']))
|
253 |
-
$this->signatures($args['signatures']);
|
254 |
-
if (empty($args['parameters']))
|
255 |
-
$args['parameters']=array(); // squelch the warning.
|
256 |
-
$this->setParameters($args['parameters']);
|
257 |
-
$normParams = $this->_normalizedParameters();
|
258 |
-
$this->_parameters['oauth_signature'] = $this->_generateSignature($normParams);
|
259 |
-
return Array(
|
260 |
-
'parameters' => $this->_parameters,
|
261 |
-
'signature' => $this->_oauthEscape($this->_parameters['oauth_signature']),
|
262 |
-
'signed_url' => $this->_path . '?' . $this->_normalizedParameters(),
|
263 |
-
'header' => $this->getHeaderString(),
|
264 |
-
'sbs'=> $this->sbs
|
265 |
-
);
|
266 |
-
}
|
267 |
-
|
268 |
-
/** Return a formatted "header" string
|
269 |
-
*
|
270 |
-
* NOTE: This doesn't set the "Authorization: " prefix, which is required.
|
271 |
-
* I don't set it because various set header functions prefer different
|
272 |
-
* ways to do that.
|
273 |
-
*
|
274 |
-
* @param args {object} see .sign
|
275 |
-
*/
|
276 |
-
function getHeaderString ($args=array()) {
|
277 |
-
if (empty($this->_parameters['oauth_signature']))
|
278 |
-
$this->sign($args);
|
279 |
-
|
280 |
-
$result = 'OAuth ';
|
281 |
-
|
282 |
-
foreach ($this->_parameters as $pName=>$pValue)
|
283 |
-
{
|
284 |
-
if (strpos($pName,'oauth_') !== 0)
|
285 |
-
continue;
|
286 |
-
if (is_array($pValue))
|
287 |
-
{
|
288 |
-
foreach ($pValue as $val)
|
289 |
-
{
|
290 |
-
$result .= $pName .'="' . $this->_oauthEscape($val) . '", ';
|
291 |
-
}
|
292 |
-
}
|
293 |
-
else
|
294 |
-
{
|
295 |
-
$result .= $pName . '="' . $this->_oauthEscape($pValue) . '", ';
|
296 |
-
}
|
297 |
-
}
|
298 |
-
return preg_replace('/, $/','',$result);
|
299 |
-
}
|
300 |
-
|
301 |
-
// Start private methods. Here be Dragons.
|
302 |
-
// No promises are kept that any of these functions will continue to exist
|
303 |
-
// in future versions.
|
304 |
-
function _parseParameterString ($paramString) {
|
305 |
-
$elements = explode('&',$paramString);
|
306 |
-
$result = array();
|
307 |
-
foreach ($elements as $element)
|
308 |
-
{
|
309 |
-
list ($key,$token) = explode('=',$element);
|
310 |
-
if ($token)
|
311 |
-
$token = urldecode($token);
|
312 |
-
if (!empty($result[$key]))
|
313 |
-
{
|
314 |
-
if (!is_array($result[$key]))
|
315 |
-
$result[$key] = array($result[$key],$token);
|
316 |
-
else
|
317 |
-
array_push($result[$key],$token);
|
318 |
-
}
|
319 |
-
else
|
320 |
-
$result[$key]=$token;
|
321 |
-
}
|
322 |
-
//error_log('Parse parameters : '.print_r($result,1));
|
323 |
-
return $result;
|
324 |
-
}
|
325 |
-
|
326 |
-
function _oauthEscape($string) {
|
327 |
-
if ($string === 0)
|
328 |
-
return 0;
|
329 |
-
if (empty($string))
|
330 |
-
return '';
|
331 |
-
if (is_array($string))
|
332 |
-
throw new OAuthSimpleException('Array passed to _oauthEscape');
|
333 |
-
$string = urlencode($string);
|
334 |
-
$string = str_replace('+','%20',$string);
|
335 |
-
$string = str_replace('!','%21',$string);
|
336 |
-
$string = str_replace('*','%2A',$string);
|
337 |
-
$string = str_replace('\'','%27',$string);
|
338 |
-
$string = str_replace('(','%28',$string);
|
339 |
-
$string = str_replace(')','%29',$string);
|
340 |
-
return $string;
|
341 |
-
}
|
342 |
-
|
343 |
-
function _getNonce($length=5) {
|
344 |
-
$result = '';
|
345 |
-
$cLength = strlen($this->_nonce_chars);
|
346 |
-
for ($i=0; $i < $length; $i++)
|
347 |
-
{
|
348 |
-
$rnum = rand(0,$cLength);
|
349 |
-
$result .= substr($this->_nonce_chars,$rnum,1);
|
350 |
-
}
|
351 |
-
$this->_parameters['oauth_nonce'] = $result;
|
352 |
-
return $result;
|
353 |
-
}
|
354 |
-
|
355 |
-
function _getApiKey() {
|
356 |
-
if (empty($this->_secrets['consumer_key']))
|
357 |
-
{
|
358 |
-
throw new OAuthSimpleException('No consumer_key set for OAuthSimple');
|
359 |
-
}
|
360 |
-
$this->_parameters['oauth_consumer_key']=$this->_secrets['consumer_key'];
|
361 |
-
return $this->_parameters['oauth_consumer_key'];
|
362 |
-
}
|
363 |
-
|
364 |
-
function _getAccessToken() {
|
365 |
-
if (!isset($this->_secrets['oauth_secret']))
|
366 |
-
return '';
|
367 |
-
if (!isset($this->_secrets['oauth_token']))
|
368 |
-
throw new OAuthSimpleException('No access token (oauth_token) set for OAuthSimple.');
|
369 |
-
$this->_parameters['oauth_token'] = $this->_secrets['oauth_token'];
|
370 |
-
return $this->_parameters['oauth_token'];
|
371 |
-
}
|
372 |
-
|
373 |
-
function _getTimeStamp() {
|
374 |
-
return $this->_parameters['oauth_timestamp'] = time();
|
375 |
-
}
|
376 |
-
|
377 |
-
function _normalizedParameters() {
|
378 |
-
$elements = array();
|
379 |
-
$ra = 0;
|
380 |
-
ksort($this->_parameters);
|
381 |
-
foreach ( $this->_parameters as $paramName=>$paramValue) {
|
382 |
-
if (preg_match('/\w+_secret/',$paramName))
|
383 |
-
continue;
|
384 |
-
if (is_array($paramValue))
|
385 |
-
{
|
386 |
-
sort($paramValue);
|
387 |
-
foreach($paramValue as $element)
|
388 |
-
array_push($elements,$this->_oauthEscape($paramName).'='.$this->_oauthEscape($element));
|
389 |
-
continue;
|
390 |
-
}
|
391 |
-
array_push($elements,$this->_oauthEscape($paramName).'='.$this->_oauthEscape($paramValue));
|
392 |
-
}
|
393 |
-
return join('&',$elements);
|
394 |
-
}
|
395 |
-
|
396 |
-
function _generateSignature () {
|
397 |
-
$secretKey = '';
|
398 |
-
if(isset($this->_secrets['shared_secret']))
|
399 |
-
$secretKey = $this->_oauthEscape($this->_secrets['shared_secret']);
|
400 |
-
$secretKey .= '&';
|
401 |
-
if(isset($this->_secrets['oauth_secret']))
|
402 |
-
$secretKey .= $this->_oauthEscape($this->_secrets['oauth_secret']);
|
403 |
-
switch($this->_parameters['oauth_signature_method'])
|
404 |
-
{
|
405 |
-
case 'PLAINTEXT':
|
406 |
-
return urlencode($secretKey);
|
407 |
-
|
408 |
-
case 'HMAC-SHA1':
|
409 |
-
$this->sbs = $this->_oauthEscape($this->_action).'&'.$this->_oauthEscape($this->_path).'&'.$this->_oauthEscape($this->_normalizedParameters());
|
410 |
-
//error_log('SBS: '.$sigString);
|
411 |
-
return base64_encode(hash_hmac('sha1',$this->sbs,$secretKey,true));
|
412 |
-
|
413 |
-
default:
|
414 |
-
throw new OAuthSimpleException('Unknown signature method for OAuthSimple');
|
415 |
-
}
|
416 |
-
}
|
417 |
-
}
|
418 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
libs/dropbox/dropbox.php
DELETED
@@ -1,271 +0,0 @@
|
|
1 |
-
<?PHP
|
2 |
-
|
3 |
-
/**
|
4 |
-
* Dropbox class
|
5 |
-
*
|
6 |
-
* This source file can be used to communicate with DropBox (http://dropbox.com)
|
7 |
-
*
|
8 |
-
* The class is documented in the file itself. If you find any bugs help me out and report them.
|
9 |
-
* If you report a bug, make sure you give me enough information (include your code).
|
10 |
-
*
|
11 |
-
*
|
12 |
-
*
|
13 |
-
* License
|
14 |
-
* Copyright (c), Daniel Huesken. All rights reserved.
|
15 |
-
*
|
16 |
-
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
17 |
-
*
|
18 |
-
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
19 |
-
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
20 |
-
* 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.
|
21 |
-
*
|
22 |
-
* This software is provided by the author "as is" and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall the author be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.
|
23 |
-
*
|
24 |
-
* @author Daniel Huesken <daniel@huesken-net.de>
|
25 |
-
* @version 1.0.0
|
26 |
-
*
|
27 |
-
* @copyright Copyright (c), Daniel Huesken. All rights reserved.
|
28 |
-
* @license BSD License
|
29 |
-
*/
|
30 |
-
|
31 |
-
if (!class_exists('OAuthSimple'))
|
32 |
-
require_once(dirname(__FILE__).'/OAuthSimple.php');
|
33 |
-
|
34 |
-
class Dropbox {
|
35 |
-
const API_URL = 'https://api.dropbox.com/';
|
36 |
-
const API_CONTENT_URL = 'https://api-content.dropbox.com/';
|
37 |
-
const API_WWW_URL = 'https://www.dropbox.com/';
|
38 |
-
const API_VERSION_URL = '0/';
|
39 |
-
|
40 |
-
protected $root = 'dropbox';
|
41 |
-
protected $OAuthObject;
|
42 |
-
protected $OAuthToken;
|
43 |
-
protected $OAuthSignMethod='HMAC-SHA1';
|
44 |
-
protected $ProgressFunction = false;
|
45 |
-
|
46 |
-
public function __construct($applicationKey, $applicationSecret) {
|
47 |
-
$this->OAuthObject = new OAuthSimple($applicationKey, $applicationSecret);
|
48 |
-
}
|
49 |
-
|
50 |
-
public function setOAuthTokens($token,$secret) {
|
51 |
-
$this->OAuthToken = array('oauth_token'=>$token,'oauth_secret'=> $secret);
|
52 |
-
}
|
53 |
-
|
54 |
-
public function setDropbox() {
|
55 |
-
$this->root = 'dropbox';
|
56 |
-
}
|
57 |
-
|
58 |
-
public function setSandbox() {
|
59 |
-
$this->root = 'sandbox';
|
60 |
-
}
|
61 |
-
|
62 |
-
public function setoAuthSignMethodSHA1() {
|
63 |
-
$this->OAuthSignMethod = 'HMAC-SHA1';
|
64 |
-
}
|
65 |
-
|
66 |
-
public function setoAuthSignMethodPlain() {
|
67 |
-
$this->OAuthSignMethod = 'PLAINTEXT';
|
68 |
-
}
|
69 |
-
|
70 |
-
public function setProgressFunction($function) {
|
71 |
-
if (function_exists($function))
|
72 |
-
$this->ProgressFunction = $function;
|
73 |
-
else
|
74 |
-
$this->ProgressFunction = false;
|
75 |
-
}
|
76 |
-
|
77 |
-
public function accountInfo(){
|
78 |
-
$url = self::API_URL.self::API_VERSION_URL.'account/info';
|
79 |
-
return $this->request($url);
|
80 |
-
}
|
81 |
-
|
82 |
-
public function upload($file, $path = ''){
|
83 |
-
$file = str_replace("\\", "/",$file);
|
84 |
-
if (!is_readable($file) or !is_file($file)){
|
85 |
-
throw new DropboxException("Error: File \"$file\" is not readable or doesn't exist.");
|
86 |
-
}
|
87 |
-
if (filesize($file)>314572800){
|
88 |
-
throw new DropboxException("Error: File \"$file\" is to big max. 300 MB.");
|
89 |
-
}
|
90 |
-
$url = self::API_CONTENT_URL.self::API_VERSION_URL.'files/'.$this->root.'/'.trim($path, '/');
|
91 |
-
return $this->request($url, array('file' => basename($file)), 'POST', $file);
|
92 |
-
}
|
93 |
-
|
94 |
-
public function download($path){
|
95 |
-
$url = self::API_CONTENT_URL.self::API_VERSION_URL. 'files/'.$this->root.'/'.$path;
|
96 |
-
return $this->request($url);
|
97 |
-
}
|
98 |
-
|
99 |
-
public function metadata($path = '', $listContents = true, $fileLimit = 10000){
|
100 |
-
$url = self::API_URL.self::API_VERSION_URL. 'metadata/' . $this->root . '/' . ltrim($path, '/');
|
101 |
-
return $this->request($url, array('list' => ($listContents)? 'true' : 'false', 'file_limit' => $fileLimit));
|
102 |
-
}
|
103 |
-
|
104 |
-
public function createAccount($firstName, $lastName, $email, $password){
|
105 |
-
$url = self::API_URL.self::API_VERSION_URL.'account';
|
106 |
-
return $this->request($url, array('first_name' => $firstName, 'last_name' => $lastName, 'email' => $email, 'password' => $password), 'POST', true);
|
107 |
-
}
|
108 |
-
|
109 |
-
public function fileopsDelete($path){
|
110 |
-
$url = self::API_URL.self::API_VERSION_URL.'fileops/delete';
|
111 |
-
return $this->request($url, array('path' => $path, 'root' => $this->root));
|
112 |
-
}
|
113 |
-
|
114 |
-
public function fileopsMove($from, $to){
|
115 |
-
$url = self::API_URL.self::API_VERSION_URL.'fileops/move';
|
116 |
-
return $this->request($url, array('from_path' => $from, 'to_path' => $to, 'root' => $this->root));
|
117 |
-
}
|
118 |
-
|
119 |
-
public function fileopsCreateFolder($path){
|
120 |
-
$url = self::API_URL.self::API_VERSION_URL.'fileops/create_folder';
|
121 |
-
return $this->request($url, array('path' => $path, 'root' => $this->root));
|
122 |
-
}
|
123 |
-
|
124 |
-
public function fileopsCopy($from, $to){
|
125 |
-
$url = self::API_URL.self::API_VERSION_URL.'fileops/copy';
|
126 |
-
return $this->request($url, array('from_path' => $from, 'to_path' => $to, 'root' => $this->root));
|
127 |
-
}
|
128 |
-
|
129 |
-
public function oAuthAuthorize($callback_url) {
|
130 |
-
//request tokens
|
131 |
-
$OAuthSign = $this->OAuthObject->sign(array(
|
132 |
-
'path' =>self::API_URL.self::API_VERSION_URL.'oauth/request_token',
|
133 |
-
'method' => $this->OAuthSignMethod,
|
134 |
-
'action' =>'GET',
|
135 |
-
'parameters'=>array('oauth_callback'=>$callback_url)));
|
136 |
-
$ch = curl_init();
|
137 |
-
curl_setopt($ch, CURLOPT_URL, $OAuthSign['signed_url']);
|
138 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
139 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
140 |
-
curl_setopt($ch, CURLOPT_AUTOREFERER , true);
|
141 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
142 |
-
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
|
143 |
-
$content = curl_exec($ch);
|
144 |
-
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
145 |
-
if ($status>=200 and $status<300 and 0==curl_errno($ch) ) {
|
146 |
-
parse_str($content, $oauth_token);
|
147 |
-
} else {
|
148 |
-
$output = json_decode($content, true);
|
149 |
-
if(isset($output['error']) && is_string($output['error'])) $message = $output['error'];
|
150 |
-
elseif(isset($output['error']['hash']) && $output['error']['hash'] != '') $message = (string) $output['error']['hash'];
|
151 |
-
elseif (0!=curl_errno($ch)) $message = '('.curl_errno($ch).') '.curl_error($ch);
|
152 |
-
else $message = '('.$status.') Invalid response.';
|
153 |
-
throw new DropboxException($message);
|
154 |
-
}
|
155 |
-
curl_close($ch);
|
156 |
-
$OAuthSign = $this->OAuthObject->sign(array(
|
157 |
-
'path' =>self::API_WWW_URL.self::API_VERSION_URL.'oauth/authorize',
|
158 |
-
'action' =>'GET',
|
159 |
-
'parameters'=>array(
|
160 |
-
'oauth_token' => $oauth_token['oauth_token'])));
|
161 |
-
return array('authurl'=>$OAuthSign['signed_url'],'oauth_token'=>$oauth_token['oauth_token'],'oauth_token_secret'=>$oauth_token['oauth_token_secret']);
|
162 |
-
}
|
163 |
-
|
164 |
-
public function oAuthAccessToken($oauth_token, $oauth_token_secret) {
|
165 |
-
$OAuthSign = $this->OAuthObject->sign(array(
|
166 |
-
'path' => self::API_URL.self::API_VERSION_URL.'oauth/access_token',
|
167 |
-
'action' =>'GET',
|
168 |
-
'method' => $this->OAuthSignMethod,
|
169 |
-
'parameters'=>array('oauth_token' => $oauth_token),
|
170 |
-
'signatures'=>array('oauth_token'=>$oauth_token,'oauth_secret'=>$oauth_token_secret)));
|
171 |
-
$ch = curl_init();
|
172 |
-
curl_setopt($ch, CURLOPT_URL, $OAuthSign['signed_url']);
|
173 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
174 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
175 |
-
curl_setopt($ch, CURLOPT_AUTOREFERER , true);
|
176 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
177 |
-
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
|
178 |
-
$content = curl_exec($ch);
|
179 |
-
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
180 |
-
if ($status>=200 and $status<300 and 0==curl_errno($ch)) {
|
181 |
-
parse_str($content, $oauth_token);
|
182 |
-
$this->setOAuthTokens($oauth_token['oauth_token'],$oauth_token['oauth_token_secret']);
|
183 |
-
return $oauth_token;
|
184 |
-
} else {
|
185 |
-
$output = json_decode($content, true);
|
186 |
-
if(isset($output['error']) && is_string($output['error'])) $message = $output['error'];
|
187 |
-
elseif(isset($output['error']['hash']) && $output['error']['hash'] != '') $message = (string) $output['error']['hash'];
|
188 |
-
elseif (0!=curl_errno($ch)) $message = '('.curl_errno($ch).') '.curl_error($ch);
|
189 |
-
else $message = '('.$status.') Invalid response.';
|
190 |
-
throw new DropboxException($message);
|
191 |
-
}
|
192 |
-
}
|
193 |
-
|
194 |
-
protected function request($url, $args = null, $method = 'GET', $file = null){
|
195 |
-
$args = (is_array($args)) ? $args : array();
|
196 |
-
$url=str_replace(' ','%20',$url); //encode spaces
|
197 |
-
/* Sign Request*/
|
198 |
-
$this->OAuthObject->reset();
|
199 |
-
$OAuthSign=$this->OAuthObject->sign(array(
|
200 |
-
'path' => $url,
|
201 |
-
'parameters'=> $args,
|
202 |
-
'action'=> $method,
|
203 |
-
'method' => $this->OAuthSignMethod,
|
204 |
-
'signatures'=> $this->OAuthToken));
|
205 |
-
|
206 |
-
/* Header*/
|
207 |
-
$headers[]='Expect:';
|
208 |
-
|
209 |
-
/* Build cURL Request */
|
210 |
-
$ch = curl_init();
|
211 |
-
if ($method == 'POST') {
|
212 |
-
curl_setopt($ch, CURLOPT_POST, true);
|
213 |
-
if (!empty($file)) { /* file upload */
|
214 |
-
/* random string */
|
215 |
-
$boundary = md5_file($file);
|
216 |
-
$body="--" . $boundary . "\r\n";
|
217 |
-
$body.="Content-Disposition: form-data; name=file; filename=".basename($file)."\r\n";
|
218 |
-
$body.="Content-type: application/octet-stream\r\n";
|
219 |
-
$body.="\r\n";
|
220 |
-
$body.=file_get_contents($file);
|
221 |
-
$body.="\r\n";
|
222 |
-
$body.="--" . $boundary . "--";
|
223 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
|
224 |
-
$headers[]='Content-Length: ' .strlen($body);
|
225 |
-
$headers[]='Content-Type: multipart/form-data; boundary=' . $boundary;
|
226 |
-
} else {
|
227 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
|
228 |
-
$args = (is_array($args)) ? http_build_query($args) : $args;
|
229 |
-
$headers[]='Content-Length: ' .strlen($args);
|
230 |
-
}
|
231 |
-
$headers[]='Authorization: '.$OAuthSign['header'];
|
232 |
-
curl_setopt($ch, CURLOPT_URL, $url);
|
233 |
-
} else {
|
234 |
-
curl_setopt($ch, CURLOPT_URL, $OAuthSign['signed_url']);
|
235 |
-
}
|
236 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
237 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
238 |
-
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
|
239 |
-
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
|
240 |
-
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true);
|
241 |
-
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
|
242 |
-
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
|
243 |
-
if (function_exists($this->ProgressFunction) and defined('CURLOPT_PROGRESSFUNCTION')) {
|
244 |
-
curl_setopt($ch, CURLOPT_NOPROGRESS, false);
|
245 |
-
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, $this->ProgressFunction);
|
246 |
-
curl_setopt($ch, CURLOPT_BUFFERSIZE, 512);
|
247 |
-
}
|
248 |
-
$content = curl_exec($ch);
|
249 |
-
$status = curl_getinfo($ch);
|
250 |
-
$output = json_decode($content, true);
|
251 |
-
|
252 |
-
if (isset($output['error']) or $status['http_code']>=300 or $status['http_code']<200 or curl_errno($ch)>0) {
|
253 |
-
if(isset($output['error']) && is_string($output['error'])) $message = $output['error'];
|
254 |
-
elseif(isset($output['error']['hash']) && $output['error']['hash'] != '') $message = (string) $output['error']['hash'];
|
255 |
-
elseif (0!=curl_errno($ch)) $message = '('.curl_errno($ch).') '.curl_error($ch);
|
256 |
-
else $message = '('.$status['http_code'].') Invalid response.';
|
257 |
-
throw new DropboxException($message);
|
258 |
-
} else {
|
259 |
-
curl_close($ch);
|
260 |
-
if (!is_array($output))
|
261 |
-
return $content;
|
262 |
-
else
|
263 |
-
return $output;
|
264 |
-
}
|
265 |
-
}
|
266 |
-
|
267 |
-
}
|
268 |
-
|
269 |
-
class DropboxException extends Exception {
|
270 |
-
}
|
271 |
-
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pages/func_backwpupbackups.php
CHANGED
@@ -288,35 +288,30 @@ function backwpup_get_backup_files($jobid,$dest) {
|
|
288 |
}
|
289 |
//Get files/filinfo from Dropbox
|
290 |
if ($dest=='DROPBOX' and !empty($jobvalue['dropetoken']) and !empty($jobvalue['dropesecret'])) {
|
291 |
-
if (!class_exists('
|
292 |
-
require_once(dirname(__FILE__).'/../libs/
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
$
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
$files[$filecounter]['downloadurl']=backwpup_admin_url('admin.php').'?page=backwpupbackups&action=downloaddropbox&file='.$object['path'].'&jobid='.$jobid;
|
311 |
-
$files[$filecounter]['filesize']=$object['bytes'];
|
312 |
-
$files[$filecounter]['time']=strtotime($object['modified']);
|
313 |
-
$filecounter++;
|
314 |
-
}
|
315 |
}
|
316 |
}
|
317 |
-
} catch (Exception $e) {
|
318 |
-
$backwpup_message.='DROPBOX: '.$e->getMessage().'<br />';
|
319 |
}
|
|
|
|
|
320 |
}
|
321 |
}
|
322 |
//Get files/filinfo from Sugarsync
|
288 |
}
|
289 |
//Get files/filinfo from Dropbox
|
290 |
if ($dest=='DROPBOX' and !empty($jobvalue['dropetoken']) and !empty($jobvalue['dropesecret'])) {
|
291 |
+
if (!class_exists('Dropbox_API'))
|
292 |
+
require_once(realpath(dirname(__FILE__).'/../libs/Dropbox/autoload.php'));
|
293 |
+
try {
|
294 |
+
$oauth = new Dropbox_OAuth_Wordpress(BACKWPUP_DROPBOX_APP_KEY, BACKWPUP_DROPBOX_APP_SECRET);
|
295 |
+
$dropbox = new Dropbox_API($oauth,$jobvalue['droperoot']);
|
296 |
+
$oauth->setToken($jobvalue['dropetoken'],$jobvalue['dropesecret']);
|
297 |
+
$contents = $dropbox->getMetaData($jobvalue['dropedir']);
|
298 |
+
if (is_array($contents)) {
|
299 |
+
foreach ($contents['contents'] as $object) {
|
300 |
+
if ($object['is_dir']!=true) {
|
301 |
+
$files[$filecounter]['JOBID']=$jobid;
|
302 |
+
$files[$filecounter]['DEST']=$dest;
|
303 |
+
$files[$filecounter]['folder']="https://api-content.dropbox.com/0/files/".$jobvalue['droperoot']."/".dirname($object['path'])."/";
|
304 |
+
$files[$filecounter]['file']=$object['path'];
|
305 |
+
$files[$filecounter]['filename']=basename($object['path']);
|
306 |
+
$files[$filecounter]['downloadurl']=backwpup_admin_url('admin.php').'?page=backwpupbackups&action=downloaddropbox&file='.$object['path'].'&jobid='.$jobid;
|
307 |
+
$files[$filecounter]['filesize']=$object['bytes'];
|
308 |
+
$files[$filecounter]['time']=strtotime($object['modified']);
|
309 |
+
$filecounter++;
|
|
|
|
|
|
|
|
|
|
|
310 |
}
|
311 |
}
|
|
|
|
|
312 |
}
|
313 |
+
} catch (Exception $e) {
|
314 |
+
$backwpup_message.='DROPBOX: '.$e->getMessage().'<br />';
|
315 |
}
|
316 |
}
|
317 |
//Get files/filinfo from Sugarsync
|
pages/func_backwpupeditjob.php
CHANGED
@@ -352,11 +352,6 @@ function backwpup_jobedit_metabox_destdropbox($jobvalue) {
|
|
352 |
<?PHP } else { ?>
|
353 |
<span style="color:green;"><?php _e('Authenticated!', 'backwpup'); ?></span> <input type="submit" name="dropboxauthdel" class="button-primary" accesskey="d" value="<?php _e('Delete!', 'backwpup'); ?>" /><br />
|
354 |
<?PHP } ?><br />
|
355 |
-
<b><?PHP _e('oAuth sign method:','backwpup'); ?></b><br />
|
356 |
-
<select name="dropesignmethod" id="dropesignmethod">
|
357 |
-
<option <?PHP selected($jobvalue['dropesignmethod'],'SHA1',true); ?> value="SHA1"><?php _e('HMAC-SHA1', 'backwpup'); ?></option>
|
358 |
-
<option <?PHP selected($jobvalue['dropesignmethod'],'PLAIN',true); ?> value="PLAIN"><?php _e('PLAINTEXT', 'backwpup'); ?></option>
|
359 |
-
</select><br />
|
360 |
<b><?PHP _e('Root:','backwpup'); ?></b><br />
|
361 |
<select name="droperoot" id="droperoot">
|
362 |
<option <?PHP selected($jobvalue['droperoot'],'dropbox',true); ?> value="dropbox"><?php _e('dropbox', 'backwpup'); ?></option>
|
352 |
<?PHP } else { ?>
|
353 |
<span style="color:green;"><?php _e('Authenticated!', 'backwpup'); ?></span> <input type="submit" name="dropboxauthdel" class="button-primary" accesskey="d" value="<?php _e('Delete!', 'backwpup'); ?>" /><br />
|
354 |
<?PHP } ?><br />
|
|
|
|
|
|
|
|
|
|
|
355 |
<b><?PHP _e('Root:','backwpup'); ?></b><br />
|
356 |
<select name="droperoot" id="droperoot">
|
357 |
<option <?PHP selected($jobvalue['droperoot'],'dropbox',true); ?> value="dropbox"><?php _e('dropbox', 'backwpup'); ?></option>
|
pages/header_backwpupbackups.php
CHANGED
@@ -26,6 +26,7 @@ if (!empty($doaction)) {
|
|
26 |
if (!empty($jobvalue['awsAccessKey']) and !empty($jobvalue['awsSecretKey']) and !empty($jobvalue['awsBucket'])) {
|
27 |
try {
|
28 |
$s3 = new AmazonS3($jobvalue['awsAccessKey'], $jobvalue['awsSecretKey']);
|
|
|
29 |
$s3->delete_object($jobvalue['awsBucket'],$backupfile);
|
30 |
unset($s3);
|
31 |
} catch (Exception $e) {
|
@@ -40,6 +41,7 @@ if (!empty($doaction)) {
|
|
40 |
if (!empty($jobvalue['GStorageAccessKey']) and !empty($jobvalue['GStorageSecret']) and !empty($jobvalue['GStorageBucket'])) {
|
41 |
try {
|
42 |
$gstorage = new AmazonS3($jobvalue['GStorageAccessKey'], $jobvalue['GStorageSecret']);
|
|
|
43 |
$gstorage->set_hostname('commondatastorage.googleapis.com');
|
44 |
$gstorage->allow_hostname_override(false);
|
45 |
$gstorage->delete_object($jobvalue['GStorageBucket'],$backupfile);
|
@@ -64,24 +66,19 @@ if (!empty($doaction)) {
|
|
64 |
}
|
65 |
}
|
66 |
} elseif ($dest=='DROPBOX') {
|
67 |
-
if (!class_exists('
|
68 |
-
require_once(realpath(dirname(__FILE__).'/../libs/
|
69 |
-
if (
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
$dropbox->fileopsDelete($backupfile);
|
79 |
-
unset($dropbox);
|
80 |
-
} catch (Exception $e) {
|
81 |
-
$backwpup_message.='DROPBOX: '.$e->getMessage().'<br />';
|
82 |
-
}
|
83 |
}
|
84 |
-
}
|
85 |
} elseif ($dest=='SUGARSYNC') {
|
86 |
if (!class_exists('SugarSync'))
|
87 |
require_once (realpath(dirname(__FILE__).'/../libs/sugarsync.php'));
|
@@ -170,7 +167,8 @@ if (!empty($doaction)) {
|
|
170 |
break;
|
171 |
case 'downloads3': //Download S3 Backup
|
172 |
check_admin_referer('download-backup');
|
173 |
-
|
|
|
174 |
$jobs=get_option('backwpup_jobs');
|
175 |
$jobid=$_GET['jobid'];
|
176 |
try {
|
@@ -199,16 +197,14 @@ if (!empty($doaction)) {
|
|
199 |
break;
|
200 |
case 'downloaddropbox': //Download Dropbox Backup
|
201 |
check_admin_referer('download-backup');
|
202 |
-
|
|
|
203 |
$jobs=get_option('backwpup_jobs');
|
204 |
$jobid=$_GET['jobid'];
|
205 |
try {
|
206 |
-
$
|
207 |
-
$dropbox
|
208 |
-
|
209 |
-
$dropbox->setSandbox();
|
210 |
-
else
|
211 |
-
$dropbox->setDropbox();
|
212 |
header("Pragma: public");
|
213 |
header("Expires: 0");
|
214 |
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
|
@@ -219,7 +215,7 @@ if (!empty($doaction)) {
|
|
219 |
header("Content-Disposition: attachment; filename=".basename($_GET['file']).";");
|
220 |
header("Content-Transfer-Encoding: binary");
|
221 |
//header("Content-Length: ".$dropfile['bytes']);
|
222 |
-
echo $dropbox->
|
223 |
die();
|
224 |
} catch (Exception $e) {
|
225 |
die($e->getMessage());
|
@@ -227,7 +223,8 @@ if (!empty($doaction)) {
|
|
227 |
break;
|
228 |
case 'downloadsugarsync': //Download Dropbox Backup
|
229 |
check_admin_referer('download-backup');
|
230 |
-
|
|
|
231 |
$jobs=get_option('backwpup_jobs');
|
232 |
$jobid=$_GET['jobid'];
|
233 |
try {
|
@@ -275,7 +272,8 @@ if (!empty($doaction)) {
|
|
275 |
break;
|
276 |
case 'downloadrsc': //Download RSC Backup
|
277 |
check_admin_referer('download-backup');
|
278 |
-
|
|
|
279 |
$jobs=get_option('backwpup_jobs');
|
280 |
$jobid=$_GET['jobid'];
|
281 |
try {
|
26 |
if (!empty($jobvalue['awsAccessKey']) and !empty($jobvalue['awsSecretKey']) and !empty($jobvalue['awsBucket'])) {
|
27 |
try {
|
28 |
$s3 = new AmazonS3($jobvalue['awsAccessKey'], $jobvalue['awsSecretKey']);
|
29 |
+
$s3->ssl_verification=false;
|
30 |
$s3->delete_object($jobvalue['awsBucket'],$backupfile);
|
31 |
unset($s3);
|
32 |
} catch (Exception $e) {
|
41 |
if (!empty($jobvalue['GStorageAccessKey']) and !empty($jobvalue['GStorageSecret']) and !empty($jobvalue['GStorageBucket'])) {
|
42 |
try {
|
43 |
$gstorage = new AmazonS3($jobvalue['GStorageAccessKey'], $jobvalue['GStorageSecret']);
|
44 |
+
$gstorage->ssl_verification=false;
|
45 |
$gstorage->set_hostname('commondatastorage.googleapis.com');
|
46 |
$gstorage->allow_hostname_override(false);
|
47 |
$gstorage->delete_object($jobvalue['GStorageBucket'],$backupfile);
|
66 |
}
|
67 |
}
|
68 |
} elseif ($dest=='DROPBOX') {
|
69 |
+
if (!class_exists('Dropbox_API'))
|
70 |
+
require_once(realpath(dirname(__FILE__).'/../libs/Dropbox/autoload.php'));
|
71 |
+
if (!empty($jobvalue['dropetoken']) and !empty($jobvalue['dropesecret'])) {
|
72 |
+
try {
|
73 |
+
$oauth = new Dropbox_OAuth_Wordpress(BACKWPUP_DROPBOX_APP_KEY, BACKWPUP_DROPBOX_APP_SECRET);
|
74 |
+
$dropbox = new Dropbox_API($oauth,$jobvalue['droperoot']);
|
75 |
+
$oauth->setToken($jobvalue['dropetoken'],$jobvalue['dropesecret']);
|
76 |
+
$dropbox->delete($backupfile);
|
77 |
+
unset($dropbox);
|
78 |
+
} catch (Exception $e) {
|
79 |
+
$backwpup_message.='DROPBOX: '.$e->getMessage().'<br />';
|
|
|
|
|
|
|
|
|
|
|
80 |
}
|
81 |
+
}
|
82 |
} elseif ($dest=='SUGARSYNC') {
|
83 |
if (!class_exists('SugarSync'))
|
84 |
require_once (realpath(dirname(__FILE__).'/../libs/sugarsync.php'));
|
167 |
break;
|
168 |
case 'downloads3': //Download S3 Backup
|
169 |
check_admin_referer('download-backup');
|
170 |
+
if (!class_exists('AmazonS3'))
|
171 |
+
require_once(realpath(dirname(__FILE__).'/../libs/aws/sdk.class.php'));
|
172 |
$jobs=get_option('backwpup_jobs');
|
173 |
$jobid=$_GET['jobid'];
|
174 |
try {
|
197 |
break;
|
198 |
case 'downloaddropbox': //Download Dropbox Backup
|
199 |
check_admin_referer('download-backup');
|
200 |
+
if (!class_exists('Dropbox_API'))
|
201 |
+
require_once(realpath(dirname(__FILE__).'/../libs/Dropbox/autoload.php'));
|
202 |
$jobs=get_option('backwpup_jobs');
|
203 |
$jobid=$_GET['jobid'];
|
204 |
try {
|
205 |
+
$oauth = new Dropbox_OAuth_Wordpress(BACKWPUP_DROPBOX_APP_KEY, BACKWPUP_DROPBOX_APP_SECRET);
|
206 |
+
$dropbox = new Dropbox_API($oauth,$jobs[$jobid]['droperoot']);
|
207 |
+
$oauth->setToken($jobs[$jobid]['dropetoken'],$jobs[$jobid]['dropesecret']);
|
|
|
|
|
|
|
208 |
header("Pragma: public");
|
209 |
header("Expires: 0");
|
210 |
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
|
215 |
header("Content-Disposition: attachment; filename=".basename($_GET['file']).";");
|
216 |
header("Content-Transfer-Encoding: binary");
|
217 |
//header("Content-Length: ".$dropfile['bytes']);
|
218 |
+
echo $dropbox->getFile($_GET['file']);
|
219 |
die();
|
220 |
} catch (Exception $e) {
|
221 |
die($e->getMessage());
|
223 |
break;
|
224 |
case 'downloadsugarsync': //Download Dropbox Backup
|
225 |
check_admin_referer('download-backup');
|
226 |
+
if (!class_exists('SugarSync'))
|
227 |
+
require_once(realpath(dirname(__FILE__).'/../libs/sugarsync.php'));
|
228 |
$jobs=get_option('backwpup_jobs');
|
229 |
$jobid=$_GET['jobid'];
|
230 |
try {
|
272 |
break;
|
273 |
case 'downloadrsc': //Download RSC Backup
|
274 |
check_admin_referer('download-backup');
|
275 |
+
if (!class_exists('CF_Authentication'))
|
276 |
+
require_once(realpath(plugin_dir_path(__FILE__).'/../libs/rackspace/cloudfiles.php'));
|
277 |
$jobs=get_option('backwpup_jobs');
|
278 |
$jobid=$_GET['jobid'];
|
279 |
try {
|
pages/header_backwpupeditjob.php
CHANGED
@@ -10,16 +10,17 @@ if (isset($_GET['dropboxauth']) and $_GET['dropboxauth']=='AccessToken') {
|
|
10 |
$backwpup_message='';
|
11 |
if ((int)$_GET['uid']>0 and !empty($_GET['oauth_token'])) {
|
12 |
$reqtoken=get_transient('backwpup_dropboxrequest');
|
13 |
-
if ($reqtoken['
|
14 |
//Get Access Tokens
|
15 |
-
if (!class_exists('
|
16 |
-
require_once
|
17 |
-
$
|
18 |
-
$
|
|
|
19 |
//Save Tokens
|
20 |
$jobs=get_option('backwpup_jobs');
|
21 |
-
$jobs[$jobid]['dropetoken']=$
|
22 |
-
$jobs[$jobid]['dropesecret']=$
|
23 |
update_option('backwpup_jobs',$jobs);
|
24 |
$backwpup_message.=__('Dropbox authentication complete!','backwpup').'<br />';
|
25 |
} else {
|
@@ -131,7 +132,6 @@ if ((isset($_POST['submit']) or isset($_POST['dropboxauth']) or isset($_POST['dr
|
|
131 |
$jobvalues['ftppasv']= (isset($_POST['ftppasv']) && $_POST['ftppasv']==1) ? true : false;
|
132 |
$jobvalues['dropemaxbackups']=isset($_POST['dropemaxbackups']) ? (int)$_POST['dropemaxbackups'] : 0;
|
133 |
$jobvalues['droperoot']=isset($_POST['droperoot']) ? $_POST['droperoot'] : 'dropbox';
|
134 |
-
$jobvalues['dropesignmethod']=isset($_POST['dropesignmethod']) ? $_POST['dropesignmethod'] : 'SHA1';
|
135 |
$jobvalues['dropedir']=isset($_POST['dropedir']) ? $_POST['dropedir'] : '';
|
136 |
$jobvalues['awsAccessKey']=isset($_POST['awsAccessKey']) ? $_POST['awsAccessKey'] : '';
|
137 |
$jobvalues['awsSecretKey']=isset($_POST['awsSecretKey']) ? $_POST['awsSecretKey'] : '';
|
@@ -231,15 +231,14 @@ if ((isset($_POST['submit']) or isset($_POST['dropboxauth']) or isset($_POST['dr
|
|
231 |
update_option('backwpup_jobs',$jobs);
|
232 |
|
233 |
if (isset($_POST['dropboxauth']) and !empty($_POST['dropboxauth'])) {
|
234 |
-
if (!class_exists('
|
235 |
-
require_once
|
236 |
-
$
|
237 |
-
|
238 |
-
$response = $dropbox->oAuthAuthorize(backwpup_admin_url('admin.php').'?page=backwpupeditjob&jobid='.$jobvalues['jobid'].'&dropboxauth=AccessToken&_wpnonce='.wp_create_nonce('edit-job'));
|
239 |
// save oauth_token_secret
|
240 |
-
set_transient('backwpup_dropboxrequest',
|
241 |
//forward to auth page
|
242 |
-
wp_redirect($
|
243 |
}
|
244 |
|
245 |
//make api call to backwpup.com
|
10 |
$backwpup_message='';
|
11 |
if ((int)$_GET['uid']>0 and !empty($_GET['oauth_token'])) {
|
12 |
$reqtoken=get_transient('backwpup_dropboxrequest');
|
13 |
+
if ($reqtoken['token']==$_GET['oauth_token']) {
|
14 |
//Get Access Tokens
|
15 |
+
if (!class_exists('Dropbox_API'))
|
16 |
+
require_once(realpath(dirname(__FILE__).'/../libs/Dropbox/autoload.php'));
|
17 |
+
$oauth = new Dropbox_OAuth_Wordpress(BACKWPUP_DROPBOX_APP_KEY, BACKWPUP_DROPBOX_APP_SECRET);
|
18 |
+
$oauth->setToken($reqtoken);
|
19 |
+
$tokens = $oauth->getAccessToken();
|
20 |
//Save Tokens
|
21 |
$jobs=get_option('backwpup_jobs');
|
22 |
+
$jobs[$jobid]['dropetoken']=$tokens['token'];
|
23 |
+
$jobs[$jobid]['dropesecret']=$tokens['token_secret'];
|
24 |
update_option('backwpup_jobs',$jobs);
|
25 |
$backwpup_message.=__('Dropbox authentication complete!','backwpup').'<br />';
|
26 |
} else {
|
132 |
$jobvalues['ftppasv']= (isset($_POST['ftppasv']) && $_POST['ftppasv']==1) ? true : false;
|
133 |
$jobvalues['dropemaxbackups']=isset($_POST['dropemaxbackups']) ? (int)$_POST['dropemaxbackups'] : 0;
|
134 |
$jobvalues['droperoot']=isset($_POST['droperoot']) ? $_POST['droperoot'] : 'dropbox';
|
|
|
135 |
$jobvalues['dropedir']=isset($_POST['dropedir']) ? $_POST['dropedir'] : '';
|
136 |
$jobvalues['awsAccessKey']=isset($_POST['awsAccessKey']) ? $_POST['awsAccessKey'] : '';
|
137 |
$jobvalues['awsSecretKey']=isset($_POST['awsSecretKey']) ? $_POST['awsSecretKey'] : '';
|
231 |
update_option('backwpup_jobs',$jobs);
|
232 |
|
233 |
if (isset($_POST['dropboxauth']) and !empty($_POST['dropboxauth'])) {
|
234 |
+
if (!class_exists('Dropbox_API'))
|
235 |
+
require_once(realpath(dirname(__FILE__).'/../libs/Dropbox/autoload.php'));
|
236 |
+
$oauth = new Dropbox_OAuth_Wordpress(BACKWPUP_DROPBOX_APP_KEY, BACKWPUP_DROPBOX_APP_SECRET);
|
237 |
+
$tokens = $oauth->getRequestToken();
|
|
|
238 |
// save oauth_token_secret
|
239 |
+
set_transient('backwpup_dropboxrequest',$tokens,600);
|
240 |
//forward to auth page
|
241 |
+
wp_redirect($oauth->getAuthorizeUrl(urlencode(backwpup_admin_url('admin.php').'?page=backwpupeditjob&jobid='.$jobvalues['jobid'].'&dropboxauth=AccessToken&_wpnonce='.wp_create_nonce('edit-job'))));
|
242 |
}
|
243 |
|
244 |
//make api call to backwpup.com
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
4 |
Tags: backup, admin, file, Database, mysql, Cron, ftp, S3, export, xml, multisite, Rackspace, Cloud, Azure, DropBox, SugarSync, Google, Storage
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 3.2.1
|
7 |
-
Stable tag: 2.1.
|
8 |
|
9 |
WordPress Backup and more�
|
10 |
|
@@ -51,6 +51,13 @@ Do backups and more for your WordPress Blog.
|
|
51 |
4. Backups Manage Page
|
52 |
|
53 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
= 2.1.2 =
|
55 |
* removed http class, makes to many problems
|
56 |
|
4 |
Tags: backup, admin, file, Database, mysql, Cron, ftp, S3, export, xml, multisite, Rackspace, Cloud, Azure, DropBox, SugarSync, Google, Storage
|
5 |
Requires at least: 3.1
|
6 |
Tested up to: 3.2.1
|
7 |
+
Stable tag: 2.1.3
|
8 |
|
9 |
WordPress Backup and more�
|
10 |
|
51 |
4. Backups Manage Page
|
52 |
|
53 |
== Changelog ==
|
54 |
+
= 2.1.3 =
|
55 |
+
* Preformance improvment
|
56 |
+
* Uses now dropbox-php.com lib (ver. 0.4.2)
|
57 |
+
* Updated AWS lib to 1.4.0
|
58 |
+
* changed Plugin activation function, because on update or upload activate is not called
|
59 |
+
* bug fixes
|
60 |
+
|
61 |
= 2.1.2 =
|
62 |
* removed http class, makes to many problems
|
63 |
|
uninstall.php
CHANGED
@@ -10,6 +10,4 @@ if (defined('WP_SITEURL'))
|
|
10 |
wp_remote_post( 'http://api.backwpup.com', array('timeout' => 10, 'blocking' => false, 'sslverify' => false, 'body'=>array('URL'=>$blugurl,'EMAIL'=>get_option('admin_email'),'WP_VER'=>$wp_version,'ACTIVE'=>'D'), 'user-agent'=>'BackWPup'));
|
11 |
delete_option('backwpup');
|
12 |
delete_option('backwpup_jobs');
|
13 |
-
delete_option('backwpup_last_activate');
|
14 |
-
|
15 |
?>
|
10 |
wp_remote_post( 'http://api.backwpup.com', array('timeout' => 10, 'blocking' => false, 'sslverify' => false, 'body'=>array('URL'=>$blugurl,'EMAIL'=>get_option('admin_email'),'WP_VER'=>$wp_version,'ACTIVE'=>'D'), 'user-agent'=>'BackWPup'));
|
11 |
delete_option('backwpup');
|
12 |
delete_option('backwpup_jobs');
|
|
|
|
|
13 |
?>
|