vendor/pec-platform/platform-bundle/PecPlatformBundle.php line 27

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the PEC Platform Bundle.
  4.  *
  5.  * (c) PEC project engineers &amp; consultants
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Pec\Bundle\PlatformBundle;
  11. use Pec\Bundle\PlatformBundle\DependencyInjection\Compiler\DisableVoteListenerPass;
  12. use Pec\Bundle\PlatformBundle\DependencyInjection\Compiler\ExceptionListenerPass;
  13. use Pec\Bundle\PlatformBundle\Security\GroupCompilerPass;
  14. use Pec\Bundle\PlatformBundle\Security\LoginService;
  15. use Pec\Bundle\PlatformBundle\Security\RoleService;
  16. use Pec\Bundle\PlatformBundle\Security\RoleServiceCompilerPass;
  17. use Pec\Bundle\PlatformBundle\Security\UserCompilerPass;
  18. use Pec\Bundle\PlatformBundle\Services\ThemeCompilerPass;
  19. use Symfony\Component\DependencyInjection\ContainerBuilder;
  20. use Symfony\Component\HttpKernel\Bundle\Bundle;
  21. /**
  22.  */
  23. class PecPlatformBundle extends Bundle {
  24.     public static function getRequiredBundles(string $env, array &$requiredBundles = []): array {
  25.         if(isset($requiredBundles['PecPlatformBundle'])) {
  26.             return $requiredBundles;
  27.         }
  28.         // Default Symfony packages
  29.         $requiredBundles['FrameworkBundle'] = '\Symfony\Bundle\FrameworkBundle\FrameworkBundle';
  30.         $requiredBundles['SecurityBundle'] = '\Symfony\Bundle\SecurityBundle\SecurityBundle';
  31.         $requiredBundles['TwigBundle'] = '\Symfony\Bundle\TwigBundle\TwigBundle';
  32.         $requiredBundles['MonologBundle'] = '\Symfony\Bundle\MonologBundle\MonologBundle';
  33.         $requiredBundles['SwiftmailerBundle'] = '\Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle';
  34.         $requiredBundles['DoctrineBundle'] = '\Doctrine\Bundle\DoctrineBundle\DoctrineBundle';
  35.         $requiredBundles['SensioFrameworkExtraBundle'] = '\Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle';
  36.         $requiredBundles['TwigExtraBundle'] = '\Twig\Extra\TwigExtraBundle\TwigExtraBundle';
  37.         // Use management
  38. //        $requiredBundles['FOSUserBundle'] = '\FOS\UserBundle\FOSUserBundle';
  39.         // Default UI components
  40.         $requiredBundles['KnpPaginatorBundle'] = '\Knp\Bundle\PaginatorBundle\KnpPaginatorBundle';
  41.         // Translation inside JS
  42.         $requiredBundles['BazingaJsTranslationBundle'] = '\Bazinga\Bundle\JsTranslationBundle\BazingaJsTranslationBundle';
  43.         // LocaleRouting
  44.         $requiredBundles['JMSI18nRoutingBundle'] = '\JMS\I18nRoutingBundle\JMSI18nRoutingBundle';
  45.         // JS Routing
  46.         $requiredBundles['FOSJsRoutingBundle'] = '\FOS\JsRoutingBundle\FOSJsRoutingBundle';
  47.         $requiredBundles['StofDoctrineExtensionsBundle'] = '\Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle';
  48.         $requiredBundles['DoctrineBehaviorsBundle'] = '\Knp\DoctrineBehaviors\DoctrineBehaviorsBundle';
  49.         $requiredBundles['DoctrineFixturesBundle'] = '\Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle';
  50.         // Translation forms
  51.         $requiredBundles['A2lixAutoFormBundle'] = '\A2lix\AutoFormBundle\A2lixAutoFormBundle';
  52.         $requiredBundles['A2lixTranslationFormBundle'] = '\A2lix\TranslationFormBundle\A2lixTranslationFormBundle';
  53.         // CK Editor
  54.         $requiredBundles['FOSCKEditorBundle'] = '\FOS\CKEditorBundle\FOSCKEditorBundle';
  55.         // Core PEC-Bundles
  56.         $requiredBundles['PecPlatformBundle'] = '\Pec\Bundle\PlatformBundle\PecPlatformBundle';
  57.         \Pec\Bundle\KeenAdminThemeBundle\PecKeenAdminThemeBundle::getRequiredBundles($env$requiredBundles);
  58.         \Pec\Bundle\MigrationBundle\PecMigrationBundle::getRequiredBundles($env$requiredBundles);
  59.         \Pec\Bundle\Select2FormBundle\PecSelect2FormBundle::getRequiredBundles($env$requiredBundles);
  60.         \Pec\Bundle\FormBundle\PecFormBundle::getRequiredBundles($env$requiredBundles);
  61.         \Pec\Bundle\MenuBundle\PecMenuBundle::getRequiredBundles($env$requiredBundles);
  62. //        \Pec\Bundle\UserBundle\PecUserBundle::getRequiredBundles($env, $requiredBundles);
  63.         \Pec\Bundle\SearchBundle\PecSearchBundle::getRequiredBundles($env$requiredBundles);
  64.         // $bundles['PecTaggingBundle'] = '\Pec\Bundle\TaggingBundle\PecTaggingBundle';
  65. //        $requiredBundles['StingerBootstrapMaxLengthJsBundle'] = '\Stinger\BootstrapMaxLengthJsBundle\StingerBootstrapMaxLengthJsBundle';
  66.         $requiredBundles['StingerSoftTwigExtensionsBundle'] = '\StingerSoft\TwigExtensionsBundle\StingerSoftTwigExtensionsBundle';
  67.         $requiredBundles['StingerSoftAggridBundle'] = '\StingerSoft\AggridBundle\StingerSoftAggridBundle';
  68.         $requiredBundles['WebpackEncoreBundle'] = '\Symfony\WebpackEncoreBundle\WebpackEncoreBundle';
  69.         if(in_array($env, array(
  70.             'dev',
  71.             'test'
  72.         ))) {
  73.             $requiredBundles['DebugBundle'] = '\Symfony\Bundle\DebugBundle\DebugBundle';
  74.             $requiredBundles['WebProfilerBundle'] = '\Symfony\Bundle\WebProfilerBundle\WebProfilerBundle';
  75.         }
  76.         return $requiredBundles;
  77.     }
  78.     public static function addBundle(array $bundlesToAdd, array &$bundles) {
  79.         array_merge($bundles$bundlesToAdd);
  80.     }
  81.     /**
  82.      *
  83.      * {@inheritdoc}
  84.      *
  85.      * @see \Symfony\Component\HttpKernel\Bundle\Bundle::build()
  86.      */
  87.     public function build(ContainerBuilder $container) {
  88.         parent::build($container);
  89.         $container->registerForAutoconfiguration(RoleService::class)->addTag(RoleService::SERVICE_TAG);
  90.         $container->addCompilerPass(new GroupCompilerPass());
  91.         $container->addCompilerPass(new RoleServiceCompilerPass());
  92.         $container->addCompilerPass(new LoginService());
  93.         $container->addCompilerPass(new ThemeCompilerPass());
  94.         $container->addCompilerPass(new ExceptionListenerPass());
  95.         $container->addCompilerPass(new DisableVoteListenerPass());
  96.     }
  97. }