]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
check status_id before trying to retweet it
authorEvan Prodromou <evan@status.net>
Sun, 5 Sep 2010 04:42:58 +0000 (00:42 -0400)
committerEvan Prodromou <evan@status.net>
Tue, 7 Sep 2010 08:00:59 +0000 (04:00 -0400)
plugins/TwitterBridge/twitter.php

index 94eaedee51c2f90c39df88884949cc01ba425942..4084633543d02b5d0f1d5915f9d0bbf3418ef5cf 100644 (file)
@@ -143,7 +143,10 @@ function broadcast_twitter($notice)
 
     if (!empty($flink) && TwitterOAuthClient::isPackedToken($flink->credentials)) {
         if (!empty($notice->repeat_of) && is_twitter_notice($notice->repeat_of)) {
-            return retweet_notice($flink, Notice::staticGet('id', $notice->repeat_of));
+            $retweet = retweet_notice($flink, Notice::staticGet('id', $notice->repeat_of));
+            if (!empty($retweet)) {
+                Notice_to_status::saveNew($notice->id, $retweet->id);
+            }
         } else if (is_twitter_bound($notice, $flink)) {
             return broadcast_oauth($notice, $flink);
         }
@@ -159,11 +162,14 @@ function retweet_notice($flink, $notice)
 
     $id = twitter_status_id($notice);
 
+    if (empty($id)) {
+        common_log(LOG_WARNING, "Trying to retweet notice {$notice->id} with no known status id.");
+        return null;
+    }
+
     try {
         $status = $client->statusesRetweet($id);
-        if (!empty($status)) {
-            Notice_to_status::saveNew($notice->id, $status->id);
-        }
+        return $status;
     } catch (OAuthClientException $e) {
         return process_error($e, $flink, $notice);
     }