request_uri

Versions
4.6 – 7
request_uri()

Since $_SERVER['REQUEST_URI'] is only available on Apache, we generate an equivalent using other environment variables.

▾ 11 functions call request_uri()

drupal_page_get_cache in includes/bootstrap.inc
Retrieve the current page from the cache.
drupal_page_set_cache in includes/common.inc
Store the current page in the cache.
drupal_render_cid_parts in includes/common.inc
Helper function for building cache ids.
install_verify_requirements in ./install.php
Installation task; verify the requirements for installing Drupal.
locale in modules/locale/locale.module
Provides interface translation services.
system_clean_url_settings in modules/system/system.admin.inc
Form builder; Configure clean URL settings.
system_element_info in modules/system/system.module
Implement hook_element_info().
theme_install_page in includes/theme.maintenance.inc
Generate a themed installation page.
update_check_requirements in ./update.php
Check update requirements and report any errors.
watchdog in includes/bootstrap.inc
Log a system message.
watchdog_skip_semaphore in modules/simpletest/tests/actions_loop_test.module
Replacement of the watchdog() function that eliminates the use of semaphores so that we can test the abortion of an action loop.

Code

includes/bootstrap.inc, line 1236

<?php
function request_uri() {

  if (isset($_SERVER['REQUEST_URI'])) {
    $uri = $_SERVER['REQUEST_URI'];
  }
  else {
    if (isset($_SERVER['argv'])) {
      $uri = $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['argv'][0];
    }
    elseif (isset($_SERVER['QUERY_STRING'])) {
      $uri = $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'];
    }
    else {
      $uri = $_SERVER['SCRIPT_NAME'];
    }
  }
  // Prevent multiple slashes to avoid cross site requests via the Form API.
  $uri = '/' . ltrim($uri, '/');

  return $uri;
}
?>
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.