From 20d90835b01594bd258497eab4afa286a30dd53e Mon Sep 17 00:00:00 2001 From: x2000habouzit Date: Mon, 10 Jul 2006 06:48:09 +0000 Subject: [PATCH] fix a couple of glitches with register module. * not very satifying: the charte that needs to be compiled at least once :/ * hashes, and urls that changed -> put some 'catchs' here... git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@414 839d8a87-29fc-0310-9880-83ba4fa771e5 --- include/marketing.inc.php | 2 +- include/register.inc.php | 2 +- modules/platal.php | 2 +- modules/register.php | 49 ++++++++++++++++++------------------ templates/index.tpl | 2 +- templates/marketing/mail.relance.tpl | 2 +- templates/register/step0.tpl | 2 +- 7 files changed, 31 insertions(+), 30 deletions(-) diff --git a/include/marketing.inc.php b/include/marketing.inc.php index 79fb0a4..74f7312 100644 --- a/include/marketing.inc.php +++ b/include/marketing.inc.php @@ -59,7 +59,7 @@ function mark_text_mail($uid, $email) $text = " ".($u['flags']?"Chère":"Cher")." camarade,\n\n"; $text .= " Ta fiche n'est pas à jour dans l'annuaire des Polytechniciens sur Internet. Pour la mettre à jour, il te suffit de visiter cette page ou de copier cette adresse dans la barre de ton navigateur :\n\n"; $text .= "==========================================================\n"; - $text .= $globals->baseurl."/register/?hash=%%hash%%\n"; + $text .= $globals->baseurl."/register/%%hash%%\n"; $text .= "==========================================================\n\n"; $text .= "Il ne te faut que 5 minutes sur http://www.polytechnique.org/ pour rejoindre les $num_users camarades branchés grâce au système de reroutage de l'X et qui permet de joindre un camarade en connaissant seulement son nom et son prénom... et de bénéficier pour la vie d'une adresse prestigieuse $mailorg@polytechnique.org et son alias discret $mailorg@m4x.org (m4x = mail for X).\n\n"; $text .= "Pas de nouvelle boîte aux lettres à relever, il suffit de la rerouter vers ton adresse personnelle et/ou professionnelle que tu indiques et que tu peux changer tous les jours si tu veux sans imposer à tes correspondants de modifier leur carnet d'adresses...\n\n"; diff --git a/include/register.inc.php b/include/register.inc.php index 0565759..47cae63 100644 --- a/include/register.inc.php +++ b/include/register.inc.php @@ -266,7 +266,7 @@ function finish_ins($sub_state) $uid, $forlife, $bestalias, $mailorg2, $pass_encrypted, $email, $naissance, $hash); require_once('xorg.mailer.inc.php'); - $mymail = new XOrgMailer('mails/inscrire.mail.tpl'); + $mymail = new XOrgMailer('register/inscrire.mail.tpl'); $mymail->assign('mailorg', $bestalias); $mymail->assign('lemail', $email); $mymail->assign('pass', $pass); diff --git a/modules/platal.php b/modules/platal.php index 9faee9f..e8f2acd 100644 --- a/modules/platal.php +++ b/modules/platal.php @@ -75,7 +75,7 @@ class PlatalModule extends PLModule WHERE user_id = {?}", Session::getInt('uid')); $_SESSION['mail_fmt'] = $fmt; - redirect('preferences'); + redirect($globals->baseurl.'/preferences'); } if (Env::has('rss')) { diff --git a/modules/register.php b/modules/register.php index 67f9a26..95aeff8 100644 --- a/modules/register.php +++ b/modules/register.php @@ -24,13 +24,13 @@ class RegisterModule extends PLModule function handlers() { return array( - 'register' => $this->make_hook('register', AUTH_PUB), - 'register/end' => $this->make_hook('end', AUTH_PUB), + 'register' => $this->make_hook('register', AUTH_PUBLIC), + 'register/end' => $this->make_hook('end', AUTH_PUBLIC), 'register/success' => $this->make_hook('success', AUTH_MDP), ); } - function handler_register(&$page) + function handler_register(&$page, $hash = null) { global $globals; @@ -42,15 +42,15 @@ class RegisterModule extends PLModule $sub_state['step'] = max(0,Get::getInt('back')); } - if (Env::has('hash')) { + if ($hash) { $res = $globals->xdb->query( "SELECT m.uid, u.promo, u.nom, u.prenom, u.matricule FROM register_marketing AS m INNER JOIN auth_user_md5 AS u ON u.user_id = m.uid - WHERE m.hash={?}", Env::get('hash')); + WHERE m.hash={?}", $hash); if (list($uid, $promo, $nom, $prenom, $ourmat) = $res->fetchOneRow()) { $sub_state['uid'] = $uid; - $sub_state['hash'] = Env::get('hash'); + $sub_state['hash'] = $hash; $sub_state['promo'] = $promo; $sub_state['nom'] = $nom; $sub_state['prenom'] = $prenom; @@ -117,7 +117,7 @@ class RegisterModule extends PLModule $err[] = "Le champ 'E-mail' n'est pas valide."; } elseif (!isvalid_email_redirection(Post::get('email'))) { $err[] = $sub_state['forlife']." doit renvoyer vers un email existant ". - "valide, en particulier, il ne peut pas être renvoyé vers lui-même."; + "valide, en particulier, il ne peut pas être renvoyé vers lui-même."; } if (!preg_match('/^[0-3][0-9][01][0-9][12][90][0-9][0-9]$/', Post::get('naissance'))) @@ -143,6 +143,7 @@ class RegisterModule extends PLModule $_SESSION['sub_state'] = $sub_state; $page->changeTpl('register/step'.intval($sub_state['step']).'.tpl'); + $page->assign('simple', true); if (isset($err)) { $page->trig($err); } @@ -165,7 +166,7 @@ class RegisterModule extends PLModule u.promo, u.flags FROM register_pending AS r INNER JOIN auth_user_md5 AS u ON r.uid = u.user_id - WHERE hash={?} AND hash!='INSCRIT'", Env::get('hash')); + WHERE hash={?} AND hash!='INSCRIT'", $hash); } if (!$hash || !list($uid, $forlife, $bestalias, $mailorg2, $password, $email, @@ -174,14 +175,14 @@ class RegisterModule extends PLModule $page->kill("

Cette adresse n'existe pas, ou plus, sur le serveur.

Causes probables :

    -
  1. Vérifie que tu visites l'adresse du dernier - e-mail reçu s'il y en a eu plusieurs.
  2. -
  3. Tu as peut-être mal copié l'adresse reçue par - mail, vérifie-la à la main.
  4. -
  5. Tu as peut-être attendu trop longtemps pour - confirmer. Les pré-inscriptions sont annulées +
  6. Vérifie que tu visites l'adresse du dernier + e-mail reçu s'il y en a eu plusieurs.
  7. +
  8. Tu as peut-être mal copié l'adresse reçue par + mail, vérifie-la à la main.
  9. +
  10. Tu as peut-être attendu trop longtemps pour + confirmer. Les pré-inscriptions sont annulées tous les 30 jours.
  11. -
  12. Tu es en fait déjà inscrit.
  13. +
  14. Tu es en fait déjà inscrit.
"); } @@ -230,7 +231,7 @@ class RegisterModule extends PLModule $_SESSION['auth'] = AUTH_MDP; /***********************************************************/ - /************* envoi d'un mail au démarcheur ***************/ + /************* envoi d'un mail au démarcheur ***************/ /***********************************************************/ $res = $globals->xdb->iterRow( "SELECT DISTINCT sa.alias, IF(s.nom_usage,s.nom_usage,s.nom) AS nom, @@ -245,23 +246,23 @@ class RegisterModule extends PLModule while (list($salias, $snom, $sprenom, $sfemme) = $res->next()) { require_once('diogenes/diogenes.hermes.inc.php'); $mymail = new HermesMailer(); - $mymail->setSubject("$prenom $nom s'est inscrit à Polytechnique.org !"); + $mymail->setSubject("$prenom $nom s'est inscrit à Polytechnique.org !"); $mymail->setFrom('"Marketing Polytechnique.org" '); $mymail->addTo("\"$sprenom $snom\" <$salias@{$globals->mail->domain}>"); - $msg = ($sfemme?'Cher':'Chère')." $sprenom,\n\n" - . "Nous t'écrivons pour t'informer que {$prenom} {$nom} (X{$promo}), " - . "que tu avais incité".($femme?'e':'')." à s'inscrire à Polytechnique.org, " - . "vient à l'instant de terminer son inscription.\n\n" - . "Merci de ta participation active à la reconnaissance de ce site !!!\n\n" + $msg = ($sfemme?'Cher':'Chère')." $sprenom,\n\n" + . "Nous t'écrivons pour t'informer que {$prenom} {$nom} (X{$promo}), " + . "que tu avais incité".($femme?'e':'')." à s'inscrire à Polytechnique.org, " + . "vient à l'instant de terminer son inscription.\n\n" + . "Merci de ta participation active à la reconnaissance de ce site !!!\n\n" . "Bien cordialement,\n" - . "L'équipe Polytechnique.org"; + . "L'équipe Polytechnique.org"; $mymail->setTxtBody(wordwrap($msg, 72)); $mymail->send(); } $globals->xdb->execute("DELETE FROM register_marketing WHERE uid = {?}", $uid); - redirect('success.php'); + redirect($globals->baseurl.'/register/success'); $page->assign('uid', $uid); return PL_OK; diff --git a/templates/index.tpl b/templates/index.tpl index 5d2d697..666b8c3 100644 --- a/templates/index.tpl +++ b/templates/index.tpl @@ -38,7 +38,7 @@ Si vous êtes polytechnicien, Vous pouvez consulter la liste de ce que vous apporte Polytechnique.org si vous hésitez à vous inscrire ! diff --git a/templates/marketing/mail.relance.tpl b/templates/marketing/mail.relance.tpl index 6266987..b169086 100644 --- a/templates/marketing/mail.relance.tpl +++ b/templates/marketing/mail.relance.tpl @@ -39,7 +39,7 @@ mot de passe : {$nveau_pass} Rends-toi sur la page web suivante afin d'activer ta pré-inscription, et de changer ton mot de passe en quelque chose de plus facile à mémoriser : -{$baseurl}/register/end.php?hash={$lins_id} +{$baseurl}/register/end/{$lins_id} Si en cliquant dessus tu n'y arrives pas, copie intégralement l'adresse dans la barre de ton navigateur. diff --git a/templates/register/step0.tpl b/templates/register/step0.tpl index 6cd8875..4292354 100644 --- a/templates/register/step0.tpl +++ b/templates/register/step0.tpl @@ -36,7 +36,7 @@ L'enregistrement se d -{include file="docs/charte.tpl"} +{include file=../spool/wiki.d/cache_xorg_Docs.Charte.tpl public=1}
-- 2.1.4