public function preMap(array $config, ContextualizerInterface $contextualizer)
{
$container = $contextualizer->getContainer();
$defaultConfig = array('layouts' => $container->getParameter('ezpublish.ezpage.layouts'), 'blocks' => $container->getParameter('ezpublish.ezpage.blocks'), 'enabledLayouts' => $container->getParameter('ezpublish.ezpage.enabledLayouts'), 'enabledBlocks' => $container->getParameter('ezpublish.ezpage.enabledBlocks'));
$container->setParameter('ezsettings.' . ConfigResolver::SCOPE_DEFAULT . '.ezpage', $defaultConfig);
$contextualizer->mapConfigArray('ezpage', $config, ContextualizerInterface::MERGE_FROM_SECOND_LEVEL);
// filters blocks and layouts for each siteaccess to keep only
// the enabled ones for this sa
foreach ($config['siteaccess']['list'] as $sa) {
$ezpageSettings = $container->getParameter("ezsettings.{$sa}.ezpage");
foreach (array('layouts', 'blocks') as $type) {
$enabledKey = 'enabled' . ucfirst($type);
if (empty($ezpageSettings[$enabledKey])) {
$ezpageSettings[$type] = array();
continue;
}
$ezpageSettings[$type] = array_intersect_key($ezpageSettings[$type], array_flip($ezpageSettings[$enabledKey]));
$ezpageSettings[$enabledKey] = array_unique($ezpageSettings[$enabledKey]);
}
$container->setParameter("ezsettings.{$sa}.ezpage", $ezpageSettings);
}
}