Platal::session()->close();
- $order = array(new UFO_Name(UserFilter::LASTNAME), new UFO_Name(UserFilter::FIRSTNAME));
+ $order = array(new UFO_Name(Profile::LASTNAME), new UFO_Name(Profile::FIRSTNAME));
if ($arg0 == 'promo') {
$order = array_unshift($order, new UFO_Promo());
} else {
$pdf = new ContactsPDF();
- $profiles = $filter->getProfiles();
- foreach ($profiles as $p) {
+ $it = $filter->iterProfiles();
+ while ($p = $it->next()) {
$pdf = ContactsPDF::addContact($pdf, $p, $arg0 == 'photos' || $arg1 == 'photos');
}
$pdf->Output();
return $feed->run($page, $user, $hash);
}
+ function buildBirthRef(Profile $profile)
+ {
+ $date = strtotime($profile->birthdate);
+ $tomorrow = $date + 86400;
+ return array(
+ 'timestamp' => $date,
+ 'date' => date('Ymd', $date),
+ 'tomorrow' => date('Ymd', $tomorrow),
+ 'hruid' => $profile->hrid(),
+ 'summary' => 'Anniversaire de ' . $profile->fullName(true)
+ );
+ }
+
+
function handler_ical(&$page, $alias = null, $hash = null)
{
$user = Platal::session()->tokenAuth($alias, $hash);
$page->register_function('display_ical', 'display_ical');
$filter = new UserFilter(new UFC_Contact($user));
- $annivs = Array();
- foreach ($filter->getUsers() as $u) {
- $profile = $u->profile();
- $date = strtotime($profile->birthdate);
- $tomorrow = $date + 86400;
- $annivs[] = array(
- 'timestamp' => strtotime($user->registration_date),
- 'date' => date('Ymd', $date),
- 'tomorrow' => date('Ymd', $tomorrow),
- 'hruid' => $profile->hrid(),
- 'summary' => 'Anniversaire de ' . $profile->fullName(true)
- );
- }
- $page->assign('events', $annivs);
+ $profiles = $filter->iterProfiles();
+ $page->assign('events', PlIteratorUtils::map($profiles, array($this, 'buildBirthRef')));
pl_content_headers("text/calendar");
}