324 lines
17 KiB
PHP
324 lines
17 KiB
PHP
<?php
|
||
|
||
use Battles\Template;
|
||
use Battles\User;
|
||
|
||
require_once 'config.php';
|
||
$user = User::$current;
|
||
$hostel = mysql_fetch_array(mysql_query('SELECT `id`, `uid`, `type`, `time` FROM `hostel` WHERE `uid` = "' . $user['id'] . '" LIMIT 1'));
|
||
$error = '';
|
||
$rs = '';
|
||
$base = [1 => ['type' => 'Сумка'], 2 => ['type' => 'Сундук'], 3 => ['type' => 'Комната'], 4 => ['type' => 'Амбар']];
|
||
$times = [1 => 7, 2 => 14, 3 => 21, 4 => 28];
|
||
$cost = [1 => [8, 16, 24, 32], 2 => [15, 30, 45, 60], 3 => [25, 50, 75, 100], 4 => [40, 80, 120, 160]];
|
||
|
||
function remove_hostel_items($u)
|
||
{
|
||
$itms = mysql_query('SELECT `id`, `owner` FROM `inventory` WHERE `owner` = "-101' . $u . '"');
|
||
while ($pl = mysql_fetch_array($itms)) {
|
||
mysql_query('UPDATE `inventory` SET `owner` = "' . $u . '" WHERE `id` = "' . $pl['id'] . '" AND `owner` = "-101' . $u . '"');
|
||
}
|
||
}
|
||
|
||
function select_arenda($u, $type, $redirect = false)
|
||
{
|
||
$hostel = mysql_fetch_array(mysql_query('SELECT `id` FROM `hostel` WHERE `uid` = "' . $u['id'] . '" LIMIT 1'));
|
||
$price = [1 => 8, 2 => 15, 3 => 25, 4 => 40];
|
||
if (!isset($u['id'])) {
|
||
$r = 'Персонаж не найден ...';
|
||
} else {
|
||
if ($type > 0 && $type <= 4) {
|
||
if (isset($hostel['id'])) {
|
||
$r = 'Не более 1 арендованного места ...';
|
||
} else {
|
||
if ($u['money'] >= $price[$type]) {
|
||
$u['money'] -= $price[$type];
|
||
mysql_query('UPDATE `users` SET `money` = "' . $u['money'] . '" WHERE `id` = "' . $u['id'] . '" LIMIT 1');
|
||
mysql_query('INSERT INTO `hostel` (`uid`, `type`, `time`) VALUES ("' . $u['id'] . '", "' . $type . '", "' . (time() + 60 * 60 * 24 * 7) . '")');
|
||
$r = 'Поздравляем с успешной арендой ...';
|
||
} else {
|
||
$r = 'Недостаточно денег ...';
|
||
}
|
||
}
|
||
} else {
|
||
$r = 'Неверный тип аренды ...';
|
||
}
|
||
}
|
||
if ($redirect) {
|
||
header('Location: main.php');
|
||
}
|
||
return $r;
|
||
}
|
||
|
||
if ($_GET['exit'] == 1) {
|
||
if ($user['sleep'] == 0) {
|
||
mysql_query('UPDATE `users`,`online` SET `users`.`room` = 26, `online`.`room` = 26 WHERE `users`.`id` = "' . $user['id'] . '" AND `online`.`id` = "' . $user['id'] . '"');
|
||
header('Location: city.php');
|
||
} else {
|
||
$error = 'Вы спите ...';
|
||
}
|
||
}
|
||
|
||
if ($_GET['to_room'] == 1) {
|
||
if (isset($hostel['id'])) {
|
||
if ($hostel['time'] > time()) {
|
||
mysql_query('UPDATE `users`,`online` SET `users`.`room` = 661, `online`.`room` = 661 WHERE `users`.`id` = "' . $user['id'] . '" AND `online`.`id` = "' . $user['id'] . '"');
|
||
header('Location: hostel_room.php');
|
||
} else {
|
||
$error = 'У Вас просрочена аренда. Оплатите что-бы продолжить пользоваться нашими услугами ...';
|
||
}
|
||
} else {
|
||
$error = 'У Вас, нету комнаты ...';
|
||
}
|
||
}
|
||
|
||
if ($_GET['pays'] && (int)$_GET['pays'] >= 1 && (int)$_GET['pays'] <= 4) {
|
||
if (isset($hostel['id'])) {
|
||
if ($user['money'] >= $cost[$hostel['type']][(int)$_GET['pays']]) {
|
||
$time = $hostel['time'] + 60 * 60 * 24 * $times[(int)$_GET['pays']];
|
||
$user['money'] -= $cost[$hostel['type']][(int)$_GET['pays']];
|
||
$hostel['time'] = $time;
|
||
mysql_query('UPDATE `users` SET `money` = "' . $user['money'] . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
|
||
mysql_query('UPDATE `hostel` SET `time` = "' . $time . '" WHERE `uid` = "' . $user['id'] . '" AND `id` = "' . $hostel['id'] . '" LIMIT 1');
|
||
$error = 'Всё прошло успешно ...';
|
||
} else {
|
||
$error = 'Недостаточно денег ...';
|
||
}
|
||
} else {
|
||
$error = 'Ошибка #1';
|
||
}
|
||
}
|
||
|
||
if (isset($_POST['select']) && isset($_POST['tariff'])) {
|
||
if ($_POST['tariff'] == 0) {
|
||
$error = 'Выберите тариф ...';
|
||
} else {
|
||
$error = select_arenda($user, (int)$_POST['tariff']);
|
||
}
|
||
}
|
||
|
||
if ($_GET['del'] == 1) {
|
||
if (isset($hostel['id']) && $hostel['time'] > time()) {
|
||
mysql_query('DELETE FROM `hostel` WHERE `uid` = "' . $user['id'] . '" AND `id` = "' . $hostel['id'] . '" LIMIT 1');
|
||
remove_hostel_items($user['id']);
|
||
$error = 'Вы успешно отказались от аренды ...';
|
||
unset($hostel);
|
||
} elseif (isset($hostel['id']) && $hostel['time'] < time()) {
|
||
$error = 'Нельзя отказаться от услуг если имеется задолежнность ...';
|
||
}
|
||
}
|
||
|
||
if (isset($_POST['deselect']) && isset($_POST['retariff'])) {
|
||
if (isset($hostel['id']) && $hostel['time'] > time()) {
|
||
mysql_query('DELETE FROM `hostel` WHERE `uid` = "' . $user['id'] . '" AND `id` = "' . $hostel['id'] . '" LIMIT 1');
|
||
remove_hostel_items($user['id']);
|
||
select_arenda($user, (int)$_POST['retariff'], true);
|
||
} elseif (isset($hostel['id']) && $hostel['time'] < time()) {
|
||
$error = 'Нельзя сменить услугу если имеется задолежнность ...';
|
||
}
|
||
}
|
||
|
||
if ($_GET['sleep'] && $user['sleep'] == 0) {
|
||
if ($user['sleep_time'] <= time()) {
|
||
if ($user['vip'] == 1) {
|
||
$sl = 8;
|
||
} elseif ($user['vip'] == 2) {
|
||
$sl = 12;
|
||
} elseif ($user['vip'] == 3) {
|
||
$sl = 18;
|
||
} else {
|
||
$sl = 2;
|
||
}
|
||
mysql_query('UPDATE `users` SET `sleep` = "' . (time() + 60 * 60 * $sl) . '", `sleep_time` = "' . (time() + 60 * 60 * 8) . '" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
|
||
mysql_query('INSERT INTO `effects` (`type`, `name`, `time`, `owner`) VALUES ("8", "Сон", "' . (time() + 60 * 60 * $sl) . '", "' . $user['id'] . '")');
|
||
$ef = mysql_query('SELECT `id`, `time`, `type` FROM `effects` WHERE `owner` = "' . $user['id'] . '" AND `type` != 11 AND `type` != 12 AND `type` != 13 AND `type` != 14 AND `type` != 5 AND `type` != 4 AND `type` != 2 AND `type` != 3 AND `type` != 8');
|
||
while ($pl = mysql_fetch_array($ef)) {
|
||
$tm = $pl['time'] - time();
|
||
mysql_query('UPDATE `effects` SET `sleep` = "' . $tm . '" WHERE `id` = "' . $pl['id'] . '" AND `owner` = "' . $user['id'] . '"');
|
||
}
|
||
header('Location: hostel.php');
|
||
} else {
|
||
$error = 'Нельзя спать ... Приходите через : ' . timeOut($user['sleep_time'] - time());
|
||
}
|
||
}
|
||
|
||
if ($_GET['unsleep'] && $user['sleep'] > 0) {
|
||
mysql_query('UPDATE `users` SET `sleep` = "0" WHERE `id` = "' . $user['id'] . '" LIMIT 1');
|
||
mysql_query('DELETE FROM `effects` WHERE `owner` = "' . $user['id'] . '" AND `type` = "8" LIMIT 1');
|
||
$ef = mysql_query('SELECT `id`, `time`, `sleep` FROM `effects` WHERE `owner` = "' . $user['id'] . '" AND `sleep` != 0');
|
||
while ($pl = mysql_fetch_array($ef)) {
|
||
$tm = time() + $pl['sleep'];
|
||
mysql_query('UPDATE `effects` SET `time` = "' . $tm . '", `sleep` = "0" WHERE `id` = "' . $pl['id'] . '" AND `owner` = "' . $user['id'] . '"');
|
||
}
|
||
header('Location: hostel.php');
|
||
}
|
||
Template::header('Хостел');
|
||
?>
|
||
<script src="js/ajaxLoad.js"></script>
|
||
<? if (isset($hostel['id'])) { ?>
|
||
<script>
|
||
$(document).ready(function () {
|
||
$("#retariff option[value='<?=$hostel['type']; ?>']").remove();
|
||
});
|
||
</script>
|
||
<? } ?>
|
||
<link rel="stylesheet" href="css/hostel.css"/>
|
||
<div class="contentContainer">
|
||
<div style="text-align: center;"><span class="hs">Гостиница, Холл</span></div>
|
||
<div class="buttonContainer">
|
||
<? if ($user['sleep'] == 0) { ?>
|
||
<input type="button" class="btns button-route" value="Уснуть" onclick="location.href='?sleep=1';"/>
|
||
<? } else { ?>
|
||
<input type="button" class="btns button-route" value="Пробудиться" onclick="location.href='?unsleep=1';"/>
|
||
<? } ?>
|
||
<input type="button" class="btns" value="Обновить" onclick="location.href='main.php';"/>
|
||
<input type="button" class="btns button-route" value="На улицу" onclick="location.href='?exit=1';"/>
|
||
<input type="button" class="btns button-route" value="Комната" onclick="location.href='?to_room=1';"/>
|
||
</div>
|
||
|
||
<div id="hostelLeft">
|
||
<div id="hostelInteractive">
|
||
<? if (!isset($hostel['id'])) { ?>
|
||
<fieldset class="hostelClientState">
|
||
<legend>Станьте нашим клиентом</legend>
|
||
<form method="post" style="text-align: center; width: 100%;">
|
||
<input type="hidden" name="act" value="settariff"/>
|
||
<p>Выберите подходящий для Вас вариант обслуживания:</p>
|
||
<div style="text-align: center; width: 100%;">
|
||
<select name="tariff" class="tariff">
|
||
<option value="0">Выбор ...</option>
|
||
<option value="1">Сумка</option>
|
||
<option value="2">Сундук</option>
|
||
<option value="3">Комната</option>
|
||
<option value="4">Амбар</option>
|
||
</select>
|
||
<input type="submit" class="button" value="Выбрал" name="select"/>
|
||
<? if ($error != '') {
|
||
echo '<br /><b style="color: Red;">' . $error . '</b><br />';
|
||
} ?>
|
||
</div>
|
||
</form>
|
||
</fieldset>
|
||
<? } else { ?>
|
||
<fieldset class="hostelClientState">
|
||
<legend>Добро пожаловать!</legend>
|
||
<form method="post" style="text-align: center; width: 100%;">
|
||
<p>Вы выбрали вариант предоставления жилья : <b><?= $base[$hostel['type']]['type']; ?></b></p>
|
||
<p>Аренда оплачена по: <? echo date('h:i d.m.y', $hostel['time']); ?>
|
||
(<small><? echo timeOut($hostel['time'] - time()); ?></small>)</p>
|
||
<div style="text-align: center; width: 100%;">
|
||
Сменить вариант аренды <select name="retariff" id="retariff">
|
||
<option value="0">Выбор ...</option>
|
||
<option value="1">Сумка</option>
|
||
<option value="2">Сундук</option>
|
||
<option value="3">Комната</option>
|
||
<option value="4">Амбар</option>
|
||
</select>
|
||
<input type="submit" class="button" value="Сменить" name="deselect"/>
|
||
</div>
|
||
</form>
|
||
<a href="javascript: void(0);" style="float: left; margin-left: 3px;"
|
||
onclick="if(confirm('Вы уверены?')) { location.href='?del=1'; }">Расторгнуть договор</a> <a
|
||
href="javascript: void(0);"
|
||
onclick="ajaxLoad('/hostel_checkpoint.php', 'hostelInteractive', {act:'pay'})"
|
||
style="float: right; margin-right: 3px;">Внести предоплату</a>
|
||
<? if ($error != '') {
|
||
echo '<br /><center><b style="color: Red;">' . $error . '</b></center><br />';
|
||
} ?>
|
||
</fieldset>
|
||
<? } ?>
|
||
</div>
|
||
<fieldset class="hostelRules" style="overflow: hidden;">
|
||
<legend>Правила проживания</legend>
|
||
<div style="overflow: auto; height: 168px !important; margin: 0; padding: 0;">
|
||
<div style="margin: 0; padding: 0; height: 100%;">
|
||
<h2>И что я получу за свои кровные?</h2>
|
||
У нас ты можешь:
|
||
<br/>- хранить свое барахло и прочий хлам.
|
||
<h2>Охрана у вас есть? Не воруют?</h2>
|
||
Самые любопытные могут получить в сурло прямо здесь - в холле.
|
||
<br/>- Устраивать беспорядки в комнатах не позволено.
|
||
<br/>- Прислуга у нас проверенная - пожитки твои не тронут.
|
||
<h2>И сколько стоит всё это удовольствие?</h2>
|
||
- Комнаты есть разные, для людей разного достатка. Смотри справа расценки.
|
||
<br/>- Платить нужно каждый день. Пока не заплатишь - на лестницу не ногой.
|
||
<br/>- Вместимость - это сколько твоих вещей влезет в комнату, имеется ввиду общая масса инвентаря.
|
||
|
||
<h2>Как всем этим пользоваться?</h2>
|
||
Всё просто. Плати и живи.
|
||
<br/>Приходишь, платишь по долгам, проходишь в аппартаменты. В сундуке есть секции для каждого вида
|
||
вещей, фильтр поможет разобраться.
|
||
<h2>Что ещё мне нужно знать?</h2>
|
||
- При смене размера комнаты, ты теряешь оставшееся оплаченное время.
|
||
<br/>- При просрочке платы более 60 суток, мы оставляем за собой право сдать вещи на аукцион для
|
||
погашения задолжености.
|
||
<br/>- Если долг будет разумный, то подарки забирать с полки не будем.
|
||
<br/>- Быстро сориентироваться с шмотом поможет фильтр предметов.
|
||
<br/>- Если что потеряешь - твои проблемы.
|
||
</div>
|
||
</div>
|
||
</fieldset>
|
||
</div>
|
||
|
||
<div id="hostelRight">
|
||
<fieldset>
|
||
<legend>Тарифы и услуги</legend>
|
||
<br/>
|
||
<table class="tarifsList" cellpadding="0" cellspacing="0">
|
||
<caption>Сумка</caption>
|
||
<tbody>
|
||
<tr>
|
||
<td class="tarifListLabel">Вместимость</td>
|
||
<td class="tarifListValue">15 ед.</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="tarifListLabel">Стоимость (7 сут.)</td>
|
||
<td class="tarifListValue">8.00 кр.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br/>
|
||
<table class="tarifsList" cellpadding="0" cellspacing="0">
|
||
<caption>Сундук</caption>
|
||
<tbody>
|
||
<tr>
|
||
<td class="tarifListLabel">Вместимость</td>
|
||
<td class="tarifListValue">30 ед.</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="tarifListLabel">Стоимость (7 сут.)</td>
|
||
<td class="tarifListValue">15.00 кр.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br/>
|
||
<table class="tarifsList" cellpadding="0" cellspacing="0">
|
||
<caption>Комната</caption>
|
||
<tbody>
|
||
<tr>
|
||
<td class="tarifListLabel">Вместимость</td>
|
||
<td class="tarifListValue">50 ед.</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="tarifListLabel">Стоимость (7 сут.)</td>
|
||
<td class="tarifListValue">25.00 кр.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<br/>
|
||
<table class="tarifsList" cellpadding="0" cellspacing="0">
|
||
<caption>Амбар</caption>
|
||
<tbody>
|
||
<tr>
|
||
<td class="tarifListLabel">Вместимость</td>
|
||
<td class="tarifListValue">100 ед.</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="tarifListLabel">Стоимость (7 сут.)</td>
|
||
<td class="tarifListValue">40.00 кр.</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</fieldset>
|
||
</div>
|
||
</div>
|