battles/presents.php
Igor Barkov (iwork) 1b6cf440c2 Code cleaning.
2020-06-23 13:26:39 +03:00

118 lines
5.2 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/**
* Created by PhpStorm.
* User: Lopar
* Date: 15.01.2019
* Time: 14:51
*/
/*
* Файл в котором буду аккумулироваться покупка и отправка подарков и сувениров, которые не будут являться предметами,
* а просто записями в базе и просто будут отображаться в инвентаре, как неосязаемая сущность со сроком годности или
* без и правом игрока скрыть или удалить любой подаренный подарок.
*
*/
session_start();
if ($_SESSION['uid'] != 11263) header("Location: index.php");
require_once 'config.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/";
$images = glob($dirname . "*.png");
if (!empty($_POST['sendAction'])) {
if (empty($_POST['present'])) {
$status = "Подарок не выбран!";
return;
}
if (empty($_POST['receiver'])) {
$status = "Поле «Получатель» не заполнено!";
return;
}
$receiver = db::c()->query('SELECT `id` FROM `users` WHERE `login` = "?s"', $_POST['receiver'])->fetch_assoc();
if (empty($receiver)) {
$status = "Получатель {$receiver} не найден в базе!";
return;
}
if (empty($_POST['text'])) $_POST['text'] = null;
if (empty($_POST['days']) OR $_POST['days'] < 1 OR !is_numeric($_POST['days'])) $_POST['days'] = 1;
$cost = $_POST['days'] * 5;
if ($user['money'] < $cost) {
$status = "Не хватает кредитов на оплату подарка!";
return;
}
if ($_POST['sender'] == 1) $sender = "Анонимный подарок";
elseif ($_POST['sender'] == 2 && $user['ClanName']) $sender = "Подарок от клана {$user['ClanName']}";
else $sender = "Подарок от {$user['login']}";
db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', $cost, $_SESSION['uid']);
db::c()->query('INSERT INTO users_presents (owner, img, text, sender, expiration_date) VALUES (?i,"?s","?s","?s",DATE_ADD(CURDATE(),INTERVAL ?i DAY))', $receiver['id'], $_POST['present'], $_POST['text'], $sender, $_POST['days']);
$telegraphText = "Вам пришёл подарок от {$sender}!";
db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $receiver['id'], $telegraphText);
$status = "Подарок удачно доставлен к {$_POST['receiver']}! Вы потратили <b>{$cost}</b> кр.";
}
?>
<!DOCTYPE html>
<html lang="ru">
<head>
<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: 1px solid transparent;
}
label.present > input:checked + img { /* (RADIO CHECKED) IMAGE STYLES */
border: 1px solid darkred;
background: lightcoral;
}
</style>
<title></title>
</head>
<body>
<h1>Магазин подарков</h1>
<div class="private"><?php if (!empty($status)) echo $status; ?></div>
Вы можете сделать подарок любому персонажу. Ваш подарок будет
отображаться в информации о персонаже.<br><br>
<div>
Выберите подарок:<br>
<form method="post">
<?php foreach ($images as $image): ?>
<label class="present">
<input type="radio" name="present" value="<?= $image ?>">
<img src="<?= $image ?>" alt="">
</label>
<?php endforeach; ?>
<br><input name="receiver" placeholder="Имя получателя"><br>
<textarea name="text"
rows=6 cols=80
placeholder="Текст сопроводительной записки (в информации о персонаже не отображается). Заполнять не обязательно."></textarea><br>
<br>Выберите, от чьего имени подарок:<br>
<label><input type=radio name=sender value=0 checked> <?= $user['login'] ?></label><br>
<label><input type=radio name=sender value=1> анонимно</label><br>
<?php if (!empty($user['ClanName'])): ?>
<label><input type=radio name=sender value=2> от имени клана <b><?= $user['ClanName'] ?></b></label><br>
<?php endif; ?>
<br>Долговечность подарка (5кр в день):<br>
<input name="days" placeholder="Количество дней"><br>
<input type="hidden" name="sendAction" value="1">
<br>
<input type="submit" value="Подарить">
</form>
</div>
</body>
</html>