public ConfigSingleImportForm::submitForm(array &$form, FormStateInterface $form_state)
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/config/src/Form/ConfigSingleImportForm.php, line 384
Class
- ConfigSingleImportForm
- Provides a form for importing a single configuration file.
Namespace
Drupal\config\Form
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | public function submitForm( array & $form , FormStateInterface $form_state ) { // If this form has not yet been confirmed, store the values and rebuild. if (! $this ->data) { $form_state ->setRebuild(); $this ->data = $form_state ->getValues(); return ; } /** @var \Drupal\Core\Config\ConfigImporter $config_importer */ $config_importer = $form_state ->get( 'config_importer' ); if ( $config_importer ->alreadyImporting()) { drupal_set_message( $this ->t( 'Another request may be importing configuration already.' ), 'error' ); } else { try { $sync_steps = $config_importer ->initialize(); $batch = [ 'operations' => [], 'finished' => [ConfigSync:: class , 'finishBatch' ], 'title' => $this ->t( 'Importing configuration' ), 'init_message' => $this ->t( 'Starting configuration import.' ), 'progress_message' => $this ->t( 'Completed @current step of @total.' ), 'error_message' => $this ->t( 'Configuration import has encountered an error.' ), ]; foreach ( $sync_steps as $sync_step ) { $batch [ 'operations' ][] = [[ConfigSync:: class , 'processBatch' ], [ $config_importer , $sync_step ]]; } batch_set( $batch ); } catch (ConfigImporterException $e ) { // There are validation errors. drupal_set_message( $this ->t( 'The configuration import failed for the following reasons:' ), 'error' ); foreach ( $config_importer ->getErrors() as $message ) { drupal_set_message( $message , 'error' ); } } } } |
Please login to continue.