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

This commit is contained in:
Igor Barkov [iwork] 2019-01-28 16:53:11 +02:00
parent ef0c5bf966
commit 4370e6770a
2 changed files with 59 additions and 39 deletions

28
inf.php
View File

@ -10,6 +10,7 @@ $user = db::c()->query('SELECT `id`,`login`,`married`,`win`,borndate,`align`,`ad
$own = db::c()->query('SELECT `align`,`admin` FROM `users` WHERE `id` = "?s"', $uid)->fetch_assoc(); $own = db::c()->query('SELECT `align`,`admin` FROM `users` WHERE `id` = "?s"', $uid)->fetch_assoc();
$presents = db::c()->query('SELECT `img`,`present` FROM `inventory` WHERE type = 200 AND `present`<>"?s" AND `owner` = ?i', '', $user['id']); $presents = db::c()->query('SELECT `img`,`present` FROM `inventory` WHERE type = 200 AND `present`<>"?s" AND `owner` = ?i', '', $user['id']);
$presents_new = db::c()->query('SELECT img, sender FROM `users_presents` WHERE owner = ?i',$user['id']);
if (empty($user['id'])): ?> if (empty($user['id'])): ?>
<html> <html>
@ -55,28 +56,39 @@ if (!empty($user['realname'])) echo "Имя: " . $user['realname'] . "<br>";
?> ?>
<p style="font-family: Consolas,monospace;"><?= nl2br($user['info']) ?></p> <p style="font-family: Consolas,monospace;"><?= nl2br($user['info']) ?></p>
<hr> <hr>
<div id="Content"> <?php if ($presents->getNumRows()): ?>
<div> <div>
<legend>Подарки</legend> <legend>Подарки</legend>
<?php <?php
if ($presents->getNumRows())
while ($row = $presents->fetch_assoc()) while ($row = $presents->fetch_assoc())
echo "<img src=i/sh/{$row['img']} class='tooltip' title='Подарок от {$row['present']}'>"; echo "<img src=i/sh/{$row['img']} class='tooltip' title='Подарок от {$row['present']}'>";
?> ?>
</div> </div>
<?php endif; ?>
<?php if ($presents_new->getNumRows()): ?>
<div>
<legend>Подарки+</legend>
<?php
while ($row = $presents_new->fetch_assoc())
if (empty($row['sender'])) $sender = 'Анонимный подарок';
else $sender = 'Подарок от ' . $row['sender'];
echo "<img src=i/presents/{$row['img']} class='tooltip' title='Подарок от {$sender}'>";
?>
</div>
<?php endif; ?>
<?php if (!empty($user['prof1']) OR !empty($user['prof2'])): ?>
<div> <div>
<legend>Лицензии</legend> <legend>Лицензии</legend>
<?php <?php
if ($user['prof2'] == 21) echo ' <img src="i/prof21.png" class="tooltip" title="<b>Лицензия наемника</b>" /> '; if ($user['prof2'] == 21) echo ' <img src="i/prof21.png" class="tooltip" title="Лицензия наемника"> ';
if ($user['prof2'] == 22) echo ' <img src="i/prof22.png" class="tooltip" title="<b>Лицензия лекаря</b>" /> '; if ($user['prof2'] == 22) echo ' <img src="i/prof22.png" class="tooltip" title="Лицензия лекаря"> ';
if ($user['prof1'] == 1) echo ' <img src="i/prof1.png" class="tooltip" title="<b>Лицензия кузнеца</b>" /> '; if ($user['prof1'] == 1) echo ' <img src="i/prof1.png" class="tooltip" title="Лицензия кузнеца"> ';
if ($user['prof1'] == 2) echo ' <img src="i/prof1.png" class="tooltip" title="<b>Лицензия наставника</b>" /> ';
?> ?>
</div> </div>
</div> <?php endif; ?>
<?php <?php
# Секретыный раздел # Секретный раздел
$showModeratorInfo = false; $showModeratorInfo = false;
# Если я любой паладин, и смотрю не админа, или я сам админ. # Если я любой паладин, и смотрю не админа, или я сам админ.

View File

@ -16,33 +16,40 @@
session_start(); session_start();
if ($_SESSION['uid'] != 11263) header("Location: index.php"); if ($_SESSION['uid'] != 11263) header("Location: index.php");
require_once 'functions.php'; #require_once 'functions.php';
$user = db::c()->query('SELECT `login`, `name` AS `ClanName`, u.`money`
FROM `users` u
LEFT JOIN `clans` c ON c.`id` = `klan`
WHERE u.`id` = ?i', $_SESSION['uid'])->fetch_assoc();
$dirname = "i/presents/"; $dirname = "i/presents/";
$images = glob($dirname . "*.png"); $images = glob($dirname . "*.png");
if (!empty($_POST['present'])) { if (!empty($_POST['present'])) {
if (empty($_POST['to_login'])) return 'Получатель не указан!'; if (empty($_POST['receiver'])) {
if ($_POST['to_login'] == $user['login']) return 'Очень щедро - дарить что-то самому себе! ;)'; $status = 'Получатель не указан!';
if ($_POST['flower']) { return;
$to = db::c()->query('SELECT `id`,`login`,`room` FROM `users` WHERE `login` = ?i', $_POST['to_login'])->fetch_assoc(); }
if (empty($_POST['days']) OR $_POST['days'] < 1 OR !is_numeric($_POST['days'])) $_POST['days'] = 1;
$to = db::c()->query('SELECT `id` FROM `users` WHERE `login` = ?i', $_POST['receiver'])->fetch_assoc();
if ($_POST['from'] == 1) $from = 'Аноним'; if ($_POST['from'] == 1) $from = 'Аноним';
elseif ($_POST['from'] == 2 && $user['klan']) $from = ' клана ' . $user['klan']; elseif ($_POST['from'] == 2 && $user['ClanName']) $from = ' клана ' . $user['ClanName'];
else $from = $user['login']; 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']); 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['text'], null, $_POST['flower'], $_SESSION['uid']);
$res = db::c()->query('SELECT `id`,`name`,`duration`,`maxdur` FROM `inventory` WHERE `id` = ?i', $_POST['flower'])->fetch_assoc(); $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']}"; $deloText = "{$user['login']} купил подарок «%PodarokName%» за %PodarokCost% кр. и подарил его персонажу {$_POST['receiver']}";
addToDelo($deloText); addToDelo($deloText);
$telegraphText = "Вам пришёл подарок \"" . $res['name'] . "\" от " . $from . "!"; $telegraphText = "Вам пришёл подарок \"" . $res['name'] . "\" от " . $from . "!";
db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $to['id'], $telegraphText)->fetch_assoc(); db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $to['id'], $telegraphText)->fetch_assoc();
err('Подарок удачно доставлен к ' . $_POST['to_login']); err('Подарок удачно доставлен к ' . $_POST['receiver']);
} } else $status = 'Не выбран тип подарка!';
}
?> ?>
<!DOCTYPE html> <!DOCTYPE html>
@ -70,6 +77,9 @@ if (!empty($_POST['present'])) {
</head> </head>
<body> <body>
<h1>Магазин подарков</h1> <h1>Магазин подарков</h1>
<div><?php if (!empty($status)) ?></div>
Вы можете сделать подарок любому персонажу. Ваш подарок будет
отображаться в информации о персонаже.<br><br>
<div> <div>
Выберите подарок:<br> Выберите подарок:<br>
<?php foreach ($images as $image): ?> <?php foreach ($images as $image): ?>
@ -81,20 +91,18 @@ if (!empty($_POST['present'])) {
</div> </div>
<div> <div>
<form method="post"> <form method="post">
<input type=hidden name=present value=1> <input name="receiver" placeholder="Имя получателя"><br>
Вы можете сделать подарок любому персонажу. Ваш подарок будет <textarea name="text"
отображаться в информации о персонаже.<br><br> rows=6 cols=80
placeholder="Текст сопроводительной записки (в информации о персонаже не отображается). Заполнять не обязательно."></textarea><br>
<input name=to_login placeholder="Имя получателя"><br>
<textarea name=podarok2 rows=6 cols=80
placeholder="Текст сопроводительной записки (в информации о персонаже не отображается)"></textarea><br>
<br>Выберите, от чьего имени подарок:<br> <br>Выберите, от чьего имени подарок:<br>
<label><input type=radio name=from value=0 checked> <?= $user['login'] ?></label><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=1> анонимно</label><br>
<label><input type=radio name=from value=2> от имени клана</label><br> <label><input type=radio name=from value=2> от имени клана</label><br>
<br>Долговечность подарка (5кр в день):<br> <br>Долговечность подарка (5кр в день):<br>
<input name="days" placeholder="Количество дней"><br> <input name="days" placeholder="Количество дней"><br>
<br><button>Подарить</button> <br>
<button>Подарить</button>
</form> </form>
</div> </div>
</body> </body>