vendor/wearemarketing/mediabundle/DependencyInjection/Configuration.php line 24

Open in your IDE?
  1. <?php
  2. namespace WAM\Bundle\MediaBundle\DependencyInjection;
  3. use Symfony\Component\Config\Definition\Builder\TreeBuilder;
  4. use Symfony\Component\Config\Definition\ConfigurationInterface;
  5. use WAM\Component\Media\Filter\CropFilter;
  6. use WAM\Component\Media\Filter\ResizeFilter;
  7. /**
  8.  * This is the class that validates and merges configuration from your app/config files.
  9.  * To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html#cookbook-bundles-extension-config-class}.
  10.  *
  11.  * @author Miguel Vilata <mvilata@wearemarketing.com>
  12.  */
  13. class Configuration implements ConfigurationInterface
  14. {
  15.     /**
  16.      * {@inheritdoc}
  17.      */
  18.     public function getConfigTreeBuilder()
  19.     {
  20.         $treeBuilder = new TreeBuilder();
  21.         $rootNode $treeBuilder->root('wam_media');
  22.         $rootNode
  23.             ->children()
  24.             ->arrayNode('class')
  25.             ->addDefaultsIfNotSet()
  26.             ->children()
  27.             ->scalarNode('media')->isRequired()->end()
  28.             ->scalarNode('gallery')->isRequired()->end()
  29.             ->scalarNode('gallery_has_media')->isRequired()->end()
  30.             ->scalarNode('category')->isRequired()->end()
  31.             ->arrayNode('media_classes')
  32.             ->useAttributeAsKey('class')
  33.             ->prototype('scalar')->end()
  34.             ->end()
  35.             ->end()
  36.             ->end()
  37.             ->arrayNode('filters')
  38.             ->useAttributeAsKey('name')
  39.             ->defaultValue([
  40.                 'resize' => ResizeFilter::class,
  41.                 'crop' => CropFilter::class,
  42.             ])
  43.             ->prototype('scalar')->end()
  44.             ->end()
  45.             ->scalarNode('cdn_path')->cannotBeEmpty()->defaultValue('/uploads')->end()
  46.             ->scalarNode('filesystem_local_directory')->cannotBeEmpty()->defaultValue('%kernel.root_dir%/../public/uploads')->end()
  47.             ->arrayNode('external_medias')
  48.             ->useAttributeAsKey('class')
  49.             ->prototype('scalar')->end()
  50.             ->end()
  51.             ->end();
  52.         return $treeBuilder;
  53.     }
  54. }