push notices through the bridge if they're in reply to a twitter notice

This commit is contained in:
Evan Prodromou 2010-09-03 16:37:18 -04:00
parent 4d70ba9597
commit 2b56d3b534

View File

@ -115,9 +115,12 @@ function is_twitter_bound($notice, $flink) {
// Check to see if notice should go to Twitter // Check to see if notice should go to Twitter
if (!empty($flink) && ($flink->noticesync & FOREIGN_NOTICE_SEND)) { if (!empty($flink) && ($flink->noticesync & FOREIGN_NOTICE_SEND)) {
// If it's not a Twitter-style reply, or if the user WANTS to send replies. // If it's not a Twitter-style reply, or if the user WANTS to send replies,
// or if it's in reply to a twitter notice
if (!preg_match('/^@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) || if (!preg_match('/^@[a-zA-Z0-9_]{1,15}\b/u', $notice->content) ||
($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) { ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) ||
is_twitter_notice($notice->reply_to)) {
return true; return true;
} }
} }
@ -125,6 +128,18 @@ function is_twitter_bound($notice, $flink) {
return false; return false;
} }
function is_twitter_notice($id)
{
$notice = Notice::staticGet('id', $id);
if (empty($notice)) {
// it's not any kind of notice, so it's definitely not a Twitter notice.
return false;
}
return ($notice->source == 'twitter');
}
function broadcast_twitter($notice) function broadcast_twitter($notice)
{ {
$flink = Foreign_link::getByUserID($notice->profile_id, $flink = Foreign_link::getByUserID($notice->profile_id,
@ -159,7 +174,6 @@ function twitter_update_params($notice)
return $params; return $params;
} }
function broadcast_oauth($notice, $flink) { function broadcast_oauth($notice, $flink) {
$user = $flink->getUser(); $user = $flink->getUser();
$statustxt = format_status($notice); $statustxt = format_status($notice);