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

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\ThumbnailCompilerPass;
  16. use Sonata\MediaBundle\Form\Type\ApiDoctrineMediaType;
  17. use Sonata\MediaBundle\Form\Type\ApiGalleryHasMediaType;
  18. use Sonata\MediaBundle\Form\Type\ApiGalleryType;
  19. use Sonata\MediaBundle\Form\Type\ApiMediaType;
  20. use Sonata\MediaBundle\Form\Type\MediaType;
  21. use Symfony\Component\DependencyInjection\ContainerBuilder;
  22. use Symfony\Component\HttpKernel\Bundle\Bundle;
  23. /**
  24.  * @final since sonata-project/media-bundle 3.21.0
  25.  */
  26. class SonataMediaBundle extends Bundle
  27. {
  28.     public function build(ContainerBuilder $container)
  29.     {
  30.         $container->addCompilerPass(new AddProviderCompilerPass());
  31.         $container->addCompilerPass(new GlobalVariablesCompilerPass());
  32.         $container->addCompilerPass(new ThumbnailCompilerPass());
  33.         $this->registerFormMapping();
  34.     }
  35.     public function boot()
  36.     {
  37.         // this is required by the AWS SDK (see: https://github.com/knplabs/Gaufrette)
  38.         if (!\defined('AWS_CERTIFICATE_AUTHORITY')) {
  39.             \define('AWS_CERTIFICATE_AUTHORITY'true);
  40.         }
  41.         $this->registerFormMapping();
  42.     }
  43.     /**
  44.      * Register form mapping information.
  45.      *
  46.      * NEXT_MAJOR: remove this method
  47.      */
  48.     public function registerFormMapping()
  49.     {
  50.         if (class_exists(FormHelper::class)) {
  51.             FormHelper::registerFormTypeMapping([
  52.                 'sonata_media_type' => MediaType::class,
  53.                 'sonata_media_api_form_media' => ApiMediaType::class,
  54.                 'sonata_media_api_form_doctrine_media' => ApiDoctrineMediaType::class,
  55.                 'sonata_media_api_form_gallery' => ApiGalleryType::class,
  56.                 'sonata_media_api_form_gallery_has_media' => ApiGalleryHasMediaType::class,
  57.             ]);
  58.         }
  59.     }
  60. }