From dfed58e947c07ea075078aa84956a363357704ea Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Wed, 29 Nov 2017 15:24:08 +0100 Subject: [PATCH] CardDAV convertor check should not be to wide Case: email is set to null, but the avatar is set. In the old case the email would set $emptyValue but $noImage would still be false. This we would set the empty string as email. Signed-off-by: Roeland Jago Douma --- apps/dav/lib/CardDAV/Converter.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/apps/dav/lib/CardDAV/Converter.php b/apps/dav/lib/CardDAV/Converter.php index 9e106a0fe28cf..fb2813fb22c3b 100644 --- a/apps/dav/lib/CardDAV/Converter.php +++ b/apps/dav/lib/CardDAV/Converter.php @@ -60,6 +60,10 @@ public function createCardFromUser(IUser $user) { $publish = false; + if ($image !== null && isset($userData[AccountManager::PROPERTY_AVATAR])) { + $userData[AccountManager::PROPERTY_AVATAR]['value'] = true; + } + foreach ($userData as $property => $value) { $shareWithTrustedServers = @@ -67,9 +71,8 @@ public function createCardFromUser(IUser $user) { $value['scope'] === AccountManager::VISIBILITY_PUBLIC; $emptyValue = !isset($value['value']) || $value['value'] === ''; - $noImage = $image === null; - if ($shareWithTrustedServers && (!$emptyValue || !$noImage)) { + if ($shareWithTrustedServers && !$emptyValue) { $publish = true; switch ($property) { case AccountManager::PROPERTY_DISPLAYNAME: