function drupal_current_script_url
Same name in other branches
- 7.x includes/install.inc \drupal_current_script_url()
- 8.9.x core/includes/install.inc \drupal_current_script_url()
- 10 core/includes/install.inc \drupal_current_script_url()
- 11.x core/includes/install.inc \drupal_current_script_url()
Returns the URL of the current script, with modified query parameters.
This function can be called by low-level scripts (such as install.php and update.php) and returns the URL of the current script. Existing query parameters are preserved by default, but new ones can optionally be merged in.
This function is used when the script must maintain certain query parameters over multiple page requests in order to work correctly. In such cases (for example, update.php, which requires the 'continue=1' parameter to remain in the URL throughout the update process if there are any requirement warnings that need to be bypassed), using this function to generate the URL for links to the next steps of the script ensures that the links will work correctly.
Parameters
$query: (optional) An array of query parameters to merge in to the existing ones.
Return value
string The URL of the current script, with query parameters modified by the passed-in $query. The URL is not sanitized, so it still needs to be run through \Drupal\Component\Utility\UrlHelper::filterBadProtocol() if it will be used as an HTML attribute value.
See also
Drupal\Component\Utility\UrlHelper::filterBadProtocol()
1 call to drupal_current_script_url()
- drupal_requirements_url in core/
includes/ install.inc - Returns a URL for proceeding to the next page after a requirements problem.
File
-
core/
includes/ install.inc, line 918
Code
function drupal_current_script_url($query = []) {
$uri = $_SERVER['SCRIPT_NAME'];
$query = array_merge(UrlHelper::filterQueryParameters(\Drupal::request()->query
->all()), $query);
if (!empty($query)) {
$uri .= '?' . UrlHelper::buildQuery($query);
}
return $uri;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.