]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/TwitterBridge/twitterauthorization.php
Fix for regression introduced with my last update to the
[quix0rs-gnu-social.git] / plugins / TwitterBridge / twitterauthorization.php
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;