]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/inboxnoticestream.php
NoticeStream fixes regarding non-post verbs
[quix0rs-gnu-social.git] / lib / inboxnoticestream.php
index 57c5e0c80e029e565a381e109286220e7a9d51e2..87868b1d79aab4f2e6b852dac3a7106ac229c293 100644 (file)
@@ -112,8 +112,21 @@ class RawInboxNoticeStream extends NoticeStream
                         'OR notice.id IN (SELECT notice_id FROM attention WHERE profile_id=%1$d)',
                     $this->target->id)
             );
+        if (!empty($since_id)) {
+            $notice->whereAdd(sprintf('notice.id > %d', $since_id));
+        }
+        if (!empty($max_id)) {
+            $notice->whereAdd(sprintf('notice.id <= %d', $max_id));
+        }
+        if (!empty($this->selectVerbs)) {
+            $notice->whereAddIn('verb', $this->selectVerbs, $notice->columnType('verb'));
+        }
         $notice->limit($offset, $limit);
-        $notice->orderBy('notice.created DESC');
+        // notice.id will give us even really old posts, which were
+        // recently imported. For example if a remote instance had
+        // problems and just managed to post here. Another solution
+        // would be to have a 'notice.imported' field and order by it.
+        $notice->orderBy('notice.id DESC');
 
         if (!$notice->find()) {
             return array();