X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Femail.php;h=a2ada029ad2990f2e8ade657c509febc235274ed;hb=175f2c12b9483c2d17912ecf4a599d2bd608c357;hp=0e3f170e25577e8423dad10acae301610fc219cb;hpb=b1797f70e5a49dbd238f16746410d3a4ed1c68ff;p=platal.git diff --git a/modules/email.php b/modules/email.php index 0e3f170..a2ada02 100644 --- a/modules/email.php +++ b/modules/email.php @@ -33,6 +33,8 @@ class EmailModule extends PLModule 'emails/antispam/submit' => $this->make_hook('submit', AUTH_COOKIE), 'emails/test' => $this->make_hook('test', AUTH_COOKIE, 'user', NO_AUTH), + 'emails/imap/in' => $this->make_hook('imap_in', AUTH_PUBLIC), + 'admin/emails/duplicated' => $this->make_hook('duplicated', AUTH_MDP, 'admin'), 'admin/emails/watch' => $this->make_hook('duplicated', AUTH_MDP, 'admin'), 'admin/emails/lost' => $this->make_hook('lost', AUTH_MDP, 'admin'), @@ -464,6 +466,36 @@ class EmailModule extends PLModule exit; } + function handler_imap_in(&$page, $hash = null, $login = null) + { + $page->changeTpl('emails/imap_register.tpl'); + $id = null; + if (!empty($hash) || !empty($login)) { + $req = XDB::query("SELECT u.prenom, FIND_IN_SET('femme', u.flags) AS sexe, a.id + FROM aliases AS a + INNER JOIN newsletter_ins AS ni ON (a.id = ni.user_id) + INNER JOIN auth_user_md5 AS u ON (u.user_id = a.id) + WHERE a.alias = {?} AND ni.hash = {?}", $login, $hash); + list($prenom, $sexe, $id) = $req->fetchOneRow(); + } + + require_once('emails.inc.php'); + $page->assign('ok', false); + if (S::logged() && (is_null($id) || $id == S::i('uid'))) { + $storage = new EmailStorage(S::i('uid'), 'imap'); + $storage->activate(); + $page->assign('ok', true); + $page->assign('prenom', S::v('prenom')); + $page->assign('sexe', S::v('femme')); + } else if (!S::logged() && $id) { + $storage = new EmailStorage($id, 'imap'); + $storage->activate(); + $page->assign('ok', true); + $page->assign('prenom', $prenom); + $page->assign('sexe', $sexe); + } + } + function handler_broken(&$page, $warn = null, $email = null) { require_once 'emails.inc.php'; @@ -500,11 +532,11 @@ Nous te suggérons de vérifier cette adresse, et le cas échéant de mettre à jour sur le site <{$globals->baseurl}/emails> tes adresses de redirection... -Pour plus de rensignements sur le service de patte cassée, n'hésites pas à +Pour plus de renseignements sur le service de patte cassée, n'hésite pas à consulter la page <{$globals->baseurl}/emails/broken>. -A bientôt sur Polytechnique.org ! +À bientôt sur Polytechnique.org ! L'équipe d'administration mail->domain . '>'; $mail = new PlMailer();