vendor/sonata-project/admin-bundle/src/EventListener/ConfigureCRUDControllerListener.php line 26

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\AdminBundle\EventListener;
  12. use Sonata\AdminBundle\Controller\CRUDController;
  13. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  14. use Symfony\Component\HttpKernel\Event\ControllerEvent;
  15. use Symfony\Component\HttpKernel\KernelEvents;
  16. /**
  17.  * @internal
  18.  */
  19. final class ConfigureCRUDControllerListener implements EventSubscriberInterface
  20. {
  21.     public function onKernelController(ControllerEvent $event): void
  22.     {
  23.         $controller $event->getController();
  24.         if (\is_array($controller)) {
  25.             $controller $controller[0];
  26.         }
  27.         if (!$controller instanceof CRUDController) {
  28.             return;
  29.         }
  30.         $request $event->getRequest();
  31.         $controller->configureAdmin($request);
  32.     }
  33.     public static function getSubscribedEvents(): array
  34.     {
  35.         return [KernelEvents::CONTROLLER => 'onKernelController'];
  36.     }
  37. }