class QuickExportController in Content Synchronizer 8
Same name and namespace in other branches
- 8.2 src/Controller/QuickExportController.php \Drupal\content_synchronizer\Controller\QuickExportController
- 3.x src/Controller/QuickExportController.php \Drupal\content_synchronizer\Controller\QuickExportController
Class QuickExportController.
@package Drupal\content_synchronizer\Controller
Hierarchy
- class \Drupal\content_synchronizer\Controller\QuickExportController
Expanded class hierarchy of QuickExportController
File
- src/
Controller/ QuickExportController.php, line 19
Namespace
Drupal\content_synchronizer\ControllerView source
class QuickExportController {
protected $url = '/admin/content';
/**
* Launch quick export batch.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* The request.
*
* @return \Symfony\Component\HttpFoundation\RedirectResponse
* THe response.
*/
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);
}
/**
* On batch end redirect to the form url.
*
* @param string $archiveUri
* THe archive to download.
*/
public function onBatchEnd($archiveUri) {
\Drupal::service(ArchiveDownloader::SERVICE_NAME)
->redirectWithArchivePath($this->url, $archiveUri);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
QuickExportController:: |
protected | property | ||
QuickExportController:: |
public | function | On batch end redirect to the form url. | |
QuickExportController:: |
public | function | Launch quick export batch. |