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);
$filter = new UserFilter(new UFC_Contact($user));
$profiles = $filter->iterProfiles();
- $annivs = Array();
- while ($profile = $profiles->next()) {
- $date = strtotime($profile->birthdate);
- $tomorrow = $date + 86400;
- $annivs[] = array(
- 'timestamp' => $date,
- 'date' => date('Ymd', $date),
- 'tomorrow' => date('Ymd', $tomorrow),
- 'hruid' => $profile->hrid(),
- 'summary' => 'Anniversaire de ' . $profile->fullName(true)
- );
- }
- $page->assign('events', $annivs);
+ $page->assign('events', PlIteratorUtils::map($profiles, array($this, 'buildBirthRef')));
pl_content_headers("text/calendar");
}
METHOD:PUBLISH\r
{display_ical name="x-wr-calname" value="Anniversaires des X"}\r
X-WR-TIMEZONE:Europe/Paris\r
-{foreach from=$events item=e}\r
+{iterate from=$events item=e}\r
BEGIN:VEVENT\r
DTSTAMP:{$e.timestamp|date_format:"%Y%m%dT%H%M%SZ"}\r
DTSTART;VALUE=DATE:{$e.date}\r
CLASS:PUBLIC\r
{display_ical name="summary" value=$e.summary}\r
END:VEVENT\r
-{/foreach}\r
+{/iterate}\r
END:VCALENDAR{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}