![]() 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/Model/System/Message/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\AdminNotification\Model\System\Message; /** * @api * @since 100.0.2 */ class CacheOutdated implements \Magento\Framework\Notification\MessageInterface { /** * @var \Magento\Framework\UrlInterface */ protected $_urlBuilder; /** * @var \Magento\Framework\AuthorizationInterface */ protected $_authorization; /** * @var \Magento\Framework\App\Cache\TypeListInterface */ protected $_cacheTypeList; /** * @param \Magento\Framework\AuthorizationInterface $authorization * @param \Magento\Framework\UrlInterface $urlBuilder * @param \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList */ public function __construct( \Magento\Framework\AuthorizationInterface $authorization, \Magento\Framework\UrlInterface $urlBuilder, \Magento\Framework\App\Cache\TypeListInterface $cacheTypeList ) { $this->_authorization = $authorization; $this->_urlBuilder = $urlBuilder; $this->_cacheTypeList = $cacheTypeList; } /** * Get array of cache types which require data refresh * * @return array */ protected function _getCacheTypesForRefresh() { $output = []; foreach ($this->_cacheTypeList->getInvalidated() as $type) { $output[] = $type->getCacheType(); } return $output; } /** * Retrieve unique message identity * * @return string */ public function getIdentity() { // md5() here is not for cryptographic use. // phpcs:ignore Magento2.Security.InsecureFunction return md5('cache' . implode(':', $this->_getCacheTypesForRefresh())); } /** * Check whether * * @return bool */ public function isDisplayed() { return $this->_authorization->isAllowed( 'Magento_Backend::cache' ) && count( $this->_getCacheTypesForRefresh() ) > 0; } /** * Retrieve message text * * @return string */ public function getText() { $cacheTypes = implode(', ', $this->_getCacheTypesForRefresh()); $message = __('One or more of the Cache Types are invalidated: %1. ', $cacheTypes) . ' '; $url = $this->_urlBuilder->getUrl('adminhtml/cache'); $message .= __('Please go to <a href="%1">Cache Management</a> and refresh cache types.', $url); return $message; } /** * Retrieve problem management url * * @return string|null */ public function getLink() { return $this->_urlBuilder->getUrl('adminhtml/cache'); } /** * Retrieve message severity * * @return int */ public function getSeverity() { return \Magento\Framework\Notification\MessageInterface::SEVERITY_CRITICAL; } }