Move prefill call to noticelist class
This commit is contained in:
parent
a3ef80941e
commit
b9cabd45de
@ -83,17 +83,16 @@ class NoticeList extends Widget
|
|||||||
$this->out->elementStart('div', array('id' =>'notices_primary'));
|
$this->out->elementStart('div', array('id' =>'notices_primary'));
|
||||||
$this->out->elementStart('ol', array('class' => 'notices xoxo'));
|
$this->out->elementStart('ol', array('class' => 'notices xoxo'));
|
||||||
|
|
||||||
$cnt = 0;
|
$notices = $this->notice->fetchAll();
|
||||||
|
|
||||||
while ($this->notice->fetch() && $cnt <= NOTICES_PER_PAGE) {
|
$notices = array_slice($notices, 0, NOTICES_PER_PAGE);
|
||||||
$cnt++;
|
|
||||||
|
$this->prefill($notices);
|
||||||
if ($cnt > NOTICES_PER_PAGE) {
|
|
||||||
break;
|
foreach ($notices as $notice) {
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$item = $this->newListItem($this->notice);
|
$item = $this->newListItem($notice);
|
||||||
$item->show();
|
$item->show();
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
// we log exceptions and continue
|
// we log exceptions and continue
|
||||||
@ -105,7 +104,7 @@ class NoticeList extends Widget
|
|||||||
$this->out->elementEnd('ol');
|
$this->out->elementEnd('ol');
|
||||||
$this->out->elementEnd('div');
|
$this->out->elementEnd('div');
|
||||||
|
|
||||||
return $cnt;
|
return count($notices);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -122,4 +121,10 @@ class NoticeList extends Widget
|
|||||||
{
|
{
|
||||||
return new NoticeListItem($notice, $this->out);
|
return new NoticeListItem($notice, $this->out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function prefill(&$notices)
|
||||||
|
{
|
||||||
|
// Prefill the profiles
|
||||||
|
Notice::fillProfiles($notices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -59,9 +59,6 @@ abstract class NoticeStream
|
|||||||
|
|
||||||
static function getStreamByIds($ids)
|
static function getStreamByIds($ids)
|
||||||
{
|
{
|
||||||
$notices = Notice::multiGet('id', $ids);
|
return Notice::multiGet('id', $ids);
|
||||||
// Prefill the profiles
|
|
||||||
Notice::fillProfiles($notices->fetchAll());
|
|
||||||
return $notices;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -76,17 +76,18 @@ class ThreadedNoticeList extends NoticeList
|
|||||||
$this->out->element('h2', null, _m('HEADER','Notices'));
|
$this->out->element('h2', null, _m('HEADER','Notices'));
|
||||||
$this->out->elementStart('ol', array('class' => 'notices threaded-notices xoxo'));
|
$this->out->elementStart('ol', array('class' => 'notices threaded-notices xoxo'));
|
||||||
|
|
||||||
|
$notices = $this->notice->fetchAll();
|
||||||
|
$notices = array_slice($notices, 0, NOTICES_PER_PAGE);
|
||||||
|
|
||||||
|
$this->prefill($notices);
|
||||||
|
|
||||||
$cnt = 0;
|
$cnt = 0;
|
||||||
$conversations = array();
|
$conversations = array();
|
||||||
while ($this->notice->fetch() && $cnt <= NOTICES_PER_PAGE) {
|
|
||||||
$cnt++;
|
foreach ($notices as $notice) {
|
||||||
|
|
||||||
if ($cnt > NOTICES_PER_PAGE) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Collapse repeats into their originals...
|
// Collapse repeats into their originals...
|
||||||
$notice = $this->notice;
|
|
||||||
if ($notice->repeat_of) {
|
if ($notice->repeat_of) {
|
||||||
$orig = Notice::staticGet('id', $notice->repeat_of);
|
$orig = Notice::staticGet('id', $notice->repeat_of);
|
||||||
if ($orig) {
|
if ($orig) {
|
||||||
@ -223,6 +224,8 @@ class ThreadedNoticeListItem extends NoticeListItem
|
|||||||
$item = new ThreadedNoticeListMoreItem($moreCutoff, $this->out, count($notices));
|
$item = new ThreadedNoticeListMoreItem($moreCutoff, $this->out, count($notices));
|
||||||
$item->show();
|
$item->show();
|
||||||
}
|
}
|
||||||
|
// XXX: replicating NoticeList::prefill(), annoyingly
|
||||||
|
$this->prefill($notices);
|
||||||
foreach (array_reverse($notices) as $notice) {
|
foreach (array_reverse($notices) as $notice) {
|
||||||
if (Event::handle('StartShowThreadedNoticeSub', array($this, $this->notice, $notice))) {
|
if (Event::handle('StartShowThreadedNoticeSub', array($this, $this->notice, $notice))) {
|
||||||
$item = new ThreadedNoticeListSubItem($notice, $this->notice, $this->out);
|
$item = new ThreadedNoticeListSubItem($notice, $this->notice, $this->out);
|
||||||
@ -247,6 +250,12 @@ class ThreadedNoticeListItem extends NoticeListItem
|
|||||||
|
|
||||||
parent::showEnd();
|
parent::showEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function prefill(&$notices)
|
||||||
|
{
|
||||||
|
// Prefill the profiles
|
||||||
|
Notice::fillProfiles($notices);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @todo FIXME: needs documentation.
|
// @todo FIXME: needs documentation.
|
||||||
|
Loading…
Reference in New Issue
Block a user