mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/12836] Add event core.functions.redirect
PHPBB3-12836
This commit is contained in:
parent
91f5d59f69
commit
f3f54922be
1 changed files with 17 additions and 6 deletions
|
@ -2210,7 +2210,7 @@ function generate_board_url($without_script_path = false)
|
||||||
*/
|
*/
|
||||||
function redirect($url, $return = false, $disable_cd_check = false)
|
function redirect($url, $return = false, $disable_cd_check = false)
|
||||||
{
|
{
|
||||||
global $db, $cache, $config, $user, $phpbb_root_path, $phpbb_filesystem, $phpbb_path_helper, $phpEx;
|
global $db, $cache, $config, $user, $phpbb_root_path, $phpbb_filesystem, $phpbb_path_helper, $phpEx, $phpbb_dispatcher;
|
||||||
|
|
||||||
$failover_flag = false;
|
$failover_flag = false;
|
||||||
|
|
||||||
|
@ -2219,11 +2219,6 @@ function redirect($url, $return = false, $disable_cd_check = false)
|
||||||
$user->add_lang('common');
|
$user->add_lang('common');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$return)
|
|
||||||
{
|
|
||||||
garbage_collection();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make sure no &'s are in, this will break the redirect
|
// Make sure no &'s are in, this will break the redirect
|
||||||
$url = str_replace('&', '&', $url);
|
$url = str_replace('&', '&', $url);
|
||||||
|
|
||||||
|
@ -2298,10 +2293,26 @@ function redirect($url, $return = false, $disable_cd_check = false)
|
||||||
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
|
trigger_error('INSECURE_REDIRECT', E_USER_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Execute code and/or overwrite redirect()
|
||||||
|
*
|
||||||
|
* @event core.functions.redirect
|
||||||
|
* @var string url The url
|
||||||
|
* @var bool return If true, do not redirect but return the sanitized URL.
|
||||||
|
* @var bool disable_cd_check If true, redirect() will redirect to an external domain. If false, the redirect point to the boards url if it does not match the current domain.
|
||||||
|
* @since 3.1.0-RC3
|
||||||
|
*/
|
||||||
|
$vars = array('url', 'return', 'disable_cd_check');
|
||||||
|
extract($phpbb_dispatcher->trigger_event('core.functions.redirect', compact($vars)));
|
||||||
|
|
||||||
if ($return)
|
if ($return)
|
||||||
{
|
{
|
||||||
return $url;
|
return $url;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
garbage_collection();
|
||||||
|
}
|
||||||
|
|
||||||
// Redirect via an HTML form for PITA webservers
|
// Redirect via an HTML form for PITA webservers
|
||||||
if (@preg_match('#Microsoft|WebSTAR|Xitami#', getenv('SERVER_SOFTWARE')))
|
if (@preg_match('#Microsoft|WebSTAR|Xitami#', getenv('SERVER_SOFTWARE')))
|
||||||
|
|
Loading…
Add table
Reference in a new issue