2 namespace TYPO3\CMS\Core\Messaging;
58 throw new \TYPO3\CMS\Core\Exception(
59 'FlashMessageQueue::enqueue() expects an object of type \TYPO3\CMS\Core\Messaging\FlashMessage but got type "' . (is_object($message) ? get_class($message) : gettype($message)) .
'"',
63 if ($message->isSessionMessage()) {
66 parent::enqueue($message);
97 $queuedFlashMessages[] = $message;
111 $queuedFlashMessages = array_merge($queuedFlashMessagesFromSession, $this->
toArray());
112 if ($severity !== null) {
113 $filteredFlashMessages = array();
114 foreach ($queuedFlashMessages as $message) {
115 if ($message->getSeverity() === $severity) {
116 $filteredFlashMessages[] = $message;
119 return $filteredFlashMessages;
122 return $queuedFlashMessages;
139 $this->
clear($severity);
140 return $queuedFlashMessages;
151 $this->
getUserByContext()->setAndSaveSessionData($this->identifier, $flashMessages);
162 if ($severity === null) {
166 foreach ($messages as $index => $message) {
167 if ($message->getSeverity() === $severity) {
168 unset($messages[$index]);
183 $flashMessages = $this->
getUserByContext()->getSessionData($this->identifier);
184 return is_array($flashMessages) ? $flashMessages : array();
194 return TYPO3_MODE ===
'BE' ?
$GLOBALS[
'BE_USER'] :
$GLOBALS[
'TSFE']->fe_user;
206 if (!empty($flashMessages)) {
207 $content =
'<ul class="typo3-messages">';
208 foreach ($flashMessages as $flashMessage) {
209 $severityClass = sprintf(
'alert %s', $flashMessage->getClass());
210 $messageContent = htmlspecialchars($flashMessage->getMessage());
211 if ($flashMessage->getTitle() !==
'') {
212 $messageContent = sprintf(
'<h4>%s</h4>', htmlspecialchars($flashMessage->getTitle())) . $messageContent;
214 $content .= sprintf(
'<li class="%s">%s</li>', htmlspecialchars($severityClass), $messageContent);
230 while ($this->valid()) {
231 $array[] = $this->current();
243 public function clear($severity = null)
246 if ($severity === null) {
247 while (!$this->isEmpty()) {
251 $keysToRemove = array();
252 while ($cur = $this->current()) {
253 if ($cur->getSeverity() === $severity) {
254 $keysToRemove[] = $this->key();
260 $keysToRemove = array_reverse($keysToRemove);
261 foreach ($keysToRemove as $key) {
262 $this->offsetUnset($key);