X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Faxletter.php;h=4ef05dec4f67c6a8d3f3bd0a9d1e8f6a68475079;hb=cbce77b738f8ac05f9469ef1a2be98db98723409;hp=d1f1c443e161d44c340123f4b71a3878649ce582;hpb=1c71fd241f28b82e5775dda31f1131e911f770f4;p=platal.git diff --git a/modules/axletter.php b/modules/axletter.php index d1f1c44..4ef05de 100644 --- a/modules/axletter.php +++ b/modules/axletter.php @@ -318,6 +318,7 @@ class AXLetterModule extends PLModule function idFromMail($line, $key) { static $field; + global $globals; if (!isset($field)) { $field = array('email', 'mail', 'login', 'bestalias', 'forlife', 'flag'); foreach ($field as $fld) { @@ -330,23 +331,29 @@ class AXLetterModule extends PLModule $email = $line[$field]; if (strpos($email, '@') === false) { $user = $email; + $domain = $globals->mail->domain2; } else { - global $globals; list($user, $domain) = explode('@', $email); - if ($domain != $globals->mail->domain && $domain != $globals->mail->domain2 + } + if ($domain != $globals->mail->domain && $domain != $globals->mail->domain2 && $domain != $globals->mail->alias_dom && $domain != $globals->mail->alias_dom2) { - return '0'; - } - if ($domain == $globals->mail->alias_dom || $domain == $globals->mail->alias_dom2) { - $res = XDB::query("SELECT a.id - FROM virtual AS v - INNER JOIN virtual_redirect AS r USING(vid) - INNER JOIN aliases AS a ON (a.type = 'a_vie' - AND r.redirect = CONCAT(a.alias, '@{$globals->mail->domain2}') - WHERE v.alias = CONCAT({?}, '@{$globals->mail->alias_dom}')", $user); - $id = $res->fetchOneCell(); - return $id ? $id : '0'; + $res = XDB::query("SELECT uid FROM emails WHERE email = {?}", $email); + if ($res->numRows() == 1) { + return $res->fetchOneCell(); } + return '0'; + } + list($user) = explode('+', $user); + list($user) = explode('_', $user); + if ($domain == $globals->mail->alias_dom || $domain == $globals->mail->alias_dom2) { + $res = XDB::query("SELECT a.id + FROM virtual AS v + INNER JOIN virtual_redirect AS r USING(vid) + INNER JOIN aliases AS a ON (a.type = 'a_vie' + AND r.redirect = CONCAT(a.alias, '@{$globals->mail->domain2}')) + WHERE v.alias = CONCAT({?}, '@{$globals->mail->alias_dom}')", $user); + $id = $res->fetchOneCell(); + return $id ? $id : '0'; } $res = XDB::query("SELECT id FROM aliases WHERE alias = {?}", $user); $id = $res->fetchOneCell();