summaryrefslogtreecommitdiff
path: root/plugins/TwitterBridge/twitterauthorization.php
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/TwitterBridge/twitterauthorization.php')
-rw-r--r--plugins/TwitterBridge/twitterauthorization.php14
1 files changed, 11 insertions, 3 deletions
diff --git a/plugins/TwitterBridge/twitterauthorization.php b/plugins/TwitterBridge/twitterauthorization.php
index dbef438a4..6822d33dd 100644
--- a/plugins/TwitterBridge/twitterauthorization.php
+++ b/plugins/TwitterBridge/twitterauthorization.php
@@ -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;