Final: Делаем подарки.

This commit is contained in:
Igor Barkov [iwork] 2019-01-28 17:56:35 +02:00
parent bcafe6d92a
commit f325bf0bdc
2 changed files with 20 additions and 11 deletions

View File

@ -1,6 +1,9 @@
<?php
ob_start("ob_gzhandler");
session_start();
//TODO Написать класс банковских переводов
if (is_null($_SESSION['uid'])) header("Location: index.php");
require_once "functions.php";
if ($user['room'] != 29) {

View File

@ -27,24 +27,29 @@ $images = glob($dirname . "*.png");
if (!empty($_POST['present'])) {
if (empty($_POST['receiver'])) {
$status = "Получатель не найден!";
$status = "Поле «Получатель» не заполнено!";
return;
}
if (empty($_POST['days']) OR $_POST['days'] < 1 OR !is_numeric($_POST['days'])) $_POST['days'] = 1;
if (empty($_POST['text'])) $_POST['text'] = null;
$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['from'] == 1) $from = null;
elseif ($_POST['from'] == 2 && $user['ClanName']) $from = ' клана ' . $user['ClanName'];
if ($_POST['sender'] == 1) $from = null;
elseif ($_POST['sender'] == 2 && $user['ClanName']) $from = ' клана ' . $user['ClanName'];
else $from = $user['login'];
db::c()->query('INSERT INTO users_presents (owner, img, text, sender) VALUES (?i,"?s","?s","?s")', $receiver['id'], $_POST['present'], $_POST['text'], $_POST['from']);
$deloText = "{$user['login']} купил подарок за %PodarokCost% кр. и подарил его персонажу {$_POST['receiver']}";
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();
@ -96,13 +101,14 @@ if (!empty($_POST['present'])) {
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=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=from value=2> от имени клана <b><?= $user['ClanName'] ?></b></label><br>
<label><input type=radio name=sender value=2> от имени клана <b><?= $user['ClanName'] ?></b></label><br>
<?php endif; ?>
<br>Долговечность подарка (5кр в день):<br>
<input name="days" placeholder="Количество дней"><br>
<small>Обратите внимание: оплата производится из банковского счёта!</small><br>
<br>
<button>Подарить</button>
</form>