]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Ticket #1567 - Change max_id to return notices <= ID instead of < ID
authorZach Copley <zach@controlyourself.ca>
Fri, 29 May 2009 23:54:24 +0000 (16:54 -0700)
committerZach Copley <zach@controlyourself.ca>
Fri, 29 May 2009 23:54:24 +0000 (16:54 -0700)
actions/twitapidirect_messages.php
classes/Fave.php
classes/Notice.php
classes/Notice_inbox.php
classes/Profile.php
classes/User_group.php

index ab8f0781063ca182a02a1ef842bf6a58cf1cffee..d2dbdb619b180044a0388cd592382944eec4018a 100644 (file)
@@ -75,7 +75,7 @@ class Twitapidirect_messagesAction extends TwitterapiAction
         }
 
         if ($max_id) {
-            $message->whereAdd("id < $max_id");
+            $message->whereAdd("id <= $max_id");
         }
 
         if ($since_id) {
index cdb47985676ea94393d6883e140badb007c8848f..572334ce4f8cf17e8811cf0eab51cd77ed922549 100644 (file)
@@ -60,7 +60,7 @@ class Fave extends Memcached_DataObject
         }
 
         if ($max_id != 0) {
-            $fav->whereAdd('notice_id < ' . $max_id);
+            $fav->whereAdd('notice_id <= ' . $max_id);
         }
 
         if (!is_null($since)) {
index 8dd14b3b73db33804bdd5bdcbddeb2ea02b3c2c6..3f6c5cebbeacf1451c45aaa291e2ef2917326c33 100644 (file)
@@ -426,22 +426,22 @@ class Notice extends Memcached_DataObject
     # XXX: too many args; we need to move to named params or even a separate
     # class for notice streams
 
-    static function getStream($qry, $cachekey, $offset=0, $limit=20, $since_id=0, $before_id=0, $order=null, $since=null) {
+    static function getStream($qry, $cachekey, $offset=0, $limit=20, $since_id=0, $max_id=0, $order=null, $since=null) {
 
         if (common_config('memcached', 'enabled')) {
 
-            # Skip the cache if this is a since, since_id or before_id qry
-            if ($since_id > 0 || $before_id > 0 || $since) {
-                return Notice::getStreamDirect($qry, $offset, $limit, $since_id, $before_id, $order, $since);
+            # Skip the cache if this is a since, since_id or max_id qry
+            if ($since_id > 0 || $max_id > 0 || $since) {
+                return Notice::getStreamDirect($qry, $offset, $limit, $since_id, $max_id, $order, $since);
             } else {
                 return Notice::getCachedStream($qry, $cachekey, $offset, $limit, $order);
             }
         }
 
-        return Notice::getStreamDirect($qry, $offset, $limit, $since_id, $before_id, $order, $since);
+        return Notice::getStreamDirect($qry, $offset, $limit, $since_id, $max_id, $order, $since);
     }
 
-    static function getStreamDirect($qry, $offset, $limit, $since_id, $before_id, $order, $since) {
+    static function getStreamDirect($qry, $offset, $limit, $since_id, $max_id, $order, $since) {
 
         $needAnd = false;
         $needWhere = true;
@@ -463,7 +463,7 @@ class Notice extends Memcached_DataObject
             $qry .= ' notice.id > ' . $since_id;
         }
 
-        if ($before_id > 0) {
+        if ($max_id > 0) {
 
             if ($needWhere) {
                 $qry .= ' WHERE ';
@@ -472,7 +472,7 @@ class Notice extends Memcached_DataObject
                 $qry .= ' AND ';
             }
 
-            $qry .= ' notice.id < ' . $before_id;
+            $qry .= ' notice.id <= ' . $max_id;
         }
 
         if ($since) {
@@ -630,17 +630,17 @@ class Notice extends Memcached_DataObject
         }
     }
 
-    function publicStream($offset=0, $limit=20, $since_id=0, $before_id=0, $since=null)
+    function publicStream($offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
     {
         $ids = Notice::stream(array('Notice', '_publicStreamDirect'),
                               array(),
                               'public',
-                              $offset, $limit, $since_id, $before_id, $since);
+                              $offset, $limit, $since_id, $max_id, $since);
 
         return Notice::getStreamByIds($ids);
     }
 
-    function _publicStreamDirect($offset=0, $limit=20, $since_id=0, $before_id=0, $since=null)
+    function _publicStreamDirect($offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
     {
         $notice = new Notice();
 
@@ -664,8 +664,8 @@ class Notice extends Memcached_DataObject
             $notice->whereAdd('id > ' . $since_id);
         }
 
-        if ($before_id != 0) {
-            $notice->whereAdd('id < ' . $before_id);
+        if ($max_id != 0) {
+            $notice->whereAdd('id <= ' . $max_id);
         }
 
         if (!is_null($since)) {
@@ -998,15 +998,15 @@ class Notice extends Memcached_DataObject
         }
     }
 
-    function stream($fn, $args, $cachekey, $offset=0, $limit=20, $since_id=0, $before_id=0, $since=null)
+    function stream($fn, $args, $cachekey, $offset=0, $limit=20, $since_id=0, $max_id=0, $since=null)
     {
         $cache = common_memcache();
 
         if (empty($cache) ||
-            $since_id != 0 || $before_id != 0 || !is_null($since) ||
+            $since_id != 0 || $max_id != 0 || !is_null($since) ||
             ($offset + $limit) > NOTICE_CACHE_WINDOW) {
             return call_user_func_array($fn, array_merge($args, array($offset, $limit, $since_id,
-                                                                      $before_id, $since)));
+                                                                      $max_id, $since)));
         }
 
         $idkey = common_cache_key($cachekey);
index 65d7927b7ddf621afd980b3780fcd51f92388c7d..8a27e174785101b9b52b6e3bf9211b3867e00ab2 100644 (file)
@@ -62,7 +62,7 @@ class Notice_inbox extends Memcached_DataObject
         }
 
         if ($max_id != 0) {
-            $inbox->whereAdd('notice_id < ' . $max_id);
+            $inbox->whereAdd('notice_id <= ' . $max_id);
         }
 
         if (!is_null($since)) {
index ae5641d79d69bb2a03d2faa6b1a3b9e43d992cc3..3d13cd46af0146f946457200656e6c529a6efef9 100644 (file)
@@ -153,18 +153,18 @@ class Profile extends Memcached_DataObject
         return null;
     }
 
-    function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $before_id=0)
+    function getNotices($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0)
     {
         // XXX: I'm not sure this is going to be any faster. It probably isn't.
         $ids = Notice::stream(array($this, '_streamDirect'),
                               array(),
                               'profile:notice_ids:' . $this->id,
-                              $offset, $limit, $since_id, $before_id);
+                              $offset, $limit, $since_id, $max_id);
 
         return Notice::getStreamByIds($ids);
     }
 
-    function _streamDirect($offset, $limit, $since_id, $before_id, $since)
+    function _streamDirect($offset, $limit, $since_id, $max_id, $since)
     {
         $notice = new Notice();
 
@@ -177,8 +177,8 @@ class Profile extends Memcached_DataObject
             $notice->whereAdd('id > ' . $since_id);
         }
 
-        if ($before_id != 0) {
-            $notice->whereAdd('id < ' . $before_id);
+        if ($max_id != 0) {
+            $notice->whereAdd('id <= ' . $max_id);
         }
 
         if (!is_null($since)) {
index 43591d6559958ac156bacb6407b6a36c271f0c61..a135015baca3a1f2d67601ebb9ae6f03d4c5dd0f 100755 (executable)
@@ -72,7 +72,7 @@ class User_group extends Memcached_DataObject
         }
 
         if ($max_id != 0) {
-            $inbox->whereAdd('notice_id < ' . $max_id);
+            $inbox->whereAdd('notice_id <= ' . $max_id);
         }
 
         if (!is_null($since)) {