]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/inboxnoticestream.php
Stricted typing + protected on FilteringNoticeStream->filter
[quix0rs-gnu-social.git] / lib / inboxnoticestream.php
index 87868b1d79aab4f2e6b852dac3a7106ac229c293..2b19461c5763d7bc542cac96ce956fbf9fcdda4b 100644 (file)
@@ -30,7 +30,7 @@
  * @link      http://status.net/
  */
 
-if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); }
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * Stream of notices for a profile's "all" feed
@@ -54,9 +54,6 @@ class InboxNoticeStream extends ScopingNoticeStream
      */
     function __construct(Profile $target, Profile $scoped=null)
     {
-        if ($scoped === null) {
-            $scoped = Profile::current();
-        }
         // FIXME: we don't use CachingNoticeStream - but maybe we should?
         parent::__construct(new CachingNoticeStream(new RawInboxNoticeStream($target), 'profileall'), $scoped);
     }
@@ -72,7 +69,7 @@ class InboxNoticeStream extends ScopingNoticeStream
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
  * @link      http://status.net/
  */
-class RawInboxNoticeStream extends NoticeStream
+class RawInboxNoticeStream extends FullNoticeStream
 {
     protected $target  = null;
     protected $inbox = null;
@@ -84,6 +81,7 @@ class RawInboxNoticeStream extends NoticeStream
      */
     function __construct(Profile $target)
     {
+        parent::__construct();
         $this->target  = $target;
     }
 
@@ -118,9 +116,9 @@ class RawInboxNoticeStream extends NoticeStream
         if (!empty($max_id)) {
             $notice->whereAdd(sprintf('notice.id <= %d', $max_id));
         }
-        if (!empty($this->selectVerbs)) {
-            $notice->whereAddIn('verb', $this->selectVerbs, $notice->columnType('verb'));
-        }
+
+        self::filterVerbs($notice, $this->selectVerbs);
+
         $notice->limit($offset, $limit);
         // notice.id will give us even really old posts, which were
         // recently imported. For example if a remote instance had
@@ -136,30 +134,4 @@ class RawInboxNoticeStream extends NoticeStream
 
         return $ids;
     }
-
-    function getNotices($offset, $limit, $sinceId, $maxId)
-    {
-        $all = array();
-
-        do {
-
-            $ids = $this->getNoticeIds($offset, $limit, $sinceId, $maxId);
-
-            $notices = Notice::pivotGet('id', $ids);
-
-            // By default, takes out false values
-
-            $notices = array_filter($notices);
-
-            $all = array_merge($all, $notices);
-
-            if (count($notices < count($ids))) {
-                $offset += $limit;
-                $limit  -= count($notices);
-            }
-
-        } while (count($notices) < count($ids) && count($ids) > 0);
-
-        return new ArrayWrapper($all);
-    }
 }