<?php/* * This file is part of Sulu. * * (c) Sulu GmbH * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */namespace Sulu\Bundle\DocumentManagerBundle\DependencyInjection;use Symfony\Component\Config\Definition\Builder\TreeBuilder;use Symfony\Component\Config\Definition\ConfigurationInterface;class Configuration implements ConfigurationInterface{    public function getConfigTreeBuilder()    {        $treeBuilder = new TreeBuilder('sulu_document_manager');        $rootNode = $treeBuilder->getRootNode();        $rootNode            ->children()                ->scalarNode('default_session')->end()                ->scalarNode('live_session')->end()                ->arrayNode('sessions')                    ->useAttributeAsKey('name')                    ->prototype('array')                        ->children()                            ->arrayNode('backend')                                ->useAttributeAsKey('name')                                ->prototype('variable')->end()                            ->end()                            ->scalarNode('workspace')                                ->isRequired()                                ->cannotBeEmpty()                            ->end()                            ->scalarNode('username')                                ->defaultValue('admin')                            ->end()                            ->scalarNode('password')                                ->defaultValue('admin')                            ->end()                        ->end()                    ->end()                ->end()                ->arrayNode('namespace')                    ->useAttributeAsKey('role')                    ->defaultValue([                        'extension_localized' => 'i18n',                        'system' => 'sulu',                        'system_localized' => 'i18n',                        'content' => null,                        'content_localized' => 'i18n',                    ])                    ->prototype('scalar')->end()                ->end()                ->arrayNode('versioning')                    ->canBeEnabled()                ->end()                ->scalarNode('debug')                    ->info('Enable the debug event dispatcher. Logs all document manager events. Very slow.')                    ->defaultValue(false)                ->end()                ->arrayNode('path_segments')                    ->useAttributeAsKey('key')                    ->prototype('scalar')->end()                ->end()                ->scalarNode('slugifier')                    ->defaultValue('Sulu\Bundle\DocumentManagerBundle\Slugifier\Urlizer::urlize')                    ->setDeprecated(                        'The "sulu_document_manager.slugifier" configuration is not used anymore since 2.1 '                        . 'and will be removed in 3.0.'                    )                ->end()                ->arrayNode('mapping')                    ->useAttributeAsKey('alias')                    ->prototype('array')                        ->children()                            ->scalarNode('class')                                ->info('Fully qualified class name for mapped object')                                ->isRequired()                            ->end()                            ->scalarNode('phpcr_type')                                ->info('PHPCR type to map to')                                ->isRequired()                            ->end()                            ->scalarNode('form_type')                                ->info('Form type to map to')                            ->end()                            ->scalarNode('sync_remove_live')                                ->info('Should sync live workspace if node was removed')                            ->end()                            ->scalarNode('set_default_author')                                ->info('Set default author if none set')                            ->end()                            ->arrayNode('mapping')                                ->prototype('array')                                    ->children()                                        ->scalarNode('encoding')->defaultValue('content')->end()                                        ->scalarNode('property')->end()                                        ->scalarNode('type')->end()                                        ->booleanNode('mapped')->defaultTrue()->end()                                        ->booleanNode('multiple')->defaultFalse()->end()                                        ->scalarNode('default')->defaultValue(null)->end()                                    ->end()                                ->end()                            ->end()                        ->end()                    ->end()                ->end()            ->end();        return $treeBuilder;    }}