X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=plugins%2Finsert.getUserName.php;h=494e78e601bc1b7cdd310bfc9960c332b6c39733;hb=7ea0c31bce93dddcd4999c1171071cdd9469c022;hp=bd7af29768404b4b66766f0b1e44a627368e72bb;hpb=0783a5ed4d3409bcd7a7e1d908696159999810c8;p=platal.git diff --git a/plugins/insert.getUserName.php b/plugins/insert.getUserName.php index bd7af29..494e78e 100644 --- a/plugins/insert.getUserName.php +++ b/plugins/insert.getUserName.php @@ -1,6 +1,6 @@ fetchOneCell(); + $res = XDB::query("SELECT alias + FROM aliases + WHERE uid = {?} AND (type IN ('a_vie', 'alias') AND FIND_IN_SET('bestalias', flags))", + $id); + return $res->fetchOneCell(); } else { - $res = XDB::query(" - SELECT v.alias - FROM virtual AS v - INNER JOIN virtual_redirect USING(vid) - INNER JOIN aliases AS a ON(id={?} AND a.type='a_vie') - WHERE redirect = CONCAT(a.alias, {?}) - OR redirect = CONCAT(a.alias, {?})", - $id, "@".$globals->mail->domain, "@".$globals->mail->domain2); - $alias = $res->fetchOneCell(); - return substr($alias, 0, strpos($alias, "@")); + $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 $login; + return ''; } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: