vendor/ibexa/page-builder/src/lib/Event/Subscriber/ContentProxyCreateNoDraftSubscriber.php line 34

Open in your IDE?
  1. <?php
  2. /**
  3.  * @copyright Copyright (C) Ibexa AS. All rights reserved.
  4.  * @license For full copyright and license information view LICENSE file distributed with this source code.
  5.  */
  6. declare(strict_types=1);
  7. namespace Ibexa\PageBuilder\Event\Subscriber;
  8. use Ibexa\Contracts\AdminUi\Event\ContentProxyCreateEvent;
  9. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  10. use Symfony\Component\HttpFoundation\RedirectResponse;
  11. use Symfony\Component\Routing\RouterInterface;
  12. final class ContentProxyCreateNoDraftSubscriber implements EventSubscriberInterface
  13. {
  14.     /** @var \Symfony\Component\Routing\RouterInterface */
  15.     private $router;
  16.     public function __construct(
  17.         RouterInterface $router
  18.     ) {
  19.         $this->router $router;
  20.     }
  21.     public static function getSubscribedEvents(): array
  22.     {
  23.         return [
  24.             ContentProxyCreateEvent::class => ['createNoDraft'50],
  25.         ];
  26.     }
  27.     public function createNoDraft(ContentProxyCreateEvent $event)
  28.     {
  29.         $contentType $event->getContentType();
  30.         if ($contentType->hasFieldDefinitionOfType('ezlandingpage')) {
  31.             $response = new RedirectResponse(
  32.                 $this->router->generate('ibexa.content.create_no_draft', [
  33.                     'contentTypeIdentifier' => $contentType->identifier,
  34.                     'language' => $event->getLanguageCode(),
  35.                     'parentLocationId' => $event->getParentLocationId(),
  36.                 ])
  37.             );
  38.             $event->setResponse($response);
  39.             $event->stopPropagation();
  40.         }
  41.     }
  42. }
  43. class_alias(ContentProxyCreateNoDraftSubscriber::class, 'EzSystems\EzPlatformPageBuilder\Event\Subscriber\ContentProxyCreateNoDraftSubscriber');