![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-theme/CustomerData/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Theme\CustomerData; use Magento\Customer\CustomerData\SectionSourceInterface; use Magento\Framework\App\ObjectManager; use Magento\Framework\Message\ManagerInterface as MessageManager; use Magento\Framework\Message\MessageInterface; use Magento\Framework\View\Element\Message\InterpretationStrategyInterface; /** * Messages section */ class Messages implements SectionSourceInterface { /** * Manager messages * * @var MessageManager */ protected $messageManager; /** * @var InterpretationStrategyInterface */ private $interpretationStrategy; /** * @var MessagesProviderInterface */ private $messageProvider; /** * Constructor * * @param MessageManager $messageManager * @param InterpretationStrategyInterface $interpretationStrategy * @param MessagesProviderInterface|null $messageProvider */ public function __construct( MessageManager $messageManager, InterpretationStrategyInterface $interpretationStrategy, ?MessagesProviderInterface $messageProvider = null ) { $this->messageManager = $messageManager; $this->interpretationStrategy = $interpretationStrategy; $this->messageProvider = $messageProvider ?? ObjectManager::getInstance()->get(MessagesProviderInterface::class); } /** * @inheritdoc */ public function getSectionData() { $messages = $this->messageProvider->getMessages(); $messageResponse = array_reduce( $messages->getItems(), function (array $result, MessageInterface $message) { $result[] = [ 'type' => $message->getType(), 'text' => $this->interpretationStrategy->interpret($message) ]; return $result; }, [] ); return [ 'messages' => $messageResponse ]; } }