Index: trunk/kernel/include/usersession.php =================================================================== diff -u -r534 -r540 --- trunk/kernel/include/usersession.php (.../usersession.php) (revision 534) +++ trunk/kernel/include/usersession.php (.../usersession.php) (revision 540) @@ -409,6 +409,7 @@ } $this->Set("PortalUserId", $result->fields["PortalUserId"]); + unset($this->CurrentUser); if(strlen($result->fields["tz"])>0) $this->Set("tz",$result->fields["tz"]); $PrimaryGroup=0; @@ -515,9 +516,13 @@ if($userid > 0) { if(!is_object($this->CurrentUser)) - $this->CurrentUser = $objUsers->GetItem($this->Get("PortalUserId")); + { + $this->CurrentUser = $objUsers->GetItem($userid); + } if(!$this->CurrentUser->VarsLoaded) + { $this->CurrentUser->LoadPersistantVars(); + } //echo "setting current user' $variableName, $variableValue
"; $this->CurrentUser->SetPersistantVariable($variableName, $variableValue); //$this->SetVariable($variableName,$variableValue); @@ -530,12 +535,17 @@ { global $objConfig, $objUsers; - if(is_numeric($this->Get("PortalUserId"))) + $UserID = $this->Get("PortalUserId"); + if(is_numeric($UserID)) { if(!is_object($this->CurrentUser)) - $this->CurrentUser = $objUsers->GetItem($this->Get("PortalUserId")); + { + $this->CurrentUser = $objUsers->GetItem($UserID); + } if(!$this->CurrentUser->VarsLoaded) + { $this->CurrentUser->LoadPersistantVars(); + } $val = $this->CurrentUser->GetPersistantVariable($variableName); } if(!strlen($val))