Rename the FlashMessages class to FlashMessenger

This class handles the flash messages instead of being a collection
of flash messages, so FlashMessenger is a better name.

Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
This commit is contained in:
Maurício Meneghini Fauth 2024-05-15 19:42:35 -03:00
parent 24fcf259f3
commit 64a8a9d779
No known key found for this signature in database
GPG Key ID: 6A16FD38AFC89CC8
14 changed files with 64 additions and 64 deletions

View File

@ -24,7 +24,7 @@ use PhpMyAdmin\Export\Export;
use PhpMyAdmin\Export\Options;
use PhpMyAdmin\Export\TemplateModel;
use PhpMyAdmin\FileListing;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Http\Factory\ResponseFactory;
use PhpMyAdmin\Import\Import;
use PhpMyAdmin\Import\SimulateDml;
@ -109,7 +109,7 @@ return [
'export_template_model' => ['class' => TemplateModel::class, 'arguments' => ['@dbi']],
'expression_language' => ['class' => ExpressionLanguage::class],
'file_listing' => ['class' => FileListing::class],
'flash' => ['class' => FlashMessages::class],
FlashMessenger::class => ['class' => FlashMessenger::class],
'http_request' => ['class' => HttpRequest::class],
ResponseFactory::class => [
'class' => ResponseFactory::class,
@ -223,7 +223,6 @@ return [
UserPrivilegesFactory::class => ['class' => UserPrivilegesFactory::class, 'arguments' => ['@dbi']],
'version_information' => ['class' => VersionInformation::class],
DatabaseInterface::class => 'dbi',
PhpMyAdmin\FlashMessages::class => 'flash',
PhpMyAdmin\ResponseRenderer::class => 'response',
'bookmarkRepository' => ['class' => BookmarkRepository::class, 'arguments' => ['@dbi', '@relation']],
'console' => ['class' => Console::class, 'arguments' => [ '@relation', '@template', '@bookmarkRepository']],

View File

@ -41,6 +41,7 @@ use PhpMyAdmin\Controllers\UserPasswordController;
use PhpMyAdmin\Controllers\VersionCheckController;
use PhpMyAdmin\Controllers\View;
use PhpMyAdmin\DbTableExists;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Http\Factory\ResponseFactory;
use PhpMyAdmin\Plugins\AuthenticationPluginFactory;
use PhpMyAdmin\Theme\ThemeManager;
@ -298,7 +299,7 @@ return [
'$dbi' => '@dbi',
'$relation' => '@relation',
'$relationCleanup' => '@relation_cleanup',
'$flash' => '@flash',
'$flashMessenger' => '@' . FlashMessenger::class,
'$structureController' => '@' . Database\StructureController::class,
],
],
@ -321,7 +322,7 @@ return [
],
Database\Structure\ReplacePrefixController::class => [
'class' => Database\Structure\ReplacePrefixController::class,
'arguments' => ['@dbi', '@' . ResponseFactory::class, '@flash'],
'arguments' => ['@dbi', '@' . ResponseFactory::class, '@' . FlashMessenger::class],
],
Database\Structure\ShowCreateController::class => [
'class' => Database\Structure\ShowCreateController::class,
@ -976,7 +977,7 @@ return [
'arguments' => [
'$response' => '@response',
'$dbi' => '@dbi',
'$flash' => '@flash',
'$flashMessenger' => '@' . FlashMessenger::class,
'$relationCleanup' => '@relation_cleanup',
],
],

View File

@ -1996,7 +1996,7 @@ parameters:
path: src/Controllers/Database/Structure/ReplacePrefixController.php
-
message: "#^Parameter \\#3 \\$statement of method PhpMyAdmin\\\\FlashMessages\\:\\:addMessage\\(\\) expects string, mixed given\\.$#"
message: "#^Parameter \\#3 \\$statement of method PhpMyAdmin\\\\FlashMessenger\\:\\:addMessage\\(\\) expects string, mixed given\\.$#"
count: 1
path: src/Controllers/Database/Structure/ReplacePrefixController.php
@ -7468,17 +7468,17 @@ parameters:
-
message: "#^Cannot access an offset on mixed\\.$#"
count: 1
path: src/FlashMessages.php
path: src/FlashMessenger.php
-
message: "#^Cannot access offset string on mixed\\.$#"
count: 2
path: src/FlashMessages.php
path: src/FlashMessenger.php
-
message: "#^Property PhpMyAdmin\\\\FlashMessages\\:\\:\\$previousMessages \\(array\\<string, array\\<array\\<string\\>\\>\\>\\) does not accept mixed\\.$#"
message: "#^Property PhpMyAdmin\\\\FlashMessenger\\:\\:\\$previousMessages \\(array\\<string, array\\<array\\<string\\>\\>\\>\\) does not accept mixed\\.$#"
count: 1
path: src/FlashMessages.php
path: src/FlashMessenger.php
-
message: "#^Cannot access offset 'chars' on mixed\\.$#"
@ -15548,12 +15548,12 @@ parameters:
-
message: "#^Parameter \\#2 \\$array of static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertArrayHasKey\\(\\) expects array\\|ArrayAccess, mixed given\\.$#"
count: 2
path: tests/unit/FlashMessagesTest.php
path: tests/unit/FlashMessengerTest.php
-
message: "#^Parameter \\#2 \\$array of static method PHPUnit\\\\Framework\\\\Assert\\:\\:assertArrayNotHasKey\\(\\) expects array\\|ArrayAccess, mixed given\\.$#"
count: 2
path: tests/unit/FlashMessagesTest.php
path: tests/unit/FlashMessengerTest.php
-
message: "#^Cannot access offset 'queries' on mixed\\.$#"

View File

@ -5942,7 +5942,7 @@
<code><![CDATA[Config::getInstance()]]></code>
</DeprecatedMethod>
</file>
<file src="src/FlashMessages.php">
<file src="src/FlashMessenger.php">
<MixedArrayAssignment>
<code><![CDATA[$this->storage[self::STORAGE_KEY][$key]]]></code>
<code><![CDATA[$this->storage[self::STORAGE_KEY][$key]]]></code>
@ -11657,9 +11657,9 @@
<code><![CDATA[empty($_POST['item_timing'])]]></code>
</RiskyTruthyFalsyComparison>
</file>
<file src="src/Twig/FlashMessagesExtension.php">
<file src="src/Twig/FlashMessengerExtension.php">
<InvalidArgument>
<code><![CDATA[[FlashMessages::class, 'getMessages']]]></code>
<code><![CDATA[[FlashMessenger::class, 'getMessages']]]></code>
</InvalidArgument>
</file>
<file src="src/TwoFactor.php">
@ -13639,7 +13639,7 @@
<code><![CDATA[compressedFiles]]></code>
</PossiblyUnusedMethod>
</file>
<file src="tests/unit/FlashMessagesTest.php">
<file src="tests/unit/FlashMessengerTest.php">
<InvalidScalarArgument>
<code><![CDATA[$_SESSION]]></code>
</InvalidScalarArgument>

View File

@ -12,7 +12,7 @@ use PhpMyAdmin\Controllers\Database\StructureController;
use PhpMyAdmin\Controllers\InvocableController;
use PhpMyAdmin\Current;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Http\Response;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Message;
@ -34,7 +34,7 @@ final class EmptyTableController implements InvocableController
private readonly DatabaseInterface $dbi,
private readonly Relation $relation,
private readonly RelationCleanup $relationCleanup,
private readonly FlashMessages $flash,
private readonly FlashMessenger $flashMessenger,
private readonly StructureController $structureController,
) {
}
@ -46,7 +46,7 @@ final class EmptyTableController implements InvocableController
$selected = $request->getParsedBodyParam('selected', []);
if ($multBtn !== __('Yes')) {
$this->flash->addMessage('success', __('No change'));
$this->flashMessenger->addMessage('success', __('No change'));
$this->response->redirectToRoute('/database/structure', ['db' => Current::$database]);
return null;

View File

@ -8,7 +8,7 @@ use Fig\Http\Message\StatusCodeInterface;
use PhpMyAdmin\Controllers\InvocableController;
use PhpMyAdmin\Current;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Http\Factory\ResponseFactory;
use PhpMyAdmin\Http\Response;
use PhpMyAdmin\Http\ServerRequest;
@ -24,7 +24,7 @@ final class ReplacePrefixController implements InvocableController
public function __construct(
private readonly DatabaseInterface $dbi,
private readonly ResponseFactory $responseFactory,
private readonly FlashMessages $flashMessages,
private readonly FlashMessenger $flashMessenger,
) {
}
@ -57,7 +57,7 @@ final class ReplacePrefixController implements InvocableController
$GLOBALS['message'] = Message::success();
$this->flashMessages->addMessage('success', $GLOBALS['message']->getMessage(), $GLOBALS['sql_query']);
$this->flashMessenger->addMessage('success', $GLOBALS['message']->getMessage(), $GLOBALS['sql_query']);
return $this->responseFactory->createResponse(StatusCodeInterface::STATUS_FOUND)
->withHeader('Location', Url::getFromRoute('/database/structure', ['db' => Current::$database]));

View File

@ -8,7 +8,7 @@ use PhpMyAdmin\ConfigStorage\RelationCleanup;
use PhpMyAdmin\Controllers\InvocableController;
use PhpMyAdmin\Current;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Http\Response;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Message;
@ -24,7 +24,7 @@ final class DropColumnController implements InvocableController
public function __construct(
private readonly ResponseRenderer $response,
private readonly DatabaseInterface $dbi,
private readonly FlashMessages $flash,
private readonly FlashMessenger $flashMessenger,
private readonly RelationCleanup $relationCleanup,
) {
}
@ -72,7 +72,7 @@ final class DropColumnController implements InvocableController
$message->addParam($selectedCount);
}
$this->flash->addMessage($message->isError() ? 'danger' : 'success', $message->getMessage());
$this->flashMessenger->addMessage($message->isError() ? 'danger' : 'success', $message->getMessage());
$this->response->redirectToRoute('/table/structure', ['db' => Current::$database, 'table' => Current::$table]);
return null;

View File

@ -12,7 +12,7 @@ use PhpMyAdmin\Current;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Encoding;
use PhpMyAdmin\Exceptions\ExportException;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Identifiers\DatabaseName;
use PhpMyAdmin\Message;
use PhpMyAdmin\MessageType;
@ -1045,7 +1045,7 @@ class Export
*/
public function getPageLocationAndSaveMessage(string $exportType, Message $message): string
{
(new FlashMessages())->addMessage($message->isError() ? 'danger' : 'success', $message->getMessage());
(new FlashMessenger())->addMessage($message->isError() ? 'danger' : 'success', $message->getMessage());
if ($exportType === 'server') {
return 'index.php?route=/server/export' . Url::getCommonRaw([], '&');

View File

@ -8,9 +8,9 @@ use RuntimeException;
use function __;
final class FlashMessages
final class FlashMessenger
{
private const STORAGE_KEY = 'flashMessages';
private const STORAGE_KEY = 'FlashMessenger';
/** @var mixed[] */
private array $storage;

View File

@ -7,7 +7,7 @@ namespace PhpMyAdmin;
use PhpMyAdmin\Container\ContainerBuilder;
use PhpMyAdmin\Twig\AssetExtension;
use PhpMyAdmin\Twig\CoreExtension;
use PhpMyAdmin\Twig\FlashMessagesExtension;
use PhpMyAdmin\Twig\FlashMessengerExtension;
use PhpMyAdmin\Twig\I18nExtension;
use PhpMyAdmin\Twig\MessageExtension;
use PhpMyAdmin\Twig\SanitizeExtension;
@ -67,7 +67,7 @@ class Template
$twig->addExtension(new AssetExtension());
$twig->addExtension(new CoreExtension());
$twig->addExtension(new FlashMessagesExtension());
$twig->addExtension(new FlashMessengerExtension());
$twig->addExtension(new I18nExtension());
$twig->addExtension(new MessageExtension());
$twig->addExtension(new SanitizeExtension());

View File

@ -4,15 +4,15 @@ declare(strict_types=1);
namespace PhpMyAdmin\Twig;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
final class FlashMessagesExtension extends AbstractExtension
final class FlashMessengerExtension extends AbstractExtension
{
/** @return TwigFunction[] */
public function getFunctions(): array
{
return [new TwigFunction('flash', [FlashMessages::class, 'getMessages'])];
return [new TwigFunction('flash', [FlashMessenger::class, 'getMessages'])];
}
}

View File

@ -9,7 +9,7 @@ use PhpMyAdmin\ConfigStorage\RelationCleanup;
use PhpMyAdmin\Controllers\Table\DropColumnController;
use PhpMyAdmin\Current;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Http\ServerRequest;
use PhpMyAdmin\Tests\AbstractTestCase;
use PhpMyAdmin\Tests\Stubs\ResponseRenderer;
@ -42,20 +42,20 @@ class DropColumnControllerTest extends AbstractTestCase
$dummyDbi->addResult('ALTER TABLE `test_table` DROP `name`, DROP `datetimefield`;', true);
$dbi = $this->createDatabaseInterface($dummyDbi);
self::assertArrayNotHasKey('flashMessages', $_SESSION);
self::assertArrayNotHasKey('FlashMessenger', $_SESSION);
(new DropColumnController(
new ResponseRenderer(),
$dbi,
new FlashMessages(),
new FlashMessenger(),
new RelationCleanup($dbi, new Relation($dbi)),
))(self::createStub(ServerRequest::class));
self::assertArrayHasKey('flashMessages', $_SESSION);
self::assertArrayHasKey('FlashMessenger', $_SESSION);
/** @psalm-suppress InvalidArrayOffset */
self::assertSame(
['success' => [['message' => '2 columns have been dropped successfully.', 'statement' => '']]],
$_SESSION['flashMessages'],
$_SESSION['FlashMessenger'],
);
}
}

View File

@ -9,7 +9,7 @@ use PhpMyAdmin\ConfigStorage\Relation;
use PhpMyAdmin\Current;
use PhpMyAdmin\DatabaseInterface;
use PhpMyAdmin\Export\Export;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PhpMyAdmin\Identifiers\DatabaseName;
use PhpMyAdmin\Message;
use PhpMyAdmin\Plugins\Export\ExportPhparray;
@ -244,7 +244,7 @@ SQL;
self::assertSame('index.php?route=/server/export&server=2&lang=en', $location);
self::assertSame(
['danger' => [['message' => 'Error message!', 'statement' => '']]],
(new FlashMessages())->getMessages(),
(new FlashMessenger())->getMessages(),
);
}
@ -259,7 +259,7 @@ SQL;
self::assertSame('index.php?route=/server/export&server=2&lang=en', $location);
self::assertSame(
['success' => [['message' => 'Success message!', 'statement' => '']]],
(new FlashMessages())->getMessages(),
(new FlashMessenger())->getMessages(),
);
}
@ -275,7 +275,7 @@ SQL;
self::assertSame('index.php?route=/database/export&db=test_db&server=2&lang=en', $location);
self::assertSame(
['danger' => [['message' => 'Error message!', 'statement' => '']]],
(new FlashMessages())->getMessages(),
(new FlashMessenger())->getMessages(),
);
}
@ -291,7 +291,7 @@ SQL;
self::assertSame('index.php?route=/database/export&db=test_db&server=2&lang=en', $location);
self::assertSame(
['success' => [['message' => 'Success message!', 'statement' => '']]],
(new FlashMessages())->getMessages(),
(new FlashMessenger())->getMessages(),
);
}
@ -311,7 +311,7 @@ SQL;
);
self::assertSame(
['danger' => [['message' => 'Error message!', 'statement' => '']]],
(new FlashMessages())->getMessages(),
(new FlashMessenger())->getMessages(),
);
}
@ -331,7 +331,7 @@ SQL;
);
self::assertSame(
['success' => [['message' => 'Success message!', 'statement' => '']]],
(new FlashMessages())->getMessages(),
(new FlashMessenger())->getMessages(),
);
}
}

View File

@ -4,21 +4,21 @@ declare(strict_types=1);
namespace PhpMyAdmin\Tests;
use PhpMyAdmin\FlashMessages;
use PhpMyAdmin\FlashMessenger;
use PHPUnit\Framework\Attributes\CoversClass;
use RuntimeException;
#[CoversClass(FlashMessages::class)]
class FlashMessagesTest extends AbstractTestCase
#[CoversClass(FlashMessenger::class)]
final class FlashMessengerTest extends AbstractTestCase
{
private const STORAGE_KEY = 'flashMessages';
private const STORAGE_KEY = 'FlashMessenger';
public function testConstructor(): void
{
self::assertArrayNotHasKey(self::STORAGE_KEY, $_SESSION);
$flash = new FlashMessages();
$flashMessenger = new FlashMessenger();
self::assertIsArray($_SESSION[self::STORAGE_KEY]);
self::assertSame([], $flash->getMessages());
self::assertSame([], $flashMessenger->getMessages());
}
public function testConstructorSessionNotFound(): void
@ -26,14 +26,14 @@ class FlashMessagesTest extends AbstractTestCase
$_SESSION = null;
$this->expectException(RuntimeException::class);
$this->expectExceptionMessage('Session not found.');
new FlashMessages();
new FlashMessenger();
}
public function testAddMessage(): void
{
$flash = new FlashMessages();
$flashMessenger = new FlashMessenger();
self::assertArrayNotHasKey('error', $_SESSION[self::STORAGE_KEY]);
$flash->addMessage('error', 'Error');
$flashMessenger->addMessage('error', 'Error');
self::assertArrayHasKey('error', $_SESSION[self::STORAGE_KEY]);
self::assertIsArray($_SESSION[self::STORAGE_KEY]['error']);
self::assertSame([['message' => 'Error', 'statement' => '']], $_SESSION[self::STORAGE_KEY]['error']);
@ -41,9 +41,9 @@ class FlashMessagesTest extends AbstractTestCase
public function testAddMessageWithStatement(): void
{
$flash = new FlashMessages();
$flashMessenger = new FlashMessenger();
self::assertArrayNotHasKey('success', $_SESSION[self::STORAGE_KEY]);
$flash->addMessage('success', 'Your SQL query has been executed successfully.', 'SELECT 1;');
$flashMessenger->addMessage('success', 'Your SQL query has been executed successfully.', 'SELECT 1;');
self::assertArrayHasKey('success', $_SESSION[self::STORAGE_KEY]);
self::assertIsArray($_SESSION[self::STORAGE_KEY]['success']);
self::assertSame(
@ -55,10 +55,10 @@ class FlashMessagesTest extends AbstractTestCase
public function testGetMessage(): void
{
$_SESSION[self::STORAGE_KEY] = ['warning' => [['message' => 'Warning', 'statement' => '']]];
$flash = new FlashMessages();
$message = $flash->getMessage('error');
$flashMessenger = new FlashMessenger();
$message = $flashMessenger->getMessage('error');
self::assertNull($message);
$message = $flash->getMessage('warning');
$message = $flashMessenger->getMessage('warning');
self::assertSame([['message' => 'Warning', 'statement' => '']], $message);
}
@ -71,9 +71,9 @@ class FlashMessagesTest extends AbstractTestCase
],
'warning' => [['message' => 'Warning', 'statement' => '']],
];
$flash = new FlashMessages();
$flash->addMessage('notice', 'Notice');
$messages = $flash->getMessages();
$flashMessenger = new FlashMessenger();
$flashMessenger->addMessage('notice', 'Notice');
$messages = $flashMessenger->getMessages();
self::assertSame(
[
'error' => [