/** * Add date to the vevent * @param Event $event * @param VEvent $vevent * @param string $name name of property * @param \DateTimeImmutable $date */ private function addDate(Event $event, VEvent $vevent, $name, \DateTimeImmutable $date) { if ($date) { $dtstart = $vevent->add($name, $date); if ($event->isAllDay()) { $dtstart['VALUE'] = 'DATE'; } } }
/** * add event attendee to VEVENT object * * @param \Sabre\VObject\Component\VEvent $vevent * @param Calendar_Model_Event $event */ protected function _addEventAttendee(\Sabre\VObject\Component\VEvent $vevent, Calendar_Model_Event $event) { if (empty($event->attendee)) { return; } Calendar_Model_Attender::resolveAttendee($event->attendee, FALSE, $event); foreach ($event->attendee as $eventAttendee) { $attendeeEmail = $eventAttendee->getEmail(); $parameters = array('CN' => $eventAttendee->getName(), 'CUTYPE' => Calendar_Convert_Event_VCalendar_Abstract::$cutypeMap[$eventAttendee->user_type], 'PARTSTAT' => $eventAttendee->status, 'ROLE' => "{$eventAttendee->role}-PARTICIPANT", 'RSVP' => 'FALSE'); if (strpos($attendeeEmail, '@') !== false) { $parameters['EMAIL'] = $attendeeEmail; } $vevent->add('ATTENDEE', (strpos($attendeeEmail, '@') !== false ? 'mailto:' : 'urn:uuid:') . $attendeeEmail, $parameters); } }