From 5d04ca597ec26ad725c2900504b38970b5f8ab4d Mon Sep 17 00:00:00 2001 From: Akhil Date: Fri, 4 Aug 2023 01:17:36 +0530 Subject: [PATCH] convert results from nc to sm contacts --- plugins/nextcloud/NextcloudAddressBook.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/plugins/nextcloud/NextcloudAddressBook.php b/plugins/nextcloud/NextcloudAddressBook.php index 25c21c692..922f3431c 100644 --- a/plugins/nextcloud/NextcloudAddressBook.php +++ b/plugins/nextcloud/NextcloudAddressBook.php @@ -56,7 +56,7 @@ class NextcloudAddressBook implements \RainLoop\Providers\AddressBook\AddressBoo ]; $results = $this->contactsManager->search($sSearch, [], $options); $iResultCount = count($results); - return $results; + return $this->convertResultsToSnappymailContacts($results); } @@ -72,7 +72,8 @@ class NextcloudAddressBook implements \RainLoop\Providers\AddressBook\AddressBoo $options = [ 'limit' => $iLimit ]; - return $this->contactsManager->search($sSearch, [], $options); + $results = $this->contactsManager->search($sSearch, [], $options); + return $this->convertResultsToSnappymailContacts($results); } /** @@ -86,4 +87,16 @@ class NextcloudAddressBook implements \RainLoop\Providers\AddressBook\AddressBoo public function Test() : string { return ''; } + + private function convertResultsToSnappymailContacts(array $results = []) { + $contacts = []; + foreach($results as $result) { + $vCard = \Sabre\VObject\Reader::readJson($result); + $contact = new Contact(); + $contact->setVCard($vCard); + $contacts[] = $contact; + } + + return $contacts; + } }