/** * Handles processing of missing content. * * @param array $context * Standard batch context. */ protected function processMissingContent(array &$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; } }