Don't try to find groupnoticestream if impossible
This commit is contained in:
parent
710eb8e86e
commit
38343f3877
@ -46,15 +46,47 @@ if (!defined('STATUSNET')) {
|
|||||||
*/
|
*/
|
||||||
class GroupNoticeStream extends ScopingNoticeStream
|
class GroupNoticeStream extends ScopingNoticeStream
|
||||||
{
|
{
|
||||||
|
var $group;
|
||||||
|
|
||||||
function __construct($group, $profile = -1)
|
function __construct($group, $profile = -1)
|
||||||
{
|
{
|
||||||
if (is_int($profile) && $profile == -1) {
|
if (is_int($profile) && $profile == -1) {
|
||||||
$profile = Profile::current();
|
$profile = Profile::current();
|
||||||
}
|
}
|
||||||
|
$this->group = $group;
|
||||||
|
|
||||||
parent::__construct(new CachingNoticeStream(new RawGroupNoticeStream($group),
|
parent::__construct(new CachingNoticeStream(new RawGroupNoticeStream($group),
|
||||||
'user_group:notice_ids:' . $group->id),
|
'user_group:notice_ids:' . $group->id),
|
||||||
$profile);
|
$profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getNoticeIds($offset, $limit, $since_id, $max_id)
|
||||||
|
{
|
||||||
|
if ($this->impossibleStream()) {
|
||||||
|
return array();
|
||||||
|
} else {
|
||||||
|
return parent::getNoticeIds($offset, $limit, $since_id, $max_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getNotices($offset, $limit, $sinceId = null, $maxId = null)
|
||||||
|
{
|
||||||
|
if ($this->impossibleStream()) {
|
||||||
|
return array();
|
||||||
|
} else {
|
||||||
|
return parent::getNotices($offset, $limit, $sinceId, $maxId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function impossibleStream()
|
||||||
|
{
|
||||||
|
if ($this->group->force_scope &&
|
||||||
|
(empty($this->profile) || !$this->profile->isMember($group))) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user