battles/presents.php

109 lines
4.8 KiB
PHP
Raw Normal View History

<?php
/**
* Created by PhpStorm.
* User: Lopar
* Date: 15.01.2019
* Time: 14:51
*/
/*
* Файл в котором буду аккумулироваться покупка и отправка подарков и сувениров, которые не будут являться предметами,
* а просто записями в базе и просто будут отображаться в инвентаре, как неосязаемая сущность со сроком годности или
* без и правом игрока скрыть или удалить любой подаренный подарок.
*
* На текущем этапе сюда сливаются все подарочные исходные коды из других мест.
*/
session_start();
if ($_SESSION['uid'] != 11263) header("Location: index.php");
2019-01-28 14:53:11 +00:00
#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();
2019-01-28 13:42:46 +00:00
$dirname = "i/presents/";
$images = glob($dirname . "*.png");
if (!empty($_POST['present'])) {
2019-01-28 14:53:11 +00:00
if (empty($_POST['receiver'])) {
$status = 'Получатель не указан!';
return;
}
if (empty($_POST['days']) OR $_POST['days'] < 1 OR !is_numeric($_POST['days'])) $_POST['days'] = 1;
2019-01-28 13:42:46 +00:00
2019-01-28 14:53:11 +00:00
$to = db::c()->query('SELECT `id` FROM `users` WHERE `login` = ?i', $_POST['receiver'])->fetch_assoc();
2019-01-28 13:42:46 +00:00
2019-01-28 14:53:11 +00:00
if ($_POST['from'] == 1) $from = 'Аноним';
elseif ($_POST['from'] == 2 && $user['ClanName']) $from = ' клана ' . $user['ClanName'];
else $from = $user['login'];
2019-01-28 13:42:46 +00:00
2019-01-28 14:53:11 +00:00
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();
2019-01-28 13:42:46 +00:00
2019-01-28 14:53:11 +00:00
$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();
2019-01-28 13:42:46 +00:00
2019-01-28 14:53:11 +00:00
err('Подарок удачно доставлен к ' . $_POST['receiver']);
} else $status = 'Не выбран тип подарка!';
2019-01-28 13:42:46 +00:00
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="css/main.css" rel="stylesheet"/>
<script src="js/main.js"></script>
2019-01-28 12:29:34 +00:00
<style>
2019-01-28 12:35:41 +00:00
label.present > input { /* HIDE RADIO */
2019-01-28 12:29:34 +00:00
visibility: hidden; /* Makes input not-clickable */
position: absolute; /* Remove input from document flow */
}
2019-01-28 12:35:41 +00:00
label.present > input + img { /* IMAGE STYLES */
cursor: pointer;
2019-01-28 12:47:42 +00:00
border: 1px solid transparent;
2019-01-28 12:29:34 +00:00
}
2019-01-28 12:35:41 +00:00
label.present > input:checked + img { /* (RADIO CHECKED) IMAGE STYLES */
2019-01-28 12:47:42 +00:00
border: 1px solid darkred;
background: lightcoral;
2019-01-28 12:29:34 +00:00
}
</style>
</head>
<body>
<h1>Магазин подарков</h1>
2019-01-28 14:53:11 +00:00
<div><?php if (!empty($status)) ?></div>
Вы можете сделать подарок любому персонажу. Ваш подарок будет
отображаться в информации о персонаже.<br><br>
2019-01-28 12:29:34 +00:00
<div>
2019-01-28 13:42:46 +00:00
Выберите подарок:<br>
<?php foreach ($images as $image): ?>
2019-01-28 12:35:41 +00:00
<label class="present">
<input type="radio" name="present" value="<?= $image ?>">
<img src="<?= $image ?>" alt="">
</label>
2019-01-28 12:29:34 +00:00
<?php endforeach; ?>
</div>
2019-01-28 13:42:46 +00:00
<div>
<form method="post">
2019-01-28 14:53:11 +00:00
<input name="receiver" placeholder="Имя получателя"><br>
<textarea name="text"
rows=6 cols=80
placeholder="Текст сопроводительной записки (в информации о персонаже не отображается). Заполнять не обязательно."></textarea><br>
2019-01-28 13:42:46 +00:00
<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>
2019-01-28 14:53:11 +00:00
<br>
<button>Подарить</button>
2019-01-28 13:42:46 +00:00
</form>
</div>
</body>
</html>