public function QuickExportController::quickExport in Content Synchronizer 8
Same name and namespace in other branches
- 8.2 src/Controller/QuickExportController.php \Drupal\content_synchronizer\Controller\QuickExportController::quickExport()
- 3.x src/Controller/QuickExportController.php \Drupal\content_synchronizer\Controller\QuickExportController::quickExport()
Launch quick export batch.
Parameters
\Symfony\Component\HttpFoundation\Request $request: The request.
Return value
\Symfony\Component\HttpFoundation\RedirectResponse THe response.
1 string reference to 'QuickExportController::quickExport'
File
- src/
Controller/ QuickExportController.php, line 32
Class
- QuickExportController
- Class QuickExportController.
Namespace
Drupal\content_synchronizer\ControllerCode
public function quickExport(Request $request) {
// Get the destination url.
$this->url = $request->query
->has('destination') ? $request->query
->get('destination') : Url::fromRoute('system.admin_content')
->toString();
if ($request->query
->has('entityTypeId') && $request->query
->has('entityId')) {
/** @var Drupal\Core\Entity\Entity $entity */
$entity = \Drupal::entityTypeManager()
->getStorage($request->query
->get('entityTypeId'))
->load($request->query
->get('entityId'));
$writer = new ExportEntityWriter();
$writer
->initFromId($entity
->getEntityTypeId() . '.' . $entity
->id());
$batchExportProcessor = new BatchExportProcessor($writer);
if ($entity instanceof ConfigEntityBundleBase) {
$batchExportProcessor
->exportEntities(EntityExportFormBuilder::getEntitiesFromBundle($entity), [
$this,
'onBatchEnd',
]);
}
else {
$batchExportProcessor
->exportEntities([
$entity,
], [
$this,
'onBatchEnd',
]);
}
return batch_process('');
}
return new RedirectResponse($this->url);
}