diff options
Diffstat (limited to 'apps/files_external/3rdparty/Dropbox/OAuth/Zend.php')
-rw-r--r-- | apps/files_external/3rdparty/Dropbox/OAuth/Zend.php | 244 |
1 files changed, 0 insertions, 244 deletions
diff --git a/apps/files_external/3rdparty/Dropbox/OAuth/Zend.php b/apps/files_external/3rdparty/Dropbox/OAuth/Zend.php deleted file mode 100644 index 9cdf229f483..00000000000 --- a/apps/files_external/3rdparty/Dropbox/OAuth/Zend.php +++ /dev/null @@ -1,244 +0,0 @@ -<?php - -/** - * Dropbox OAuth - * - * @package Dropbox - * @copyright Copyright (C) 2010 Rooftop Solutions. All rights reserved. - * @author Michael Johansen <michael@taskcamp.com> - * @license http://code.google.com/p/dropbox-php/wiki/License MIT - */ - -/** - * This class is used to sign all requests to dropbox - * - * This classes use the Zend_Oauth package. - */ -class Dropbox_OAuth_Zend extends Dropbox_OAuth { - - /** - * OAuth object - * - * @var Zend_Oauth_Consumer - */ - protected $oAuth; - /** - * OAuth consumer key - * - * We need to keep this around for later. - * - * @var string - */ - protected $consumerKey; - /** - * - * @var Zend_Oauth_Token - */ - protected $zend_oauth_token; - - /** - * Constructor - * - * @param string $consumerKey - * @param string $consumerSecret - */ - public function __construct($consumerKey, $consumerSecret) { - if (!class_exists('Zend_Oauth_Consumer')) { - // We're going to try to load in manually - include 'Zend/Oauth/Consumer.php'; - } - if (!class_exists('Zend_Oauth_Consumer')) - throw new Dropbox_Exception('The Zend_Oauth_Consumer class could not be found!'); - $this->OAuth = new Zend_Oauth_Consumer(array( - "consumerKey" => $consumerKey, - "consumerSecret" => $consumerSecret, - "requestTokenUrl" => self::URI_REQUEST_TOKEN, - "accessTokenUrl" => self::URI_ACCESS_TOKEN, - "authorizeUrl" => self::URI_AUTHORIZE, - "signatureMethod" => "HMAC-SHA1", - )); - $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) { - if (is_a($token, "Zend_Oauth_Token")) { - if (is_a($token, "Zend_Oauth_Token_Access")) { - $this->OAuth->setToken($token); - } - $this->zend_oauth_token = $token; - return parent::setToken($token->getToken(), $token->getTokenSecret()); - } elseif (is_string($token) && is_null($token_secret)) { - return $this->setToken(unserialize($token)); - } elseif (isset($token['zend_oauth_token'])) { - return $this->setToken(unserialize($token['zend_oauth_token'])); - } else { - parent::setToken($token, $token_secret); - return; - } - } - - /** - * 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()) { - $token = $this->OAuth->getToken(); - if (!is_a($token, "Zend_Oauth_Token")) { - if (is_a($this->zend_oauth_token, "Zend_Oauth_Token_Access")) { - $token = $this->zend_oauth_token; - } else { - $token = new Zend_Oauth_Token_Access(); - $token->setToken($this->oauth_token); - $token->setTokenSecret($this->oauth_token_secret); - } - } - /* @var $token Zend_Oauth_Token_Access */ - $oauthOptions = array( - 'consumerKey' => $this->consumerKey, - 'signatureMethod' => "HMAC-SHA1", - 'consumerSecret' => $this->OAuth->getConsumerSecret(), - ); - $config = array("timeout" => 15); - - /* @var $consumerRequest Zend_Oauth_Client */ - $consumerRequest = $token->getHttpClient($oauthOptions); - $consumerRequest->setMethod($method); - if (is_array($arguments)) { - $consumerRequest->setUri($uri); - if ($method == "GET") { - foreach ($arguments as $param => $value) { - $consumerRequest->setParameterGet($param, $value); - } - } else { - foreach ($arguments as $param => $value) { - $consumerRequest->setParameterPost($param, $value); - } - } - } elseif (is_string($arguments)) { - preg_match("/\?file=(.*)$/i", $uri, $matches); - if (isset($matches[1])) { - $uri = str_replace($matches[0], "", $uri); - $filename = $matches[1]; - $uri = Zend_Uri::factory($uri); - $uri->addReplaceQueryParameters(array("file" => $filename)); - $consumerRequest->setParameterGet("file", $filename); - } - $consumerRequest->setUri($uri); - $consumerRequest->setRawData($arguments); - } elseif (is_resource($arguments)) { - $consumerRequest->setUri($uri); - /** Placeholder for Oauth streaming support. */ - } - if (count($httpHeaders)) { - foreach ($httpHeaders as $k => $v) { - $consumerRequest->setHeaders($k, $v); - } - } - $response = $consumerRequest->request(); - $body = Zend_Json::decode($response->getBody()); - switch ($response->getStatus()) { - // Not modified - case 304 : - return array( - 'httpStatus' => 304, - 'body' => null, - ); - break; - 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. - ' . $body["error"] . "\n"); - case 404 : - throw new Dropbox_Exception_NotFound('Resource at uri: ' . $uri . ' could not be found. ' . - $body["error"] . "\n"); - case 507 : - throw new Dropbox_Exception_OverQuota('This dropbox is full. ' . - $body["error"] . "\n"); - } - - return array( - 'httpStatus' => $response->getStatus(), - 'body' => $response->getBody(), - ); - } - - /** - * Requests the OAuth request token. - * - * @return void - */ - public function getRequestToken() { - $token = $this->OAuth->getRequestToken(); - $this->setToken($token); - 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() { - if (is_a($this->zend_oauth_token, "Zend_Oauth_Token_Request")) { - $requestToken = $this->zend_oauth_token; - } else { - $requestToken = new Zend_Oauth_Token_Request(); - $requestToken->setToken($this->oauth_token); - $requestToken->setTokenSecret($this->oauth_token_secret); - } - $token = $this->OAuth->getAccessToken($_GET, $requestToken); - $this->setToken($token); - return $this->getToken(); - } - - /** - * Returns the oauth request tokens as an associative array. - * - * The array will contain the elements 'token' and 'token_secret' and the serialized - * Zend_Oauth_Token object. - * - * @return array - */ - public function getToken() { - //$token = $this->OAuth->getToken(); - //return serialize($token); - return array( - 'token' => $this->oauth_token, - 'token_secret' => $this->oauth_token_secret, - 'zend_oauth_token' => serialize($this->zend_oauth_token), - ); - } - - /** - * Returns the authorization url - * - * Overloading Dropbox_OAuth to use the built in functions in Zend_Oauth - * - * @param string $callBack Specify a callback url to automatically redirect the user back - * @return string - */ - public function getAuthorizeUrl($callBack = null) { - if ($callBack) - $this->OAuth->setCallbackUrl($callBack); - return $this->OAuth->getRedirectUrl(); - } - -} |