From f1b9ce6a45ed8fbcc3557d3a074a51ef41acf229 Mon Sep 17 00:00:00 2001 From: lopar Date: Wed, 28 Oct 2020 15:04:29 +0200 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B1=D0=BE=D1=87=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=B7=D0=B0=D1=8F=D0=B2=D0=BA=D0=B0=20=D0=BD=D0=B0=20=D1=80?= =?UTF-8?q?=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D1=8E=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D0=BD=D0=B0.=20=D0=A0=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=87=D0=B0=D1=8F=20=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=80=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clan_create.php | 132 +++++++++++++++++++++++------------------------ classes/City.php | 2 +- 2 files changed, 66 insertions(+), 68 deletions(-) diff --git a/clan_create.php b/clan_create.php index a2d1540..2ad6aad 100644 --- a/clan_create.php +++ b/clan_create.php @@ -10,23 +10,26 @@ if ($user->room != 30) { header("Location: main.php"); exit; } -$klanName = $_POST['klanname'] ?? ''; -$klanAbbr = $_POST['klanabbr'] ?? ''; -$klanDescr = $_POST['klandescr'] ?? ''; +$userClan = db::c()->query('SELECT short_name, full_name, info FROM clans where owner_id = ?i', $user->id)->fetch_object(); +$clanFullName = $_POST['clan_full_name'] ?? ''; +$clanShortName = $_POST['clan_short_name'] ?? ''; +$clanInfo = $_POST['clan_info'] ?? ''; +$userBank = new Bank($user->id); +if ($clanFullName && $clanShortName && $clanInfo && !$userClan) { -if ($klanName && $klanAbbr && $klanDescr) { - - $eff = db::c()->query('SELECT 1 FROM `effects` WHERE `owner` = ?i AND `type` = 20', $user->id); - $name_check = db::c()->query('SELECT 1 FROM `clans` WHERE `name` = "?s" OR `short` = "?s"', 111, 333); + $eff = db::c()->query('SELECT 1 FROM users_effects WHERE type = 20 AND owner_id = ?i', $user->id); + $name_check = db::c()->query('SELECT owner_id FROM clans WHERE full_name = "?s" OR short_name = "?s"', $clanFullName, $clanShortName); $errorMessage = []; - + if (Config::$clan_register_lock) { + $errorMessage[10] = 'Регистрация кланов закрыта!
'; + } if ($user->align) { $errorMessage[0] = 'Вы уже имеете направленность!.
'; } if ($user->clan) { $errorMessage[1] = 'Вы уже состоите в клане!.
'; } - if (Config::$clan_register_cost >= $user->money) { + if (Config::$clan_register_cost >= $userBank->getMoney()) { $errorMessage[2] = 'Не хватает денег на регистрацию клана.
'; } if (!$eff) { @@ -35,67 +38,62 @@ if ($klanName && $klanAbbr && $klanDescr) { if (!$name_check) { $errorMessage[4] = 'Клан с такими данными уже существует.
'; } - - if (!$errorMessage && !Config::$clan_register_lock) { -// db::c()->query('INSERT INTO `reg_klan` (owner, name, abr, descr) VALUES (?i,"?s","?s","?s")', -// $user->id, $klanName, $klanAbbr, $klanDescr); - $user->money -= Config::$clan_register_cost; - Bank::setBankMoney($user->money, $user->id); - echo 'Заявка на регистрацию клана подана.'; - err('Проверки пройдены, но клан регистрировать пока нельзя!'); + if (!$errorMessage || $user->admin) { + try { + db::c()->query('INSERT INTO clans (owner_id, full_name, short_name, info) VALUES (?i,"?s","?s","?s")', $user->id, $clanFullName, $clanShortName, $clanInfo); + $userBank->setMoney($userBank->getMoney() - Config::$clan_register_cost); + Bank::setBankMoney($userBank->getMoney(), $user->id, 'clanRegister'); + // Заглушка для отображения данных по только что зарегистрированному клану, когда запрос в базу в начале файла ещё не проходит. + $userClan = new stdClass(); + $userClan->full_name = $clanFullName; + $userClan->short_name = $clanShortName; + $userClan->info = $clanInfo; + unset($clanShortName, $clanFullName, $clanInfo); + echo 'Заявка на регистрацию клана подана.'; + } catch (Throwable $exception) { + echo '
Ошибка записи в базу!
' . $exception . '
'; + } } else { foreach ($errorMessage as $error) { echo sprintf('%s', $error); } } } -Template::header('Регистратура кланов'); -?> - -

Регистратура кланов

- ← выйти из регистратуры -admin) { - $clanreg = []; - $clanPremoderationList = [] - - //$clanPremoderationList = db::c()->query('SELECT * FROM clans WHERE approved = 0'); - foreach ($clanPremoderationList->fetch_object() as $clan) { - echo sprintf('
%s %s
%s
', $clan->date, $clan->name, $clan->owner); - } - //$clanreg = db::c()->query('SELECT `date`,`name`,`abbr`,`owner`,`descr` FROM `reg_klan`')->fetch_assoc(); - echo ''; - while ($clanreg_row = $clanreg) { - echo " - - - - - - "; - } - echo '
", $clanreg_row['date'], "", $clanreg_row['name'], "", $clanreg_row['abbr'], "", Nick::id($clanreg_row['owner'])->full(), "", nl2br($clanreg_row['descr']), "
'; -} -?> -Для регистрации клана необходимо иметь: -
    -
  1. Проверку на чистоту. -
  2. 10000 кредитов на банковском счёте. -
-Поле информации не обазательное. Но его содержимое может серьёзно повысить шансы на регистрацию клана.
-Заявку на регистрацию подает глава клана. -
-
- Заявка на регистрацию - -
-
-
- -
-
\ No newline at end of file +Template::header(Rooms::$roomNames[30]); +Template::buildingTop(Rooms::$roomNames[30], 'strah'); +if ($userClan): ?> +
+
+ Заявка на регистрацию + +
+
+
+ +
+
+ +
+
+
+ Заявка на регистрацию + +
+
+
+ +
+
+
+
+ Для регистрации клана необходимо иметь: +
    +
  1. Проверку на чистоту. У вас её нет. +
  2. 10000 кредитов на банковском счёте. У вас на счету getMoney() ?>. +
+ Поле информации не обазательное. Но его содержимое может серьёзно повысить шансы на регистрацию клана.
+ Заявку на регистрацию подает глава клана. +
+ \ No newline at end of file diff --git a/classes/City.php b/classes/City.php index 67e2005..db25c92 100644 --- a/classes/City.php +++ b/classes/City.php @@ -26,7 +26,7 @@ class City self::showBuilding(4, "cap_arr_left", 258, 21, self::$roomNames[20]) . self::showBuilding(5, "spring_cap_bank", 180, 485, self::$roomNames[29]) . self::showBuilding(13, "spring_cap_flowershop", 220, 613, self::$roomNames[34]) . - self::showBuilding(14, "spring_cap_registratura", 170, 113, self::$roomNames[28]) . + self::showBuilding(14, "spring_cap_registratura", 170, 113, self::$roomNames[30]) . self::showBuilding(16, "spring_cap_tower", 5, 315, self::$roomNames[31]) . ''; } elseif ($id === 26) {