Рефакторинг, очистка, работа над ошибками, связанными с базой, отказ от глобальной переменной $user во многих файлах.
Singleton в некоторых местах вместо решения #42. Новые шаги для решения #16 и #52. Closes #42. Closes #32. Closes #31.
This commit is contained in:
+32
-18
@@ -1,28 +1,30 @@
|
||||
<?php
|
||||
|
||||
// Здание регистратуры!
|
||||
use Battles\Bank;
|
||||
use Battles\GameConfigs;
|
||||
use Battles\Rooms;
|
||||
use Battles\Template;
|
||||
use Battles\User;
|
||||
use Battles\Database\Db;
|
||||
|
||||
require_once 'functions.php';
|
||||
$userClan = db::c()->query('SELECT short_name, full_name, info FROM clans where owner_id = ?i', $user->getId())->fetch_object();
|
||||
$userClan = Db::getInstance()->ofetch('select * from clans where owner_id = ?', User::getInstance()->getId());
|
||||
$clanFullName = $_POST['clan_full_name'] ?? '';
|
||||
$clanShortName = $_POST['clan_short_name'] ?? '';
|
||||
$clanInfo = $_POST['clan_info'] ?? '';
|
||||
$userBank = new Bank($user->getId());
|
||||
$userBank = new Bank(User::getInstance()->getId());
|
||||
if ($clanFullName && $clanShortName && $clanInfo && !$userClan) {
|
||||
|
||||
$eff = db::c()->query('SELECT 1 FROM users_effects WHERE type = 20 AND owner_id = ?i', $user->getId());
|
||||
$name_check = db::c()->query('SELECT owner_id FROM clans WHERE full_name = "?s" OR short_name = "?s"', $clanFullName, $clanShortName);
|
||||
$eff = Db::getInstance()->execute('select count(*) from users_effects where type = 20 and owner_id = ?', User::getInstance()->getId())->fetchColumn();
|
||||
$name_check = Db::getInstance()->execute('select count(*) from clans where full_name = ? or short_name = ?', [$clanFullName, $clanShortName])->fetchColumn();
|
||||
$errorMessage = [];
|
||||
if (GameConfigs::CLAN['clan_register_lock']) {
|
||||
$errorMessage[10] = 'Регистрация кланов закрыта! <BR>';
|
||||
}
|
||||
if ($user->getAlign()) {
|
||||
if (User::getInstance()->getAlign()) {
|
||||
$errorMessage[0] = 'Вы уже имеете направленность!. <BR>';
|
||||
}
|
||||
if ($user->getClan()) {
|
||||
if (User::getInstance()->getClan()) {
|
||||
$errorMessage[1] = 'Вы уже состоите в клане!. <BR>';
|
||||
}
|
||||
if (GameConfigs::CLAN['clan_register_cost'] >= $userBank->getMoney()) {
|
||||
@@ -34,11 +36,11 @@ if ($clanFullName && $clanShortName && $clanInfo && !$userClan) {
|
||||
if (!$name_check) {
|
||||
$errorMessage[4] = 'Клан с такими данными уже существует.<br>';
|
||||
}
|
||||
if (!$errorMessage || $user->getAdmin()) {
|
||||
if (!$errorMessage || User::getInstance()->getAdmin()) {
|
||||
try {
|
||||
db::c()->query('INSERT INTO clans (owner_id, full_name, short_name, info) VALUES (?i,"?s","?s","?s")', $user->getId(), $clanFullName, $clanShortName, $clanInfo);
|
||||
Db::getInstance()->execute('insert into clans (owner_id, full_name, short_name, info) values (?,?,?,?)', [User::getInstance()->getId(), $clanFullName, $clanShortName, $clanInfo]);
|
||||
$userBank->setMoney($userBank->getMoney() - GameConfigs::CLAN['clan_register_cost']);
|
||||
Battles\Bank::setBankMoney($userBank->getMoney(), $user->getId(), 'clanRegister');
|
||||
Battles\Bank::setBankMoney($userBank->getMoney(), User::getInstance()->getId(), 'clanRegister');
|
||||
// Заглушка для отображения данных по только что зарегистрированному клану, когда запрос в базу в начале файла ещё не проходит.
|
||||
$userClan = new stdClass();
|
||||
$userClan->full_name = $clanFullName;
|
||||
@@ -61,10 +63,16 @@ if ($userClan): ?>
|
||||
<div>
|
||||
<fieldset style="display: inline;">
|
||||
<legend>Заявка на регистрацию</legend>
|
||||
<input size=30 disabled value="<?= $userClan->full_name ?>">
|
||||
<input size=30 disabled value="<?= $userClan->short_name ?>"><BR>
|
||||
<label>
|
||||
<input size=30 disabled value="<?= $userClan->full_name ?>">
|
||||
</label>
|
||||
<label>
|
||||
<input size=30 disabled value="<?= $userClan->short_name ?>">
|
||||
</label><BR>
|
||||
<BR>
|
||||
<textarea cols=80 rows=10 disabled><?= nl2br($userClan->info) ?></textarea><BR>
|
||||
<label>
|
||||
<textarea cols=80 rows=10 disabled><?= nl2br($userClan->info) ?></textarea>
|
||||
</label><BR>
|
||||
<button disabled>Заявка подана и рассматривается</button>
|
||||
</fieldset>
|
||||
</div>
|
||||
@@ -73,12 +81,18 @@ if ($userClan): ?>
|
||||
<form method="post">
|
||||
<fieldset style="display: inline;">
|
||||
<legend>Заявка на регистрацию</legend>
|
||||
<input size=30 name="clan_full_name" placeholder="Название клана" value="<?= $clanFullName ?>">
|
||||
<input size=30 name="clan_short_name" maxlength="5" placeholder="Английская аббревиатура"
|
||||
value="<?= $clanShortName ?>"><BR>
|
||||
<label>
|
||||
<input size=30 name="clan_full_name" placeholder="Название клана" value="<?= $clanFullName ?>">
|
||||
</label>
|
||||
<label>
|
||||
<input size=30 name="clan_short_name" maxlength="5" placeholder="Английская аббревиатура"
|
||||
value="<?= $clanShortName ?>">
|
||||
</label><BR>
|
||||
<BR>
|
||||
<textarea cols=80 rows=10 name="clan_info"
|
||||
placeholder="Информация о клане для энциклопедии"><?= nl2br($clanInfo) ?></textarea><BR>
|
||||
<label>
|
||||
<textarea cols=80 rows=10 name="clan_info"
|
||||
placeholder="Информация о клане для энциклопедии"><?= nl2br($clanInfo) ?></textarea>
|
||||
</label><BR>
|
||||
<input type="submit" value="Подать заявку">
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user