- $res = XDB::query("
- SELECT v.alias
- FROM virtual AS v
- INNER JOIN virtual_redirect USING (vid)
- INNER JOIN aliases AS a ON (uid = {?} AND a.type = 'a_vie')
- WHERE redirect = CONCAT(a.alias, {?}) OR redirect = CONCAT(a.alias, {?})",
- $id, '@' . $globals->mail->domain, '@' . $globals->mail->domain2);
- $aliases = $res->fetchAllAssoc();
- foreach ($aliases as $alias) {
- list($login, $domain) = explode('@', $alias['alias']);
- if ($domain == $globals->mail->alias_dom || $domain == $globals->mail->alias_dom2) {
- return $login;
- }
- }
- }
+ return XDB::fetchOneCell('SELECT email
+ FROM email_source_account
+ WHERE uid = {?} AND type != \'alias_aux\'
+ ORDER BY NOT FIND_IN_SET(\'bestalias\', flags), CHAR_LENGTH(email)',
+ $id);
+ }