From 5b29d5b5938456a11330ee90b28d3a32202f3ec7 Mon Sep 17 00:00:00 2001 From: Ivor Barhansky Date: Fri, 27 May 2022 20:02:03 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B0:?= =?UTF-8?q?=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=D0=BC=D0=B5=D1=82=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/NewItem.php | 233 ++++++++++++++------------------- classes/Battles/Admin/Item.php | 49 +++++++ 2 files changed, 144 insertions(+), 138 deletions(-) create mode 100644 classes/Battles/Admin/Item.php diff --git a/admin/NewItem.php b/admin/NewItem.php index 98cd34e..a953114 100644 --- a/admin/NewItem.php +++ b/admin/NewItem.php @@ -1,143 +1,100 @@ -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Добавление вещей в магазин
Основное -
-
-
-
-
-
-
-
-
Требования -
-
-
-
-
-
-
-
Характеристики -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
+require_once '../config.php'; + +use Battles\Admin\Item; - +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Добавление вещей в игру
Основное +
+
+
+
+
+
+
+
+
Требования +
+
+
+
+
+
+
+
Характеристики +
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
\ No newline at end of file diff --git a/classes/Battles/Admin/Item.php b/classes/Battles/Admin/Item.php new file mode 100644 index 0000000..2efb5ee --- /dev/null +++ b/classes/Battles/Admin/Item.php @@ -0,0 +1,49 @@ + $params['name'] ?? uniqid(), + 'item_type' => $params['item_type'], + 'durability' => $params['durability'] ?? 1, + 'need_strength' => $params['need_strength'] ?? 0, + 'need_dexterity' => $params['need_dexterity'] ?? 0, + 'need_intuition' => $params['need_intuition'] ?? 0, + 'need_endurance' => $params['need_endurance'] ?? 0, + 'need_intelligence' => $params['need_intelligence'] ?? 0, + 'need_wisdom' => $params['need_wisdom'] ?? 0, + 'add_strength' => $params['add_strength'] ?? 0, + 'add_dexterity' => $params['add_dexterity'] ?? 0, + 'add_intuition' => $params['add_intuition'] ?? 0, + 'add_endurance' => $params['add_endurance'] ?? 0, + 'add_intelligence' => $params['add_intelligence'] ?? 0, + 'add_wisdom' => $params['add_wisdom'] ?? 0, + 'add_accuracy' => $params['add_accuracy'] ?? 0, + 'add_evasion' => $params['add_evasion'] ?? 0, + 'add_criticals' => $params['add_criticals'] ?? 0, + 'add_min_physical_damage' => $params['add_min_physical_damage'] ?? 0, + 'add_max_physical_damage' => $params['add_max_physical_damage'] ?? 0, + 'image' => $params['image'] ?? 'noitem.png', + 'weight' => $params['weight'] ?? 1, + ]; + Db::getInstance()->execute($query, $values); + } +} \ No newline at end of file From 197e489e0e89c9ed9c0dc35a38f176cee03869d5 Mon Sep 17 00:00:00 2001 From: Ivor Barhansky Date: Fri, 27 May 2022 22:19:54 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B0:?= =?UTF-8?q?=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20=D1=80=D0=B5=D0=B3=D0=B8?= =?UTF-8?q?=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/admin.php | 51 +++------------------------------- classes/Battles/Admin/Clan.php | 49 ++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 47 deletions(-) create mode 100644 classes/Battles/Admin/Clan.php diff --git a/admin/admin.php b/admin/admin.php index 23fcc34..1061197 100644 --- a/admin/admin.php +++ b/admin/admin.php @@ -6,11 +6,9 @@ */ require_once '../functions.php'; -use Battles\Bank; +use Battles\Admin\Clan; use Battles\Database\Db; -use Battles\GameConfigs; use Battles\Moderation; -use Battles\Nick; use Battles\Template; use Battles\User; @@ -31,56 +29,15 @@ if (isset($_POST['syschatmsg'])) { } //clans to reg -$unregisteredClans = new class { - - public function getList() - { - $row = Db::getInstance()->ofetchAll('SELECT * FROM clans WHERE status = 0'); - $i = 0; - while ($i < count($row)) { - $id = $row[$i]->owner_id; - $login = User::getInstance($row[$i]->owner_id)->getLogin(); - $fullName = $row[$i]->full_name; - $shortName = $row[$i]->short_name; - $info = nl2br($row[$i]->info); - $i++; - echo << -
- $fullName [$shortName] - Глава клана: $login
- Описание:
$info
-
- - -
- -UNREGCLANLIST; - } - unset($i); - } - - public function allowRegister($id) - { - Db::getInstance()->execute('UPDATE clans SET status = 1 WHERE status = 0 AND owner_id = ?', $id); - } - - public function disallowRegister($id) - { - $bank = new Bank($id); - Db::getInstance()->execute('DELETE FROM clans WHERE status = 0 AND owner_id = ?', $id); - $bank::setBankMoney($bank->getMoney() + GameConfigs::CLAN['clan_register_cost'], $id); - } -}; -$unregisteredClans->getList(); +Clan::getUnapprovedList(); if (isset($_GET['regclan'])) { - $unregisteredClans->allowRegister($_GET['regclan']); + Clan::allowRegister($_GET['regclan']); header('Location:/admin/admin.php'); exit; } if (isset($_GET['remclan'])) { - $unregisteredClans->disallowRegister($_GET['remclan']); + Clan::disallowRegister($_GET['remclan']); header('Location:/admin/admin.php'); exit; } diff --git a/classes/Battles/Admin/Clan.php b/classes/Battles/Admin/Clan.php new file mode 100644 index 0000000..f8e30e4 --- /dev/null +++ b/classes/Battles/Admin/Clan.php @@ -0,0 +1,49 @@ +ofetchAll('select * from clans where status = 0'); + foreach ($rows as $row) { + $id = $row->owner_id; + $login = User::getInstance($id)->getLogin(); + $full = $row->full_name; + $short = $row->short_name; + $info = nl2br($row->info); + $list .= << +
+ $full [$short] + Глава клана: $login
+ Описание:
$info
+
+ + +
+ +UNREGCLANLIST; + } + return $list; + } + + public static function allowRegister($id) + { + Db::getInstance()->execute('UPDATE clans SET status = 1 WHERE status = 0 AND owner_id = ?', $id); + } + + public static function disallowRegister($id) + { + $bank = new Bank($id); + Db::getInstance()->execute('DELETE FROM clans WHERE status = 0 AND owner_id = ?', $id); + $bank::setBankMoney($bank->getMoney() + GameConfigs::CLAN['clan_register_cost'], $id); + } +} \ No newline at end of file From bcd864d638a0e9247a7630dde53e8b6d06af3bd6 Mon Sep 17 00:00:00 2001 From: Ivor Barhansky Date: Sat, 11 Jun 2022 00:36:30 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=90=D0=B4=D0=BC=D0=B8=D0=BD=D0=BA=D0=B0:?= =?UTF-8?q?=20=D1=82=D0=B5=D0=BB=D0=B5=D0=B3=D1=80=D0=B0=D1=84=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B5=D1=85=D0=B0=D0=BB=20=D0=B2=20Chat.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- admin/admin.php | 3 ++- c_haos.php | 2 +- chat.php | 2 +- classes/Battles/Chat.php | 10 +++++++--- classes/Battles/UserStats.php | 2 +- cronjobs/cron_bots_battle.php | 6 +++--- functions.php | 15 +-------------- towerin.php | 2 +- zayavka.php | 8 ++++---- 9 files changed, 21 insertions(+), 29 deletions(-) diff --git a/admin/admin.php b/admin/admin.php index 1061197..4e4a270 100644 --- a/admin/admin.php +++ b/admin/admin.php @@ -7,6 +7,7 @@ require_once '../functions.php'; use Battles\Admin\Clan; +use Battles\Chat; use Battles\Database\Db; use Battles\Moderation; use Battles\Template; @@ -45,7 +46,7 @@ if (isset($_GET['remclan'])) { # Телеграф. if (!empty($_POST['receiver']) && !empty($_POST['tgmsg'])) { $receiver = Db::getInstance()->ofetch('SELECT id FROM users WHERE login= ?', $_POST['receiver']); - telegraph($receiver->id, $_POST['tgmsg']); + Chat::sendTelegraf($_POST['tgmsg'], $receiver->id); echo "Успешно."; } # Показывает невидимок. diff --git a/c_haos.php b/c_haos.php index 89c56ba..584f035 100644 --- a/c_haos.php +++ b/c_haos.php @@ -67,7 +67,7 @@ if ($_POST['pay']) { if ($_POST['adm_start_raid'] && $user['id'] == 1256) { mysql_query("DELETE FROM `cit_haos_status`;"); mysql_query("DELETE FROM `cit_haos_var`;"); - Chat::addSYSMessage('Начинается прием заявок в рейд на Цитадель Хаоса! Начало рейда через 15 минут.'); + Chat::sendSys('Начинается прием заявок в рейд на Цитадель Хаоса! Начало рейда через 15 минут.'); $ch_time = time(); mysql_query("UPDATE variables SET value='{$ch_time}' where var='cit_haos_time';"); } diff --git a/chat.php b/chat.php index 13de7f7..977f70d 100644 --- a/chat.php +++ b/chat.php @@ -12,7 +12,7 @@ use Battles\Template; require_once "config.php"; $chat = new Chat(Db::getInstance()); if (!empty($_POST['msg'])) { - $chat->addMessage($_POST['msg']); + $chat->sendMessage($_POST['msg']); } Template::header('chat'); diff --git a/classes/Battles/Chat.php b/classes/Battles/Chat.php index aabd8a6..975b69e 100644 --- a/classes/Battles/Chat.php +++ b/classes/Battles/Chat.php @@ -62,14 +62,18 @@ class Chat return $wrappedMessage; } - public function addMessage(string $msg) + public function sendMessage(string $msg) { $this->db->execute('insert into chat (user_id, msg) values (?,?)', [User::getInstance()->getId(), $msg]); } - public static function addSYSMessage( string $msg, ?int $receiver_id = null) + public static function sendSys(string $msg, ?int $receiver_id = null) { - Db::getInstance()->execute('insert into chat (user_id, msg, receiver_id, type) values (?,?,?,?)', [User::getInstance()->getId(), $msg, $receiver_id, 'sys']); + Db::getInstance()->execute('insert into chat (user_id, msg, receiver_id, type) values (-1,?,?,?)', [$msg, $receiver_id, 'sys']); + } + public static function sendTelegraf(string $msg, int $receiver_id) + { + Db::getInstance()->execute('insert into chat (user_id, msg, receiver_id, type) values (-1,?,?,?)', [$msg, $receiver_id, 'sms']); } } \ No newline at end of file diff --git a/classes/Battles/UserStats.php b/classes/Battles/UserStats.php index 676bfb0..8e01125 100644 --- a/classes/Battles/UserStats.php +++ b/classes/Battles/UserStats.php @@ -213,7 +213,7 @@ class UserStats extends User $this->level += 1; $this->free_stat_points += 2; $this->saveStats(); - Chat::addSYSMessage('Внимание, вы получили ' . $this->level . 'уровень. Доступны очки распределения параметров.'); + Chat::sendSys('Внимание, вы получили ' . $this->level . 'уровень. Доступны очки распределения параметров.'); return 'Персонаж перешёл на ' . $this->level . 'уровень.'; } diff --git a/cronjobs/cron_bots_battle.php b/cronjobs/cron_bots_battle.php index 074dc4e..029ab18 100644 --- a/cronjobs/cron_bots_battle.php +++ b/cronjobs/cron_bots_battle.php @@ -552,10 +552,10 @@ class fbattle } if ($arr_battle['win'] == 1) { - Chat::addSYSMessage('Внимание! Тьма одержала победу благодаря великим воинам: ' . $uss . ''); + Chat::sendSys('Внимание! Тьма одержала победу благодаря великим воинам: ' . $uss . ''); $this->AddToLog('' . date("H:i") . ' ' . 'Бой закончен, победа за Силами Тьмы
'); } else { - Chat::addSYSMessage('Внимание! Свет одержал победу благодаря великим воинам: ' . $uss . ''); + Chat::sendSys('Внимание! Свет одержал победу благодаря великим воинам: ' . $uss . ''); $this->AddToLog('' . date("H:i") . ' ' . 'Бой закончен, победа за Силами Света
'); } mysql_query('UPDATE `variables` SET `value` = "' . $arr_battle['win'] . '" WHERE `var` = "arena_win" LIMIT 1'); @@ -586,7 +586,7 @@ class fbattle } } else { if ($this->battle_data['aren_of'] == 1) { - Chat::addSYSMessage('Внимание! Бой на Арене Ангелов завершился ничьей, на этой недели силы тьмы и света равны.'); + Chat::sendSys('Внимание! Бой на Арене Ангелов завершился ничьей, на этой недели силы тьмы и света равны.'); mysql_query('UPDATE `variables` SET `value` = 3 WHERE `var` = "arena_win" LIMIT 1'); mysql_query('UPDATE `battle` SET `aren_of` = 0 WHERE `id` = "' . $arr_battle['id'] . '" AND `aren_of` = 1 LIMIT 1'); } diff --git a/functions.php b/functions.php index 7057804..60ca77b 100644 --- a/functions.php +++ b/functions.php @@ -426,7 +426,7 @@ function usemagic($id, $target) } /* ВАЖНО! (#44) - * addch() и addchp() заменяются на Chat::class->addSYSMessage($message, [optional]$receiver); + * addch() и addchp() заменяются на Chat::class->sendSys($message, [optional]$receiver); * Для addchp() используется второй опциональный ключ. * Это 150+ вхождений в куче файлов, где надо менять структуру вызова функции из-за их несовместимости. * Возможно, приоритетом стоит сделать унификацию свитков нападения, которых самих около 20 и которые @@ -466,19 +466,6 @@ function err($t) echo '' . $t . ''; } - -/** - * @param int $userId - * @param string $text - * - */ -function telegraph(int $userId, string $text) -{ - if (Db::getInstance()->ofetch('SELECT 1 FROM users WHERE id = ?', $userId)) { - Db::getInstance()->execute('INSERT INTO chat (user_id,receiver_id,msg,type) VALUES (-1,?,?,?)', [$userId, $text, 'sms']); - } -} - function SolveExp($at_id, $def_id, $damage): float { $mods = [ diff --git a/towerin.php b/towerin.php index 98e9ebc..33195c1 100644 --- a/towerin.php +++ b/towerin.php @@ -281,7 +281,7 @@ if (($kol_pl + $ls) < 2 && ($tur_data['start_time'] + 60) <= time()) { mysql_query('UPDATE `deztow_turnir` SET `winner` = \'' . $user['id'] . '\', `winnerlog` = \'' . Nick::id($user['id'])->full(1) . '\', `endtime` = \'' . time() . '\', `active` = FALSE, `log` = CONCAT(`log`,\'' . "" . date("d.m.y H:i") . " Турнир завершен. Победитель : " . Nick::id($user['id'])->full(1) . " Приз : " . $tur['coin'] . " кр.
" . '\') WHERE `active` = TRUE LIMIT 1'); addchp('Внимание! Поздравляем! Вы победитель турнира Башни смерти! Получаете ' . $tur['coin'] . ' кр.', '{[]}' . $user['login'] . '{[]}'); - Chat::addSYSMessage('Внимание! Битва в Башне Смерти завершена. Победитель:' . $user['login'] . ' [' . $user['level'] . ']'); + Chat::sendSys('Внимание! Битва в Башне Смерти завершена. Победитель:' . $user['login'] . ' [' . $user['level'] . ']'); if ($tur['art'] == 1) { $bs_art = 0; } else { diff --git a/zayavka.php b/zayavka.php index ccf0b52..3a748f6 100644 --- a/zayavka.php +++ b/zayavka.php @@ -207,7 +207,7 @@ class Zayavka return $this->errorMessage; } else { if ($type == 3) { - Chat::addSYSMessage("Внимание! Подана заявка на хаотический поединок ({$t1min} - {$t1max}), который начнется через {$start} минут."); + Chat::sendSys("Внимание! Подана заявка на хаотический поединок ({$t1min} - {$t1max}), который начнется через {$start} минут."); } $start = time() + $start * 60; @@ -662,19 +662,19 @@ Template::header('zayavka'); } if (!empty($_POST['back2'])) { $z = $zay->getlist(2, null, $user->getZayavka()); - Chat::addSYSMessage('Внимание!' . Nick::id($user->getId())->short() . ' отозвал заявку.'); + Chat::sendSys('Внимание!' . Nick::id($user->getId())->short() . ' отозвал заявку.'); echo $zay->delteam($user->getId(), $user->getZayavka(), 2); } if (!empty($_POST['cansel'])) { $z = $zay->getlist(2, null, $user->getZayavka()); echo $zay->delteam($z[$user->getZayavka()]['team2'][0], $user->getZayavka(), 2); - Chat::addSYSMessage('Внимание!' . Nick::id($user->getId())->short() . ' отказался от поединка.'); + Chat::sendSys('Внимание!' . Nick::id($user->getId())->short() . ' отказался от поединка.'); } if (!empty($_POST['confirm2']) && empty($user->getZayavka())) { $z = $zay->getlist(2, null, $_REQUEST['gocombat']); $toper = db::c()->query('SELECT `klan` FROM `users` WHERE `id` = ?i', $z[$_REQUEST['gocombat']]['team1'][0])->fetch_assoc(); if ($user->getClan() != $toper['klan'] || !$user->getClan()) { - Chat::addSYSMessage('Внимание!' . Nick::id($user->getId())->short() . ' принял заявку, нужно принять вызов или отказать.'); + Chat::sendSys('Внимание!' . Nick::id($user->getId())->short() . ' принял заявку, нужно принять вызов или отказать.'); } echo $zay->addteam(2, 2); echo "
Ожидаем подтверждения боя. ";