Example #1
0
 /**
  * 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);
 }
Example #5
0
 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;
 }
Example #6
0
 /**
  * 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();
     }
 }
Example #8
0
//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'>
Example #11
0
 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();
 }
Example #13
0
 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;
 }