From edace7b002fb69f102a62fdeabaf055343acf5b3 Mon Sep 17 00:00:00 2001 From: Bevan Kay Date: Thu, 7 Jan 2021 16:10:47 +1100 Subject: [PATCH] Add ability to sync all-day Google Calendar Events --- application/controllers/Google.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/application/controllers/Google.php b/application/controllers/Google.php index c84a4846..e2bfbbd4 100644 --- a/application/controllers/Google.php +++ b/application/controllers/Google.php @@ -184,7 +184,20 @@ class Google extends EA_Controller { if ($google_event->getStart()->getDateTime() === $google_event->getEnd()->getDateTime()) { - continue; // Skip all day events + $event_start = new DateTime($google_event->getStart()->getDate()); + date_time_set($event_start, 0, 0); + $event_start->setTimezone($provider_timezone); + $event_end = new DateTime($google_event->getEnd()->getDate()); + date_modify($event_end, '-1 day'); + date_time_set($event_end, 23, 59); + $event_end->setTimezone($provider_timezone); + } + else + { + $event_start = new DateTime($google_event->getStart()->getDateTime()); + $event_start->setTimezone($provider_timezone); + $event_end = new DateTime($google_event->getEnd()->getDateTime()); + $event_end->setTimezone($provider_timezone); } $results = $CI->appointments_model->get_batch(['id_google_calendar' => $google_event->getId()]); @@ -194,10 +207,6 @@ class Google extends EA_Controller { continue; } - $event_start = new DateTime($google_event->getStart()->getDateTime()); - $event_start->setTimezone($provider_timezone); - $event_end = new DateTime($google_event->getEnd()->getDateTime()); - $event_end->setTimezone($provider_timezone); // Record doesn't exist in the Easy!Appointments, so add the event now. $appointment = [