<?php
ob_start();
session_start();
if ($_SESSION['uid'] == null) header("Location: index.php");
require_once 'functions.php';

if ($user['room'] != 22) {
    header("Location: main.php");
    die();
}
if ($user['battle'] != 0) {
    header('location: fbattle.php');
    die();
}

$saleItems = false;
$shopCategoryType = empty($_POST['sale']) ?: $_POST['sale'];
$shopCategoryTypeNumber = empty($_GET['otdel']) ?: $_GET['otdel'];
switch ($shopCategoryTypeNumber) {
    default:
        $shopCategoryType = "Предметы в инвентаре";
        $saleItems = true;
        break;
    case 1:
        $shopCategoryType = "Кинжалы";
        break;
    case 11:
        $shopCategoryType = "Топоры";
        break;
    case 12:
        $shopCategoryType = "Дубины";
        break;
    case 13:
        $shopCategoryType = "Мечи";
        break;
    case 2:
        $shopCategoryType = "Сапоги";
        break;
    case 21:
        $shopCategoryType = "Перчатки";
        break;
    case 22:
        $shopCategoryType = "Легкая броня";
        break;
    case 23:
        $shopCategoryType = "Тяжелая броня";
        break;
    case 24:
        $shopCategoryType = "Шлемы";
        break;
    case 3:
        $shopCategoryType = "Щиты";
        break;
    case 4:
        $shopCategoryType = "Серьги";
        break;
    case 41:
        $shopCategoryType = "Ожерелья";
        break;
    case 42:
        $shopCategoryType = "Кольца";
        break;
    case 5:
        $shopCategoryType = "Заклинания: нейтральные";
        break;
    case 51:
        $shopCategoryType = "Заклинания: боевые и защитные";
        break;
    case 6:
        $shopCategoryType = "Амуниция";
        break;
}

if (false == $saleItems) {
    $shopItems = db::c()->query('SELECT `shop`.*,
       `magic`.`name` AS `magic_name`,
       `magic`.`chanse` AS `magic_chanse`,
       `magic`.`time` AS `magic_time`,
       `magic`.`file` AS `magic_file`,
       `magic`.`targeted` AS `magic_targeted`,
       `magic`.`needcharge` AS `magic_needcharge`,
       `magic`.`img` AS `magic_img`

FROM `shop` LEFT JOIN `magic` ON `magic` = `magic`.`id` WHERE `count` > 0 AND `cost` > 0 AND `razdel` = ?i ORDER by `nlevel` ASC, `id` ASC', $shopCategoryTypeNumber);

    $iteminfo = [];
    while ($row = $shopItems->fetch_assoc()) {
        $iteminfo[] = new ShopItem($row);
    }
} else {
    $inventoryItems = db::c()->query('SELECT `inventory`.*,
       `magic`.`name` AS `magic_name`,
       `magic`.`chanse` AS `magic_chanse`,
       `magic`.`time` AS `magic_time`,
       `magic`.`file` AS `magic_file`,
       `magic`.`targeted` AS `magic_targeted`,
       `magic`.`needcharge` AS `magic_needcharge`,
       `magic`.`img` AS `magic_img`,
       0 AS `maxdur` 
       
FROM `inventory` LEFT JOIN `magic` ON `magic` = `magic`.`id` WHERE 
      `dressed` = 0  AND `setsale` = 0 AND `cost` > 0 AND `present` = "?s" AND 
      `tradesale` = 0 AND `podzem` = 0 AND `goden` = 0 AND `artefact` = 0 AND `owner` = ?i 
ORDER BY `update` DESC', null, $_SESSION['uid']);

    $iteminfo = [];
    while ($row = $inventoryItems->fetch_assoc()) {
        $iteminfo[] = new ShopItem($row);
    }

}

$sellItemId = filter_input(INPUT_GET, 'sell');

if ($sellItemId) {
    $dress = db::c()->query('SELECT `id`, `name`, `cost`, `koll` FROM `inventory` WHERE `dressed` = 0 AND `artefact` = 0 AND `id` = ?i AND `owner` = ?i', $sellItemId, $user['id'])->fetch_assoc();
    $kols = '';
    if ($dress['koll']) {
        $dress['cost'] *= $dress['koll'];
        $kols = "(x{$dress['koll']}) ";
    }

    $allcost = mt_rand(0, $dress['cost'] / 2);
    db::c()->query('DELETE FROM `inventory` WHERE `id` = ?i', $dress['id']);
    db::c()->query('UPDATE `users` SET `money` = `money` + ?i WHERE `id` = ?i', $allcost, $_SESSION['uid']);
    if ($allcost == 0) $status = "После длительных и изнурительных торгов вы плюнули на всё и просто подарили ваш «{$dress['name']}» торговцу.";
    else $status = "Вы продали «{$dress['name']}» $kols за " . $allcost . " кр.";
    $deloText = "{$user['login']} продал товар «{$dress['name']}» {$kols}id:({$dress['id']}) в магазине за {$allcost} кр.";
    addToDelo($deloText);
//    Для обновления данных о деньгах на странице
    $user['money'] += $allcost;
}

if (!empty($_GET['buy'])) {
    $dress = db::c()->query('SELECT * FROM `shop` WHERE `id`=?i', $_GET['buy'])->fetch_assoc();
    $itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE `owner` = ?i AND `setsale` = 0', $_SESSION['uid'])->fetch_assoc();

    if (($dress['massa'] + $itemWeight['m']) > (get_meshok())) $status = 'Недостаточно места в рюкзаке.';
    elseif ($user['money'] >= $dress['cost'] AND ($dress['count'] > 0 OR $dress['count'] == -1)) {
        $newItem = [
            'prototype' => $dress['id'],
            'owner' => $user['id'],
            'name' => $dress['name'], //s
            'type' => $dress['type'],
            'massa' => $dress['massa'],
            'cost' => $dress['cost'],
            'img' => $dress['img'], //s
            'maxdur' => $dress['maxdur'],
            'isrep' => $dress['isrep'],
            'gsila' => $dress['gsila'],
            'glovk' => $dress['glovk'],
            'ginta' => $dress['ginta'],
            'gintel' => $dress['gintel'],

            'ghp' => $dress['ghp'],
            'gnoj' => $dress['gnoj'],
            'gtopor' => $dress['gtopor'],
            'gdubina' => $dress['gdubina'],
            'gmech' => $dress['gmech'],
            'gfire' => $dress['gfire'],
            'gwater' => $dress['gwater'],
            'gair' => $dress['gair'],
            'gearth' => $dress['gearth'],
            'glight' => $dress['glight'],
            'ggray' => $dress['ggray'],
            'gdark' => $dress['gdark'],

            'needident' => $dress['needident'],
            'nsila' => $dress['nsila'],
            'nlovk' => $dress['nlovk'],
            'ninta' => $dress['ninta'],
            'nintel' => $dress['nintel'],
            'nmudra' => $dress['nmudra'],
            'nvinos' => $dress['nvinos'],
            'nnoj' => $dress['nnoj'],
            'ntopor' => $dress['ntopor'],
            'ndubina' => $dress['ndubina'],
            'nmech' => $dress['nmech'],

            'nfire' => $dress['nfire'],
            'nwater' => $dress['nwater'],
            'nair' => $dress['nair'],
            'nearth' => $dress['nearth'],
            'nlight' => $dress['nlight'],
            'ngray' => $dress['ngray'],
            'ndark' => $dress['ndark'],
            'mfkrit' => $dress['mfkrit'],
            'mfakrit' => $dress['mfakrit'],
            'mfuvorot' => $dress['mfuvorot'],
            'mfauvorot' => $dress['mfauvorot'],

            'bron1' => $dress['bron1'],
            'bron2' => $dress['bron2'],
            'bron3' => $dress['bron3'],
            'bron4' => $dress['bron4'],
            'minu' => $dress['minu'],
            'maxu' => $dress['maxu'],
            'magic' => $dress['magic'],
            'nlevel' => $dress['nlevel'],
            'nalign' => $dress['nalign'],
            'dategoden' => $dress['dategoden'],
            'goden' => $dress['goden'],
            'gmp' => $dress['gmp'],
            'artefact' => $dress['artefact'],
            'koll' => $dress['koll'],
        ];

        db::c()->query('INSERT INTO `inventory` SET ?A[?i,?i,"?s",?i,?i,?i,"?s",?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i,?i]', $newItem);
        $inventoryItemId = db::c()->getLastInsertId();
        if ($dress['count'] != -1) db::c()->query('UPDATE `shop` SET `count` = `count` - 1 WHERE `id` = ?i', $_GET['buy']);
        $status = "Вы купили «{$dress['name']}» за {$dress['cost']} кр.";
        db::c()->query('UPDATE `users` set `money` = `money` - ?i WHERE `id` = ?i', $dress['cost'], $_SESSION['uid']);
        $deloText = "{$user['login']} купил товар «{$dress['name']}» id:({$inventoryItemId}) в магазине за {$dress['cost']} кр.";
        addToDelo($deloText);
        //    Для обновления данных о деньгах на странице
        $user['money'] -= $dress['cost'];

    } else {
        $status = "Недостаточно денег или нет вещей в наличии.";
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <link href="css/main.css" rel="stylesheet"/>
    <script src="js/jquery-1.7.2.min.js"></script>
    <script src="js/jquery.simplemodal.js"></script>
    <script src="js/jquery.ui.js?100"></script>
    <script src="js/main.js"></script>
</head>
<body>
<h1>Государственный магазин</h1>
<a href=# onclick=hrefToFrame('city.php?cp')> ← выйти на Центральную площадь</a>
<div><?php if (!empty($status)) err($status); ?></div>
<TABLE width=100% cellspacing="0" cellpadding="4">
    <TR>
        <TD valign=top align=left>
            <h3><?= $shopCategoryType ?></h3>
            <?php if ($saleItems): ?>
                <div style="text-align: center;">Вы можете продать ваши предметы за сущие копейки.</div>
            <?php endif; ?>
            <!--Магазин-->
            <TABLE class="zebra" WIDTH=100% CELLSPACING="1" CELLPADDING="2">
                <?php
                if ($saleItems == true) {
                    foreach ($iteminfo as $ii) {
                        echo "<tr><td style='width: 150px; text-align: center;'>";
                        $ii->printImage();
                        $ii->printControls('sell');
                        echo "</td>";
                        echo "<td style='vertical-align: top;'>";
                        $ii->printInfo();
                        echo "</td></tr>";
                    }
                } else {
                    foreach ($iteminfo as $ii) {
                        echo "<tr><td style='width: 150px; text-align: center;'>";
                        $ii->printImage();
                        $ii->printControls();
                        echo "</td>";
                        echo "<td style='vertical-align: top;'>";
                        $ii->printInfo();
                        echo "</td></tr>";
                    }
                }
                ?>
            </TABLE>
        </TD>
        <TD valign=top width=280>
            <B>Масса всех ваших вещей: <?= getItemsMassaInfo() ?>
                <BR>У вас в наличии: <span style="color: darkgreen;"><?= $user['money'] ?></span> кр.</B>
            <hr>
            <div style="text-align: center; font-weight: bold;">Отделы магазина</div>
            <a href="shop.php?otdel=sale&rnd=<?= mt_rand() ?>">Продать вещи</a>
            <dl>
                <dt><b>Оружие:</b></dt>
                <dd><a href="?otdel=1&rnd=<?= mt_rand() ?>">кинжалы</a></dd>
                <dd><a href="?otdel=11&rnd=<?= mt_rand() ?>">топоры</a></dd>
                <dd><a href="?otdel=12&rnd=<?= mt_rand() ?>">дубины</a></dd>
                <dd><a href="?otdel=13&rnd=<?= mt_rand() ?>">мечи</a></dd>
                <dt><b>Одежда:</b></dt>
                <dd><a href="?otdel=24&rnd=<?= mt_rand() ?>">шлемы</a></dd>
                <dd><a href="?otdel=23&rnd=<?= mt_rand() ?>">тяжелая броня</a></dd>
                <dd><a href="?otdel=22&rnd=<?= mt_rand() ?>">легкая броня</a></dd>
                <dd><a href="?otdel=3&rnd=<?= mt_rand() ?>">щиты</a></dd>
                <dd><a href="?otdel=21&rnd=<?= mt_rand() ?>">перчатки</a></dd>
                <dd><a href="?otdel=2&rnd=<?= mt_rand() ?>">сапоги</a></dd>
                <dt><b>Ювелирные товары:</b></dt>
                <dd><a href="?otdel=4&rnd=<?= mt_rand() ?>">серьги</a></dd>
                <dd><a href="?otdel=41&rnd=<?= mt_rand() ?>">ожерелья</a></dd>
                <dd><a href="?otdel=42&rnd=<?= mt_rand() ?>">кольца</a></dd>
                <dt><b>Магия:</b></dt>
                <dd><a href="?otdel=51&rnd=<?= mt_rand() ?>">боевые</a></dd>
                <dd><a href="?otdel=5&rnd=<?= mt_rand() ?>">разные</a></dd>
                <dt><b>Разное:</b></dt>
                <dd><a href="?otdel=6&rnd=<?= mt_rand() ?>">амуниция</a></dd>
            </dl>
            <div id="hint3" class="ahint"></div>
        </TD>
    </TR>
</TABLE>
</BODY>
</HTML>