Index: branches/unlabeled/unlabeled-1.52.4/core/kernel/session/session.php =================================================================== diff -u -r6852 -r6862 --- branches/unlabeled/unlabeled-1.52.4/core/kernel/session/session.php (.../session.php) (revision 6852) +++ branches/unlabeled/unlabeled-1.52.4/core/kernel/session/session.php (.../session.php) (revision 6862) @@ -766,14 +766,28 @@ function SaveLastTemplate($t) { - $last_env = $this->Application->BuildEnv($t, Array('m_opener' => 'u', '__URLENCODE__' => 1), 'all'); + // save last_template + $wid = $this->Application->GetVar('m_wid'); + + $last_env = $this->getLastTemplateENV($t, Array('m_opener' => 'u')); $last_template = basename($_SERVER['PHP_SELF']).'|'.substr($last_env, strlen(ENV_VAR_NAME) + 1); - $this->StoreVar('last_template', $last_template); + $this->StoreVar(rtrim('last_template_'.$wid, '_'), $last_template); + + $last_env = $this->getLastTemplateENV($t, Array()); + $last_template = basename($_SERVER['PHP_SELF']).'|'.substr($last_env, strlen(ENV_VAR_NAME) + 1); + $this->StoreVar(rtrim('last_template_popup_'.$wid, '_'), $last_template); + + // save other last... variables for mistical purposes (customizations may be) $this->StoreVar('last_url', $_SERVER['REQUEST_URI']); - - $this->StoreVar('last_env', substr($this->Application->BuildEnv($t, Array('__URLENCODE__' => 1), 'all'), strlen(ENV_VAR_NAME)+1)); + $this->StoreVar('last_env', substr($last_env, strlen(ENV_VAR_NAME)+1)); } + function getLastTemplateENV($t, $params) + { + $params['__URLENCODE__'] = 1; + return $this->Application->BuildEnv($t, $params, 'all'); + } + function StoreVar($name, $value) { $this->Data->Set($name, $value);