<?php
namespace WAM\Bundle\WebMakerBundle\DependencyInjection;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
use WAM\Bundle\WebMakerBundle\Model\Page;
/**
* Class Configuration.
*
* @author Mauro Casula <mcasula@wearemarketing.com>
*/
class Configuration implements ConfigurationInterface
{
/**
* {@inheritdoc}
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('wam_web_maker');
$rootNode
->children()
->arrayNode('custom_blocks')
->defaultValue(array())
->prototype('array')
->children()
->scalarNode('type_id')->end()
->scalarNode('type')->end()
->scalarNode('template')->end()
->scalarNode('name')->end()
->scalarNode('svg_class')->end()
->end()
->end()
->end()
->arrayNode('custom_forms')
->defaultValue(array())
->prototype('array')
->children()
->scalarNode('controller')->end()
->scalarNode('name')->end()
->arrayNode('parameters')->end()
->end()
->end()
->end()
->arrayNode('page_templates')
->defaultValue(array())
->useAttributeAsKey('name')
->prototype('scalar')->end()
->end()
->arrayNode('default_media')
->addDefaultsIfNotSet()
->children()
->scalarNode('name')->defaultValue('wam-maker-bundle-default-media-name')->cannotBeEmpty()->end()
->scalarNode('path')->defaultValue(__DIR__.'/../Resources/public/images/default.jpg')->cannotBeEmpty()->end()
->end()
->end()
->arrayNode('mapping_entities')
->addDefaultsIfNotSet()
->children()
->scalarNode('max_depth')->defaultValue(2)->end()
->arrayNode('entities')
->scalarPrototype()->defaultValue([])->end()
->end()
->end()
->end()
->scalarNode('path_route_to_redirect')
->defaultValue('/')
->end()
->scalarNode('enable_page_cache')
->defaultValue(null)
->end()
->scalarNode('page_class')
->defaultValue(Page::class)
->end()
->scalarNode('page_class_dir')
->defaultValue(__DIR__.'/../Model')
->end()
->end();
return $treeBuilder;
}
}