Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.
Singleton в некоторых местах вместо решения #42. Новые шаги для решения #16 и #52. Closes #42. Closes #32. Closes #31.
This commit is contained in:
+44
-30
@@ -1,5 +1,9 @@
|
||||
<?php
|
||||
/* Разрушенный замок на замковой улице. */
|
||||
|
||||
use Battles\Template;
|
||||
use Battles\User, Battles\Database\Db;
|
||||
|
||||
const CASTLE_MAX_LEVEL = 10;
|
||||
require_once 'functions.php';
|
||||
$castleOwners = db::c()->query('SELECT * FROM `clans` WHERE `short` = (SELECT * FROM `variables` WHERE `var` = "?s")', 'gotzamok');
|
||||
@@ -7,38 +11,36 @@ $castleOwners = db::c()->query('SELECT * FROM `clans` WHERE `short` = (SELECT *
|
||||
if ($castleOwners['id'] == $user['klan']) {
|
||||
// если мой клан
|
||||
if ($_GET['goto'] == 'arsenal') {
|
||||
$user->setRoom(38);
|
||||
User::getInstance()->setRoom(38);
|
||||
}
|
||||
if ($_GET['goto'] == 'home') {
|
||||
$user->setRoom(37);
|
||||
User::getInstance()->setRoom(37);
|
||||
}
|
||||
if ($_GET['goto'] == 'dvor') {
|
||||
$user->setRoom(39);
|
||||
User::getInstance()->setRoom(39);
|
||||
}
|
||||
if ($_GET['goto'] == 'master') {
|
||||
$user->setRoom(40);
|
||||
User::getInstance()->setRoom(40);
|
||||
}
|
||||
if ($_GET['goto'] == 'rest') {
|
||||
$user->setRoom(41);
|
||||
User::getInstance()->setRoom(41);
|
||||
}
|
||||
if (in_array($_GET['goto'], ['arsenal', 'home', 'dvor', 'master', 'rest'])) {
|
||||
db::c()->query('UPDATE `users`,`online` SET `users`.`room` = ?i,`online`.`room` = ?i WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ?i', $user->getRoom(), $user->getRoom(), $user->getId());
|
||||
db::c()->query('UPDATE `users`,`online` SET `users`.`room` = ?i,`online`.`room` = ?i WHERE `online`.`id` = `users`.`id` AND `online`.`id` = ?i', User::getInstance()->getRoom(), User::getInstance()->getRoom(), User::getInstance()->getId());
|
||||
header('location: gotzamok.php');
|
||||
} else {
|
||||
$status = 'В этом замке нет такого места!';
|
||||
}
|
||||
}
|
||||
|
||||
switch ($user->getRoom()) {
|
||||
case '37' :
|
||||
$backgroundImage = '689_small_550.jpg';
|
||||
break;
|
||||
case '41' :
|
||||
$backgroundImage = 'ko.jpg';
|
||||
break;
|
||||
$i = User::getInstance()->getRoom();
|
||||
if ($i == '37') {
|
||||
$backgroundImage = '689_small_550.jpg';
|
||||
} elseif ($i == '41') {
|
||||
$backgroundImage = 'ko.jpg';
|
||||
}
|
||||
|
||||
if ($user->getRoom() == 38) {
|
||||
if (User::getInstance()->getRoom() == 38) {
|
||||
$glava = db::c()->query('SELECT owner_id FROM `clans` WHERE `short` = "?s"', $user['klan'])->fetch_assoc();
|
||||
// возврат шмотки
|
||||
if ($_GET['back']) {
|
||||
@@ -62,28 +64,36 @@ if ($user->getRoom() == 38) {
|
||||
}
|
||||
}
|
||||
|
||||
if ($user->getRoom() == 40) {
|
||||
if (User::getInstance()->getRoom() == 40) {
|
||||
$at = db::c()->query('SELECT * FROM `variables` WHERE `var` = "?s"', 'gotzam_att')->fetch_assoc();
|
||||
$def = db::c()->query('SELECT * FROM `variables` WHERE `var` = "?s"', 'gotzam_def')->fetch_assoc();
|
||||
|
||||
if ($_GET['up'] == 'at') {
|
||||
if ($at[1] >= CASTLE_MAX_LEVEL) $status = 'Укрепление достигло максимального уровня!';
|
||||
if ($at[1] >= CASTLE_MAX_LEVEL) {
|
||||
$status = 'Укрепление достигло максимального уровня!';
|
||||
}
|
||||
elseif ((pow(52, $at[1] + 1)) <= $user['money']) {
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', pow(52, $at[1] + 1), $_SESSION['uid']);
|
||||
db::c()->query('UPDATE `variables` SET `value` = `value` + 1 WHERE `var` = "?s"', 'gotzam_att');
|
||||
$at += 1;
|
||||
} else $status = 'Не хватает денег!';
|
||||
} else {
|
||||
$status = 'Не хватает денег!';
|
||||
}
|
||||
}
|
||||
if ($_GET['up'] == 'def') {
|
||||
if ($def[1] >= CASTLE_MAX_LEVEL) $status = 'Укрепление достигло максимального уровня!';
|
||||
if ($def[1] >= CASTLE_MAX_LEVEL) {
|
||||
$status = 'Укрепление достигло максимального уровня!';
|
||||
}
|
||||
elseif ((pow(32, $def[1] + 1)) <= $user['money']) {
|
||||
db::c()->query('UPDATE `users` SET `money` = `money` - ?i WHERE `id` = ?i', pow(52, $def[1] + 1), $_SESSION['uid']);
|
||||
db::c()->query('UPDATE `variables` SET `value` = `value` + 1 WHERE `var` = "?s"', 'gotzam_def');
|
||||
$def += 1;
|
||||
} else $status = 'Не хватает денег!';
|
||||
} else {
|
||||
$status = 'Не хватает денег!';
|
||||
}
|
||||
}
|
||||
}
|
||||
\Battles\Template::header('Клановый замок');
|
||||
Template::header('Клановый замок');
|
||||
?>
|
||||
<script src="js/main.js"></script>
|
||||
<style>
|
||||
@@ -96,7 +106,9 @@ if ($user->getRoom() == 40) {
|
||||
<div style="text-align: right;">
|
||||
<button onClick="hrefToFrame('city.php?bps')">Вернуться</button>
|
||||
</div>
|
||||
<div><?php if (!empty($status)) err($status); ?></div>
|
||||
<div><?php if (!empty($status)) {
|
||||
err($status);
|
||||
} ?></div>
|
||||
|
||||
<?php
|
||||
if ($castleOwners['id'] == $user['klan']) { ?>
|
||||
@@ -106,32 +118,32 @@ if ($castleOwners['id'] == $user['klan']) { ?>
|
||||
<TD valign=top style="width:250px;">
|
||||
<INPUT TYPE=button style="width:200px;" value="Перейти в приемную"
|
||||
onClick="hrefToFrame('gotzamok.php?goto=home')">
|
||||
<? if ($user->getRoom() == 37): ?>
|
||||
<? if (User::getInstance()->getRoom() == 37): ?>
|
||||
<img src='i/flag.gif'>
|
||||
<?php endif; ?><BR>
|
||||
<INPUT TYPE=button style="width:200px;" value="Перейти в арсенал"
|
||||
onClick="hrefToFrame('gotzamok.php?goto=arsenal')">
|
||||
<? if ($user->getRoom() == 38): ?>
|
||||
<? if (User::getInstance()->getRoom() == 38): ?>
|
||||
<img src='i/flag.gif'>
|
||||
<?php endif; ?><BR>
|
||||
<INPUT TYPE=button style="width:200px;" value="Перейти во внутренний двор"
|
||||
onClick="hrefToFrame('gotzamok.php?goto=dvor')">
|
||||
<? if ($user->getRoom() == 39): ?>
|
||||
<? if (User::getInstance()->getRoom() == 39): ?>
|
||||
<img src='i/flag.gif'>
|
||||
<?php endif; ?><BR>
|
||||
<INPUT TYPE=button style="width:200px;" value="Перейти в мастерские"
|
||||
onClick="hrefToFrame('gotzamok.php?goto=master')">
|
||||
<? if ($user->getRoom() == 40): ?>
|
||||
<? if (User::getInstance()->getRoom() == 40): ?>
|
||||
<img src='i/flag.gif'>
|
||||
<?php endif; ?><BR>
|
||||
<INPUT TYPE=button style="width:200px;" value="Перейти в опочивальни"
|
||||
onClick="hrefToFrame('gotzamok.php?goto=rest')">
|
||||
<? if ($user->getRoom() == 41): ?>
|
||||
<? if (User::getInstance()->getRoom() == 41): ?>
|
||||
<img src='i/flag.gif'>
|
||||
<?php endif; ?><BR>
|
||||
</td>
|
||||
<td valign=top>
|
||||
<?php if ($user->getRoom() == 38): ?>
|
||||
<?php if (User::getInstance()->getRoom() == 38): ?>
|
||||
<h4>Арсенал</h4>
|
||||
<button onClick="hrefToFrame('gotzamok.php?do=zdat')">Сдать в арсенал</button>
|
||||
<div style="background: silver; border: 1px solid dimgray;">
|
||||
@@ -174,7 +186,7 @@ if ($castleOwners['id'] == $user['klan']) { ?>
|
||||
<?php
|
||||
endif;
|
||||
endif;
|
||||
if ($user->getRoom() == 40): ?>
|
||||
if (User::getInstance()->getRoom() == 40): ?>
|
||||
<h4>Мастерские</h4>
|
||||
<div style="background: silver; border: 1px solid dimgray;">
|
||||
Здесь вы можете улучшить оборонные способности вашего замка.
|
||||
@@ -191,7 +203,7 @@ if ($castleOwners['id'] == $user['klan']) { ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;
|
||||
if ($user->getRoom() == 41): ?>
|
||||
if (User::getInstance()->getRoom() == 41): ?>
|
||||
<h4>Комнаты отдыха</h4>
|
||||
<div style="background: silver; border: 1px solid dimgray;">
|
||||
Посиди в тишине, внутри стен. Тут нет врагов. Тут спокойно.
|
||||
@@ -200,4 +212,6 @@ if ($castleOwners['id'] == $user['klan']) { ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<? } else $status = 'Ворота замка закрыты, привратник отказывается даже разговаривать с тобой...'; ?>
|
||||
<? } else {
|
||||
$status = 'Ворота замка закрыты, привратник отказывается даже разговаривать с тобой...';
|
||||
} ?>
|
||||
Reference in New Issue
Block a user