battles/presents.php
2019-01-28 16:53:11 +02:00

109 lines
4.8 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 '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/";
$images = glob($dirname . "*.png");
if (!empty($_POST['present'])) {
if (empty($_POST['receiver'])) {
$status = 'Получатель не указан!';
return;
}
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 = 'Аноним';
elseif ($_POST['from'] == 2 && $user['ClanName']) $from = ' клана ' . $user['ClanName'];
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['text'], 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['receiver']}";
addToDelo($deloText);
$telegraphText = "Вам пришёл подарок \"" . $res['name'] . "\" от " . $from . "!";
db::c()->query('INSERT INTO `telegraph` (receiver, text) VALUES (?i,"?s")', $to['id'], $telegraphText)->fetch_assoc();
err('Подарок удачно доставлен к ' . $_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)) ?></div>
Вы можете сделать подарок любому персонажу. Ваш подарок будет
отображаться в информации о персонаже.<br><br>
<div>
Выберите подарок:<br>
<?php foreach ($images as $image): ?>
<label class="present">
<input type="radio" name="present" value="<?= $image ?>">
<img src="<?= $image ?>" alt="">
</label>
<?php endforeach; ?>
</div>
<div>
<form method="post">
<input name="receiver" placeholder="Имя получателя"><br>
<textarea name="text"
rows=6 cols=80
placeholder="Текст сопроводительной записки (в информации о персонаже не отображается). Заполнять не обязательно."></textarea><br>
<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>
<br>Долговечность подарка (5кр в день):<br>
<input name="days" placeholder="Количество дней"><br>
<br>
<button>Подарить</button>
</form>
</div>
</body>
</html>