diff --git a/src/Html/Generator.php b/src/Html/Generator.php index da9d1d8347..32a2a7537b 100644 --- a/src/Html/Generator.php +++ b/src/Html/Generator.php @@ -399,7 +399,7 @@ class Generator public static function getMessage( Message|string $message, string|null $sqlQuery = null, - MessageType|string $type = MessageType::Notice, + MessageType $type = MessageType::Notice, ): string { $retval = ''; @@ -422,14 +422,6 @@ class Generator } if (is_string($message)) { - if (is_string($type)) { - $type = match ($type) { - 'success' => MessageType::Success, - 'error' => MessageType::Error, - default => MessageType::Notice, - }; - } - $message = new Message($message, $type); } diff --git a/src/Twig/MessageExtension.php b/src/Twig/MessageExtension.php index 8a5e31cc7b..fa5930f428 100644 --- a/src/Twig/MessageExtension.php +++ b/src/Twig/MessageExtension.php @@ -6,6 +6,7 @@ namespace PhpMyAdmin\Twig; use PhpMyAdmin\Html\Generator; use PhpMyAdmin\Message; +use PhpMyAdmin\MessageType; use Twig\Extension\AbstractExtension; use Twig\TwigFilter; use Twig\TwigFunction; @@ -41,6 +42,20 @@ class MessageExtension extends AbstractExtension /** @inheritDoc */ public function getFunctions(): array { - return [new TwigFunction('statement_message', Generator::getMessage(...), ['is_safe' => ['html']])]; + return [ + new TwigFunction( + 'statement_message', + static function (string $message, string $statement, string $context): string { + $type = match ($context) { + 'success' => MessageType::Success, + 'error', 'danger' => MessageType::Error, + default => MessageType::Notice, + }; + + return Generator::getMessage($message, $statement, $type); + }, + ['is_safe' => ['html']], + ), + ]; } }