Fix: on verifie si le DN existe sinon nous avons une erreur sur le "olddn" lorsqu'on veut l'effacer

This commit is contained in:
Regis Houssin 2009-12-22 17:35:38 +00:00
parent 898afccb25
commit 35fc21c529

View File

@ -85,10 +85,10 @@ class InterfaceLdapsynchro
} }
/** /**
* \brief Fonction appel<EFBFBD>e lors du d<EFBFBD>clenchement d'un <EFBFBD>v<EFBFBD>nement Dolibarr. * \brief Fonction appelee lors du declenchement d'un evenement Dolibarr.
* D'autres fonctions run_trigger peuvent etre pr<EFBFBD>sentes dans includes/triggers * D'autres fonctions run_trigger peuvent etre presentes dans includes/triggers
* \param action Code de l'evenement * \param action Code de l'evenement
* \param object Objet concern<EFBFBD> * \param object Objet concerne
* \param user Objet user * \param user Objet user
* \param lang Objet lang * \param lang Objet lang
* \param conf Objet conf * \param conf Objet conf
@ -96,8 +96,8 @@ class InterfaceLdapsynchro
*/ */
function run_trigger($action,$object,$user,$langs,$conf) function run_trigger($action,$object,$user,$langs,$conf)
{ {
// Mettre ici le code <EFBFBD> ex<65>cuter en r<>action de l'action // Mettre ici le code a executer en reaction de l'action
// Les donn<EFBFBD>es de l'action sont stock<63>es dans $object // Les donnees de l'action sont stockees dans $object
if (! $conf->ldap->enabled) return 0; // Module non actif if (! $conf->ldap->enabled) return 0; // Module non actif
@ -138,6 +138,15 @@ class InterfaceLdapsynchro
$oldinfo=$object->oldcopy->_load_ldap_info(); $oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo); $olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
// Verify if entry exist
$container=$object->oldcopy->_load_ldap_dn($oldinfo,1);
$search = "(".$object->oldcopy->_load_ldap_dn($oldinfo,2).")";
$records=$ldap->search($container,$search);
if (sizeof($records) && $records['count'] == 0)
{
$olddn = '';
}
$info=$object->_load_ldap_info(); $info=$object->_load_ldap_info();
$dn=$object->_load_ldap_dn($info); $dn=$object->_load_ldap_dn($info);
@ -206,6 +215,15 @@ class InterfaceLdapsynchro
$oldinfo=$object->oldcopy->_load_ldap_info(); $oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo); $olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
// Verify if entry exist
$container=$object->oldcopy->_load_ldap_dn($oldinfo,1);
$search = "(".$object->oldcopy->_load_ldap_dn($oldinfo,2).")";
$records=$ldap->search($container,$search);
if (sizeof($records) && $records['count'] == 0)
{
$olddn = '';
}
$info=$object->_load_ldap_info(); $info=$object->_load_ldap_info();
$dn=$object->_load_ldap_dn($info); $dn=$object->_load_ldap_dn($info);
@ -267,6 +285,15 @@ class InterfaceLdapsynchro
$oldinfo=$object->oldcopy->_load_ldap_info(); $oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo); $olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
// Verify if entry exist
$container=$object->oldcopy->_load_ldap_dn($oldinfo,1);
$search = "(".$object->oldcopy->_load_ldap_dn($oldinfo,2).")";
$records=$ldap->search($container,$search);
if (sizeof($records) && $records['count'] == 0)
{
$olddn = '';
}
$info=$object->_load_ldap_info(); $info=$object->_load_ldap_info();
$dn=$object->_load_ldap_dn($info); $dn=$object->_load_ldap_dn($info);
@ -381,6 +408,15 @@ class InterfaceLdapsynchro
$oldinfo=$object->oldcopy->_load_ldap_info(); $oldinfo=$object->oldcopy->_load_ldap_info();
$olddn=$object->oldcopy->_load_ldap_dn($oldinfo); $olddn=$object->oldcopy->_load_ldap_dn($oldinfo);
// Verify if entry exist
$container=$object->oldcopy->_load_ldap_dn($oldinfo,1);
$search = "(".$object->oldcopy->_load_ldap_dn($oldinfo,2).")";
$records=$ldap->search($container,$search);
if (sizeof($records) && $records['count'] == 0)
{
$olddn = '';
}
$info=$object->_load_ldap_info(); $info=$object->_load_ldap_info();
$dn=$object->_load_ldap_dn($info); $dn=$object->_load_ldap_dn($info);