2
0
forked from Wavyzz/dolibarr

Fix: Error when creating a group using posix class

This commit is contained in:
Laurent Destailleur
2011-10-23 20:02:15 +02:00
parent 76aa6607b6
commit c7804b98fd
2 changed files with 32 additions and 1 deletions

View File

@@ -217,7 +217,11 @@ class InterfaceLdapsynchro
$info=$object->_load_ldap_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);
if ($result < 0)
{

View File

@@ -1316,6 +1316,33 @@ class Ldap
if ($pagecodeto == 'UTF-8' && $conf->file->character_set_client == 'ISO-8859-1') $str=utf8_encode($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;
}
}