// fin de l'affichage de la colonne de droite if ($valid == 'no') { echo "</td></tr></table>"; } echo "</body></html>"; die; } echo "</form>\n"; if (@file_exists("../include/config_ldap.inc.php")) { $test_chemin = ''; include "../include/config_ldap.inc.php"; if ($ldap_adresse != '' && $ldap_port != '') { $ok = "OK"; $failed = "Echec"; echo "<hr />\n"; $ds = grr_connect_ldap($ldap_adresse, $ldap_port, $ldap_login, $ldap_pwd, $use_tls, 'y'); if ($ds == "error_1") { returnmsg('danger', 'Test de connexion à l\'annuaire : ', $failed, 'Impossible d\'utiliser la norme LDAP V3'); } else { if ($ds == "error_2") { returnmsg('danger', 'Test de connexion à l\'annuaire : ', $failed, 'Impossible d\'utiliser TLS'); } else { if ($ds == "error_3") { returnmsg('danger', 'Test de connexion à l\'annuaire : ', $failed, 'Connexion établie mais l\'identification auprès du serveur a échoué'); } else { if ($ds == "error_4") { returnmsg('danger', 'Test de connexion à l\'annuaire : ', $failed, 'Impossible d\'établir la connexion'); } else { if (!$ds) { echo encode_message_utf8($failed) . "</h3></div>"; } else {
function grr_getinfo_ldap($_dn, $_login, $_password) { // Lire les infos sur l'utilisateur depuis LDAP include "config_ldap.inc.php"; // Connexion à l'annuaire $ds = grr_connect_ldap($ldap_adresse, $ldap_port, $ldap_login, $ldap_pwd, $use_tls); // Test with login and password of the user if (!$ds) { $ds = grr_connect_ldap($ldap_adresse, $ldap_port, $_login, $_password, $use_tls); } if ($ds) { $result = @ldap_read($ds, $_dn, "objectClass=*", array(Settings::get("ldap_champ_nom"), Settings::get("ldap_champ_prenom"), Settings::get("ldap_champ_email"))); } if (!$result) { return "2"; } // Recuperer les donnees de l'utilisateur $info = @ldap_get_entries($ds, $result); if (!is_array($info)) { return "2"; } for ($i = 0; $i < $info["count"]; $i++) { $val = $info[$i]; if (is_array($val)) { if (isset($val[Settings::get("ldap_champ_nom")][0])) { $l_nom = ucfirst($val[Settings::get("ldap_champ_nom")][0]); } else { $l_nom = iconv("ISO-8859-1", "utf-8", "Nom à préciser"); } if (isset($val[Settings::get("ldap_champ_prenom")][0])) { $l_prenom = ucfirst($val[Settings::get("ldap_champ_prenom")][0]); } else { $l_prenom = iconv("ISO-8859-1", "utf-8", "Prénom à préciser"); } if (isset($val[Settings::get("ldap_champ_email")][0])) { $l_email = $val[Settings::get("ldap_champ_email")][0]; } else { $l_email = ''; } } } // Convertir depuis UTF-8 (jeu de caracteres par defaut) if (function_exists("utf8_decode") and Settings::get("ConvertLdapUtf8toIso") == "y") { $l_email = utf8_decode($l_email); $l_nom = utf8_decode($l_nom); $l_prenom = utf8_decode($l_prenom); } // Return infos return array($l_nom, $l_prenom, $l_email); }