- start_connexion($uid,false);
- $_SESSION['auth'] = AUTH_MDP;
-
- /***********************************************************/
- /************* envoi d'un mail au démarcheur ***************/
- /***********************************************************/
- $res = XDB::iterRow(
- "SELECT DISTINCT sa.alias, IF(s.nom_usage,s.nom_usage,s.nom) AS nom,
- s.prenom, 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
- AND FIND_IN_SET('bestalias', sa.flags) )
- WHERE m.uid = {?}", $uid);
- XDB::execute("UPDATE register_mstats SET success=NOW() WHERE uid={?}", $uid);
-
- while (list($salias, $snom, $sprenom, $sfemme) = $res->next()) {
- require_once('diogenes/diogenes.hermes.inc.php');
- $mymail = new HermesMailer();
- $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"
- . "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"
- . "Merci de ta participation active à la reconnaissance de ce site !!!\n\n"
- . "Bien cordialement,\n"
- . "L'équipe Polytechnique.org";
+ // Index the user, to allow her to appear in searches.
+ Profile::rebuildSearchTokens($pid);
+
+ // Notify other users which were watching for her arrival.
+ XDB::execute('INSERT INTO contacts (uid, contact)
+ SELECT uid, ni_id
+ FROM watch_nonins
+ WHERE ni_id = {?}', $uid);
+ XDB::execute('DELETE FROM watch_nonins
+ WHERE ni_id = {?}', $uid);
+ Platal::session()->updateNbNotifs();
+
+ // Forcibly register the new user on default forums.
+ $promoForum = 'xorg.promo.' . strtolower($promo);
+ $registeredForums = array('xorg.general', 'xorg.pa.divers', 'xorg.pa.logements', $promoForum);
+ foreach ($registeredForums as $forum) {
+ XDB::execute("INSERT INTO forum_subs (fid, uid)
+ SELECT fid, {?}
+ FROM forums
+ WHERE name = {?}",
+ $uid, $val);
+
+ // Notify the newsgroup admin of the promotion forum needs be created.
+ if (XDB::affectedRows() == 0 && $forum == $promoForum) {
+ $promoFull = new UserFilter(new UFC_Promo('=', UserFilter::DISPLAY, $promo));
+ $promoRegistered = new UserFilter(new PFC_And(
+ new UFC_Promo('=', UserFilter::DISPLAY, $promo),
+ new UFC_Registered(true),
+ new PFC_Not(new UFC_Dead())
+ ));
+ if ($promoRegistered->getTotalCount() > 0.2 * $promoFull->getTotalCount()) {
+ $mymail = new PlMailer('admin/forums-promo.mail.tpl');
+ $mymail->assign('promo', $promo);
+ $mymail->send();
+ }
+ }
+ }
+
+ // Update the global registration count stats.
+ $globals->updateNbIns();
+
+ //
+ // Update collateral data sources, and inform watchers by email.
+ //
+
+ // Email the referrer(s) of this new user.
+ $res = XDB::iterRow("SELECT sender, GROUP_CONCAT(email SEPARATOR ', ') AS mails, MAX(last) AS lastDate
+ FROM register_marketing
+ WHERE uid = {?}
+ GROUP BY sender
+ ORDER BY lastDate DESC", $uid);
+ XDB::execute("UPDATE register_mstats
+ 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)";
+ $mymail = new PlMailer('register/marketer.mail.tpl');
+ $mymail->setSubject("$firstname $lastname s'est inscrit à Polytechnique.org !");
+ $mymail->addTo($sender);
+ $mymail->assign('sender', $sender);
+ $mymail->assign('firstname', $firstname);
+ $mymail->assign('lastname', $lastname);
+ $mymail->assign('promo', $promo);
+ $mymail->assign('sex', $sex);