/** * @NoAdminRequired * * @param int $offset * @param int $limit * @param string $gid GID to filter for * @param string $pattern Pattern to search for in the username * @param string $backend Backend to filter for (class-name) * @return DataResponse * * TODO: Tidy up and write unit tests - code is mainly static method calls */ public function index($offset = 0, $limit = 10, $gid = '', $pattern = '', $backend = '') { // FIXME: The JS sends the group '_everyone' instead of no GID for the "all users" group. if ($gid === '_everyone') { $gid = ''; } // Remove backends if (!empty($backend)) { $activeBackends = $this->userManager->getBackends(); $this->userManager->clearBackends(); foreach ($activeBackends as $singleActiveBackend) { if ($backend === get_class($singleActiveBackend)) { $this->userManager->registerBackend($singleActiveBackend); break; } } } //$users = ($gid !== '') ? Data::readGroupUsers($gid) : Data::readAllUsers(); $users = \OCP\User::getDisplayNames(); ksort($users, SORT_NATURAL | SORT_FLAG_CASE); $users = array_diff($users, array(User::getUser())); $users = array_slice($users, 0); return new DataResponse(array('data' => $users, 'status' => 'success')); }
<?php OCP\JSON::checkAppEnabled('files_external'); OCP\JSON::callCheck(); OCP\JSON::checkAdminUser(); $pattern = ''; $limit = null; $offset = null; if (isset($_GET['pattern'])) { $pattern = $_GET['pattern']; } if (isset($_GET['limit'])) { $limit = $_GET['limit']; } if (isset($_GET['offset'])) { $offset = $_GET['offset']; } $groups = \OC_Group::getGroups($pattern, $limit, $offset); $users = \OCP\User::getDisplayNames($pattern, $limit, $offset); $results = array('groups' => $groups, 'users' => $users); \OCP\JSON::success($results);