FROM register_marketing AS m
INNER JOIN accounts AS a ON (m.uid = a.uid)
INNER JOIN account_profiles AS ap ON (a.uid = ap.uid AND FIND_IN_SET('owner', ap.perms))
- INNER JOIN profiles AS p ON (p.pid = ap.uid)
+ INNER JOIN profiles AS p ON (p.pid = ap.pid)
INNER JOIN profile_display AS pd ON (p.pid = pd.pid)
INNER JOIN profile_name AS pnl ON (p.pid = pnl.pid AND pnl.typeid = {?})
INNER JOIN profile_name AS pnf ON (p.pid = pnf.pid AND pnf.typeid = {?})
- WHERE m.hash = {?}",
+ WHERE m.hash = {?} AND a.state = 'pending'",
$nameTypes['name_ini'], $nameTypes['firstname_ini'], $hash);
if ($res->numRows() == 1) {
$subState->set('services', $services);
// Validate the password.
- if (!Post::v('response2', false)) {
+ if (!Post::v('pwhash', false)) {
$error[] = "Le mot de passe n'est pas valide.";
}
$subState->set('birthdate', sprintf("%04d-%02d-%02d",
intval($birth[2]), intval($birth[1]), intval($birth[0])));
$subState->set('email', Post::t('email'));
- $subState->set('password', Post::t('response2'));
+ $subState->set('password', Post::t('pwhash'));
// Update the current alert if the birthdate is incorrect,
// or if the IP address of the user has been banned.
}
$page->changeTpl('register/step' . $subState->i('step') . '.tpl');
- $page->addJsLink('motdepasse.js');
+ $page->addJsLink('password.js');
if (isset($error)) {
$page->trigError($error);
}
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))
- INNER JOIN profiles AS p ON (p.pid = ap.uid)
+ INNER JOIN profiles AS p ON (p.pid = ap.pid)
INNER JOIN profile_name AS pnl ON (p.pid = pnl.pid AND pnl.typeid = {?})
INNER JOIN profile_name AS pnf ON (p.pid = pnf.pid AND pnf.typeid = {?})
INNER JOIN profile_display AS pd ON (p.pid = pd.pid)
- WHERE hash = {?} AND hash != 'INSCRIT'",
+ WHERE hash = {?} AND hash != 'INSCRIT' AND a.state = 'pending'",
$nameTypes['name_ini'], $nameTypes['firstname_ini'], $hash);
if (!$hash || $res->numRows() == 0) {
$page->kill("<p>Cette adresse n'existe pas, ou plus, sur le serveur.</p>
//
XDB::execute("UPDATE accounts
SET password = {?}, state = 'active',
- registration_date = NOW()
+ registration_date = NOW(), email = NULL
WHERE uid = {?}", $password, $uid);
XDB::execute("UPDATE profiles
SET birthdate = {?}, last_change = NOW()
$mymail->send();
// Index the user, to allow her to appear in searches.
- Profile::rebuildSearchTokens($uid);
+ Profile::rebuildSearchTokens($pid);
// Notify other users which were watching for her arrival.
XDB::execute('REPLACE INTO contacts (uid, contact)
SET success = NOW()
WHERE uid = {?}", $uid);
+ $market = array();
while (list($senderid, $maketingEmails, $lastDate) = $res->next()) {
$sender = User::getWithUID($senderid);
- $market[] = " - par $sender->fullName() sur $maketingEmails (le plus récemment le $lastDate)";
+ $market[] = " - par {$sender->fullName()} sur $maketingEmails (le plus récemment le $lastDate)";
$mymail = new PlMailer('register/marketer.mail.tpl');
$mymail->setSubject("$firstname $lastname s'est inscrit à Polytechnique.org !");
- $mymail->addTo("\"$sender->fullName()\" <$sender->bestEmail()@{$globals->mail->domain}>");
+ $mymail->addTo($sender);
$mymail->assign('sender', $sender);
$mymail->assign('firstname', $firstname);
$mymail->assign('lastname', $lastname);