/** * @param $row - array with : * // minimum for invitation http://www.ietf.org/rfc/rfc5546.txt [Page 20] * SUMMARY * DTSTAMP * DTSTART * DTEND * UID * * // extra params: * * * @param $organizer - array of organizer contain email as attendee and fullname as property column * @param $attendees - array of arrays with attendees (attendee, property) * @return string */ private function renderRowToInvitation($row, $organizer, $attendees) { $status = 'TENTATIVE'; $calendar = new vCalendar(); $calendar->AddProperty("METHOD", "REQUEST"); $event = new vComponent(); $event->SetType("VEVENT"); $event->AddProperty("SUMMARY", $row->summary); $event->AddProperty("DTSTAMP", $row->dtstamp); $event->AddProperty("DTSTART", $row->dtstart); $event->AddProperty("DTEND", $row->dtend); $event->AddProperty("UID", $row->uid); $event->AddProperty("EMAIL", $organizer->attendee); // url //$event->AddProperty("URL", "http://127.0.0.1/public.php?XDEBUG_SESSION_START=14830"); $organizerproperty = null; if (isset($organizer->params) && $organizer->params != null) { $organizerproperty = array('CN' => $organizer->params); } $event->AddProperty("ORGANIZER", 'mailto:' . $organizer->attendee, $organizerproperty); $event->AddProperty("STATUS", $status); foreach ($attendees as $attendee) { $partstat = $attendee->partstat; $attendeePropertyArray = $this->extractParametersToArrayFromProperty($attendee->params); // add partstat from DB $attendeePropertyArray['PARTSTAT'] = $partstat; $event->AddProperty("ATTENDEE", $attendee->attendee, $attendeePropertyArray); } $calendar->AddComponent($event); $result = $calendar->render(); return $result; }