1.20.x redirect.module | redirect_redirect($redirect = NULL) |
Perform an URL redirect.
Parameters
$redirect: An optional URL redirect array.
Related topics
File
- modules/
redirect/ redirect.module, line 914
Code
function redirect_redirect($redirect = NULL) {
if (!isset($redirect)) {
$redirect = new Redirect(array(
'redirect' => current_path(),
'type' => 'manual',
'cache' => TRUE,
));
}
if (config_get('redirect.settings', 'passthrough_querystring')) {
// Preserve the current query parameters in the redirect.
$redirect->redirect_options += array('query' => array());
$redirect->redirect_options['query'] += backdrop_get_query_parameters();
}
// Allow other modules to alter the redirect before passing to backdrop_goto().
backdrop_alter('redirect', $redirect);
// Continue if the redirect has not been disabled by hook_redirect_alter().
if (isset($redirect->redirect) && isset($redirect->callback) && $redirect->redirect !== FALSE && function_exists($redirect->callback)) {
// Perform the actual redirect.
$callback = $redirect->callback;
$callback($redirect);
}
}