- $profile: The profile to check for scope
- &$bResult: The boolean result; overwrite this if you so desire
+StartNoticeListPrefill: Before pre-filling a list of notices with extra data
+- &$notices: Notices to be pre-filled
+- $avatarSize: The avatar size for the list
+
+EndNoticeListPrefill: After pre-filling a list of notices with extra data
+- &$notices: Notices that were pre-filled
+- &$profiles: Profiles that were pre-filled
+- $avatarSize: The avatar size for the list
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
- $profiles = Notice::fillProfiles($notices);
- // Prefill the avatars
- Profile::fillAvatars($profiles, $avatarSize);
+ if (Event::handle('StartNoticeListPrefill', array(&$notices, $avatarSize))) {
+
+ // Prefill attachments
+ Notice::fillAttachments($notices);
+ // Prefill attachments
+ Notice::fillFaves($notices);
+ // Prefill repeat data
+ Notice::fillRepeats($notices);
+ // Prefill the profiles
+ $profiles = Notice::fillProfiles($notices);
+ // Prefill the avatars
+ Profile::fillAvatars($profiles, $avatarSize);
- $p = Profile::current();
+ $p = Profile::current();
- if (!empty($p)) {
+ if (!empty($p)) {
- $ids = array();
+ $ids = array();
- foreach ($notices as $notice) {
- $ids[] = $notice->id;
- }
+ 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));
- }
+ Memcached_DataObject::pivotGet('Fave', 'notice_id', $ids, array('user_id' => $p->id));
+ Memcached_DataObject::pivotGet('Notice', 'repeat_of', $ids, array('profile_id' => $p->id));
+ }
+
+ Event::handle('EndNoticeListPrefill', array(&$notices, &$profiles, $avatarSize));
+ }
}
}