]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fix for regression introduced with my last update to the
authorZach Copley <zach@status.net>
Mon, 15 Feb 2010 21:10:45 +0000 (21:10 +0000)
committerZach Copley <zach@status.net>
Mon, 15 Feb 2010 21:13:53 +0000 (21:13 +0000)
TwitterStatusFetcher: the Twitter bridge was not saving a foreign user
record when making a foreign link.

plugins/TwitterBridge/twitter.php
plugins/TwitterBridge/twitterauthorization.php

index 5761074c258c8b17ef435300d9746430a01d5423..1d46aa2c91ba470a3b353d36e2969b526ea65220 100644 (file)
@@ -28,6 +28,7 @@ require_once INSTALLDIR . '/plugins/TwitterBridge/twitteroauthclient.php';
 
 function add_twitter_user($twitter_id, $screen_name)
 {
+    common_debug("Add Twitter user");
 
     $new_uri = 'http://twitter.com/' . $screen_name;
 
@@ -40,7 +41,7 @@ function add_twitter_user($twitter_id, $screen_name)
     $luser->service = TWITTER_SERVICE;
     $result = $luser->delete();
 
-    if (empty($result)) {
+    if ($result != false) {
         common_log(LOG_WARNING,
             "Twitter bridge - removed invalid Twitter user squatting on uri: $new_uri");
     }
@@ -93,9 +94,9 @@ function save_twitter_user($twitter_id, $screen_name)
                                          $screen_name,
                                          $oldname));
         }
-
-        return add_twitter_user($twitter_id, $screen_name);
     }
+
+    return add_twitter_user($twitter_id, $screen_name);
 }
 
 function is_twitter_bound($notice, $flink) {
index dbef438a4bd10dc4edfabd4695142e374d89eeba..6822d33dd19ba542c5e11af600cf2b2f3c2033be 100644 (file)
@@ -89,11 +89,15 @@ class TwitterauthorizationAction extends Action
             $user  = common_current_user();
             $flink = Foreign_link::getByUserID($user->id, TWITTER_SERVICE);
 
-            // If there's already a foreign link record, it means we already
-            // have an access token, and this is unecessary. So go back.
+            // If there's already a foreign link record and a foreign user
+            // it means the accounts are already linked, and this is unecessary.
+            // So go back.
 
             if (isset($flink)) {
-                common_redirect(common_local_url('twittersettings'));
+                $fuser = $flink->getForeignUser();
+                if (!empty($fuser)) {
+                    common_redirect(common_local_url('twittersettings'));
+                }
             }
         }
 
@@ -254,6 +258,10 @@ class TwitterauthorizationAction extends Action
     {
         $flink = new Foreign_link();
 
+        $flink->user_id = $user_id;
+        $flink->service = TWITTER_SERVICE;
+        $flink->delete(); // delete stale flink, if any
+
         $flink->user_id     = $user_id;
         $flink->foreign_id  = $twuid;
         $flink->service     = TWITTER_SERVICE;