Horde_Service_Twitter_Request:: needs a Horde_Controller_Request:: object
authorMichael J. Rubinsky <mrubinsk@horde.org>
Sun, 18 Jul 2010 16:17:58 +0000 (12:17 -0400)
committerMichael J. Rubinsky <mrubinsk@horde.org>
Sun, 18 Jul 2010 16:20:53 +0000 (12:20 -0400)
framework/Core/lib/Horde/Core/Binder/Twitter.php
framework/Oauth/lib/Horde/Oauth/Request.php
framework/Service_Twitter/lib/Horde/Service/Twitter/Auth/Oauth.php
framework/Service_Twitter/lib/Horde/Service/Twitter/Request.php
framework/Service_Twitter/lib/Horde/Service/Twitter/Request/Oauth.php

index b2c4485..39dd757 100644 (file)
@@ -30,7 +30,7 @@ class Horde_Core_Binder_Twitter implements Horde_Injector_Binder
 
             /* Create the Consumer */
             $auth = new Horde_Service_Twitter_Auth_Oauth(new Horde_Oauth_Consumer($params));
-            $request = new Horde_Service_Twitter_Request_Oauth();
+            $request = new Horde_Service_Twitter_Request_Oauth(new Horde_Controller_Request_Http());
             $twitter = new Horde_Service_Twitter($auth, $request);
 
             //$twitter->setCache($injector->getInstance('Horde_Cache'));
index 6cf13b5..074aa0c 100644 (file)
@@ -55,7 +55,7 @@ class Horde_Oauth_Request
             $this->_params['oauth_consumer_key'] = $consumer->key;
         }
 
-        if (empty($this->_params['oauth_token']) && !is_null($token)) {
+        if (empty($this->_params['oauth_token']) && !empty($token)) {
             $this->_params['oauth_token'] = $token->key;
         }
 
index a505786..45525a3 100644 (file)
@@ -58,7 +58,7 @@ class Horde_Service_Twitter_Auth_Oauth extends Horde_Service_Twitter_Auth
      *                                          the application.
      * @return Horde_Oauth_Token
      */
-    public function getAccessToken($request = null, $requestSecret = null)
+    public function getAccessToken(Horde_Controller_Request_Http $request, $requestSecret = null)
     {
         if (!empty($this->_token)) {
             return $this->_token;
index 30942b3..cf16974 100644 (file)
@@ -18,6 +18,17 @@ abstract class Horde_Service_Twitter_Request
      */
     protected $_twitter;
 
+    /**
+     * 
+     * @var Horde_Controller_Request_Http
+     */
+    protected $_request;
+
+    public function __construct(Horde_Controller_Request_Http $request)
+    {
+        $this->_request = $request;
+    }
+
     public function setTwitter(Horde_Service_Twitter $twitter)
     {
         $this->_twitter = $twitter;
index 2dad955..d1b19fc 100644 (file)
@@ -22,7 +22,7 @@ class Horde_Service_Twitter_Request_Oauth extends Horde_Service_Twitter_Request
      */
     public function get($url, $params = array())
     {
-        $key = md5($url . 'get' . serialize($params) . serialize($this->_twitter->auth->getAccessToken()));
+        $key = md5($url . 'get' . serialize($params) . serialize($this->_twitter->auth->getAccessToken($this->_request)));
         $cache = $this->_twitter->responseCache;
         if (!empty($cache) && $results = $cache->get($key, $this->_twitter->cacheLifetime)) {
             return $results;
@@ -30,7 +30,7 @@ class Horde_Service_Twitter_Request_Oauth extends Horde_Service_Twitter_Request
         $request = new Horde_Oauth_Request($url, $params, 'GET');
         $request->sign($this->_twitter->auth->oauth->signatureMethod,
                        $this->_twitter->auth->oauth,
-                       $this->_twitter->auth->getAccessToken());
+                       $this->_twitter->auth->getAccessToken($this->_request));
         $url = ($url instanceof Horde_Url) ? $url : new Horde_Url($url);
         $url->add($params);
         try {
@@ -61,7 +61,7 @@ class Horde_Service_Twitter_Request_Oauth extends Horde_Service_Twitter_Request
         $request = new Horde_Oauth_Request($url, $params);
         $request->sign($this->_twitter->auth->oauth->signatureMethod,
                        $this->_twitter->auth->oauth,
-                       $this->_twitter->auth->getAccessToken());
+                       $this->_twitter->auth->getAccessToken($this->_request));
         try {
             $response = $this->_twitter->getHttpClient()->post($url, $params, array('Authorization' => $request->buildAuthorizationHeader('Twitter API')));
         } catch (Horde_Http_Exception $e) {