vendor/sonata-project/media-bundle/src/SonataMediaBundle.php line 29

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * This file is part of the Sonata Project package.
  5.  *
  6.  * (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
  7.  *
  8.  * For the full copyright and license information, please view the LICENSE
  9.  * file that was distributed with this source code.
  10.  */
  11. namespace Sonata\MediaBundle;
  12. use Sonata\CoreBundle\Form\FormHelper;
  13. use Sonata\MediaBundle\DependencyInjection\Compiler\AddProviderCompilerPass;
  14. use Sonata\MediaBundle\DependencyInjection\Compiler\GlobalVariablesCompilerPass;
  15. use Sonata\MediaBundle\DependencyInjection\Compiler\SecurityContextCompilerPass;
  16. use Sonata\MediaBundle\DependencyInjection\Compiler\ThumbnailCompilerPass;
  17. use Sonata\MediaBundle\Form\Type\ApiDoctrineMediaType;
  18. use Sonata\MediaBundle\Form\Type\ApiGalleryHasMediaType;
  19. use Sonata\MediaBundle\Form\Type\ApiGalleryType;
  20. use Sonata\MediaBundle\Form\Type\ApiMediaType;
  21. use Sonata\MediaBundle\Form\Type\MediaType;
  22. use Symfony\Component\DependencyInjection\ContainerBuilder;
  23. use Symfony\Component\HttpKernel\Bundle\Bundle;
  24. class SonataMediaBundle extends Bundle
  25. {
  26.     /**
  27.      * {@inheritdoc}
  28.      */
  29.     public function build(ContainerBuilder $container)
  30.     {
  31.         $container->addCompilerPass(new AddProviderCompilerPass());
  32.         $container->addCompilerPass(new GlobalVariablesCompilerPass());
  33.         $container->addCompilerPass(new SecurityContextCompilerPass());
  34.         $container->addCompilerPass(new ThumbnailCompilerPass());
  35.         $this->registerFormMapping();
  36.     }
  37.     /**
  38.      * {@inheritdoc}
  39.      */
  40.     public function boot()
  41.     {
  42.         // this is required by the AWS SDK (see: https://github.com/knplabs/Gaufrette)
  43.         if (!\defined('AWS_CERTIFICATE_AUTHORITY')) {
  44.             \define('AWS_CERTIFICATE_AUTHORITY'true);
  45.         }
  46.         $this->registerFormMapping();
  47.     }
  48.     /**
  49.      * Register form mapping information.
  50.      */
  51.     public function registerFormMapping()
  52.     {
  53.         FormHelper::registerFormTypeMapping([
  54.             'sonata_media_type' => MediaType::class,
  55.             'sonata_media_api_form_media' => ApiMediaType::class,
  56.             'sonata_media_api_form_doctrine_media' => ApiDoctrineMediaType::class,
  57.             'sonata_media_api_form_gallery' => ApiGalleryType::class,
  58.             'sonata_media_api_form_gallery_has_media' => ApiGalleryHasMediaType::class,
  59.         ]);
  60.     }
  61. }