]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
use and save since_id parameter for home_timeline
authorEvan Prodromou <evan@status.net>
Tue, 7 Sep 2010 08:22:55 +0000 (04:22 -0400)
committerEvan Prodromou <evan@status.net>
Tue, 7 Sep 2010 08:22:55 +0000 (04:22 -0400)
plugins/TwitterBridge/daemons/twitterstatusfetcher.php

index e092cd1dd7edbbe5f8ab12bbd156c7cc49ca2c15..7c80d2e5d524dbbd57aabc44757a49847dc05803 100755 (executable)
@@ -103,7 +103,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
     function getObjects()
     {
         global $_DB_DATAOBJECT;
-
         $flink = new Foreign_link();
         $conn = &$flink->getDatabaseConnection();
 
@@ -183,8 +182,10 @@ class TwitterStatusFetcher extends ParallelizingDaemon
 
         $timeline = null;
 
+        $lastId = Twitter_synch_status::getLastId($flink->user_id, 'home_timeline');
+
         try {
-            $timeline = $client->statusesHomeTimeline();
+            $timeline = $client->statusesHomeTimeline($lastId);
         } catch (Exception $e) {
             common_log(LOG_WARNING, $this->name() .
                        ' - Twitter client unable to get friends timeline for user ' .
@@ -199,10 +200,14 @@ class TwitterStatusFetcher extends ParallelizingDaemon
 
         common_debug(LOG_INFO, $this->name() . ' - Retrieved ' . sizeof($timeline) . ' statuses from Twitter.');
 
+        $lastSeenId = null;
+
         // Reverse to preserve order
 
         foreach (array_reverse($timeline) as $status) {
 
+            $lastSeenId = $status->id;
+
             // Hacktastic: filter out stuff coming from this StatusNet
 
             $source = mb_strtolower(common_config('integration', 'source'));
@@ -227,6 +232,10 @@ class TwitterStatusFetcher extends ParallelizingDaemon
             }
         }
 
+        if (!empty($lastSeenId)) {
+            Twitter_synch_status::setLastId($flink->user_id, 'home_timeline', $lastSeenId);
+        }
+
         // Okay, record the time we synced with Twitter for posterity
 
         $flink->last_noticesync = common_sql_now();