drupal_get_normal_path

Versions
4.6 – 5
drupal_get_normal_path($path)
6 – 7
drupal_get_normal_path($path, $path_language = '')

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.

▾ 8 functions call drupal_get_normal_path()

drupal_deliver_html_page in includes/common.inc
Package and send the result of a page callback to the browser as a normal HTML page.
drupal_is_front_page in includes/path.inc
Check if the current page is the front page.
drupal_path_initialize in includes/path.inc
Initialize the $_GET['q'] variable to the proper normal path.
node_language_provider in modules/node/node.module
Return the language of the current node.
path_admin_form_validate in modules/path/path.admin.inc
Verify that a URL alias is valid
search_index in modules/search/search.module
Update the full-text search index for a particular item.
shortcut_valid_link in modules/shortcut/shortcut.module
Determines if a path corresponds to a valid shortcut link.
system_site_information_settings_validate in modules/system/system.admin.inc
Validate the submitted site-information form.

Code

includes/path.inc, line 205

<?php
function drupal_get_normal_path($path, $path_language = '') {
  $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;
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.