function handler_ical($page, $eid = null) { global $globals; $this->load('xnetevents.inc.php'); $evt = get_event_detail($eid); if (!$evt) { return PL_FORBIDDEN; } $evt['debut'] = preg_replace('/(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)/', "\\1\\2\\3T\\4\\5\\6", $evt['debut']); $evt['fin'] = preg_replace('/(\\d+)-(\\d+)-(\\d+) (\\d+):(\\d+):(\\d+)/', "\\1\\2\\3T\\4\\5\\6", $evt['fin']); foreach ($evt['moments'] as $m) { $evt['descriptif'] .= "\n\n** " . $m['titre'] . " **\n" . $m['details']; } $page->changeTpl('xnetevents/calendar.tpl', NO_SKIN); require_once 'ical.inc.php'; $page->assign('asso', $globals->asso()); $page->assign('timestamp', time()); $page->assign('admin', may_update()); if (may_update()) { $page->assign('participants', get_event_participants($evt, null, UserFilter::sortByPromo())); } $page->register_function('display_ical', 'display_ical'); $page->assign_by_ref('e', $evt); pl_content_headers("text/calendar"); }