diff options
author | kondou <kondou@ts.unde.re> | 2013-09-02 07:58:06 +0200 |
---|---|---|
committer | kondou <kondou@ts.unde.re> | 2013-09-02 07:58:06 +0200 |
commit | e5fc7b9dbeb01ac116bb132903c562c8f7d3c5b3 (patch) | |
tree | b7d8d913cdf7f4d1ce42f3027918ad0f5fbe5c3b /lib/group/group.php | |
parent | 8dd93c8c0288a11f04816bea2a58aee661ef9e97 (diff) | |
parent | f038cb9aea7c9a1513ab14d0df002773b17d5333 (diff) | |
download | nextcloud-server-e5fc7b9dbeb01ac116bb132903c562c8f7d3c5b3.tar.gz nextcloud-server-e5fc7b9dbeb01ac116bb132903c562c8f7d3c5b3.zip |
Merge branch 'master' into clean_up_util
Conflicts:
lib/base.php
Diffstat (limited to 'lib/group/group.php')
-rw-r--r-- | lib/group/group.php | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/lib/group/group.php b/lib/group/group.php index a752c4311c1..bcd2419b309 100644 --- a/lib/group/group.php +++ b/lib/group/group.php @@ -62,7 +62,6 @@ class Group { return $this->users; } - $users = array(); $userIds = array(); foreach ($this->backends as $backend) { $diff = array_diff( @@ -74,11 +73,8 @@ class Group { } } - foreach ($userIds as $userId) { - $users[] = $this->userManager->get($userId); - } - $this->users = $users; - return $users; + $this->users = $this->getVerifiedUsers($userIds); + return $this->users; } /** @@ -113,7 +109,7 @@ class Group { if ($backend->implementsActions(OC_GROUP_BACKEND_ADD_TO_GROUP)) { $backend->addToGroup($user->getUID(), $this->gid); if ($this->users) { - $this->users[] = $user; + $this->users[$user->getUID()] = $user; } if ($this->emitter) { $this->emitter->emit('\OC\Group', 'postAddUser', array($this, $user)); @@ -172,9 +168,7 @@ class Group { if (!is_null($offset)) { $offset -= count($userIds); } - foreach ($userIds as $userId) { - $users[$userId] = $this->userManager->get($userId); - } + $users += $this->getVerifiedUsers($userIds); if (!is_null($limit) and $limit <= 0) { return array_values($users); } @@ -191,7 +185,6 @@ class Group { * @return \OC\User\User[] */ public function searchDisplayName($search, $limit = null, $offset = null) { - $users = array(); foreach ($this->backends as $backend) { if ($backend->implementsActions(OC_GROUP_BACKEND_GET_DISPLAYNAME)) { $userIds = array_keys($backend->displayNamesInGroup($this->gid, $search, $limit, $offset)); @@ -204,9 +197,7 @@ class Group { if (!is_null($offset)) { $offset -= count($userIds); } - foreach ($userIds as $userId) { - $users[$userId] = $this->userManager->get($userId); - } + $users = $this->getVerifiedUsers($userIds); if (!is_null($limit) and $limit <= 0) { return array_values($users); } @@ -235,4 +226,23 @@ class Group { } return $result; } + + /** + * @brief returns all the Users from an array that really exists + * @param $userIds an array containing user IDs + * @return an Array with the userId as Key and \OC\User\User as value + */ + private function getVerifiedUsers($userIds) { + if(!is_array($userIds)) { + return array(); + } + $users = array(); + foreach ($userIds as $userId) { + $user = $this->userManager->get($userId); + if(!is_null($user)) { + $users[$userId] = $user; + } + } + return $users; + } } |