summaryrefslogtreecommitdiff
path: root/plugins/TwitterBridge
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-09-03 16:37:18 -0400
committerEvan Prodromou <evan@status.net>2010-09-07 04:00:57 -0400
commit2b56d3b534389cba1d44c6f5ef4d1a8a514acda6 (patch)
treeef9de9ec42223bf48c33e5827b8b369c8ae48799 /plugins/TwitterBridge
parent4d70ba9597e211a7650630d3627ca8b427e2f96c (diff)
push notices through the bridge if they're in reply to a twitter notice
Diffstat (limited to 'plugins/TwitterBridge')
-rw-r--r--plugins/TwitterBridge/twitter.php20
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);