From 6666ee48629e483b52d72a6472640907af623c6f Mon Sep 17 00:00:00 2001 From: John Mertic Date: Mon, 31 Oct 2011 13:17:34 -0400 Subject: [PATCH] Added missing file --- Zend/Oauth/Config.php | 658 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 658 insertions(+) create mode 100644 Zend/Oauth/Config.php diff --git a/Zend/Oauth/Config.php b/Zend/Oauth/Config.php new file mode 100644 index 00000000..42ff29a5 --- /dev/null +++ b/Zend/Oauth/Config.php @@ -0,0 +1,658 @@ +toArray(); + } + $this->setOptions($options); + } + } + + /** + * Parse option array or Zend_Config instance and setup options using their + * relevant mutators. + * + * @param array|Zend_Config $options + * @return Zend_Oauth_Config + */ + public function setOptions(array $options) + { + foreach ($options as $key => $value) { + switch ($key) { + case 'consumerKey': + $this->setConsumerKey($value); + break; + case 'consumerSecret': + $this->setConsumerSecret($value); + break; + case 'signatureMethod': + $this->setSignatureMethod($value); + break; + case 'version': + $this->setVersion($value); + break; + case 'callbackUrl': + $this->setCallbackUrl($value); + break; + case 'siteUrl': + $this->setSiteUrl($value); + break; + case 'requestTokenUrl': + $this->setRequestTokenUrl($value); + break; + case 'accessTokenUrl': + $this->setAccessTokenUrl($value); + break; + case 'userAuthorizationUrl': + $this->setUserAuthorizationUrl($value); + break; + case 'authorizeUrl': + $this->setAuthorizeUrl($value); + break; + case 'requestMethod': + $this->setRequestMethod($value); + break; + case 'rsaPrivateKey': + $this->setRsaPrivateKey($value); + break; + case 'rsaPublicKey': + $this->setRsaPublicKey($value); + break; + } + } + if (isset($options['requestScheme'])) { + $this->setRequestScheme($options['requestScheme']); + } + + return $this; + } + + /** + * Set consumer key + * + * @param string $key + * @return Zend_Oauth_Config + */ + public function setConsumerKey($key) + { + $this->_consumerKey = $key; + return $this; + } + + /** + * Get consumer key + * + * @return string + */ + public function getConsumerKey() + { + return $this->_consumerKey; + } + + /** + * Set consumer secret + * + * @param string $secret + * @return Zend_Oauth_Config + */ + public function setConsumerSecret($secret) + { + $this->_consumerSecret = $secret; + return $this; + } + + /** + * Get consumer secret + * + * Returns RSA private key if set; otherwise, returns any previously set + * consumer secret. + * + * @return string + */ + public function getConsumerSecret() + { + if ($this->_rsaPrivateKey !== null) { + return $this->_rsaPrivateKey; + } + return $this->_consumerSecret; + } + + /** + * Set signature method + * + * @param string $method + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception if unsupported signature method specified + */ + public function setSignatureMethod($method) + { + $method = strtoupper($method); + if (!in_array($method, array( + 'HMAC-SHA1', 'HMAC-SHA256', 'RSA-SHA1', 'PLAINTEXT' + )) + ) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception('Unsupported signature method: ' + . $method + . '. Supported are HMAC-SHA1, RSA-SHA1, PLAINTEXT and HMAC-SHA256'); + } + $this->_signatureMethod = $method;; + return $this; + } + + /** + * Get signature method + * + * @return string + */ + public function getSignatureMethod() + { + return $this->_signatureMethod; + } + + /** + * Set request scheme + * + * @param string $scheme + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception if invalid scheme specified, or if POSTBODY set when request method of GET is specified + */ + public function setRequestScheme($scheme) + { + $scheme = strtolower($scheme); + if (!in_array($scheme, array( + Zend_Oauth::REQUEST_SCHEME_HEADER, + Zend_Oauth::REQUEST_SCHEME_POSTBODY, + Zend_Oauth::REQUEST_SCHEME_QUERYSTRING, + )) + ) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception( + '\'' . $scheme . '\' is an unsupported request scheme' + ); + } + if ($scheme == Zend_Oauth::REQUEST_SCHEME_POSTBODY + && $this->getRequestMethod() == Zend_Oauth::GET + ) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception( + 'Cannot set POSTBODY request method if HTTP method set to GET' + ); + } + $this->_requestScheme = $scheme; + return $this; + } + + /** + * Get request scheme + * + * @return string + */ + public function getRequestScheme() + { + return $this->_requestScheme; + } + + /** + * Set version + * + * @param string $version + * @return Zend_Oauth_Config + */ + public function setVersion($version) + { + $this->_version = $version; + return $this; + } + + /** + * Get version + * + * @return string + */ + public function getVersion() + { + return $this->_version; + } + + /** + * Set callback URL + * + * @param string $url + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception for invalid URLs + */ + public function setCallbackUrl($url) + { + if (!Zend_Uri::check($url)) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception( + '\'' . $url . '\' is not a valid URI' + ); + } + $this->_callbackUrl = $url; + return $this; + } + + /** + * Get callback URL + * + * @return string + */ + public function getCallbackUrl() + { + return $this->_callbackUrl; + } + + /** + * Set site URL + * + * @param string $url + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception for invalid URLs + */ + public function setSiteUrl($url) + { + if (!Zend_Uri::check($url)) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception( + '\'' . $url . '\' is not a valid URI' + ); + } + $this->_siteUrl = $url; + return $this; + } + + /** + * Get site URL + * + * @return string + */ + public function getSiteUrl() + { + return $this->_siteUrl; + } + + /** + * Set request token URL + * + * @param string $url + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception for invalid URLs + */ + public function setRequestTokenUrl($url) + { + if (!Zend_Uri::check($url)) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception( + '\'' . $url . '\' is not a valid URI' + ); + } + $this->_requestTokenUrl = rtrim($url, '/'); + return $this; + } + + /** + * Get request token URL + * + * If no request token URL has been set, but a site URL has, returns the + * site URL with the string "/request_token" appended. + * + * @return string + */ + public function getRequestTokenUrl() + { + if (!$this->_requestTokenUrl && $this->_siteUrl) { + return $this->_siteUrl . '/request_token'; + } + return $this->_requestTokenUrl; + } + + /** + * Set access token URL + * + * @param string $url + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception for invalid URLs + */ + public function setAccessTokenUrl($url) + { + if (!Zend_Uri::check($url)) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception( + '\'' . $url . '\' is not a valid URI' + ); + } + $this->_accessTokenUrl = rtrim($url, '/'); + return $this; + } + + /** + * Get access token URL + * + * If no access token URL has been set, but a site URL has, returns the + * site URL with the string "/access_token" appended. + * + * @return string + */ + public function getAccessTokenUrl() + { + if (!$this->_accessTokenUrl && $this->_siteUrl) { + return $this->_siteUrl . '/access_token'; + } + return $this->_accessTokenUrl; + } + + /** + * Set user authorization URL + * + * @param string $url + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception for invalid URLs + */ + public function setUserAuthorizationUrl($url) + { + return $this->setAuthorizeUrl($url); + } + + /** + * Set authorization URL + * + * @param string $url + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception for invalid URLs + */ + public function setAuthorizeUrl($url) + { + if (!Zend_Uri::check($url)) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception( + '\'' . $url . '\' is not a valid URI' + ); + } + $this->_authorizeUrl = rtrim($url, '/'); + return $this; + } + + /** + * Get user authorization URL + * + * @return string + */ + public function getUserAuthorizationUrl() + { + return $this->getAuthorizeUrl(); + } + + /** + * Get authorization URL + * + * If no authorization URL has been set, but a site URL has, returns the + * site URL with the string "/authorize" appended. + * + * @return string + */ + public function getAuthorizeUrl() + { + if (!$this->_authorizeUrl && $this->_siteUrl) { + return $this->_siteUrl . '/authorize'; + } + return $this->_authorizeUrl; + } + + /** + * Set request method + * + * @param string $method + * @return Zend_Oauth_Config + * @throws Zend_Oauth_Exception for invalid request methods + */ + public function setRequestMethod($method) + { + $method = strtoupper($method); + if (!in_array($method, array( + Zend_Oauth::GET, + Zend_Oauth::POST, + Zend_Oauth::PUT, + Zend_Oauth::DELETE, + )) + ) { + require_once 'Zend/Oauth/Exception.php'; + throw new Zend_Oauth_Exception('Invalid method: ' . $method); + } + $this->_requestMethod = $method; + return $this; + } + + /** + * Get request method + * + * @return string + */ + public function getRequestMethod() + { + return $this->_requestMethod; + } + + /** + * Set RSA public key + * + * @param Zend_Crypt_Rsa_Key_Public $key + * @return Zend_Oauth_Config + */ + public function setRsaPublicKey(Zend_Crypt_Rsa_Key_Public $key) + { + $this->_rsaPublicKey = $key; + return $this; + } + + /** + * Get RSA public key + * + * @return Zend_Crypt_Rsa_Key_Public + */ + public function getRsaPublicKey() + { + return $this->_rsaPublicKey; + } + + /** + * Set RSA private key + * + * @param Zend_Crypt_Rsa_Key_Private $key + * @return Zend_Oauth_Config + */ + public function setRsaPrivateKey(Zend_Crypt_Rsa_Key_Private $key) + { + $this->_rsaPrivateKey = $key; + return $this; + } + + /** + * Get RSA private key + * + * @return Zend_Crypt_Rsa_Key_Private + */ + public function getRsaPrivateKey() + { + return $this->_rsaPrivateKey; + } + + /** + * Set OAuth token + * + * @param Zend_Oauth_Token $token + * @return Zend_Oauth_Config + */ + public function setToken(Zend_Oauth_Token $token) + { + $this->_token = $token; + return $this; + } + + /** + * Get OAuth token + * + * @return Zend_Oauth_Token + */ + public function getToken() + { + return $this->_token; + } +} -- 2.42.0