Merge remote-tracking branch 'origin/patch-admin'

# Conflicts:
#	admin/admin.php
This commit is contained in:
Ivor Barhansky 2022-06-11 03:04:12 +03:00
commit 9a48877a91
9 changed files with 21 additions and 29 deletions

View File

@ -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 "Успешно.";
}
# Показывает невидимок.

View File

@ -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';");
}

View File

@ -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');

View File

@ -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']);
}
}

View File

@ -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 . 'уровень.';
}

View File

@ -552,10 +552,10 @@ class fbattle
}
if ($arr_battle['win'] == 1) {
Chat::addSYSMessage('Внимание! Тьма одержала победу благодаря великим воинам: <b>' . $uss . '</b>');
Chat::sendSys('Внимание! Тьма одержала победу благодаря великим воинам: <b>' . $uss . '</b>');
$this->AddToLog('<span class=date>' . date("H:i") . '</span> ' . 'Бой закончен, победа за <B>Силами Тьмы</B><BR>');
} else {
Chat::addSYSMessage('Внимание! Свет одержал победу благодаря великим воинам: <b>' . $uss . '</b>');
Chat::sendSys('Внимание! Свет одержал победу благодаря великим воинам: <b>' . $uss . '</b>');
$this->AddToLog('<span class=date>' . date("H:i") . '</span> ' . 'Бой закончен, победа за <B>Силами Света</B><BR>');
}
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');
}

View File

@ -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 '<span class="error">' . $t . '</span>';
}
/**
* @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 = [

View File

@ -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`,\'' . "<span class=date>" . date("d.m.y H:i") . "</span> Турнир завершен. Победитель : " . Nick::id($user['id'])->full(1) . " Приз : <b>" . $tur['coin'] . "</b> кр. <br />" . '\') WHERE `active` = TRUE LIMIT 1');
addchp('<font color=red>Внимание!</font> Поздравляем! Вы победитель турнира Башни смерти! Получаете <b>' . $tur['coin'] . '</b> кр.', '{[]}' . $user['login'] . '{[]}');
Chat::addSYSMessage('Внимание! Битва в Башне Смерти завершена. Победитель:' . $user['login'] . ' [' . $user['level'] . ']');
Chat::sendSys('Внимание! Битва в Башне Смерти завершена. Победитель:' . $user['login'] . ' [' . $user['level'] . ']');
if ($tur['art'] == 1) {
$bs_art = 0;
} else {

View File

@ -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 "</b></font><BR>Ожидаем подтверждения боя. <input type=submit name=back2 value='Отозвать заявку'>";