system/initialize.php line 40

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4.  * This file is part of Contao.
  5.  *
  6.  * (c) Leo Feyer
  7.  *
  8.  * @license LGPL-3.0-or-later
  9.  */
  10. use Composer\Autoload\ClassLoader;
  11. use Contao\CoreBundle\Response\InitializeControllerResponse;
  12. use Contao\ManagerBundle\HttpKernel\ContaoKernel;
  13. use Symfony\Component\Console\Input\ArgvInput;
  14. use Symfony\Component\HttpFoundation\Request;
  15. if (!defined('TL_SCRIPT')) {
  16.     die('Your script is not compatible with Contao 4.');
  17. }
  18. // Disable the phar stream wrapper for security reasons (see #105)
  19. if (in_array('phar'stream_get_wrappers(), true)) {
  20.     stream_wrapper_unregister('phar');
  21. }
  22. /** @var ClassLoader $loader */
  23. $loader = require __DIR__.'/../vendor/autoload.php';
  24. if ('cli' === PHP_SAPI || !isset($_SERVER['REQUEST_URI'])) {
  25.     $kernel ContaoKernel::fromInput(dirname(__DIR__), new ArgvInput());
  26.     $kernel->boot();
  27.     $kernel->getContainer()->get('contao.framework')->initialize();
  28. } else {
  29.     $request Request::create('/_contao/initialize''GET', [], $_COOKIE, [], $_SERVER);
  30.     $request->attributes->set('_scope''BE' === TL_MODE 'backend' 'frontend');
  31.     $kernel ContaoKernel::fromRequest(dirname(__DIR__), $request);
  32.     $response $kernel->handle($request);
  33.     // Send the response if not generated by the InitializeController
  34.     if (!$response instanceof InitializeControllerResponse) {
  35.         $response->send();
  36.         $kernel->terminate($request$response);
  37.         exit;
  38.     }
  39. }