You are here

public function UpdateManagerUpdate::submitForm in Drupal 8

Same name and namespace in other branches
  1. 9 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 364

Class

UpdateManagerUpdate
Configure update settings for this site.

Namespace

Drupal\update\Form

Code

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))));
    }
  }
  $operations = [];
  foreach ($projects as $project) {
    $operations[] = [
      'update_manager_batch_project_get',
      [
        $project,
        $form_state
          ->getValue([
          'project_downloads',
          $project,
        ]),
      ],
    ];
  }
  $batch = [
    'title' => $this
      ->t('Downloading updates'),
    'init_message' => $this
      ->t('Preparing to download selected updates'),
    'operations' => $operations,
    'finished' => 'update_manager_download_batch_finished',
    'file' => drupal_get_path('module', 'update') . '/update.manager.inc',
  ];
  batch_set($batch);
}