]> 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 496fe0d05d5425f6c784a0cf448b4fe34e4bb52d..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,8 +81,8 @@ class RawInboxNoticeStream extends NoticeStream
      */
     function __construct(Profile $target)
     {
+        parent::__construct();
         $this->target  = $target;
-        $this->unselectVerbs = array(ActivityVerb::DELETE);
     }
 
     /**
@@ -119,12 +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'));
-        }
-        if (!empty($this->unselectVerbs)) {
-            $notice->whereAddIn('!verb', $this->unselectVerbs, $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