public function CliService::configuration_export in CMS Content Sync 2.0.x
Same name in this branch
- 2.0.x src/Cli/CliService.php \Drupal\cms_content_sync\Cli\CliService::configuration_export()
- 2.0.x modules/cms_content_sync_developer/src/Cli/CliService.php \Drupal\cms_content_sync_developer\Cli\CliService::configuration_export()
Same name and namespace in other branches
- 8 src/Cli/CliService.php \Drupal\cms_content_sync\Cli\CliService::configuration_export()
- 2.1.x src/Cli/CliService.php \Drupal\cms_content_sync\Cli\CliService::configuration_export()
Export the configuration to the Sync Core.
Parameters
ICLIIO $io: The CLI service which allows interoperability
array $options: An array containing the option parameters provided by Drush
Throws
\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
\Drupal\Component\Plugin\Exception\PluginNotFoundException
\EdgeBox\SyncCore\Exception\SyncCoreException
\Exception
File
- src/
Cli/ CliService.php, line 34
Class
Namespace
Drupal\cms_content_sync\CliCode
public function configuration_export($io, $options) {
$io
->text('Validating Pools...');
foreach (Pool::getAll() as $pool) {
if (!PoolExport::validateBaseUrl($pool)) {
throw new \Exception('The site does not have a valid base url. The base url must not contain "localhost" and is not allowed to be an IP address. The base url of the site can be configured at the CMS Content Sync settings page.');
}
$exporter = new SyncCorePoolExport($pool);
$sites = $exporter
->verifySiteId();
if (!$options['force'] && $sites && count($sites)) {
throw new \Exception('Another site with id ' . array_keys($sites)[0] . ' and base url ' . array_values($sites)[0] . ' already exists for the pool "' . $pool->id . '"');
}
}
$io
->text('Finished validating Pools.');
$io
->text('Starting Flow export...');
$count = 0;
foreach (Flow::getAll() as $flow) {
$io
->text('> Exporting Flow ' . $flow
->label() . '...');
$exporter = new SyncCoreFlowExport($flow);
$batch = $exporter
->prepareBatch($options['force']);
$io
->text('>> Executing ' . $batch
->count() . ' operations...');
$batch
->executeAll();
++$count;
}
$io
->text('Finished export of ' . $count . ' Flow(s).');
$io
->text('Deleting old configuration...');
SyncCoreFlowExport::deleteUnusedFlows();
$io
->success('Export completed.');
}