".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");
?>