2018-01-28 16:40:49 +00:00
< ? php
ob_start ();
session_start ();
2018-06-22 23:00:48 +00:00
if ( ! isset ( $_SESSION [ 'uid' ])) {
header ( " Location: index.php " );
}
2018-01-28 16:40:49 +00:00
include ( " config.php " );
include ( " functions.php " );
2018-06-22 23:00:48 +00:00
if ( $user [ 'room' ] != 22 ) {
header ( " Location: main.php " );
die ();
2018-01-28 16:40:49 +00:00
}
2018-06-22 23:00:48 +00:00
if ( $user [ 'battle' ] != 0 ) {
header ( 'location: fbattle.php' );
die ();
2018-01-28 16:40:49 +00:00
}
2018-06-23 12:44:38 +00:00
$sellItemId = empty ( $_GET [ 'sellitem' ]) ? : $_GET [ 'sellitem' ];
2018-01-28 16:40:49 +00:00
2018-06-23 12:44:38 +00:00
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 ();
2018-06-22 23:00:48 +00:00
$price = $dress [ 'cost' ] * 1 ;
$kols = '' ;
if ( $dress [ 'koll' ]) {
2018-06-23 10:21:25 +00:00
$price *= $dress [ 'koll' ];
2018-06-22 23:00:48 +00:00
$kols = '(x' . $dress [ 'koll' ] . ')' ;
2018-01-28 16:40:49 +00:00
}
2018-06-22 23:00:48 +00: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 16:40:49 +00:00
}
2018-06-22 23:00:48 +00: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 12:44:38 +00: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 16:40:49 +00:00
}
2018-06-23 12:44:38 +00:00
if ( isset ( $_GET [ 'set' ]) OR isset ( $_POST [ 'set' ])) {
$set = empty ( $_GET [ 'set' ]) ? : $_GET [ 'set' ];
$set = empty ( $_POST [ 'set' ]) ? : $_POST [ 'set' ];
2018-01-28 16:40:49 +00:00
2018-06-23 12:44:38 +00: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-22 23:00:48 +00:00
$count_ok = 0 ;
2018-06-23 12:44:38 +00:00
} else $count_ok = 1 ;
2018-06-23 12:53:25 +00:00
$dress = db :: c () -> query ( 'SELECT * FROM `shop` WHERE `id`=?i' , $set ) -> fetch_assoc ();
2018-06-23 16:22:20 +00: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-22 23:00:48 +00:00
if ( $count_ok == 0 ) {
2018-06-23 12:44:38 +00: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-22 23:00:48 +00:00
2018-06-23 12:44:38 +00: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-22 23:00:48 +00:00
2018-06-23 12:44:38 +00: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-22 23:00:48 +00:00
$dressid = " cap " . $dressinv [ 'id' ];
$dresscount = " " ;
} else {
$dressid = " " ;
2018-06-23 12:44:38 +00:00
while ( $dressinv = $invdb -> fetch_assoc ()) {
2018-06-22 23:00:48 +00:00
$dressid .= " cap " . $dressinv [ 'id' ] . " , " ;
}
2018-06-23 12:44:38 +00:00
$dresscount = " (x " . $count . " ) " ;
2018-06-22 23:00:48 +00:00
}
2018-06-23 12:44:38 +00: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-22 23:00:48 +00:00
}
2018-06-23 12:44:38 +00:00
2018-06-22 23:00:48 +00:00
} else {
2018-06-23 12:44:38 +00:00
echo " <b style='color: red;'>Недостаточно денег или нет вещей в наличии.</b> " ;
2018-01-28 16:40:49 +00:00
}
}
2018-06-22 23:00:48 +00: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 16:40:49 +00:00
2018-06-23 12:44:38 +00:00
$shopItemType = empty ( $_POST [ 'sale' ]) ? : $_POST [ 'sale' ];
$shopItemTypeNumber = empty ( $_GET [ 'otdel' ]) ? : $_GET [ 'otdel' ];
switch ( $shopItemTypeNumber ) {
default :
2018-06-23 12:53:25 +00:00
$shopItemType = " кастеты,ножи " ;
2018-06-23 12:44:38 +00:00
$_GET [ 'otdel' ] = 1 ;
break ;
case 1 :
2018-06-23 12:53:25 +00:00
$shopItemType = " кастеты,ножи " ;
2018-06-23 12:44:38 +00:00
break ;
case 11 :
2018-06-23 12:53:25 +00:00
$shopItemType = " топоры " ;
2018-06-23 12:44:38 +00:00
break ;
case 12 :
2018-06-23 12:53:25 +00:00
$shopItemType = " дубины,булавы " ;
2018-06-23 12:44:38 +00:00
break ;
case 13 :
2018-06-23 12:53:25 +00:00
$shopItemType = " мечи " ;
2018-06-23 12:44:38 +00:00
break ;
case 14 :
2018-06-23 12:53:25 +00:00
$shopItemType = " луки и арбалеты " ;
2018-06-23 12:44:38 +00:00
break ;
case 2 :
2018-06-23 12:53:25 +00:00
$shopItemType = " сапоги " ;
2018-06-23 12:44:38 +00:00
break ;
case 21 :
2018-06-23 12:53:25 +00:00
$shopItemType = " перчатки " ;
2018-06-23 12:44:38 +00:00
break ;
case 22 :
2018-06-23 12:53:25 +00:00
$shopItemType = " легкая броня " ;
2018-06-23 12:44:38 +00:00
break ;
case 23 :
2018-06-23 12:53:25 +00:00
$shopItemType = " тяжелая броня " ;
2018-06-23 12:44:38 +00:00
break ;
case 24 :
2018-06-23 12:53:25 +00:00
$shopItemType = " шлемы " ;
2018-06-23 12:44:38 +00: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 16:40:49 +00:00
?>
2018-06-22 23:00:48 +00: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 : 13 px ;
}
</ 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 12:44:38 +00:00
< TD align = center >
Отдел " <?= $shopItemType ?> "
2018-06-22 23:00:48 +00:00
</ TD >
</ TR >
< TR >
< TD >
< TABLE BORDER = 0 WIDTH = 100 % CELLSPACING = " 1 " CELLPADDING = " 2 " BGCOLOR = " #A5A5A5 " >
< ? php
if ( $_REQUEST [ 'sale' ]) {
2018-06-23 12:44:38 +00: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-22 23:00:48 +00:00
$row [ 'count' ] = 1 ;
if ( $i == 0 ) {
$i = 1 ;
$color = '#C7C7C7' ;
} else {
$i = 0 ;
$color = '#D5D5D5' ;
}
2018-06-23 12:44:38 +00:00
2018-06-22 23:00:48 +00: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 12:44:38 +00: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-22 23:00:48 +00:00
< ? php
}
} else {
2018-06-23 12:44:38 +00: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-22 23:00:48 +00:00
if ( $i == 0 ) {
$i = 1 ;
$color = '#C7C7C7' ;
} else {
$i = 0 ;
$color = '#D5D5D5' ;
}
?>
2018-06-23 12:44:38 +00: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-22 23:00:48 +00: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 16:40:49 +00:00
</ TABLE >
</ BODY >
</ HTML >