From cdaa4b1434824d91c601f3d423da1f3969528393 Mon Sep 17 00:00:00 2001 From: Akhil Date: Fri, 19 Jan 2024 19:34:24 +0530 Subject: [PATCH] Do not save contact if it already exists Signed-off-by: Akhil --- plugins/nextcloud/NextcloudAddressBook.php | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/plugins/nextcloud/NextcloudAddressBook.php b/plugins/nextcloud/NextcloudAddressBook.php index 257185476..2790e4e5c 100644 --- a/plugins/nextcloud/NextcloudAddressBook.php +++ b/plugins/nextcloud/NextcloudAddressBook.php @@ -117,6 +117,11 @@ class NextcloudAddressBook implements \RainLoop\Providers\AddressBook\AddressBoo continue; } $sEmail = \trim($oEmail->GetEmail(true)); + $existingResults = $this->contactsManager->search($sEmail, ['EMAIL'], ['strict_search' => true]); + + if (!empty($existingResults)) { + continue; + } $properties = [ 'EMAIL' => $sEmail, @@ -126,14 +131,6 @@ class NextcloudAddressBook implements \RainLoop\Providers\AddressBook\AddressBoo if ('' !== \trim($oEmail->GetDisplayName())) { $properties['FN'] = $oEmail->GetDisplayName(); } - $existingResults = $this->contactsManager->search($sEmail, ['EMAIL'], ['strict_search' => true]); - - foreach ($existingResults as $contact) { - if ($contact['addressbook-key'] === $this->key) { - $properties['URI'] = $contact['UID'] . '.vcf'; - break; - } - } $this->contactsManager->createOrUpdate($properties, $this->key); } return true;