You are here

public static function ConfigImporterBatch::finish in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Config/Importer/ConfigImporterBatch.php \Drupal\Core\Config\Importer\ConfigImporterBatch::finish()
  2. 10 core/lib/Drupal/Core/Config/Importer/ConfigImporterBatch.php \Drupal\Core\Config\Importer\ConfigImporterBatch::finish()

Finish batch.

This function is a static function to avoid serializing the ConfigSync object unnecessarily.

Parameters

bool $success: Indicate that the batch API tasks were all completed successfully.

array $results: An array of all the results that were updated in update_do_one().

array $operations: A list of the operations that had not been completed by the batch API.

1 call to ConfigImporterBatch::finish()
ConfigSync::finishBatch in core/modules/config/src/Form/ConfigSync.php
Finish batch.

File

core/lib/Drupal/Core/Config/Importer/ConfigImporterBatch.php, line 53

Class

ConfigImporterBatch
Methods for running the ConfigImporter in a batch.

Namespace

Drupal\Core\Config\Importer

Code

public static function finish($success, $results, $operations) {
  $messenger = \Drupal::messenger();
  if ($success) {
    if (!empty($results['errors'])) {
      $logger = \Drupal::logger('config_sync');
      foreach ($results['errors'] as $error) {
        $messenger
          ->addError($error);
        $logger
          ->error($error);
      }
      $messenger
        ->addWarning(t('The configuration was imported with errors.'));
    }
    elseif (!InstallerKernel::installationAttempted()) {

      // Display a success message when not installing Drupal.
      $messenger
        ->addStatus(t('The configuration was imported successfully.'));
    }
  }
  else {

    // An error occurred.
    // $operations contains the operations that remained unprocessed.
    $error_operation = reset($operations);
    $message = t('An error occurred while processing %error_operation with arguments: @arguments', [
      '%error_operation' => $error_operation[0],
      '@arguments' => print_r($error_operation[1], TRUE),
    ]);
    $messenger
      ->addError($message);
  }
}