diff --git a/lib/private/Group/Manager.php b/lib/private/Group/Manager.php index 28f7a400b41dd..1fce2ec29469d 100644 --- a/lib/private/Group/Manager.php +++ b/lib/private/Group/Manager.php @@ -338,18 +338,6 @@ private function getUserIdGroupIds(string $uid): array { return $this->cachedUserGroups[$uid]; } - /** - * get an array of groupid and displayName for a user - * - * @param IUser $user - * @return array ['displayName' => displayname] - */ - public function getUserGroupNames(IUser $user) { - return array_map(function ($group) { - return ['displayName' => $group->getDisplayName()]; - }, $this->getUserGroups($user)); - } - /** * get a list of all display names in a group * @@ -365,39 +353,11 @@ public function displayNamesInGroup($gid, $search = '', $limit = -1, $offset = 0 return []; } - $search = trim($search); - $groupUsers = []; - - if (!empty($search)) { - // only user backends have the capability to do a complex search for users - $searchOffset = 0; - $searchLimit = $limit * 100; - if ($limit === -1) { - $searchLimit = 500; - } - - do { - $filteredUsers = $this->userManager->searchDisplayName($search, $searchLimit, $searchOffset); - foreach ($filteredUsers as $filteredUser) { - if ($group->inGroup($filteredUser)) { - $groupUsers[] = $filteredUser; - } - } - $searchOffset += $searchLimit; - } while (count($groupUsers) < $searchLimit + $offset && count($filteredUsers) >= $searchLimit); - - if ($limit === -1) { - $groupUsers = array_slice($groupUsers, $offset); - } else { - $groupUsers = array_slice($groupUsers, $offset, $limit); - } - } else { - $groupUsers = $group->searchUsers('', $limit, $offset); - } - + $users = $group->searchDisplayName(trim($search), $limit === -1 ? null : $limit, $offset); + /** @var IUser $user */ $matchingUsers = []; - foreach ($groupUsers as $groupUser) { - $matchingUsers[(string) $groupUser->getUID()] = $groupUser->getDisplayName(); + foreach ($users as $user) { + $matchingUsers[$user->getUID()] = $user->getDisplayName(); } return $matchingUsers; }