From: x2000habouzit Date: Sat, 17 Jul 2004 15:03:11 +0000 (+0000) Subject: one more X-Git-Tag: xorg/old~1796 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=6961fcbc68c51895dc9ccc7fb707c634038ebea0;p=platal.git one more +--------+--------+--------+--------+ | todo | post | done | tot. | +--------+--------+--------+--------+ | 30 | 32 | 112 | 174 | | 17% | 18% | 65% | 100% | +--------+--------+--------+--------+ --- diff --git a/etat_migration b/etat_migration index d652910..05ac7f6 100644 --- a/etat_migration +++ b/etat_migration @@ -33,7 +33,6 @@ Etat | Ancien nom | Nouveau nom ------+-[ inscription + mdp ]---------------------+---------------- ; | inscrire.php | ; | maj.php | -; | recovery.php | ; | step4.php | ; | tmpPWD.php | ------+-[ bordel ]--------------------------------+---------------- @@ -175,6 +174,7 @@ xx | paiement/index.php | - xx | pattecassee.php | - xx | preferences.php | - xx | profil.php | TODO : reste 2-3 trucs comme popWin() a changer +xx | recovery.php | xx! | redirect/error.php | - xx! | redirect/redirect.php | - xx | referent.php | TODO : utilise la css de recherche qui n'est pas encore migré diff --git a/htdocs/recovery.php b/htdocs/recovery.php new file mode 100644 index 0000000..b2e707d --- /dev/null +++ b/htdocs/recovery.php @@ -0,0 +1,76 @@ +assign('error', "Date de naissance incorrecte ou incohérente"); + $page->run(); + } + + $mailorg=strtok($_REQUEST['login'],"@"); + + // paragraphe rajouté : si la date de naissance dans la base n'existe pas, on l'update + // avec celle fournie ici en espérant que c'est la bonne + + $sql="SELECT user_id, naissance FROM auth_user_md5 WHERE username='$mailorg'"; + $result=$globals->db->query($sql); + if (list($uid,$naissance)=mysql_fetch_array($result)) { + if((strlen($naissance))<5) { + $globals->db->query("UPDATE auth_user_md5 SET naissance={$_REQUEST['birth']} WHERE user_id=$uid"); + $naissance = $_REQUEST['birth']; + } + } + mysql_free_result($result); + + if ($naissance == $_REQUEST['birth']) { + $page->assign('ok', true); + $url=rand_url_id(); + $stamp=date("Y-m-d H:i:s"); + $sql="INSERT INTO perte_pass (certificat,uid,created) VALUES ('$url',$uid,'$stamp')"; + + $globals->db->query($sql); + + // on recupere les emails sans tenir comptes du flags active (ni des autres) + // sauf qu'il ne faut pas prendre la ligne qui possède l'éventuel appel + // au filtre personnel (ligne dont le num = 0) + $result=$globals->db->query("select email from emails where uid = $uid and num != 0"); + + $emails = array(); + while(list($email) = mysql_fetch_row($result)) { + $emails[] = $email; + } + mysql_free_result($result); + $emails = implode(',', $emails); + + require("diogenes.mailer.inc.php"); + $mymail = new DiogenesMailer('Gestion des mots de passe ', + $emails, 'Ton certificat d\'authentification', false); + + $mymail->setBody("Visite la page suivante qui expire dans six heures : +$baseurl/tmpPWD.php?certificat=$url + +Si en cliquant dessus tu n'y arrives pas, copie intégralement l'adresse dans la barre de ton navigateur. + +-- +Polytechnique.org +\"Le portail des élèves & anciens élèves de l'Ecole polytechnique\"".((!empty($_POST["email"])) ? " + +Adresse de secours : {$_POST['email']}" : "")." + + +Mail envoyé à {$_REQUEST['login']}"); + $mymail->send(); + + // on cree un objet logger et on log l'evenement + $logger = $_SESSION['log'] = (isset($logger) ? $logger : new DiogenesCoreLogger($uid)); + $logger->log("recovery",$emails); + } else { + $page->assign('error', "Pas de résultat correspondant aux champs entrés dans notre base de données."); + } +} + +$page->run(); +?> diff --git a/templates/profil/naissance.tpl b/templates/profil/naissance.tpl index 34519df..74b05e6 100644 --- a/templates/profil/naissance.tpl +++ b/templates/profil/naissance.tpl @@ -1,4 +1,4 @@ -{* $Id: naissance.tpl,v 1.2 2004-07-17 12:09:45 x2000habouzit Exp $ *} +{* $Id: naissance.tpl,v 1.3 2004-07-17 15:03:13 x2000habouzit Exp $ *} {if $etat_naissance == 'ok'}