public function process(ContainerBuilder $container)
{
$directory = $container->getParameter('sulu_core.webspace.config_dir');
if (!$container->hasExtension('sulu_search') || !file_exists($directory)) {
return;
}
$indexes = $container->getParameter('sulu_search.indexes');
$finder = new Finder();
$finder->in($directory)->files()->name('*.xml')->sortByName();
foreach ($finder as $file) {
/** @var SplFileInfo $file */
$webspaceConfig = simplexml_load_file($file->getPathName());
$webspaceConfig->registerXPathNamespace('x', 'http://schemas.sulu.io/webspace/webspace');
$webspaceKey = (string) $webspaceConfig->xpath('/x:webspace/x:key')[0];
$webspaceName = (string) $webspaceConfig->xpath('/x:webspace/x:name')[0];
$indexes['page_' . $webspaceKey] = ['security_context' => 'sulu.webspaces.' . $webspaceKey, 'name' => $webspaceName];
$indexes['page_' . $webspaceKey . '_published'] = ['security_context' => 'sulu.webspaces.' . $webspaceKey, 'name' => $webspaceName, 'contexts' => ['website']];
}
$container->setParameter('sulu_search.indexes', $indexes);
}