'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),
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)