ConfigImporter::processMissingContent

protected ConfigImporter::processMissingContent(&$context)

Handles processing of missing content.

Parameters

array|\ArrayAccess $context.: Standard batch context.

File

core/lib/Drupal/Core/Config/ConfigImporter.php, line 611

Class

ConfigImporter
Defines a configuration importer.

Namespace

Drupal\Core\Config

Code

protected function processMissingContent(&$context) {
  $sandbox = &$context['sandbox']['config'];
  if (!isset($sandbox['missing_content'])) {
    $missing_content = $this->configManager->findMissingContentDependencies();
    $sandbox['missing_content']['data'] = $missing_content;
    $sandbox['missing_content']['total'] = count($missing_content);
  }
  else {
    $missing_content = $sandbox['missing_content']['data'];
  }
  if (!empty($missing_content)) {
    $event = new MissingContentEvent($missing_content);
    // Fire an event to allow listeners to create the missing content.
    $this->eventDispatcher->dispatch(ConfigEvents::IMPORT_MISSING_CONTENT, $event);
    $sandbox['missing_content']['data'] = $event->getMissingContent();
  }
  $current_count = count($sandbox['missing_content']['data']);
  if ($current_count) {
    $context['message'] = $this->t('Resolving missing content');
    $context['finished'] = ($sandbox['missing_content']['total'] - $current_count) / $sandbox['missing_content']['total'];
  }
  else {
    $context['finished'] = 1;
  }
}
doc_Drupal
2016-10-29 08:53:42
Comments
Leave a Comment

Please login to continue.