public function UpdateManager::getProjects in Drupal 10
Same name and namespace in other branches
- 8 core/modules/update/src/UpdateManager.php \Drupal\update\UpdateManager::getProjects()
- 9 core/modules/update/src/UpdateManager.php \Drupal\update\UpdateManager::getProjects()
File
- core/
modules/ update/ src/ UpdateManager.php, line 137
Class
- UpdateManager
- Default implementation of UpdateManagerInterface.
Namespace
Drupal\updateCode
public function getProjects() {
if (empty($this->projects)) {
// Retrieve the projects from storage, if present.
$this->projects = $this
->projectStorage('update_project_projects');
if (empty($this->projects)) {
// Still empty, so we have to rebuild.
$module_data = $this->moduleExtensionList
->reset()
->getList();
$theme_data = $this->themeHandler
->rebuildThemeData();
$project_info = new ProjectInfo();
$project_info
->processInfoList($this->projects, $module_data, 'module', TRUE);
$project_info
->processInfoList($this->projects, $theme_data, 'theme', TRUE);
if ($this->updateSettings
->get('check.disabled_extensions')) {
$project_info
->processInfoList($this->projects, $module_data, 'module', FALSE);
$project_info
->processInfoList($this->projects, $theme_data, 'theme', FALSE);
}
// Allow other modules to alter projects before fetching and comparing.
$this->moduleHandler
->alter('update_projects', $this->projects);
// Store the site's project data for at most 1 hour.
$this->keyValueStore
->setWithExpire('update_project_projects', $this->projects, 3600);
}
}
return $this->projects;
}