[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 <?php 2 3 4 /** 5 6 * Reinitialise les mots de passe 7 * @Version $Id: pass_user_init.php 7716 2013-03-16 23:52:10Z christian.westphal $ 8 9 * @Projet LCS / SambaEdu 10 11 * @auteurs jLCF jean-luc.chretien@tice.ac-caen.fr 12 * @auteurs oluve olivier.le_monnier@crdp.ac-caen.fr 13 * @auteurs wawa olivier.lecluse@crdp.ac-caen.fr 14 * @auteurs Equipe Tice academie de Caen 15 16 * @Licence Distribue selon les termes de la licence GPL 17 18 * @note 19 */ 20 21 /** 22 23 * @Repertoire: annu 24 * file: pass_user_init.php 25 */ 26 27 28 29 30 31 include "entete.inc.php"; 32 include "ldap.inc.php"; 33 include "ihm.inc.php"; 34 35 require_once ("lang.inc.php"); 36 bindtextdomain('se3-annu',"/var/www/se3/locale"); 37 textdomain ('se3-annu'); 38 39 40 if ((is_admin("annu_can_read",$login)=="Y") || (is_admin("Annu_is_admin",$login)=="Y") || (is_admin("savajon_is_admin",$login)=="Y")) { 41 42 //Aide 43 $_SESSION["pageaide"]="Annuaire"; 44 45 if (!isset($_SESSION['comptes_crees'])) { 46 $_SESSION['comptes_crees'] = array(array()) ; // un sous-tableau par compte ; le deuxième tableau est, dans l'ordre nom, prenom, classe (?? en fait, non) (ou 'prof'), uid, password 47 array_splice($_SESSION['comptes_crees'], 0, 1); 48 } 49 50 echo "<h1>".gettext("Annuaire")."</h1>\n"; 51 52 $uid_init=$_GET['uid']; 53 54 // Recherche d'utilisateurs dans la branche people 55 $filter="(uid=$uid_init)"; 56 $ldap_search_people_attr = array("gecos","givenName","sn"); 57 58 $ds = @ldap_connect ( $ldap_server, $ldap_port ); 59 if ( $ds ) { 60 $r = @ldap_bind ( $ds ); // Bind anonyme 61 if ($r) { 62 // Recherche dans la branche people 63 $result = @ldap_search ( $ds, $dn["people"], $filter, $ldap_search_people_attr ); 64 if ($result) { 65 $info = @ldap_get_entries ( $ds, $result ); 66 if ( $info["count"]) { 67 for ($loop=0; $loop<$info["count"];$loop++) { 68 $gecos = $info[0]["gecos"][0]; 69 70 $prenom = $info[0]["givenname"][0]; 71 $nom = $info[0]["sn"][0]; 72 $tmp = preg_split ("/,/",$info[0]["gecos"][0],4); 73 $date_naiss=$tmp[1]; 74 75 switch ($pwdPolicy) { 76 case 0: // date de naissance 77 $userpwd=$date_naiss; 78 echo gettext("Mot de passe réinitialisé à la date de naissance : "); 79 break; 80 case 1: // semi-aleatoire 81 exec("/usr/share/se3/sbin/gen_pwd.sh -s", $out); 82 $userpwd=$out[0]; 83 echo gettext("Mot de passe réinitialisé à : "); 84 break; 85 case 2: // aleatoire 86 exec("/usr/share/se3/sbin/gen_pwd.sh -a", $out); 87 $userpwd=$out[0]; 88 break; 89 echo gettext("Mot de passe réinitialisé à : "); 90 } 91 92 echo $userpwd."<br><br>"; 93 userChangedPwd($uid_init, $userpwd); 94 95 // ajouter vérification de doublon en cas de modifs successives pour un même uid. 96 $doublon = false; 97 foreach($_SESSION['comptes_crees'] as &$key) { 98 if ($key['uid'] == $uid_init){ // doublon : mise à jour pwd 99 $doublon = true; 100 $key['pwd'] = $userpwd; 101 break; 102 } 103 } 104 if (!$doublon) { 105 $nouveau = array('nom'=>"$nom", 'pre'=>"$prenom", 'uid'=>"$uid_init", 'pwd'=>"$userpwd"); 106 $_SESSION['comptes_crees'][]=$nouveau; 107 } 108 $doublon = false; 109 110 } 111 } 112 113 @ldap_free_result ( $result ); 114 } else { 115 $error = gettext("Erreur de lecture dans l'annuaire LDAP"); 116 } 117 118 } else { 119 $error = gettext("Echec du bind anonyme"); 120 } 121 @ldap_close ( $ds ); 122 } else { 123 $error = gettext("Erreur de connection au serveur LDAP"); 124 } 125 126 include("listing.inc.php"); 127 128 } 129 130 include("pdp.inc.php"); 131 ?> 132
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |