function drupal_get_destination in Drupal 7
Same name and namespace in other branches
- 8 core/includes/common.inc \drupal_get_destination()
- 4 includes/common.inc \drupal_get_destination()
- 5 includes/common.inc \drupal_get_destination()
- 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
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().
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;
}