Index: opener_stack.php =================================================================== --- opener_stack.php (revision 14768) +++ opener_stack.php (working copy) @@ -113,6 +113,7 @@ * @param int $index Position of element in opener stack. Negative number will retrieve element from the end. * @param bool $raw * @return Array|string {$template, $params, $index_file} + * @see kRequestManager::openerStackChange() * @access public */ public function get($index, $raw = false) @@ -132,6 +133,10 @@ list ($index_file, $env) = explode('|', $this->data[$index], 2); $params = $this->Application->processQueryString($env, 'pass'); + // detect "__URLENCODE__" parameter value, used when opener stack element was built + // without it rebuilding opener stack element will convert all "&" to "&" elements + $params['__URLENCODE__'] = (strpos($env, '&') !== false && strpos($env, '&') === false) || (strpos($env, '\\') !== false && strpos($env, '%5C') === false) ? 1 : 0; + $template = kUtil::popParam('t', $params, ''); return Array ($template, $params, $index_file);