Index: opener_stack.php =================================================================== --- opener_stack.php (revision 14917) +++ opener_stack.php (working copy) @@ -131,13 +131,12 @@ } list ($index_file, $original_env) = explode('|', $this->data[$index], 2); - $fixed_env = str_replace(Array ('&', '%5C'), Array ('&', '\\'), $original_env); + $params = $this->Application->processQueryString($fixed_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__'] = $original_env != $fixed_env ? 1 : 0; + // opener stack is used from JavaScript / redirecting, so any "&" could break it + $params['__URLENCODE__'] = 1; $template = kUtil::popParam('t', $params, '');