function _update_build_fetch_url
7.x update.fetch.inc | _update_build_fetch_url($project, $site_key = '') |
6.x update.fetch.inc | _update_build_fetch_url($project, $site_key = '') |
Generates the URL to fetch information about project updates.
This figures out the right URL to use, based on the project's .info file and the global defaults. Appends optional query arguments when the site is configured to report usage stats.
Parameters
$project: The array of project information from update_get_projects().
$site_key: (optional) The anonymous site key hash. Defaults to an empty string.
Return value
The URL for fetching information about updates to the specified project.
See also
2 calls to _update_build_fetch_url()
- UpdateCoreUnitTestCase::testUpdateBuildFetchUrl in drupal-7.x/
modules/ update/ update.test - Tests that _update_build_fetch_url() builds the URL correctly.
- _update_process_fetch_task in drupal-7.x/
modules/ update/ update.fetch.inc - Processes a task to fetch available update data for a single project.
File
- drupal-7.x/
modules/ update/ update.fetch.inc, line 287 - Code required only when fetching information about available updates.
Code
function _update_build_fetch_url($project, $site_key = '') {
$name = $project['name'];
$url = _update_get_fetch_url_base($project);
$url .= '/' . $name . '/' . DRUPAL_CORE_COMPATIBILITY;
// Only append usage information if we have a site key and the project is
// enabled. We do not want to record usage statistics for disabled projects.
if (!empty($site_key) && (strpos($project['project_type'], 'disabled') === FALSE)) {
// Append the site key.
$url .= (strpos($url, '?') !== FALSE) ? '&' : '?';
$url .= 'site_key=';
$url .= rawurlencode($site_key);
// Append the version.
if (!empty($project['info']['version'])) {
$url .= '&version=';
$url .= rawurlencode($project['info']['version']);
}
// Append the list of modules or themes enabled.
$list = array_keys($project['includes']);
$url .= '&list=';
$url .= rawurlencode(implode(',', $list));
}
return $url;
}