Index: trunk/core/units/admin/admin_tag_processor.php =================================================================== diff -u -N -r8002 -r8005 --- trunk/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 8002) +++ trunk/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 8005) @@ -690,22 +690,23 @@ */ function MainFrameLink($params) { - $last_template = $this->Application->RecallVar('last_template'); + $last_template = $this->Application->RecallVar('last_template_popup'); // because of m_opener=s there if (!$last_template) { return false; } - $ssl = isset($params['__SSL__']) ? $params['__SSL__'] : null; - - list($index_file, $env) = explode('|', $last_template); - - $vars = $this->Application->HttpQuery->processQueryString(preg_replace('/(.*?)&/', '\1', $env)); + list(, $env) = explode('|', $last_template); + $vars = $this->Application->HttpQuery->processQueryString($env, 'pass'); if ($vars['t'] == 'login') { // prevents redirect recursion return false; } - return $this->Application->BaseURL('/admin', $ssl).$index_file.'?'.ENV_VAR_NAME.'='.$env; + $vars = array_merge_recursive2($vars, $params); + $t = $vars['t']; + unset($vars['t']); + + return $this->Application->HREF($t, '', $vars); } }