X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=classes%2Fxorgsession.php;h=815ad816b6dfff144ceb4efdd586ecf9dbc988e3;hb=45dcbe4d0b623e195055d82543e3815d8b5419a4;hp=2e852758bc119dc8e657c4bdf99686d2548dcc38;hpb=ce0d7be772306674fadaf020511871aba1683816;p=platal.git diff --git a/classes/xorgsession.php b/classes/xorgsession.php index 2e85275..815ad81 100644 --- a/classes/xorgsession.php +++ b/classes/xorgsession.php @@ -81,9 +81,9 @@ class XorgSession extends PlSession { if ($login_type == 'alias') { $res = XDB::query('SELECT a.uid, a.password - FROM accounts AS a - INNER JOIN aliases AS l ON (l.uid = a.uid AND l.type != \'homonyme\') - WHERE l.alias = {?} AND a.state = \'active\'', + FROM accounts AS a + INNER JOIN email_source_account AS e ON (e.uid = a.uid) + WHERE e.email = {?}', $login); } else { $res = XDB::query('SELECT uid, password @@ -140,29 +140,28 @@ class XorgSession extends PlSession if (S::suid()) { $login = $uname = S::suid('uid'); $loginType = 'uid'; - $redirect = false; } else { $uname = Post::v('username'); if (Post::s('domain') == "alias") { - $res = XDB::query('SELECT redirect - FROM virtual - INNER JOIN virtual_redirect USING(vid) - WHERE alias LIKE {?}', - $uname . '@' . $globals->mail->alias_dom); - $redirect = $res->fetchOneCell(); - if ($redirect) { - $login = substr($redirect, 0, strpos($redirect, '@')); - } else { - $login = ''; - } - $loginType = 'alias'; - } else if (Post::s('domain') == "ax") { + $login = XDB::fetchOneCell('SELECT uid + FROM email_source_account + WHERE email = {?} AND type = \'alias_aux\'', + $uname); + $loginType = 'uid'; + } else if (Post::s('domain') == 'hruid') { $login = $uname; - $redirect = false; $loginType = 'hruid'; + } else if ((Post::s('domain') == 'email')) { + $login = XDB::fetchOneCell('SELECT SQL_CALC_FOUND_ROWS uid + FROM accounts + WHERE email = {?}', + $uname); + if (!(XDB::fetchOneCell('SELECT FOUND_ROWS()') == 1)) { + $login =null; + } + $loginType = 'uid'; } else { $login = $uname; - $redirect = false; $loginType = is_numeric($uname) ? 'uid' : 'alias'; } }