HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/public/phpmyadmin/libraries/classes/Table/Maintenance/Message.php
<?php

declare(strict_types=1);

namespace PhpMyAdmin\Table\Maintenance;

use function is_string;

/**
 * @psalm-immutable
 */
final class Message
{
    /** @var string */
    public $table;

    /** @var string */
    public $operation;

    /** @var string */
    public $type;

    /** @var string */
    public $text;

    private function __construct(string $table, string $operation, string $type, string $text)
    {
        $this->table = $table;
        $this->operation = $operation;
        $this->type = $type;
        $this->text = $text;
    }

    /**
     * @param mixed[] $row
     */
    public static function fromArray(array $row): self
    {
        $table = isset($row['Table']) && is_string($row['Table']) ? $row['Table'] : '';
        $operation = isset($row['Op']) && is_string($row['Op']) ? $row['Op'] : '';
        $type = isset($row['Msg_type']) && is_string($row['Msg_type']) ? $row['Msg_type'] : '';
        $text = isset($row['Msg_text']) && is_string($row['Msg_text']) ? $row['Msg_text'] : '';

        return new self($table, $operation, $type, $text);
    }
}