]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
push notices through the bridge if they're in reply to a twitter notice
authorEvan Prodromou <evan@status.net>
Fri, 3 Sep 2010 20:37:18 +0000 (16:37 -0400)
committerEvan Prodromou <evan@status.net>
Fri, 3 Sep 2010 20:37:18 +0000 (16:37 -0400)
plugins/TwitterBridge/twitter.php

index 306ba2442abc7ee572318bb18ec0522b4bce2f65..9c2ba502bfa58b701bc9f111c5c7310e3e3a0712 100644 (file)
@@ -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);