battles/presents.php
2019-01-28 18:03:02 +02:00

114 lines
5.1 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['present'])) {
if (empty($_POST['receiver'])) {
$status = "Поле «Получатель» не заполнено!";
return;
}
$receiver = db::c()->query('SELECT `id` FROM `users` WHERE `login` = ?i', $_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) $from = null;
elseif ($_POST['sender'] == 2 && $user['ClanName']) $from = ' клана ' . $user['ClanName'];
else $from = $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(NOW(),INTERVAL ?i DAY))', $receiver['id'], $_POST['present'], $_POST['text'], $_POST['from'], $_POST['days']);
$deloText = "{$user['login']} купил подарок за {$cost} кр. и подарил его персонажу {$_POST['receiver']}";
addToDelo($deloText);
$telegraphText = "Вам пришёл подарок от {$from}!";
db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $receiver['id'], $telegraphText)->fetch_assoc();
$status = "Подарок удачно доставлен к {$_POST['receiver']}!";
} else $status = "Не выбран тип подарка!";
?>
<!DOCTYPE html>
<html>
<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>
</head>
<body>
<h1>Магазин подарков</h1>
<div><?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; ?>
<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>
<br>
<input type="submit" value="Подарить">
</form>
</div>
</body>
</html>