forked from GNUsocial/gnu-social
44bcc942b8
Rearchitect (again!) notice stream code to delegate different functionality up and down the stack. Now, different classes implement NoticeStream.
45 lines
1.0 KiB
PHP
45 lines
1.0 KiB
PHP
<?php
|
|
|
|
class ReplyNoticeStream extends CachingNoticeStream
|
|
{
|
|
function __construct($userId)
|
|
{
|
|
parent::__construct(new RawReplyNoticeStream($userId),
|
|
'reply:stream:' . $userId);
|
|
}
|
|
}
|
|
|
|
class RawReplyNoticeStream extends NoticeStream
|
|
{
|
|
protected $userId;
|
|
|
|
function __construct($userId)
|
|
{
|
|
$this->userId = $userId;
|
|
}
|
|
|
|
function getNoticeIds($offset=0, $limit=NOTICES_PER_PAGE, $since_id=0, $max_id=0)
|
|
{
|
|
$reply = new Reply();
|
|
$reply->profile_id = $this->userId;
|
|
|
|
Notice::addWhereSinceId($reply, $since_id, 'notice_id', 'modified');
|
|
Notice::addWhereMaxId($reply, $max_id, 'notice_id', 'modified');
|
|
|
|
$reply->orderBy('modified DESC, notice_id DESC');
|
|
|
|
if (!is_null($offset)) {
|
|
$reply->limit($offset, $limit);
|
|
}
|
|
|
|
$ids = array();
|
|
|
|
if ($reply->find()) {
|
|
while ($reply->fetch()) {
|
|
$ids[] = $reply->notice_id;
|
|
}
|
|
}
|
|
|
|
return $ids;
|
|
}
|
|
} |