From: Stéphane Jacob Date: Thu, 23 Jul 2009 12:56:08 +0000 (+0200) Subject: Various bugfixes. X-Git-Tag: xorg/1.0.0~332^2~332 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=83ff52812c6ba2904453650bc3e665ef1462f58c;p=platal.git Various bugfixes. --- diff --git a/classes/profile.php b/classes/profile.php index 6e68dc9..177a244 100644 --- a/classes/profile.php +++ b/classes/profile.php @@ -304,11 +304,10 @@ class Profile return XDB::iterator('SELECT pje.name, pje.acronym, pje.url, pje.email, pje.NAF_code, pj.description, pj.url AS user_site, IF (' . $cond . ', pj.email, NULL) AS user_email, - pjfe.name AS function, pjse.name AS sector, - pjsse.name AS subsector, pjssse.name AS subsubsector + pjse.name AS sector, pjsse.name AS subsector, + pjssse.name AS subsubsector FROM profile_job AS pj INNER JOIN profile_job_enum AS pje ON (pje.id = pj.jobid) - LEFT JOIN profile_job_function_enum AS pjfe ON (pjfe.id = pj.functionid) LEFT JOIN profile_job_sector_enum AS pjse ON (pjse.id = pj.sectorid) LEFT JOIN profile_job_subsector_enum AS pjsse ON (pjsse.id = pj.subsectorid) LEFT JOIN profile_job_subsubsector_enum AS pjssse ON (pjssse.id = pj.subsubsectorid) diff --git a/classes/xorgsession.php b/classes/xorgsession.php index 21e8a2e..589d0d8 100644 --- a/classes/xorgsession.php +++ b/classes/xorgsession.php @@ -180,7 +180,8 @@ class XorgSession extends PlSession protected function startSessionAs($user, $level) { - if ((!is_null(S::v('user')) && S::v('user')->id() != $user->id()) + $session_user = S::v('user'); + if ((!is_null($session_user) && $session_user->id() != $user->id()) || (S::has('uid') && S::i('uid') != $user->id())) { return false; } else if (S::has('uid')) { @@ -208,7 +209,7 @@ class XorgSession extends PlSession LEFT JOIN gapps_accounts AS g ON(a.uid = g.l_userid AND g.g_status = 'active') LEFT JOIN logger.last_sessions AS ls ON (ls.uid = a.uid) LEFT JOIN logger.sessions AS s ON(s.id = ls.id) - WHERE a.uid = {?} AND u.perms IN('admin', 'user')", $user->id()); + WHERE a.uid = {?} AND a.state = 'active'", $user->id()); if ($res->numRows() != 1) { return false; } diff --git a/include/userset.inc.php b/include/userset.inc.php index 8c6040f..a7fe264 100644 --- a/include/userset.inc.php +++ b/include/userset.inc.php @@ -26,7 +26,7 @@ class UserSet extends PlSet public function __construct($cond = null) { $this->cond = new UFC_And(); - if (!is_null($cond)) { + if (!is_null($cond) && ($cond instanceof UserFilterCondition)) { $this->cond->addChild($cond); } } diff --git a/modules/profile.php b/modules/profile.php index 38e6dc8..3e0e413 100644 --- a/modules/profile.php +++ b/modules/profile.php @@ -692,7 +692,7 @@ class ProfileModule extends PLModule } if ($sectorSelection != "''") { $where[] = "ms.sectorid = " . $sectorSelection; - if ($selectedSubSector != "''") { + if ($subSectorSelection != "''") { $where[] = "ms.subsectorid = " . $subSectorSelection; } }