<?php

use Core\Db;
use User\UserIp;

class Delo
{
    /**
     * Запись в личное дело персонажа.
     * @param int    $type     цифровой тип лога (??)
     * @param string $from     отправитель записи
     * @param int    $uid      кому пишется
     * @param string $text     текст
     * @param float  $moneyOut количество денег снятых с игрока
     * @param float  $moneyIn  количество денег полученных игроком
     * @return void
     */
    public static function add(int $type, string $from, int $uid, string $text, float $moneyOut = 0, float $moneyIn = 0): void
    {
        $sql = 'insert into users_delo (uid, time, text, login, `delete`, no_right, ip, moneyOut, moneyIn, type) values (?,unix_timestamp(),?,?,0,?,?,?,?,?)';
        Db::sql($sql, [
            $uid, $text, $from, '', UserIp::get(), $moneyOut, $moneyIn, $type,
        ]);
    }

    public static function printPublicModerationStatus(int $userid): void
    {
        $status = Db::getValue('select text from users_delo where uid = ? and hb != 0 order by id desc limit 1', [$userid]);
        if (!$status) {
            return;
        }

        echo <<<HTML
        <div style="padding-left: 5px; margin: 5px 0;">
        Сообщение от модераторов:<br>
        <span style="color: red; background-color: bisque; font-weight: bold;">$status</span>
        </div>
        HTML;
    }

    public static function getAllByUserId(int $userid): array
    {
        return Db::getRows('select time, text from users_delo where uid = ? and type = 0 order by id desc', [$userid]);
    }
}