Fix for regression introduced with my last update to the

TwitterStatusFetcher: the Twitter bridge was not saving a foreign user
record when making a foreign link.
This commit is contained in:
Zach Copley 2010-02-15 21:10:45 +00:00
parent d9c9b2a12f
commit 2b6a39f70f
2 changed files with 15 additions and 6 deletions

View 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,10 +94,10 @@ function save_twitter_user($twitter_id, $screen_name)
$screen_name,
$oldname));
}
}
return add_twitter_user($twitter_id, $screen_name);
}
}
function is_twitter_bound($notice, $flink) {

View File

@ -89,13 +89,17 @@ 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)) {
$fuser = $flink->getForeignUser();
if (!empty($fuser)) {
common_redirect(common_local_url('twittersettings'));
}
}
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
@ -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;