use faster and less hungry foreach
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
parent
250c7535cd
commit
213464afca
|
@ -55,7 +55,7 @@ use OCP\ILogger;
|
||||||
class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, IGetDisplayNameBackend {
|
class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, IGetDisplayNameBackend {
|
||||||
protected $enabled = false;
|
protected $enabled = false;
|
||||||
|
|
||||||
/** @var string[] $cachedGroupMembers array of users with gid as key */
|
/** @var string[][] $cachedGroupMembers array of users with gid as key */
|
||||||
protected $cachedGroupMembers;
|
protected $cachedGroupMembers;
|
||||||
/** @var string[] $cachedGroupsByMember array of groups with uid as key */
|
/** @var string[] $cachedGroupsByMember array of groups with uid as key */
|
||||||
protected $cachedGroupsByMember;
|
protected $cachedGroupsByMember;
|
||||||
|
@ -168,23 +168,21 @@ class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, I
|
||||||
$users = array_merge($users, $search);
|
$users = array_merge($users, $search);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($filterParts) > 0) {
|
if (count($filterParts) > 0) {
|
||||||
// if there are filterParts left we need to add their result
|
// if there are filterParts left we need to add their result
|
||||||
$filter = $this->access->combineFilterWithOr($filterParts);
|
$filter = $this->access->combineFilterWithOr($filterParts);
|
||||||
$search = $this->access->fetchListOfUsers($filter, $requestAttributes, count($filterParts));
|
$search = $this->access->fetchListOfUsers($filter, $requestAttributes, count($filterParts));
|
||||||
$users = array_merge($users, $search);
|
$users = array_merge($users, $search);
|
||||||
}
|
}
|
||||||
|
|
||||||
// now we cleanup the users array to get only dns
|
// now we cleanup the users array to get only dns
|
||||||
$dns = array_reduce($users, function (array $carry, array $record) {
|
$dns = [];
|
||||||
if (!in_array($carry, $record['dn'][0])) {
|
foreach ($users as $record) {
|
||||||
$carry[$record['dn'][0]] = 1;
|
$dns[$record['dn'][0]] = 1;
|
||||||
}
|
}
|
||||||
return $carry;
|
|
||||||
}, []);
|
|
||||||
$members = array_keys($dns);
|
$members = array_keys($dns);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue