From f0ff554a6173320275fc8baab3d436a8606badca Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Wed, 28 Apr 2010 14:20:12 +0200 Subject: [PATCH] Only proposes @melix aliases for login. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Stéphane Jacob --- plugins/insert.getUserName.php | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/plugins/insert.getUserName.php b/plugins/insert.getUserName.php index 9cc219f..769853b 100644 --- a/plugins/insert.getUserName.php +++ b/plugins/insert.getUserName.php @@ -26,28 +26,34 @@ function smarty_insert_getUsername() $id = Cookie::i('uid', -1); $id = S::v($_SESSION['uid'], $id); - if ($id<0) { - return ""; + if ($id < 0) { + return ''; } if (Cookie::v('domain', 'login') != 'alias') { - $res = XDB::query("SELECT alias FROM aliases - WHERE uid={?} 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(uid={?} 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: -- 2.1.4