Handle the case where a screen name has shifted from one Twitter ID to another
This commit is contained in:
parent
7746611f20
commit
4c5098cd32
|
@ -39,6 +39,22 @@ class Foreign_user extends Memcached_DataObject
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static function getByNickname($nickname, $service)
|
||||||
|
{
|
||||||
|
if (empty($nickname) || empty($service)) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
$fuser = new Foreign_user();
|
||||||
|
$fuser->service = $service;
|
||||||
|
$fuser->nickname = $nickname;
|
||||||
|
$fuser->limit(1);
|
||||||
|
|
||||||
|
$result = $fuser->find(true);
|
||||||
|
|
||||||
|
return empty($result) ? null : $fuser;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function updateKeys(&$orig)
|
function updateKeys(&$orig)
|
||||||
{
|
{
|
||||||
$this->_connect();
|
$this->_connect();
|
||||||
|
|
|
@ -75,8 +75,6 @@ function save_twitter_user($twitter_id, $screen_name)
|
||||||
|
|
||||||
if (!empty($fuser)) {
|
if (!empty($fuser)) {
|
||||||
|
|
||||||
$result = true;
|
|
||||||
|
|
||||||
// Delete old record if Twitter user changed screen name
|
// Delete old record if Twitter user changed screen name
|
||||||
|
|
||||||
if ($fuser->nickname != $screen_name) {
|
if ($fuser->nickname != $screen_name) {
|
||||||
|
@ -88,6 +86,25 @@ function save_twitter_user($twitter_id, $screen_name)
|
||||||
$screen_name,
|
$screen_name,
|
||||||
$oldname));
|
$oldname));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
|
// Kill any old, invalid records for this screen name
|
||||||
|
|
||||||
|
$fuser = Foreign_user::getByNickname($screen_name, TWITTER_SERVICE);
|
||||||
|
|
||||||
|
if (!empty($fuser)) {
|
||||||
|
$fuser->delete();
|
||||||
|
common_log(
|
||||||
|
LOG_INFO,
|
||||||
|
sprintf(
|
||||||
|
'Twitter bridge - deteted old record for Twitter ' .
|
||||||
|
'screen name "%s" belonging to Twitter ID %d.',
|
||||||
|
$screen_name,
|
||||||
|
$fuser->id
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return add_twitter_user($twitter_id, $screen_name);
|
return add_twitter_user($twitter_id, $screen_name);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user