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;
}