Overview

Packages

  • Service
    • Twitter

Classes

  • Horde_Service_Twitter
  • Horde_Service_Twitter_Account
  • Horde_Service_Twitter_Auth
  • Horde_Service_Twitter_Auth_Oauth
  • Horde_Service_Twitter_Exception
  • Horde_Service_Twitter_Request
  • Horde_Service_Twitter_Request_Oauth
  • Horde_Service_Twitter_Statuses
  • Overview
  • Package
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * Horde_Service_Twitter_Auth class to abstract all auth related tasks
 4:  *
 5:  * Basically implements Horde_Oauth_Client and passes the calls along to the
 6:  * protected oauth object.
 7:  *
 8:  * Copyright 2009-2012 Horde LLC (http://www.horde.org/)
 9:  *
10:  * @author Michael J. Rubinsky <mrubinsk@horde.org>
11:  * @license  http://www.horde.org/licenses/bsd BSD
12:  * @category Horde
13:  * @package Service_Twitter
14:  */
15: class Horde_Service_Twitter_Auth_Oauth extends Horde_Service_Twitter_Auth
16: {
17:     /**
18:      *
19:      * @var Horde_OAuth_Token
20:      */
21:     protected $_token;
22: 
23:     public function __construct(Horde_OAuth_Consumer $oauth)
24:     {
25:         $this->_config['oauth'] = $oauth;
26:     }
27: 
28:     /**
29:      * Obtain the URL used to get an authorization token.
30:      *
31:      * @param Horde_Oauth_Token $requestToken The request token
32:      *
33:      * @return string  The Url
34:      */
35:     public function getUserAuthorizationUrl($requestToken)
36:     {
37:         return $this->oauth->getUserAuthorizationUrl($requestToken);
38:     }
39: 
40:     /**
41:      * Set the access token
42:      *
43:      * @param Horde_OAuth_Token $token
44:      */
45:     public function setToken(Horde_OAuth_Token $token)
46:     {
47:         $this->_token = $token;
48:     }
49: 
50:     /**
51:      * Obtain the access token. This is the token that should be persisted to
52:      * storage.
53:      *
54:      * @param Horde_Controller_Request_Http     Http request object
55:      * @param string $requestSecret             The token secret returned by
56:      *                                          Twitter after the user authorizes
57:      *                                          the application.
58:      * @return Horde_Oauth_Token
59:      * @throws Horde_Service_Twitter_Exception
60:      */
61:     public function getAccessToken(Horde_Controller_Request_Http $request, $requestSecret = null)
62:     {
63:         if (!empty($this->_token)) {
64:             return $this->_token;
65:         }
66: 
67:         $params = $request->getGetVars();
68:         if (empty($params['oauth_token'])) {
69:             return false;
70:         }
71:         $token = new Horde_Oauth_Token($params['oauth_token'], $requestSecret);
72:         try {
73:             return $this->oauth->getAccessToken($token);
74:         } catch (Horde_Oauth_Exception $e) {
75:             throw new Horde_Service_Twitter_Exception($e->getMessage());
76:         }
77:     }
78: 
79:     /**
80:      * Obtain the OAuth request token
81:      *
82:      * @param array $params
83:      *
84:      * @return  Horde_OAuth_Token  The request token
85:      * @throws Horde_Service_Twitter_Exception
86:      */
87:     public function getRequestToken($params = array())
88:     {
89:         try {
90:             return $this->oauth->getRequestToken($params);
91:         } catch (Horde_Oauth_Exception $e) {
92:             throw new Horde_Service_Twitter_Exception($e->getMessage());
93:         }
94:     }
95: 
96: }
97: 
API documentation generated by ApiGen