save reply status for Twitter notices
This commit is contained in:
parent
ed99fd51e8
commit
4d70ba9597
@ -241,10 +241,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
|
||||
return;
|
||||
}
|
||||
|
||||
$statusUri = 'http://twitter.com/'
|
||||
. $status->user->screen_name
|
||||
. '/status/'
|
||||
. $status->id;
|
||||
$statusUri = $this->makeStatusURI($status->user->screen_name, $status->id);
|
||||
|
||||
// check to see if we've already imported the status
|
||||
|
||||
@ -270,7 +267,23 @@ class TwitterStatusFetcher extends ParallelizingDaemon
|
||||
);
|
||||
|
||||
$notice->source = 'twitter';
|
||||
|
||||
$notice->reply_to = null;
|
||||
|
||||
if (!empty($status->in_reply_to_status_id)) {
|
||||
$replyUri = $this->makeStatusURI($status->in_reply_to_screen_name, $status->in_reply_to_status_id);
|
||||
$reply = Notice::staticGet('uri', $replyUri);
|
||||
if (!empty($reply)) {
|
||||
$notice->reply_to = $reply->id;
|
||||
$notice->conversation = $reply->conversation;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($notice->conversation)) {
|
||||
$conv = Conversation::create();
|
||||
$notice->conversation = $conv->id;
|
||||
}
|
||||
|
||||
$notice->is_local = Notice::GATEWAY;
|
||||
|
||||
$notice->content = common_shorten_links($status->text);
|
||||
@ -292,23 +305,28 @@ class TwitterStatusFetcher extends ParallelizingDaemon
|
||||
Event::handle('EndNoticeSave', array($notice));
|
||||
}
|
||||
|
||||
$orig = clone($notice);
|
||||
$conv = Conversation::create();
|
||||
|
||||
$notice->conversation = $conv->id;
|
||||
|
||||
if (!$notice->update($orig)) {
|
||||
common_log_db_error($notice, 'UPDATE', __FILE__);
|
||||
common_log(LOG_ERR, $this->name() .
|
||||
' - Problem saving notice.');
|
||||
}
|
||||
|
||||
Inbox::insertNotice($flink->user_id, $notice->id);
|
||||
$notice->blowOnInsert();
|
||||
|
||||
return $notice;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make an URI for a status.
|
||||
*
|
||||
* @param object $status status object
|
||||
*
|
||||
* @return string URI
|
||||
*/
|
||||
|
||||
function makeStatusURI($username, $id)
|
||||
{
|
||||
return 'http://twitter.com/'
|
||||
. $username
|
||||
. '/status/'
|
||||
. $id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Look up a Profile by profileurl field. Profile::staticGet() was
|
||||
* not working consistently.
|
||||
|
Loading…
Reference in New Issue
Block a user