2018-01-28 16:40:49 +00:00
< ? php
2022-01-26 23:15:33 +00:00
// Здание регистратуры!
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 ;
2022-01-26 23:15:33 +00:00
use Battles\User ;
use Battles\Database\Db ;
2021-02-01 16:42:52 +00:00
2020-09-29 10:07:08 +00:00
require_once 'functions.php' ;
2022-01-26 23:15:33 +00:00
$userClan = Db :: getInstance () -> ofetch ( 'select * from clans where owner_id = ?' , User :: getInstance () -> getId ());
2020-10-28 13:04:29 +00:00
$clanFullName = $_POST [ 'clan_full_name' ] ? ? '' ;
$clanShortName = $_POST [ 'clan_short_name' ] ? ? '' ;
$clanInfo = $_POST [ 'clan_info' ] ? ? '' ;
2022-01-26 23:15:33 +00:00
$userBank = new Bank ( User :: getInstance () -> getId ());
2020-10-28 13:04:29 +00:00
if ( $clanFullName && $clanShortName && $clanInfo && ! $userClan ) {
2018-01-28 16:40:49 +00:00
2022-01-26 23:15:33 +00:00
$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 ();
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>' ;
}
2022-01-26 23:15:33 +00:00
if ( User :: getInstance () -> getAlign ()) {
2020-10-27 16:53:00 +00:00
$errorMessage [ 0 ] = 'Вы уже имеете направленность!. <BR>' ;
2020-06-23 08:49:49 +00:00
}
2022-01-26 23:15:33 +00:00
if ( User :: getInstance () -> 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
}
2022-01-26 23:15:33 +00:00
if ( ! $errorMessage || User :: getInstance () -> getAdmin ()) {
2020-10-28 13:04:29 +00:00
try {
2022-01-26 23:15:33 +00:00
Db :: getInstance () -> execute ( 'insert into clans (owner_id, full_name, short_name, info) values (?,?,?,?)' , [ User :: getInstance () -> getId (), $clanFullName , $clanShortName , $clanInfo ]);
2021-08-25 01:44:36 +00:00
$userBank -> setMoney ( $userBank -> getMoney () - GameConfigs :: CLAN [ 'clan_register_cost' ]);
2022-01-26 23:15:33 +00:00
Battles\Bank :: setBankMoney ( $userBank -> getMoney (), User :: getInstance () -> 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 >
2022-01-26 23:15:33 +00:00
< label >
< input size = 30 disabled value = " <?= $userClan->full_name ?> " >
</ label >
< label >
< input size = 30 disabled value = " <?= $userClan->short_name ?> " >
</ label >< BR >
2020-10-28 13:04:29 +00:00
< BR >
2022-01-26 23:15:33 +00:00
< label >
< textarea cols = 80 rows = 10 disabled >< ? = nl2br ( $userClan -> info ) ?> </textarea>
</ label >< BR >
2020-10-28 13:04:29 +00:00
< button disabled > Заявка подана и рассматривается </ button >
</ fieldset >
</ div >
< ? php else : ?>
< div >
< form method = " post " >
< fieldset style = " display: inline; " >
< legend > Заявка на регистрацию </ legend >
2022-01-26 23:15:33 +00:00
< 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 >
2020-10-28 13:04:29 +00:00
< BR >
2022-01-26 23:15:33 +00:00
< label >
< textarea cols = 80 rows = 10 name = " clan_info "
placeholder = " Информация о клане для энциклопедии " >< ? = nl2br ( $clanInfo ) ?> </textarea>
</ label >< BR >
2020-10-28 13:04:29 +00:00
< input type = " submit " value = " Подать заявку " >
</ fieldset >
</ form >
</ div >
< div >
Для регистрации клана необходимо иметь :
< ol >
< li > Проверку на чистоту . У вас её нет .
< li > 10000 кредитов на банковском счёте . У вас на счету < ? = $userBank -> getMoney () ?> .
</ ol >
Поле информации не обазательное . Н о е г о содержимое может серьёзно повысить шансы на регистрацию клана .< BR >
Заявку на регистрацию подает глава клана .
</ div >
< ? php endif ; ?>