pre-fill all notices in conversations on the page

This commit is contained in:
Evan Prodromou 2011-08-08 10:39:45 -04:00
parent ed31052d26
commit 0c762dde42

View File

@ -80,7 +80,7 @@ class ThreadedNoticeList extends NoticeList
$total = count($notices);
$notices = array_slice($notices, 0, NOTICES_PER_PAGE);
self::prefill($notices);
self::prefill(self::_allNotices($notices));
$conversations = array();
@ -123,6 +123,21 @@ class ThreadedNoticeList extends NoticeList
return $total;
}
function _allNotices($notices)
{
$convId = array();
foreach ($notices as $notice) {
$convId[] = $notice->conversation;
}
$convId = array_unique($convId);
$allMap = Memcached_DataObject::listGet('Notice', 'conversation', $convId);
$allArray = array();
foreach ($allMap as $convId => $convNotices) {
$allArray = array_merge($allArray, $convNotices);
}
return $allArray;
}
/**
* returns a new list item for the current notice
*