More user-friendly text for password recovery
authorx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Sun, 24 Dec 2006 14:51:10 +0000 (14:51 +0000)
committerx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Sun, 24 Dec 2006 14:51:10 +0000 (14:51 +0000)
Give a new significance to the mail given in the recovery form

git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1315 839d8a87-29fc-0310-9880-83ba4fa771e5

modules/platal.php
templates/platal/recovery.tpl

index 2db2fda..400edea 100644 (file)
@@ -261,10 +261,20 @@ class PlatalModule extends PLModule
             $page->assign('ok', true);
 
             $url   = rand_url_id(); 
-            XDB::execute('INSERT INTO perte_pass (certificat,uid,created) VALUES ({?},{?},NOW())', $url, $uid);
-            $res   = XDB::query('SELECT email FROM emails WHERE uid = {?} AND NOT FIND_IN_SET("filter", flags)', $uid);
-            $mails = implode(', ', $res->fetchColumn());
-
+            XDB::execute('INSERT INTO  perte_pass (certificat,uid,created) 
+                               VALUES  ({?},{?},NOW())', $url, $uid);
+            $res   = XDB::query('SELECT  email
+                                   FROM  emails
+                                  WHERE  uid = {?} AND email = {?}',
+                                $uid, Post::v('email'));
+            if ($res->numRows()) {
+                $mails = $res->fetchOneCell();
+            } else {
+                $res   = XDB::query('SELECT  email
+                                       FROM  emails
+                                      WHERE  uid = {?} AND NOT FIND_IN_SET("filter", flags)', $uid);
+                $mails = implode(', ', $res->fetchColumn());
+            }
             $mymail = new PlMailer();
             $mymail->setFrom('"Gestion des mots de passe" <support+password@polytechnique.org>');
             $mymail->addTo($mails);
@@ -276,17 +286,15 @@ Si en cliquant dessus tu n'y arrives pas, copie int
 
 -- 
 Polytechnique.org
-\"Le portail des élèves & anciens élèves de l'Ecole polytechnique\"".(Post::v('email') ? "
-
-Adresse de secours :
-    ".Post::v('email') : "")."
+\"Le portail des élèves & anciens élèves de l'Ecole polytechnique\"
 
-Mail envoyé à ".Env::v('login'));
+Mail envoyé à ".Env::v('login') . (Post::has('email') ? "
+Adresse de secours : " . Post::v('email') : ""));
             $mymail->send();
 
             // on cree un objet logger et on log l'evenement
             $logger = $_SESSION['log'] = new CoreLogger($uid);
-            $logger->log('recovery', $emails);
+            $logger->log('recovery', $mails);
         } else {
             $page->trig('Les informations que tu as rentrées ne permettent pas de récupérer ton mot de passe.<br />'.
                         'Si tu as un homonyme, utilise prenom.nom.promo comme login');
index ee94646..38c301b 100644 (file)
 {if $ok}
 
 <p>
-<strong>Un certificat d'authentification aléatoire</strong> vient de t'être attribué et envoyé à
-ton adresse en {#globals.mail.domain#}.<span class="erreur"> Il expire dans six heures.</span> Tu dois donc
-<strong>consulter ton mail avant son expiration</strong> et utiliser le certificat comme expliqué
-dans le mail pour changer ton mot de passe.
+<strong>Un certificat d'authentification</strong> vient de t'être attribué et a été envoyé vers les redirections de
+ton adresse en {#globals.mail.domain#}. Ce certificat te permet d'accéder à un formulaire de changement de mot de passe.
+<span class="erreur"> Il expire dans six heures.</span> Tu dois donc <strong>consulter ton mail avant son expiration</strong> et utiliser le certificat comme expliqué dans le mail pour changer ton mot de passe.
 </p>
 <p>
-Si tu n'accèdes pas à ton mail dans les
-6 heures, sollicite un nouveau
-certificat sur cette page.
+Si tu n'accèdes pas à ton mail dans les 6 heures, sollicite un nouveau certificat sur cette page.
 </p>
 
 {else}
 
 <form action="{$platal->ns}recovery" method="post">
   <p>
-  Il est impossible de récupérer le mot de passe perdu (nous n'avons que le résultat après un
-  chiffrement irréversible de ton mot de passe). La procédure suivante va te permettre de choisir un
+  Il est impossible de récupérer le mot de passe perdu car nous n'avons que le résultat après un
+  chiffrement irréversible de ton mot de passe. La procédure suivante va te permettre de choisir un
   nouveau mot de passe.
   </p>
   <p>
   Après avoir complété les informations suivantes, tu recevras à ton adresse {#globals.core.sitename#} un
-  courrier électronique te permettant de choisir ce nouveau mot de passe. Si jamais tu n'as plus
-  accès aux boîtes aux lettres vers lesquelles ton adresse {#globals.core.sitename#} reroute ton courrier,
-  alors indique nous ci-dessous l'adresse à laquelle tu souhaites recevoir le courrier. Nous t'y
-  adresserons le message de création d'un nouveau mot de passe si et seulement si tes anciennes
-  boîtes sont réellement inaccessibles.
+  courrier électronique te permettant de choisir un nouveau mot de passe. Si tu désires que ce mail soit
+  envoyé vers une de tes redirections en particulier, tu peux renseigner l'adresse de cette redirection dans
+  le champ facultatif.
+  </p>
+  <p>
+  Si tu ne reçois pas ce courrier, n'hésite pas à contacter 
+  <a href="mailto:support@polytechnique.org">le support technique</a>.
   </p>
   <table class="tinybicol" cellpadding="3" cellspacing="0" summary="Récupération du mot de passe">
     <tr>
@@ -71,25 +70,19 @@ certificat sur cette page.
     </tr>
     <tr>
       <td class="titre">
-        Adresse électronique : <span class="smaller">(facultatif)</span>
+        Date de naissance :<br />
+        <span class="smaller">format JJMMAAAA soit 01032000<br />pour 1<sup>er</sup> mars 2000</span>
       </td>
       <td>
-        <input type="text" size="20" maxlength="50" name="email" />
+        <input type="text" size="8" maxlength="8" name="birth" />
       </td>
     </tr>
     <tr>
       <td class="titre">
-        Date de naissance :
+        Adresse électronique : <span class="smaller">(facultatif)</span>
       </td>
       <td>
-        <input type="text" size="8" maxlength="8" name="birth" />
-      </td>
-    </tr>
-    <tr>
-      <td colspan="2">
-        <span class="smaller">
-          (format JJMMAAAA soit 01032000 pour 1er mars 2000)
-        </span>
+        <input type="text" size="20" maxlength="50" name="email" />
       </td>
     </tr>
     <tr>