AppKernel.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. <?php
  2. use Symfony\Component\HttpKernel\Kernel;
  3. use Symfony\Component\Config\Loader\LoaderInterface;
  4. use Symfony\Component\HttpKernel\HttpKernelInterface;
  5. use Symfony\Component\HttpFoundation\Request;
  6. class AppKernel extends Kernel
  7. {
  8. public function registerBundles()
  9. {
  10. $bundles = [
  11. new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
  12. new Symfony\Bundle\SecurityBundle\SecurityBundle(),
  13. new Symfony\Bundle\TwigBundle\TwigBundle(),
  14. new Symfony\Bundle\MonologBundle\MonologBundle(),
  15. new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
  16. new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
  17. new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
  18. new Sonata\CoreBundle\SonataCoreBundle(),
  19. new Sonata\BlockBundle\SonataBlockBundle(),
  20. new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
  21. new Sonata\AdminBundle\SonataAdminBundle(),
  22. new Knp\Bundle\MenuBundle\KnpMenuBundle(),
  23. new Voryx\RESTGeneratorBundle\VoryxRESTGeneratorBundle(),
  24. new FOS\RestBundle\FOSRestBundle(),
  25. new JMS\SerializerBundle\JMSSerializerBundle($this),
  26. new Nelmio\CorsBundle\NelmioCorsBundle(),
  27. new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
  28. new HWI\Bundle\OAuthBundle\HWIOAuthBundle(),
  29. new MigrationsBundle\MigrationsBundle(),
  30. new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
  31. new WebserviceBundle\WebserviceBundle(),
  32. new Base\AdminBundle\BaseAdminBundle(),
  33. new Base\OAuthClientBundle\BaseOAuthClientBundle(),
  34. new DeviceBundle\DeviceBundle(),
  35. new ExtraDataBundle\ExtraDataBundle(),
  36. new OwnerVoterBundle\OwnerVoterBundle(),
  37. new StatsBundle\StatsBundle(),
  38. new RedisBundle\RedisBundle(),
  39. new BaseStatsBundle\BaseStatsBundle(),
  40. new FiberhomeBundle\FiberhomeBundle(),
  41. new HuaweiBundle\HuaweiBundle(),
  42. new FiberlinkBundle\FiberlinkBundle(),
  43. new ZteBundle\ZteBundle(),
  44. new FurukawaBundle\FurukawaBundle(),
  45. new StatsDBundle\StatsDBundle(),
  46. new GeoserverBundle\GeoserverBundle(),
  47. new LeafletBundle\LeafletBundle(),
  48. new SimpleThings\EntityAudit\SimpleThingsEntityAuditBundle(),
  49. new AuditBundle\AuditBundle(),
  50. new AuthBundle\AuthBundle(),
  51. new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
  52. new WorkflowBundle\WorkflowBundle(),
  53. new NasBundle\NasBundle(),
  54. new CmtsBundle\CmtsBundle(),
  55. new CheckSintaxBundle\CheckSintaxBundle()
  56. ];
  57. if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
  58. $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
  59. $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
  60. $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
  61. $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
  62. $bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
  63. }
  64. return $bundles;
  65. }
  66. public function getRootDir()
  67. {
  68. return __DIR__;
  69. }
  70. public function getCacheDir()
  71. {
  72. return dirname(__DIR__) . '/var/cache/' . $this->getEnvironment();
  73. }
  74. public function getLogDir()
  75. {
  76. return dirname(__DIR__) . '/var/logs';
  77. }
  78. public function registerContainerConfiguration(LoaderInterface $loader)
  79. {
  80. $loader->load($this->getRootDir() . '/config/config_' . $this->getEnvironment() . '.yml');
  81. }
  82. /**
  83. * {@inheritdoc}
  84. */
  85. public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true)
  86. {
  87. if (false === $this->booted) {
  88. $this->boot();
  89. }
  90. // se puede sacar la variable nginx-proxy porque es el nombre del docker y puede variar
  91. // con REMOTRA_ADDR obtengo el mismo valor (http://symfony.com/doc/current/deployment/proxies.html)
  92. //gethostbyname("nginx-proxy") == $request->server->get('REMOTE_ADDR')
  93. if ($this->container->hasParameter("nginx_name")) {
  94. Request::setTrustedProxies(
  95. array('127.0.0.1', $this->container->getParameter("nginx_name")),
  96. Request::HEADER_X_FORWARDED_FOR);
  97. }
  98. return parent::handle($request, $type, $catch);
  99. }
  100. }