+ ->arrayNode('default')
+ ->addDefaultsIfNotSet()
+ #XXX: ignoreExtraKeys(bool $remove = true)
+ ->ignoreExtraKeys(false)
+ ->children()
+ ->scalarNode('admin')->cannotBeEmpty()->defaultValue($defaults['default']['admin'])->end()
+ ->scalarNode('civility')->cannotBeEmpty()->defaultValue($defaults['default']['civility'])->end()
+ #TODO: see if we can't prevent key normalisation with ->normalizeKeys(false)
+ ->arrayNode('languages')
+ ->treatNullLike([])
+ ->defaultValue($defaults['default']['languages'])
+ ->scalarPrototype()->end()
+ ->end()
+ #TODO: see if we can't prevent key normalisation with ->normalizeKeys(false)
+ ->arrayNode('locales')
+ ->treatNullLike([])
+ ->defaultValue($defaults['default']['locales'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->arrayNode('group')
+ ->treatNullLike([])
+ ->defaultValue($defaults['default']['group'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('route')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->arrayNode('confirm')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['confirm']['name'])->end()
+ ->arrayNode('context')
+ ->treatNullLike([])
+ ->defaultValue($defaults['route']['confirm']['context'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('edit')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['edit']['name'])->end()
+ ->arrayNode('context')
+ ->treatNullLike([])
+ ->defaultValue($defaults['route']['edit']['context'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('home')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['home']['name'])->end()
+ ->arrayNode('context')
+ ->treatNullLike([])
+ ->defaultValue($defaults['route']['home']['context'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('index')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['index']['name'])->end()
+ ->arrayNode('context')
+ ->treatNullLike([])
+ ->defaultValue($defaults['route']['index']['context'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('login')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['login']['name'])->end()
+ ->arrayNode('context')
+ ->treatNullLike([])
+ ->defaultValue($defaults['route']['login']['context'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('recover')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['recover']['name'])->end()
+ ->arrayNode('context')
+ ->treatNullLike([])
+ ->defaultValue($defaults['route']['recover']['context'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('register')
+ ->addDefaultsIfNotSet()
+ ->children()
+ ->scalarNode('name')->cannotBeEmpty()->defaultValue($defaults['route']['register']['name'])->end()
+ ->arrayNode('context')
+ ->treatNullLike([])
+ ->defaultValue($defaults['route']['register']['context'])
+ ->scalarPrototype()->end()
+ ->end()
+ ->end()
+ ->end()
+ ->end()
+ ->end()
+ ->arrayNode('translate')
+ ->treatNullLike([])
+ ->defaultValue($defaults['translate'])
+ ->scalarPrototype()->end()
+ ->end()