better handling of tagged notice streams

This commit is contained in:
Evan Prodromou 2011-09-18 12:33:35 -04:00
parent 3d4ea0a71f
commit 951601633b
2 changed files with 22 additions and 7 deletions

View File

@ -55,6 +55,25 @@ require_once INSTALLDIR.'/lib/feedlist.php';
*/ */
class ShowstreamAction extends ProfileAction class ShowstreamAction extends ProfileAction
{ {
var $notice;
function prepare($args)
{
parent::prepare($args);
$p = Profile::current();
if (empty($this->tag)) {
$stream = new ProfileNoticeStream($this->profile, $p);
} else {
$stream = new TaggedProfileNoticeStream($this->profile, $this->tag, $p);
}
$this->notice = $stream->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1);
return true;
}
function isReadOnly($args) function isReadOnly($args)
{ {
return true; return true;
@ -224,13 +243,9 @@ class ShowstreamAction extends ProfileAction
function showNotices() function showNotices()
{ {
$notice = empty($this->tag)
? $this->user->getNotices(($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1)
: $this->user->getTaggedNotices($this->tag, ($this->page-1)*NOTICES_PER_PAGE, NOTICES_PER_PAGE + 1, 0, 0, null);
$pnl = null; $pnl = null;
if (Event::handle('ShowStreamNoticeList', array($notice, $this, &$pnl))) { if (Event::handle('ShowStreamNoticeList', array($this->notice, $this, &$pnl))) {
$pnl = new ProfileNoticeList($notice, $this); $pnl = new ProfileNoticeList($this->notice, $this);
} }
$cnt = $pnl->show(); $cnt = $pnl->show();
if (0 == $cnt) { if (0 == $cnt) {

View File

@ -47,7 +47,7 @@ if (!defined('STATUSNET')) {
class TaggedProfileNoticeStream extends ScopingNoticeStream class TaggedProfileNoticeStream extends ScopingNoticeStream
{ {
function __construct($profile, $tag, $userProfile) function __construct($profile, $tag, $userProfile=-1)
{ {
if (is_int($userProfile) && $userProfile == -1) { if (is_int($userProfile) && $userProfile == -1) {
$userProfile = Profile::current(); $userProfile = Profile::current();