Merge pull request #8998 from macjohnny/master

drastic speedup for nested ldap groups
remotes/origin/ldap_group_count
macjohnny 11 years ago
commit 482eded8b3
  1. 7
      lib/private/group.php
  2. 12
      lib/private/group/manager.php

@ -187,12 +187,7 @@ class OC_Group {
public static function getUserGroups($uid) {
$user = self::$userManager->get($uid);
if ($user) {
$groups = self::getManager()->getUserGroups($user);
$groupIds = array();
foreach ($groups as $group) {
$groupIds[] = $group->getGID();
}
return $groupIds;
return self::getManager()->getUserGroupIds($user);
} else {
return array();
}

@ -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

Loading…
Cancel
Save