require_once("xorg.inc.php");
if (Env::has('n')) {
- $sql = "SELECT * FROM envoidirect WHERE uid=".Env::getInt('n');
+ $sql = "SELECT * FROM envoidirect WHERE uid='".Env::get('n')."'";
$result = $globals->db->query($sql);
if ($ligne = mysql_fetch_assoc($result)) {
$page->assign('prenom', $prenom);
$page->assign('nom', $nom);
- $page->assign('envoidirect', Env::getInt('n'));
+ $page->assign('envoidirect', Env::get('n'));
$page->run();
}
}
new_skinned_page('inscription/step3.tpl', AUTH_PUBLIC);
require_once("identification.inc.php");
-$page->assign('mailorg', $mailorg);
$page->assign('forlife', $forlife);
if (!isvalid_email(Env::get('email'))) {
$page->changeTpl('inscription/step2.tpl');
require_once("applis.func.inc.php");
$page->assign('homonyme', $homonyme);
- $page->assign('loginbis', isset($loginbis) ? $loginbis : '');
+ $page->assign('mailorg', $mailorg);
$page->assign('prenom', $prenom);
$page->assign('nom', $nom);
$password = md5($pass_clair);
$date = date("Y-m-j");
-if (!isset($loginbis)) $loginbis="";
-
$birth = sprintf("%s-%s-%s", substr(Env::get('naissance'),4,4),
substr(Env::get('naissance'),2,2), substr(Env::get('naissance'),0,2));
naissance='$birth', date='$date', nationalite='".Env::get('nationalite')."',
appli_id1='".Env::get('appli_id1')."', appli_type1='".Env::get('appli_type1')."',
appli_id2='".Env::get('appli_id2')."', appli_type2='".Env::get('appli_type2')."',
- loginbis='$mailorg', username='$forlife'";
+ loginbis='$mailorg', username='$forlife', homonyme='$homonyme'";
$globals->db->query($sql);
$globals->db->query("UPDATE auth_user_md5 SET last_known_email='".Env::get('email')."' WHERE matricule = $matricule");
// si on venait de la page maj.php, on met a jour la table envoidirect
if (Env::has('envoidirect')) {
- $globals->db->query("UPDATE envoidirect SET date_succes=NOW() WHERE uid=".Env::getInt('envoidirect'));
+ if (Env::get('envoidirect')) {
+ $globals->db->query("UPDATE envoidirect SET date_succes=NOW() WHERE uid='".Env::get('envoidirect')."'");
+ }
}
require_once('xorg.mailer.inc.php');
$mymail = new XOrgMailer('inscrire.mail.tpl');
-$mymail->assign('forlife', $forlife);
+$mymail->assign('mailorg', $mailorg);
$mymail->assign('lemail', Env::get('email'));
$mymail->assign('pass_clair', $pass_clair);
$mymail->assign('baseurl', $globals->baseurl);
$mymail->assign('ins_id', $ins_id);
-$mymail->assign('subj', $forlife."@polytechnique.org");
+$mymail->assign('subj', $mailorg."@polytechnique.org");
$mymail->send();
$page->run();
require_once('xorg.mailer.inc.php');
if (Env::has('ref')) {
- $sql = "SELECT username,loginbis,matricule,promo,password,
+ $sql = "SELECT username,homonyme,loginbis,matricule,promo,password,
nom,prenom,nationalite,email,naissance,date,
appli_id1,appli_type1,appli_id2,appli_type2
- FROM en_cours WHERE ins_id=".Env::getInt('ref');
+ FROM en_cours WHERE ins_id='".Env::get('ref')."'";
$res = $globals->db->query($sql);
}
-//vérifions que la référence de l'utilisateur est
-if (!Env::has('ref')) ||
- !list( $forlife, $alias, $matricule, $promo, $password, $nom, $prenom,$nationalite,
+// vérifions que la référence de l'utilisateur est une référence existante dans "en_cours"
+if ( !Env::has('ref') ||
+ !list( $forlife, $homonyme, $alias, $matricule, $promo, $password, $nom, $prenom,$nationalite,
$email, $naissance,$date,$appli_id1,$appli_type1,$appli_id2,$appli_type2) = mysql_fetch_row($res))
{
$page->kill("<p>Cette adresse n'existe pas, ou plus, sur le serveur.</p>
$nom = stripslashes($nom);
$prenom = stripslashes($prenom);
-$sql = "UPDATE auth_user_md5 SET password='$password', nationalite=$nationalite, perms='user',
+$sql = "UPDATE auth_user_md5 SET password='$password', nationalite='$nationalite', perms='user',
date='$date', naissance='$naissance', date_ins = NULL WHERE matricule='$matricule'";
$globals->db->query($sql);
$sql = "REPLACE INTO auth_user_quick (user_id)
$globals->db->query("INSERT INTO aliases (id,alias,type) VALUES ($uid,'$forlife','a_vie')");
if($alias) {
+ // Les alias supplémentaires sont prenom.nom.NN et, si pas d'homonymie, prenom.nom.NN
$p2 = sprintf("%02u",($promo%100));
+ // Vérification d'homonymie
+ if(!$homonyme) {
+ // si homonyme, on a déjà calculé l'unique alias possible : prenom.nom.NN, qui se trouve dans $alias
+ $globals->db->query("INSERT INTO aliases (id,alias,type) VALUES ($uid,'$alias.$p2','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.$p2','alias')");
}
-// on cree un objet logger et on log l'
+// on cree un objet logger et on log l'inscription
$logger = new DiogenesCoreLogger($uid);
$logger->log("inscription",$email);
// insérer une ligne dans user_changes pour que les coordonnées complètes
// soient envoyées a l'AX
-$globals->db->query("insert into user_changes ($uid)");
+$globals->db->query("insert into user_changes values ($uid)");
// envoi du mail à l'inscrit
$mymail = new XOrgMailer('inscription.reussie.tpl');
$homonyme = mysql_num_rows($result) > 0;
if ( $homonyme ) {
+ $newbestalias = $mailorg . "." . sprintf("%02u",($promo%100));
+
list($h_id,$h_type,$expire) = mysql_fetch_row($result);
mysql_free_result($result);
$mailer->addCc('"Support Polytechnique.org" <support@polytechnique.org>');
$msg =
"Un homonyme s'est inscrit, nous ne pouvons donc garder ton alias '$mailorg'.\n\n".
- "Tu gardes tout de même l'usage de cet alias pour 1 mois encore à compter de ce jour.\n\n".
+ "Tu gardes tout de même l'usage de cet alias pour un mois encore à compter de ce jour.\n\n".
"Lorsque cet alias sera désactivé, l'adresse :\n".
" $mailorg@polytechnique.org\n".
"renverra vers un robot qui indique qu'il y a plusieurs personnes portant le même nom ; cela évite que l'un des homonymes reçoive des courriels destinés à l'autre.\n\n".
- "Cordialement\n\n".
+ "Pour te connecter au site, tu pourras utiliser comme 'login' soit ton adresse à vie '$forlife', ".
+ "soit l'alias '$newbestalias'. Par ailleurs, commence dès aujourd'hui à communiquer à tes correspondants ".
+ "ton adresse :\n".
+ " $newbestalias@polytechnique.org\n\n".
+ "En nous excusant pour le désagrément occasionné,\n".
+ "cordialement\n\n".
"-- \n".
- "Polytechnique.org\n".
+ "L'équipe de Polytechnique.org\n".
"\"Le portail des élèves & anciens élèves de l'X\"";
$mailer->SetTxtBody(wordwrap($msg,72));
$mailer->send();
}
- unset($mailorg);
+ $mailorg = $newbestalias;
}
?>
$chaine2 = strtok(" -'");
$chaine = ( strlen($chaine2) > strlen($chaine1) ) ? $chaine2 : $chaine1;
- $rq = strlen(Env::get("promoR")==4 ? "AND promo=".Env::getInt("promoR") : "");
+ $rq = strlen(Env::get("promoR"))==4 ? "AND promo=".Env::getInt("promoR") : "";
$where = "prenom LIKE '%$prenom%' AND nom LIKE '%$chaine%' $rq ORDER BY promo,nom";
}
<form action="{"inscription/step3.php"|url}" method="post">
{if $homonyme}
<p>
- Ton adresse sera : <strong>{$forlife}@polytechnique.org</strong>
+ Tu as déjà un homonyme inscrit dans notre base de données mais dans une autre promotion, nous allons
+ donc te donner l'adresse <strong>{$mailorg}@polytechnique.org</strong>, en plus
+ de ton adresse à vie <strong>{$forlife}@polytechnique.org</strong>.
</p>
{else}
<p>
Elle pointera sur les e-mails de ton choix, indique-s-en un pour commencer
(tu pourras indiquer les autres une fois l'inscription terminée).
Attention, il doit <strong>impérativement être correct</strong> pour que nous puissions
- te recontacter.
+ t'envoyer ton mot de passe.
</p>
<table class="bicol" cellpadding="3" cellspacing="0" summary="Préinscription">
<tr>
Après activation, tes paramètres seront :
-login : {$forlife}
+login : {$mailorg}
mot de passe : {$pass_clair}
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 :