".gettext("Annuaire")."\n"; $uid_init=$_GET['uid']; // Recherche d'utilisateurs dans la branche people $filter="(uid=$uid_init)"; $ldap_search_people_attr = array("gecos","givenName","sn"); $ds = @ldap_connect ( $ldap_server, $ldap_port ); if ( $ds ) { $r = @ldap_bind ( $ds ); // Bind anonyme if ($r) { // Recherche dans la branche people $result = @ldap_search ( $ds, $dn["people"], $filter, $ldap_search_people_attr ); if ($result) { $info = @ldap_get_entries ( $ds, $result ); if ( $info["count"]) { for ($loop=0; $loop<$info["count"];$loop++) { $gecos = $info[0]["gecos"][0]; $prenom = $info[0]["givenname"][0]; $nom = $info[0]["sn"][0]; $tmp = preg_split ("/,/",$info[0]["gecos"][0],4); $date_naiss=$tmp[1]; switch ($pwdPolicy) { case 0: // date de naissance $userpwd=$date_naiss; echo gettext("Mot de passe réinitialisé à la date de naissance : "); break; case 1: // semi-aleatoire exec("/usr/share/se3/sbin/gen_pwd.sh -s", $out); $userpwd=$out[0]; echo gettext("Mot de passe réinitialisé à : "); break; case 2: // aleatoire exec("/usr/share/se3/sbin/gen_pwd.sh -a", $out); $userpwd=$out[0]; break; echo gettext("Mot de passe réinitialisé à : "); } echo $userpwd."

"; userChangedPwd($uid_init, $userpwd); // ajouter vérification de doublon en cas de modifs successives pour un même uid. $doublon = false; foreach($_SESSION['comptes_crees'] as &$key) { if ($key['uid'] == $uid_init){ // doublon : mise à jour pwd $doublon = true; $key['pwd'] = $userpwd; break; } } if (!$doublon) { $nouveau = array('nom'=>"$nom", 'pre'=>"$prenom", 'uid'=>"$uid_init", 'pwd'=>"$userpwd"); $_SESSION['comptes_crees'][]=$nouveau; } $doublon = false; } } @ldap_free_result ( $result ); } else { $error = gettext("Erreur de lecture dans l'annuaire LDAP"); } } else { $error = gettext("Echec du bind anonyme"); } @ldap_close ( $ds ); } else { $error = gettext("Erreur de connection au serveur LDAP"); } include("listing.inc.php"); } include("pdp.inc.php"); ?>