battles/quest_room.php
Igor Barkov (iwork) 3502904656 Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.
Singleton в некоторых местах вместо решения #42.
Новые шаги для решения #16 и #52.
Closes #42.
Closes #32.
Closes #31.
2022-01-27 01:15:33 +02:00

75 lines
3.0 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use Battles\Template;
use Battles\User;
require_once 'functions.php';
include('classes/quests_class.php');
$status = '';
$get = urldecode(filter_input(INPUT_SERVER, 'QUERY_STRING'));
if ($get == 'exit') {
db::c()->query('UPDATE `users`,`online` SET `users`.`room` = 20, `online`.`room` = 20 WHERE `users`.`id` = ?i AND `online`.`id` = ?i', $_SESSION['uid'], $_SESSION['uid']);
header('Location: city.php');
}
if ($get == 'hps') {
db::c()->query('UPDATE `users` SET `hp` = `maxhp` WHERE `id` = ?i', $_SESSION['uid']);
$status = 'Вы исцелились!';
}
if (isset($_GET['quid'])) {
$pl = mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `delete` = "0" AND `min_lvl` <= "' . $user['level'] . '" AND `max_lvl` >= "' . $user['level'] . '" AND `id` = "' . mysql_real_escape_string($_GET['quid']) . '" LIMIT 1'));
if (isset($pl['id']) && $q->testGood($pl, $user['id']) == 1) {
echo $q->startq($pl['id'], $user['id']);
} elseif ($q->testGood($pl, $user['id']) == 2) {
$status = 'У вас уже есть такое задание ...';
} elseif ($q->testGood($pl, $user['id']) == 3) {
$status = 'Необходимо завершить квесты ...';
} elseif ($q->testGood($pl, $user['id']) == 4) {
$status = 'Задержка на выполнение задания ...';
} elseif ($q->testGood($pl, $user['id']) == 5) {
$status = 'Достигнут лимит выполнения заданий ...';
} else {
$status = $q->testGood($pl, $user['id']);
}
}
$questList = '';
$sp = db::c()->query('SELECT * FROM `quests` WHERE `delete` = 0 ORDER BY `id` DESC');
while ($pl = $sp->fetch_assoc()) {
$questList .= $q->list_quest($pl, $user['id']);
}
if (empty($questList)) {
$questList = 'Нет заданий.';
}
function info_quest($id)
{
return mysql_fetch_array(mysql_query('SELECT * FROM `quests` WHERE `id` = "' . $id . '" LIMIT 1'));
}
if (!empty($q->error)) {
$status = $q->error;
}
Template::header('Памятник');
?>
<div style="float: right;">
<?php if ((User::getInstance()->getLevel() < 5 || User::getInstance()->getAdmin()) && User::getInstance()->getHealth() < User::getInstance()->getMaxHealth()): ?>
<button onclick="location.href='?hps'">Восстановить здоровье</button>
<? endif ?>
<button onclick="location.href='?'">Обновить</button>
<button onclick="location.href='?exit'">Вернуться</button>
</div>
<h1>Памятник</h1>
<div><?= $status ?></div>
<div>
На памятнике выгравированы опасные задания, за выполнение которых можно получить достойную
награду! Для каждого задания отводится определенный промежуток времени, если задание не сдано вовремя, то
награды не будет и придется начать все сначала.
</div>
<div style="text-align: center;">
<?= $questList ?>
</div>