* @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
*/
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);
}
* @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;
*/
function __construct(Profile $target)
{
+ parent::__construct();
$this->target = $target;
}
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
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);
- }
}