do not use in_cache
This commit is contained in:
parent
81185b5072
commit
112a320555
|
@ -527,7 +527,7 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
// Add new memberships
|
// Add new memberships
|
||||||
if (is_array($this->groups)) {
|
if (is_array($this->groups)) {
|
||||||
foreach ($this->groups as $group) {
|
foreach ($this->groups as $group) {
|
||||||
$dn = $_SESSION['cache']->in_cache($group, 'cn', 'group');
|
$dn = $this->getGroupDN($group);
|
||||||
$return[$dn]['add']['memberUid'][0] = $this->attributes['uid'][0];
|
$return[$dn]['add']['memberUid'][0] = $this->attributes['uid'][0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -808,11 +808,11 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
// Create automatic useraccount with number if original user already exists
|
// Create automatic useraccount with number if original user already exists
|
||||||
// Reset name to original name if new name is in use
|
// Reset name to original name if new name is in use
|
||||||
// Set username back to original name if new username is in use
|
// Set username back to original name if new username is in use
|
||||||
if ($_SESSION['cache']->in_cache($this->attributes['uid'][0],'uid', array('user', 'host')) && ($this->orig['uid'][0]!=''))
|
if ((sizeof(searchLDAPByAttribute('uid', $this->attributes['uid'][0], 'posixAccount', array('uid'), array('user', 'host'))) > 0) && ($this->orig['uid'][0]!=''))
|
||||||
$this->attributes['uid'][0] = $this->orig['uid'][0];
|
$this->attributes['uid'][0] = $this->orig['uid'][0];
|
||||||
// Change uid to a new uid until a free uid is found
|
// Change uid to a new uid until a free uid is found
|
||||||
else
|
else
|
||||||
while ($_SESSION['cache']->in_cache($this->attributes['uid'][0], 'uid', array('user', 'host'))) {
|
while (sizeof(searchLDAPByAttribute('uid', $this->attributes['uid'][0], 'posixAccount', array('uid'), array('user', 'host'))) > 0) {
|
||||||
if ($this->get_scope()=='host') $this->attributes['uid'][0] = substr($this->attributes['uid'][0], 0, -1);
|
if ($this->get_scope()=='host') $this->attributes['uid'][0] = substr($this->attributes['uid'][0], 0, -1);
|
||||||
// get last character of username
|
// get last character of username
|
||||||
$lastchar = substr($this->attributes['uid'][0], strlen($this->attributes['uid'][0])-1, 1);
|
$lastchar = substr($this->attributes['uid'][0], strlen($this->attributes['uid'][0])-1, 1);
|
||||||
|
@ -1772,7 +1772,7 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the group ID of the given group
|
* Returns the group ID of the given group.
|
||||||
*
|
*
|
||||||
* @param String $groupname group name
|
* @param String $groupname group name
|
||||||
* @return String GID
|
* @return String GID
|
||||||
|
@ -1799,6 +1799,20 @@ class posixAccount extends baseModule implements passwordService {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the group DN of the given group.
|
||||||
|
*
|
||||||
|
* @param String $groupname group name
|
||||||
|
* @return String DN
|
||||||
|
*/
|
||||||
|
private function getGroupDN($groupname) {
|
||||||
|
$results = searchLDAPByAttribute('cn', $groupname, 'posixGroup', array('dn'), array('group'));
|
||||||
|
if ((sizeof($results) > 0) && isset($results[0]['dn'][0])) {
|
||||||
|
return $results[0]['dn'];
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds all existing LDAP groups.
|
* Finds all existing LDAP groups.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue