From 2b9d051b2afa9e32daeb13c2fd02507a3e5bf8fa Mon Sep 17 00:00:00 2001 From: x2000habouzit Date: Mon, 6 Sep 2004 09:58:59 +0000 Subject: [PATCH] step4 debug is complete. ouch was not that easy. the problem of mailing lists remains --- htdocs/{ => inscription}/step4.php | 100 +++++++++++++++----------------- include/email.classes.inc.php | 6 +- include/identification.inc.php | 4 +- templates/{ => inscription}/step4.tpl | 10 ++-- templates/mails/inscription.reussie.tpl | 4 +- 5 files changed, 59 insertions(+), 65 deletions(-) rename htdocs/{ => inscription}/step4.php (60%) rename templates/{ => inscription}/step4.tpl (90%) diff --git a/htdocs/step4.php b/htdocs/inscription/step4.php similarity index 60% rename from htdocs/step4.php rename to htdocs/inscription/step4.php index 0649c6d..a32d4a2 100644 --- a/htdocs/step4.php +++ b/htdocs/inscription/step4.php @@ -1,4 +1,4 @@ -db->query($sql); - //vérifions que la référence de l'utilisateur est valide - if (!list($username, $loginbis, $matricule, $promo, $password, $nom, $prenom,$nationalite, - $email, $naissance,$date,$appli_id1,$appli_type1,$appli_id2,$appli_type2) = mysql_fetch_row($res)) { + //vérifions que la référence de l'utilisateur est + if (!list($forlife, $alias, $matricule, $promo, $password, $nom, $prenom,$nationalite, + $email, $naissance,$date,$appli_id1,$appli_type1,$appli_id2,$appli_type2) = mysql_fetch_row($res)) { $page->assign('error',ERROR_REF); $page->run(); } - $page->assign('username',$username); + $page->assign('forlife',$forlife); // vérifions qu'il n'y a pas déjà une inscription dans le passé // ce qui est courant car les double-clic... - $sql = "SELECT user_id FROM auth_user_md5 where username='$username'"; - $res = $globals->db->query($sql); + $res = $globals->db->query("SELECT alias FROM aliases WHERE alias='$forlife'"); if ( mysql_num_rows($res) != 0) { $page->assign('error',ERROR_ALREADY_SUBSCRIBED); $page->run(); @@ -57,49 +56,38 @@ if (!empty($_REQUEST['ref'])) { $nom = stripslashes($nom); $prenom = stripslashes($prenom); - $sql = "INSERT INTO auth_user_md5 SET username='$username',loginbis='$loginbis',matricule='$matricule',promo=$promo, - password='$password',nom='".addslashes($nom)."',prenom='".addslashes($prenom)."',nationalite=$nationalite, + $sql = "INSERT INTO auth_user_md5 SET matricule='$matricule',promo=$promo, password='$password', + nom='".addslashes($nom)."',prenom='".addslashes($prenom)."',nationalite=$nationalite, date='$date',naissance=$naissance, date_ins = NULL"; $globals->db->query($sql); - - // on vérifie qu'il n'y a pas eu d'erreur + + // on vérifie qu'il n'y a pas eu d' if ($globals->db->err()) { $page->assign('error',ERROR_DB); $page->assign('error_db',$globals->db->error()); $page->run(); } - // ok, pas d'erreur, on continue + // ok, pas d'erreur, on $uid=$globals->db->insert_id(); - /* insertion des alias dans la table de courrier */ - if (empty($loginbis)) { - $globals->db->query("INSERT INTO aliases VALUES ('$username', 'alias', $uid)"); - // le suivant n'est pas formellement un login, mais c'est celui qu'on utilise - // lorsque l'on envoit des mails à la personne (prenom.nom.promo) afin qu'elle - // comprenne que c'est là sa vraie adresse à vie - $globals->db->query("INSERT INTO aliases VALUES ('$username.$promo', 'login', $uid)"); - $globals->db->query("INSERT INTO aliases VALUES ('$username.".($promo%100)."', 'alias', $uid)"); - } else { - $globals->db->query("INSERT INTO aliases VALUES ('$username', 'alias', $uid)"); - // le suivant n'est pas formellement un login, mais c'est celui qu'on utilise - // lorsque l'on envoit des mails à la personne (prenom.nom.promo) afin qu'elle - // comprenne que c'est là sa vraie adresse à vie - $globals->db->query("INSERT INTO aliases VALUES ('$loginbis.$promo', 'login', $uid)"); - $globals->db->query("INSERT INTO aliases VALUES ('$loginbis.".($promo%100)."', 'alias', $uid)"); + $globals->db->query("INSERT INTO aliases (id,alias,type) VALUES ($uid,'$forlife','a_vie')"); + if($alias) { + $globals->db->query("INSERT INTO aliases (id,alias,type) VALUES ($uid,'$alias','alias')"); + $globals->db->query("INSERT INTO aliases (id,alias,type) VALUES ($uid,'$alias.".($promo%100)."','alias')"); } - - // on cree un objet logger et on log l'evenement + // on cree un objet logger et on log l' $logger = new DiogenesCoreLogger($uid); $logger->log("inscription",$email); /****************** insertion de l'email dans la table emails ***/ - require("mtic.inc.php"); - $flags = 'filtre'.(check_mtic($email) ? ',mtic':''); - $sql = "insert into emails set uid = $uid, num = 0, email = '\"|maildrop /var/mail/.maildrop_filters/tag_spams $uid\"', flags = 'active'"; - $globals->db->query($sql); - $sql = "insert into emails set uid = $uid, num = 1, email = '$email', flags = '$flags'"; - $globals->db->query($sql); + require("email.classes.inc.php"); + $redirect = new Redirect($uid); + $redirect->add_email($email); + $globals->db->query("INSERT INTO emails + SET uid = $uid, + email = '\"|maildrop /var/mail/.maildrop_filters/tag_spams $uid\"', + flags = 'filter'"); /****************** ajout des formations ****************/ if (($appli_id1>0)&&($appli_type1)) $globals->db->query("insert into applis_ins set uid=$uid,aid=$appli_id1,type='$appli_type1',ordre=0"); @@ -107,8 +95,10 @@ if (!empty($_REQUEST['ref'])) { $globals->db->query("insert into applis_ins set uid=$uid,aid=$appli_id2,type='$appli_type2',ordre=1"); /****************** envoi d'un mail au démarcheur ***************/ /* si la personne a été marketingnisée, alors on prévient son démarcheur */ - $res = $globals->db->query("SELECT a.username,e.date_envoi FROM envoidirect as e INNER JOIN auth_user_md5 as a ON e.sender = a.user_id - WHERE e.matricule = '".$matricule."' GROUP BY a.username"); + $res = $globals->db->query("SELECT DISTINCT a.alias,e.date_envoi + FROM envoidirect AS e + INNER JOIN aliases AS a ON ( a.id = e.sender AND a.type='a_vie' ) + WHERE e.matricule = '".$forlife."'"); while (list($sender_usern, $sender_date) = mysql_fetch_row($res)) { $mymail = new TplMailer('marketing.thanks.tpl'); $mymail->assign('to', $sender_usern); @@ -117,37 +107,39 @@ if (!empty($_REQUEST['ref'])) { $mymail->assign('promo',$promo); $mymail->send(); } - + + /****************** inscription à la liste promo ****************/ - $inspromo = inscription_liste_promo($uid,$promo); +// $inspromo = inscription_liste_promo($uid,$promo); /****************** inscription à la newsletter ****************/ - $insnewsletter = inscription_newsletter($uid); +// $insnewsletter = inscription_newsletter($uid); /****************** inscription à la newsletter ****************/ - $insforumpromo = inscription_forum_promo($uid,$promo); +// $insforumpromo = inscription_forum_promo($uid,$promo); /****************** inscription à la newsletter ****************/ - $insforums = inscription_forums($uid); +// $insforums = inscription_forums($uid); - // effacer la pré-inscription devenue inscription - $globals->db->query("update en_cours set loginbis='INSCRIT' WHERE username='$username'"); + // effacer la pré-inscription devenue + $globals->db->query("update en_cours set loginbis='INSCRIT' WHERE username='$forlife'"); - // insérer l'inscription dans la table des inscriptions confirmées + // insérer l'inscription dans la table des inscriptions confirmé $globals->db->query("INSERT INTO ins_confirmees SET id=$uid"); - // insérer une ligne dans user_changes pour que les coordonnées complètes - // soient envoyées a l'AX + // insérer une ligne dans user_changes pour que les coordonnées complè + // soient envoyées a l' $globals->db->query("insert into user_changes ($uid)"); - // envoi du mail à l'utilisateur + // envoi du mail à l' $mymail = new TplMailer('inscription.reussie.tpl'); - $mymail->assign('username', $username); + $mymail->assign('forlife', $forlife); $mymail->assign('prenom', $prenom); $mymail->send(); - // s'il est dans la table envoidirect, on le marque comme inscrit + // s'il est dans la table envoidirect, on le marque comme $globals->db->query("update envoidirect set date_succes=NOW() where matricule = $matricule"); -} -else + start_connexion($uid,false); +} else $page->assign('error',ERROR_REF); $page->assign('dev',(isset($site_dev) && $site_dev)?1:0); $page->run(); +?> diff --git a/include/email.classes.inc.php b/include/email.classes.inc.php index 704c483..c6b994d 100644 --- a/include/email.classes.inc.php +++ b/include/email.classes.inc.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: email.classes.inc.php,v 1.6 2004-09-04 20:47:50 x2000habouzit Exp $ + $Id: email.classes.inc.php,v 1.7 2004-09-06 09:59:00 x2000habouzit Exp $ ***************************************************************************/ require_once("xorg.misc.inc.php"); @@ -98,6 +98,7 @@ class Redirect { $result = $globals->db->query(" SELECT email, FIND_IN_SET('active',flags), rewrite, FIND_IN_SET('mtic',flags),panne FROM emails WHERE uid = $_uid AND NOT FIND_IN_SET('filter',flags)"); + $this->emails=Array(); while ($row = mysql_fetch_row($result)) { $this->emails[] = new Email($row); } @@ -141,7 +142,8 @@ class Redirect { $mtic = 1; } $globals->db->query("REPLACE INTO emails (uid,email,flags) VALUES({$this->uid},'$email','$flags')"); - $_SESSION['log']->log('email_add',$email.($this->uid!=$_SESSION['uid'] ? " (admin on {$this->uid})" : "")); + if(isset($_SESSION['log'])) // may be absent --> step4.php + $_SESSION['log']->log('email_add',$email.($this->uid!=$_SESSION['uid'] ? " (admin on {$this->uid})" : "")); foreach($this->emails as $mail) { if($mail->email == $email_stripped) return SUCCESS; } diff --git a/include/identification.inc.php b/include/identification.inc.php index 660923d..3383196 100644 --- a/include/identification.inc.php +++ b/include/identification.inc.php @@ -18,7 +18,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: identification.inc.php,v 1.6 2004-09-06 08:27:04 x2000habouzit Exp $ + $Id: identification.inc.php,v 1.7 2004-09-06 09:59:00 x2000habouzit Exp $ ***************************************************************************/ require_once('xorg.misc.inc.php'); @@ -185,7 +185,7 @@ if ( $homonyme ) { if ( $h_type != 'homonyme' and empty($expire) ) { $globals->db->query("UPDATE aliases SET expire=ADD_DATE(NOW(),INTERVAL 1 MONTH) WHERE alias='$mailorg'"); - $globals->db->query("REPLACE INTO homonymes SET (homonyme_id,user_id) VALUES ($h_id,$h_id)"); + $globals->db->query("REPLACE INTO homonymes (homonyme_id,user_id) VALUES ($h_id,$h_id)"); require_once('diogenes.mailer.inc.php'); $mailer = new DiogenesMailer('Support Polytechnique.org ', "$mailorg@polytechnique.org", diff --git a/templates/step4.tpl b/templates/inscription/step4.tpl similarity index 90% rename from templates/step4.tpl rename to templates/inscription/step4.tpl index 6d6930b..6bcdd29 100644 --- a/templates/step4.tpl +++ b/templates/inscription/step4.tpl @@ -17,25 +17,25 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: step4.tpl,v 1.4 2004-08-31 11:25:39 x2000habouzit Exp $ + $Id: step4.tpl,v 1.1 2004-09-06 09:59:00 x2000habouzit Exp $ ***************************************************************************} {dynamic} -{if $error} +{if !$error}
Dernière étape

Tu as maintenant accès au site en utilisant les paramètres reçus par mail. - Les adresses électroniques {$username}@polytechnique.org - et {$username}@m4x.org sont déjà ouvertes, essaie-les ! + Ton adresses électronique à vie {$forlife}@polytechnique.org + est déjà ouverte, essaie-la !

Remarque: m4x.org est un domaine "discret" qui veut dire "mail for X" et qui comporte exactement les mêmes adresses que le domaine polytechnique.org.

- Clique ici pour changer ton mot de passe. + Clique ici pour changer ton mot de passe.

N'oublie pas : si tu perds ton mot de passe, nous n'avons aucun engagement, en diff --git a/templates/mails/inscription.reussie.tpl b/templates/mails/inscription.reussie.tpl index 39dff42..3b8de22 100644 --- a/templates/mails/inscription.reussie.tpl +++ b/templates/mails/inscription.reussie.tpl @@ -17,12 +17,12 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: inscription.reussie.tpl,v 1.2 2004-08-31 11:25:40 x2000habouzit Exp $ + $Id: inscription.reussie.tpl,v 1.3 2004-09-06 09:59:00 x2000habouzit Exp $ ***************************************************************************} {config_load file="mails.conf" section="inscription"} {from full=#from#} -{to addr="$username@polytechnique.org"} +{to addr="$forlife@polytechnique.org"} {subject text="Bienvenue parmi les X sur le web !"} {$prenom}, félicitations pour ton inscription :o)) -- 2.1.4