From 1c7bf2c9d9feb6dd6b99611d2be2de859888e345 Mon Sep 17 00:00:00 2001 From: angelo paglialonga <info@angelopaglialonga.com> Date: Fri, 9 Jul 2021 17:23:39 +0200 Subject: [PATCH] multiple fixes for #1614 and bydirectional sync for contacts and events with google --- packages/vtiger/optional/Google.zip | Bin 101244 -> 101268 bytes .../modules/Google/connectors/Calendar.php | 13 +++++++------ .../modules/Google/connectors/Contacts.php | 13 +++++++++++++ 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/packages/vtiger/optional/Google.zip b/packages/vtiger/optional/Google.zip index 1d3cec89305feb9572c79e18cfb66d0898baa2d2..6e192f0a9aa35b4216d895c587fee324be87a866 100644 GIT binary patch delta 15919 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 delta 15979 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 diff --git a/pkg/vtiger/modules/Google/modules/Google/connectors/Calendar.php b/pkg/vtiger/modules/Google/modules/Google/connectors/Calendar.php index 3e3e767d7..01dd5f506 100644 --- a/pkg/vtiger/modules/Google/modules/Google/connectors/Calendar.php +++ b/pkg/vtiger/modules/Google/modules/Google/connectors/Calendar.php @@ -142,17 +142,18 @@ Class Google_Calendar_Connector extends WSAPP_TargetConnector { $this->client->setAccessToken($this->apiConnection->getAccessToken()); $this->service = new Google_Service_Calendar($this->client); } - $query = array( - 'maxResults' => $this->maxResults, - 'orderBy' => 'updated', - 'singleEvents' => true, - ); + if (Google_Utils_Helper::getSyncTime('Calendar', $user)) { $query['updatedMin'] = $this->googleFormat(Google_Utils_Helper::getSyncTime('Calendar', $user)); //shows deleted by default } - $query['updatedMin'] = date("Y-m-d", strtotime("first day of previous month")); + $query['updatedMin'] = date('Y-m-d\TH:i:s\Z', strtotime("-7 days")); + + $query['orderBy'] = 'startTime'; + $query['timeMin'] = date('c',strtotime("-30 days")); + $query['showDeleted'] = false; + $calendarId = Google_Utils_Helper::getSelectedCalendarForUser($user); if(!isset($this->calendars)) { $this->calendars = $this->pullCalendars(true); diff --git a/pkg/vtiger/modules/Google/modules/Google/connectors/Contacts.php b/pkg/vtiger/modules/Google/modules/Google/connectors/Contacts.php index 9465ea03c..7b3ea729b 100644 --- a/pkg/vtiger/modules/Google/modules/Google/connectors/Contacts.php +++ b/pkg/vtiger/modules/Google/modules/Google/connectors/Contacts.php @@ -643,6 +643,13 @@ Class Google_Contacts_Connector extends WSAPP_TargetConnector { $payLoad = html_entity_decode($atom->asXML(), ENT_QUOTES, $default_charset); $response = $this->sendBatchRequest($payLoad); + + + $main1 = new SimpleXMLElement($payLoad); + $main1->entry->addAttribute('gd:etag', '*'); + $payLoad = $main1->asXML(); + + if($response) { $responseXml = simplexml_load_string($response); $responseXml->registerXPathNamespace('gd', $this->NS['gd']); @@ -711,6 +718,12 @@ Class Google_Contacts_Connector extends WSAPP_TargetConnector { } } $payLoad = html_entity_decode($atom->asXML(), ENT_QUOTES, $default_charset); + + $main1 = new SimpleXMLElement($payLoad); + $main1->entry->addAttribute('gd:etag', '*'); + $payLoad = $main1->asXML(); + + $response = $this->sendBatchRequest($payLoad); $responseXml = simplexml_load_string($response); if($responseXml) { -- GitLab