new type API
This commit is contained in:
parent
7b82372a2d
commit
2f5f0caff1
|
@ -2981,27 +2981,28 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
if ($this->groupCache != null) {
|
if ($this->groupCache != null) {
|
||||||
return $this->groupCache;
|
return $this->groupCache;
|
||||||
}
|
}
|
||||||
$typeSettings = $_SESSION['config']->get_typeSettings();
|
$this->groupCache = array();
|
||||||
$filter = '(objectClass=posixGroup)';
|
$typeManager = new TypeManager();
|
||||||
if ($this->isWindows()) {
|
foreach ($typeManager->getConfiguredTypesForScope('group') as $type) {
|
||||||
$filter = '(&(objectClass=group)(gidNumber=*))';
|
$filter = '(objectClass=posixGroup)';
|
||||||
}
|
if ($this->isWindows()) {
|
||||||
if (!empty($typeSettings['filter_group'])) {
|
$filter = '(&(objectClass=group)(gidNumber=*))';
|
||||||
$typeFilter = $typeSettings['filter_group'];
|
|
||||||
if (strpos($typeFilter, '(') !== 0) {
|
|
||||||
$typeFilter = '(' . $typeFilter . ')';
|
|
||||||
}
|
}
|
||||||
$filter = '(&' . $filter . $typeFilter . ')';
|
$typeFilter = $type->getAdditionalLdapFilter();
|
||||||
}
|
if (!empty($typeFilter)) {
|
||||||
$results = searchLDAPByFilter($filter, array('cn', 'gidnumber'), array('group'));
|
if (strpos($typeFilter, '(') !== 0) {
|
||||||
$return = array();
|
$typeFilter = '(' . $typeFilter . ')';
|
||||||
for ($i = 0; $i < sizeof($results); $i++) {
|
}
|
||||||
if (isset($results[$i]['cn'][0]) && isset($results[$i]['gidnumber'][0])) {
|
$filter = '(&' . $filter . $typeFilter . ')';
|
||||||
$return[] = array($results[$i]['gidnumber'][0], $results[$i]['cn'][0]);
|
}
|
||||||
|
$results = searchLDAP($type->getSuffix(), $filter, array('cn', 'gidnumber'));
|
||||||
|
for ($i = 0; $i < sizeof($results); $i++) {
|
||||||
|
if (isset($results[$i]['cn'][0]) && isset($results[$i]['gidnumber'][0])) {
|
||||||
|
$this->groupCache[] = array($results[$i]['gidnumber'][0], $results[$i]['cn'][0]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->groupCache = $return;
|
return $this->groupCache;
|
||||||
return $return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue