Beispiel #1
0
 /**
  * Downloads backup file from Dropbox to root folder on local server.
  *
  * @param 	array 	$args	arguments passed to the function
  * [consumer_key] -> consumer key of ManageWP Dropbox application
  * [consumer_secret] -> consumer secret of ManageWP Dropbox application
  * [oauth_token] -> oauth token of user on ManageWP Dropbox application
  * [oauth_token_secret] -> oauth token secret of user on ManageWP Dropbox application
  * [dropbox_destination] -> folder on user's Dropbox account which backup file should be deleted from
  * [dropbox_site_folder] -> subfolder with site name in dropbox_destination which backup file should be deleted from
  * [backup_file] -> absolute path of backup file on local server
  * @return 	bool|array		absolute path to downloaded file is successful, array with error message if not
  */
 function get_dropbox_backup($args)
 {
     extract($args);
     global $mmb_plugin_dir;
     require_once $mmb_plugin_dir . '/lib/dropbox.php';
     $dropbox = new Dropbox($consumer_key, $consumer_secret);
     $dropbox->setOAuthTokens($oauth_token, $oauth_token_secret);
     if ($dropbox_site_folder == true) {
         $dropbox_destination .= '/' . $this->site_name;
     }
     $temp = ABSPATH . 'mwp_temp_backup.zip';
     try {
         $file = $dropbox->download($dropbox_destination . '/' . $backup_file);
         $handle = @fopen($temp, 'w');
         $result = fwrite($handle, $file);
         fclose($handle);
         if ($result) {
             return $temp;
         } else {
             return false;
         }
     } catch (Exception $e) {
         $this->_log($e->getMessage());
         return array('error' => $e->getMessage(), 'partial' => 1);
     }
 }