diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/private/Group/Backend.php | 2 | ||||
-rw-r--r-- | lib/private/Group/Database.php | 4 | ||||
-rw-r--r-- | lib/private/Group/Group.php | 2 | ||||
-rw-r--r-- | lib/public/Group/Backend/ISearchableGroupBackend.php | 3 | ||||
-rw-r--r-- | lib/public/GroupInterface.php | 2 |
5 files changed, 6 insertions, 7 deletions
diff --git a/lib/private/Group/Backend.php b/lib/private/Group/Backend.php index 037cdacf445..1e3e5ef1164 100644 --- a/lib/private/Group/Backend.php +++ b/lib/private/Group/Backend.php @@ -126,7 +126,7 @@ abstract class Backend implements \OCP\GroupInterface { * @param string $search * @param int $limit * @param int $offset - * @return array an array of user ids + * @return array<int,string> an array of user ids */ public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0) { return []; diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index 13e4906c298..569cfa5007f 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -333,10 +333,10 @@ class Database extends ABackend implements * @param string $search * @param int $limit * @param int $offset - * @return array<string> an array of user ids + * @return array<int,string> an array of user ids */ public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0): array { - return array_map(fn ($user) => $user->getUid(), $this->searchInGroup($gid, $search, $limit, $offset)); + return array_values(array_map(fn ($user) => $user->getUid(), $this->searchInGroup($gid, $search, $limit, $offset))); } public function searchInGroup(string $gid, string $search = '', int $limit = -1, int $offset = 0): array { diff --git a/lib/private/Group/Group.php b/lib/private/Group/Group.php index f70221de8bd..c72a7826fd0 100644 --- a/lib/private/Group/Group.php +++ b/lib/private/Group/Group.php @@ -251,7 +251,7 @@ class Group implements IGroup { $users = []; foreach ($this->backends as $backend) { if ($backend instanceof ISearchableGroupBackend) { - $users = array_merge($users, $backend->searchInGroup($this->gid, $search, $limit ?? -1, $offset ?? 0)); + $users = array_merge($users, array_values($backend->searchInGroup($this->gid, $search, $limit ?? -1, $offset ?? 0))); } else { $userIds = $backend->usersInGroup($this->gid, $search, $limit ?? -1, $offset ?? 0); $userManager = \OCP\Server::get(IUserManager::class); diff --git a/lib/public/Group/Backend/ISearchableGroupBackend.php b/lib/public/Group/Backend/ISearchableGroupBackend.php index 4e03680f75a..e5861d2814c 100644 --- a/lib/public/Group/Backend/ISearchableGroupBackend.php +++ b/lib/public/Group/Backend/ISearchableGroupBackend.php @@ -29,7 +29,6 @@ use OCP\IUser; * @since 26.0.0 */ interface ISearchableGroupBackend { - /** * @brief Get a list of users matching the given search parameters. * @@ -45,7 +44,7 @@ interface ISearchableGroupBackend { * want to search. This can be empty to get all the users. * @param int $limit The limit of results * @param int $offset The offset of the results - * @return IUser[] + * @return array<string,IUser> Users indexed by uid * @since 26.0.0 */ public function searchInGroup(string $gid, string $search = '', int $limit = -1, int $offset = 0): array; diff --git a/lib/public/GroupInterface.php b/lib/public/GroupInterface.php index 7a3c3960541..726921920af 100644 --- a/lib/public/GroupInterface.php +++ b/lib/public/GroupInterface.php @@ -112,7 +112,7 @@ interface GroupInterface { * @param string $search * @param int $limit * @param int $offset - * @return array an array of user ids + * @return array<int,string> an array of user ids * @since 4.5.0 * @deprecated 26.0.0 Use searchInGroup instead, for performance reasons */ |