From cbbbb8a3c6740d62f03b40b11ff8941109ccad01 Mon Sep 17 00:00:00 2001 From: lopar Date: Mon, 23 Aug 2021 23:23:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9A=D0=BB=D0=B0=D0=BD=20=D1=83=D0=B5=D1=85?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=B2=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81.=20?= =?UTF-8?q?=D0=9D=D0=90=D0=9A=D0=9E=D0=9D=D0=95=D0=A6=20=D0=BF=D0=BE=D0=BD?= =?UTF-8?q?=D1=8F=D1=82=D0=BD=D0=BE,=20=D1=87=D1=82=D0=BE=20=D1=85=D0=BE?= =?UTF-8?q?=D1=82=D0=B5=D0=BB=20=D0=BE=D1=82=20=D0=BC=D0=B5=D0=BD=D1=8F=20?= =?UTF-8?q?=D0=BB=D0=B8=D0=BD=D1=82=D0=B5=D1=80=20=D1=81=20=D0=B8=D0=BD?= =?UTF-8?q?=D0=B8=D1=86=D0=B8=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD?= =?UTF-8?q?=D1=96=D1=85=20=D0=B2=D0=BD=D1=83=D1=82=D1=80=D0=B8=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clan.php | 276 ++++++++++++--------------------------- classes/Battles/Clan.php | 120 +++++++++++++++++ 2 files changed, 202 insertions(+), 194 deletions(-) create mode 100644 classes/Battles/Clan.php diff --git a/clan.php b/clan.php index d466c2c..4c48a3f 100644 --- a/clan.php +++ b/clan.php @@ -1,227 +1,115 @@ getClan()) { - exit(err('Вы не состоите в клане!')); -} -try { - $clanRow = $db->fetch('SELECT * FROM `clans` WHERE short_name = ?', $user->getClan()); -} catch (Exception $e) { - echo "
MYSQL_ERROR: Таблица clans сломана!
"; -} -define('COST_ADD_MEMBER', 100); -define('COST_REMOVE_MEMBER', 30); -define('CASTLE_REPUTATION_NEEDED', 1000000); -define('CASTLE_COST', 25000); -$status = null; -$action = $_POST['action'] ?? 0; -$login = $_POST['login'] ?? 0; -$zamok = $_POST['zamok'] ?? null; -$kr = $_POST['kr'] ?? null; -$kolv = $_POST['kolv'] ?? null; -$newClanStatus = $_POST['new_status'] ?? null; -$vin = $_POST['vin'] ?? null; -$tus = $_POST['tus'] ?? null; -$lock = true; // блокировка функций - -if ($zamok && !$lock) { - $db->execute('UPDATE `clans` SET `zamok` = 1 WHERE `glava` = ?', $user->getId()); - $status = "Начат сбор средств на строительство Кланового Замка."; - header("Location: clan.php"); -} -if ($kr && $kolv > 0 && !$lock) { - if ($user->getMoney() >= $kolv) { - $db->execute('UPDATE clans SET zbor = zbor + ? WHERE id = ?', [$kolv, $user->getClan()]); - Bank::setWalletMoney($user->setMoney($user->getMoney() - $kolv), $user->getId()); - header("Location: clan.php"); - } else { - $status = 'Не хватает денег!'; - } -} -if ($login && $action == 'add_member') { - $sok = $db->fetch('SELECT id, level, clan FROM users WHERE align = 0 AND login = ?', $login); - $proverka = $db->fetch('SELECT 1 FROM users_effects WHERE type = 20 AND owner_id = ?', $sok['id']); - if (!$proverka) { - echo "Нет проверки!"; - } elseif ($sok['clan']) { - echo 'Персонаж уже состоит в клане!'; - } elseif ($sok['level'] > 0 && $user->getMoney() >= COST_ADD_MEMBER) { - Bank::setWalletMoney($user->setMoney($user->getMoney() - COST_ADD_MEMBER), $user->getId()); - $db->execute('UPDATE users SET clan = ?, align = ? WHERE id = ?', [$clanRow['id'], $clanRow['align'], $sok['id']]); - $status = "Персонаж «{$login}» успешно принят в клан."; - } else { - $status = 'Не хватает денег, или персонажа не существует.'; - } + exit('Ошибка! Вы не состоите в клане!'); } -if ($login) { - $sok = $db->fetch('SELECT id FROM users WHERE clan = ? AND login = ?', [$clanRow['id'], $login]); - if ($action == 'remove_member' && $sok['id'] != $clanRow['owner_id'] && $user->getMoney() >= COST_REMOVE_MEMBER) { - Bank::setWalletMoney($user->setMoney($user->getMoney() - COST_REMOVE_MEMBER), $user->getId()); - $db->execute('UPDATE users SET clan = null, align = 0 WHERE id = ?', $sok['id']); - $status = "Персонаж «{$login}» покинул клан."; - } - if ($action == 'change_owner' && $clanRow['owner_id'] == $user->getId()) { - $db->execute('UPDATE clans SET owner_id = ? WHERE id = ?', [$sok['id'], $clanRow['id']]); - $clanRow['owner_id'] = $sok['id']; - } - if ($action == 'edit_status' && !$lock) { - if ($sok['id'] != $clanRow['owner_id']) { - if ($newClanStatus) { - $st = strip_tags(str_replace("<", "<", str_replace(">", ">", $newClanStatus)), ""); - $db->execute('UPDATE users SET status = ? WHERE id = ?', [$st, $sok['id']]); - $sok['status'] = $st; - } - } else { - $status = 'Главу клана редактировать запрещено!'; - } - } +Clan::$current = new Clan($user, $db); +if ($user->getClan() != Clan::$current->getClanShortName()) { + exit('Ошибка! Клана ' . $user->getClan() . ' не существует!'); } -$clan_memberlist = $db->fetchAll('SELECT id, login, level, align, (SELECT id FROM online WHERE date >= ? AND id = users.id) AS online FROM users WHERE clan = ? ORDER BY online DESC, login', [time() - 60, $clanRow['short_name']]); Template::header('clan'); -$clanRow['zamok'] = null; //Замков нет! -$clanRow['rating'] = null; //рейтов тоже! -$clanRow['zbor'] = null; // И копилки. ?> +
- + + + + addMember($_POST['login']) ?> + + + removeMember($_POST['login']) ?> + + + changeOwner($_POST['login']) ?> + + +
- - - - - -
-

-

+
+
+

<?= Clan::$current->getClanShortName() ?>getClanName() ?>

- getId()): ?> -
+ getClanOwnerId() === $user->getId()): ?> +
- (стоимость услуги: кр.) -
-
+ [стоимость: ] +
+
- (стоимость услуги: кр.) -
- - - getId()): ?> - -
- - - getId()): ?> - getId()): ?> -
Может принимать/выгонять членов клана - -
Может принимать/выгонять членов клана - - getId()): ?> -
Может менять статус членов клана - -
Может менять статус членов клана - - - - -
- -
- - - -
- - - - getId()): ?> -
+ [стоимость: ] +
+
- (сложить с себя полномочия, назначив Главой Клана другого персонажа) -
- - - Недостаточно рейтинга для постройки замка. - -
- - (собрать силами всего клана кр.)
-
- - - - - -

- - Сбор средств на постройку кланового замка: - -

- - -
- - Средства на постройку кланового замка собраны! - - - -
-

Соклановцы

- + (сложить с себя полномочия, назначив Главой Клана другого + персонажа) + + + +
+
+ + + + + + getMemberlist() as $member): ?> - - - + + - Глава клана'; - } - if (empty($clan_memberlist[$i]['status'])) { - $clan_memberlist[$i]['status'] = 'Боец'; - } - if (empty($clan_memberlist[$i]['online'])) { - $rrm = 'Персонаж не в игре'; - } elseif ($clan_memberlist[$i]['room'] > 500 && $clan_memberlist[$i]['room'] < 561) { - $rrm = 'Башня смерти'; - } else { - $rrm = Rooms::$roomNames[$clan_memberlist[$i]['room']]; - } - ?> - - - - - - - -

Соклановцы

ИмяМестонахождение
ИмяСтатусМестонахождение + clan_owner): ?> + 👑 + + id)->full() ?> + + room ? Rooms::$roomNames[$member->room] : 'Персонаж не в игре' ?> +
full() ?>
-
+ + + +