X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Femail.php;h=e5049c5e17c6a652133d79078e2b5d7979cbc57a;hb=98d858e523a7c7509bdff56e23cec4f435e93e02;hp=764851576e5159f71ea3a80b2593242611e6098b;hpb=cb6e7db980fcc5fcdd2dad5aa645cfdf98057cd4;p=platal.git diff --git a/modules/email.php b/modules/email.php index 7648515..e5049c5 100644 --- a/modules/email.php +++ b/modules/email.php @@ -27,10 +27,10 @@ class EmailModule extends PLModule 'emails' => $this->make_hook('emails', AUTH_COOKIE, 'mail'), 'emails/alias' => $this->make_hook('alias', AUTH_MDP, 'mail'), 'emails/antispam' => $this->make_hook('antispam', AUTH_MDP, 'mail'), - 'emails/broken' => $this->make_hook('broken', AUTH_COOKIE), + 'emails/broken' => $this->make_hook('broken', AUTH_COOKIE, 'user'), 'emails/redirect' => $this->make_hook('redirect', AUTH_MDP, 'mail'), 'emails/send' => $this->make_hook('send', AUTH_MDP, 'mail'), - 'emails/antispam/submit' => $this->make_hook('submit', AUTH_COOKIE), + 'emails/antispam/submit' => $this->make_hook('submit', AUTH_COOKIE, 'user'), 'emails/test' => $this->make_hook('test', AUTH_COOKIE, 'mail', NO_AUTH), 'emails/rewrite/in' => $this->make_hook('rewrite_in', AUTH_PUBLIC), @@ -67,9 +67,12 @@ class EmailModule extends PLModule WHERE uid = {?}", $user->id()); // Then gives the bestalias flag to the given email. list($email, $domain) = explode('@', $email); - XDB::execute("UPDATE email_source_account + XDB::execute("UPDATE email_source_account AS s + INNER JOIN email_virtual_domains AS m ON (m.id = s.domain) + INNER JOIN email_virtual_domains AS d ON (d.aliasing = m.id) SET flags = CONCAT_WS(',', IF(flags = '', NULL, flags), 'bestalias') - WHERE uid = {?} AND email = {?}", $user->id(), $email); + WHERE s.uid = {?} AND s.email = {?} AND d.name = {?}", + $user->id(), $email, $domain); XDB::execute('UPDATE accounts AS a INNER JOIN email_virtual_domains AS d ON (d.name = {?}) INNER JOIN email_virtual_domains AS m ON (d.aliasing = m.id)