From cbd130bed0164095ab3432b9c92111fad8a9f7ac Mon Sep 17 00:00:00 2001
From: libasys <sebastian.doell@libasys.de>
Date: Tue, 27 May 2014 10:38:56 +0200
Subject: [PATCH] adding missing email address for principal

* fix #8515
* add mail only if it exists
---
 lib/private/connector/sabre/principal.php | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/private/connector/sabre/principal.php b/lib/private/connector/sabre/principal.php
index 9bad3b9df16..c674e2aa779 100644
--- a/lib/private/connector/sabre/principal.php
+++ b/lib/private/connector/sabre/principal.php
@@ -26,11 +26,17 @@ class OC_Connector_Sabre_Principal implements \Sabre\DAVACL\PrincipalBackend\Bac
 
 		if ($prefixPath == 'principals') {
 			foreach(OC_User::getUsers() as $user) {
+
 				$user_uri = 'principals/'.$user;
 				$principals[] = array(
 					'uri' => $user_uri,
 					'{DAV:}displayname' => $user,
 				);
+
+				$email= \OCP\Config::getUserValue($user, 'settings', 'email');
+				if($email) {
+					$principals['{http://sabredav.org/ns}email-address'] = $email;
+				}
 			}
 		}
 
@@ -49,10 +55,16 @@ class OC_Connector_Sabre_Principal implements \Sabre\DAVACL\PrincipalBackend\Bac
 		list($prefix, $name) = explode('/', $path);
 
 		if ($prefix == 'principals' && OC_User::userExists($name)) {
+
 			return array(
 				'uri' => 'principals/'.$name,
 				'{DAV:}displayname' => $name,
 			);
+
+			$email= \OCP\Config::getUserValue($user, 'settings', 'email');
+			if($email) {
+				$principals['{http://sabredav.org/ns}email-address'] = $email;
+			}
 		}
 
 		return null;
-- 
GitLab