1 redirect.module redirect_redirect($redirect = NULL)

Perform an URL redirect.

Parameters

$redirect: An optional URL redirect array.

Related topics

File

core/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);
  }
}