Index: branches/5.3.x/core/kernel/managers/url_manager.php =================================================================== diff -u -N -r15677 -r15902 --- branches/5.3.x/core/kernel/managers/url_manager.php (.../url_manager.php) (revision 15677) +++ branches/5.3.x/core/kernel/managers/url_manager.php (.../url_manager.php) (revision 15902) @@ -1,6 +1,6 @@ get(kOpenerStack::LAST_ELEMENT, true)); $ret = $this->Application->BaseURL($prefix, $ssl) . $index_file . '?' . ENV_VAR_NAME . '=' . $env; + // TODO: tag, which uses resulting url should do escaping if ( isset($params['escape']) && $params['escape'] ) { - $ret = addslashes($ret); + $ret = kUtil::escape($ret, kUtil::ESCAPE_JS); } if ( isset($params['m_opener']) && $params['m_opener'] == 'u' ) { @@ -498,4 +499,24 @@ return $vars; } -} + + /** + * Show 404 page and exit + * + * @return void + * @access public + */ + public function show404() + { + $vars = $this->prepare404(); + + foreach ($vars as $var_name => $var_value) { + $this->Application->SetVar($var_name, $var_value); + } + + // ensure parser is available (e.g. 404 page requested from event) + $this->Application->QuickRun(); + $this->Application->Done(); + exit; + } +} \ No newline at end of file