134 lines
6.2 KiB
PHP
134 lines
6.2 KiB
PHP
<?php
|
||
session_start();
|
||
if ($_SESSION['uid'] == null) header("Location: index.php");
|
||
include "config.php";
|
||
include "functions.php";
|
||
|
||
if ($user['room'] != 27) {
|
||
header("Location: main.php");
|
||
die();
|
||
}
|
||
if ($user['battle'] != 0) {
|
||
header('location: fbattle.php');
|
||
die();
|
||
}
|
||
|
||
$changeReceiver = filter_input(INPUT_GET, 'change');
|
||
if ($changeReceiver) unset($_SESSION['receiverName']);
|
||
|
||
$razdelId = filter_input(INPUT_GET, 'razdel');
|
||
$_SESSION['receiverName'] = filter_input(INPUT_POST, 'receiverName');
|
||
$receiverId = null;
|
||
$queryItems = null;
|
||
|
||
if ($_SESSION['receiverName']) {
|
||
$receiver = db::c()->query('SELECT `id`, `level`, `login` FROM `users` WHERE `login` = "?s"', $_SESSION['receiverName'])->fetch_assoc();
|
||
if (!$receiver['id']) {
|
||
err('Персонажа не существует!');
|
||
unset($_SESSION['receiverName']);
|
||
} elseif ($receiver['level'] < 4) {
|
||
err('Персонажей ниже 4-го уровня не обслуживаем!');
|
||
unset($_SESSION['receiverName']);
|
||
} else {
|
||
$receiverId = $receiver['id'];
|
||
$submit = filter_input(INPUT_POST, 'action');
|
||
$sendItemId = filter_input(INPUT_POST,'item_id');
|
||
$telegraphText = filter_input(INPUT_POST, 'message');
|
||
|
||
if ($submit == 'sendMessage' && $telegraphText && $user['money'] >= 1) {
|
||
|
||
if ($telegraphText) {
|
||
db::c()->query('UPDATE `users` SET `money` = `money` - 1 WHERE id=?i', $user['id']);
|
||
db::c()->query('INSERT INTO `telegraph` (`receiver`,`text`) VALUES (?i,"?s")', $receiverId, $telegraphText);
|
||
$statusMessage = 'Сообщение отправлено.';
|
||
} else $statusMessage = 'Сообщение было оставлено пустым!';
|
||
}
|
||
|
||
if ($submit == 'sendItem' && $sendItemId && $user['money'] >= 1) {
|
||
$res = db::c()->query('SELECT `id`,`name` FROM `inventory` WHERE `owner` = ?i AND `id` = ?i AND `dressed` = 0 AND `setsale` = 0 AND `present` = "?s" AND `artefact` = 0', $_SESSION['uid'], $sendItemId, null)->fetch_assoc();
|
||
if (!$res['id']) {
|
||
$statusMessage = "Предмет не найден в рюкзаке.";
|
||
} else {
|
||
db::c()->query('UPDATE `users` SET `money` = `money` - 1 WHERE id=?i', $user['id']);
|
||
db::c()->query('UPDATE `inventory` SET `owner` = ?i WHERE `id`= ?i AND `owner`= ?i', $receiverId, $sendItemId, $_SESSION['uid']);
|
||
//TODO: Добавить логи и статистику.
|
||
$statusMessage = 'Предмет "' . $res['name'] . '" передан персонажу ' . $receiverId;
|
||
db::c()->query('INSERT INTO `telegraph` (`receiver`,`text`) VALUES (?i,"?s")', $receiverId, 'Почтовый перевод: '. $res['name'] .' от персонажа ' .$user['login']. '.');
|
||
}
|
||
}
|
||
$queryItems = db::c()->query('SELECT * FROM `inventory` WHERE `owner` = ?i AND `dressed` = 0 AND `setsale` = 0 AND `present` = "?s" AND `artefact` = 0 ORDER BY `update` DESC', $_SESSION['uid'], null);
|
||
}
|
||
}
|
||
?>
|
||
<!DOCTYPE html>
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<link href="css/main.css" rel="stylesheet"/>
|
||
<script>
|
||
function leave() {
|
||
top.frames['main'].location = 'city.php?cp'
|
||
}
|
||
</script>
|
||
</head>
|
||
<body>
|
||
<h1>Почта</h1>
|
||
<a href=# onclick=leave()> ← выйти на Центральную площадь</a>
|
||
<div style="text-align: center;">
|
||
<?php if (isset($statusMessage)) err($statusMessage); ?>
|
||
</div>
|
||
<legend>Услуги почты платные: 1 кредит.</legend>
|
||
<?php if ($_SESSION['receiverName']): ?>
|
||
Получатель: <?= nick::id($receiverId)->full() ?>
|
||
<a href="?change">Сменить</a>
|
||
<table width=100%>
|
||
<tr>
|
||
<td valign=top align=left width=30%>
|
||
<form METHOD=POST>
|
||
<fieldset>
|
||
<legend><b>Телеграф</b></legend>
|
||
Вы можете отправить короткое сообщение любому персонажу, даже если он находится в offline или
|
||
другом городе.<br/>
|
||
Услуга платная: <b>1 кр.</b> <br/>
|
||
<input type="text" name="message" id="message" size="52"
|
||
placeholder="Сообщение: (Максимум 100 символов)">
|
||
<input type="hidden" name="action" value="telegraph">
|
||
<input type="submit" value="Отправить">
|
||
</fieldset>
|
||
</form>
|
||
</td>
|
||
<td valign=top align=right>
|
||
<table class="zebra" WIDTH=100%">
|
||
<th colspan="2">Передача предметов</th>
|
||
<?php while ($row = $queryItems->fetch_assoc()): ?>
|
||
<tr>
|
||
<td align=center>
|
||
<img src="i/sh/<?= $row['img'] ?>"><br>
|
||
<form method="post">
|
||
<input type="hidden" name="action" value="sendItem">
|
||
<input type="hidden" name="item_id" value="<?= $row['id'] ?>">
|
||
<input type="submit" value="Передать за 1кр.">
|
||
</form>
|
||
</td>
|
||
<td valign=top>
|
||
<?php showitem($row, '','',true); ?>
|
||
</td>
|
||
</tr>
|
||
<?php endwhile ?>
|
||
<?php if ($queryItems->getNumRows() == 0): ?>
|
||
<tr>
|
||
<td align=center bgcolor=#C7C7C7>Нечего передавать...</td>
|
||
</tr>
|
||
<?php endif ?>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
<?php else: ?>
|
||
<form method="post">
|
||
<input name='receiverName' placeholder="Логин получателя"> <input type=submit value='Применить'>
|
||
</form>
|
||
<?php endif ?>
|
||
</BODY>
|
||
</HTML>
|