<?php
/***************************************************************************
- * Copyright (C) 2003-2010 Polytechnique.org *
+ * Copyright (C) 2003-2011 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
}
$page->changeTpl('register/step' . $subState->i('step') . '.tpl');
- $page->addJsLink('password.js');
if (isset($error)) {
$page->trigError($error);
}
$res = XDB::query("SELECT r.uid, p.pid, r.forlife, r.bestalias, r.mailorg2,
r.password, r.email, r.services, r.naissance,
pnl.name AS lastname, pnf.name AS firstname,
- pd.promo, p.sex, p.birthdate_ref
+ pd.promo, p.sex, p.birthdate_ref, a.type AS eduType
FROM register_pending AS r
INNER JOIN accounts AS a ON (r.uid = a.uid)
INNER JOIN account_profiles AS ap ON (a.uid = ap.uid AND FIND_IN_SET('owner', ap.perms))
}
list($uid, $pid, $forlife, $bestalias, $emailXorg2, $password, $email, $services,
- $birthdate, $lastname, $firstname, $promo, $sex, $birthdate_ref) = $res->fetchOneRow();
+ $birthdate, $lastname, $firstname, $promo, $sex, $birthdate_ref, $eduType) = $res->fetchOneRow();
+ $isX = ($eduType == 'x');
$yearpromo = substr($promo, 1, 4);
// Prepare the template for display.
$page->changeTpl('register/end.tpl');
- $page->addJsLink('do_challenge_response_logged.js');
$page->assign('forlife', $forlife);
$page->assign('firstname', $firstname);
//
// Create the user account.
//
+ XDB::startTransaction();
XDB::execute("UPDATE accounts
SET password = {?}, state = 'active',
registration_date = NOW(), email = NULL
XDB::execute("INSERT INTO aliases (uid, alias, type)
VALUES ({?}, {?}, 'alias')", $uid, $emailXorg2);
}
+ XDB::commit();
// Add the registration email address as first and only redirection.
require_once 'emails.inc.php';
- $user = User::getSilentWithUID($uid);
$redirect = new Redirect($user);
$redirect->add_email($email);
// Subscribe the user to the services she did request at registration time.
foreach (explode(',', $services) as $service) {
+ require_once 'newsletter.inc.php';
switch ($service) {
case 'ax_letter':
- Platal::load('axletter', 'axletter.inc.php');
- AXLetter::subscribe($uid);
+ NewsLetter::forGroup(NewsLetter::GROUP_AX)->subscribe($user);
+ break;
+ case 'nl':
+ NewsLetter::forGroup(NewsLetter::GROUP_XORG)->subscribe($user);
break;
case 'imap':
$storage = new EmailStorage($user, 'imap');
XDB::execute('INSERT IGNORE INTO group_members (uid, asso_id)
VALUES ({?}, {?})',
$uid, $asso_id);
- $mmlist = new MMList($user);
- $mmlist->subscribe("promo" . S::v('promo'));
+ try {
+ $mmlist = new MMList($user);
+ $mmlist->subscribe("promo" . $yearpromo);
+ } catch (Exception $e) {
+ PlErrorReport::report($e);
+ $page->trigError("L'inscription à la liste promo" . $yearpromo . " a échouée.");
+ }
}
break;
- case 'nl':
- require_once 'newsletter.inc.php';
- NewsLetter::subscribe($uid);
- break;
}
}
// Congratulate our newly registered user by email.
$mymail = new PlMailer('register/success.mail.tpl');
+ $mymail->addTo("\"{$user->fullName()}\" <{$user->forlifeEmail()}>");
+ if ($isX) {
+ $mymail->setSubject('Bienvenue parmi les X sur le web !');
+ } else {
+ $mymail->setSubject('Bienvenue sur Polytechnique.org !');
+ }
$mymail->assign('forlife', $forlife);
$mymail->assign('firstname', $firstname);
$mymail->send();