From ac524c47a0d75381acc149a21df72eb9ec0f0a49 Mon Sep 17 00:00:00 2001 From: Danny van Wijk Date: Mon, 6 Apr 2020 10:32:24 +0000 Subject: [PATCH] Use flashbag from session --- .../EventListener/NodeTranslationListener.php | 22 +++++++++++++------ .../NodeBundle/Resources/config/services.yml | 2 +- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/Kunstmaan/NodeBundle/EventListener/NodeTranslationListener.php b/src/Kunstmaan/NodeBundle/EventListener/NodeTranslationListener.php index f4d80d4913..8eefcf424c 100644 --- a/src/Kunstmaan/NodeBundle/EventListener/NodeTranslationListener.php +++ b/src/Kunstmaan/NodeBundle/EventListener/NodeTranslationListener.php @@ -18,6 +18,7 @@ use Psr\Log\LoggerInterface; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface; +use Symfony\Component\HttpFoundation\Session\SessionInterface; /** * Class NodeTranslationListener @@ -46,15 +47,15 @@ class NodeTranslationListener /** * NodeTranslationListener constructor. * - * @param FlashBagInterface $flashBag - * @param LoggerInterface $logger - * @param SlugifierInterface $slugifier - * @param RequestStack $requestStack - * @param DomainConfigurationInterface $domainConfiguration - * @param PagesConfiguration $pagesConfiguration + * @param SessionInterface|FlashBagInterface $session + * @param LoggerInterface $logger + * @param SlugifierInterface $slugifier + * @param RequestStack $requestStack + * @param DomainConfigurationInterface $domainConfiguration + * @param PagesConfiguration $pagesConfiguration */ public function __construct( - FlashBagInterface $flashBag, + /* SessionInterface */ $flashBag, LoggerInterface $logger, SlugifierInterface $slugifier, RequestStack $requestStack, @@ -62,6 +63,13 @@ public function __construct( PagesConfiguration $pagesConfiguration ) { $this->flashBag = $flashBag; + + if ($flashBag instanceof FlashBagInterface) { + @trigger_error('Passing the "@session.flash_bag" service as first argument is deprecated since KunstmaanNodeBundle 5.6 and will be replaced by the session in KunstmaanNodeBundle 6.0. Inject the "@session" service instead.', E_USER_DEPRECATED); + } elseif ($flashBag instanceof SessionInterface) { + $this->flashBag = $flashBag->getFlashBag(); + } + $this->logger = $logger; $this->slugifier = $slugifier; $this->requestStack = $requestStack; diff --git a/src/Kunstmaan/NodeBundle/Resources/config/services.yml b/src/Kunstmaan/NodeBundle/Resources/config/services.yml index c78efba6c3..2c431b5e6f 100644 --- a/src/Kunstmaan/NodeBundle/Resources/config/services.yml +++ b/src/Kunstmaan/NodeBundle/Resources/config/services.yml @@ -16,7 +16,7 @@ services: kunstmaan_node.nodetranslation.listener: class: Kunstmaan\NodeBundle\EventListener\NodeTranslationListener arguments: - - '@session.flash_bag' + - '@session' - '@kunstmaan_admin.logger' - '@kunstmaan_utilities.slugifier' - '@request_stack'