diff --git a/libraries/classes/Triggers/Trigger.php b/libraries/classes/Triggers/Trigger.php index c7feefc80b..b4c9328c54 100644 --- a/libraries/classes/Triggers/Trigger.php +++ b/libraries/classes/Triggers/Trigger.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace PhpMyAdmin\Triggers; +use PhpMyAdmin\Dbal\TableName; use Webmozart\Assert\Assert; use Webmozart\Assert\InvalidArgumentException; @@ -13,7 +14,7 @@ final class Trigger public readonly string $name, public readonly Timing $timing, public readonly Event $event, - public readonly string $table, + public readonly TableName $table, public readonly string $statement, public readonly string $definer, ) { @@ -37,6 +38,8 @@ final class Trigger $event = Event::tryFrom($event); Assert::notNull($event); Assert::string($table); + $table = TableName::tryFromValue($table); + Assert::notNull($table); Assert::string($statement); Assert::string($definer); diff --git a/libraries/classes/Triggers/Triggers.php b/libraries/classes/Triggers/Triggers.php index cde28be084..01213139bb 100644 --- a/libraries/classes/Triggers/Triggers.php +++ b/libraries/classes/Triggers/Triggers.php @@ -522,7 +522,7 @@ class Triggers $oneResult = []; $oneResult['name'] = $newTrigger->name; - $oneResult['table'] = $newTrigger->table; + $oneResult['table'] = $newTrigger->table->getName(); $oneResult['action_timing'] = $newTrigger->timing->value; $oneResult['event_manipulation'] = $newTrigger->event->value; $oneResult['definition'] = $newTrigger->statement; diff --git a/test/classes/Triggers/TriggerTest.php b/test/classes/Triggers/TriggerTest.php index a73500150a..8eb5bb1b7b 100644 --- a/test/classes/Triggers/TriggerTest.php +++ b/test/classes/Triggers/TriggerTest.php @@ -29,7 +29,7 @@ class TriggerTest extends TestCase $this->assertSame('trigger_name', $actual->name); $this->assertSame(Timing::Before, $actual->timing); $this->assertSame(Event::Update, $actual->event); - $this->assertSame('test_table', $actual->table); + $this->assertSame('test_table', $actual->table->getName()); $this->assertSame('BEGIN END', $actual->statement); $this->assertSame('definer@localhost', $actual->definer); }