X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=plugins%2Finsert.getUserName.php;h=7d69ee991a5f12f0a5cad683d5bb024fcf21d78a;hb=c76545c351fae4e2298624ff9ee5bf854dc5a5b6;hp=b1846a34fb0eb5fbca8461b20bec51b9b84d8d0f;hpb=9f5bd98e936d8cef7ca9f774eeef64dbb8a1b079;p=platal.git diff --git a/plugins/insert.getUserName.php b/plugins/insert.getUserName.php index b1846a3..7d69ee9 100644 --- a/plugins/insert.getUserName.php +++ b/plugins/insert.getUserName.php @@ -24,30 +24,36 @@ function smarty_insert_getUsername() global $globals; $id = Cookie::i('uid', -1); - $id = S::v($_SESSION['uid'], $id); + $id = S::v('uid', $id); - if ($id<0) { - return ""; + if ($id < 0) { + return ''; } if (Cookie::v('domain', 'login') != 'alias') { - $res = XDB::query("SELECT alias FROM aliases - WHERE id={?} AND (type IN ('a_vie','alias') AND FIND_IN_SET('bestalias', flags))", $id); + $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, "@")); + 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: