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
This commit is contained in:
parent
d826f33fae
commit
64679b2e62
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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--;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue