From: Arthur Schiwon Date: Tue, 15 Apr 2014 15:46:48 +0000 (+0200) Subject: Remove limit and offset manipulation when getting users or groups, because it does... X-Git-Tag: v7.0.0alpha2~422^2~1 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=64679b2e62909df9b3e493a0dc22151b5baae1a6;p=nextcloud-server.git Remove limit and offset manipulation when getting users or groups, because it does not work when more than one user or group backend. Fixing it would be too costly performancewise, so we switch back to the model used in OC 5: limit and offset are effective per backend, and not a general constraint --- diff --git a/lib/private/group/group.php b/lib/private/group/group.php index a2b8a0dcbea..3efbb6e7023 100644 --- a/lib/private/group/group.php +++ b/lib/private/group/group.php @@ -172,12 +172,6 @@ class Group { $users = array(); foreach ($this->backends as $backend) { $userIds = $backend->usersInGroup($this->gid, $search, $limit, $offset); - if (!is_null($limit)) { - $limit -= count($userIds); - } - if (!is_null($offset)) { - $offset -= count($userIds); - } $users += $this->getVerifiedUsers($userIds); if (!is_null($limit) and $limit <= 0) { return array_values($users); @@ -223,12 +217,6 @@ class Group { } else { $userIds = $backend->usersInGroup($this->gid, $search, $limit, $offset); } - if (!is_null($limit)) { - $limit -= count($userIds); - } - if (!is_null($offset)) { - $offset -= count($userIds); - } $users = $this->getVerifiedUsers($userIds); if (!is_null($limit) and $limit <= 0) { return array_values($users); diff --git a/lib/private/group/manager.php b/lib/private/group/manager.php index 9b433b64fd4..f591bd32aba 100644 --- a/lib/private/group/manager.php +++ b/lib/private/group/manager.php @@ -134,12 +134,6 @@ class Manager extends PublicEmitter { $groups = array(); foreach ($this->backends as $backend) { $groupIds = $backend->getGroups($search, $limit, $offset); - if (!is_null($limit)) { - $limit -= count($groupIds); - } - if (!is_null($offset)) { - $offset -= count($groupIds); - } foreach ($groupIds as $groupId) { $groups[$groupId] = $this->getGroupObject($groupId); } diff --git a/lib/private/user/manager.php b/lib/private/user/manager.php index a2ad9d17702..14698452e88 100644 --- a/lib/private/user/manager.php +++ b/lib/private/user/manager.php @@ -175,13 +175,6 @@ class Manager extends PublicEmitter { if (is_array($backendUsers)) { foreach ($backendUsers as $uid) { $users[] = $this->getUserObject($uid, $backend); - if (!is_null($limit)) { - $limit--; - } - if (!is_null($offset) and $offset > 0) { - $offset--; - } - } } } @@ -211,13 +204,6 @@ class Manager extends PublicEmitter { if (is_array($backendUsers)) { foreach ($backendUsers as $uid => $displayName) { $users[] = $this->getUserObject($uid, $backend); - if (!is_null($limit)) { - $limit--; - } - if (!is_null($offset) and $offset > 0) { - $offset--; - } - } } }