]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/TwitterBridge/daemons/twitterstatusfetcher.php
remove basic auth code for Twitter since it's no longer supported
[quix0rs-gnu-social.git] / plugins / TwitterBridge / daemons / twitterstatusfetcher.php
index 848e866697be897f9cfbd006001e798031539f2b..dfd2d274c58ff240d13c865ba24123560244965a 100755 (executable)
@@ -179,14 +179,13 @@ class TwitterStatusFetcher extends ParallelizingDaemon
             $client = new TwitterOAuthClient($token->key, $token->secret);
             common_debug($this->name() . ' - Grabbing friends timeline with OAuth.');
         } else {
-            $client = new TwitterBasicAuthClient($flink);
-            common_debug($this->name() . ' - Grabbing friends timeline with basic auth.');
+            common_debug("Skipping friends timeline for $flink->foreign_id since not OAuth.");
         }
 
         $timeline = null;
 
         try {
-            $timeline = $client->statusesFriendsTimeline();
+            $timeline = $client->statusesHomeTimeline();
         } catch (Exception $e) {
             common_log(LOG_WARNING, $this->name() .
                        ' - Twitter client unable to get friends timeline for user ' .
@@ -222,7 +221,11 @@ class TwitterStatusFetcher extends ParallelizingDaemon
                 continue;
             }
 
-            $this->saveStatus($status, $flink);
+            $notice = $this->saveStatus($status);
+
+            if (!empty($notice)) {
+                Inbox::insertNotice($flink->user_id, $notice->id);
+            }
         }
 
         // Okay, record the time we synced with Twitter for posterity
@@ -231,7 +234,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
         $flink->update();
     }
 
-    function saveStatus($status, $flink=null)
+    function saveStatus($status)
     {
         $profile = $this->ensureProfile($status->user);
 
@@ -256,11 +259,16 @@ class TwitterStatusFetcher extends ParallelizingDaemon
             return $dupe;
         }
 
+        common_debug("Saving status {$status->id} with data " . print_r($status, true));
+
         // If it's a retweet, save it as a repeat!
 
         if (!empty($status->retweeted_status)) {
+            common_log(LOG_INFO, "Status {$status->id} is a retweet of {$status->retweeted_status->id}.");
             $original = $this->saveStatus($status->retweeted_status);
-            return $original->repeat($profile->id, 'twitter');
+            $repeat = $original->repeat($profile->id, 'twitter');
+            common_log(LOG_INFO, "Saved {$repeat->id} as a repeat of {$original->id}");
+            return $repeat;
         }
 
         $notice = new Notice();
@@ -278,9 +286,13 @@ class TwitterStatusFetcher extends ParallelizingDaemon
         $notice->reply_to   = null;
 
         if (!empty($status->in_reply_to_status_id)) {
+            common_log(LOG_INFO, "Status {$status->id} is a reply to status {$status->in_reply_to_status_id}");
             $replyUri = $this->makeStatusURI($status->in_reply_to_screen_name, $status->in_reply_to_status_id);
             $reply = Notice::staticGet('uri', $replyUri);
-            if (!empty($reply)) {
+            if (empty($reply)) {
+                common_log(LOG_INFO, "Couldn't find local notice for status {$status->in_reply_to_status_id}");
+            } else {
+                common_log(LOG_INFO, "Found local notice {$reply->id} for status {$status->in_reply_to_status_id}");
                 $notice->reply_to     = $reply->id;
                 $notice->conversation = $reply->conversation;
             }
@@ -289,6 +301,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
         if (empty($notice->conversation)) {
             $conv = Conversation::create();
             $notice->conversation = $conv->id;
+            common_log(LOG_INFO, "No known conversation for status {$status->id} so making a new one {$conv->id}.");
         }
 
         $notice->is_local   = Notice::GATEWAY;
@@ -312,9 +325,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
             Event::handle('EndNoticeSave', array($notice));
         }
 
-        if (!empty($flink)) {
-            Inbox::insertNotice($flink->user_id, $notice->id);
-        }
         $notice->blowOnInsert();
 
         return $notice;