mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
feat(carddav): Map user's additional emails into the SAB card
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
parent
527de8ac9d
commit
8c727f2285
1 changed files with 10 additions and 1 deletions
|
|
@ -29,10 +29,12 @@ namespace OCA\DAV\CardDAV;
|
|||
|
||||
use Exception;
|
||||
use OCP\Accounts\IAccountManager;
|
||||
use OCP\Accounts\PropertyDoesNotExistException;
|
||||
use OCP\IImage;
|
||||
use OCP\IUser;
|
||||
use Sabre\VObject\Component\VCard;
|
||||
use Sabre\VObject\Property\Text;
|
||||
use function array_merge;
|
||||
|
||||
class Converter {
|
||||
|
||||
|
|
@ -44,7 +46,13 @@ class Converter {
|
|||
}
|
||||
|
||||
public function createCardFromUser(IUser $user): ?VCard {
|
||||
$userProperties = $this->accountManager->getAccount($user)->getProperties();
|
||||
$account = $this->accountManager->getAccount($user);
|
||||
$userProperties = $account->getProperties();
|
||||
try {
|
||||
$additionalEmailsCollection = $account->getPropertyCollection(IAccountManager::COLLECTION_EMAIL);
|
||||
$userProperties = array_merge($userProperties, $additionalEmailsCollection->getProperties());
|
||||
} catch (PropertyDoesNotExistException $e) {
|
||||
}
|
||||
|
||||
$uid = $user->getUID();
|
||||
$cloudId = $user->getCloudId();
|
||||
|
|
@ -75,6 +83,7 @@ class Converter {
|
|||
$vCard->add('PHOTO', $image->data(), ['ENCODING' => 'b', 'TYPE' => $image->mimeType()]);
|
||||
}
|
||||
break;
|
||||
case IAccountManager::COLLECTION_EMAIL:
|
||||
case IAccountManager::PROPERTY_EMAIL:
|
||||
$vCard->add(new Text($vCard, 'EMAIL', $property->getValue(), ['TYPE' => 'OTHER']));
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue