X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fprofile.php;h=5b7839beff267410c7a3d43d988fb64a8049b6c4;hb=f3df6d384c72871c814d607cd9122eba03666543;hp=68700f71fb81537ca4684e5c30657f27bd7c1eb5;hpb=460d8f5533ac4dff9d0df95efe11c399228b8637;p=platal.git diff --git a/modules/profile.php b/modules/profile.php index 68700f7..5b7839b 100644 --- a/modules/profile.php +++ b/modules/profile.php @@ -198,19 +198,15 @@ class ProfileModule extends PLModule if (!S::logged() || Env::v('view') == 'public') $view = 'public'; if (S::logged() && Env::v('view') == 'ax') $view = 'ax'; - if (is_numeric($x)) { - $res = XDB::query( - "SELECT alias - FROM aliases AS a - INNER JOIN auth_user_md5 AS u ON (a.id=u.user_id AND a.type='a_vie') - WHERE matricule={?}", $x); - $login = $res->fetchOneCell(); - } else { - $login = get_user_forlife($x, S::logged() ? '_default_user_callback' - : '_silent_user_callback'); + $login = S::logged() ? User::get($x) : User::getSilent($x); + if (!$login) { + return PL_NOT_FOUND; } - if (empty($login)) { + $res = XDB::query("SELECT perms IN ('admin','user','disabled') + FROM auth_user_md5 + WHERE user_id = {?}", $login->id()); + if (!$res->fetchOneCell()) { $user = get_not_registered_user($x, true); if ($user->total() != 1) { return PL_NOT_FOUND; @@ -222,11 +218,11 @@ class ProfileModule extends PLModule $user['forlife'] = $x; } else { $new = Env::v('modif') == 'new'; - $user = get_user_details($login, S::v('uid'), $view); + $user = get_user_details($login->login(), S::v('uid'), $view); } if (S::logged()) { - S::logger()->log('view_profile', $login); + S::logger()->log('view_profile', $login->login()); } $title = $user['prenom'] . ' ' . ( empty($user['nom_usage']) ? $user['nom'] : $user['nom_usage'] ); @@ -281,18 +277,17 @@ class ProfileModule extends PLModule function handler_ax(&$page, $user = null) { - require_once 'user.func.inc.php'; - $user = get_user_forlife($user); + $user = User::get($user); if (!$user) { return PL_NOT_FOUND; } - $res = XDB::query('SELECT matricule_ax - FROM auth_user_md5 AS u - INNER JOIN aliases AS a ON (a.type = "a_vie" AND a.id = u.user_id) - WHERE a.alias = {?}', $user); + + $res = XDB::query("SELECT matricule_ax + FROM auth_user_md5 + WHERE user_id = {?}", $user->id()); $mat = $res->fetchOneCell(); if (!intval($mat)) { - $page->kill("Le matricule AX de $user est inconnu"); + $page->kill("Le matricule AX de {$user->login()} est inconnu"); } http_redirect("http://www.polytechniciens.com/?page=AX_FICHE_ANCIEN&anc_id=$mat"); }