From 97be4b83b90a9e9e261aef52c073a04b7578dd6d Mon Sep 17 00:00:00 2001 From: Rodolphe Quiedeville Date: Mon, 8 Aug 2005 13:24:39 +0000 Subject: [PATCH] Ajout Debug Syslog --- htdocs/contact.class.php | 425 ++++++++++++++++++++------------------- 1 file changed, 215 insertions(+), 210 deletions(-) diff --git a/htdocs/contact.class.php b/htdocs/contact.class.php index e7e76666c07..0911cc53d48 100644 --- a/htdocs/contact.class.php +++ b/htdocs/contact.class.php @@ -98,6 +98,7 @@ class Contact */ function update($id, $user=0) { + dolibarr_syslog("Contact::Update id=".$id,LOG_DEBUG); $this->id = $id; $this->error = array(); @@ -116,8 +117,8 @@ class Contact $sql = "UPDATE ".MAIN_DB_PREFIX."socpeople SET "; $sql .= " civilite='$this->civilite_id'"; - $sql .= ", name='$this->name'"; - $sql .= ", firstname='$this->firstname'"; + $sql .= ", name='".trim($this->name)."'"; + $sql .= ", firstname='".trim($this->firstname)."'"; $sql .= ", address='$this->address'"; $sql .= ", cp='$this->cp'"; $sql .= ", ville='$this->ville'"; @@ -140,16 +141,16 @@ class Contact if (!$result) { - $this->error='Echec sql='.$sql; + $this->error='Echec sql='.$sql; } - if (defined('MAIN_MODULE_LDAP') && MAIN_MODULE_LDAP) + if (defined('MAIN_MODULE_LDAP') && MAIN_MODULE_LDAP) { - if (defined('LDAP_CONTACT_ACTIVE') && LDAP_CONTACT_ACTIVE == 1) - - $this->update_ldap($user); - - + if (defined('LDAP_CONTACT_ACTIVE') && LDAP_CONTACT_ACTIVE == 1) + { + $this->update_ldap($user); + } + } return $result; } @@ -161,188 +162,192 @@ class Contact */ function update_ldap($user) { + $info = array(); + dolibarr_syslog("Contact::update_ldap",LOG_DEBUG); + $this->fetch($this->id); $ds = dolibarr_ldap_connect(); if ($ds) { - dolibarr_ldap_setversion($ds,$version); - $ldapbind = dolibarr_ldap_bind($ds); if ($ldapbind) { - if (LDAP_SERVER_TYPE == 'activedirectory') //enlever utf8 pour etre compatible Windows + if (LDAP_SERVER_TYPE == 'activedirectory') //enlever utf8 pour etre compatible Windows { - $info["objectclass"][0] = "top"; - $info["objectclass"][1] = "person"; - $info["objectclass"][2] = "organizationalPerson"; - //$info["objectclass"][3] = "inetOrgPerson"; - $info["objectclass"][3] = "user"; - - $info["cn"] = $this->firstname." ".$this->name; - $info["sn"] = $this->name; - $info["givenName"] = $this->firstname; - - if ($this->poste) - $info["title"] = $this->poste; - - if ($this->socid > 0) - { - $soc = new Societe($this->db); - $soc->fetch($this->socid); - $info["o"] = $soc->nom; - $info["company"] = $soc->nom; - - if ($soc->client == 1) - $info["businessCategory"] = "Clients"; - elseif ($soc->client == 2) - $info["businessCategory"] = "Prospects"; - - if ($soc->fournisseur == 1) - $info["businessCategory"] = "Fournisseurs"; - - if ($soc->ville) - { + $info["objectclass"][0] = "top"; + $info["objectclass"][1] = "person"; + $info["objectclass"][2] = "organizationalPerson"; + //$info["objectclass"][3] = "inetOrgPerson"; + $info["objectclass"][3] = "user"; + + $info["cn"] = $this->firstname." ".$this->name; + $info["sn"] = $this->name; + $info["givenName"] = $this->firstname; + + if ($this->poste) + $info["title"] = $this->poste; + + if ($this->socid > 0) + { + $soc = new Societe($this->db); + $soc->fetch($this->socid); + $info["o"] = $soc->nom; + $info["company"] = $soc->nom; + + if ($soc->client == 1) + $info["businessCategory"] = "Clients"; + elseif ($soc->client == 2) + $info["businessCategory"] = "Prospects"; + + if ($soc->fournisseur == 1) + $info["businessCategory"] = "Fournisseurs"; + + if ($soc->ville) + { if ($soc->adresse) - $info["streetAddress"] = $soc->adresse; - + $info["streetAddress"] = $soc->adresse; + if ($soc->cp) - $info["postalCode"] = $soc->cp; - - $info["l"] = $soc->ville; - } + $info["postalCode"] = $soc->cp; + + $info["l"] = $soc->ville; + } + } + + if ($this->phone_pro) + $info["telephoneNumber"] = dolibarr_print_phone($this->phone_pro); + + if ($this->phone_perso) + $info["homePhone"] = dolibarr_print_phone($this->phone_perso); + + if ($this->phone_mobile) + $info["mobile"] = dolibarr_print_phone($this->phone_mobile); + + if ($this->fax) + $info["facsimileTelephoneNumber"] = dolibarr_print_phone($this->fax); + + if ($this->note) + $info["description"] = ($this->note); + if ($this->email) + $info["mail"] = $this->email; + + $dn = "cn=".$info["cn"].",".LDAP_CONTACT_DN; + + $r = @ldap_delete($ds, $dn); + + if (! @ldap_add($ds, $dn, $info)) + { + $this->error[0] = ldap_err2str(ldap_errno($ds)); + } } - - if ($this->phone_pro) - $info["telephoneNumber"] = dolibarr_print_phone($this->phone_pro); - - if ($this->phone_perso) - $info["homePhone"] = dolibarr_print_phone($this->phone_perso); - - if ($this->phone_mobile) - $info["mobile"] = dolibarr_print_phone($this->phone_mobile); - - if ($this->fax) - $info["facsimileTelephoneNumber"] = dolibarr_print_phone($this->fax); - - if ($this->note) - $info["description"] = ($this->note); - if ($this->email) - $info["mail"] = $this->email; - - $dn = "cn=".$info["cn"].",".LDAP_CONTACT_DN; - - $r = @ldap_delete($ds, $dn); - - if (! @ldap_add($ds, $dn, $info)) - { - $this->error[0] = ldap_err2str(ldap_errno($ds)); - } - } - else - { - $info["objectclass"][0] = "top"; - $info["objectclass"][1] = "person"; - $info["objectclass"][2] = "organizationalPerson"; - $info["objectclass"][3] = "inetOrgPerson"; - - $info["cn"] = utf8_encode($this->firstname." ".$this->name); - $info["sn"] = utf8_encode($this->name); - $info["givenName"] = utf8_encode($this->firstname); - - if ($this->poste) - $info["title"] = utf8_encode($this->poste); - - if ($this->socid > 0) - { - $soc = new Societe($this->db); - $soc->fetch($this->socid); - $info["o"] = utf8_encode($soc->nom); - - if ($soc->client == 1) - $info["businessCategory"] = utf8_encode("Clients"); - elseif ($soc->client == 2) - $info["businessCategory"] = utf8_encode("Prospects"); - - if ($soc->fournisseur == 1) - $info["businessCategory"] = utf8_encode("Fournisseurs"); - - if ($soc->ville) - { - if ($soc->adresse) - $info["street"] = utf8_encode($soc->adresse); - - if ($soc->cp) - $info["postalCode"] = utf8_encode($soc->cp); - - $info["l"] = utf8_encode($soc->ville); - } - } - - if ($this->phone_pro) - $info["telephoneNumber"] = dolibarr_print_phone($this->phone_pro); - - if ($this->phone_perso) - $info["homePhone"] = dolibarr_print_phone($this->phone_perso); - - if ($this->phone_mobile) - $info["mobile"] = dolibarr_print_phone($this->phone_mobile); - - if ($this->fax) - $info["facsimileTelephoneNumber"] = dolibarr_print_phone($this->fax); - - if ($this->note) - $info["description"] = ($this->note); - - if(LDAP_SERVER_TYPE == 'egroupware') - { - $info["objectclass"][4] = "phpgwContact"; // compatibilite egroupware - - if ($this->email) - $info["rfc822Mailbox"] = $this->email; - - $info['uidnumber'] = $this->id; - - $info['phpgwTz'] = 0; - $info['phpgwMailType'] = 'INTERNET'; - $info['phpgwMailHomeType'] = 'INTERNET'; - - $info["uid"] = $this->id. ":".$info["sn"]; - $info["phpgwContactTypeId"] = 'n'; - $info["phpgwContactCatId"] = 0; - $info["phpgwContactAccess"] = "public"; - - if (strlen($user->egroupware_id) == 0) - { - $user->egroupware_id = 1; - } - - $info["phpgwContactOwner"] = $user->egroupware_id; - - if ($this->phone_mobile) - $info["phpgwCellTelephoneNumber"] = dolibarr_print_phone($this->phone_mobile); - } else { - if ($this->email) - $info["mail"] = $this->email; - } - - $dn = "cn=".$info["cn"].",".LDAP_CONTACT_DN; + $info["objectclass"][0] = "top"; + $info["objectclass"][1] = "person"; + $info["objectclass"][2] = "organizationalPerson"; + $info["objectclass"][3] = "inetOrgPerson"; + + $info["cn"] = utf8_encode($this->firstname." ".$this->name); + $info["sn"] = utf8_encode($this->name); + $info["givenName"] = utf8_encode($this->firstname); + + if ($this->poste) + $info["title"] = utf8_encode($this->poste); + + if ($this->socid > 0) + { + $soc = new Societe($this->db); + $soc->fetch($this->socid); + $info["o"] = utf8_encode($soc->nom); + + if ($soc->client == 1) + $info["businessCategory"] = utf8_encode("Clients"); + elseif ($soc->client == 2) + $info["businessCategory"] = utf8_encode("Prospects"); + + if ($soc->fournisseur == 1) + $info["businessCategory"] = utf8_encode("Fournisseurs"); + + if ($soc->ville) + { + if ($soc->adresse) + $info["street"] = utf8_encode($soc->adresse); + + if ($soc->cp) + $info["postalCode"] = utf8_encode($soc->cp); + + $info["l"] = utf8_encode($soc->ville); + } + } + + if ($this->phone_pro) + $info["telephoneNumber"] = dolibarr_print_phone($this->phone_pro); + + if ($this->phone_perso) + $info["homePhone"] = dolibarr_print_phone($this->phone_perso); + + if ($this->phone_mobile) + $info["mobile"] = dolibarr_print_phone($this->phone_mobile); + + if ($this->fax) + $info["facsimileTelephoneNumber"] = dolibarr_print_phone($this->fax); + + if ($this->note) + $info["description"] = ($this->note); + + if(LDAP_SERVER_TYPE == 'egroupware') + { + $info["objectclass"][4] = "phpgwContact"; // compatibilite egroupware + + if ($this->email) + $info["rfc822Mailbox"] = $this->email; + + $info['uidnumber'] = $this->id; + + $info['phpgwTz'] = 0; + $info['phpgwMailType'] = 'INTERNET'; + $info['phpgwMailHomeType'] = 'INTERNET'; + + $info["uid"] = $this->id. ":".$info["sn"]; + $info["phpgwContactTypeId"] = 'n'; + $info["phpgwContactCatId"] = 0; + $info["phpgwContactAccess"] = "public"; + + if (strlen($user->egroupware_id) == 0) + { + $user->egroupware_id = 1; + } + + $info["phpgwContactOwner"] = $user->egroupware_id; + + if ($this->phone_mobile) + $info["phpgwCellTelephoneNumber"] = dolibarr_print_phone($this->phone_mobile); + } + else + { + if ($this->email) + $info["mail"] = $this->email; + } - $r = @ldap_delete($ds, $dn); - - if (! @ldap_add($ds, $dn, $info)) - { - $this->error[0] = ldap_err2str(ldap_errno($ds)); + $dn = "cn=".$info["cn"].",".LDAP_CONTACT_DN; + + dolibarr_syslog("Contact::update_ldap dn : ".$dn,LOG_DEBUG); + + $r = @ldap_delete($ds, $dn); + + if (! @ldap_add($ds, $dn, $info)) + { + $this->error[0] = ldap_err2str(ldap_errno($ds)); + dolibarr_syslog("Contact::update_ldap error : ".$this->error[0],LOG_ERR); + } } } - } else { - echo "Connexion au dn $dn échoué !"; + dolibarr_syslog("Contact::update_ldap bind failed",LOG_DEBUG); } dolibarr_ldap_unbind($ds); @@ -350,6 +355,7 @@ class Contact } else { + dolibarr_syslog("Contact::update_ldap Connexion failed",LOG_DEBUG); echo "Impossible de se connecter au serveur LDAP !"; } } @@ -574,56 +580,55 @@ class Contact $result = $this->db->query($sql); if (!$result) - { - print $this->db->error() . '
' . $sql; - } - - if (defined('MAIN_MODULE_LDAP') && MAIN_MODULE_LDAP) - { - if (defined('LDAP_CONTACT_ACTIVE') && LDAP_CONTACT_ACTIVE == 1) - { - - $ds = dolibarr_ldap_connect(); + { + print $this->db->error() . '
' . $sql; + } - if ($ds) + if (defined('MAIN_MODULE_LDAP') && MAIN_MODULE_LDAP) + { + if (defined('LDAP_CONTACT_ACTIVE') && LDAP_CONTACT_ACTIVE == 1) { - dolibarr_ldap_setversion($ds, $version); - $ldapbind = dolibarr_ldap_bind($ds); - if ($ldapbind) - { - // delete from ldap directory - if (LDAP_SERVER_TYPE == 'activedirectory') - { - $userdn = $this->old_firstname." ".$this->old_name; //enlever utf8 pour etre compatible Windows - } - else - { - $userdn = utf8_encode($this->old_firstname." ".$this->old_name); - } - $dn = "cn=".$userdn.",".LDAP_CONTACT_DN; + $ds = dolibarr_ldap_connect(); + + if ($ds) + { + $ldapbind = dolibarr_ldap_bind($ds); + if ($ldapbind) + { + // delete from ldap directory + if (LDAP_SERVER_TYPE == 'activedirectory') + { + $userdn = $this->old_firstname." ".$this->old_name; //enlever utf8 pour etre compatible Windows + } + else + { + $userdn = utf8_encode($this->old_firstname." ".$this->old_name); + } + $dn = "cn=".$userdn.",".LDAP_CONTACT_DN; + $r = @ldap_delete($ds, $dn); } - else + else { - echo "LDAP bind failed..."; + echo "LDAP bind failed..."; } - ldap_close($ds); - - } - else - { - echo "Unable to connect to LDAP server"; - } - - - return $result; + ldap_close($ds); + + } + else + { + echo "Unable to connect to LDAP server"; + } + + + return $result; + } + } } - } -} - + /* * \brief Charge les informations sur le contact, depuis la base * \param id id du contact à charger