Support SCHEDULE-STATUS attende/organizer parameters

This commit is contained in:
Thomas Bruederli 2014-11-12 19:03:06 +01:00
parent d055e770ab
commit 963cc3e1f5

View file

@ -36,8 +36,16 @@ class libvcalendar implements Iterator
private $attach_uri = null;
private $prodid = '-//Roundcube//Roundcube libcalendaring//Sabre//Sabre VObject//EN';
private $type_component_map = array('event' => 'VEVENT', 'task' => 'VTODO');
private $attendee_keymap = array('name' => 'CN', 'status' => 'PARTSTAT', 'role' => 'ROLE',
'cutype' => 'CUTYPE', 'rsvp' => 'RSVP', 'delegated-from' => 'DELEGATED-FROM', 'delegated-to' => 'DELEGATED-TO');
private $attendee_keymap = array(
'name' => 'CN',
'status' => 'PARTSTAT',
'role' => 'ROLE',
'cutype' => 'CUTYPE',
'rsvp' => 'RSVP',
'delegated-from' => 'DELEGATED-FROM',
'delegated-to' => 'DELEGATED-TO',
'schedule-status' => 'SCHEDULE-STATUS',
);
private $iteratorkey = 0;
private $charset;
private $forward_exceptions;
@ -1107,12 +1115,14 @@ class libvcalendar implements Iterator
else if (!empty($attendee['email'])) {
if (isset($attendee['rsvp']))
$attendee['rsvp'] = $attendee['rsvp'] ? 'TRUE' : 'FALSE';
$ve->add('ATTENDEE', 'mailto:' . $attendee['email'], array_filter(self::map_keys($attendee, $this->attendee_keymap)));
$ve->add('ATTENDEE', 'mailto:' . $attendee['email'],
array_filter(self::map_keys($attendee, $this->attendee_keymap)));
}
}
if ($event['organizer']) {
$ve->add('ORGANIZER', 'mailto:' . $event['organizer']['email'], self::map_keys($event['organizer'], array('name' => 'CN')));
$ve->add('ORGANIZER', 'mailto:' . $event['organizer']['email'],
array_filter(self::map_keys($event['organizer'], $this->attendee_keymap)));
}
foreach ((array)$event['url'] as $url) {