コード例 #1
0
 /**
  * Update an existing appointment that is already synced with Google Calendar.
  * 
  * This method updates the google calendar event item that is connected with the
  * provided appointment record of Easy!Appointments. 
  * 
  * @param array $appointment Contains the appointment record data.
  * @param array $provider Contains the provider record data.
  * @param array $service Contains the service record data.
  * @param array $customer Contains the customer recod data.
  * @parma array $company_settings Contains some company settings that are used
  * by this method. By the time the following values must be in the array: 
  * 'company_name'.
  * @return Google_Event Returns the Google_Event class object.
  */
 public function update_appointment($appointment, $provider, $service, $customer, $company_settings)
 {
     $this->CI->load->helper('general');
     $event = $this->service->events->get($provider['settings']['google_calendar'], $appointment['id_google_calendar']);
     $event->setSummary($service['name']);
     $event->setLocation($company_settings['company_name']);
     $start = new Google_EventDateTime();
     $start->setDateTime(date3339(strtotime($appointment['start_datetime'])));
     $event->setStart($start);
     $end = new Google_EventDateTime();
     $end->setDateTime(date3339(strtotime($appointment['end_datetime'])));
     $event->setEnd($end);
     $event->attendees = array();
     $event_provider = new Google_EventAttendee();
     $event_provider->setDisplayName($provider['first_name'] . ' ' . $provider['last_name']);
     $event_provider->setEmail($provider['email']);
     $event->attendees[] = $event_provider;
     if ($customer != NULL) {
         $event_customer = new Google_EventAttendee();
         $event_customer->setDisplayName($customer['first_name'] . ' ' . $customer['last_name']);
         $event_customer->setEmail($customer['email']);
         $event->attendees[] = $event_customer;
     }
     $updated_event = $this->service->events->update($provider['settings']['google_calendar'], $event->getId(), $event);
     return $updated_event;
 }