You are here

public static function DownloadTmgmtActionApproveForm::processBatch in TMGMT Extension Suite 8

Same name and namespace in other branches
  1. 8.3 src/Form/DownloadTmgmtActionApproveForm.php \Drupal\tmgmt_extension_suit\Form\DownloadTmgmtActionApproveForm::processBatch()
  2. 8.2 src/Form/DownloadTmgmtActionApproveForm.php \Drupal\tmgmt_extension_suit\Form\DownloadTmgmtActionApproveForm::processBatch()

Processes the sending batch.

Parameters

array $data: Keyed array of data to send.

array $context: The batch context.

Overrides BaseTmgmtActionApproveForm::processBatch

File

src/Form/DownloadTmgmtActionApproveForm.php, line 48

Class

DownloadTmgmtActionApproveForm
Provides a confirmation form for sending multiple content entities.

Namespace

Drupal\tmgmt_extension_suit\Form

Code

public static function processBatch($data, &$context) {
  if (!isset($context['results']['errors'])) {
    $context['results']['errors'] = [];
    $context['results']['count'] = 0;
  }
  $entity_type_id = $data['entity_type'];
  $entity_id = $data['entity_id'];
  $job = \Drupal::entityTypeManager()
    ->getStorage($entity_type_id)
    ->loadMultiple([
    $entity_id,
  ]);
  $job = reset($job);
  if (!$job) {
    $context['results']['errors'][] = t('Entity @entity_type:@entity_id not found', [
      '@entity_type' => $entity_type_id,
      '@entity_id' => $entity_id,
    ]);
  }
  elseif ($translator = $job
    ->getTranslator()) {
    $plugin = $translator
      ->getPlugin();
    if ($plugin instanceof ExtendedTranslatorPluginInterface && $plugin
      ->downloadTranslation($job)) {
      $context['results']['count']++;
    }
    else {
      $context['results']['errors'][] = new FormattableMarkup('Error downloading %name', [
        '%name' => $job
          ->label(),
      ]);
      return;
    }
    $context['message'] = new FormattableMarkup('Processed %name.', [
      '%name' => $job
        ->label(),
    ]);
  }
  else {
    $context['message'] = new FormattableMarkup('Skipped %name.', [
      '%name' => $entity_type_id,
    ]);
  }
}