<?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::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::getInstance()->getId()); if ($clanFullName && $clanShortName && $clanInfo && !$userClan) { $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::getInstance()->getAlign()) { $errorMessage[0] = 'Вы уже имеете направленность!. <BR>'; } if (User::getInstance()->getClan()) { $errorMessage[1] = 'Вы уже состоите в клане!. <BR>'; } if (GameConfigs::CLAN['clan_register_cost'] >= $userBank->getMoney()) { $errorMessage[2] = 'Не хватает денег на регистрацию клана. <BR>'; } if (!$eff) { $errorMessage[3] = 'Нет проверки. <BR>'; } if (!$name_check) { $errorMessage[4] = 'Клан с такими данными уже существует.<br>'; } if (!$errorMessage || User::getInstance()->getAdmin()) { try { 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::getInstance()->getId(), 'clanRegister'); // Заглушка для отображения данных по только что зарегистрированному клану, когда запрос в базу в начале файла ещё не проходит. $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>'; } } else { foreach ($errorMessage as $error) { echo sprintf('<span class="error">%s</span>', $error); } } } Template::header(Rooms::$roomNames[30]); Template::buildingTop(Rooms::$roomNames[30], 'strah'); if ($userClan): ?> <div> <fieldset style="display: inline;"> <legend>Заявка на регистрацию</legend> <label> <input size=30 disabled value="<?= $userClan->full_name ?>"> </label> <label> <input size=30 disabled value="<?= $userClan->short_name ?>"> </label><BR> <BR> <label> <textarea cols=80 rows=10 disabled><?= nl2br($userClan->info) ?></textarea> </label><BR> <button disabled>Заявка подана и рассматривается</button> </fieldset> </div> <?php else: ?> <div> <form method="post"> <fieldset style="display: inline;"> <legend>Заявка на регистрацию</legend> <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> <label> <textarea cols=80 rows=10 name="clan_info" placeholder="Информация о клане для энциклопедии"><?= nl2br($clanInfo) ?></textarea> </label><BR> <input type="submit" value="Подать заявку"> </fieldset> </form> </div> <div> Для регистрации клана необходимо иметь: <ol> <li>Проверку на чистоту. У вас её нет. <li>10000 кредитов на банковском счёте. У вас на счету <?= $userBank->getMoney() ?>. </ol> Поле информации не обазательное. Но его содержимое может серьёзно повысить шансы на регистрацию клана.<BR> Заявку на регистрацию подает глава клана. </div> <?php endif; ?>