2018-01-28 18:40:49 +02:00
< ? php
2021-01-27 15:53:39 +02:00
2022-08-09 22:57:43 +03:00
use Battles\Database\Db ;
2021-01-27 15:53:39 +02:00
use Battles\GameLogs ;
use Battles\InventoryItem ;
use Battles\Nick ;
use Battles\Template ;
2022-01-27 01:15:33 +02:00
use Battles\User ;
2021-01-27 15:53:39 +02:00
2019-01-16 18:35:00 +02:00
require_once 'functions.php' ;
2020-10-27 18:53:35 +02:00
if ( $_GET [ 'change' ] ? ? 0 ) {
2020-09-30 01:39:06 +03:00
unset ( $_SESSION [ 'receiverName' ]);
}
$_SESSION [ 'receiverName' ] = $_POST [ 'receiverName' ] ? ? '' ;
2018-06-24 02:12:30 +03:00
$receiverId = null ;
$queryItems = null ;
2020-10-27 18:53:35 +02:00
$statusMessage = null ;
2018-01-28 18:40:49 +02:00
2018-06-24 13:18:49 +03:00
if ( $_SESSION [ 'receiverName' ]) {
$receiver = db :: c () -> query ( 'SELECT `id`, `level`, `login` FROM `users` WHERE `login` = "?s"' , $_SESSION [ 'receiverName' ]) -> fetch_assoc ();
2018-06-24 18:38:19 +03:00
if ( ! $receiver [ 'id' ]) {
2020-10-27 18:53:35 +02:00
$statusMessage = 'Персонажа не существует!' ;
2018-06-24 18:38:19 +03:00
unset ( $_SESSION [ 'receiverName' ]);
} else {
2018-06-24 02:12:30 +03:00
$receiverId = $receiver [ 'id' ];
2020-09-30 01:39:06 +03:00
$submit = $_POST [ 'action' ] ? ? 0 ;
$sendItemId = $_POST [ 'item_id' ] ? ? 0 ;
$telegraphText = $_POST [ 'message' ] ? ? 0 ;
2018-06-24 14:34:43 +03:00
2022-08-09 22:57:43 +03:00
if ( $submit == 'sendMessage' && User :: getInstance () -> money () -> get ()) {
2018-06-24 02:12:30 +03:00
if ( $telegraphText ) {
2022-08-09 22:57:43 +03:00
if ( User :: getInstance () -> money () -> spend ( 1 )) {
db :: c () -> query ( 'INSERT INTO `telegraph` (`receiver`,`text`) VALUES (?i,"?s")' , $receiverId , $telegraphText );
$statusMessage = 'Сообщение отправлено.' ;
} else {
$statusMessage = 'Недостаточно денег.' ;
}
2020-09-30 01:39:06 +03:00
} else {
$statusMessage = 'Сообщение было оставлено пустым!' ;
}
2018-06-24 18:58:15 +03:00
}
2018-06-24 18:38:19 +03:00
2022-08-09 22:57:43 +03:00
if ( $submit == 'sendItem' && $sendItemId && User :: getInstance () -> money () -> get ()) {
$itemName = Db :: getInstance () -> fetchColumn ( 'select name from inventory where owner_id = ? and item_id = ? and dressed_slot = 0 and on_sale = 0' , [ User :: getInstance () -> getId (), $sendItemId ]);
if ( ! $itemName ) {
2018-06-24 18:38:19 +03:00
$statusMessage = " Предмет не найден в рюкзаке. " ;
2018-06-24 02:12:30 +03:00
} else {
2022-08-09 22:57:43 +03:00
if ( User :: getInstance () -> money () -> spend ( 1 )) {
db :: c () -> query ( 'UPDATE `inventory` SET owner_id = ?i WHERE item_id= ?i AND owner_id = ?i' , $receiverId , $sendItemId , $_SESSION [ 'uid' ]);
$statusMessage = 'Предмет "' . $itemName . '" передан персонажу ' . User :: getInstance ( $receiverId ) -> getLogin ();
$receiverLogMessage = 'Получен предмет "' . $itemName . '" от персонажа ' . User :: getInstance () -> getLogin ();
db :: c () -> query ( 'INSERT INTO `telegraph` (`receiver`,`text`) VALUES (?i,"?s")' , $receiverId , 'Почтовый перевод: ' . $itemName . ' от персонажа ' . $user [ 'login' ] . '.' );
// Пишем в лог отправителю.
GameLogs :: addUserLog ( $_SESSION [ 'uid' ], $statusMessage , 'почта' );
// Пишем в лог получателю.
GameLogs :: addUserLog ( $receiverId , $receiverLogMessage , 'почта' );
} else {
$statusMessage = 'Недостаточно денег.' ;
}
2018-06-23 22:32:33 +03:00
}
}
2020-10-27 18:53:35 +02:00
2022-01-27 01:15:33 +02:00
$queryItems = db :: c () -> query ( 'SELECT * FROM inventory WHERE dressed_slot = 0 AND on_sale = 0 AND owner_id = ?i' , User :: getInstance () -> getId ());
2019-01-16 18:26:16 +02:00
while ( $row = $queryItems -> fetch_assoc ()) {
2021-01-27 15:53:39 +02:00
$iteminfo [] = new InventoryItem ( $row );
2019-01-16 18:26:16 +02:00
}
2018-06-23 22:32:33 +03:00
}
2018-06-24 18:38:19 +03:00
}
2021-01-27 15:53:39 +02:00
Template :: header ( 'Почта' );
2018-01-28 18:40:49 +02:00
?>
2021-01-27 15:53:39 +02:00
<div style="float: right">
<button onclick="top.frames['gameframe'].location = 'city.php?cp'">Вернуться</button>
</div>
<h1>Почта</h1>
<div style="text-align: center;"><span class="error"><?= $statusMessage ?></span></div>
<legend>Услуги почты платные: 1 кредит.</legend>
2020-10-27 18:53:35 +02:00
<?php if ($_SESSION['receiverName'] ?? ''): ?>
2020-08-27 15:17:02 +03:00
Получатель: <?= Nick::id($receiverId)->full() ?>
2018-06-24 02:12:30 +03:00
<a href="?change">Сменить</a>
<table width=100%>
<tr>
<td valign=top align=left width=30%>
<form METHOD=POST>
2018-06-23 22:32:33 +03:00
<fieldset>
2018-01-28 18:40:49 +02:00
<legend><b>Телеграф</b></legend>
2018-06-23 22:32:33 +03:00
Вы можете отправить короткое сообщение любому персонажу, даже если он находится в offline или
другом городе.<br/>
2018-06-23 23:14:33 +03:00
Услуга платная: <b>1 кр.</b> <br/>
2018-06-24 02:12:30 +03:00
<input type="text" name="message" id="message" size="52"
placeholder="Сообщение: (Максимум 100 символов)">
<input type="hidden" name="action" value="telegraph">
2018-06-24 14:34:43 +03:00
<input type="submit" value="Отправить">
2018-06-23 22:32:33 +03:00
</fieldset>
2018-06-24 02:12:30 +03:00
</form>
<td valign=top align=right>
2019-01-16 18:35:00 +02:00
<table class="zebra" WIDTH=100%" cellspacing="1" cellpadding="2">
2021-01-27 15:53:39 +02:00
<th colspan="2">Передача предметов
2022-08-09 22:57:43 +03:00
<?php foreach ($iteminfo
as $ii): ?>
2018-06-24 02:12:30 +03:00
<tr>
2019-01-16 18:26:16 +02:00
<td bgcolor='#d3d3d3'>
<?php $ii->printImage(); ?>
2018-06-24 18:38:19 +03:00
<form method="post">
<input type="hidden" name="action" value="sendItem">
2019-01-16 18:26:16 +02:00
<input type="hidden" name="item_id" value="<?= $ii->getId() ?>">
2018-06-24 18:38:19 +03:00
<input type="submit" value="Передать за 1кр.">
</form>
2019-01-16 18:26:16 +02:00
<td bgcolor='#d3d3d3'>
<?php $ii->printInfo(); ?>
2021-01-27 15:53:39 +02:00
<?php endforeach; ?>
<?php if (empty($queryItems->getNumRows())): ?>
2018-06-24 02:12:30 +03:00
<tr>
2021-01-27 15:53:39 +02:00
<td align=center bgcolor=#C7C7C7>Нечего передавать...
2022-08-09 22:57:43 +03:00
<?php endif ?>
2018-06-24 02:12:30 +03:00
</table>
</table>
<?php else: ?>
<form method="post">
<input name='receiverName' placeholder="Логин получателя"> <input type=submit value='Применить'>
</form>
2020-10-27 18:53:35 +02:00
<?php endif ?>