Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ListStatus.php
Go to the documentation of this file.
1 <?php
7 
16 {
22  protected $_items = [];
23 
33  public function addItem($origin = null, $code = null, $message = null, $additionalData = null)
34  {
35  $this->_items[] = [
36  'origin' => $origin,
37  'code' => $code,
38  'message' => $message,
39  'additionalData' => $additionalData,
40  ];
41  return $this;
42  }
43 
49  public function getItems()
50  {
51  return $this->_items;
52  }
53 
63  public function removeItemsByParams($params)
64  {
65  $items = $this->getItems();
66  if (!$items) {
67  return [];
68  }
69 
70  $indexes = [];
71  $paramKeys = ['origin', 'code', 'message'];
72  foreach ($items as $index => $item) {
73  $remove = true;
74  foreach ($paramKeys as $key) {
75  if (!isset($params[$key])) {
76  continue;
77  }
78  if ($params[$key] != $item[$key]) {
79  $remove = false;
80  break;
81  }
82  }
83  if ($remove) {
84  $indexes[] = $index;
85  }
86  }
87 
88  return $this->removeItems($indexes);
89  }
90 
98  public function removeItems($indexes)
99  {
100  if (![$indexes]) {
101  $indexes = [$indexes];
102  }
103  if (!$indexes) {
104  return [];
105  }
106 
107  $items = $this->getItems();
108  if (!$items) {
109  return [];
110  }
111 
112  $newItems = [];
113  $removedItems = [];
114  foreach ($items as $indexNow => $item) {
115  if (in_array($indexNow, $indexes)) {
116  $removedItems[] = $item;
117  } else {
118  $newItems[] = $item;
119  }
120  }
121 
122  $this->_items = $newItems;
123  return $removedItems;
124  }
125 
131  public function clear()
132  {
133  $this->_items = [];
134  return $this;
135  }
136 }
$message
$params[\Magento\Store\Model\StoreManager::PARAM_RUN_CODE]
Definition: website.php:18
$index
Definition: list.phtml:44
addItem($origin=null, $code=null, $message=null, $additionalData=null)
Definition: ListStatus.php:33
$code
Definition: info.phtml:12
$items