Mercurial > hg > isophonics-drupal-site
diff core/modules/update/src/UpdateFetcherInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/update/src/UpdateFetcherInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,80 @@ +<?php + +namespace Drupal\update; + +/** + * Fetches project information from remote locations. + */ +interface UpdateFetcherInterface { + + /** + * Project's status cannot be checked. + */ + const NOT_CHECKED = -1; + + /** + * No available update data was found for project. + */ + const UNKNOWN = -2; + + /** + * There was a failure fetching available update data for this project. + */ + const NOT_FETCHED = -3; + + /** + * We need to (re)fetch available update data for this project. + */ + const FETCH_PENDING = -4; + + /** + * Returns the base of the URL to fetch available update data for a project. + * + * @param array $project + * The array of project information from + * \Drupal\Update\UpdateManager::getProjects(). + * + * @return string + * The base of the URL used for fetching available update data. This does + * not include the path elements to specify a particular project, version, + * site_key, etc. + */ + public function getFetchBaseUrl($project); + + /** + * Retrieves the project information. + * + * @param array $project + * The array of project information from + * \Drupal\Update\UpdateManager::getProjects(). + * @param string $site_key + * (optional) The anonymous site key hash. Defaults to an empty string. + * + * @return string + * The project information fetched as string. Empty string upon failure. + */ + public function fetchProjectData(array $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.yml + * file and the global defaults. Appends optional query arguments when the + * site is configured to report usage stats. + * + * @param array $project + * The array of project information from + * \Drupal\Update\UpdateManager::getProjects(). + * @param string $site_key + * (optional) The anonymous site key hash. Defaults to an empty string. + * + * @return string + * The URL for fetching information about updates to the specified project. + * + * @see \Drupal\update\UpdateProcessor::fetchData() + * @see \Drupal\update\UpdateProcessor::processFetchTask() + * @see \Drupal\update\UpdateManager::getProjects() + */ + public function buildFetchUrl(array $project, $site_key = ''); + +}