123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Indexer\Model\Message;
- /**
- * Message about invalid indexers.
- */
- class Invalid implements \Magento\Framework\Notification\MessageInterface
- {
- /**
- * @var \Magento\Indexer\Model\Indexer\Collection
- */
- protected $collection;
- /**
- * @var \Magento\Framework\UrlInterface
- */
- protected $urlBuilder;
- /**
- * @param \Magento\Indexer\Model\Indexer\Collection $collection
- * @param \Magento\Framework\UrlInterface $urlBuilder
- */
- public function __construct(
- \Magento\Indexer\Model\Indexer\Collection $collection,
- \Magento\Framework\UrlInterface $urlBuilder
- ) {
- $this->collection = $collection;
- $this->urlBuilder = $urlBuilder;
- }
- /**
- * Check whether all indices are valid or not
- *
- * @return bool
- */
- public function isDisplayed()
- {
- /** @var \Magento\Indexer\Model\Indexer $indexer */
- foreach ($this->collection->getItems() as $indexer) {
- if ($indexer->getStatus() == \Magento\Framework\Indexer\StateInterface::STATUS_INVALID) {
- return true;
- }
- }
- return false;
- }
- //@codeCoverageIgnoreStart
- /**
- * Retrieve unique message identity
- *
- * @return string
- */
- public function getIdentity()
- {
- return md5('INDEX_INVALID');
- }
- /**
- * Retrieve message text
- *
- * @return \Magento\Framework\Phrase
- */
- public function getText()
- {
- $url = $this->urlBuilder->getUrl('indexer/indexer/list');
- //@codingStandardsIgnoreStart
- return __(
- 'One or more <a href="%1">indexers are invalid</a>. Make sure your <a href="%2" target="_blank">Magento cron job</a> is running.',
- $url,
- 'https://devdocs.magento.com/guides/v2.2/config-guide/cli/config-cli-subcommands-cron.html#create-or-remove-the-magento-crontab'
- );
- //@codingStandardsIgnoreEnd
- }
- /**
- * Retrieve message severity
- *
- * @return int
- */
- public function getSeverity()
- {
- return self::SEVERITY_MAJOR;
- }
- //@codeCoverageIgnoreEnd
- }
|