]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
I forgot that we don't do database upgrades for point releases. So I've
authorZach Copley <zach@controlyourself.ca>
Mon, 10 Aug 2009 07:00:59 +0000 (07:00 +0000)
committerZach Copley <zach@controlyourself.ca>
Mon, 10 Aug 2009 07:00:59 +0000 (07:00 +0000)
changed Twitter OAuth to store token and token secret in the same field
in foreign_link (credentials).  This should be changed in 0.9.

actions/twitterauthorization.php
lib/oauthclient.php
lib/twitter.php
lib/twitteroauthclient.php
scripts/synctwitterfriends.php
scripts/twitterstatusfetcher.php

index c40f27164a09181ecd609b39d994a332ea511986..b04f35327892416ab006dae7a30fb1d0cd8531f6 100644 (file)
@@ -113,7 +113,7 @@ class TwitterauthorizationAction extends Action
             // Get a new request token and authorize it
 
             $client  = new TwitterOAuthClient();
-            $req_tok = 
+            $req_tok =
               $client->getRequestToken(TwitterOAuthClient::$requestTokenURL);
 
             // Sock the request token away in the session temporarily
@@ -198,8 +198,10 @@ class TwitterauthorizationAction extends Action
         $flink->user_id     = $user->id;
         $flink->foreign_id  = $twitter_user->id;
         $flink->service     = TWITTER_SERVICE;
-        $flink->token       = $access_token->key;
-        $flink->credentials = $access_token->secret;
+
+        $creds = TwitterOAuthClient::packToken($access_token);
+
+        $flink->credentials = $creds;
         $flink->created     = common_sql_now();
 
         // Defaults: noticesync on, everything else off
index 878e470911586b98022aeb8eafdf9511917bf1d6..b66a24be44d53c491e4ccda3c49208ca2719e365 100644 (file)
@@ -121,8 +121,6 @@ class OAuthClient
             $authorize_url .= '&oauth_callback=' . urlencode($oauth_callback);
         }
 
-        common_debug("$authorize_url");
-        
         return $authorize_url;
     }
 
index 4e2f67c66c751978cd5b3642ed057798dafdb168..280cdb0a33d93d6fcfcdef2e8669f9cee55e383d 100644 (file)
@@ -160,7 +160,9 @@ function broadcast_twitter($notice)
         // XXX: Hack to get around PHP cURL's use of @ being a a meta character
         $statustxt = preg_replace('/^@/', ' @', $notice->content);
 
-        $client = new TwitterOAuthClient($flink->token, $flink->credentials);
+        $token = TwitterOAuthClient::unpackToken($flink->credentials);
+
+        $client = new TwitterOAuthClient($token->key, $token->secret);
 
         $status = null;
 
index c798ac8771d83d2a70c7a780b24d51b6b2a8d3a1..b7dc4a80c3b81098a608ddc97f518a7a62944ebe 100644 (file)
@@ -64,6 +64,23 @@ class TwitterOAuthClient extends OAuthClient
                             $oauth_token, $oauth_token_secret);
     }
 
+    // XXX: the following two functions are to support the horrible hack
+    // of using the credentils field in Foreign_link to store both
+    // the access token and token secret.  This hack should go away with
+    // 0.9, in which we can make DB changes and add a new column for the
+    // token itself.
+
+    static function packToken($token)
+    {
+        return implode(chr(0), array($token->key, $token->secret));
+    }
+
+    static function unpackToken($str)
+    {
+        $vals = explode(chr(0), $str);
+        return new OAuthToken($vals[0], $vals[1]);
+    }
+
     /**
      * Builds a link to Twitter's endpoint for authorizing a request token
      *
index 39b9ad6127836ae64397c58006d5c65a93ce4da5..d13500e979b6b9f5700d6f7000b8343b46e6206a 100755 (executable)
@@ -142,7 +142,9 @@ class SyncTwitterFriendsDaemon extends ParallelizingDaemon
     {
         $friends = array();
 
-        $client = new TwitterOAuthClient($flink->token, $flink->credentials);
+        $token = TwitterOAuthClient::unpackToken($flink->credentials);
+
+        $client = new TwitterOAuthClient($token->key, $token->secret);
 
         try {
             $friends_ids = $client->friendsIds();
index e04a8993f3e2dbc1165c9f87b9da3c5c76fc6790..f5289c5f4b7384a1daeaa7de0c8e6119cbbb820d 100755 (executable)
@@ -161,7 +161,9 @@ class TwitterStatusFetcher extends ParallelizingDaemon
         // to start importing?  How many statuses?  Right now I'm going
         // with the default last 20.
 
-        $client = new TwitterOAuthClient($flink->token, $flink->credentials);
+        $token = TwitterOAuthClient::unpackToken($flink->credentials);
+
+        $client = new TwitterOAuthClient($token->key, $token->secret);
 
         $timeline = null;