Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Synchronized.php
Go to the documentation of this file.
1 <?php
7 
12 class Synchronized extends \Magento\AdminNotification\Model\ResourceModel\System\Message\Collection
13 {
19  protected $_unreadMessages = [];
20 
26  public function _afterLoad()
27  {
28  $messages = $this->_messageList->asArray();
29  $persisted = [];
30  $unread = [];
31  foreach ($messages as $message) {
32  if ($message->isDisplayed()) {
33  foreach ($this->_items as $persistedKey => $persistedMessage) {
34  if ($message->getIdentity() == $persistedMessage->getIdentity()) {
35  $persisted[$persistedKey] = $persistedMessage;
36  continue 2;
37  }
38  }
39  $unread[] = $message;
40  }
41  }
42  $removed = array_diff_key($this->_items, $persisted);
43  foreach ($removed as $removedItem) {
44  $removedItem->delete();
45  }
46  foreach ($unread as $unreadItem) {
47  $item = $this->getNewEmptyItem();
48  $item->setIdentity($unreadItem->getIdentity())->setSeverity($unreadItem->getSeverity())->save();
49  }
50  if (count($removed) || count($unread)) {
51  $this->_unreadMessages = $unread;
52  $this->clear();
53  $this->load();
54  } else {
55  parent::_afterLoad();
56  }
57  return $this;
58  }
59 
65  public function getUnread()
66  {
68  }
69 }
$message
load($printQuery=false, $logQuery=false)
Definition: AbstractDb.php:556