From 83ff52812c6ba2904453650bc3e665ef1462f58c Mon Sep 17 00:00:00 2001 From: =?utf8?q?St=C3=A9phane=20Jacob?= Date: Thu, 23 Jul 2009 14:56:08 +0200 Subject: [PATCH] Various bugfixes. --- classes/profile.php | 5 ++--- classes/xorgsession.php | 5 +++-- include/userset.inc.php | 2 +- modules/profile.php | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) 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; } } -- 2.1.4