From 66a2f3b0b9b0e1218f38a501095b9e5a9a1b1e9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thomas=20M=C3=BCller?= <thomas.mueller@tmit.eu>
Date: Mon, 21 Oct 2013 20:06:11 +0200
Subject: [PATCH] New OCS route:  /ocs/cloud/user Response:  <?xml
 version="1.0"?>  <ocs>   <meta>    <status>ok</status>   
 <statuscode>100</statuscode>    <message/>   </meta>   <data>   
 <id>thomas</id>    <display-name>DeepDiver</display-name>   
 <email>no-response@domain.tld</email>   </data>  </ocs>

---
 lib/private/ocs/cloud.php | 13 +++++++++++--
 ocs/routes.php            |  9 ++++++++-
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/lib/private/ocs/cloud.php b/lib/private/ocs/cloud.php
index 2dd9931905..cbbf3b626f 100644
--- a/lib/private/ocs/cloud.php
+++ b/lib/private/ocs/cloud.php
@@ -64,8 +64,7 @@ class OC_OCS_Cloud {
 		// Check if they are viewing information on themselves
 		if($parameters['userid'] === OC_User::getUser()) {
 			// Self lookup
-			$quota = array();
-			$storage = OC_Helper::getStorageInfo();
+			$storage = OC_Helper::getStorageInfo('/');
 			$quota = array(
 				'free' =>  $storage['free'],
 				'used' =>  $storage['used'],
@@ -79,6 +78,16 @@ class OC_OCS_Cloud {
 		}
 	}
 
+	public static function getCurrentUser() {
+		$email=OC_Preferences::getValue(OC_User::getUser(), 'settings', 'email', '');
+		$data  = array(
+			'id' => OC_User::getUser(),
+			'display-name' => OC_User::getDisplayName(),
+			'email' => $email,
+		);
+		return new OC_OCS_Result($data);
+	}
+
 	public static function getUserPublickey($parameters) {
 
 		if(OC_User::userExists($parameters['user'])) {
diff --git a/ocs/routes.php b/ocs/routes.php
index c4a74d7790..845ee49a46 100644
--- a/ocs/routes.php
+++ b/ocs/routes.php
@@ -73,4 +73,11 @@ OC_API::register(
 	array('OC_OCS_Cloud', 'getUser'),
 	'core',
 	OC_API::USER_AUTH
-	);
+);
+OC_API::register(
+	'get',
+	'/cloud/user',
+	array('OC_OCS_Cloud', 'getCurrentUser'),
+	'core',
+	OC_API::USER_AUTH
+);
-- 
GitLab