Quote from: rossco at Nov 12, 2008, 10:48 AM
Any more on this issue??? I am having all sorts of issues with this problem.
No news about this issue for months. Perhaps we should start a new thread about it?
if ($internalKey == '' || empty($internalKey))
{
$currentWebUser = $modx->getWebUserInfo($modx->getLoginUserID());
$internalKey = $currentWebUser['internalKey'];
$refreshSession = true;
}
else
{
$currentWebUser = $modx->getWebUserInfo($internalKey);
$refreshSession = false;
}if ($refreshSession === true)
{
$this->SessionHandler('start');
}
Manager session and webuser sessions are totally seperate and each have different info which the scripts look for to grab the user settings, but if you kill all sessions then it logs you out of the manager too.
The values for the $_SESSION[’’] variables are set at login and if the profile is changed, then the session variables have to be updated, which require a relogin.
The manager works the same way, if you change any part of your user info in the manager, you are logged out so that you have to relog to refresh the changes to the session. When the webuser profile is updated, the webloginPE script checks to see if there is a manager session set and acts accordingly (meaning if there is a manager session set, it doesnt kill the manager session when a webuser profile is updated, only the webuser part). This is what causes the unusual behavior you witnessed in the gallery admin button etc..
if ($refreshSession === true)
{
$this->SessionHandler('start');
} if ($refreshSession === true)
{
$this->Username = $this->User['username']; // insert this line - vhollo
$this->SessionHandler('start');
}