Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.
Singleton в некоторых местах вместо решения #42. Новые шаги для решения #16 и #52. Closes #42. Closes #32. Closes #31.
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
<?php
|
||||
|
||||
use Battles\Template;
|
||||
|
||||
require_once "functions.php";
|
||||
if ($user['lab'] == 0) {
|
||||
header("Location: index.php");
|
||||
@@ -15,7 +18,7 @@ $u_res = mysql_fetch_array(mysql_query("select * from `lab_user` where `id_user`
|
||||
setTimeout("document.all['b1'].disabled=false;document.all['b2'].disabled=false;document.all['b3'].disabled=false;document.all['b4'].disabled=false;", <?=(3 - $tt)?>000);
|
||||
</script>
|
||||
<?php
|
||||
$room = mysql_fetch_array(mysql_query("SELECT * FROM `lab_rooms` WHERE `id` = '" . mysql_real_escape_string($user->getRoom()) . "';"));
|
||||
$room = mysql_fetch_array(mysql_query("SELECT * FROM `lab_rooms` WHERE `id` = '" . mysql_real_escape_string(User::getInstance()->getRoom()) . "';"));
|
||||
|
||||
if ($_GET['healall'] == 1) {
|
||||
$cost = $_GET['cost'];
|
||||
@@ -121,7 +124,7 @@ if ($_GET['mobkill'] == 1) {
|
||||
}
|
||||
$rand_hp1 = rand(1, 10);
|
||||
$rand_hp = $rand_hp1 * $user['level'];
|
||||
$bot = mysql_fetch_array(mysql_query("select * from `lab_bots` where `id_bot`='" . $id . "' AND `id_user`='" . $user['id'] . "' AND `id_room`='" . $user->getRoom() . "' LIMIT 1"));
|
||||
$bot = mysql_fetch_array(mysql_query("select * from `lab_bots` where `id_bot`='" . $id . "' AND `id_user`='" . $user['id'] . "' AND `id_room`='" . User::getInstance()->getRoom() . "' LIMIT 1"));
|
||||
$hels = $bot['bot_hp'] - $rand_hp;
|
||||
if ($hels < 0) {
|
||||
echo "<b>Вы убили моба!</b><br>";
|
||||
@@ -132,11 +135,11 @@ if ($_GET['mobkill'] == 1) {
|
||||
echo "Вы получили 1 записку!<br>";
|
||||
Mysql_query("update `lab_user` set `zad" . $u_res['zadanie'] . "_kol`=`zad" . $u_res['zadanie'] . "_kol`+'1' where `id_user`='" . $user['id'] . "'");
|
||||
}
|
||||
mysql_query("delete from `lab_bots` where `id_bot`='" . $id . "' AND `id_user`='" . $user['id'] . "' AND `id_room`='" . $user->getRoom() . "' LIMIT 1");
|
||||
mysql_query("delete from `lab_bots` where `id_bot`='" . $id . "' AND `id_user`='" . $user['id'] . "' AND `id_room`='" . User::getInstance()->getRoom() . "' LIMIT 1");
|
||||
//если просто убивалка
|
||||
} else {
|
||||
Mysql_query("update `lab_user` set `zad" . $u_res['zadanie'] . "_kol`=`zad" . $u_res['zadanie'] . "_kol`+'1' where `id_user`='" . $user['id'] . "'");
|
||||
mysql_query("delete from `lab_bots` where `id_bot`='" . $id . "' AND `id_user`='" . $user['id'] . "' AND `id_room`='" . $user->getRoom() . "' LIMIT 1");
|
||||
mysql_query("delete from `lab_bots` where `id_bot`='" . $id . "' AND `id_user`='" . $user['id'] . "' AND `id_room`='" . User::getInstance()->getRoom() . "' LIMIT 1");
|
||||
}
|
||||
} else {
|
||||
echo "Вы отняли у моба -<b>" . $rand_hp . "</b> HP!<br>";
|
||||
@@ -174,7 +177,7 @@ if ($_GET['exit'] && $room['exit'] == 1) {
|
||||
|
||||
if ($_GET['get']) {
|
||||
$data = mysql_fetch_array(mysql_query("SELECT * FROM `lab_inv` WHERE `id` = '" . mysql_real_escape_string($_GET['get']) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
if ($data['id_room'] == $user->getRoom()) {
|
||||
if ($data['id_room'] == User::getInstance()->getRoom()) {
|
||||
|
||||
switch ($data['type']) {
|
||||
case 1:
|
||||
@@ -238,13 +241,13 @@ if ($_GET['get']) {
|
||||
if ($_GET['drop']) {
|
||||
$data = mysql_fetch_array(mysql_query("SELECT * FROM `lab_tmp` WHERE `id` = '" . mysql_real_escape_string($_GET['drop']) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
mysql_query("DELETE FROM `lab_tmp` WHERE `id` = '" . mysql_real_escape_string($data['id']) . "' AND `id_user`='" . $user['id'] . "' LIMIT 1;");
|
||||
mysql_query("INSERT INTO `lab_inv` (`id_room`,`type`,`value`,`id_user`) values ('" . mysql_real_escape_string($user->getRoom()) . "','" . mysql_real_escape_string($data['type']) . "','" . mysql_real_escape_string($data['value']) . "','" . mysql_real_escape_string($user['id']) . "');");
|
||||
mysql_query("INSERT INTO `lab_inv` (`id_room`,`type`,`value`,`id_user`) values ('" . mysql_real_escape_string(User::getInstance()->getRoom()) . "','" . mysql_real_escape_string($data['type']) . "','" . mysql_real_escape_string($data['value']) . "','" . mysql_real_escape_string($user['id']) . "');");
|
||||
unset($data);
|
||||
}
|
||||
|
||||
if ($_GET['nal1']) {
|
||||
$data = mysql_fetch_array(mysql_query("SELECT * FROM `lab_bots` WHERE `id` = '" . mysql_real_escape_string($_GET['nal1']) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
if ($data['id_room'] == $user->getRoom()) {
|
||||
if ($data['id_room'] == User::getInstance()->getRoom()) {
|
||||
$sum = mysql_fetch_array(mysql_query("SELECT SUM(`value`) FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='1';"));
|
||||
mysql_query("DELETE FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='1';");
|
||||
mysql_query("UPDATE `users` SET `money` = `money`+'" . mysql_real_escape_string($sum[0]) . "' WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
@@ -256,7 +259,7 @@ if ($_GET['nal1']) {
|
||||
|
||||
if ($_GET['nal2']) {
|
||||
$data = mysql_fetch_array(mysql_query("SELECT * FROM `lab_bots` WHERE `id` = '" . mysql_real_escape_string($_GET['nal2']) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
if ($data['id_room'] == $user->getRoom()) {
|
||||
if ($data['id_room'] == User::getInstance()->getRoom()) {
|
||||
$sum = mysql_fetch_array(mysql_query("SELECT SUM(`value`) FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='3';"));
|
||||
mysql_query("DELETE FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='3';");
|
||||
mysql_query("UPDATE `users` SET `patriotizm` = `patriotizm`+'" . mysql_real_escape_string($sum[0]) . "' WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
@@ -268,7 +271,7 @@ if ($_GET['nal2']) {
|
||||
|
||||
if ($_GET['nal3']) {
|
||||
$data = mysql_fetch_array(mysql_query("SELECT * FROM `lab_bots` WHERE `id` = '" . mysql_real_escape_string($_GET['nal3']) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
if ($data['id_room'] == $user->getRoom()) {
|
||||
if ($data['id_room'] == User::getInstance()->getRoom()) {
|
||||
$sum = mysql_fetch_array(mysql_query("SELECT SUM(`value`) FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='8';"));
|
||||
mysql_query("DELETE FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='8';");
|
||||
mysql_query("UPDATE `bank` SET `ekr` = `ekr`+'" . mysql_real_escape_string($sum[0]) . "' WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
@@ -280,7 +283,7 @@ if ($_GET['nal3']) {
|
||||
|
||||
if ($_GET['nal4']) {
|
||||
$data = mysql_fetch_array(mysql_query("SELECT * FROM `lab_bots` WHERE `id` = '" . mysql_real_escape_string($_GET['nal4']) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
if ($data['id_room'] == $user->getRoom()) {
|
||||
if ($data['id_room'] == User::getInstance()->getRoom()) {
|
||||
$sum = mysql_fetch_array(mysql_query("SELECT SUM(`value`) FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='9';"));
|
||||
mysql_query("DELETE FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "' AND `type`='9';");
|
||||
mysql_query("UPDATE `users` SET `exp` = `exp`+'" . mysql_real_escape_string($sum[0]) . "' WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
@@ -296,28 +299,28 @@ if ($_GET['go']) {
|
||||
switch ($_GET['go']) {
|
||||
case "p1":
|
||||
mysql_query("UPDATE `users` SET `room` = '" . mysql_real_escape_string($room['p1']) . "', `fullhptime` = " . time() . " WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
$user->setRoom($room['p1']);
|
||||
User::getInstance()->setRoom($room['p1']);
|
||||
$_SESSION['time'] = time();
|
||||
break;
|
||||
case "p2":
|
||||
mysql_query("UPDATE `users` SET `room` = '" . mysql_real_escape_string($room['p2']) . "', `fullhptime` = " . time() . " WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
$user->setRoom($room['p2']);
|
||||
User::getInstance()->setRoom($room['p2']);
|
||||
$_SESSION['time'] = time();
|
||||
break;
|
||||
case "p3":
|
||||
mysql_query("UPDATE `users` SET `room` = '" . mysql_real_escape_string($room['p3']) . "', `fullhptime` = " . time() . " WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
$user->setRoom($room['p3']);
|
||||
User::getInstance()->setRoom($room['p3']);
|
||||
$_SESSION['time'] = time();
|
||||
break;
|
||||
case "p4":
|
||||
mysql_query("UPDATE `users` SET `room` = '" . mysql_real_escape_string($room['p4']) . "', `fullhptime` = " . time() . " WHERE `id` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
$user->setRoom($room['p4']);
|
||||
User::getInstance()->setRoom($room['p4']);
|
||||
$_SESSION['time'] = time();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$room = mysql_fetch_array(mysql_query("SELECT * FROM `lab_rooms` WHERE `id` = '" . mysql_real_escape_string($user->getRoom()) . "';"));
|
||||
$room = mysql_fetch_array(mysql_query("SELECT * FROM `lab_rooms` WHERE `id` = '" . mysql_real_escape_string(User::getInstance()->getRoom()) . "';"));
|
||||
|
||||
if ($user['hp'] <= 0) {
|
||||
mysql_query("DELETE FROM `lab_trap` WHERE `id_user` = '" . $user['id'] . "'");
|
||||
@@ -332,12 +335,12 @@ if ($user['hp'] <= 0) {
|
||||
}
|
||||
|
||||
|
||||
$data = mysql_query("SELECT * FROM `lab_inv` WHERE `id_room` = '" . mysql_real_escape_string($user->getRoom()) . "' AND `id_user`='" . $user['id'] . "';");
|
||||
$data = mysql_query("SELECT * FROM `lab_inv` WHERE `id_room` = '" . mysql_real_escape_string(User::getInstance()->getRoom()) . "' AND `id_user`='" . $user['id'] . "';");
|
||||
$data2 = mysql_query("SELECT * FROM `lab_tmp` WHERE `id_user` = '" . mysql_real_escape_string($user['id']) . "';");
|
||||
$data3 = mysql_query("SELECT * FROM `users` WHERE `lab` = 1 AND `room` = '" . mysql_real_escape_string($room['id']) . "';");
|
||||
$data4 = mysql_query("SELECT * FROM `lab_bots` WHERE `id_room` = '" . mysql_real_escape_string($room['id']) . "' AND `id_user`='" . $user['id'] . "';");
|
||||
|
||||
$roow = mysql_fetch_array(mysql_query("SELECT * FROM `lab_trap` WHERE `id_room` = '" . mysql_real_escape_string($user->getRoom()) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
$roow = mysql_fetch_array(mysql_query("SELECT * FROM `lab_trap` WHERE `id_room` = '" . mysql_real_escape_string(User::getInstance()->getRoom()) . "' AND `id_user`='" . $user['id'] . "';"));
|
||||
|
||||
if ($roow[0]) {
|
||||
$msg .= 'В комнате была установлена ловушка...<br>';
|
||||
@@ -364,19 +367,19 @@ if ((time() - $_SESSION['time']) > 3) {
|
||||
} else {
|
||||
$tt = (time() - $_SESSION['time']);
|
||||
}
|
||||
\Battles\Template::header('lab2');
|
||||
Template::header('lab2');
|
||||
|
||||
echo Nick::id($user)->battle();
|
||||
echo " <a href=\"#\" onclick=\"javascript:if (confirm('Желаете выбраться из лабиринта? Теряете все что здесь нашли.')){ location.href='lab.php?eexit=1';}\">Выйти?</a>";
|
||||
echo " <a href=\\";
|
||||
echo "<table border=0 width=100%><tr><td colspan=4><font color=red>" . $msg;
|
||||
echo "</font>";
|
||||
if ($room['exit'] == 1) {
|
||||
echo "<font color=green><b>В комнате есть выход.</b></font> •<a href='?exit=1'>ВЫЙТИ!</a>•<br>";
|
||||
}
|
||||
|
||||
echo " <a href=\"#\" onclick=\"javascript:if (confirm('Использовать свиток возрата?')){ location.href='lab.php?svitexit=1';}\">Св. возрата: <b>" . $u_res['exit_teleport'] . "</b></a> | <a href=\"#\" onclick=\"javascript:if (confirm('Использовать свиток оздоровления?')){ location.href='lab.php?svitheal=1';}\">Св. оздоровления: <b>" . $u_res['svitok_heal'] . "</b></a><br>";
|
||||
echo " <a href=\\" . $u_res['exit_teleport'] . "</b></a> | <a href=\\" . $u_res['svitok_heal'] . "</b></a><br>";
|
||||
echo "Игровые атаки: <b>" . $u_res['svitok_kill_user'] . "</b>";
|
||||
echo " <b>+</b> Бот-атаки: <b>" . $u_res['svitok_kill'] . "</b> <small><a href=\"#\" onclick=\"javascript:if (confirm('Купить 1 Бот-атаку за 0.15 кредит?')){ location.href='lab.php?buykill=1';}\">[купить]</a></small>";
|
||||
echo " <b>+</b> Бот-атаки: <b>" . $u_res['svitok_kill'] . "</b> <small><a href=\\";
|
||||
echo "<p>";
|
||||
|
||||
$log = mysql_query("select * from `lab_heal_log` order by `id` desc LIMIT 1");
|
||||
@@ -387,7 +390,7 @@ for ($i = 0; $i < mysql_num_rows($log); $i++) {
|
||||
|
||||
}
|
||||
|
||||
echo "" . $room['name'] . " (" . $user->getRoom() . ")</tr>";
|
||||
echo "" . $room['name'] . " (" . User::getInstance()->getRoom() . ")</tr>";
|
||||
echo "<tr><td><td><button style='width:50px; height:50px;' class='INPUT' disabled id=b1 onclick='location.href=\"lab.php?go=p1\";'>СЕВЕР</button><td><td rowspan=3 style='height:100px;'> <td rowspan=4 width=30% valign=top style='height:100px;'>";
|
||||
$u_lab = mysql_query("select `login` from `users` where `lab`='1' and `bot`!='1'");
|
||||
$u_lab_kol = mysql_num_rows($u_lab);
|
||||
|
||||
Reference in New Issue
Block a user