+ function handler_broken(&$page, $uid = null)
+ {
+ require_once('user.func.inc.php');
+ $page->changeTpl('marketing/broken.tpl');
+
+ if (is_null($uid)) {
+ return PL_NOT_FOUND;
+ }
+ $forlife = get_user_forlife($uid);
+ if (!$forlife) {
+ return PL_NOT_FOUND;
+ } elseif ($forlife == S::v('forlife')) {
+ pl_redirect('emails/redirect');
+ }
+
+ $res = Xdb::query("SELECT u.nom, u.prenom, u.promo, a.alias AS forlife
+ FROM auth_user_md5 AS u
+ INNER JOIN aliases AS a ON a.id = u.user_id
+ WHERE a.alias = {?}", $forlife);
+ if (!$res->numRows()) {
+ return PL_NOT_FOUND;
+ }
+ $user = $res->fetchOneAssoc();
+ $page->assign('user', $user);
+
+ $email = trim(Post::v('mail'));
+ if (Post::has('valide') && strlen($email) > 0) {
+ require_once('diogenes/diogenes.hermes.inc.php');
+ $mailer = new HermesMailer();
+ $mailer->setFrom(S::v('bestalias') . '@polytechnique.org');
+ $mailer->addTo('resetpass@polytechnique.org');
+ $mailer->setSubject("Proposition d'adresse mail pour " . $user['forlife']);
+
+ $message = S::v('nom') . ' ' . S::v('prenom') . ' (X' . S::v('promo') . ') '
+ . 'propose l\'adresse suivante pour un camarade qui n\'a plus de '
+ . 'redirections actives :' . "\n\n"
+ . '* ' . $user['forlife'] . ' => ' . $email . "\n";
+ $mailer->setTxtBody(wordwrap($message, 78));
+ $mailer->send();
+ $page->assign('sent', true);
+ }
+ }
+