diff --git a/shop.php b/shop.php index 9be6cbe..7008533 100644 --- a/shop.php +++ b/shop.php @@ -16,9 +16,10 @@ if ($user['battle'] != 0) { die(); } +$sellItemId = empty($_GET['sellitem']) ?: $_GET['sellitem']; -if ($_GET['sed']) { - $dress = mysql_fetch_array(mysql_query("SELECT `id`, `name`, `cost`, `type`, `duration`, `maxdur`, `goden`, `dategoden`, `koll` FROM `inventory` WHERE `dressed` = 0 AND `id` = '" . (int)$_GET['sed'] . "' AND `owner` = '{$user['id']}' LIMIT 1")); +if ($sellItemId) { + $dress = db::c()->query('SELECT `id`, `name`, `cost`, `type`, `duration`, `maxdur`, `goden`, `dategoden`, `koll` FROM `inventory` WHERE `dressed` = 0 AND `id` = ?i AND `owner` = ?i', $sellItemId, $user['id'])->fetch_assoc(); $price = $dress['cost'] * 1; $kols = ''; if ($dress['koll']) { @@ -39,73 +40,179 @@ if ($_GET['sed']) { $allcost = round(($allcost * $per), 2); } $user['money'] += $allcost; - mysql_query("UPDATE `users` SET `money` = '" . $user['money'] . "' WHERE `id` = {$user['id']} LIMIT 1"); - mysql_query("INSERT INTO `delo` (`author`, `pers`, `text`, `type`, `date`) VALUES ('0', '{$user['id']}', '\"" . $user['login'] . "\" продал в магазин товар : \"" . $dress['name'] . "\" $kols id:(cap" . $dress['id'] . ") [" . $dress['duration'] . "/" . $dress['maxdur'] . "] за " . $allcost . " кр. ', '1', '" . time() . "')"); - echo "Вы продали \"{$dress['name']}\" $kols за " . $allcost . " кр."; + $deloText = "\"" . $user['login'] . "\" продал в магазин товар : \"" . $dress['name'] . "\" $kols id:(cap" . $dress['id'] . ") [" . $dress['duration'] . "/" . $dress['maxdur'] . "] за " . $allcost . " кр. "; + db::c()->query('UPDATE `users` SET `money` = ?i WHERE `id` = ?i', $user['money'], $user['id']); + db::c()->query('INSERT INTO `delo` (`pers`, `text`, `type`, `date`) VALUES (?i, "?s", 1, ?i)', $user['id'], $deloText, time()); + echo "Вы продали \"{$dress['name']}\" $kols за " . $allcost . " кр."; } +if (isset($_GET['set']) OR isset($_POST['set'])) { + $set = empty($_GET['set']) ?: $_GET['set']; + $set = empty($_POST['set']) ?: $_POST['set']; -if (($_GET['set'] || $_POST['set'])) { - if ($_GET['set']) { - $set = $_GET['set']; - } - if ($_POST['set']) { - $set = $_POST['set']; - } - if (!$_GET['count']) { - $_GET['count'] = 1; - } - if (!is_numeric($_GET['count']) || $_GET['count'] != ((int)$_GET['count'])) { - $_GET['count'] = 0; + $count = isset($_GET['count']) && is_numeric($_GET['count']) ? $_GET['count'] : 0; + $count = isset($_POST['count']) && is_numeric($_POST['count']) ? $_POST['count'] : 0; + + if ($count < 1) { + $count = 0; $count_ok = 0; - } elseif ($_GET['count'] < 1) { - $_GET['count'] = 0; - $count_ok = 0; - } else { - $count_ok = 1; - } - $dress = mysql_fetch_array(mysql_query("SELECT * FROM `shop` WHERE `id` = '" . (int)$set . "' LIMIT 1")); + } else $count_ok = 1; + + $dress = db::c()->query('SELECT * FROM `ashop` WHERE `id`=?i', $set)->fetch_assoc(); if ($count_ok == 0) { - echo "Неправильно введено количество"; - } elseif (($dress['massa'] * $_GET['count'] + $d[0]) > (get_meshok())) { - echo "Недостаточно места в рюкзаке."; - } elseif ($count_ok == 1 && ($user['money'] >= ($dress['cost'] * $_GET['count'])) && ($dress['count'] >= $_GET['count'])) { + err('Неправильно введено количество.'); + } elseif (($dress['massa'] * $count + $itemWeight['m']) > (get_meshok())) { + err('Недостаточно места в рюкзаке.'); + } elseif ($count_ok == 1 && ($user['money'] >= ($dress['cost'] * $count)) && ($dress['count'] >= $count)) { + + $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'], + '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'], + 'otdel' => $dress['otdel'],//s + 'gmp' => $dress['gmp'], + 'gmeshok' => $dress['gmeshok'], + 'encicl' => $dress['encicl'],//s + 'artefact' => $dress['artefact'], + 'koll' => $dress['koll'] + ]; for ($k = 1; $k <= $_GET['count']; $k++) { - if (mysql_query("INSERT INTO `inventory` (`prototype`,`owner`,`name`,`type`,`massa`,`cost`,`img`,`maxdur`,`isrep`,`gsila`,`glovk`,`ginta`,`gintel`,`ghp`,`gnoj`,`gtopor`,`gdubina`,`gmech`,`gfire`,`gwater`,`gair`,`gearth`,`glight`,`ggray`,`gdark`,`needident`,`nsila`,`nlovk`,`ninta`,`nintel`,`nmudra`,`nvinos`,`nnoj`,`ntopor`,`ndubina`,`nmech`,`nfire`,`nwater`,`nair`,`nearth`,`nlight`,`ngray`,`ndark`,`mfkrit`,`mfakrit`,`mfuvorot`,`mfauvorot`,`bron1`,`bron2`,`bron3`,`bron4`,`maxu`,`minu`,`magic`,`nlevel`,`nalign`,`dategoden`,`goden`,`otdel`,`gmp`,`gmeshok`,`encicl`,`artefact`,`koll`) VALUES ('{$dress['id']}','{$user['id']}','{$dress['name']}','{$dress['type']}',{$dress['massa']},{$dress['cost']},'{$dress['img']}',{$dress['maxdur']},{$dress['isrep']},'{$dress['gsila']}','{$dress['glovk']}','{$dress['ginta']}','{$dress['gintel']}','{$dress['ghp']}','{$dress['gnoj']}','{$dress['gtopor']}','{$dress['gdubina']}','{$dress['gmech']}','{$dress['gfire']}','{$dress['gwater']}','{$dress['gair']}','{$dress['gearth']}','{$dress['glight']}','{$dress['ggray']}','{$dress['gdark']}','{$dress['needident']}','{$dress['nsila']}','{$dress['nlovk']}','{$dress['ninta']}','{$dress['nintel']}','{$dress['nmudra']}','{$dress['nvinos']}','{$dress['nnoj']}','{$dress['ntopor']}','{$dress['ndubina']}','{$dress['nmech']}','{$dress['nfire']}','{$dress['nwater']}','{$dress['nair']}','{$dress['nearth']}','{$dress['nlight']}','{$dress['ngray']}','{$dress['ndark']}','{$dress['mfkrit']}','{$dress['mfakrit']}','{$dress['mfuvorot']}','{$dress['mfauvorot']}','{$dress['bron1']}','{$dress['bron2']}','{$dress['bron3']}','{$dress['bron4']}','{$dress['maxu']}','{$dress['minu']}','{$dress['magic']}','{$dress['nlevel']}','{$dress['nalign']}','" . (($dress['goden']) ? ($dress['goden'] * 24 * 60 * 60 + time()) : "") . "','{$dress['goden']}','{$dress['razdel']}','{$dress['gmp']}','{$dress['gmeshok']}','{$dress['encicl']}','{$dress['artefact']}','{$dress[koll]}')")) { - $good = 1; - } else { - $good = 0; - } - } - - if ($good) { - mysql_query("UPDATE `shop` SET `count` = (`count`-'" . (int)$_GET['count'] . "') WHERE `id` = '{$set}' LIMIT 1"); - echo "Вы купили {$_GET['count']} шт. \"{$dress['name']}\"."; - $user['money'] -= (int)$_GET['count'] * $dress['cost']; - mysql_query("UPDATE `users` set `money` = '" . $user['money'] . "' WHERE `id` = {$user['id']} LIMIT 1"); - $limit = (int)$_GET['count']; - $invdb = mysql_query("SELECT `id` FROM `inventory` WHERE `name` = '" . $dress['name'] . "' ORDER BY `id` DESC LIMIT " . $limit . ""); - if ($limit == 1) { - $dressinv = mysql_fetch_array($invdb); + 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,"?s",?i,?i,"?s",?i,?i]', $newItem); + db::c()->query('UPDATE `shop` SET `count` = `count` - ?i WHERE `id` =?i', $count, $set); + echo "Вы купили {$count} шт. \"{$dress['name']}\"."; + $user['money'] -= $count * $dress['cost']; + db::c()->query('UPDATE `users` set `money` = ?i WHERE `id` = ?i', $user['money'], $user['id']); + $invdb = db::c()->query('SELECT `id` FROM `inventory` WHERE `name` = "?s" ORDER BY `id` DESC LIMIT ?i', $dress['name'], $count); + if ($count == 1) { + $dressinv = $invdb->fetch_assoc(); $dressid = "cap" . $dressinv['id']; $dresscount = " "; } else { $dressid = ""; - while ($dressinv = mysql_fetch_array($invdb)) { + while ($dressinv = $invdb->fetch_assoc()) { $dressid .= "cap" . $dressinv['id'] . ","; } - $dresscount = "(x" . $_GET['count'] . ") "; + $dresscount = "(x" . $count . ") "; } - $allcost = (int)$_GET['count'] * $dress['cost']; - mysql_query("INSERT INTO `delo` (`author`, `pers`, `text`, `type`, `date`) VALUES ('0', '{$user['id']}', '\"" . $user['login'] . "\" купил товар : \"" . $dress['name'] . "\" " . $dresscount . " id:(" . $dressid . ") [0/" . $dress['maxdur'] . "] за " . $allcost . " кр.', '1', '" . time() . "')"); + $allcost = $count * $dress['cost']; + $deloText = "\"" . $user['login'] . "\" купил товар : \"" . $dress['name'] . "\" " . $dresscount . " id:(" . $dressid . ") [0/" . $dress['maxdur'] . "] за " . $allcost . " кр."; + db::c()->query('INSERT INTO `delo` (`pers`, `text`, `type`, `date`) VALUES (?i, "?s", 1, ?i', $user['id'], $deloText, time()); } + } else { - echo "Недостаточно денег или нет вещей в наличии."; + echo "Недостаточно денег или нет вещей в наличии."; } } $itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `setsale` = 0', $user['id'])->fetch_assoc(); +$shopItemType = empty($_POST['sale']) ?: $_POST['sale']; +$shopItemTypeNumber = empty($_GET['otdel']) ?: $_GET['otdel']; +switch ($shopItemTypeNumber) { + default: + $shopItemType = "Оружие: кастеты,ножи"; + $_GET['otdel'] = 1; + break; + case 1: + $shopItemType = "Оружие: кастеты,ножи"; + break; + case 11: + $shopItemType = "Оружие: топоры"; + break; + case 12: + $shopItemType = "Оружие: дубины,булавы"; + break; + case 13: + $shopItemType = "Оружие: мечи"; + break; + case 14: + $shopItemType = "Оружие: луки и арбалеты"; + break; + case 2: + $shopItemType = "Одежда: сапоги"; + break; + case 21: + $shopItemType = "Одежда: перчатки"; + break; + case 22: + $shopItemType = "Одежда: легкая броня"; + break; + case 23: + $shopItemType = "Одежда: тяжелая броня"; + break; + case 24: + $shopItemType = "Одежда: шлемы"; + break; + case 3: + $shopItemType = "Щиты"; + break; + case 4: + $shopItemType = "Ювелирные товары: серьги"; + break; + case 41: + $shopItemType = "Ювелирные товары: ожерелья"; + break; + case 42: + $shopItemType = "Ювелирные товары: кольца"; + break; + case 5: + $shopItemType = "Заклинания: нейтральные"; + break; + case 51: + $shopItemType = "Заклинания: боевые и защитные"; + break; + case 6: + $shopItemType = "Амуниция"; + break; + case 52: + $shopItemType = "Руны"; + break; +} + ?> @@ -154,71 +261,8 @@ $itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE - @@ -226,8 +270,9 @@ $itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE
Отдел "" + + Отдел ""
0 AND `present` = '' AND `tradesale` = 0 AND `podzem` = 0 ORDER BY `update` DESC"); - while ($row = mysql_fetch_array($data)) { + // Выбираем всё потому что эту выборку потом использует showitem(); + $data = db::c()->query('SELECT * FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `setsale` = 0 AND `cost` > 0 AND `present` = "?s" AND `tradesale` = 0 AND `podzem` = 0 ORDER BY `update` DESC', $user['id'], null); + while ($row = $data->fetch_assoc()) { $row['count'] = 1; if ($i == 0) { $i = 1; @@ -236,7 +281,7 @@ $itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE $i = 0; $color = '#D5D5D5'; } - echo " + + + + + "; - showitem($row); - echo ""; } } else { - - if (!isset($_SESSION['type_sort'])) { - $_SESSION['type_sort'] = 1; - $where = ''; - } elseif ($_SESSION['type_sort'] == 1) { - $where = ''; - } elseif ($_SESSION['type_sort'] == 2) { - $where = ' AND `nlevel` = "' . $user['level'] . '"'; - } - - $arr_sort = array(11, 13, 12); #$item - $data = mysql_query("SELECT `id`, `img`, `name` FROM `shop` WHERE `count` > 0 AND `razdel` = '{$_GET['otdel']}' $where ORDER by `nlevel` ASC, `id` ASC"); - while ($row = mysql_fetch_array($data)) { + $data = db::c()->query('SELECT `id`, `img`, `name` FROM `shop` WHERE `count` > 0 AND `razdel` = ?i ORDER by `nlevel` ASC, `id` ASC', $shopItemTypeNumber); + while ($row = $data->fetch_assoc()) { if ($i == 0) { $i = 1; $color = '#C7C7C7'; @@ -282,18 +321,21 @@ $itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE $i = 0; $color = '#D5D5D5'; } - echo " + + + + "; - echo show_shop_items($row['id']); - //showitem ($row); - echo ""; } } ?>
"; + $price = $row['cost'] * 1; if ($data['koll']) { $price *= $data['koll']; @@ -253,28 +298,22 @@ $itemWeight = db::c()->query('SELECT sum(`massa`) AS `m` FROM `inventory` WHERE $allcost = round(($allcost * $per), 2); } ?> -
продать - за -
+ +
продать + за +
+ +
"; ?> -
- купить - Купить несколько штук
+ +
+ купить + Купить несколько штук +
+ +