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;