From 99129557752078b8dff60fd434f8baf6f2673060 Mon Sep 17 00:00:00 2001 From: Ivor Barhansky Date: Fri, 8 Dec 2023 17:56:55 +0200 Subject: [PATCH] Refactor code and move admin user registration into separate class. The new class, named UserRegistrationList, aims to handle user registrations specifically for administrators. Some superfluous code has been removed for better readability and efficiency, and replaced with simplified CSS styles and SQL queries. The use of Core\Db and Moderation\UserRegistrationList has been introduced to improve the structure and organization of the code. --- modules_data/_mod.php | 1159 ++++++++++++++++++----------------------- 1 file changed, 513 insertions(+), 646 deletions(-) diff --git a/modules_data/_mod.php b/modules_data/_mod.php index 5e4b00e9..c4b57196 100644 --- a/modules_data/_mod.php +++ b/modules_data/_mod.php @@ -1,10 +1,7 @@ 'light', 2 => 'admin', 3 => 'dark']; $merror = ''; - -$mod_login = $u->info['login']; - -if ($u->info['invise'] > 0) { - $mod_login = "Невидимка"; -} - $uer = ''; if (!empty($_POST['logingo'])) { @@ -96,7 +86,7 @@ if (!empty($_POST['marrypartner1']) && !empty($_POST['marrypartner2'])) { echo ''; -$p = mysql_fetch_array(mysql_query('SELECT * FROM `moder` WHERE `align` = "' . $u->info['align'] . '" LIMIT 1')); +$p = mysql_fetch_array(mysql_query('SELECT align FROM `moder` WHERE `align` = "' . $u->info['align'] . '" LIMIT 1')); if (!$m->isModerator && $u->info['align'] != 1 && $u->info['align'] != 3) { return; ######################### @@ -117,39 +107,21 @@ if (isset($_GET['go'])) { if ($go == 3 && $u->info['admin'] > 0) { ?> - +
- - + -

Редактирование обучающих квестов

- - info['admin'] > 0) { ?> - - +

Редактирование обучающих квестов

+ +
' . $merror . ''; - } - ?> + $merror" ?> + info['admin'] > 0) { $pl['data'] = $_POST['pl_data']; $pl['room'] = $_POST['pl_room']; $pl['module'] = $_POST['pl_module']; - mysql_query( - 'UPDATE `an_quest` SET - `name` = "' . mysql_real_escape_string($pl['name']) . '", - `sex` = "' . mysql_real_escape_string($pl['sex']) . '", - `ico_bot` = "' . mysql_real_escape_string($pl['ico_bot']) . '", - `name_bot` = "' . mysql_real_escape_string($pl['name_bot']) . '", - `info` = "' . mysql_real_escape_string($pl['info']) . '", - `act` = "' . mysql_real_escape_string($pl['act']) . '", - `next` = "' . mysql_real_escape_string($pl['next']) . '", - `win` = "' . mysql_real_escape_string($pl['win']) . '", - `data` = "' . mysql_real_escape_string($pl['data']) . '", - `room` = "' . mysql_real_escape_string($pl['room']) . '", - `module` = "' . mysql_real_escape_string($pl['module']) . '" - WHERE `id` = "' . $pl['id'] . '" LIMIT 1' - ); - $pl = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `an_quest` WHERE `id` = "' . mysql_real_escape_string( - $_GET['eq'] - ) . '" LIMIT 1' - ) - ); + + Db::sql('update an_quest set + name = ?, + sex = ?, + ico_bot = ?, + name_bot = ?, + info = ?, + act = ?, + next = ?, + win = ?, + data = ?, + room = ?, + module = ? + where id = ?', + [ + $pl['name'], + $pl['sex'], + $pl['ico_bot'], + $pl['name_bot'], + $pl['info'], + $pl['act'], + $pl['next'], + $pl['win'], + $pl['data'], + $pl['room'], + $pl['module'], + $pl['id'], + ]); + + $pl = Db::getRow('select * from an_quest where id = ?', [(int)$_GET['eq']]); } ?> -
+ #id:
- Название квеста:
+

- Пол:
- Картинка бота:
- Имя бота: +
+
+

- Информация:

- Действие:
- Следующий квест:
- Награда: (опыт|кр|екр|предметы)
- Дата:
+
+
+
+
+

- Комната (требует):
- Модуль, действие (требует): +
+
- +
Квест не найден.'; + echo '
Квест не найден.
>'; } } else { - echo 'Добавить новый квест
'; + echo 'Добавить новый квест
'; if (isset($_GET['del'])) { - mysql_query( - 'DELETE FROM `an_quest` WHERE `id` = "' . mysql_real_escape_string( - $_GET['del'] - ) . '" LIMIT 1' - ); + Db::sql('delete from an_quest where id = ?', [(int)$_GET['del']]); } elseif (isset($_GET['add'])) { - mysql_query('INSERT INTO `an_quest` (`sex`) VALUES ("0") '); + Db::sql('insert into an_quest (id) values (default)'); } - $sp = mysql_query('SELECT * FROM `an_quest`'); - while ($pl = mysql_fetch_array($sp)) { - echo '
#' . $pl['id'] . '' . $pl['name'] . ' (' . $sx[$pl['sex']] . ')   Изменить Удалить

'; + foreach (Db::getRows('select id, name, sex from an_quest') as ['id' => $qid, 'name' => $qname, 'sex' => $qsex]) { + $qsex = $sx[$qsex]; + echo << + $qid + $qname($qsex) + Изменить + Удалить + +
+ HTML; } } ?> @@ -264,603 +260,474 @@ if ($go == 3 && $u->info['admin'] > 0) { $qd['align'] = 3; } elseif ($_POST['align3'] == 1) { $qd['align'] = 7; - } elseif ($_POST['align4'] == 1) { - $qd['align'] = 2; - } - $i = 1; - while ($i != -1) { - if (isset($_POST['q_act_atr_' . $i])) { - if ($_POST['q_act_val_' . $i] != '') { - $qd['act_date'] .= $_POST['q_act_atr_' . $i] . ':=:' . $_POST['q_act_val_' . $i] . ':|:'; + + $i = 1; + while ($i != -1) { + if (isset($_POST['q_act_atr_' . $i])) { + if ($_POST['q_act_val_' . $i] != '') { + $qd['act_date'] .= $_POST['q_act_atr_' . $i] . ':=:' . $_POST['q_act_val_' . $i] . ':|:'; + } + } else { + $i = -2; + $qd['act_date'] = trim($qd['act_date'], ':|:'); } - } else { - $i = -2; - $qd['act_date'] = trim($qd['act_date'], ':|:'); + $i++; } - $i++; - } - $i = 1; - while ($i != -1) { - if (isset($_POST['q_tr_atr_' . $i])) { - if ($_POST['q_tr_val_' . $i] != '') { - $qd['tr_date'] .= $_POST['q_tr_atr_' . $i] . ':=:' . $_POST['q_tr_val_' . $i] . ':|:'; + $i = 1; + while ($i != -1) { + if (isset($_POST['q_tr_atr_' . $i])) { + if ($_POST['q_tr_val_' . $i] != '') { + $qd['tr_date'] .= $_POST['q_tr_atr_' . $i] . ':=:' . $_POST['q_tr_val_' . $i] . ':|:'; + } + } else { + $i = -2; + $qd['tr_date'] = trim($qd['tr_date'], ':|:'); } - } else { - $i = -2; - $qd['tr_date'] = trim($qd['tr_date'], ':|:'); + $i++; } - $i++; - } - $i = 1; - while ($i != -1) { - if (isset($_POST['q_ng_atr_' . $i])) { - if ($_POST['q_ng_val_' . $i] != '') { - $qd['win_date'] .= $_POST['q_ng_atr_' . $i] . ':=:' . $_POST['q_ng_val_' . $i] . ':|:'; + $i = 1; + while ($i != -1) { + if (isset($_POST['q_ng_atr_' . $i])) { + if ($_POST['q_ng_val_' . $i] != '') { + $qd['win_date'] .= $_POST['q_ng_atr_' . $i] . ':=:' . $_POST['q_ng_val_' . $i] . ':|:'; + } + } else { + $i = -2; + $qd['win_date'] = trim($qd['win_date'], ':|:'); } - } else { - $i = -2; - $qd['win_date'] = trim($qd['win_date'], ':|:'); + $i++; } - $i++; - } - $i = 1; - while ($i != -1) { - if (isset($_POST['q_nk_atr_' . $i])) { - if ($_POST['q_nk_val_' . $i] != '') { - $qd['lose_date'] .= $_POST['q_nk_atr_' . $i] . ':=:' . $_POST['q_nk_val_' . $i] . ':|:'; + $i = 1; + while ($i != -1) { + if (isset($_POST['q_nk_atr_' . $i])) { + if ($_POST['q_nk_val_' . $i] != '') { + $qd['lose_date'] .= $_POST['q_nk_atr_' . $i] . ':=:' . $_POST['q_nk_val_' . $i] . ':|:'; + } + } else { + $i = -2; + $qd['lose_date'] = trim($qd['lose_date'], ':|:'); } - } else { - $i = -2; - $qd['lose_date'] = trim($qd['lose_date'], ':|:'); + $i++; } - $i++; + Db::sql( + 'insert into quests (name, min_lvl, max_lvl, tr_date, act_date, win_date, lose_date, info, line, align, fast) values (?,?,?,?,?,?,?,?,?,?,?)', + [ + $qd['name'], + $qd['lvl'][0], + $qd['lvl'][1], + $qd['tr_date'], + $qd['act_date'], + $qd['win_date'], + $qd['lose_date'], + $qd['info'], + $qd['line'], + $qd['align'], + $qd['fast'], + ] + ); } - mysql_query( - 'INSERT INTO `quests` (`name`,`min_lvl`,`max_lvl`,`tr_date`,`act_date`,`win_date`,`lose_date`,`info`,`line`,`align`,`city`,`fast`) VALUES ( - "' . mysql_real_escape_string($qd['name']) . '","' . mysql_real_escape_string( - $qd['lvl'][0] - ) . '","' . mysql_real_escape_string($qd['lvl'][1]) . '", - "' . mysql_real_escape_string($qd['tr_date']) . '","' . mysql_real_escape_string( - $qd['act_date'] - ) . '","' . mysql_real_escape_string($qd['win_date']) . '", - "' . mysql_real_escape_string($qd['lose_date']) . '","' . mysql_real_escape_string( - $qd['info'] - ) . '","' . mysql_real_escape_string($qd['line']) . '", - "' . mysql_real_escape_string($qd['align']) . '","' . mysql_real_escape_string( - $qd['city'] - ) . '","' . mysql_real_escape_string($qd['fast']) . '")' - ); - } - ?> - + function addqnk() { + const dd = document.getElementById('qnk'); + adds[3]++; + dd.innerHTML = 'Атрибут: , значение:
' + dd.innerHTML; + } + - Текстовое поле + Текстовое поле + + + + + + + +

Редактор заданий

+ +
- - - - - - - - -

Редактор заданий

- -
-
-
-
- - - - - - - - - - - -
-
-
-
- - - Описание:
-
- - - - - - - - - - - - -
- info['admin'] > 0 || ($u->info['align'] > 1 && $u->info['align'] < 2) || ($u->info['align'] > 3 && $u->info['align'] < 4)) { ?> -

Панель

-

Панель info['align'] == 1) { - echo 'Света'; - } elseif ($u->info['align'] == 3) { - echo 'Тьмы'; - } ?>

-
- info['admin'] > 0) { ?> - - -
-
-
-
- - - - - +
+ + + + + + + + + +
+
+
+
+ + + Описание: +
+
'5 минут', - 15 => '15 минут', - 30 => '30 минут', - 60 => 'один час', - 180 => 'три часа', - 360 => 'шесть часов', - 720 => 'двенадцать часов', - 1440 => 'одни сутки', - 4320 => 'трое суток']; - $srokt = [1 => '1 день', - 3 => '3 дня', - 7 => 'неделю', - 14 => '2 недели', - 30 => 'месяц', - 60 => '2 месяца', - 365 => 'год', - 24 => 'бессрочно', - 6 => 'часик']; - - - if (isset($_POST['usevampir'])) { - require_once('moder/usevampir.php'); - } elseif (isset($_POST['teleport'])) { - require_once('moder/teleport.php'); - } elseif (isset($_POST['teleport-cometome'])) { - require_once('moder/teleport-cometome.php'); - } elseif (isset($_POST['usemarry'])) { - require_once('moder/usemarry.php'); - } elseif (isset($_POST['useunmarry'])) { - require_once('moder/useunmarry.php'); - } elseif (isset($_POST['useuntravm'])) { - require_once('moder/useuntravm.php'); - } elseif (isset($_POST['useatack'])) { - require_once('moder/useatack.php'); - } - } - - if (isset($_POST['use_itm_']) && $u->info['admin'] > 0 && $u->info['id'] != 2332207) { - $usr = mysql_fetch_array( - mysql_query( - 'SELECT * FROM `users` WHERE `login` = "' . mysql_real_escape_string( - $_POST['log_itm_'] - ) . '" LIMIT 1' - ) - ); - $giv_itm = mysql_fetch_array( - mysql_query("SELECT * FROM `items_main` WHERE `id` = '$_POST[itm_id]'") - ); - if ($giv_itm['id'] <= 0) { - $uer = "Нету такой вещи"; - } - if (!$usr['id']) { - $uer = "Персонаж $_POST[log_itm] не найден."; - } - if ($giv_itm['id'] > 0 && $usr['id'] > 0) { - ItemsModel::addItem($giv_itm['id'], $usr['id']); - $uer = "Персонажу $_POST[log_itm] выдана вещь $giv_itm[name]."; - $rtxt = $rang . ' "' . $u->info['login'] . '" Выдал' . $sx . ' персонажу "' . $user_teleport['login'] . '" вещь "' . $giv_itm['name'] . '".'; - } - } - - - echo '' . $uer . ''; - //Темная склонка, кусается сука!) + } else { ?> -
+ + + +
+
+ isModerator): ?> +

Модераторская

+
+
+ +
+
+ + ' . $uer . ''; + //Темная склонка, кусается сука!) + ?> +
+ + isModerator): ?> +
+

Наложить/Снять наказание

+ + + + + + + +
+ + +
+ + + +
+ + + +
+ +
+ + + + + + +
+ + canBlockUsers): ?> +
+ + +
+ +
+ + isAdmin): ?> + + + + + +
+ + +
+ + +
+ + - очень сломанная херня. + +
+ isAdmin) { + /** Мегафон только для администраторов. */ + Announcement::init(); /** Регистрации персонажей только для администраторов. */ UserRegistrationList::get(); - /** Kог действий модераторов только для администраторов. */ - $dsee = []; - if (!isset($_POST['smod1'])) { - $_POST['smod1'] = date('d.m.Y'); - } - $dsee['date'] = explode('.', $_POST['smod1']); - $dsee['date'] = $dsee['date'][2] . '-' . $dsee['date'][1] . '-' . $dsee['date'][0]; - $dsee['t1'] = strtotime($dsee['date'] . ' 00:00:00'); - $dsee['t2'] = strtotime($dsee['date'] . ' 23:59:59'); - $dsee['date'] = date('d.m.Y', $dsee['t1']); - ?> -
-

Показать лог действий модераторов

- Показать действия за - Логин модератора - -
- = ' . $dsee['t1'] . ' AND `time` <= ' . $dsee['t2'] . '' - ); - $rdl = ''; - while ($pl = mysql_fetch_array($sp)) { - $rdl .= '
'; - $rdl .= '
' . date( - 'd.m.Y H:i:s', $pl['time'] - ) . '
'; - $rdl .= $pl['text'] . ' персонажу ' . User::getLogin($pl['uid']); - $rdl .= '
'; + /** Лог действий модераторов только для администраторов. */ + $dsee = []; + if (!isset($_POST['smod1'])) { + $_POST['smod1'] = date('d.m.Y'); } - if ($rdl == '') { - $rdl = 'Модератор не совершал действий за данное число'; + $dsee['date'] = explode('.', $_POST['smod1']); + $dsee['date'] = $dsee['date'][2] . '-' . $dsee['date'][1] . '-' . $dsee['date'][0]; + $dsee['t1'] = strtotime($dsee['date'] . ' 00:00:00'); + $dsee['t2'] = strtotime($dsee['date'] . ' 23:59:59'); + $dsee['date'] = date('d.m.Y', $dsee['t1']); + ?> +
+

Показать лог действий модераторов

+ + + +
+ +
$date
+ {$log['text']} персонажу $login + + HTML; + } } - echo $rdl; - } - } ?> - - - + +