You are here

function drupal_get_normal_path in Drupal 7

Same name and namespace in other branches
  1. 4 includes/path.inc \drupal_get_normal_path()
  2. 5 includes/path.inc \drupal_get_normal_path()
  3. 6 includes/path.inc \drupal_get_normal_path()

Given a path alias, return the internal path it represents.

Parameters

$path: A Drupal path alias.

$path_language: An optional language code to look up the path in.

Return value

The internal path represented by the alias, or the original alias if no internal path was found.

12 calls to drupal_get_normal_path()
drupal_deliver_html_page in includes/common.inc
Packages and sends the result of a page callback to the browser as HTML.
drupal_path_initialize in includes/path.inc
Initialize the $_GET['q'] variable to the proper normal path.
menu_edit_item_validate in modules/menu/menu.admin.inc
Validate form values for a menu link being added or edited.
path_admin_form_validate in modules/path/path.admin.inc
Form validation handler for path_admin_form().
search_index in modules/search/search.module
Update the full-text search index for a particular item.

... See full list

File

includes/path.inc, line 259
Functions to handle paths in Drupal, including path aliasing.

Code

function drupal_get_normal_path($path, $path_language = NULL) {
  $original_path = $path;

  // Lookup the path alias first.
  if ($source = drupal_lookup_path('source', $path, $path_language)) {
    $path = $source;
  }

  // Allow other modules to alter the inbound URL. We cannot use drupal_alter()
  // here because we need to run hook_url_inbound_alter() in the reverse order
  // of hook_url_outbound_alter().
  foreach (array_reverse(module_implements('url_inbound_alter')) as $module) {
    $function = $module . '_url_inbound_alter';
    $function($path, $original_path, $path_language);
  }
  return $path;
}