<?php
/**
 * Copyright (c) 2018.
 * Author: Igor Barkov <lopar.4ever@gmail.com>
 * Project name: Battles-Game
 */

session_start();
if (empty($_SESSION['uid'])) {
    header("Location: index.php");
    exit;
}
require_once "config.php";

$msg = $_POST['msg'] ?? null;
$uid = $_SESSION['uid'] ?? null;
if ($msg) {
    try {
        db::c()->query('INSERT INTO `chat` (`user_id`, `msg`) VALUES (?i, "?s")', $uid, $msg);
    } catch (\Krugozor\Database\Mysql\Exception $e) {
        echo "<div style='background-color: #ffaaaa;'>Ошибка: " . $e->getMessage() . "<br> В файле: " . $e->getFile() . " (" . $e->getLine() . ")</div>";
    }
}

function show_messages()
{
    try {
        $chat = db::c()->query('
    SELECT 
    `msg`,
    `msgdate`,
    (SELECT `login` FROM `users` WHERE `users`.`id` = `user_id`) AS `from`,
    `type` 
    FROM `chat` ORDER BY `id` LIMIT 50');
        while ($message = $chat->fetch_assoc()) {
            $d = new DateTime($message['msgdate']);
            $m = htmlspecialchars($message['msg']);
            if ($message['type'] == 'sys') { /* Системка */
                echo sprintf('<span style="color:maroon;background:#faa;">%s %s</span><br>', $d->format('H:i'), $m);
            } elseif ($message['type'] == 'sms') { /* Телеграмма */
                echo sprintf('<span style="color:darkgreen;background:#afa;">[Телеграмма]: %s %s</span><br>', $d->format('H:i'), $m);
            } else {
                echo sprintf('%s [%s]: %s<br>', $d->format('H:i'), $message['from'], $m);
            }
        }
    } catch (\Krugozor\Database\Mysql\Exception $e) {
        echo "<div style='background-color: #ffaaaa;'>Ошибка: " . $e->getMessage() . "<br> В файле: " . $e->getFile() . " (" . $e->getLine() . ")</div>";
    }
}


show_messages();
Template::header('chat');
?>
<style>
    form {
        padding: 3px;
        position: fixed;
        bottom: 0;
        width: 100%;
    }

    form input {
        border: 0;
        padding: 10px;
        width: 80%;
        margin-right: .5%;
    }

    form input[type="submit"] {
        width: 15%;
        border: none;
        padding: 10px;
    }
</style>
<div>
    <?php ?>
</div>
<form action="chat.php" method="post">
    <input id="msg" name="msg" size="100" placeholder="Введите сообщение...">
    <input type="submit" value="Отправить">
</form>