0byt3m1n1
Path:
/
home1
/
aserty
/
public_html
/
bonniescraftygifts.com
/
iFzj4
/
configCHM
/
Jump
/
0-aserty
/
natureultra.com
/
wp-content
/
plugins
/
backupbuddy v4.2.10.6
/
destinations
/
dropbox
/
lib
/
dropbuddy
/
dropbox_api
/
OAuth
/
[
Home
]
File: PEAR.php
<?php /** * Dropbox OAuth * * @package Dropbox * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved. * @author Evert Pot (http://www.rooftopsolutions.nl/) * @license http://code.google.com/p/dropbox-php/wiki/License MIT */ if (!class_exists('HTTP_OAuth_Consumer')) { // We're going to try to load in manually //include 'HTTP/OAuth/Consumer.php'; $pear_dir = dirname( dirname( dirname( __FILE__ ) ) ) . '/pear_includes/'; include( $pear_dir . 'HTTP/OAuth/Consumer.php' ); } if (!class_exists('HTTP_OAuth_Consumer')) throw new Dropbox_Exception('The HTTP_OAuth_Consumer class could not be found! Did you install the pear HTTP_OAUTH class?'); /** * This class is used to sign all requests to dropbox * * This classes use the PEAR HTTP_OAuth package. Make sure this is installed. */ class Dropbox_OAuth_PEAR extends Dropbox_OAuth { /** * OAuth object * * @var OAuth */ protected $oAuth; /** * OAuth consumer key * * We need to keep this around for later. * * @var string */ protected $consumerKey; /** * Constructor * * @param string $consumerKey * @param string $consumerSecret */ public function __construct($consumerKey, $consumerSecret) { $this->OAuth = new Dropbox_OAuth_Consumer_Dropbox($consumerKey, $consumerSecret); $this->consumerKey = $consumerKey; } /** * Sets the request token and secret. * * The tokens can also be passed as an array into the first argument. * The array must have the elements token and token_secret. * * @param string|array $token * @param string $token_secret * @return void */ public function setToken($token, $token_secret = null) { parent::setToken($token,$token_secret); $this->OAuth->setToken($this->oauth_token); $this->OAuth->setTokenSecret($this->oauth_token_secret); } /** * Fetches a secured oauth url and returns the response body. * * @param string $uri * @param mixed $arguments * @param string $method * @param array $httpHeaders * @return string */ public function fetch($uri, $arguments = array(), $method = 'GET', $httpHeaders = array()) { $httpRequest = new HTTP_Request2(null, HTTP_Request2::METHOD_GET, array( 'ssl_verify_peer' => false, 'ssl_verify_host' => false ) ); $consumerRequest = new HTTP_OAuth_Consumer_Request(); $consumerRequest->accept($httpRequest); $consumerRequest->setUrl($uri); $consumerRequest->setMethod($method); $consumerRequest->setSecrets($this->OAuth->getSecrets()); $parameters = array( 'oauth_consumer_key' => $this->consumerKey, 'oauth_signature_method' => 'HMAC-SHA1', 'oauth_token' => $this->oauth_token, ); if (is_array($arguments)) { $parameters = array_merge($parameters,$arguments); } elseif (is_string($arguments)) { $consumerRequest->setBody($arguments); } $consumerRequest->setParameters($parameters); if (count($httpHeaders)) { foreach($httpHeaders as $k=>$v) { $consumerRequest->setHeader($k, $v); } } $response = $consumerRequest->send(); switch($response->getStatus()) { // Not modified case 304 : return array( 'httpStatus' => 304, 'body' => null, ); break; case 400 : throw new Dropbox_Exception_Forbidden('Forbidden. Bad input parameter. Error message should indicate which one and why.'); case 401 : throw new Dropbox_Exception_Forbidden('Forbidden. Bad or expired token. This can happen if the user or Dropbox revoked or expired an access token. To fix, you should re-authenticate the user.'); case 403 : throw new Dropbox_Exception_Forbidden('Forbidden. This could mean a bad OAuth request, or a file or folder already existing at the target location.'); case 404 : throw new Dropbox_Exception_NotFound('Resource at uri: ' . $uri . ' could not be found'); case 405 : throw new Dropbox_Exception_Forbidden('Forbidden. Request method not expected (generally should be GET or POST).'); case 503 : throw new Dropbox_Exception_Forbidden('Forbidden. Your app is making too many requests and is being rate limited. 503s can trigger on a per-app or per-user basis.'); case 507 : throw new Dropbox_Exception_OverQuota('This dropbox is full'); } return array( 'httpStatus' => $response->getStatus(), 'body' => $response->getBody() ); } /** * Requests the OAuth request token. * * @return void */ public function getRequestToken() { $this->OAuth->getRequestToken(self::URI_REQUEST_TOKEN); $this->setToken($this->OAuth->getToken(), $this->OAuth->getTokenSecret()); return $this->getToken(); } /** * Requests the OAuth access tokens. * * This method requires the 'unauthorized' request tokens * and, if successful will set the authorized request tokens. * * @return void */ public function getAccessToken() { $this->OAuth->getAccessToken(self::URI_ACCESS_TOKEN); $this->setToken($this->OAuth->getToken(), $this->OAuth->getTokenSecret()); return $this->getToken(); } }