![]() 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-admin-notification/Block/System/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\AdminNotification\Block\System; use Magento\AdminNotification\Model\ResourceModel\System\Message\Collection\Synchronized; use Magento\Backend\Block\Template; use Magento\Backend\Block\Template\Context as TemplateContext; use Magento\Framework\Json\Helper\Data as JsonDataHelper; use Magento\Framework\Notification\MessageInterface; use Magento\Framework\Serialize\Serializer\Json as JsonSerializer; /** * AdminNotification Messages class */ class Messages extends Template { /** * Synchronized Message collection * * @var Synchronized */ protected $_messages; /** * @var JsonDataHelper * @deprecated 100.3.0 */ protected $jsonHelper; /** * @var JsonSerializer */ private $serializer; /** * @param TemplateContext $context * @param Synchronized $messages * @param JsonDataHelper $jsonHelper * @param JsonSerializer $serializer * @param array $data */ public function __construct( TemplateContext $context, Synchronized $messages, JsonDataHelper $jsonHelper, JsonSerializer $serializer, array $data = [] ) { $this->jsonHelper = $jsonHelper; parent::__construct($context, $data); $this->_messages = $messages; $this->serializer = $serializer; } /** * Prepare html output * * @return string */ protected function _toHtml() { if (count($this->_messages->getItems())) { return parent::_toHtml(); } return ''; } /** * Retrieve message list * * @return MessageInterface[]|null */ public function getLastCritical() { $items = array_values($this->_messages->getItems()); if (!empty($items) && current($items)->getSeverity() === MessageInterface::SEVERITY_CRITICAL) { return current($items); } return null; } /** * Retrieve number of critical messages * * @return int */ public function getCriticalCount() { return $this->_messages->getCountBySeverity(MessageInterface::SEVERITY_CRITICAL); } /** * Retrieve number of major messages * * @return int */ public function getMajorCount() { return $this->_messages->getCountBySeverity(MessageInterface::SEVERITY_MAJOR); } /** * Check whether system messages are present * * @return bool */ public function hasMessages() { return (bool)count($this->_messages->getItems()); } /** * Retrieve message list url * * @return string */ protected function _getMessagesUrl() { return $this->getUrl('adminhtml/system_message/list'); } /** * Initialize system message dialog widget * * @return string */ public function getSystemMessageDialogJson() { return $this->serializer->serialize( [ 'systemMessageDialog' => [ 'buttons' => [], 'modalClass' => 'ui-dialog-active ui-popup-message modal-system-messages', 'ajaxUrl' => $this->_getMessagesUrl() ], ] ); } }