aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/routes.php4
-rw-r--r--core/user/controller.php31
2 files changed, 35 insertions, 0 deletions
diff --git a/core/routes.php b/core/routes.php
index ff79c450508..37eb2f8a56c 100644
--- a/core/routes.php
+++ b/core/routes.php
@@ -35,6 +35,10 @@ $this->create('core_ajax_share', '/core/ajax/share.php')
// Translations
$this->create('core_ajax_translations', '/core/ajax/translations.php')
->actionInclude('core/ajax/translations.php');
+// User display names
+$this->create('core_user_displaynames', '/displaynames')
+ ->get()
+ ->action('OC\Core\User\Controller', 'getDisplayNames');
// Tags
$this->create('core_tags_tags', '/tags/{type}')
->get()
diff --git a/core/user/controller.php b/core/user/controller.php
new file mode 100644
index 00000000000..cbcbd936183
--- /dev/null
+++ b/core/user/controller.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Copyright (c) 2014 Jörn Dreyer <jfd@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OC\Core\User;
+
+class Controller {
+ public static function getDisplayNames($args) {
+ \OC_JSON::checkLoggedIn();
+ \OC_JSON::callCheck();
+
+ $users = $_GET['users'];
+ $result = array();
+ $userManager = \OC::$server->getUserManager();
+
+ foreach ($users as $user) {
+ $userObject = $userManager->get($user);
+ if (is_object($userObject)) {
+ $result[$user] = $userObject->getDisplayName();
+ } else {
+ $result[$user] = false;
+ }
+ }
+
+ \OC_JSON::success(array('users'=>$result));
+ }
+}