Index: branches/unlabeled/unlabeled-1.36.2/core/units/admin/admin_tag_processor.php =================================================================== diff -u -r8291 -r8301 --- branches/unlabeled/unlabeled-1.36.2/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 8291) +++ branches/unlabeled/unlabeled-1.36.2/core/units/admin/admin_tag_processor.php (.../admin_tag_processor.php) (revision 8301) @@ -719,15 +719,19 @@ */ function MainFrameLink($params) { - // check last_template in persistent session - $last_template = $this->Application->RecallPersistentVar('last_template_popup'); - if (!$last_template) { + $persistent = isset($params['persistent']) && $params['persistent']; + if ($persistent) { + // check last_template in persistent session + $last_template = $this->Application->RecallPersistentVar('last_template_popup'); + } + else { // check last_template in session $last_template = $this->Application->RecallVar('last_template_popup'); // because of m_opener=s there } if (!$last_template) { - return false; + $params['persistent'] = 1; + return $persistent ? false : $this->MainFrameLink($params); } list($index_file, $env) = explode('|', $last_template); @@ -749,7 +753,8 @@ if (in_array($vars['t'], $recursion_templates)) { // prevents redirect recursion OR old in-portal pages - return false; + $params['persistent'] = 1; + return $persistent ? false : $this->MainFrameLink($params); } $vars = array_merge_recursive2($vars, $params);