public function UpdateManagerUpdate::submitForm in Drupal 9
Same name and namespace in other branches
- 8 core/modules/update/src/Form/UpdateManagerUpdate.php \Drupal\update\Form\UpdateManagerUpdate::submitForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- core/
modules/ update/ src/ Form/ UpdateManagerUpdate.php, line 373
Class
- UpdateManagerUpdate
- Configure update settings for this site.
Namespace
Drupal\update\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
$this->moduleHandler
->loadInclude('update', 'inc', 'update.manager');
$projects = [];
foreach ([
'projects',
'disabled_projects',
] as $type) {
if (!$form_state
->isValueEmpty($type)) {
$projects = array_merge($projects, array_keys(array_filter($form_state
->getValue($type))));
}
}
$batch_builder = (new BatchBuilder())
->setFile($this->moduleHandler
->getModule('update')
->getPath() . '/update.manager.inc')
->setTitle($this
->t('Downloading updates'))
->setInitMessage($this
->t('Preparing to download selected updates'))
->setFinishCallback('update_manager_download_batch_finished');
foreach ($projects as $project) {
$batch_builder
->addOperation('update_manager_batch_project_get', [
$project,
$form_state
->getValue([
'project_downloads',
$project,
]),
]);
}
batch_set($batch_builder
->toArray());
}