You are here

function drupal_get_destination in Drupal 7

Same name and namespace in other branches
  1. 8 core/includes/common.inc \drupal_get_destination()
  2. 4 includes/common.inc \drupal_get_destination()
  3. 5 includes/common.inc \drupal_get_destination()
  4. 6 includes/common.inc \drupal_get_destination()

Prepares a 'destination' URL query parameter for use with drupal_goto().

Used to direct the user back to the referring page after completing a form. By default the current URL is returned. If a destination exists in the previous request, that destination is returned. As such, a destination can persist across multiple pages.

Return value

An associative array containing the key:

  • destination: The path provided via the destination query string or, if not available, the current path.

See also

current_path()

drupal_goto()

Related topics

29 calls to drupal_get_destination()
comment_admin_overview in modules/comment/comment.admin.inc
Form builder for the comment overview administration form.
common_test_destination in modules/simpletest/tests/common_test.module
Print destination query parameter.
contextual_pre_render_links in modules/contextual/contextual.module
Build a renderable array for contextual links.
field_ui_field_overview_form_submit in modules/field_ui/field_ui.admin.inc
Form submission handler for field_ui_field_overview_form().
forum_menu_local_tasks_alter in modules/forum/forum.module
Implements hook_menu_local_tasks_alter().

... See full list

File

includes/common.inc, line 525
Common functions that many Drupal modules will need to reference.

Code

function drupal_get_destination() {
  $destination =& drupal_static(__FUNCTION__);
  if (isset($destination)) {
    return $destination;
  }
  if (isset($_GET['destination'])) {
    $destination = array(
      'destination' => $_GET['destination'],
    );
  }
  else {
    $path = $_GET['q'];
    $query = drupal_http_build_query(drupal_get_query_parameters());
    if ($query != '') {
      $path .= '?' . $query;
    }
    $destination = array(
      'destination' => $path,
    );
  }
  return $destination;
}