1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
| <html>
<head>
<meta http-equiv="refresh" content="url=index.php">
<meta charset="utf-8">
</head>
<body>
<form name="RecherchePersonne" method="post" onsubmit=addwildcard() action="index.php">
<input type="text" name="givenName" placeholder="Prénom"/> <br/>
<input type="text" name="SN" placeholder="Nom de Famille"/> <br/>
<input type="text" name="mailbox" placeholder="E-mail"/> <br/>
<div class="boutonform">
<button type="submit" name="valider">OK</button>
<!--<input type="submit" name="valider" value="OK"/>!-->
</div>
</form>
<?php
if(isset($_POST['valider']))
{
ini_set('display_errors', 'On');
error_reporting(E_ALL);
include 'functions.php';
// IDENTIFIANTS DE CONNEXION ANONYME AU LDAP
$baseDN = "c=fr";
//$baseDN = "";
//$baseDN = "";
$ldapServer = "ldap.fr";
$ldapServerPort = 389;
// Utilisation de ldap bind
$ldaprdn = 'cn=ldapProxy,c=fr'; // ldap rdn or dn
$ldappass = 'toto'; // associated password
$justthese = array("pcmailtype", "cn", "sn", "givenname", "personaltitle", "delegationtarget", "preferredrfc822originator", "street", "postalcode", "l", "telephonenumber", "login", "direction");
echo "Connexion au serveur <br />\n";
$conn=ldap_connect($ldapServer);
// DISPOSE-T-ON D'UNE CONNEXION AU SERVEUR LDAP ?
if ($conn)
echo "Le résultat de connexion est ".$conn ."<br />\n";
else
die("connexion impossible au serveur LDAP <br />\n");
// VERIFICATION DE LA VERSION DU LDAP UTILISEE
if (ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3)) {
echo "Utilisation de LDAPv3 <br />\n";
} else {
echo "Impossible d'utiliser LDAP V3 <br />\n";
exit;
}
// LE SERVEUR LDAP EST TROUVE, ON POURSUIT LA CONNEXION
// AVEC LES INSTRUCTIONS DE LIAISON
print ("Connexion non anonyme...<br/>");
if ($conn)
{
$bindServerLDAP=ldap_bind($conn, $ldaprdn, $ldappass);
print ("Liaison au serveur : ". ldap_error($conn)."<br />\n");
// EN CAS DE SUCCES DE LA LIAISON, ON RECOIT VRAI
if ($bindServerLDAP)
echo "Le résultat de connexion est $bindServerLDAP <br />\n";
else
die("Liaison impossible au serveur ldap ... <br />\n");
}
// CONNEXION AVEC LES INFORMATIONS SUIVANTES
$gn=$_POST['givenName'];
$sn=$_POST['SN'];
$mailbox=$_POST['mailbox'];
// Construction
if (!empty($sn) && empty($gn) && empty($mailbox) )
{
$queryldap = "sn=" . "*" . $sn . "*";
}
elseif (!empty($gn) && empty($sn) && empty($mailbox))
{
$queryldap = "givenName=" . "*" . $gn . "*";
}
elseif (!empty($mailbox) && empty($sn) && empty($gn))
{
$queryldap = "preferredrfc822originator=" . "*" . $mailbox . "*";
}
elseif (!empty($sn) && !empty($gn) && empty($mailbox))
{
$queryldap = "(&(sn=" . "*" . $sn . "*)". "(givenName=" . "*" . $gn . "*))";
}
elseif (!empty($sn) && !empty($mailbox) && empty($gn))
{
$queryldap = "(&(sn=" . "*" . $sn . "*)". "(preferredrfc822originator=" . "*" . $mailbox . "*))";
}
elseif (!empty($gn) && !empty($mailbox) && empty($sn))
{
$queryldap = "(&(givenName=" . "*" . $gn . "*)". "(preferredrfc822originator=" . "*" . $mailbox . "*))";
}
elseif (!empty($sn) && !empty($gn) && !empty($mailbox))
{
$queryldap = "(&(sn=" . "*" . $sn . "*)" . "(givenName=" . "*" . $gn . "*)" . "(preferredrfc822originator=" . "*" . $mailbox . "*))" ;
}
else
{
$queryldap="";
}
$result=ldap_search($conn, $baseDN, $queryldap, $justthese);
$info = ldap_get_entries($conn, $result);
$countinfo = ldap_count_entries($conn,$result);
echo "Le nombre d'entrées retournées est " . $countinfo . "<br />\n";
echo "\n<h1>Dump all data</h1><br />\n";
if (isset($countinfo))
{
if ($countinfo == 0)
{
echo "<div class='menudroit'><div class='subtitle'>Aucune Personne Trouvée (" . $countinfo . ")";
}
elseif ($countinfo == 1)
{
echo "<div class='menudroit'><div class='subtitle'>Personne Trouvée (" . $countinfo . ")";
}
else
{
echo "<div class='menudroit'><div class='subtitle'>Personnes Trouvées (" . $countinfo . ") / (Max = 500)";
}
AfficheTableau($info);
echo "</div><br>";
}
echo "<pre>";
print_r($info);
echo "</pre>";
/* CLOTURE DES CONNEXIONS DB & LDAP */
echo "Fermeture de la connexion";
ldap_close($conn);
}
?>
</body>
</html> |
Partager