2018-01-28 18:40:49 +02:00
< ? php
session_start ();
if ( $_SESSION [ 'uid' ] == null ) header ( " Location: index.php " );
include " config.php " ;
include " functions.php " ;
2018-06-22 17:52:29 +03:00
if ( $user [ 'room' ] != 50 ) {
header ( " Location: main.php " );
die ();
}
$itemWeight = db :: c () -> query ( 'SELECT sum(`massa`) AS `m` FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `setsale` = 0' , $user [ 'id' ]) -> fetch_assoc ();
if ( $user [ 'battle' ] != 0 ) {
header ( 'location: fbattle.php' );
die ();
}
2018-01-28 18:40:49 +02:00
2018-06-22 19:46:48 +03:00
$bank = db :: c () -> query ( 'SELECT `ekr` FROM `bank` WHERE `id`=?i' , $_SESSION [ 'uid' ]) -> fetch_assoc ();
2018-01-28 18:40:49 +02:00
2018-06-22 23:43:23 +03:00
if ( isset ( $_GET [ 'set' ]) OR isset ( $_POST [ 'set' ])) {
2018-06-22 22:33:11 +03:00
$set = empty ( $_GET [ 'set' ]) ? : $_GET [ 'set' ];
$set = empty ( $_POST [ 'set' ]) ? : $_POST [ 'set' ];
$count = isset ( $_POST [ 'count' ]) && is_numeric ( $_POST [ 'count' ]) ? $_POST [ 'count' ] : 0 ;
if ( $count < 1 ) {
$count = 0 ;
2018-06-22 17:52:29 +03:00
$count_ok = 0 ;
} else $count_ok = 1 ;
2018-01-28 18:40:49 +02:00
2018-06-22 19:46:48 +03:00
$dress = db :: c () -> query ( 'SELECT * FROM `ashop` WHERE `id`=?i' , $set ) -> fetch_assoc ();
2018-06-22 17:52:29 +03:00
if ( $count_ok == 0 ) {
2018-06-22 20:22:16 +03:00
err ( 'Неправильно введено количество.' );
2018-06-22 17:52:29 +03:00
} elseif (( $dress [ 'massa' ] * $_POST [ 'count' ] + $itemWeight [ 'm' ]) > ( get_meshok ())) {
2018-06-22 20:22:16 +03:00
err ( 'Недостаточно места в рюкзаке.' );
2018-06-22 17:52:29 +03:00
} elseif ( $count_ok == 1 && ( $bank [ 'ekr' ] >= ( $dress [ 'ecost' ] * $_POST [ 'count' ])) && ( $dress [ 'count' ] >= $_POST [ 'count' ])) {
for ( $k = 1 ; $k <= $_POST [ 'count' ]; $k ++ ) {
2018-06-22 23:43:23 +03:00
$goden = '' ;
2018-06-22 19:46:48 +03:00
if ( isset ( $dress [ 'goden' ])) $goden = $dress [ 'goden' ] * 24 * 60 * 60 + time (); // Ну вот нахуя?
db :: c () -> 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`,
`artefact`, `koll`
)
VALUES (?i,?i,"?s",?i,?i,"?s","?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)
' , $dress [ 'id' ], $_SESSION [ 'uid' ], $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 [ 'bron3' ], $dress [ 'bron2' ], $dress [ 'bron4' ], $dress [ 'maxu' ], $dress [ 'minu' ], $dress [ 'magic' ],
$dress [ 'nlevel' ], $dress [ 'nalign' ], $goden , $dress [ 'goden' ], $dress [ 'razdel' ], $dress [ 'artefact' ], $dress [ 'koll' ]);
db :: c () -> query ( 'UPDATE `ashop` SET `count` = `count`- ?i WHERE `id` = ?i' , $_POST [ 'count' ], $set );
2018-06-22 23:43:23 +03:00
$invdb = db :: c () -> query ( 'SELECT `id` FROM `inventory` WHERE `name` = "?s" ORDER BY `id` DESC LIMIT ?i' , $dress [ 'name' ], $_POST [ 'count' ]);
2018-06-22 19:46:48 +03:00
if ( $_POST [ 'count' ] == 1 ) {
$dressinv = $invdb -> fetch_assoc ();
2018-06-22 17:52:29 +03:00
$dressid = " cap " . $dressinv [ 'id' ];
$dresscount = " " ;
} else {
$dressid = " " ;
2018-06-22 19:46:48 +03:00
while ( $dressinv = $invdb -> fetch_assoc ()) {
2018-06-22 17:52:29 +03:00
$dressid .= " cap " . $dressinv [ 'id' ] . " , " ;
}
$dresscount = " (x " . $_POST [ 'count' ] . " ) " ;
}
$allcost = $_POST [ 'count' ] * $dress [ 'ecost' ];
2018-06-22 19:46:48 +03:00
$deloText = $user [ 'login' ] . " купил товар: " . $dress [ 'name' ] . $dresscount . " id:( " . $dressid . " ) [0/ " . $dress [ 'maxdur' ] . " ] за " . $allcost . " екр. " ;
db :: c () -> query ( 'INSERT INTO `delo` (`author` ,`pers`, `text`, `type`, `date`) VALUES (?i, ?i, "?s", ?i, "?s")' , 0 , $user [ 'id' ], $deloText , 1 , time ());
2018-06-22 23:43:23 +03:00
err ( 'Вы купили ' . $_POST [ 'count' ] . ' шт. "' . $dress [ 'name' ] . '.' );
db :: c () -> query ( 'UPDATE `bank` SET `ekr` = `ekr` - ?i WHERE `id` = ?i' , $allcost , $_SESSION [ 'uid' ]);
2018-06-22 17:52:29 +03:00
$bank [ 'ekr' ] -= $allcost ;
2018-01-28 18:40:49 +02:00
}
2018-06-22 17:52:29 +03:00
} else {
2018-06-22 20:22:16 +03:00
err ( 'Недостаточно денег или нет вещей в наличии.' );
2018-01-28 18:40:49 +02:00
}
}
2018-06-23 20:41:37 +03:00
$shopCategory = '' ;
if ( $_REQUEST [ 'compare' ] && ! $_REQUEST [ 'common' ] && ! $_REQUEST [ 'present' ]) {
$shopCategory = " Составление подарочного букета " ;
} else {
switch ( $_GET [ 'otdel' ]) {
default :
$shopCategory = " Кастеты и ножи " ;
$_GET [ 'otdel' ] = 1 ;
break ;
case 1 :
$shopCategory = " Кастеты и ножи " ;
break ;
case 11 :
$shopCategory = " Топоры " ;
break ;
case 12 :
$shopCategory = " Дубины и булавы " ;
break ;
case 13 :
$shopCategory = " Мечи " ;
break ;
case 14 :
$shopCategory = " Луки и арбалеты " ;
break ;
case 2 :
$shopCategory = " Сапоги " ;
break ;
case 21 :
$shopCategory = " Перчатки " ;
break ;
case 22 :
$shopCategory = " Легкая броня " ;
break ;
case 23 :
$shopCategory = " Тяжелая броня " ;
break ;
case 24 :
$shopCategory = " Шлемы " ;
break ;
case 3 :
$shopCategory = " Щиты " ;
break ;
case 4 :
$shopCategory = " Серьги " ;
break ;
case 41 :
$shopCategory = " Ожерелья " ;
break ;
case 42 :
$shopCategory = " Кольца " ;
break ;
case 5 :
$shopCategory = " Заклинания: нейтральные " ;
break ;
case 51 :
$shopCategory = " Заклинания: боевые и защитные " ;
break ;
case 6 :
$shopCategory = " Амуниция " ;
break ;
case 7 :
$shopCategory = " Букеты " ;
break ;
}
}
2018-01-28 18:40:49 +02:00
?>
2018-06-22 20:22:16 +03:00
<!DOCTYPE html>
2018-06-22 17:52:29 +03:00
<html>
<head>
2018-06-22 20:22:16 +03:00
<meta charset="utf-8">
<link href="css/main.css" rel="stylesheet"/>
2018-06-22 17:52:29 +03:00
<script language="JavaScript">
function AddCount(name, txt) {
2018-06-22 20:22:16 +03:00
document.all("hint3").innerHTML = '<form method=post style="margin:0; padding:0;"><table border=0 width=100% cellspacing=1 cellpadding=0 bgcolor="#CCC3AA"><tr><td align=center><B>Купить неск. штук</td><td width=20 align=right valign=top style="cursor: hand" onclick="closehint3();"><b>x</td></tr><tr><td colspan=2>' +
2018-06-22 17:52:29 +03:00
'<table border=0 width=100% cellspacing=0 cellpadding=0 bgcolor="#FFF6DD"><tr><input type="hidden" name="set" value="' + name + '"><td colspan=2 align=center><b><i>' + txt + '</td></tr><tr><td width=80% align=right>' +
'Количество (шт.) <input type="text" name="count" size=4 ></td><td width=20%> <input type="submit" value=" »» ">' +
'</td></tr></table></td></tr></table></form>';
document.all("hint3").style.visibility = "visible";
document.all("hint3").style.left = 100;
document.all("hint3").style.top = 100;
document.all("count").focus();
}
2018-01-28 18:40:49 +02:00
2018-06-22 17:52:29 +03:00
// Закрывает окно
function closehint3() {
document.all("hint3").style.visibility = "hidden";
}
2018-06-22 22:51:00 +03:00
function leave() {
top.frames['main'].location = 'city.php?cp'
}
2018-06-22 17:52:29 +03:00
</script>
2018-01-28 18:40:49 +02:00
</head>
2018-06-22 20:22:16 +03:00
<body>
<h1>Магазин Берёзка</h1>
2018-06-22 22:51:00 +03:00
<a href=# onclick=leave()> ← выйти на Центральную площадь</a>
2018-01-28 18:40:49 +02:00
<table border=0 width=100% cellspacing="0" cellpadding="4">
2018-06-22 17:52:29 +03:00
<tr>
2018-06-22 23:43:23 +03:00
<td valign=top align=left>
<!--Магазин-->
<table border=0 width=100% cellspacing="0" cellpadding="0">
<tr>
2018-06-23 20:41:37 +03:00
<td>
<h3><?=$shopCategory?></h3>
2018-06-22 23:43:23 +03:00
</td>
</tr>
<tr>
<td><!--Рюкзак-->
<table border=0 width=100% cellspacing="1" cellpadding="2" bgcolor="#A5A5A5">
<?php
if ($_REQUEST['present']) {
if ($_POST['to_login'] && $_POST['flower']) {
$to = db::c()->query('SELECT `id`,`login`,`room` FROM `users` WHERE `login` = ?i', $_POST['to_login'])->fetch_assoc();
if ($_POST['to_login'] == $user['login']) {
err('Очень щедро - дарить что-то самому себе! ;)');
} elseif ($to['room'] > 500 && $to['room'] < 561) {
err('Персонаж в данный момент участвует в турнире в Башне Смерти. Попробуйте позже.');
} else {
if ($_POST['from'] == 1) {
$from = 'Аноним';
} elseif ($_POST['from'] == 2 && $user['klan']) {
$from = ' клана ' . $user['klan'];
2018-06-22 17:52:29 +03:00
} else {
2018-06-22 23:43:23 +03:00
$from = $user['login'];
}
2018-06-22 19:46:48 +03:00
2018-06-22 23:43:23 +03:00
db::c()->query('UPDATE `inventory` SET `owner` = ?i, `present` = "?s", `letter` = "?s" WHERE `present` = "?s" AND `id` = "?s" AND `owner` = ?i AND `dressed` = 0 AND `setsale` = 0', $to['id'], $from, $_POST['podarok2'], null, $_POST['flower'], $_SESSION['uid']);
$res = db::c()->query('SELECT `id`,`name`,`duration`,`maxdur` FROM `inventory` WHERE `id` = ?i', $_POST['flower'])->fetch_assoc();
$deloTextSender = "Подарен предмет \"" . $res['name'] . "\" id:(cap" . $res['id'] . ") [" . $res['duration'] . "/" . $res['maxdur'] . "] от \"" . $user['login'] . "\" к \"" . $to['login'] . "\"";
$deloTextReceiver = "Подарен предмет \"" . $res['name'] . "\" id:(cap" . $res['id'] . ") [" . $res['duration'] . "/" . $res['maxdur'] . "] от \"" . $user['login'] . "\" к \"" . $to['login'] . "\"";
db::c()->query('INSERT INTO `delo`(`author`,`pers`,`text`,`type`,`date`) VALUES (0,?i,"?s",1,?i)', $_SESSION['uid'], $deloTextSender, time());
db::c()->query('INSERT INTO `delo`(`author`,`pers`,`text`,`type`,`date`) VALUES (0,?i,"?s",1,?i)', $to['id'], $deloTextReceiver, time());
2018-06-22 19:46:48 +03:00
2018-06-22 23:43:23 +03:00
$telegraphText = "Вам пришёл подарок \"" . $res['name'] . "\" от " . $from . "!";
2018-06-23 23:14:33 +03:00
db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $to['id'], $telegraphText)->fetch_assoc();
2018-06-22 19:46:48 +03:00
2018-06-22 23:43:23 +03:00
err('Подарок удачно доставлен к ' . $_POST['to_login']);
2018-06-22 17:52:29 +03:00
}
2018-06-22 23:43:23 +03:00
}
?>
<!-- Подарить подарок -->
<table cellspacing=0 cellpadding=0 width=100% bgcolor=#e0e0e2>
<td>
<form method="post">
<input type=hidden name=present value=1>
Вы можете сделать подарок дорогому человеку. Ваш подарок будет
отображаться в информации о персонаже.
<ol>
<li>Укажите логин персонажа, которому хотите сделать подарок<br>
<input type=text name=to_login value="" placeholder="Логин">
<li><input type=text name=podarok2 value="" maxlength=60 size=50
placeholder="Цель подарка.">
<li><textarea name=txt rows=6 cols=80
placeholder="Текст сопроводительной записки (в информации о персонаже не отображается)"></textarea>
<li>Выберите, от чьего имени подарок:<br>
<label><input type=radio name=from value=0
checked> <?= nick::id($user['id'])->full() ?>
</label><br>
<label><input type=radio name=from value=1> анонимно</label><br>
<label><input type=radio name=from value=2> от имени
клана</label><br>
<li>Нажмите кнопку <b>Подарить</b> под предметом, который хотите
преподнести в подарок:<br>
</ol>
<input type="hidden" name="flower" id="flower" value="">
2018-06-23 20:41:37 +03:00
<table class="zebra" width=100% cellspacing="1" cellpadding="2"
2018-06-22 23:43:23 +03:00
bgcolor="#A5A5A5">
2018-06-23 20:41:37 +03:00
<?php
2018-06-22 23:43:23 +03:00
$data = db::c()->query('SELECT `id`,`img` FROM `inventory` WHERE `owner`= ?i
2018-06-22 19:46:48 +03:00
AND `dressed` = 0
AND (
`name` LIKE "?S" OR `name` LIKE "?S" OR `name` LIKE "?S" OR `name` LIKE "?S" OR `name` LIKE "?S" OR
`name` LIKE "?S" OR `name` LIKE "?S" OR `name` LIKE "?S"
)
AND `setsale` = 0 AND `present` = "?s"
2018-06-22 23:43:23 +03:00
ORDER BY `id` DESC', $_SESSION['uid'], '%Букет%', '%Сувенир%', '%Подарок%', '%Валентинка%', '%Открытка%', 'Ель%', '%Медаль%', '%Статуэтка%', null);
while ($row = $data->fetch_assoc()) {
2018-06-23 20:41:37 +03:00
if (!in_array($row['id'], array_keys($_SESSION['flowers']))) {
$row['count'] = 1;
?>
<tr>
<td align=center style='width:150px'>
<img src="i/sh/<?= $row['img'] ?>">
<br><input type=submit
onClick="document.all['flower'].value="<?= $row['id']; ?>
value="Подарить">
</td>
<td valign=top>
<?php showitem($row); ?>
</td>
</tr>
<?php
}
2018-06-22 23:43:23 +03:00
}
?>
</form>
</td>
</table>
<?
} else {
$data = db::c()->query('SELECT `id`,`img`,`name` FROM `ashop` WHERE `count` > 0 AND `razdel` = "?s" AND `ecost` > 0 ORDER BY `ecost` ASC', $_GET['otdel']);
while ($row = $data->fetch_assoc()) {
?>
2018-06-23 20:41:37 +03:00
<tr>
<td align=center style='width:150px'><img src="i/sh/<?= $row['img'] ?>"
border=0>
<br/>
<a href="ashop.php?otdel=<?= $_GET['otdel'] ?>&set=<?= $row['id'] ?>&sid=">купить</A>
<img src="i/up.gif" width=11 height=11 border=0 alt="Купить несколько штук"
style="cursor:hand"
onClick="AddCount("<?= $row['id'] ?>", "<?= $row['name'] ?>")">
</td>
<td valign=top>
<?php showitem($row); ?>
</td>
</tr>
<?php
2018-06-22 17:52:29 +03:00
}
2018-06-22 23:43:23 +03:00
}
?>
</table>
</td>
</tr>
</table>
</td>
<td valign=top width=280>
<b>Масса всех ваших вещей: <?= $itemWeight['m'] ?>/<?= get_meshok() ?>
<br>У вас в наличии: <span style="color: #339900;"><?= $bank['ekr'] ?></span> екр.</b>
2018-06-23 20:41:37 +03:00
<hr/>
<a href=upgrade_items.php>Улучшение Артефактов</a>
2018-06-22 23:43:23 +03:00
<hr>
<div style="background-color: #d2d0d0;padding: 1px; text-align: center; font-weight: bold;">
Отделы магазина
</div>
<dl>
<dt><b>Оружие:</b></dt>
<dd><a href="ashop.php?otdel=1&rnd=<?= mt_rand() ?>">кастеты,ножи</a></dd>
<dd><a href="ashop.php?otdel=11&rnd=<?= mt_rand() ?>">топоры</a></dd>
<dd><a href="ashop.php?otdel=12&rnd=<?= mt_rand() ?>">дубины,булавы</a></dd>
<dd><a href="ashop.php?otdel=13&rnd=<?= mt_rand() ?>">мечи</a></dd>
<dt><b>Одежда:</b></dt>
<dd><a href="ashop.php?otdel=24&rnd=<?= mt_rand() ?>">шлемы</a></dd>
<dd><a href="ashop.php?otdel=23&rnd=<?= mt_rand() ?>">тяжелая броня</a></dd>
<dd><a href="ashop.php?otdel=22&rnd=<?= mt_rand() ?>">легкая броня</a></dd>
<dd><a href="ashop.php?otdel=3&rnd=<?= mt_rand() ?>">щиты</a></dd>
<dd><a href="ashop.php?otdel=21&rnd=<?= mt_rand() ?>">перчатки</a></dd>
<dd><a href="ashop.php?otdel=2&rnd=<?= mt_rand() ?>">сапоги</a></dd>
<dt><b>Ювелирные товары:</b></dt>
<dd><a href="ashop.php?otdel=4&rnd=<?= mt_rand() ?>">серьги</a></dd>
<dd><a href="ashop.php?otdel=41&rnd=<?= mt_rand() ?>">ожерелья</a></dd>
2018-06-22 23:47:02 +03:00
<dd><a href="ashop.php?otdel=42&rnd=<?= mt_rand() ?>">кольца</a></dd>
2018-06-22 23:43:23 +03:00
<dt><b>Магия:</b></dt>
<dd><a href="ashop.php?otdel=51&rnd=<?= mt_rand() ?>">боевые</a></dd>
<dd><a href="ashop.php?otdel=5&rnd=<?= mt_rand() ?>">разные</a></dd>
<dt><b>Разное:</b></dt>
<dd><a href="ashop.php?otdel=6&rnd=<?= mt_rand() ?>">амуниция</a></dd>
<dd><a href="ashop.php?otdel=7rnd=<?= mt_rand() ?>">букеты</a></dd>
</dl>
<div id="hint3" class="ahint"></div>
2018-06-22 17:52:29 +03:00
</td>
</tr>
2018-01-28 18:40:49 +02:00
</table>
</body>
</html>