Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.
Singleton в некоторых местах вместо решения #42. Новые шаги для решения #16 и #52. Closes #42. Closes #32. Closes #31.
This commit is contained in:
+25
-25
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
use Battles\Database\DBPDO;
|
||||
use Battles\Database\Db;
|
||||
use Battles\Item;
|
||||
use Battles\Template;
|
||||
use Battles\User;
|
||||
@@ -15,12 +15,12 @@ const QUEST_ITEM_NAME = [
|
||||
'z' => 'Жетон',
|
||||
'k' => 'Ключиик',
|
||||
];
|
||||
$fd = DBPDO::$db->fetch('select location, name, glava from labirint where user_id = ?', User::$current->getId());
|
||||
$vb = DBPDO::$db->fetch('select n18 from podzem3 where glava = ? and name = ?', [$fd['glava'], 'Канализация 1 этаж']);
|
||||
if ($fd['location'] != '28' || $fd['name'] != 'Канализация 1 этаж' || $vb['n18'] != '8') {
|
||||
$fd = Db::getInstance()->execute('select location, name, glava from labirint where user_id = ?', User::getInstance()->getId())->fetch();
|
||||
$vb = Db::getInstance()->fetchColumn('select n18 from podzem3 where glava = ? and name = ?', [$fd['glava'], 'Канализация 1 этаж']);
|
||||
if ($fd['location'] != '28' || $fd['name'] != 'Канализация 1 этаж' || $vb != '8') {
|
||||
return;
|
||||
}
|
||||
$userInfo = new UserInfo(User::$current->getId());
|
||||
$userInfo = new UserInfo(User::getInstance()->getId());
|
||||
Template::header('Подземелье Луки');
|
||||
?>
|
||||
<div id=hint3 class=ahint></div>
|
||||
@@ -34,7 +34,7 @@ Template::header('Подземелье Луки');
|
||||
<TD>
|
||||
<i>
|
||||
<?php
|
||||
$gag = DBPDO::$db->fetchAll('select * from qwest where login = ?', User::$current->getLogin());
|
||||
$gag = Db::getInstance()->fetchAll('select * from qwest where login = ?', User::getInstance()->getLogin());
|
||||
foreach ($gag as $qw) {
|
||||
$name_qwest = $qw['name_items'];
|
||||
if ($name_qwest === QUEST_ITEM_NAME['k']) {
|
||||
@@ -43,9 +43,9 @@ Template::header('Подземелье Луки');
|
||||
}
|
||||
}
|
||||
|
||||
$qwus = DBPDO::$db->fetch('select * from qwest where login = ? and name_qwest = ?', [User::$current->getLogin(), $name_qw]);
|
||||
$qwus = Db::getInstance()->fetch('select * from qwest where login = ? and name_qwest = ?', [User::getInstance()->getLogin(), $name_qw]);
|
||||
$qwest_status = $qwus["status"];
|
||||
$qwesta = DBPDO::$db->fetch('select * from inventory where item_type = 200 and name = ? and owner_id = ?', [QUEST_ITEM_NAME['k'], User::$current->getId()]);
|
||||
$qwesta = Db::getInstance()->fetch('select * from inventory where item_type = 200 and name = ? and owner_id = ?', [QUEST_ITEM_NAME['k'], User::getInstance()->getId()]);
|
||||
if ($qwesta) {
|
||||
$ok_qwest = "1";
|
||||
}
|
||||
@@ -74,11 +74,11 @@ Template::header('Подземелье Луки');
|
||||
$item_name = 'Гайка ловкости';
|
||||
}
|
||||
if ($ok_qwest == 1 && ($_GET['d'] == 1.3 || $_GET['d'] == 1.4)) {
|
||||
DBPDO::$db->execute($query, [User::$current->getId(), $item_name, 3, 30, Item::ITEM_TYPE_AMULET, 20]);
|
||||
Db::getInstance()->execute($query, [User::getInstance()->getId(), $item_name, 3, 30, Item::ITEM_TYPE_AMULET, 20]);
|
||||
$query = 'delete from inventory where owner_id = ? and item_type = 200 and name = ?';
|
||||
DBPDO::$db->execute($query, [User::$current->getId(), QUEST_ITEM_NAME['k']]);
|
||||
Db::getInstance()->execute($query, [User::getInstance()->getId(), QUEST_ITEM_NAME['k']]);
|
||||
$query = 'update qwest set status = ? where name_qwest = ? and login = ?';
|
||||
DBPDO::$db->execute($query, ['ok', 'kluchiik', User::$current->getLogin()]);
|
||||
Db::getInstance()->execute($query, ['ok', 'kluchiik', User::getInstance()->getLogin()]);
|
||||
echo sprintf('<span style="font-size: 11px; color: #f00">Вы получили предмет %s.</span><br><br>Лука говорит спасибо...', $item_name);
|
||||
}
|
||||
}
|
||||
@@ -93,7 +93,7 @@ Template::header('Подземелье Луки');
|
||||
|
||||
if ($_GET['d'] == '3') {
|
||||
$query = 'select item_id, durability, name from inventory where item_type = 200 and name in (?,?,?) and owner_id = ?';
|
||||
$a = DBPDO::$db->fetchAll($query, [QUEST_ITEM_NAME['g'], QUEST_ITEM_NAME['v'], QUEST_ITEM_NAME['b'], User::$current->getId()]);
|
||||
$a = Db::getInstance()->fetchAll($query, [QUEST_ITEM_NAME['g'], QUEST_ITEM_NAME['v'], QUEST_ITEM_NAME['b'], User::getInstance()->getId()]);
|
||||
unset($query);
|
||||
|
||||
foreach ($a as $row) {
|
||||
@@ -111,7 +111,7 @@ Template::header('Подземелье Луки');
|
||||
}
|
||||
}
|
||||
|
||||
if (in_array(User::$current->getLevel(), [4, 5, 6])) {
|
||||
if (in_array(User::getInstance()->getLevel(), [4, 5, 6])) {
|
||||
$lim = 3;
|
||||
$max = 60;
|
||||
|
||||
@@ -121,7 +121,7 @@ Template::header('Подземелье Луки');
|
||||
$vsego_b = $total_mass_b;
|
||||
$ziton_b = $total_mass_b;
|
||||
|
||||
} elseif (in_array(User::$current->getLevel(), [7, 8])) {
|
||||
} elseif (in_array(User::getInstance()->getLevel(), [7, 8])) {
|
||||
$lim = 9;
|
||||
$max = 200;
|
||||
|
||||
@@ -153,21 +153,21 @@ Template::header('Подземелье Луки');
|
||||
$ostalos_b = intval($total_mass_b - $vsego_b);
|
||||
|
||||
if ($ostalos == 0) {
|
||||
DBPDO::$db->execute($query1, [QUEST_ITEM_NAME['g'], User::$current->getId()]);
|
||||
Db::getInstance()->execute($query1, [QUEST_ITEM_NAME['g'], User::getInstance()->getId()]);
|
||||
} else {
|
||||
DBPDO::$db->execute($query2, [$ostalos, $ostalos * 0.1, $alls_id]);
|
||||
Db::getInstance()->execute($query2, [$ostalos, $ostalos * 0.1, $alls_id]);
|
||||
}
|
||||
|
||||
if ($ostalos_v == 0) {
|
||||
DBPDO::$db->execute($query1, [QUEST_ITEM_NAME['v'], User::$current->getId()]);
|
||||
Db::getInstance()->execute($query1, [QUEST_ITEM_NAME['v'], User::getInstance()->getId()]);
|
||||
} else {
|
||||
DBPDO::$db->execute($query2, [$ostalos_v, $ostalos_v * 0.2, $vls_id]);
|
||||
Db::getInstance()->execute($query2, [$ostalos_v, $ostalos_v * 0.2, $vls_id]);
|
||||
}
|
||||
|
||||
if ($ostalos_b == 0) {
|
||||
DBPDO::$db->execute($query1, [QUEST_ITEM_NAME['b'], User::$current->getId()]);
|
||||
Db::getInstance()->execute($query1, [QUEST_ITEM_NAME['b'], User::getInstance()->getId()]);
|
||||
} else {
|
||||
DBPDO::$db->execute($query2, [$ostalos_b, $ostalos_b * 0.1, $bls_id]);
|
||||
Db::getInstance()->execute($query2, [$ostalos_b, $ostalos_b * 0.1, $bls_id]);
|
||||
}
|
||||
|
||||
unset($query1, $query2);
|
||||
@@ -179,11 +179,11 @@ Template::header('Подземелье Луки');
|
||||
$all_zitons = $ziton + $ziton_v + $ziton_b;
|
||||
|
||||
if (!empty($all_zitons)) {
|
||||
$check = DBPDO::$db->fetch($query1, [User::$current->getId(), QUEST_ITEM_NAME['z']]);
|
||||
$check = Db::getInstance()->fetch($query1, [User::getInstance()->getId(), QUEST_ITEM_NAME['z']]);
|
||||
if ($check['durability'] > 0) {
|
||||
DBPDO::$db->execute($query2, [$all_zitons, $all_zitons * 0.1, 'Лука', User::$current->getId(), QUEST_ITEM_NAME['z']]);
|
||||
Db::getInstance()->execute($query2, [$all_zitons, $all_zitons * 0.1, 'Лука', User::getInstance()->getId(), QUEST_ITEM_NAME['z']]);
|
||||
} else {
|
||||
DBPDO::$db->execute($query3, [QUEST_ITEM_NAME['z'], $all_zitons, User::$current->getId(), 200, $all_zitons * 0.1 . 'Лука']);
|
||||
Db::getInstance()->execute($query3, [QUEST_ITEM_NAME['z'], $all_zitons, User::getInstance()->getId(), 200, $all_zitons * 0.1 . 'Лука']);
|
||||
}
|
||||
unset($query1, $query2, $query3);
|
||||
} else {
|
||||
@@ -213,7 +213,7 @@ Template::header('Подземелье Луки');
|
||||
}
|
||||
if ($_GET['d'] == '7') {
|
||||
if ($qwest != '1') {
|
||||
$T1 = DBPDO::$db->execute('insert into qwest (user_id,login,name_qwest,name_items,id_items,dlja,zadanie,kw,status) values (?,?,?,?,?,?,?,?,?)', [User::$current->getId(), User::$current->getLogin(), 'kluchiik', QUEST_ITEM_NAME['k'], '', 'Лука', 'Найти ключиик', 0, 'no']);
|
||||
$T1 = Db::getInstance()->execute('insert into qwest (user_id,login,name_qwest,name_items,id_items,dlja,zadanie,kw,status) values (?,?,?,?,?,?,?,?,?)', [User::getInstance()->getId(), User::getInstance()->getLogin(), 'kluchiik', QUEST_ITEM_NAME['k'], '', 'Лука', 'Найти ключиик', 0, 'no']);
|
||||
echo sprintf('<span style="font-size:11px; color:red;">Вы приняли задание.(Найти %s).</span><br><br>Хорошо... Лука будет ждать...', QUEST_ITEM_NAME['k']);
|
||||
} else {
|
||||
echo sprintf('<span style="font-size:11px; color:red;">Вы уже приняли задание.(Найти %s).</span><br><br>Ну что? Лука ждёт...', QUEST_ITEM_NAME['k']);
|
||||
@@ -289,7 +289,7 @@ Template::header('Подземелье Луки');
|
||||
</TD>
|
||||
<TD>
|
||||
<?php
|
||||
$buser = DBPDO::$db->fetch('select * from users where login = ?', 'Лука');
|
||||
$buser = Db::getInstance()->fetch('select * from users where login = ?', 'Лука');
|
||||
//Этот класс не умеет работать с ботами! Этот вызов - заглушка!
|
||||
$botInfo = new UserInfo('Лука');
|
||||
$botInfo->showUserDoll();
|
||||
|
||||
Reference in New Issue
Block a user