Index: destinations.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/backup_migrate/includes/destinations.inc,v retrieving revision 1.1.2.1.2.26 diff -u -r1.1.2.1.2.26 destinations.inc --- destinations.inc 24 Mar 2010 04:02:58 -0000 1.1.2.1.2.26 +++ destinations.inc 19 Sep 2010 09:51:44 -0000 @@ -81,6 +81,13 @@ 'type_name' => t('Amazon S3 Bucket'), 'can_create' => TRUE, ), + 'dropbox' => array( + 'description' => t('Save the backup files to a !link account.', array('!link' => l(t('Dropbox'), 'http://www.dropbox.com/'))), + 'file' => drupal_get_path('module', 'backup_migrate') .'/includes/destinations.dropbox.inc', + 'class' => 'backup_migrate_destination_dropbox', + 'type_name' => t('Dropbox'), + 'can_create' => TRUE, + ), 'email' => array( 'type_name' => t('Email'), 'description' => t('Send the backup as an email attachment to the specified email address.'), --- ThawtePremiumServerCA.crt +++ ThawtePremiumServerCA.crt @@ -0,0 +1,19 @@ +-----BEGIN CERTIFICATE----- +MIIDJzCCApCgAwIBAgIBATANBgkqhkiG9w0BAQQFADCBzjELMAkGA1UEBhMCWkEx +FTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMR0wGwYD +VQQKExRUaGF3dGUgQ29uc3VsdGluZyBjYzEoMCYGA1UECxMfQ2VydGlmaWNhdGlv +biBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhhd3RlIFByZW1pdW0gU2Vy +dmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNlcnZlckB0aGF3dGUuY29t +MB4XDTk2MDgwMTAwMDAwMFoXDTIwMTIzMTIzNTk1OVowgc4xCzAJBgNVBAYTAlpB +MRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUgVG93bjEdMBsG +A1UEChMUVGhhd3RlIENvbnN1bHRpbmcgY2MxKDAmBgNVBAsTH0NlcnRpZmljYXRp +b24gU2VydmljZXMgRGl2aXNpb24xITAfBgNVBAMTGFRoYXd0ZSBQcmVtaXVtIFNl +cnZlciBDQTEoMCYGCSqGSIb3DQEJARYZcHJlbWl1bS1zZXJ2ZXJAdGhhd3RlLmNv +bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA0jY2aovXwlue2oFBYo847kkE +VdbQ7xwblRZH7xhINTpS9CtqBo87L+pW46+GjZ4X9560ZXUCTe/LCaIhUdib0GfQ +ug2SBhRz1JPLlyoAnFxODLz6FVL88kRu2hFKbgifLy3j+ao6hnO2RlNYyIkFvYMR +uHM/qgeN9EJN50CdHDcCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG +9w0BAQQFAAOBgQAmSCwWwlj66BZ0DKqqX1Q/8tfJeGBeXm43YyJ3Nn6yF8Q0ufUI +hfzJATj/Tb7yFkJD57taRvvBxhEf8UqwKEbJw8RCfbz6q1lu1bdRiBHjpIUZa4JM +pAwSremkrj/xw0llmozFyD4lt5SZu5IycQfwhl7tUCemDaYj+bvLpgcUQg== +-----END CERTIFICATE----- --- destinations.dropbox.inc +++ destinations.dropbox.inc @@ -0,0 +1,61 @@ +dropbox_object(); + $destination = $this->dest_url['path']; + if ('/' != $destination[0]) { + $destination = '/'. $destination; + } + try { + $dropbox->upload($file->filepath(), $destination); + } + catch (Exception $e) { + return FALSE; + } + return $file; + } + + /** + * Get the form for the settings for this filter. + */ + function edit_form() { + $form = parent::edit_form(); + $form['scheme']['#type'] = 'value'; + $form['scheme']['#value'] = 'https'; + $form['host']['#type'] = 'value'; + $form['host']['#value'] = 'www.dropbox.com'; + $form['path']['#description'] = 'A relative folder inside your Dropbox account'; + $form['user']['#title'] = 'Dropbox E-mail'; + $form['pass']['#title'] = 'Dropbox Password'; + return $form; + } + + function dropbox_object() { + require_once './'. drupal_get_path('module', 'backup_migrate') .'/includes/DropboxUploader.php'; + if (!$this->dropbox) { + $this->dropbox = new DropboxUploader($this->dest_url['user'], $this->dest_url['pass']); + $this->dropbox->setCaCertificateFile('./'. drupal_get_path('module', 'backup_migrate') .'/includes/ThawtePremiumServerCA.crt'); + } + return $this->dropbox; + } +} + +