2018-01-28 18:40:49 +02:00
< ? php
ob_start ();
session_start ();
2018-06-23 02:00:48 +03:00
if ( ! isset ( $_SESSION [ 'uid' ])) {
header ( " Location: index.php " );
}
2018-01-28 18:40:49 +02:00
include ( " config.php " );
include ( " functions.php " );
2018-06-23 02:00:48 +03:00
if ( $user [ 'room' ] != 22 ) {
header ( " Location: main.php " );
die ();
2018-01-28 18:40:49 +02:00
}
2018-06-23 02:00:48 +03:00
if ( $user [ 'battle' ] != 0 ) {
header ( 'location: fbattle.php' );
die ();
2018-01-28 18:40:49 +02:00
}
2018-06-23 20:02:30 +03:00
$sellItemId = filter_input ( INPUT_GET , 'sellitem' );
2018-01-28 18:40:49 +02:00
2018-06-23 20:02:30 +03:00
if ( $sellItemId && is_numeric ( $sellItemId )) {
2018-06-23 15:44:38 +03:00
$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 ();
2018-06-23 02:00:48 +03:00
$price = $dress [ 'cost' ] * 1 ;
$kols = '' ;
if ( $dress [ 'koll' ]) {
2018-06-23 13:21:25 +03:00
$price *= $dress [ 'koll' ];
2018-06-23 02:00:48 +03:00
$kols = '(x' . $dress [ 'koll' ] . ')' ;
2018-01-28 18:40:49 +02:00
}
2018-06-23 02:00:48 +03:00
destructitem ( $dress [ 'id' ]);
if ( $dress [ 'type' ] == 12 ) {
$allcost = round ( $price * ( 1 - $dress [ 'duration' ] / $dress [ 'maxdur' ]), 2 );
} else {
$allcost = round ( $price - $dress [ 'duration' ] * ( $dress [ 'cost' ] / ( $dress [ 'maxdur' ] * 10 )), 2 );
2018-01-28 18:40:49 +02:00
}
2018-06-23 02:00:48 +03:00
if ( $dress [ 'goden' ] != 0 ) {
$goden_max = $dress [ 'goden' ] * 24 * 60 ;
$goden_left = ( $dress [ 'dategoden' ] - time ()) / 60 ;
$per = $goden_left / $goden_max ;
$allcost = round (( $allcost * $per ), 2 );
}
$user [ 'money' ] += $allcost ;
2018-06-23 15:44:38 +03:00
$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 " <b style='color: red;'>Вы продали \" { $dress [ 'name' ] } \" $kols за " . $allcost . " кр.</b> " ;
2018-01-28 18:40:49 +02:00
}
2018-06-23 15:44:38 +03:00
if ( isset ( $_GET [ 'set' ]) OR isset ( $_POST [ 'set' ])) {
$set = empty ( $_GET [ 'set' ]) ? : $_GET [ 'set' ];
$set = empty ( $_POST [ 'set' ]) ? : $_POST [ 'set' ];
2018-01-28 18:40:49 +02:00
2018-06-23 15:44:38 +03:00
$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 ;
2018-06-23 02:00:48 +03:00
$count_ok = 0 ;
2018-06-23 15:44:38 +03:00
} else $count_ok = 1 ;
2018-06-23 15:53:25 +03:00
$dress = db :: c () -> query ( 'SELECT * FROM `shop` WHERE `id`=?i' , $set ) -> fetch_assoc ();
2018-06-23 19:22:20 +03:00
// db::c()->query('
// INSERT INTO `inventory` (
// name, maxdur, cost, img, goden, dategoden, massa, prototype, owner,
// nlevel, nsila, nlovk, ninta, nvinos, nintel, nmudra,
// nnoj, ntopor, ndubina, nmech, nalign, nfire, nwater, nair, nearth, nlight, ngray, ndark,
// minu, maxu,
// gsila, glovk, ginta, gintel, ghp, gfire, gwater, gair, gearth, glight, ggray, gdark,
// mfkrit, mfakrit, mfuvorot, mfauvorot,
// gnoj, gtopor, gdubina, gmech,
// bron1, bron2, bron3, bron4, magic, needident,
// gmp, gmeshok, artefact, encicl, koll)
// SELECT
// name, maxdur, cost, img, goden, dategoden, massa, id, ?i,
// nlevel, nsila, nlovk, ninta, nvinos, nintel, nmudra,
// nnoj, ntopor, ndubina, nmech, nalign, nfire, nwater, nair, nearth, nlight, ngray, ndark,
// minu, maxu,
// gsila, glovk, ginta, gintel, ghp, gfire, gwater, gair, gearth, glight, ggray, gdark,
// mfkrit, mfakrit, mfuvorot, mfauvorot,
// gnoj, gtopor, gdubina, gmech,
// bron1, bron2, bron3, bron4, magic, needident,
// gmp, gmeshok, artefact, encicl, koll
// FROM shop WHERE id = inventory.prototype;
//
// ', $user['id']);
2018-06-23 02:00:48 +03:00
if ( $count_ok == 0 ) {
2018-06-23 15:44:38 +03:00
err ( 'Неправильно введено количество.' );
} elseif (( $dress [ 'massa' ] * $count + $itemWeight [ 'm' ]) > ( get_meshok ())) {
err ( 'Недостаточно места в рюкзаке.' );
} elseif ( $count_ok == 1 && ( $user [ 'money' ] >= ( $dress [ 'cost' ] * $count )) && ( $dress [ 'count' ] >= $count )) {
2018-06-23 02:00:48 +03:00
2018-06-23 15:44:38 +03:00
$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' ]
];
2018-06-23 02:00:48 +03:00
2018-06-23 15:44:38 +03:00
for ( $k = 1 ; $k <= $_GET [ 'count' ]; $k ++ ) {
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 " <b style='color: red'>Вы купили { $count } шт. \" { $dress [ 'name' ] } \" .</b> " ;
$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 ();
2018-06-23 02:00:48 +03:00
$dressid = " cap " . $dressinv [ 'id' ];
$dresscount = " " ;
} else {
$dressid = " " ;
2018-06-23 15:44:38 +03:00
while ( $dressinv = $invdb -> fetch_assoc ()) {
2018-06-23 02:00:48 +03:00
$dressid .= " cap " . $dressinv [ 'id' ] . " , " ;
}
2018-06-23 15:44:38 +03:00
$dresscount = " (x " . $count . " ) " ;
2018-06-23 02:00:48 +03:00
}
2018-06-23 15:44:38 +03:00
$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 ());
2018-06-23 02:00:48 +03:00
}
2018-06-23 15:44:38 +03:00
2018-06-23 02:00:48 +03:00
} else {
2018-06-23 15:44:38 +03:00
echo " <b style='color: red;'>Недостаточно денег или нет вещей в наличии.</b> " ;
2018-01-28 18:40:49 +02:00
}
}
2018-06-23 02:00:48 +03:00
$itemWeight = db :: c () -> query ( 'SELECT sum(`massa`) AS `m` FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `setsale` = 0' , $user [ 'id' ]) -> fetch_assoc ();
2018-01-28 18:40:49 +02:00
2018-06-23 15:44:38 +03:00
$shopItemType = empty ( $_POST [ 'sale' ]) ? : $_POST [ 'sale' ];
$shopItemTypeNumber = empty ( $_GET [ 'otdel' ]) ? : $_GET [ 'otdel' ];
switch ( $shopItemTypeNumber ) {
default :
2018-06-23 15:53:25 +03:00
$shopItemType = " кастеты,ножи " ;
2018-06-23 15:44:38 +03:00
$_GET [ 'otdel' ] = 1 ;
break ;
case 1 :
2018-06-23 15:53:25 +03:00
$shopItemType = " кастеты,ножи " ;
2018-06-23 15:44:38 +03:00
break ;
case 11 :
2018-06-23 15:53:25 +03:00
$shopItemType = " топоры " ;
2018-06-23 15:44:38 +03:00
break ;
case 12 :
2018-06-23 15:53:25 +03:00
$shopItemType = " дубины,булавы " ;
2018-06-23 15:44:38 +03:00
break ;
case 13 :
2018-06-23 15:53:25 +03:00
$shopItemType = " мечи " ;
2018-06-23 15:44:38 +03:00
break ;
case 14 :
2018-06-23 15:53:25 +03:00
$shopItemType = " луки и арбалеты " ;
2018-06-23 15:44:38 +03:00
break ;
case 2 :
2018-06-23 15:53:25 +03:00
$shopItemType = " сапоги " ;
2018-06-23 15:44:38 +03:00
break ;
case 21 :
2018-06-23 15:53:25 +03:00
$shopItemType = " перчатки " ;
2018-06-23 15:44:38 +03:00
break ;
case 22 :
2018-06-23 15:53:25 +03:00
$shopItemType = " легкая броня " ;
2018-06-23 15:44:38 +03:00
break ;
case 23 :
2018-06-23 15:53:25 +03:00
$shopItemType = " тяжелая броня " ;
2018-06-23 15:44:38 +03:00
break ;
case 24 :
2018-06-23 15:53:25 +03:00
$shopItemType = " шлемы " ;
2018-06-23 15:44:38 +03:00
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 ;
}
2018-01-28 18:40:49 +02:00
?>
2018-06-23 02:00:48 +03:00
<!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/mi.js"></script>
<link rel="stylesheet" href="css/bkstyle.css?101"/>
<link rel="stylesheet" href="css/mi.css"/>
<style>
.row {
font-family: Tahoma, sans-serif;
font-size: 13px;
}
</style>
<script>
function addCountItems(name, txt) {
new miDialog({title: 'Купить неск. штук'}, {byu: 1}, function () {
document.location = '/shop.php?' + $.param(this.data);
},
$('<div style="text-align: center;"><b>' + txt + '</b></div>').append(miDialog._oneInput({
name: 'count',
onkeyup: 'return proverka(this);',
onchange: 'return proverka(this);'
}), miDialog._hiddenInput({name: 'set', value: name})), {width: 250});
}
function proverka(input) {
input.value = input.value.replace(/[^\d]/g, '');
}
function leave() {
top.frames['main'].location = 'city.php?cp'
}
</script>
</head>
<body>
<h1>Государственный магазин</h1>
<a href=# onclick=leave()> ← выйти на Центральную площадь</a>
<TABLE border=0 width=100% cellspacing="0" cellpadding="4">
<TR>
<TD valign=top align=left>
<!--Магазин-->
<TABLE border=0 width=100% cellspacing="0" cellpadding="0" bgcolor="#A5A5A5">
<TR>
2018-06-23 15:44:38 +03:00
<TD align=center>
Отдел "<?= $shopItemType ?>"
2018-06-23 02:00:48 +03:00
</TD>
</TR>
<TR>
<TD>
<TABLE BORDER=0 WIDTH=100% CELLSPACING="1" CELLPADDING="2" BGCOLOR="#A5A5A5">
<?php
if ($_REQUEST['sale']) {
2018-06-23 15:44:38 +03:00
// Выбираем всё потому что эту выборку потом использует 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()) {
2018-06-23 02:00:48 +03:00
$row['count'] = 1;
if ($i == 0) {
$i = 1;
$color = '#C7C7C7';
} else {
$i = 0;
$color = '#D5D5D5';
}
2018-06-23 15:44:38 +03:00
2018-06-23 02:00:48 +03:00
$price = $row['cost'] * 1;
if ($data['koll']) {
$price *= $data['koll'];
}
if ($row['type'] == 12) {
$allcost = round($price * (1 - $row['duration'] / $row['maxdur']), 2);
} else {
$allcost = round($price - $row['duration'] * ($row['cost'] / ($row['maxdur'] * 10)), 2);
}
if ($row['goden'] != 0) {
$goden_max = $row['goden'] * 24 * 60;
$goden_left = ($row['dategoden'] - time()) / 60;
$per = $goden_left / $goden_max;
$allcost = round(($allcost * $per), 2);
}
?>
2018-06-23 15:44:38 +03:00
<tr bgcolor="<?= $color ?>">
<td align=center style='width: 150px;'>
<img src="i/sh/<?= $row['img'] ?>" border=0>
<br><a href="shop.php?sellitem=<?= $row['id'] ?>&sid=&sale=1">продать
за <?= $allcost ?></a>
</td>
<td valign=top class="row">
<?php showitem($row); ?>
</td>
</tr>
2018-06-23 02:00:48 +03:00
<?php
}
} else {
2018-06-23 15:44:38 +03:00
$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()) {
2018-06-23 02:00:48 +03:00
if ($i == 0) {
$i = 1;
$color = '#C7C7C7';
} else {
$i = 0;
$color = '#D5D5D5';
}
?>
2018-06-23 15:44:38 +03:00
<tr bgcolor="<?= $color ?>">
<td align=center style='width: 150px;'>
<img src="i/sh/<?= $row['img'] ?>" border=0>
<br>
<a href="shop.php?otdel=<?= $_GET['otdel'] ?>&set=<?= $row['id'] ?>&rnd=<?= mt_rand() ?>">купить</a>
<IMG SRC="i/up.gif" WIDTH=11 HEIGHT=11 BORDER=0 ALT="Купить несколько штук"
style="cursor:hand"
onclick="addCountItems('<?= $row['id'] ?>', '<?= $row['name'] ?>')">
</td>
<td valign=top>
<?= show_shop_items($row['id']) ?>
</td>
</tr>
2018-06-23 02:00:48 +03:00
<?php
}
}
?>
</TABLE>
</TD>
</TR>
</TABLE>
</TD>
<TD valign=top width=280>
<B>Масса всех ваших вещей: <?= $itemWeight['m'] ?>/<?= get_meshok() ?>
<BR>У вас в наличии: <span style="color: #339900;"><?= $user['money'] ?></span> кр.</B>
<hr>
<INPUT TYPE="submit" value="Продать вещи" name="sale"><BR><br/>
<dl>
<dt><b>Оружие:</b></dt>
<dd><a href="shop.php?otdel=1&rnd=<?= mt_rand() ?>">кастеты,ножи</a></dd>
<dd><a href="shop.php?otdel=11&rnd=<?= mt_rand() ?>">топоры</a></dd>
<dd><a href="shop.php?otdel=12&rnd=<?= mt_rand() ?>">дубины,булавы</a></dd>
<dd><a href="shop.php?otdel=13&rnd=<?= mt_rand() ?>">мечи</a></dd>
<dt><b>Одежда:</b></dt>
<dd><a href="shop.php?otdel=24&rnd=<?= mt_rand() ?>">шлемы</a></dd>
<dd><a href="shop.php?otdel=23&rnd=<?= mt_rand() ?>">тяжелая броня</a></dd>
<dd><a href="shop.php?otdel=22&rnd=<?= mt_rand() ?>">легкая броня</a></dd>
<dd><a href="shop.php?otdel=3&rnd=<?= mt_rand() ?>">щиты</a></dd>
<dd><a href="shop.php?otdel=21&rnd=<?= mt_rand() ?>">перчатки</a></dd>
<dd><a href="shop.php?otdel=2&rnd=<?= mt_rand() ?>">сапоги</a></dd>
<dt><b>Ювелирные товары:</b></dt>
<dd><a href="shop.php?otdel=4&rnd=<?= mt_rand() ?>">серьги</a></dd>
<dd><a href="shop.php?otdel=41&rnd=<?= mt_rand() ?>">ожерелья</a></dd>
<dd><a href="shop.php?otdel=42&rnd=<?= mt_rand() ?>">кольца</a></dd>
<dt><b>Магия:</b></dt>
<dd><a href="shop.php?otdel=51&rnd=<?= mt_rand() ?>">боевые</a></dd>
<dd><a href="shop.php?otdel=5&rnd=<?= mt_rand() ?>">разные</a></dd>
<dt><b>Разное:</b></dt>
<dd><a href="shop.php?otdel=6&rnd=<?= mt_rand() ?>">амуниция</a></dd>
</dl>
<div id="hint3" class="ahint"></div>
</TD>
</TR>
2018-01-28 18:40:49 +02:00
</TABLE>
</BODY>
</HTML>