/**
* Enqueue a system message.
*
* @param string $msg The message to enqueue.
* @param string $type The message type. Default is message.
*
* @return void
*
* @since 3.2
*/
public function enqueueMessage($msg, $type = self::MSG_INFO)
{
// Don't add empty messages.
if ($msg === null || trim($msg) === '') {
return;
}
$inputFilter = InputFilter::getInstance([], [], InputFilter::ONLY_BLOCK_DEFINED_TAGS, InputFilter::ONLY_BLOCK_DEFINED_ATTRIBUTES);
// Build the message array and apply the HTML InputFilter with the default blacklist to the message
$message = array('message' => $inputFilter->clean($msg, 'html'), 'type' => $inputFilter->clean(strtolower($type), 'cmd'));
// For empty queue, if messages exists in the session, enqueue them first.
$messages = $this->getMessageQueue();
if (!\in_array($message, $this->messageQueue)) {
// Enqueue the message.
$this->messageQueue[] = $message;
}
}