if (!isset($sub_state['step'])) {
$sub_state['step'] = 0;
}
- if (Get::has('back') && Get::getInt('back') < $sub_state['step']) {
- $sub_state['step'] = max(0,Get::getInt('back'));
+ if (Get::has('back') && Get::i('back') < $sub_state['step']) {
+ $sub_state['step'] = max(0,Get::i('back'));
}
// Compatibility with old sources, keep it atm
if (!$hash && Env::has('hash')) {
- $hash = Env::get('hash');
+ $hash = Env::v('hash');
}
if ($hash) {
switch ($sub_state['step']) {
case 0:
+ require_once('wiki.inc.php');
+ wiki_require_page('Docs.Charte');
if (Post::has('step1')) {
$sub_state['step'] = 1;
if (isset($sub_state['hash'])) {
case 1:
if (Post::has('promo')) {
- $promo = Post::getInt('promo');
+ $promo = Post::i('promo');
if ($promo < 1900 || $promo > date('Y')) {
$err = "La promotion saisie est incorrecte !";
} else {
case 2:
if (count($_POST)) {
require_once('register.inc.php');
- $sub_state['prenom'] = Post::get('prenom');
- $sub_state['nom'] = Post::get('nom');
- $sub_state['mat'] = Post::get('mat');
+ $sub_state['prenom'] = Post::v('prenom');
+ $sub_state['nom'] = Post::v('nom');
+ $sub_state['mat'] = Post::v('mat');
$err = check_new_user($sub_state);
if ($err !== true) { break; }
break;
case 3:
+ $alert = null;
if (count($_POST)) {
require_once('register.inc.php');
- if (!isvalid_email(Post::get('email'))) {
+ if (!isvalid_email(Post::v('email'))) {
$err[] = "Le champ 'E-mail' n'est pas valide.";
- } elseif (!isvalid_email_redirection(Post::get('email'))) {
+ } elseif (!isvalid_email_redirection(Post::v('email'))) {
$err[] = $sub_state['forlife']." doit renvoyer vers un email existant ".
"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')))
- {
+ $birth = Env::v('naissance');
+ if (!preg_match('/^[0-3][0-9][01][0-9][12][90][0-9][0-9]$/', $birth)) {
$err[] = "La 'Date de naissance' n'est pas correcte.";
+ } else {
+ $year = (int)substr($birth, 4, 4);
+ $promo = (int)$sub_state['promo'];
+ if ($year > $promo - 15 || $year < $promo - 30) {
+ $err[] = "La 'Date de naissance' n'est pas correcte.";
+ $alert = "Date de naissance proposée $birth\n\n";
+ }
+ }
+
+ // Check if the given email is known as dangerous
+ $res = Xdb::iterRow("SELECT w.state, w.description, a.alias
+ FROM emails AS e
+ INNER JOIN emails_watch AS w ON (e.email = w.email AND w.state != 'safe')
+ INNER JOIN aliases AS a ON (e.uid = a.id AND a.type = 'a_vie')
+ WHERE e.email = {?}
+ ORDER BY a.alias", Post::v('email'));
+ $aliases = array();
+ while(list($gstate, $gdescription, $alias) = $res->next()) {
+ $state = $gstate;
+ $description = $gdescription;
+ $aliases[] = $alias;
+ }
+ if (count($aliases) != 0) {
+ $alert .= "Email proposé : " . Post::v('email') . "\n"
+ . "Ce mails est connu avec l'état $state :\n"
+ . $description . "\n"
+ . "Pour les alias :\n* " . join("\n* ", $aliases) . "\n\n";
}
if (isset($err)) {
$err = join('<br />', $err);
} else {
- $birth = Env::get('naissance');
$sub_state['naissance'] = sprintf("%s-%s-%s",
substr($birth,4,4),
substr($birth,2,2),
substr($birth,0,2));
- $sub_state['email'] = Post::get('email');
+ $sub_state['email'] = Post::v('email');
$sub_state['step'] = 4;
finish_ins($sub_state);
}
+ if (!is_null($alert)) {
+ send_alert_mail($sub_state, $alert);
+ }
}
break;
}
$_SESSION['sub_state'] = $sub_state;
- $page->changeTpl('register/step'.intval($sub_state['step']).'.tpl');
- $page->assign('simple', true);
+ $page->changeTpl('register/step'.intval($sub_state['step']).'.tpl', SIMPLE);
if (isset($err)) {
$page->trig($err);
}
function handler_end_old(&$page)
{
- return $this->handler_end($page, Env::get('hash'));
+ return $this->handler_end($page, Env::v('hash'));
}
function handler_end(&$page, $hash = null)
$redirect->add_email($email);
// on cree un objet logger et on log l'inscription
- $logger = new DiogenesCoreLogger($uid);
+ $logger = new CoreLogger($uid);
$logger->log('inscription', $email);
XDB::execute('UPDATE register_pending SET hash="INSCRIT" WHERE uid={?}', $uid);
- $globals->hook->subscribe($forlife, $uid, $promo, $password);
+ global $platal;
+ $platal->on_subscribe($forlife, $uid, $promo, $password);
require_once('xorg.mailer.inc.php');
$mymail = new XOrgMailer('register/inscription.reussie.tpl');
/***********************************************************/
$res = XDB::iterRow(
"SELECT DISTINCT sa.alias, IF(s.nom_usage,s.nom_usage,s.nom) AS nom,
- s.prenom, s.flags AS femme
+ s.prenom, FIND_IN_SET('femme', s.flags) AS femme
FROM register_marketing AS m
INNER JOIN auth_user_md5 AS s ON ( m.sender = s.user_id )
INNER JOIN aliases AS sa ON ( sa.id = m.sender
$mymail->setSubject("$prenom $nom s'est inscrit à Polytechnique.org !");
$mymail->setFrom('"Marketing Polytechnique.org" <register@polytechnique.org>');
$mymail->addTo("\"$sprenom $snom\" <$salias@{$globals->mail->domain}>");
- $msg = ($sfemme?'Cher':'Chère')." $sprenom,\n\n"
+ $msg = ($sfemme?'Chère':'Cher')." $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"
XDB::execute("DELETE FROM register_marketing WHERE uid = {?}", $uid);
- redirect($globals->baseurl.'/register/success');
+ pl_redirect('register/success');
$page->assign('uid', $uid);
}
$page->changeTpl('register/success.tpl');
if (Env::has('response2')) {
- $_SESSION['password'] = $password = Post::get('response2');
+ $_SESSION['password'] = $password = Post::v('response2');
XDB::execute('UPDATE auth_user_md5 SET password={?}
WHERE user_id={?}', $password,
$log =& S::v('log');
$log->log('passwd', '');
- if (Cookie::get('ORGaccess')) {
+ if (Cookie::v('ORGaccess')) {
require_once('secure_hash.inc.php');
setcookie('ORGaccess', hash_encrypt($password), (time()+25920000), '/', '' ,0);
}
$page->assign('mdpok', true);
}
- $page->addJsLink('javascript/motdepasse.js');
+ $page->addJsLink('motdepasse.js');
}
}