Делаем подарки

This commit is contained in:
Igor Barkov [iwork] 2019-01-28 14:29:34 +02:00
parent 5e27b18dd2
commit 63cc7ee533
4 changed files with 1177 additions and 1126 deletions

2147
fshop.php

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
i/presents/giftbox.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -25,71 +25,82 @@ require_once 'functions.php';
<meta charset="utf-8">
<link href="css/main.css" rel="stylesheet"/>
<script src="js/main.js"></script>
<style>
label.present > input{ /* HIDE RADIO */
visibility: hidden; /* Makes input not-clickable */
position: absolute; /* Remove input from document flow */
}
label.present > input + img{ /* IMAGE STYLES */
cursor:pointer;
border:2px solid transparent;
}
label.present > input:checked + img{ /* (RADIO CHECKED) IMAGE STYLES */
border:2px solid #f00;
}
</style>
</head>
<body>
<h1>Магазин подарков</h1>
<?php
if ($_REQUEST['present']) {
if ($_POST['to_login'] && $_POST['flower']) {
if (!empty($_POST['present'])) {
if (empty($_POST['to_login'])) return 'Получатель не указан!';
if ($_POST['to_login'] == $user['login']) return 'Очень щедро - дарить что-то самому себе! ;)';
if ($_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'];
} else {
$from = $user['login'];
}
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());
if ($_POST['from'] == 1) $from = 'Аноним';
elseif ($_POST['from'] == 2 && $user['klan']) $from = ' клана ' . $user['klan'];
else $from = $user['login'];
$telegraphText = "Вам пришёл подарок \"" . $res['name'] . "\" от " . $from . "!";
db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $to['id'], $telegraphText)->fetch_assoc();
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();
$deloText = "{$user['login']} купил подарок «%PodarokName%» за %PodarokCost% кр. и подарил его персонажу {$_POST['to_login']}";
addToDelo($deloText);
$telegraphText = "Вам пришёл подарок \"" . $res['name'] . "\" от " . $from . "!";
db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $to['id'], $telegraphText)->fetch_assoc();
err('Подарок удачно доставлен к ' . $_POST['to_login']);
err('Подарок удачно доставлен к ' . $_POST['to_login']);
}
}
}
?>
<!-- Подарить подарок -->
<div>
<?php
$dirname = "i/presents/";
$images = glob($dirname."*.png");
foreach($images as $image): ?>
<label class="present">
<input type="radio" name="present" value="<?= $image ?>">
<img src="<?= $image ?>" alt=""><br />
</label>
<?php endforeach; ?>
</div>
<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="">
<table class="zebra" width=100% cellspacing="1" cellpadding="2"
bgcolor="#A5A5A5">
<?php
$data = db::c()->query('SELECT `id`,`img` FROM `inventory` WHERE `owner`= ?i
<tr>
<td>
<form method="post">
<input type=hidden name=present value=1>
Вы можете сделать подарок любому персонажу. Ваш подарок будет
отображаться в информации о персонаже.
<p>
<input name=to_login placeholder="Имя получателя"><br>
<textarea name=podarok2 rows=6 cols=80
placeholder="Текст сопроводительной записки (в информации о персонаже не отображается)"></textarea><br>
Выберите, от чьего имени подарок:<br>
<label><input type=radio name=from value=0 checked> <?= $user['login'] ?></label><br>
<label><input type=radio name=from value=1> анонимно</label><br>
<label><input type=radio name=from value=2> от имени клана</label><br>
<button>Подарить</button>
</p>
<input type="hidden" name="flower" id="flower" value="">
<table class="zebra" width=100% cellspacing="1" cellpadding="2"
bgcolor="#A5A5A5">
<?php
$data = db::c()->query('SELECT `id`,`img` FROM `inventory` WHERE `owner`= ?i
AND `dressed` = 0
AND (
`name` LIKE "?S" OR `name` LIKE "?S" OR `name` LIKE "?S" OR `name` LIKE "?S" OR `name` LIKE "?S" OR
@ -97,29 +108,28 @@ if ($_REQUEST['present']) {
)
AND `setsale` = 0 AND `present` = "?s"
ORDER BY `id` DESC', $_SESSION['uid'], '%Букет%', '%Сувенир%', '%Подарок%', '%Валентинка%', '%Открытка%', 'Ель%', '%Медаль%', '%Статуэтка%', null);
while ($row = $data->fetch_assoc()) {
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
while ($row = $data->fetch_assoc()) {
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
}
}
}
?>
</form>
</td>
?>
</form>
</td>
</tr>
</table>
</body>
</html>