diff options
author | Evan Prodromou <evan@status.net> | 2010-09-03 16:37:18 -0400 |
---|---|---|
committer | Evan Prodromou <evan@status.net> | 2010-09-07 04:00:57 -0400 |
commit | 2b56d3b534389cba1d44c6f5ef4d1a8a514acda6 (patch) | |
tree | ef9de9ec42223bf48c33e5827b8b369c8ae48799 /plugins/TwitterBridge/twitter.php | |
parent | 4d70ba9597e211a7650630d3627ca8b427e2f96c (diff) |
push notices through the bridge if they're in reply to a twitter notice
Diffstat (limited to 'plugins/TwitterBridge/twitter.php')
-rw-r--r-- | plugins/TwitterBridge/twitter.php | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/TwitterBridge/twitter.php b/plugins/TwitterBridge/twitter.php index 306ba2442..9c2ba502b 100644 --- a/plugins/TwitterBridge/twitter.php +++ b/plugins/TwitterBridge/twitter.php @@ -115,9 +115,12 @@ function is_twitter_bound($notice, $flink) { // Check to see if notice should go to Twitter 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) || - ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY)) { + ($flink->noticesync & FOREIGN_NOTICE_SEND_REPLY) || + is_twitter_notice($notice->reply_to)) { return true; } } @@ -125,6 +128,18 @@ function is_twitter_bound($notice, $flink) { 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) { $flink = Foreign_link::getByUserID($notice->profile_id, @@ -159,7 +174,6 @@ function twitter_update_params($notice) return $params; } - function broadcast_oauth($notice, $flink) { $user = $flink->getUser(); $statustxt = format_status($notice); |