Revert "Convert more path utility functions to just wrap the request object."
We're not ready for this yet.
This reverts commit a2f83000b4
.
8.0.x
parent
674dae32c7
commit
a764bd3fbb
|
@ -551,6 +551,13 @@ function drupal_environment_initialize() {
|
||||||
$_SERVER['HTTP_HOST'] = '';
|
$_SERVER['HTTP_HOST'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// When clean URLs are enabled, emulate ?q=foo/bar using REQUEST_URI. It is
|
||||||
|
// not possible to append the query string using mod_rewrite without the B
|
||||||
|
// flag (this was added in Apache 2.2.8), because mod_rewrite unescapes the
|
||||||
|
// path before passing it on to PHP. This is a problem when the path contains
|
||||||
|
// e.g. "&" or "%" that have special meanings in URLs and must be encoded.
|
||||||
|
$_GET['q'] = request_path();
|
||||||
|
|
||||||
// Enforce E_STRICT, but allow users to set levels not part of E_STRICT.
|
// Enforce E_STRICT, but allow users to set levels not part of E_STRICT.
|
||||||
error_reporting(E_STRICT | E_ALL | error_reporting());
|
error_reporting(E_STRICT | E_ALL | error_reporting());
|
||||||
|
|
||||||
|
@ -1512,7 +1519,7 @@ function request_uri() {
|
||||||
* @param Request $new_request
|
* @param Request $new_request
|
||||||
* The new request object to store. If you are not index.php, you probably
|
* The new request object to store. If you are not index.php, you probably
|
||||||
* should not be using this parameter.
|
* should not be using this parameter.
|
||||||
* @return Symfony\Component\HttpFoundation\Request
|
* @return Request
|
||||||
* The current request object.
|
* The current request object.
|
||||||
*/
|
*/
|
||||||
function request(Request $new_request = NULL) {
|
function request(Request $new_request = NULL) {
|
||||||
|
@ -2610,9 +2617,6 @@ function language_default() {
|
||||||
/**
|
/**
|
||||||
* Returns the requested URL path of the page being viewed.
|
* Returns the requested URL path of the page being viewed.
|
||||||
*
|
*
|
||||||
* @todo Eliminate this function in favor of direct access to the request
|
|
||||||
* object.
|
|
||||||
*
|
|
||||||
* Examples:
|
* Examples:
|
||||||
* - http://example.com/node/306 returns "node/306".
|
* - http://example.com/node/306 returns "node/306".
|
||||||
* - http://example.com/drupalfolder/node/306 returns "node/306" while
|
* - http://example.com/drupalfolder/node/306 returns "node/306" while
|
||||||
|
@ -2628,7 +2632,45 @@ function language_default() {
|
||||||
* @see current_path()
|
* @see current_path()
|
||||||
*/
|
*/
|
||||||
function request_path() {
|
function request_path() {
|
||||||
return request()->getPathInfo();
|
static $path;
|
||||||
|
|
||||||
|
if (isset($path)) {
|
||||||
|
return $path;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($_GET['q'])) {
|
||||||
|
// This is a request with a ?q=foo/bar query string. $_GET['q'] is
|
||||||
|
// overwritten in drupal_path_initialize(), but request_path() is called
|
||||||
|
// very early in the bootstrap process, so the original value is saved in
|
||||||
|
// $path and returned in later calls.
|
||||||
|
$path = $_GET['q'];
|
||||||
|
}
|
||||||
|
elseif (isset($_SERVER['REQUEST_URI'])) {
|
||||||
|
// This request is either a clean URL, or 'index.php', or nonsense.
|
||||||
|
// Extract the path from REQUEST_URI.
|
||||||
|
$request_path = strtok($_SERVER['REQUEST_URI'], '?');
|
||||||
|
$base_path_len = strlen(rtrim(dirname($_SERVER['SCRIPT_NAME']), '\/'));
|
||||||
|
// Unescape and strip $base_path prefix, leaving q without a leading slash.
|
||||||
|
$path = substr(urldecode($request_path), $base_path_len + 1);
|
||||||
|
// If the path equals the script filename, either because 'index.php' was
|
||||||
|
// explicitly provided in the URL, or because the server added it to
|
||||||
|
// $_SERVER['REQUEST_URI'] even when it wasn't provided in the URL (some
|
||||||
|
// versions of Microsoft IIS do this), the front page should be served.
|
||||||
|
if ($path == basename($_SERVER['PHP_SELF'])) {
|
||||||
|
$path = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// This is the front page.
|
||||||
|
$path = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Under certain conditions Apache's RewriteRule directive prepends the value
|
||||||
|
// assigned to $_GET['q'] with a slash. Moreover we can always have a trailing
|
||||||
|
// slash in place, hence we need to normalize $_GET['q'].
|
||||||
|
$path = trim($path, '/');
|
||||||
|
|
||||||
|
return $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2735,10 +2735,6 @@ function drupal_get_path($type, $name) {
|
||||||
/**
|
/**
|
||||||
* Returns the base URL path (i.e., directory) of the Drupal installation.
|
* Returns the base URL path (i.e., directory) of the Drupal installation.
|
||||||
*
|
*
|
||||||
* @todo Eliminate this function in favor of direct access to the request. Or,
|
|
||||||
* better yet, eliminate the need for this function outside of the
|
|
||||||
* URL Generator.
|
|
||||||
*
|
|
||||||
* base_path() adds a "/" to the beginning and end of the returned path if the
|
* base_path() adds a "/" to the beginning and end of the returned path if the
|
||||||
* path is not empty. At the very least, this will return "/".
|
* path is not empty. At the very least, this will return "/".
|
||||||
*
|
*
|
||||||
|
@ -2747,7 +2743,7 @@ function drupal_get_path($type, $name) {
|
||||||
* - http://example.com/drupal/folder returns "/drupal/folder/".
|
* - http://example.com/drupal/folder returns "/drupal/folder/".
|
||||||
*/
|
*/
|
||||||
function base_path() {
|
function base_path() {
|
||||||
return request()->getBasePath() . '/';
|
return $GLOBALS['base_path'];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -334,10 +334,7 @@ function drupal_match_path($path, $patterns) {
|
||||||
/**
|
/**
|
||||||
* Return the current URL path of the page being viewed.
|
* Return the current URL path of the page being viewed.
|
||||||
*
|
*
|
||||||
* @todo Eliminate this function in favor of direct access to the request
|
* Examples:
|
||||||
* object.
|
|
||||||
*
|
|
||||||
* Examples:
|
|
||||||
* - http://example.com/node/306 returns "node/306".
|
* - http://example.com/node/306 returns "node/306".
|
||||||
* - http://example.com/drupalfolder/node/306 returns "node/306" while
|
* - http://example.com/drupalfolder/node/306 returns "node/306" while
|
||||||
* base_path() returns "/drupalfolder/".
|
* base_path() returns "/drupalfolder/".
|
||||||
|
|
Loading…
Reference in New Issue