$this->out->elementStart('ol', array('class' => 'notices xoxo'));
$notices = $this->notice->fetchAll();
-
+ $total = count($notices);
$notices = array_slice($notices, 0, NOTICES_PER_PAGE);
- $this->prefill($notices);
+ self::prefill($notices);
foreach ($notices as $notice) {
$this->out->elementEnd('ol');
$this->out->elementEnd('div');
- return count($notices);
+ return $total;
}
/**
return new NoticeListItem($notice, $this->out);
}
- function prefill(&$notices)
+ static function prefill(&$notices, $avatarSize=AVATAR_STREAM_SIZE)
{
+ // Prefill attachments
+ Notice::fillAttachments($notices);
+ // Prefill attachments
+ Notice::fillFaves($notices);
+ // Prefill repeat data
+ Notice::fillRepeats($notices);
// Prefill the profiles
- Notice::fillProfiles($notices);
+ $profiles = Notice::fillProfiles($notices);
+ // Prefill the avatars
+ Profile::fillAvatars($profiles, $avatarSize);
+
+ $p = Profile::current();
+
+ if (!empty($p)) {
+
+ $ids = array();
+
+ foreach ($notices as $notice) {
+ $ids[] = $notice->id;
+ }
+
+ Memcached_DataObject::pivotGet('Fave', 'notice_id', $ids, array('user_id' => $p->id));
+ Memcached_DataObject::pivotGet('Notice', 'repeat_of', $ids, array('profile_id' => $p->id));
+ }
}
}