‪TYPO3CMS  ‪main
ContextualFeedbackSeverity.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
18 namespace ‪TYPO3\CMS\Core\Type;
19 
25 {
26  case NOTICE = -2;
27  case INFO = -1;
28  case OK = 0;
29  case WARNING = 1;
30  case ERROR = 2;
31 
35  public function ‪getCssClass(): string
36  {
37  return match ($this) {
38  self::NOTICE => 'notice',
39  self::INFO => 'info',
40  self::OK => 'success',
41  self::WARNING => 'warning',
42  self::ERROR => 'danger',
43  };
44  }
45 
49  public function getIconIdentifier(): string
50  {
51  return match ($this) {
52  self::NOTICE => 'actions-lightbulb',
53  self::INFO => 'actions-info',
54  self::OK => 'actions-check',
55  self::WARNING => 'actions-exclamation',
56  self::ERROR => 'actions-close',
57  };
58  }
59 
66  public static function transform(int $originalSeverity): ?self
67  {
68  $backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 2);
69  $caller = end($backtrace);
70  if (isset($caller['class'])) {
71  $callerName = $caller['class'] . $caller['type'] . $caller['function'];
72  } else {
73  $callerName = $caller['function'];
74  }
75  $callerLocation = sprintf('file %s, line %d', $caller['file'], $caller['line']);
76 
77  $severity = ContextualFeedbackSeverity::tryFrom($originalSeverity);
78  if ($severity !== null) {
79  trigger_error(sprintf(
80  'Calling %s (%s) with an integer severity "%d" will be removed with TYPO3 v13. Consider using %s instead.',
81  $callerName,
82  $callerLocation,
83  $originalSeverity,
84  __CLASS__ . '::' . $severity->name
85  ), E_USER_DEPRECATED);
86 
87  return $severity;
88  }
89 
90  trigger_error(sprintf(
91  'Calling %s (%s) with an invalid severity "%d" will be unsupported with TYPO3 v13.',
92  $callerName,
93  $callerLocation,
94  $originalSeverity
95  ), E_USER_DEPRECATED);
96  return null;
97  }
98 }
‪TYPO3\CMS\Core\Type\ContextualFeedbackSeverity
‪ContextualFeedbackSeverity
Definition: ContextualFeedbackSeverity.php:25
‪TYPO3\CMS\Core\Type\getCssClass
‪@ getCssClass
Definition: ContextualFeedbackSeverity.php:35
‪TYPO3\CMS\Core\Type