/** * Add an Event to the specified calendar * * @param string $calendarId Calendar's ID in which you want to insert your event * @param datetime $eventStart Event's start date * @param datetime $eventEnd Event's end date * @param string $eventSummary Event's title * @param string $eventDescription Event's description where you should put all your informations * @param array $eventAttendee Event's attendees : to use the invitation system you should add the calendar owner to the attendees * @param array $optionalParams Optional params * * @return object Event */ public function addEvent($calendarId, $eventStart, $eventEnd, $eventSummary, $eventDescription, $eventAttendee, $optionalParams = []) { // Your new GoogleEvent object $event = new \Google_Service_Calendar_Event(); // Set the title $event->setSummary($eventSummary); // Set and format the start date $formattedStart = $eventStart->format(\DateTime::RFC3339); $formattedEnd = $eventEnd->format(\DateTime::RFC3339); $start = new \Google_Service_Calendar_EventDateTime(); $start->setDateTime($formattedStart); $event->setStart($start); $end = new \Google_Service_Calendar_EventDateTime(); $end->setDateTime($formattedEnd); $event->setEnd($end); // Default status for newly created event $event->setStatus('tentative'); // Set event's description $event->setDescription($eventDescription); // Attendees - permit to manage the event's status $attendee = new \Google_Service_Calendar_EventAttendee(); $attendee->setEmail($eventAttendee); $event->attendees = [$attendee]; // Event insert return $this->getCalendarService()->events->insert($calendarId, $event, $optionalParams); }
/** * Permet de supprimer un évènement google * @param $calendarId * @param \Google_Service_Calendar_Event $event * @param bool $sendNotification * @return bool */ public function deleteEventFromGoogle($calendarId, \Google_Service_Calendar_Event $event, $sendNotification = false) { $service = new \Google_Service_Calendar($this->client); try { $service->events->delete($calendarId, $event->getId(), array('sendNotifications' => $sendNotification)); } catch (Exception $e) { return false; } return true; }
public function testModelMutation() { $htmlLink = 'https://www.google.com/calendar/event?' . 'eid=NWdpMmFjNDkzbm5yZzh2N2poZXNhZmdldDggaWFuLmJhcmJlckBt'; $data = json_decode('{ "kind": "calendar#event", "etag": "\\"-kteSF26GsdKQ5bfmcd4H3_-u3g/MTE0NTUyNTAxOTk0MjAwMA\\"", "id": "1234566", "status": "confirmed", "htmlLink": "' . $htmlLink . '", "created": "2006-04-13T14:22:08.000Z", "updated": "2006-04-20T09:23:39.942Z", "summary": "Evening Jolt Q3 CTFL", "description": "6.30 - Adminning\\n9.30 - Game", "creator": { "email": "*****@*****.**", "displayName": "Ian Test", "self": true }, "organizer": { "email": "*****@*****.**", "displayName": "Ian Test", "self": true }, "start": { "date": "2006-04-23" }, "end": { "date": "2006-04-24" }, "iCalUID": "*****@*****.**", "sequence": 0, "reminders": { "useDefault": false } }', true); $event = new Google_Service_Calendar_Event($data); $date = new Google_Service_Calendar_EventDateTime(); date_default_timezone_set('UTC'); $dateString = Date("c"); $summary = "hello"; $date->setDate($dateString); $event->setStart($date); $event->setEnd($date); $event->setSummary($summary); $simpleEvent = $event->toSimpleObject(); $this->assertEquals($dateString, $simpleEvent->start->date); $this->assertEquals($dateString, $simpleEvent->end->date); $this->assertEquals($summary, $simpleEvent->summary); $event2 = new Google_Service_Calendar_Event(); $this->assertNull($event2->getStart()); }
/** * @param AB_Appointment $appointment */ private function handleEventData(AB_Appointment $appointment) { $start_datetime = new Google_Service_Calendar_EventDateTime(); $start_datetime->setDateTime(DateTime::createFromFormat('Y-m-d H:i:s', $appointment->get('start_date'), new DateTimeZone(AB_Utils::getTimezoneString()))->format(DateTime::RFC3339)); $end_datetime = new Google_Service_Calendar_EventDateTime(); $end_datetime->setDateTime(DateTime::createFromFormat('Y-m-d H:i:s', $appointment->get('end_date'), new DateTimeZone(AB_Utils::getTimezoneString()))->format(DateTime::RFC3339)); $service = new AB_Service(); $service->load($appointment->get('service_id')); $description = __('Service', 'bookly') . ": " . $service->get('title') . PHP_EOL; $client_names = array(); foreach ($appointment->getCustomerAppointments() as $ca) { $description .= sprintf("%s: %s\n%s: %s\n%s: %s\n", __('Name', 'bookly'), $ca->customer->get('name'), __('Email', 'bookly'), $ca->customer->get('email'), __('Phone', 'bookly'), $ca->customer->get('phone')); $description .= $ca->getFormattedCustomFields('text'); $description .= PHP_EOL; $client_names[] = $ca->customer->get('name'); } $staff = new AB_Staff(); $staff->load($appointment->get('staff_id')); $title = strtr(get_option('ab_settings_google_event_title', '[[SERVICE_NAME]]'), array('[[SERVICE_NAME]]' => $service->get('title'), '[[CLIENT_NAMES]]' => implode(', ', $client_names), '[[STAFF_NAME]]' => $staff->get('full_name'))); $this->event->setStart($start_datetime); $this->event->setEnd($end_datetime); $this->event->setSummary($title); $this->event->setDescription($description); $extended_property = new Google_Service_Calendar_EventExtendedProperties(); $extended_property->setPrivate(array('customers' => json_encode(array_map(function ($ca) { return $ca->customer->get('id'); }, $appointment->getCustomerAppointments())), 'service_id' => $service->get('id'), 'appointment_id' => $appointment->get('id'))); $this->event->setExtendedProperties($extended_property); }
/** * add event * @param string $class class string(A,B,C,D,E) * @param string $subject event title * @param int $start_timestamp event start timestamp value * @param int $end_timestamp event end timestamp value */ public function addEvent($class, $subject, $start_timestamp, $end_timestamp) { $pd_calendar_id = $this->getPdCalendarId($class); $event = new Google_Service_Calendar_Event(); $event->setSummary($subject); $start_datetime = new Google_Service_Calendar_EventDateTime(); $start_datetime->setDateTime(date('c', $start_timestamp)); $event->setStart($start_datetime); $end_datetime = new Google_Service_Calendar_EventDateTime(); $end_datetime->setDateTime(date('c', $end_timestamp)); $event->setEnd($end_datetime); $reminder = new Google_Service_Calendar_EventReminder(); $reminder->setMethod('popup'); $reminder->setMinutes(10); $reminders = new Google_Service_Calendar_EventReminders(); $reminders->setUseDefault(false); $reminders->setOverrides(array($reminder)); $event->setReminders($reminders); echo "invent insert" . $class . ":" . date('c', $start_timestamp) . ":" . $subject . "\n"; $this->getServiceCalendar()->events->insert($pd_calendar_id, $event); }
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 testModelMutation() { $data = json_decode($this->calendarData, true); $event = new Google_Service_Calendar_Event($data); $date = new Google_Service_Calendar_EventDateTime(); date_default_timezone_set('UTC'); $dateString = Date("c"); $summary = "hello"; $date->setDate($dateString); $event->setStart($date); $event->setEnd($date); $event->setSummary($summary); $simpleEvent = $event->toSimpleObject(); $this->assertEquals($dateString, $simpleEvent->start->date); $this->assertEquals($dateString, $simpleEvent->end->date); $this->assertEquals($summary, $simpleEvent->summary); $event2 = new Google_Service_Calendar_Event(); $this->assertNull($event2->getStart()); }
/** * @param string $calendarId * @param string $summary * @param \DateTimeImmutable $start * @param \DateTimeImmutable $end * @param null|string $description * @return string Event ID in calendar */ public function insertEvent($calendarId, $summary, \DateTimeImmutable $start, \DateTimeImmutable $end, $description = null) { $event = new \Google_Service_Calendar_Event(); $event->setSummary($summary); $eventStart = new \Google_Service_Calendar_EventDateTime(); $eventStart->setDateTime($start->format('c')); $event->setStart($eventStart); $eventEnd = new \Google_Service_Calendar_EventDateTime(); $eventEnd->setDateTime($end->format('c')); $event->setEnd($eventEnd); $event->setDescription($description); $createdEvent = $this->service->events->insert($calendarId, $event); return $createdEvent->id; }
public function registrarEvento() { require_once 'complements/Google/Client.php'; require_once 'complements/Google/Service/Calendar.php'; session_start(); $client = new Google_Client(); $client->setApplicationName("Google Calendar PHP Starter Application"); // Visit https://code.google.com/apis/console?api=calendar to generate your // client id, client secret, and to register your redirect uri. $client->setClientId('1027408579728-fomlujink6upq6e1j2fu7nb4tu1frqq7.apps.googleusercontent.com'); $client->setClientSecret('BTzww96MUByc_Ibsy2xX0asR'); $client->setRedirectUri('http://www.hostf5.com.br/f5admin/agenda/redirect'); $client->setDeveloperKey('AIzaSyB9AHH2apXJ7RJ25m5n2yLEMyhKOKA6sMU'); $client->setScopes(array('https://www.googleapis.com/auth/plus.me', 'https://www.googleapis.com/auth/userinfo.email', 'https://www.googleapis.com/auth/userinfo.profile', 'https://www.googleapis.com/auth/calendar', 'https://www.googleapis.com/auth/calendar.readonly')); $cal = new Google_Service_Calendar($client); if (isset($_GET['logout'])) { unset($_SESSION['token']); } if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['token'] = $client->getAccessToken(); header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); } if (isset($_SESSION['token'])) { $client->setAccessToken($_SESSION['token']); } if ($client->getAccessToken()) { $event = new Google_Service_Calendar_Event(); $event->setSummary($title); $event->setLocation($location); $start = new Google_Service_Calendar_EventDateTime(); $start->setTimeZone('America/Montreal'); $start->setDateTime($date . 'T' . $startTime . ':00.000-06:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setTimeZone('America/Montreal'); $end->setDateTime($date . 'T' . $endTime . ':00.000-06:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail($email); $attendees = array($attendee1); $event->attendees = $attendees; $cal->events->insert($email, $event); $_SESSION['token'] = $client->getAccessToken(); } else { $authUrl = $client->createAuthUrl(); print "<a class='login' href='{$authUrl}'>Connect me!</a>"; } }
/** * Book a specific range of dates. A start date and end date * combination is provided. If the dates free, the dates * are marked as booked. The range is inclusive. * @param service the service which the API is * called through * @param summary - the title of the event * @param date_start the start date of the event * @param date_end the end date of the event * @return nothing */ function bookDates($service, $summary, $date_start, $date_end) { $calendarId = '*****@*****.**'; date_default_timezone_set('Europe/Berlin'); $event = new Google_Service_Calendar_Event(); $event->setSummary($summary); // $event->setLocation('At the orchard'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($date_start); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($date_end); $event->setEnd($end); $createdEvent = $service->events->insert($calendarId, $event); }
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"; }
<?php if (isset($_POST["date"]) || isset($_POST["hr"]) || isset($_POST["min"]) || isset($_POST["eventTitle"]) || isset($_POST["endmin"]) || isset($_POST["endhr"])) { $date = $_POST["date"]; $hr = $_POST["hr"]; $min = $_POST["min"]; $eventTitle = $_POST["eventTitle"]; $ampm = $_POST["ampm"]; $endampm = $_POST["endampm"]; $endhr = $_POST["endhr"]; $endmin = $_POST["endmin"]; $calendar = $service->calendars->get('primary'); $email = $calendar->getSummary(); if ($ampm == 'PM') { $hr += 12; } $event = new Google_Service_Calendar_Event(); // $event->setSummary($eventTitle); // // $start = new Google_Service_Calendar_EventDateTime(); // //5 establishes eastern time // $start->setDateTime("2015-01-04T'T' . $hr . ':' . $min . ':00.000-05:00'); // $event->setStart($start); // $end = new Google_Service_Calendar_EventDateTime(); // $end->setDateTime($date . 'T' . $endhr . ':' . $endmin . ':00.000-05:00'); // $event->setEnd($end); $event->setSummary("hello"); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime('2015-01-03T10:22:00.000-05:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime('2015-01-05T10:25:00.000-05:00');
/** * The customerCreate method prepares data for Stripe_Customer::create and attempts to * create a customer. * * @param array $data The data passed directly to Stripe's API. * @return array $customer if success, string $error if failure. */ public function updateEvent($data) { $client = new Google_Client(); $client->setApplicationName("Plat"); $key = file_get_contents($this->googleApiKeyFile); // separate additional scopes with a comma $scopes = "https://www.googleapis.com/auth/calendar"; //$client->setScopes(array($scopes)); $cred = new Google_Auth_AssertionCredentials($this->googleEmailAddress, array($scopes), $key); $client->setAssertionCredentials($cred); if ($client->getAuth()->isAccessTokenExpired()) { $client->getAuth()->refreshTokenWithAssertion($cred); } $service = new Google_Service_Calendar($client); $event = new Google_Service_Calendar_Event(); //$event->setId($data['eventId']); $event->setSummary($data['eventSummary']); $event->setDescription($data['eventDescription']); $event->setLocation($data['eventLocation']); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($data['eventStartDate']); $start->setTimeZone($data['eventTimeZone']); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($data['eventEndDate']); $end->setTimeZone($data['eventTimeZone']); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail(Configure::read("ADMIN_ORDER_EVENT_EMAIL")); $attendees = array($attendee1); $event->attendees = $attendees; $event->setSequence(Configure::read("GOOGLE_CALENDAR_API_SEQUENCE")); $calendar_id = Configure::read("GOOGLE_CALENDAR_ID"); try { $updateEvent = $service->events->update($calendar_id, $data['eventId'], $event); // $new_event_status = $updateEvent->getStatus(); return $new_event_status; } catch (Google_Service_Exception $e) { syslog(LOG_ERR, $e->getMessage()); return $e->getMessage(); } }
/** * Saves event * * @param DateTime booking start * @param DateTime booking end * @param array additional booking details * @param string calendarId of the calendar to save it to * @return boolean success or failure */ public function saveEvent($start_date, $end_date, $details, $calendarId) { if ($this->authorised()) { // get memeber details so we can build the title $this->Member = new Member(); $member = $this->Member->getMemberSummaryForMember($details['member'], false); // build the parts of the event $title = $member['Member']['firstname'] . " " . $member['Member']['surname']; $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($start_date->format(self::DATETIME_STR)); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($end_date->format(self::DATETIME_STR)); // set up the event $event = new Google_Service_Calendar_Event(); $event->setSummary($title); $event->setDescription(json_encode($details)); $event->setStart($start); $event->setEnd($end); // send it to google $created = $this->__service->events->insert($calendarId, $event); if ($created->getId()) { return true; } return false; } }
public function addEvent($recordid, $Data, $tzOffset) { set_include_path($this->root_directory . "modules/Calendar4You/"); $startDate = $Data["date_start"]; $endDate = $Data["due_date"]; global $default_timezone; $startTime = $Data["time_start"]; $endTime = $Data["time_end"]; $event = new Google_Service_Calendar_Event(); $event->setSummary(trim($Data["subject"])); $event->setDescription($Data["description"]); $event->setLocation(trim($Data["location"])); $start = new Google_Service_Calendar_EventDateTime(); if (strlen($startTime) > 6) { $start->setDateTime($startDate . 'T' . $this->removeLastColon($startTime) . ':00.000'); } else { $start->setDateTime($startDate . 'T' . $this->removeLastColon($startTime) . ':00:00.000'); } $start->setTimeZone("{$default_timezone}"); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); if (strlen($endTime) > 6) { $end->setDateTime($endDate . 'T' . $this->removeLastColon($endTime) . ':00.000'); } else { $end->setDateTime($endDate . 'T' . $this->removeLastColon($endTime) . ':00:00.000'); } $end->setTimeZone("{$default_timezone}"); $event->setEnd($end); $SendEventNotifications = new Google_Service_Calendar_EventReminders(); //$SendEventNotifications->setValue(true); $event->setReminders($SendEventNotifications); $whos = $this->getInvitedUsersEmails($event, $recordid); if (count($whos) > 0) { $event->attendees = $whos; } // $appCallUri = ""; // // foreach ($this->gListFeed as $calendar) { // if ($calendar->id == $this->selected_calendar) $appCallUri = $calendar->content->src; // } try { $createdEvent = $this->gService->events->insert($this->selected_calendar, $event); $eventid = urldecode($createdEvent->getId()); } catch (Exception $e) { $status = null; } set_include_path($this->root_directory); return $eventid; }
public function CUST_customercalendercreation1($calPrimary,$custid,$startdate,$startdate_starttime,$startdate_endtime,$enddate,$enddate_starttime,$enddate_endtime,$firstname,$lastname,$mobile,$intmobile,$office,$customermailid,$unit,$roomtype,$unitrmtype) { try{ $calId=$this->GetEICalendarId(); $initialsdate=$startdate; $initialedate=$enddate; $calendername= $firstname.' '.$lastname; $contactno=""; $contactaddr=""; if($mobile!=null) {$contactno=$mobile;} else if($intmobile!=null) {$contactno=$intmobile;} else if($office!=null) {$contactno=$office;} if($contactno!=null && $contactno!="") { $contactaddr=$custid." "."EMAIL :".$customermailid.",CONTACT NO :".$contactno; } else { $contactaddr=$custid." "."EMAIL :".$customermailid; } if($unitrmtype!="") { $details =$unit. " " . $calendername . " " .$unitrmtype." ". "CHECKIN"; } else { $details =$unit. " " . $calendername . " " . "CHECKIN"; } $details1 =$unit. " " .$roomtype ; if($initialsdate!="") { $event = new Google_Service_Calendar_Event(); $startevents=$this->CalenderTime_Convertion($startdate, $startdate_starttime, $startdate_endtime); $event->setStart($startevents[0]); $event->setEnd($startevents[1]); $event->setDescription($contactaddr); $event->setLocation($details1); $event->setSummary($details); $createdEvent = $calPrimary->events->insert($calId, $event); // to create a event } $endevents=$this->CalenderTime_Convertion($enddate,$enddate_starttime,$enddate_endtime); $detailsend =$unit. " " . $calendername . " " . "CHECKOUT"; $detailsend1 =$unit. " " .$roomtype ; if($initialedate!="") { $event = new Google_Service_Calendar_Event(); $event->setStart($endevents[0]); $event->setEnd($endevents[1]); $event->setDescription($contactaddr); $event->setLocation($detailsend1); $event->setSummary($detailsend); $createdEvent = $calPrimary->events->insert($calId, $event); // to create a event } return 1; } catch(Exception $e){ return $e->getMessage(); } }
/** * Insert the google data into the model * * @param \Google_Service_Calendar_Event $eventItem * @param \KevinDitscheid\KdCalendar\Domain\Model\Event $event * * @return \KevinDitscheid\KdCalendar\Domain\Model\Event */ public static function convert($eventItem, $event = NULL) { if ($event === NULL) { $event = new \KevinDitscheid\KdCalendar\Domain\Model\Event(); } $event->setId($eventItem->getId()); $event->setDescription($eventItem->getDescription()); $event->setSummary($eventItem->getSummary()); $event->setColorId($eventItem->getColorId()); $event->setStatus($eventItem->getStatus()); $event->setVisibility($eventItem->getVisibility()); $event->setEndTimeUnspecified($eventItem->getEndTimeUnspecified()); $event->setAnyoneCanAddSelf($eventItem->getAnyoneCanAddSelf()); $event->setHtmlLink($eventItem->getHtmlLink()); $event->setICalUID($eventItem->getICalUID()); $event->setAttendeesOmitted($eventItem->getAttendeesOmitted()); //$event->setExtendedProperties($eventItem->getExtendedProperties()); $event->setGuestsCanInviteOthers($eventItem->getGuestsCanInviteOthers()); $event->setGuestsCanSeeOtherGuests($eventItem->getGuestsCanSeeOtherGuests()); $event->setHangoutLink($eventItem->getHangoutLink()); $event->setLocation($eventItem->getLocation()); $event->setLocked($eventItem->getLocked()); $event->setPrivateCopy($eventItem->getPrivateCopy()); $event->setRecurrence($eventItem->getRecurrence()); $event->setRecurringEventId($eventItem->getRecurringEventId()); $event->setSequence($eventItem->getSequence()); $event->setAttachments(new \TYPO3\CMS\Extbase\Persistence\ObjectStorage()); foreach ($eventItem->getAttachments() as $attachment) { $event->addAttachment(\KevinDitscheid\KdCalendar\Domain\Model\Attachment::convert($attachment)); } $event->setAttendees(new \TYPO3\CMS\Extbase\Persistence\ObjectStorage()); foreach ($eventItem->getAttendees() as $attendee) { $event->addAttendee(\KevinDitscheid\KdCalendar\Domain\Model\Attendees::convert($attendee)); } if ($eventItem->getCreator()) { $event->setCreator(\KevinDitscheid\KdCalendar\Domain\Model\Creator::convert($eventItem->getCreator(), $event->getCreator())); } else { $event->setCreator(NULL); } if ($eventItem->getGadget()) { $event->setGadget(\KevinDitscheid\KdCalendar\Domain\Model\Gadget::convert($eventItem->getGadget(), $event->getGadget())); } else { $event->setGadget(NULL); } if ($eventItem->getStart()) { $event->setStart(\KevinDitscheid\KdCalendar\Domain\Model\Time::convert($eventItem->getStart(), $event->getStart())); } else { $event->setStart(NULL); } if ($eventItem->getEnd()) { $event->setEnd(\KevinDitscheid\KdCalendar\Domain\Model\Time::convert($eventItem->getEnd(), $event->getEnd())); } else { $event->setEnd(NULL); } if ($eventItem->getOriginalStartTime()) { $event->setOriginalStartTime(\KevinDitscheid\KdCalendar\Domain\Model\Time::convert($eventItem->getOriginalStartTime(), $event->getOriginalStartTime())); } else { $event->setOriginalStartTime(NULL); } if ($eventItem->getOrganizer()) { $event->setOrganizer(\KevinDitscheid\KdCalendar\Domain\Model\Organizer::convert($eventItem->getOrganizer(), $event->getOrganizer())); } else { $event->setOrganizer(NULL); } $event->setReminders(new \TYPO3\CMS\Extbase\Persistence\ObjectStorage()); $reminders = $eventItem->getReminders(); if ($reminders) { $event->setUseDefaultReminder($reminders->getUseDefault()); foreach ($reminders->getOverrides() as $reminder) { $event->addReminder(\KevinDitscheid\KdCalendar\Domain\Model\Reminder::convert($reminder)); } } $source = $eventItem->getSource(); $event->setSourceTitle($source['title']); $event->setSourceUrl($source['url']); return $event; }
public function CUST_customercalendercreation_StartDate($servicedoc,$calId,$calPrimary,$calevents,$custid,$firstname,$lastname,$mobile,$intmobile,$office,$customermailid,$unit,$unitrmtype) { try{ $folderIdCustomer=$this->Mdl_eilib_calender->getcustomerfileid($servicedoc,$custid); for($k=0;$k<count($calevents);$k++) { $attachments=[]; $Events=explode(',',$calevents[$k]); if($Events[5]=="CHECKIN"){ for($j=0;$j<count($folderIdCustomer)&&count($folderIdCustomer)>0;$j++){ $servicedoc= $this->Mdl_eilib_common_function->get_service_document(); $file = $servicedoc->files->get($folderIdCustomer[$j]); $attachments[]= array( 'fileUrl' => $file->alternateLink, 'mimeType' => $file->mimeType, 'title' => $file->title );}} $initialsdate = $Events[2]; $calendername = $firstname . ' ' . $lastname; $contactno = ""; $contactaddr = ""; if ($mobile != null) { $contactno = $mobile; } else if ($intmobile != null) { $contactno = $intmobile; } else if ($office != null) { $contactno = $office; } if ($contactno != null && $contactno != "") { $contactaddr = $custid . " " . "EMAIL :" . $customermailid . ",CONTACT NO :" . $contactno; } else { $contactaddr = $custid . " " . "EMAIL :" . $customermailid; } if ($Events[1] != "") { $details = $Events[0] . " " . $calendername . " " . $Events[1] . " " . $Events[5]; } else { $details = $Events[0] . " " . $calendername . " " . $Events[5]; } $details1 = $Events[0] . " " . $Events[1]; if ($initialsdate != "") { $event = new Google_Service_Calendar_Event(); $startevents = $this->CalenderTime_Convertion($Events[2], $Events[3], $Events[4]); $event->setStart($startevents[0]); $event->setEnd($startevents[1]); $event->setDescription($contactaddr); $event->setLocation($details1); $event->setSummary($details); if(count($folderIdCustomer)>0 && $Events[5]=="CHECKIN") { $event->setAttachments($attachments); $createdEvent = $calPrimary->events->insert($calId, $event,array('supportsAttachments' => TRUE)); // to create a event }else{ $createdEvent = $calPrimary->events->insert($calId, $event); } } } return 1; } catch(Exception $e){ return $e->getMessage(); } }
foreach ($results->getItems() as $event) { $response[] = array("start" => $event->start->dateTime, "end" => $event->end->dateTime, "location" => $event->location, "summary" => $event->summary, "description" => $event->description); } echo json_encode($response); } else { if ($method === "post") { $spreadsheet = $spreadsheetFeed->getByTitle('SSBCSJ - Birthday Bhajan Signup'); $registrationFeed = $spreadsheet->getWorksheets()->getByTitle("Signup Requests 2016")->getListFeed(); $value = array(); $propertiesToCopy = array("city", "date", "name", "email", "phone", "address", "comments"); $value["timestamp"] = date("n/j/Y H:i:s"); foreach ($propertiesToCopy as $property) { $value[$property] = trim($_REQUEST[$property]); } $registrationFeed->insert($value); $event = new Google_Service_Calendar_Event(); $name = $_REQUEST["name"]; $address = $_REQUEST["address"]; $email = $_REQUEST["email"]; $date = $_REQUEST["date"]; $comments = $_REQUEST["comments"]; $phone = $_REQUEST["phone"]; $event->setSummary("SSBCSJ Birthday Bhajan - Residence of {$name}"); $event->setLocation($address); $description = <<<EOD Format: 3 OMs 3 Gayatris 108 Names of Sathya Sai 9 Bhajans
/** * Tarsform Vtiger Records to Google Records * @param <array> $vtEvents * @return <array> tranformed vtiger Records */ public function transformToTargetRecord($vtEvents) { $records = array(); foreach ($vtEvents as $vtEvent) { $newEvent = new Google_Service_Calendar_Event(); if ($vtEvent->getMode() == WSAPP_SyncRecordModel::WSAPP_DELETE_MODE) { $newEvent->setId($vtEvent->get('_id')); } elseif ($vtEvent->getMode() == WSAPP_SyncRecordModel::WSAPP_UPDATE_MODE && $vtEvent->get('_id')) { if ($this->apiConnection->isTokenExpired()) { $this->apiConnection->refreshToken(); $this->client->setAccessToken($this->apiConnection->getAccessToken()); $this->service = new Google_Service_Calendar($this->client); } $newEvent = $this->service->events->get('primary', $vtEvent->get('_id')); } $newEvent->setSummary($vtEvent->get('subject')); $newEvent->setLocation($vtEvent->get('location')); $newEvent->setDescription($vtEvent->get('description')); $newEvent->setVisibility(strtolower($vtEvent->get('visibility'))); $startDate = $vtEvent->get('date_start'); $startTime = $vtEvent->get('time_start'); $endDate = $vtEvent->get('due_date'); $endTime = $vtEvent->get('time_end'); if (empty($endTime)) { $endTime = "00:00"; } $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($this->googleFormat($startDate . ' ' . $startTime)); $newEvent->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($this->googleFormat($endDate . ' ' . $endTime)); $newEvent->setEnd($end); $recordModel = Google_Calendar_Model::getInstanceFromValues(array('entity' => $newEvent)); $recordModel->setType($this->getSynchronizeController()->getSourceType())->setMode($vtEvent->getMode())->setSyncIdentificationKey($vtEvent->get('_syncidentificationkey')); $recordModel = $this->performBasicTransformations($vtEvent, $recordModel); $recordModel = $this->performBasicTransformationsToTargetRecords($recordModel, $vtEvent); $records[] = $recordModel; } return $records; }
public function createEvent($calendarID, array $eventData) { $event = new Google_Service_Calendar_Event(); $event->setSummary($eventData['summary']); $event->setLocation($eventData['location']); $event->setDescription($eventData['description']); $start = new Google_Service_Calendar_EventDateTime(); //$start->setDateTime('2014-9-30T10:00:00.000-05:00'); if (!isset($eventData['startDatetime'])) { $start->setDateTime($eventData['startDate'] . 'T' . $eventData['startTime']); } else { $start->setDateTime($eventData['startDateTime']); } $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); //$end->setDateTime('2014-9-30T10:25:00.000-05:00'); if (!isset($eventData['endDateTime'])) { $end->setDateTime($eventData['endDate'] . 'T' . $eventData['endTime']); } else { $end->setDateTime($eventData['startDateTime']); } $event->setEnd($end); $createdEvent = $this->service->events->insert($calendarID, $event); return $createdEvent->getID(); }
/** * Converts a Google Calendar Event into a standard Event object. * * @param \Google_Service_Calendar_Event $googleEvent * * @return Event */ private function createEventObject(\Google_Service_Calendar_Event $googleEvent) { /* * If dateTime property is set on the google object, * then the event is not all day */ if ($googleEvent->getStart()->dateTime) { $allDay = false; $start = $googleEvent->getStart()->dateTime; $end = $googleEvent->getEnd()->dateTime; } else { $allDay = true; $start = $googleEvent->getStart()->date; $end = $googleEvent->getEnd()->date; } /* * Create the new event object */ $event = new Event(['calendar_id' => $this->calendarId, 'id' => $googleEvent->getId(), 'parent_id' => $googleEvent->getRecurringEventId(), 'title' => $googleEvent->getSummary(), 'description' => $googleEvent->getDescription(), 'location' => $googleEvent->getLocation(), 'status' => $googleEvent->getStatus(), 'start' => $start, 'end' => $end, 'all_day' => $allDay, 'rrule' => $googleEvent->getRecurrence() ? $googleEvent->getRecurrence()[0] : null, 'isRecurrence' => $googleEvent->recurringEventId ? true : false]); /* * Assign the api object */ $event->apiObject = $googleEvent; $attendees = []; /* * Assign each attendee their own object */ if (count($googleEvent->getAttendees()) > 0) { foreach ($googleEvent->getAttendees() as $attendee) { $attendees[] = $this->createAttendeeObject($attendee, $event); } } /* * Assign the event attendees */ $event->attendees = $attendees; return $event; }
<?php require_once dirname(__FILE__) . '/lib/autoloader.php'; // config parse $pd_config = new PdConfig(); if ($pd_config->hasErrors()) { echo $pd_config->getErrorMessageText(); exit(1); } $pd_calendar = new PdCalendar(); $pd_calendar->setAuthEmail($pd_config->getGcalAuthEmail()); $pd_calendar->setP12Key(file_get_contents($pd_config->getGcalP12KeyfilePath())); $subject = 'イベント登録テスト'; $start_timestamp = strtotime('2015-04-09 07:00'); $end_timestamp = strtotime('2015-04-09 08:00'); $event = new Google_Service_Calendar_Event(); $event->setSummary($subject); $start_datetime = new Google_Service_Calendar_EventDateTime(); $start_datetime->setDateTime(date('c', $start_timestamp)); $event->setStart($start_datetime); $end_datetime = new Google_Service_Calendar_EventDateTime(); $end_datetime->setDateTime(date('c', $end_timestamp)); $event->setEnd($end_datetime); $reminder = new Google_Service_Calendar_EventReminder(); $reminder->setMethod('popup'); $reminder->setMinutes(13); $reminders = new Google_Service_Calendar_EventReminders(); $reminders->setUseDefault(false); $reminders->setOverrides(array($reminder)); $event->setReminders($reminders); echo "invent insert" . ":" . date('c', $start_timestamp) . ":" . $subject . "\n";
private function update_event_on_google_calendar($event, $ext_calendar, $ext_user, $service) { $insert_event = false; //update event if ($event->getSpecialID() != "") { //First retrieve the event from the google API. try { $newEvent = $service->events->get($ext_calendar->getOriginalCalendarId(), $event->getSpecialID()); } catch (Exception $e) { Logger::log("Fail to get event from google: " . $event->getId()); Logger::log($e->getMessage()); throw $e; } } //insert event if (!$newEvent instanceof Google_Service_Calendar_Event) { //create google event $newEvent = new Google_Service_Calendar_Event(); $insert_event = true; } $newEvent->setSummary($event->getObjectName()); $newEvent->setDescription($event->getDescription()); $start = new Google_Service_Calendar_EventDateTime(); $end = new Google_Service_Calendar_EventDateTime(); //All day event if ($event->getTypeId() == 2) { $star_time = date("Y-m-d", $event->getStart()->getTimestamp()); $end_time = date("Y-m-d", $event->getDuration()->getTimestamp()); $start->setDate($star_time); $end->setDate($end_time); } else { $star_time = date(DATE_RFC3339, $event->getStart()->getTimestamp()); $end_time = date(DATE_RFC3339, $event->getDuration()->getTimestamp()); $start->setDateTime($star_time); $end->setDateTime($end_time); } $newEvent->setStart($start); $newEvent->setEnd($end); try { if ($insert_event) { // insert event $createdEvent = $service->events->insert($ext_calendar->getOriginalCalendarId(), $newEvent); } else { // update event $createdEvent = $service->events->update($ext_calendar->getOriginalCalendarId(), $newEvent->getId(), $newEvent); } } catch (Exception $e) { Logger::log("Fail to add event: " . $event->getId()); Logger::log($e->getMessage()); throw $e; } $event->setSpecialID($createdEvent->getId()); $event->setUpdateSync(ExternalCalendarController::date_google_to_sql($createdEvent->getUpdated())); $event->setExtCalId($ext_calendar->getId()); $event->save(); $invitation = EventInvitations::findOne(array('conditions' => array('contact_id = ' . $ext_user->getContactId() . ' AND event_id =' . $event->getId()))); if ($invitation) { $invitation->setUpdateSync(ExternalCalendarController::date_google_to_sql($createdEvent->getUpdated())); $invitation->setSpecialId($createdEvent->getId()); $invitation->save(); } }
/** * Creates a simple dummy event with a duration of 1 hour * @param string $calendar_id calendar ID * @param int $date_from_ts Unix TS, from date * @param string $name event name * @return error code */ public function createDummyEvent($calendar_id, $date_from_ts, $name) { $init_res = $this->initService(); if ($init_res != self::NO_ERRORS) { return array($init_res, null); } $date_to_ts = $date_from_ts + 3600; $location = 'Elsewhere'; $event = new Google_Service_Calendar_Event(); $event->setSummary($name); $event->setLocation($location); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime(date('c', $date_from_ts)); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime(date('c', $date_to_ts)); $event->setEnd($end); try { $createdEvent = $this->service->events->insert($calendar_id, $event); return self::NO_ERRORS; } catch (Exception $e) { return self::EVENT_CREATION_ERROR; } return $createdEvent; }
# 先假設不存在 // 若 title, 起始時間, 結束時間相等,則判斷 event 存在 foreach ($cal_current_events as $event) { if ($event["title"] == $data["title"] && $event["start"] == $data["start"] && $event["end"] == $data["end"]) { $exist_check = true; # 判斷成立 break; } } // 若 event 已存在的話,跳過進行下一個迴圈 if ($exist_check) { echo $data["title"] . "事件已存在<br>\n"; continue; } // 將 event 寫入 calendar 內 $event = new Google_Service_Calendar_Event(); $event->setSummary($data["title"]); // 事件標題 $event->setLocation($data["where"]); // 事件地點 $event->setDescription($data["desc"]); // 備註 $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($data["start"]); $event->setStart($start); // 事件起始時間 $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($data["end"]); $event->setEnd($end); // 事件結束時間 $createdEvent = $service->events->insert($calendar_id, $event);
/** * @param User $user * @param $time * @param $summary * @param $description * * @return bool */ public function schedule(User $user, $time, $summary, $description) { $client = $this->getAuthenticateClient($user); $service = new \Google_Service_Calendar($client); /** * @var \Google_Service_Calendar_Event[] $events */ $events = []; $total = $time; $step = $time > 10 ? 10 : $time; $count = 0; $id = rand(11111111, 99999999); while ($total > 0 && $step > 1) { $start = $this->getNextAvaliableSchedule($client, $step); if (is_null($start)) { $step--; continue; } $event = new \Google_Service_Calendar_Event(); $eventStart = new \Google_Service_Calendar_EventDateTime(); $eventStart->setDateTime($start->format(\DateTime::RFC3339)); $event->setStart($eventStart); $eventEnd = new \Google_Service_Calendar_EventDateTime(); $end = new \DateTime('@' . $start->getTimestamp()); $end->modify('+' . $step * 60 . ' minute'); $eventEnd->setDateTime($end->format(\DateTime::RFC3339)); $event->setEnd($eventEnd); $event->setId($id . $count++); $event->setSummary($summary); $event->setDescription($description); $events[] = $event; $total -= $step; $step = $step < $total ? $step : $total; $service->events->insert('primary', $event); } if ($total > 0) { foreach ($events as $event) { $service->events->delete('primary', $event->getId()); } return false; } return $events; }
public function addEventAfterReservation($hours_array, $client_id, $resDate, $reservation_id, $reserve_type) { $hour_id = $hours_array['hours_id']; $choosen_places = $hours_array['choosen_places']; $direction_id = $hours_array['dirID']; $instructorCursor = Dispatcher::$mysqli->query("select * from instructor join instructor_has_hours " . "on instructor.`Person_id`=instructor_has_hours.instructor_id " . "where instructor_has_hours.hours_id={$hour_id}"); $instructorRow = $instructorCursor->fetch_assoc(); $defaultInstructorID = $instructorRow['Person_id']; $defaultInstructorCalendarID = $instructorRow['calendar_id']; $clientCursor = Dispatcher::$mysqli->query("select * from person where id={$client_id}"); $clientRow = $clientCursor->fetch_assoc(); $hourCursor = Dispatcher::$mysqli->query("select *, voucher_info.`name` as voucherName from hours_to_display " . "join voucher_info on hours_to_display.during_type=voucher_info.`type` " . "where hours_to_display.id={$hour_id}"); $hourRow = $hourCursor->fetch_assoc(); $event = new Google_Service_Calendar_Event(); $event->setSummary($choosen_places . " " . $hourRow['voucherName']); $event->setLocation('Saska, Praha 1'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($resDate . 'T' . $hourRow['hour_from'] . ':00.000+02:00'); $start->setTimeZone('Europe/Prague'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($resDate . 'T' . $hourRow['hour_to'] . ':00.000+02:00'); $end->setTimeZone('Europe/Prague'); $event->setEnd($end); $event->description = $clientRow['name'] . "\n" . $clientRow['email'] . "\n" . $clientRow['telefone'] . "\n" . $choosen_places . "\n\n"; try { $new_event = $this->google_api_service->events->insert($defaultInstructorCalendarID, $event); $new_event_id = $new_event->getId(); Dispatcher::$mysqli->query("insert into event(clndr_event_id, `instructor_Person_id`, hours_id, date, has_changes) " . "values ('{$new_event_id}', '{$defaultInstructorID}', '{$hour_id}', '{$resDate}', 0)"); Dispatcher::$mysqli->query("insert into reservation_has_hours (reservation_id, `Person_id`, hours_id, " . "directions_en_id, " . "choosen_places, " . "date, reserve_type, event_clndr_event_id) " . "values ({$reservation_id}, {$client_id}, {$hour_id}, '{$direction_id}', {$choosen_places}, '{$resDate}', '{$reserve_type}', '{$new_event_id}')"); } catch (Google_Service_Exception $e) { echo '<pre>'; print_r($e); syslog(LOG_ERR, $e->getMessage()); } print_r(Dispatcher::$mysqli->error); }
public function onRaidCreate($aRaidId) { if ($this->authenticate()) { // Query the given raid, make sure we include canceled and closed // raids $Parameters = array('raid' => $aRaidId, 'canceled' => true, 'closed' => true); $RaidResult = Api::queryRaid($Parameters); if (count($RaidResult) > 0) { // As we specified a specific raid id, we are only // interested in the first (and only) raid. // Cache and set UTC timezone just to be sure. $Raid = $RaidResult[0]; $LocationName = $this->mLocations[$Raid['LocationId']]; $Url = getBaseURL() . 'index.php#raid,' . $aRaidId; $Timezone = date_default_timezone_get(); try { date_default_timezone_set('UTC'); $Start = new Google_Service_Calendar_EventDateTime(); $Start->setDateTime(date($this->mDateFormat, intval($Raid['Start']))); $Start->setTimeZone('UTC'); $End = new Google_Service_Calendar_EventDateTime(); $End->setDateTime(date($this->mDateFormat, intval($Raid['End']))); $End->setTimeZone('UTC'); $Properties = new Google_Service_Calendar_EventExtendedProperties(); $Properties->setShared(array('RaidId' => $aRaidId)); $Source = new Google_Service_Calendar_EventSource(); $Source->setTitle('Raidplaner link'); $Source->setUrl($Url); $Event = new Google_Service_Calendar_Event(); $Event->setSummary($LocationName . ' (' . $Raid['Size'] . ')'); $Event->setLocation($LocationName); $Event->setDescription($Raid['Description']); $Event->setOriginalStartTime($Start); $Event->setStart($Start); $Event->setEnd($End); $Event->setExtendedProperties($Properties); $Event->setSource($Source); $this->mCalService->events->insert(GOOGLE_CAL_ID, $Event); } catch (Exception $Ex) { $Out = Out::getInstance(); $Out->pushError($Ex->getMessage()); } date_default_timezone_set($Timezone); } } }
public function updateGoogleCalendarEvent($action) { try { // catch google exceptions so the whole app doesn't crash if google has a problem syncing $admin = Yii::app()->settings; if ($admin->googleIntegration) { if (isset($this->syncGoogleCalendarId) && $this->syncGoogleCalendarId) { // // Google Calendar Libraries // $timezone = date_default_timezone_get(); // require_once "protected/extensions/google-api-php-client/src/Google_Client.php"; // require_once "protected/extensions/google-api-php-client/src/contrib/Google_Service_Calendar.php"; // date_default_timezone_set($timezone); // // $client = new Google_Client(); // $client->setClientId($admin->googleClientId); // $client->setClientSecret($admin->googleClientSecret); // //$client->setDeveloperKey($admin->googleAPIKey); // $client->setAccessToken($this->syncGoogleCalendarAccessToken); // $client->setUseObjects(true); // return objects instead of arrays // $googleCalendar = new Google_Service_Calendar($client); $auth = new GoogleAuthenticator(); $googleCalendar = $auth->getCalendarService(); // check if the access token needs to be refreshed // note that the google library automatically refreshes the access token if we need a new one, // we just need to check if this happend by calling a google api function that requires authorization, // and, if the access token has changed, save this new access token $testCal = $googleCalendar->calendars->get($this->syncGoogleCalendarId); // if($this->syncGoogleCalendarAccessToken != $client->getAccessToken()){ // $this->syncGoogleCalendarAccessToken = $client->getAccessToken(); // $this->update(array('syncGoogleCalendarAccessToken')); // } $summary = $action->actionDescription; if ($action->associationType == 'contacts' || $action->associationType == 'contact') { $summary = $action->associationName . ' - ' . $action->actionDescription; } $event = $googleCalendar->events->get($this->syncGoogleCalendarId, $action->syncGoogleCalendarEventId); if (is_array($event)) { $event = new Google_Service_Calendar_Event($event); } $event->setSummary($summary); if (empty($action->dueDate)) { $action->dueDate = time(); } if ($action->allDay) { $start = new Google_Service_Calendar_EventDateTime(); $start->setDate(date('Y-m-d', $action->dueDate)); $event->setStart($start); if (!$action->completeDate) { $action->completeDate = $action->dueDate; } $end = new Google_Service_Calendar_EventDateTime(); $end->setDate(date('Y-m-d', $action->completeDate + 86400)); $event->setEnd($end); } else { $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime(date('c', $action->dueDate)); $event->setStart($start); if (!$action->completeDate) { $action->completeDate = $action->dueDate; } // if no end time specified, make event 1 hour long $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime(date('c', $action->completeDate)); $event->setEnd($end); } if ($action->color && $action->color != '#3366CC') { $colorTable = array(10 => 'Green', 11 => 'Red', 6 => 'Orange', 8 => 'Black'); if (($key = array_search($action->color, $colorTable)) != false) { $event->setColorId($key); } } $newEvent = $googleCalendar->events->update($this->syncGoogleCalendarId, $action->syncGoogleCalendarEventId, $event); } } } catch (Exception $e) { } }