X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fxorg%2Fsession.inc.php;h=3dccb9279d073847cb6f36f2cef7b2a74a8bb304;hb=54edb67d4066b80a1b53b4c38bd250ab0121085a;hp=265d2c06cf8b3063cf84851a3503b962cd7a8e8a;hpb=ef42a9d667bc59456c156d0c5085be9efc1954b7;p=platal.git diff --git a/include/xorg/session.inc.php b/include/xorg/session.inc.php index 265d2c0..3dccb92 100644 --- a/include/xorg/session.inc.php +++ b/include/xorg/session.inc.php @@ -25,7 +25,7 @@ class XorgSession { // {{{ public static function init - public static function init() + public static function init() { S::init(); if (!S::has('uid')) { @@ -158,7 +158,7 @@ class XorgSession * @param page the calling page (by reference) */ public static function doAuthCookie() - + { if (S::logged()) { return true; @@ -239,19 +239,23 @@ function try_cookie() function start_connexion ($uid, $identified) { $res = XDB::query(" - SELECT u.user_id AS uid, prenom, nom, nom_usage, perms, promo, matricule, password, FIND_IN_SET('femme', u.flags) AS femme, - UNIX_TIMESTAMP(s.start) AS lastlogin, s.host, a.alias AS forlife, a2.alias AS bestalias, + SELECT u.user_id AS uid, prenom, prenom_ini, nom, nom_ini, nom_usage, perms, promo, promo_sortie, + matricule, password, FIND_IN_SET('femme', u.flags) AS femme, + a.alias AS forlife, a2.alias AS bestalias, q.core_mail_fmt AS mail_fmt, UNIX_TIMESTAMP(q.banana_last) AS banana_last, q.watch_last, q.core_rss_hash, FIND_IN_SET('watch', u.flags) AS watch_account, q.last_version FROM auth_user_md5 AS u INNER JOIN auth_user_quick AS q USING(user_id) INNER JOIN aliases AS a ON (u.user_id = a.id AND a.type='a_vie') INNER JOIN aliases AS a2 ON (u.user_id = a2.id AND FIND_IN_SET('bestalias',a2.flags)) - LEFT JOIN logger.sessions AS s ON (s.uid=u.user_id AND s.suid=0) - WHERE u.user_id = {?} AND u.perms IN('admin','user') - ORDER BY s.start DESC - LIMIT 1", $uid); + WHERE u.user_id = {?} AND u.perms IN('admin','user')", $uid); $sess = $res->fetchOneAssoc(); + $res = XDB::query("SELECT UNIX_TIMESTAMP(s.start) AS lastlogin, s.host + FROM logger.sessions AS s + WHERE s.uid = {?} AND s.suid = 0 + ORDER BY s.start DESC + LIMIT 1", $uid); + $sess = array_merge($sess, $res->fetchOneAssoc()); $suid = S::v('suid'); if ($suid) {