diff options
-rw-r--r-- | core/routes.php | 4 | ||||
-rw-r--r-- | core/user/controller.php | 31 |
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)); + } +} |