2018-01-28 16:40:49 +00:00
|
|
|
|
<?php
|
2021-02-01 16:42:52 +00:00
|
|
|
|
|
|
|
|
|
use Battles\Bank;
|
2021-03-10 21:03:59 +00:00
|
|
|
|
use Battles\GameConfigs;
|
2021-02-01 16:42:52 +00:00
|
|
|
|
use Battles\Rooms;
|
|
|
|
|
use Battles\Template;
|
|
|
|
|
|
2018-01-28 16:40:49 +00:00
|
|
|
|
session_start();
|
2020-09-29 10:07:08 +00:00
|
|
|
|
require_once 'functions.php';
|
2021-02-01 16:42:52 +00:00
|
|
|
|
$userClan = db::c()->query('SELECT short_name, full_name, info FROM clans where owner_id = ?i', $user->getId())->fetch_object();
|
2020-10-28 13:04:29 +00:00
|
|
|
|
$clanFullName = $_POST['clan_full_name'] ?? '';
|
|
|
|
|
$clanShortName = $_POST['clan_short_name'] ?? '';
|
|
|
|
|
$clanInfo = $_POST['clan_info'] ?? '';
|
2021-02-01 16:42:52 +00:00
|
|
|
|
$userBank = new Bank($user->getId());
|
2020-10-28 13:04:29 +00:00
|
|
|
|
if ($clanFullName && $clanShortName && $clanInfo && !$userClan) {
|
2018-01-28 16:40:49 +00:00
|
|
|
|
|
2021-02-01 16:42:52 +00:00
|
|
|
|
$eff = db::c()->query('SELECT 1 FROM users_effects WHERE type = 20 AND owner_id = ?i', $user->getId());
|
2020-10-28 13:04:29 +00:00
|
|
|
|
$name_check = db::c()->query('SELECT owner_id FROM clans WHERE full_name = "?s" OR short_name = "?s"', $clanFullName, $clanShortName);
|
2020-10-27 16:53:00 +00:00
|
|
|
|
$errorMessage = [];
|
2021-08-25 01:44:36 +00:00
|
|
|
|
if (GameConfigs::CLAN['clan_register_lock']) {
|
2020-10-28 13:04:29 +00:00
|
|
|
|
$errorMessage[10] = 'Регистрация кланов закрыта! <BR>';
|
|
|
|
|
}
|
2021-02-01 16:42:52 +00:00
|
|
|
|
if ($user->getAlign()) {
|
2020-10-27 16:53:00 +00:00
|
|
|
|
$errorMessage[0] = 'Вы уже имеете направленность!. <BR>';
|
2020-06-23 08:49:49 +00:00
|
|
|
|
}
|
2021-02-01 16:42:52 +00:00
|
|
|
|
if ($user->getClan()) {
|
2020-10-27 16:53:00 +00:00
|
|
|
|
$errorMessage[1] = 'Вы уже состоите в клане!. <BR>';
|
2020-06-23 08:49:49 +00:00
|
|
|
|
}
|
2021-08-25 01:44:36 +00:00
|
|
|
|
if (GameConfigs::CLAN['clan_register_cost'] >= $userBank->getMoney()) {
|
2020-10-27 16:53:00 +00:00
|
|
|
|
$errorMessage[2] = 'Не хватает денег на регистрацию клана. <BR>';
|
2020-06-23 08:49:49 +00:00
|
|
|
|
}
|
|
|
|
|
if (!$eff) {
|
2020-10-27 16:53:00 +00:00
|
|
|
|
$errorMessage[3] = 'Нет проверки. <BR>';
|
2020-06-23 08:49:49 +00:00
|
|
|
|
}
|
|
|
|
|
if (!$name_check) {
|
2020-10-27 16:53:00 +00:00
|
|
|
|
$errorMessage[4] = 'Клан с такими данными уже существует.<br>';
|
2020-06-23 08:49:49 +00:00
|
|
|
|
}
|
2021-02-01 19:20:23 +00:00
|
|
|
|
if (!$errorMessage || $user->getAdmin()) {
|
2020-10-28 13:04:29 +00:00
|
|
|
|
try {
|
2021-02-01 16:42:52 +00:00
|
|
|
|
db::c()->query('INSERT INTO clans (owner_id, full_name, short_name, info) VALUES (?i,"?s","?s","?s")', $user->getId(), $clanFullName, $clanShortName, $clanInfo);
|
2021-08-25 01:44:36 +00:00
|
|
|
|
$userBank->setMoney($userBank->getMoney() - GameConfigs::CLAN['clan_register_cost']);
|
2021-02-01 16:42:52 +00:00
|
|
|
|
Battles\Bank::setBankMoney($userBank->getMoney(), $user->getId(), 'clanRegister');
|
2020-10-28 13:04:29 +00:00
|
|
|
|
// Заглушка для отображения данных по только что зарегистрированному клану, когда запрос в базу в начале файла ещё не проходит.
|
|
|
|
|
$userClan = new stdClass();
|
|
|
|
|
$userClan->full_name = $clanFullName;
|
|
|
|
|
$userClan->short_name = $clanShortName;
|
|
|
|
|
$userClan->info = $clanInfo;
|
|
|
|
|
unset($clanShortName, $clanFullName, $clanInfo);
|
|
|
|
|
echo 'Заявка на регистрацию клана подана.';
|
|
|
|
|
} catch (Throwable $exception) {
|
|
|
|
|
echo '<div style="background-color: #fae0e0;"><span class="error">Ошибка записи в базу!</span><br>' . $exception . '</div>';
|
|
|
|
|
}
|
2020-06-23 08:49:49 +00:00
|
|
|
|
} else {
|
2020-10-27 16:53:00 +00:00
|
|
|
|
foreach ($errorMessage as $error) {
|
|
|
|
|
echo sprintf('<span class="error">%s</span>', $error);
|
|
|
|
|
}
|
2020-06-23 08:49:49 +00:00
|
|
|
|
}
|
2018-03-23 18:26:02 +00:00
|
|
|
|
}
|
2021-02-01 16:42:52 +00:00
|
|
|
|
Template::header(Rooms::$roomNames[30]);
|
|
|
|
|
Template::buildingTop(Rooms::$roomNames[30], 'strah');
|
2020-10-28 13:04:29 +00:00
|
|
|
|
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>
|
|
|
|
|
<BR>
|
|
|
|
|
<textarea cols=80 rows=10 disabled><?= nl2br($userClan->info) ?></textarea><BR>
|
|
|
|
|
<button disabled>Заявка подана и рассматривается</button>
|
|
|
|
|
</fieldset>
|
|
|
|
|
</div>
|
|
|
|
|
<?php else: ?>
|
|
|
|
|
<div>
|
|
|
|
|
<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>
|
|
|
|
|
<BR>
|
|
|
|
|
<textarea cols=80 rows=10 name="clan_info"
|
|
|
|
|
placeholder="Информация о клане для энциклопедии"><?= nl2br($clanInfo) ?></textarea><BR>
|
|
|
|
|
<input type="submit" value="Подать заявку">
|
|
|
|
|
</fieldset>
|
|
|
|
|
</form>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
Для регистрации клана необходимо иметь:
|
|
|
|
|
<ol>
|
|
|
|
|
<li>Проверку на чистоту. У вас её нет.
|
|
|
|
|
<li>10000 кредитов на банковском счёте. У вас на счету <?= $userBank->getMoney() ?>.
|
|
|
|
|
</ol>
|
|
|
|
|
Поле информации не обазательное. Но его содержимое может серьёзно повысить шансы на регистрацию клана.<BR>
|
|
|
|
|
Заявку на регистрацию подает глава клана.
|
|
|
|
|
</div>
|
|
|
|
|
<?php endif; ?>
|