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