TYPO3 CMS  TYPO3_8-7
StatusUtility.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
22 {
30  public function sortBySeverity(array $statusObjects = [])
31  {
32  $orderedStatus = [
33  'alert' => $this->filterBySeverity($statusObjects, 'alert'),
34  'error' => $this->filterBySeverity($statusObjects, 'error'),
35  'warning' => $this->filterBySeverity($statusObjects, 'warning'),
36  'ok' => $this->filterBySeverity($statusObjects, 'ok'),
37  'information' => $this->filterBySeverity($statusObjects, 'information'),
38  'notice' => $this->filterBySeverity($statusObjects, 'notice'),
39  ];
40  return $orderedStatus;
41  }
42 
51  public function filterBySeverity(array $statusObjects = [], $severity = 'ok')
52  {
53  $filteredObjects = [];
55  foreach ($statusObjects as $status) {
56  if (!$status instanceof StatusInterface) {
57  throw new Exception(
58  'Object must implement StatusInterface',
59  1366919442
60  );
61  }
62  if ($status->getSeverity() === $severity) {
63  $filteredObjects[] = $status;
64  }
65  }
66  return $filteredObjects;
67  }
68 }
sortBySeverity(array $statusObjects=[])