/** * Create a Google_Service_Calendar_EventDateTime * * var $time String * return Google_Service_Calendar_EventDateTime */ private function newDateTime($time = false) { $dateTime = new \Google_Service_Calendar_EventDateTime(); $date = $this->newDate($time); $dateTime->setDateTime($date); $dateTime->setTimeZone(date_default_timezone_get()); return $dateTime; }
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>"; } }
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 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); }
function updateEvent($recordid, $eventOld, $Data, $tzOffset = '+00:00') { 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 = $this->gService->events->get($this->selected_calendar, $eventOld); $event->setSummary(trim($Data["subject"])); $event->setDescription($Data["description"]); $event->setLocation(trim($Data["location"])); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime($startDate . 'T' . $this->removeLastColon($startTime) . ':00.000'); $start->setTimeZone("{$default_timezone}"); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime($endDate . 'T' . $this->removeLastColon($endTime) . ':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; } try { $this->gService->events->update($this->selected_calendar, $eventOld, $event); $status = true; } catch (Exception $e) { $status = null; } set_include_path($this->root_directory); return $status; }
/** * Creates a Google EventDateTime object. * * @param string $dateTime * @param string $timeZone * @param bool $allDay * * @return \Google_Service_Calendar_EventDateTime */ private function createDateTime($dateTime, $timeZone, $allDay = false) { $date = new \Google_Service_Calendar_EventDateTime(); /* * If an event is all day, only the date must be set * * ex. * - All Day - YYYY-MM-DD * - Not All Day - YYYY-MM-DD\TH:I:S: */ if ($allDay) { $date->setDate($dateTime); } else { $date->setDateTime($dateTime); } $date->setTimeZone($timeZone); return $date; }
/** * 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(); } }
//format date $date = str_replace('/', '', $date); $date = substr($date, 4, 8) . '-' . substr($date, 0, 2) . '-' . substr($date, 2, 2); $startDateTime = $date . 'T' . $startTime; $endDateTime = $date . 'T' . $endTime; // echo $startDateTime.' '.$endDateTime; // echo 'eventid: '.$eventId.' summary: '.$summary.' location: '.$location.' description: '.$description.' date: '.$date.' starttime: '.$startTime.' endtime: '.$endTime; $client = new Google_Client(); $client->setAuthConfigFile('client_secrets.json'); $client->addScope(Google_Service_Calendar::CALENDAR); if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { $client->setAccessToken($_SESSION['access_token']); $service = new Google_Service_Calendar($client); $calendarId = '*****@*****.**'; $event = $service->events->get($calendarId, $eventId); $event->setSummary($summary); $event->setDescription($description); $event->setLocation($location); $start = new Google_Service_Calendar_EventDateTime(); $start->setTimeZone('America/Chicago'); $start->setDateTime($startDateTime); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setTimeZone('America/Chicago'); $end->setDateTime($endDateTime); $event->setEnd($end); // print_r($event); $optParams = array('sendNotifications' => TRUE); $updatedEvent = $service->events->update($calendarId, $event->getId(), $event, $optParams); header("Location: main.php"); }
/** * A method to edit an existing event in the google calendar * @param string $eventId the id of the event to be edited * @param string $datetimeStart the starting datetime * @param string $datetimeEnd the ending datetime * @param null $recurrence whether it should reoccur * @param string $timeZone * @return mixed the updated event id */ public function editEventInCalendar($eventId, $datetimeStart = "0000-00-00T00:00:00", $datetimeEnd = "0000-00-00T00:00:00", $recurrence = null, $timeZone = "Europe/London") { # If we want the event to reoccur if ($recurrence) { $recurrence = 'RRULE:FREQ=WEEKLY;COUNT=' . $recurrence; } else { $recurrence = array(); } # Get the calendar service $service = new Google_Service_Calendar($this->client); # Get the existing event from the google calendar $event = $service->events->get($this->getUserEmail(), $eventId); # Set the starting datetime $eventDatetimeStart = new Google_Service_Calendar_EventDateTime(); $eventDatetimeStart->setDateTime($datetimeStart); $eventDatetimeStart->setTimeZone($timeZone); $event->setStart($eventDatetimeStart); # Set the ending datetime $eventDatetimeEnd = new Google_Service_Calendar_EventDateTime(); $eventDatetimeEnd->setDateTime($datetimeEnd); $eventDatetimeEnd->setTimeZone($timeZone); $event->setEnd($eventDatetimeEnd); # Set whether it should reoccur $event->setRecurrence(array($recurrence)); # Update the event $updatedEvent = $service->events->update($this->getUserEmail(), $event->getId(), $event); # Return the updated ID return $updatedEvent->id; }
$attendee = new Google_Service_Calendar_EventAttendee(); $attendee->setEmail($email); $attendees[] = $attendee; $event->setAttendees($attendees); $start = new DateTime($date); $start->setTimezone(new DateTimeZone($timezone)); $gstart = new Google_Service_Calendar_EventDateTime(); $gstart->setDateTime($start->format(DateTime::ISO8601)); $gstart->setTimeZone($timezone); $event->setStart($gstart); $end = new DateTime($date); $end->setTimezone(new DateTimeZone($timezone)); $end->add(new DateInterval("PT1H")); $gend = new Google_Service_Calendar_EventDateTime(); $gend->setDateTime($end->format(DateTime::ISO8601)); $gend->setTimeZone($timezone); $event->setEnd($gend); //Next insert it into the calendar $calendarService->events->insert($calendarId, $event); sendMail($name, $date, $email); echo json_encode(true); } } function sendMail($name, $date, $to) { $date = new DateTime($date); $timezone = "America/Los_Angeles"; $date->setTimezone(new DateTimeZone($timezone)); $date = $date->format('D, d M y \\a\\t h:i A'); $html = <<<EOD <div style = 'padding: 1em;font-family:Verdana'>
public function onRaidModify($aRaidId) { if ($this->authenticate()) { $Parameters = array('raid' => $aRaidId, 'canceled' => true, 'closed' => true); $RaidResult = Api::queryRaid($Parameters); if (count($RaidResult) > 0) { $Raid = $RaidResult[0]; $LocationName = $this->mLocations[$Raid['LocationId']]; $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'); $Events = $this->mCalService->events->listEvents(GOOGLE_CAL_ID, array('sharedExtendedProperty' => 'RaidId=' . $aRaidId)); // There should be only one event, but we're a bit // paranoid here foreach ($Events->getItems() as $Event) { $Event->setLocation($LocationName); $Event->setDescription($Raid['Description']); if ($Raid['Status'] == 'canceled') { $Event->setSummary('[canceled] ' . $LocationName . ' (' . $Raid['Size'] . ')'); } else { $Event->setSummary($LocationName . ' (' . $Raid['Size'] . ')'); } $Event->setStart($Start); $Event->setEnd($End); $this->mCalService->events->update(GOOGLE_CAL_ID, $Event->getid(), $Event); } } catch (Exception $Ex) { $Out = Out::getInstance(); $Out->pushError($Ex->getMessage()); } date_default_timezone_set($Timezone); } } }
public function updateEventEndTimeZone($calendarID, $eventID, $value) { $event = $this->service->events->get($calendarID, $eventID); $end = new Google_Service_Calendar_EventDateTime(); $end->setTimeZone($value); $event->setEnd($end); $updatedEvent = $this->service->events->update($calendarID, $event->getId(), $event); return $updatedEvent->getUpdated(); }
public function update(Event $event) { global $PDO; if (!$event->getEventId()) { throw new Exception("Event don't have eventId when event don't exists"); } else { update("event", ["title" => $event->getTitle(), "description" => $event->getDescription(), "type" => $event->getType(), "location" => $event->getLocation(), "start_hour" => $event->getStartHour(), "final_hour" => $event->getFinalHour(), "color" => $event->getColor(), "status" => $event->getStatus(), "date_create" => $event->getDateCreate(), "user_id" => $event->getUserId(), "google_calendar_event_id" => $event->getGoogleCalendarEventId(), "notify_status" => $event->getNotifyStatus(), "parent_event_id" => $event->getParentEventId(), "calendar_id" => $event->getCalendarId()], ["Codigo" => $event->getEventId()]); //Event::eventId exits when not problem $eventMeta = $event->getEventMeta(); update("event_meta", ["event_id" => $eventMeta->getEventId(), "date_start" => $eventMeta->getDateStart(), "interval_case" => $eventMeta->getIntervalCase(), "interval_value" => $eventMeta->getIntervalValue(), "week" => $eventMeta->getWeek(), "week_day" => $eventMeta->getWeekDay()], ["Codigo" => $eventMeta->getEventMetaId()]); //verify if exists attendees $childEventsId = $event->childEventsId(); if ($childEventsId) { $filterOfChildEventsId = implode(",", $childEventsId); $rowsAffected = $PDO->exec("\n UPDATE event \n SET title = '{$event->getTitle()}',\n description = '{$event->getDescription()}',\n type = '{$event->getType()}',\n location = '{$event->getLocation()}',\n start_hour = '{$event->getStartHour()}',\n final_hour = '{$event->getFinalHour()}',\n color = '{$event->getColor()}'\n WHERE Codigo IN ({$filterOfChildEventsId})"); $rowsAffected = $PDO->exec("\n UPDATE event_meta \n SET date_start = '{$eventMeta->getDateStart()}',\n interval_case = '{$eventMeta->getIntervalCase()}',\n interval_value = '{$eventMeta->getIntervalValue()}',\n week = '{$eventMeta->getWeek()}',\n week_day = '{$eventMeta->getWeekDay()}'\n WHERE event_id IN ({$filterOfChildEventsId})"); } if ($event->getGoogleCalendarEventId()) { //verify google access $myGoogleClient = get_my_google_client($event->getUserId()); if ($myGoogleClient) { $client = $myGoogleClient->client; $service = new Google_Service_Calendar($client); $googleEvent = $service->events->get('primary', $event->getGoogleCalendarEventId()); $googleEvent->setSummary($event->getTitle()); $googleEvent->setDescription($event->getDescription()); $googleEvent->setLocation($event->getLocation()); //////////////////////////////////////////////////////////////////////// //create google calendar datetime $dateStart = $eventMeta->getDateStart(); $dateEnd = new DateTime($eventMeta->getDateStart()); $startHour = $event->getStartHour(); $finalHour = $event->getFinalHour(); //dateEnd $intervalValue = $eventMeta->getIntervalValue(); $dateEnd->add(new DateInterval("P{$intervalValue}D")); $dateEnd = $dateEnd->format("Y-m-d"); $start_event_date_time = new Google_Service_Calendar_EventDateTime(); $start_event_date_time->setDateTime("{$dateStart}T{$startHour}"); $start_event_date_time->setTimeZone("America/Lima"); $end_event_date_time = new Google_Service_Calendar_EventDateTime(); $end_event_date_time->setDateTime("{$dateEnd}T{$finalHour}"); $end_event_date_time->setTimeZone("America/Lima"); //////////////////////////////////////////////////////////////////////// $googleEvent->setStart($start_event_date_time); $googleEvent->setEnd($end_event_date_time); $service->events->update('primary', $googleEvent->getId(), $googleEvent); } } } return $event; }