forked from Wavyzz/dolibarr
Fix: Error when creating a group using posix class
This commit is contained in:
@@ -218,6 +218,10 @@ class InterfaceLdapsynchro
|
|||||||
$info=$object->_load_ldap_info();
|
$info=$object->_load_ldap_info();
|
||||||
$dn=$object->_load_ldap_dn($info);
|
$dn=$object->_load_ldap_dn($info);
|
||||||
|
|
||||||
|
// Get a gid number for objectclass PosixGroup
|
||||||
|
if(in_array('posixGroup',$info['objectclass']))
|
||||||
|
$info['gidNumber'] = $ldap->getNextGroupGid();
|
||||||
|
|
||||||
$result=$ldap->add($dn,$info,$user);
|
$result=$ldap->add($dn,$info,$user);
|
||||||
if ($result < 0)
|
if ($result < 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1316,6 +1316,33 @@ class Ldap
|
|||||||
if ($pagecodeto == 'UTF-8' && $conf->file->character_set_client == 'ISO-8859-1') $str=utf8_encode($str);
|
if ($pagecodeto == 'UTF-8' && $conf->file->character_set_client == 'ISO-8859-1') $str=utf8_encode($str);
|
||||||
return $str;
|
return $str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Return available value of group GID
|
||||||
|
* \param
|
||||||
|
* \return int gid number
|
||||||
|
*/
|
||||||
|
function getNextGroupGid() {
|
||||||
|
global $conf;
|
||||||
|
$search='('.$conf->global->LDAP_KEY_GROUPS.'=*)';
|
||||||
|
$result = $this->search($this->groups,$search);
|
||||||
|
if($result) {
|
||||||
|
$c = $result['count'];
|
||||||
|
$gids = array();
|
||||||
|
for($i=0;$i<$c;$i++)
|
||||||
|
{
|
||||||
|
$gids[] = $result[$i]['gidnumber'][0];
|
||||||
|
}
|
||||||
|
rsort($gids);
|
||||||
|
|
||||||
|
|
||||||
|
return $gids[0]+1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user