refactor php8 to use native str_starts_with();

This commit is contained in:
Ivor Barhansky 2023-10-16 13:52:58 +03:00
parent 53f0e1108f
commit 4113c4a1da
3 changed files with 147 additions and 70 deletions

File diff suppressed because one or more lines are too long

View File

@ -1,63 +1,63 @@
<?php <?php
if(!defined('GAME')) { if (!defined('GAME')) {
die(); die();
} }
session_start(); session_start();
function js_help($txt, $color = 'Black') { function jsHelp($txt, $color = 'Black'): void
global $r; {
$r['js'] .= 'chat.sendMsg(["new", "'.time().'", "6", "", "'.$u->info['login'].'", "<small>'.$txt.'</small>", "'.$color.'", "1", "1", "0"]);'; global $r, $u;
$r['js'] .= 'chat.sendMsg(["new", "' . time() . '", "6", "", "' . $u->info['login'] . '", "<small>' . $txt . '</small>", "' . $color . '", "1", "1", "0"]);';
} }
if(!isset($_SESSION['help_step']) || $_SESSION['help_step'] < 1) { if (!isset($_SESSION['help_step']) || $_SESSION['help_step'] < 1) {
$_SESSION['help_step'] = 1; $_SESSION['help_step'] = 1;
} }
$go_help = array( $go_help = [
1 => array( 1 => [
1 => 2, 1 => 2,
2 => 3, 2 => 3,
3 => 4 3 => 4,
), ],
2 => array(0 => 1), 2 => [0 => 1],
3 => array(0 => 1 , 1 => 3), 3 => [0 => 1, 1 => 3],
4 => array(0 => 1) 4 => [0 => 1],
); ];
if($chat->str_count($_POST['msg'], 2) == '/[') { if (str_starts_with($_POST['msg'], '/[')) {
$_POST['msg'] = str_replace('/[','',$_POST['msg']); $_POST['msg'] = str_replace(['/[', ']'], '', $_POST['msg']);
$_POST['msg'] = str_replace(']','',$_POST['msg']); $_POST['msg'] = round((int)$_POST['msg']);
$_POST['msg'] = round((int)$_POST['msg']); if (isset($go_help[$_SESSION['help_step']][$_POST['msg']])) {
if(isset($go_help[$_SESSION['help_step']][$_POST['msg']])) { $_SESSION['help_step'] = $go_help[$_SESSION['help_step']][$_POST['msg']];
$_SESSION['help_step'] = $go_help[$_SESSION['help_step']][$_POST['msg']]; } else {
} else { jsHelp('----------------------------------------------------------------------------------------');
js_help('----------------------------------------------------------------------------------------'); jsHelp('<b style="color: red">Ошибка, раздел справки не найден</b>');
js_help('<b><font color=red>Ошибка, раздел справки не найден</font></b>'); }
}
} }
if($chat->str_count($_POST['msg'],5)=='/help' || $_SESSION['help_step']==1) if (str_starts_with($_POST['msg'], '/help') || $_SESSION['help_step'] == 1) {
{ jsHelp('<b>Добро пожаловать в раздел справки!</b>');
js_help('<b>Добро пожаловать в раздел справки!</b>'); jsHelp('Вырерите раздел справки: <i>(Отправить ответ в чат. Пример: &quot;/[1]&quot;)</i>');
js_help('Вырерите раздел справки: <i>(Отправить ответ в чат. Пример: &quot;/[1]&quot;)</i>'); jsHelp('[1] Информация о пользовании чатом');
js_help('[1] Информация о пользовании чатом'); jsHelp('[2] Нагрузка сервера');
js_help('[2] Нагрузка сервера'); jsHelp('[3] Закрыть справку');
js_help('[3] Закрыть справку'); } elseif ($_SESSION['help_step'] == 2) {
}elseif($_SESSION['help_step']==2) { jsHelp('<b>Раздел:</b> Информация о пользовании чатом');
js_help('<b>Раздел:</b> Информация о пользовании чатом'); jsHelp('<b>Чат</b> - выглядит как обычная веб-страница, где можно прочесть последние несколько десятков фраз, написанные участниками чата и модераторами.
js_help('<b>Чат</b> - выглядит как обычная веб-страница, где можно прочесть последние несколько десятков фраз, написанные участниками чата и модераторами. Страница чата автоматически обновляется с заданной периодичностью. Участники чата которые нарушили правила общения могут получают молчанку и не могут общаться определенное время. Для более подробной информации выберите следующий раздел.'); Страница чата автоматически обновляется с заданной периодичностью. Участники чата которые нарушили правила общения могут получают молчанку и не могут общаться определенное время.
js_help('Вырерите раздел справки: <i>(Отправить ответ в чат. Пример: &quot;/[1]&quot;)</i>'); Для более подробной информации выберите следующий раздел.');
js_help('[0] Вернуться назад'); jsHelp('Вырерите раздел справки: <i>(Отправить ответ в чат. Пример: &quot;/[1]&quot;)</i>');
}elseif($_SESSION['help_step']==3) { jsHelp('[0] Вернуться назад');
$load = sys_getloadavg(); } elseif ($_SESSION['help_step'] == 3) {
js_help('<b>Нагрузка:</b> '.$load[0].' / '.$load[1].' / '.$load[2]); $load = sys_getloadavg();
js_help('[1] Обновить'); jsHelp('<b>Нагрузка:</b> ' . $load[0] . ' / ' . $load[1] . ' / ' . $load[2]);
js_help('[0] Вернуться назад'); jsHelp('[1] Обновить');
} elseif($_SESSION['help_step']==4) { jsHelp('[0] Вернуться назад');
js_help('Спасибо за использование подсказки'); } elseif ($_SESSION['help_step'] == 4) {
$_SESSION['help_step'] = null; jsHelp('Спасибо за использование подсказки');
$_SESSION['help_step'] = null;
} }
js_help('----------------------------------------------------------------------------------------'); jsHelp('----------------------------------------------------------------------------------------');
?>

View File

@ -369,7 +369,7 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') {
$msg['type'] = -3; $msg['type'] = -3;
} }
$msw = $chat->smileText($_POST['msg'], $msg['to'], $u->info['room'], $u->info['city']); $msw = $chat->smileText($_POST['msg'], $msg['to'], $u->info['room']);
$nosend = 0; $nosend = 0;
if ($msw) { if ($msw) {
$_POST['msg'] = $msw; $_POST['msg'] = $msw;
@ -379,16 +379,16 @@ if (isset($_POST['msg']) && str_replace(' ', '', $_POST['msg']) != '') {
$r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","<small>Персонажа нет в данной комнате.</small>","Black","1","1","0"]);'; $r['js'] .= 'chat.sendMsg(["new","' . time() . '","6","","' . $u->info['login'] . '","<small>Персонажа нет в данной комнате.</small>","Black","1","1","0"]);';
$nosend = 1; $nosend = 1;
} }
} elseif ($chat->str_count($_POST['msg'], 3) == '/e ') { } elseif (str_starts_with($_POST['msg'], '/e ')) {
$msg['type'] = 21; $msg['type'] = 21;
$_POST['msg'] = ltrim($_POST['msg'], '/e '); $_POST['msg'] = ltrim($_POST['msg'], '/e ');
} elseif ($chat->str_count($_POST['msg'], 3) == '/е ') { } elseif (str_starts_with($_POST['msg'], '/е ')) { // это кириллица!!
$msg['type'] = 21; $msg['type'] = 21;
$_POST['msg'] = ltrim($_POST['msg'], '/е '); $_POST['msg'] = ltrim($_POST['msg'], '/е ');
} elseif ($chat->str_count($_POST['msg'], 4) == ' /e ') { } elseif (str_starts_with($_POST['msg'], ' /e ')) {
$msg['type'] = 21; $msg['type'] = 21;
$_POST['msg'] = ltrim($_POST['msg'], ' /e '); $_POST['msg'] = ltrim($_POST['msg'], ' /e ');
} elseif ($chat->str_count($_POST['msg'], 4) == ' /е ') { } elseif (str_starts_with($_POST['msg'], ' /е ')) { // это кириллица!!
$msg['type'] = 21; $msg['type'] = 21;
$_POST['msg'] = ltrim($_POST['msg'], ' /е '); $_POST['msg'] = ltrim($_POST['msg'], ' /е ');
} }