From ede2aa236e0834fd4fac2ea59e7ef9c0a397ff06 Mon Sep 17 00:00:00 2001 From: macjohnny Date: Thu, 12 Jun 2014 09:41:23 +0200 Subject: [PATCH] Update manager.php add a function getUserGroupIds for retrieving group ids instead of group objects. this significantly improves performance when using many (nested) groups. --- lib/private/group/manager.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/private/group/manager.php b/lib/private/group/manager.php index dae6443e9d4..150f4c18905 100644 --- a/lib/private/group/manager.php +++ b/lib/private/group/manager.php @@ -182,6 +182,18 @@ class Manager extends PublicEmitter { $this->cachedUserGroups[$uid] = array_values($groups); return $this->cachedUserGroups[$uid]; } + /** + * @param \OC\User\User $user + * @return array with group names + */ + public function getUserGroupIds($user) { + $groupIds = array(); + foreach ($this->backends as $backend) { + $groupIds = array_merge($groupIds,$backend->getUserGroups($user->getUID())); + + } + return $groupIds; + } /** * get a list of all display names in a group -- 2.39.5