Various bugfixes.
authorStéphane Jacob <sj@m4x.org>
Thu, 23 Jul 2009 12:56:08 +0000 (14:56 +0200)
committerStéphane Jacob <sj@m4x.org>
Thu, 23 Jul 2009 12:56:08 +0000 (14:56 +0200)
classes/profile.php
classes/xorgsession.php
include/userset.inc.php
modules/profile.php

index 6e68dc9..177a244 100644 (file)
@@ -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)
index 21e8a2e..589d0d8 100644 (file)
@@ -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;
         }
index 8c6040f..a7fe264 100644 (file)
@@ -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);
         }
     }
index 38e6dc8..3e0e413 100644 (file)
@@ -692,7 +692,7 @@ class ProfileModule extends PLModule
         }
         if ($sectorSelection != "''") {
             $where[] = "ms.sectorid = " . $sectorSelection;
-            if ($selectedSubSector != "''") {
+            if ($subSectorSelection != "''") {
                 $where[] = "ms.subsectorid = " . $subSectorSelection;
             }
         }