function addEvent($calendarId, $summary, $description, $location, $dataTimeStart, $dataTimeEnd, $email, $accept) { $event = new Google_Service_Calendar_Event(); $event->setSummary($summary); $event->setLocation($location); $event->setDescription($description); $event->setVisibility('public'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($dataTimeStart); $start->setTimeZone('America/Bogota'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($dataTimeEnd); $end->setTimeZone('America/Bogota'); $event->setEnd($end); $reminder1 = new Google_Service_Calendar_EventReminder(); $reminder1->setMethod('email'); $reminder1->setMinutes('55'); $reminder2 = new Google_Service_Calendar_EventReminder(); $reminder2->setMethod('email'); $reminder2->setMinutes('15'); $reminder = new Google_Service_Calendar_EventReminders(); $reminder->setUseDefault('false'); $reminder->setOverrides(array($reminder1, $reminder2)); $event->setReminders($reminder); //$event->setRecurrence(array('RRULE:FREQ=WEEKLY;UNTIL=20110701T170000Z')); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail($email); if ($accept == "true") { $attendee1->setResponseStatus('accepted'); } $attendees = array($attendee1); $event->attendees = $attendees; $optParams = array('sendNotifications' => true, 'maxAttendees' => 1000); /*$creator = new Google_Service_Calendar_EventCreator(); $creator->setDisplayName("UNAD Calendar"); $creator->setEmail("*****@*****.**"); $event->setCreator($creator);*/ $nEvent = $this->service->events->insert($calendarId, $event, $optParams); return $nEvent; }
public function handleTask(&$context) { $entityDataKey = "block_" . $this->getBlockId() . "_eventid"; // Setze das Datum und verwende das RFC 3339 Format. $startDate = $this->get("eventstartdate", $context); $this->addStat('Startdate' . $startDate); $startTime = $this->get("eventstarttime", $context); $this->addStat('Starttime' . $startTime); $parts = explode(':', $startTime); if (count($parts) == 3) { $startTime = $parts[0] . ':' . $parts[1]; } if (strlen($startTime) < 5) { $startTime = "0" . $startTime; } $duration = $this->get("eventduration", $context); $date = strtotime("+" . $duration . " minutes", strtotime($startDate . " " . $startTime)); $endDate = date("Y-m-d", $date); $endTime = date("H:i", $date); $tzOffset = "+01"; $this->init(); if (1 == 0 && $context->existEntityData($entityDataKey)) { $entityId = $context->getEntityData($entityDataKey); try { $event = $service->getCalendarEventEntry($entityId); $when = $service->newWhen(); $when->startTime = "{$startDate}T{$startTime}:00.000{$tzOffset}:00"; $when->endTime = "{$endDate}T{$endTime}:00.000{$tzOffset}:00"; $event->when = array($when); $event->save(); return "yes"; } catch (Zend_Gdata_App_Exception $e) { $this->addStat("existing Event not found. Create new!"); } } $event = new Google_Service_Calendar_Event(); $event->setSummary($this->get("eventtitle", $context)); #$event->setLocation('Somewhere'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime("{$startDate}T{$startTime}:00.000{$tzOffset}:00"); #$start->setTimeZone('America/Los_Angeles'); $event->setStart($start); $event->setDescription($this->get("eventdescr", $context)); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime("{$endDate}T{$endTime}:00.000{$tzOffset}:00"); #$end->setTimeZone('America/Los_Angeles'); $event->setEnd($end); $event->setVisibility($this->get("privacy")); $event = $this->service->events->insert(html_entity_decode($this->get("calendar")), $event); $context->addEntityData($entityDataKey, $event->getId()); $this->storeAccessKey(); return "yes"; }