<?php
session_start();
if (empty($_SESSION['uid'])) {
    header("Location: index.php");
    exit;
}
require_once("functions.php");
$d = db::c()->query('SELECT SUM(`massa`) FROM `inventory` WHERE `dressed` = 0 AND `owner` = ?i', $_SESSION['uid'])->fetch_assoc();
if ($user->room != 23) {
    header("Location: main.php");
    exit();
}
if ($user->battle) {
    header('location: fbattle.php');
    exit();
}
define('GRAV_LIMIT', 32);
define('GRAV_COST', 30);
define('REPAIR_STATUS', [
    'OK_GRAV_ADDED' => 'Гравировка добавлена!',
    'OK_GRAV_REMOVED' => 'Гравировка удалена!',
    'OK_REPAIRED' => 'Предмет отремонтирован!',
    'ERROR_SIZE_LIMIT' => 'Превышен лимит в ' . GRAV_LIMIT . ' символа!',
    'ERROR_NO_MONEY' => 'Недостаточно денег!',
]);
$gravirovkaText = $_POST['gravirovka_text'] ?? null;
$itemId = $_POST['itemId'] ?? null;
$gravirovkaRemove = $_POST['gravirovka_remove'] ?? null;
$action = $_POST['action'] ?? null;
$goto = $_POST['goto'] ?? null;

// Гравировка 30 кред. Максимум 32 символа.
if ($gravirovkaText && $itemId) {
    if ($user->money >= GRAV_COST) {
        if (iconv_strlen($gravirovkaText) <= GRAV_LIMIT) {
            db::c()->query('UPDATE `inventory` SET `text` = "?s" WHERE `dressed` = 0 AND `setsale` = 0 AND `owner` = ?i AND `id` = ?i', $gravirovkaText, $_SESSION['uid'], $itemId);
            $user->money -= GRAV_COST;
            Bank::setWalletMoney($user->money, $user->id);
            $status = REPAIR_STATUS['OK_GRAV_ADDED'];
        } else {
            $status = REPAIR_STATUS['ERROR_SIZE_LIMIT'];
        }
    } else {
        $status = REPAIR_STATUS['ERROR_NO_MONEY'];
    }
}
// Снять гравировку.
if ($gravirovkaRemove) {
    if ($user->money >= GRAV_COST) {
        db::c()->query('UPDATE `inventory` SET `text` = ?n WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', null, $gravirovkaRemove, $_SESSION['uid']);
        $user->money -= GRAV_COST;
        Bank::setWalletMoney($user->money, $user->id);
        $status = REPAIR_STATUS['OK_GRAV_REMOVED'];
    } else {
        $status = REPAIR_STATUS['ERROR_NO_MONEY'];
    }
}
// Ремонт 0,5 кред за единицу.
if ($action == 'repair' && $itemId) {
    $q = db::c()->query('SELECT `name`, `duration` FROM `inventory` WHERE id = ?i', $itemId)->fetch_assoc();
    if ($user->money > ceil($q['duration'] / 2)) {
        db::c()->query('UPDATE `inventory` SET `maxdur` = `maxdur` - 1, `duration` = 0 WHERE `dressed` = 0 AND `setsale` = 0 AND `id` = ?i AND `owner` = ?i', $itemId, $_SESSION['uid']);
        $user->money -= ceil($q['duration'] / 2);
        Bank::setWalletMoney($user->money, $user->id);
        addToDelo('Отремонтирован предмет «' . $q['name'] . '» id:(' . $itemId . ') за ' . ceil($q['duration'] / 2) . ' кр.');
        $status = REPAIR_STATUS['OK_REPAIRED'];
    } else {
        $status = REPAIR_STATUS['ERROR_NO_MONEY'];
    }
}
if ($goto == 'remont') {
    $remont_query = db::c()->query('SELECT `id`,`name`,`img`,`duration`,`maxdur` FROM `inventory` WHERE `type` < 12 AND `dressed` = 0 AND `isrep` = 1 AND `setsale` = 0 AND `duration` > 0 AND `owner` = ?i ORDER BY `update` DESC', $_SESSION['uid']);
}
if ($goto == 'gravirovka') {
    $gravirovka_query = db::c()->query('SELECT `id`,`name`,`img`,`text` FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `type` = 3  AND `name` NOT LIKE "?S" AND `setsale` = 0 OR `text` <> "?s" AND `owner` = ?i AND `dressed` = 0 AND `setsale` = 0 ORDER by `update` DESC', $_SESSION['uid'], '%Букет%', '', $_SESSION['uid']);
}
Template::header('Кузня');
?>
    <link href="css/secondary.css" rel="stylesheet"/>
    <script src="js/main.js"></script>
<h1>Ремонтная мастерская</h1>
<a href=# onclick=hrefToFrame('city.php?cp')> ← выйти из мастерской</a><br>
<div class="appblock appblock-main">
    <span class="legend">Информация</span>
    <span class="wrap">Кредиты<span class="num"><?= $user['money'] ?></span></span>
    <span class="wrap">Масса вещей<span class="num"><?= getItemsMassaInfo() ?></span></span>
</div>
<div class="appblock">
    <span class="legend">Зал ремонта</span>
    <form method="post">
        <input type="hidden" name="goto" value="remont">
        <input type="submit" value="Войти">
    </form>
    <span class="wrap">Починка поврежденных предметов. В процессе ремонта состояние предмета
        уменьшится на единицу!</span>
</div>
<div class="appblock">
    <span class="legend">Зал гравировки</span>
    <form method="post">
        <input type="hidden" name="goto" value="gravirovka">
        <input type="submit" value="Войти" disabled>
    </form>
    <span class="wrap">Нанесение надписей на оружие и удаление надписей из любого обмундирования.
        Максимум 32 символа!</span>
</div>
<div style="clear: both;">
    <?php if (isset($status)): ?>
        <span class="wrap"><?= $status ?></span>
    <?php endif; ?>
</div>
<?php if ($goto == 'remont'):
    while ($row = $remont_query->fetch_assoc()): ?>
        <div class="appblock">
            <span class="legend"><?= $row['name'] ?></span>
            <span class="wrap">Состояние предмета<span class="num"><?= $row['duration'] ?>/<?= $row['maxdur'] ?></span></span>
            <span class="wrap">Стоимость услуги<span class="num"><?= ceil($row['duration'] / 2) ?></span></span>
            <div style="text-align: center">
                <img src="i/sh/<?= $row['img'] ?>">
                <form method="post">
                    <input type="hidden" name="itemId" value="<?= $row['id'] ?>">
                    <input type="hidden" name="action" value="repair">
                    <input type="submit" value="Ремонт">
                </form>
            </div>
        </div>
    <?php endwhile; endif; ?>

<?php if ($goto == 'gravirovka'):
    while ($row = $gravirovka_query->fetch_assoc()): ?>
        <div class="appblock">
            <span class="legend"><?= $row['name'] ?></span>
            <span class="wrap">Стоимость услуги<span class="num">30</span></span>
            <div style="text-align: center">
                <?php if (empty($row['text'])): ?>
                    <form method="post" id="gravirovka">
                        <input maxlength="32" placeholder="Текст гравировки" name="gravirovka_text">
                        <br><img src="i/sh/<?= $row['img'] ?>"><br>
                        <input type="hidden" name="itemId" value="<?= $row['id'] ?>">
                        <input type="submit" value="Добавить надпись">
                    </form>
                <?php else: ?>
                    <form method="post" id="gravirovka">
                        <input value="<?= $row['text'] ?>" readonly title>
                        <br><img src="i/sh/<?= $row['img'] ?>"><br>
                        <input type="hidden" name="gravirovka_remove" value="<?= $row['id'] ?>">
                        <input type="submit" value="Удалить надпись">
                    </form>
                <?php endif; ?>
            </div>
        </div>
    <?php endwhile; endif; ?>

<?php
if ($goto == 'modding') {
    $data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$_SESSION['uid']}' AND `dressed` = 0 AND `name` NOT LIKE '% (мф)%' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
    while ($row = mysql_fetch_array($data)) {
        ?>
        <TR bgcolor=<?= $color ?>>
            <TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
                <BR>
                <small>
                    <A HREF="?razdel=3&mf=<?= $row['id'] ?>"
                       onClick="if(!confirm('Вы действительно хотите модифицировать эту вещь?')){ return false;}">Модифицировать
                        за <?= $row['cost'] ?> кр.</A><BR>
                </small>
            </TD>
            <TD valign=top><?php #showitem($row) ?></TD>
        </TR>
        <?php
    }
}

if ($goto == 'podgon') {
    $data = mysql_query("SELECT * FROM `inventory` WHERE `type` < 12 AND `type` != 3 AND `owner` = '{$user['id']}' AND `dressed` = 0 AND `modif`='1' AND `podgon`<'5' AND `name` NOT LIKE '%Букет%' AND `setsale`=0 ORDER by `update` DESC; ");
    while ($row = mysql_fetch_array($data)) {
        ?>
        <TR bgcolor=<?= $color ?>>
            <TD align=center><IMG SRC="i/sh/<?= $row['img'] ?>" BORDER=0>";
                <BR>
                <small>
                    <?
                    if ($row['point'] > 0) {
                        $babki = round(($row['point'] / 2), 0);
                        $cost_t = 'Реп';
                    } else {
                        $babki = round(($row['cost'] / 2), 0);
                        $cost_t = 'Кр';
                    }
                    ?>
                    <A HREF="?razdel=4&podgon=<?= $row['id'] ?>"
                       onclick="if(!confirm('Вы действительно хотите подогнать эту вещь?')){ return false;}">Подогнать
                        за <?= $babki ?> <?= $cost_t ?>.</A><BR>
                </small>
            </TD>
            <TD valign=top><?php #showitem($row) ?></TD>
        </TR>
        <?php
    }
}
?>
</TABLE>