Cleaned up the code in main.php and _mod.php to simplify the handling of user roles and permissions. The previous alignment-based role assignments have been streamlined into a single "moderation" action.

This commit is contained in:
Ivor Barhansky 2023-12-08 18:14:29 +02:00 committed by Ivor Barhansky
parent acd9c98d38
commit bf17b19309
2 changed files with 19 additions and 34 deletions

View File

@ -381,11 +381,7 @@ if (isset($_GET['security']) && !isset($u->tfer['id']) && $trololo == 1) {
require_once('modules_data/_friends.php');
} elseif (($u->info['admin'] > 0 || $u->info['level'] > 7 || $u->info['align'] == 50) && isset($_GET['notepad']) && !isset($u->tfer['id'])) {
require_once('modules_data/notepad.php');
} elseif ((($u->info['align'] > 1 && $u->info['align'] < 2) || $u->info['admin'] > 0) && isset($_GET['light']) && !isset($u->tfer['id'])) {
require_once('modules_data/_mod.php');
} elseif ((($u->info['align'] > 3 && $u->info['align'] < 4) || $u->info['admin'] > 0) && isset($_GET['dark']) && !isset($u->tfer['id'])) {
require_once('modules_data/_mod.php');
} elseif (isset($_GET['admin']) && $u->info['admin'] > 0) {
} elseif (isset($_GET['moderation'])) {
require_once('modules_data/_mod.php');
} elseif (isset($_GET['vip']) && !isset($u->tfer['id'])) {
require_once('modules_data/vip.php');

View File

@ -11,6 +11,10 @@ if (!defined('GAME')) {
$m = new Moderator($u->info['id']);
if (!$m->isModerator) {
return;
}
$rang = 'Модератор';
if (isset($_GET['remod'])) {
@ -21,8 +25,6 @@ if (isset($_GET['remod'])) {
}
}
$zv = [1 => 'light', 2 => 'admin', 3 => 'dark'];
$merror = '';
$uer = '';
@ -86,20 +88,6 @@ if (!empty($_POST['marrypartner1']) && !empty($_POST['marrypartner2'])) {
echo '<script src="/js/jquery.js"></script>';
$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; #########################
}
$a = floor($p['align']);
if ($u->info['admin'] > 0) {
$zv = $zv[2];
} else {
$zv = $zv[$a];
}
$go = 0;
if (isset($_GET['go'])) {
$go = round($_GET['go']);
@ -111,8 +99,8 @@ if ($go == 3 && $u->info['admin'] > 0) {
<tr>
<td style="text-align: center;"><h3>Редактирование обучающих квестов</h3></td>
<td style="text-align: right; width: 150px;">
<input type="button" value="&gt;" onclick="location='main.php?<?= $zv; ?>';"/>
<input type="button" value="Вернуться" onclick="location='main.php?go=3&amp;<?= $zv; ?>';"/>
<input type="button" value="&gt;" onclick="location='main.php?moderation';"/>
<input type="button" value="Вернуться" onclick="location='main.php?moderation&go=3';"/>
</td>
</tr>
<tr>
@ -167,7 +155,7 @@ if ($go == 3 && $u->info['admin'] > 0) {
$pl = Db::getRow('select * from an_quest where id = ?', [(int)$_GET['eq']]);
}
?>
<form method="post" action="/main.php?<?= $zv ?>&go=3&eq=<?= $pl['id'] ?>">
<form method="post" action="/main.php?moderation&go=3&eq=<?= $pl['id'] ?>">
#id: <?= $pl['id'] ?><br/>
<label>
Название квеста:
@ -215,7 +203,7 @@ if ($go == 3 && $u->info['admin'] > 0) {
echo '<div style="text-align: center">Квест не найден.</div>>';
}
} else {
echo '<a href="/main.php?' . $zv . '&go=3&add=1">Добавить новый квест</a><hr>';
echo '<a href="/main.php?moderation&go=3&add=1">Добавить новый квест</a><hr>';
if (isset($_GET['del'])) {
Db::sql('delete from an_quest where id = ?', [(int)$_GET['del']]);
} elseif (isset($_GET['add'])) {
@ -227,8 +215,8 @@ if ($go == 3 && $u->info['admin'] > 0) {
<div>
<span style="width:50px;display:inline-block;">$qid</span>
<span style="width:250px;display:inline-block; font-weight: bold;">$qname($qsex)</span>
<a href="/main.php?$zv&go=3&eq=$qid">Изменить</a>
<a href="/main.php?$zv&go=3&del=$qid">Удалить</a>
<a href="/main.php?moderation&go=3&eq=$qid">Изменить</a>
<a href="/main.php?moderation&go=3&del=$qid">Удалить</a>
</div>
<hr>
HTML;
@ -414,7 +402,7 @@ if ($go == 3 && $u->info['admin'] > 0) {
<tr>
<td align="center"><h3>Редактор заданий</h3></td>
<td width="150" align="right">
<input type="button" class="btn btn-success" value="Вернуться" onclick="location='main.php?<?= $zv; ?>';"/>
<input type="button" class="btn btn-success" value="Вернуться" onclick="location='/main.php?moderation';"/>
</td>
</tr>
<tr>
@ -433,7 +421,7 @@ if ($go == 3 && $u->info['admin'] > 0) {
<tr id="addNewquest" style="display:none;">
<td style="border-bottom:1px solid #CCCCCC; background-color: #dadada;">
<b>Панель добавления новых заданий:</b><br>
<form method="post" action="/main.php?go=2&amp;<?= $zv; ?>">
<form method="post" action="/main.php?moderation&go=2">
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="200" valign="top"><label for="q_name">Название задания</label></td>
@ -524,7 +512,7 @@ if ($go == 3 && $u->info['admin'] > 0) {
</td>
<td style="border-bottom:1px solid #CCCCCC; background-color: #dadada; width: 75px;">
<div style="text-align: center;">
<a href="/main.php?go=2&amp;delq=<?= $quest['id'] . '&' . $zv; ?>">удалить</a>
<a href="/main.php?moderation&go=2&delq=<?= $quest['id'] ?>">удалить</a>
</div>
</td>
<td style="border-bottom:1px solid #CCCCCC;">
@ -592,7 +580,7 @@ if ($go == 3 && $u->info['admin'] > 0) {
</div>
</div>
<form action="/main.php?<?= $zv . '&rnd=' . PassGen::intCode() ?>" method="post" name="F1" id="F1">
<form action="/main.php?moderation&rnd=<?= PassGen::intCode() ?>" method="post" name="F1" id="F1">
<?php
$uer = '';
//используем заклятия
@ -662,9 +650,9 @@ if ($go == 3 && $u->info['admin'] > 0) {
<?php if ($m->isAdmin): ?>
<div>
<a href="/main.php?<?= $zv ?>&go=2">Редактировать квесты, задания и обучающие программы</a><br>
<a href="/main.php?<?= $zv ?>&go=3">Редактировать квесты для Нубозавров</a><br>
<a href="/main.php?<?= $zv ?>&go=1">Редактировать возможности подчиненных</a><br>
<a href="/main.php?moderation&go=2">Редактировать квесты, задания и обучающие программы</a><br>
<a href="/main.php?moderation&go=3">Редактировать квесты для Нубозавров</a><br>
<a href="/main.php?moderation&go=1">Редактировать возможности подчиненных</a><br>
</div>
<input type="submit" name="addmoderator" value="Назначить модератором>" form="moderation">
@ -726,6 +714,7 @@ if ($go == 3 && $u->info['admin'] > 0) {
HTML;
}
}
} ?>
</form>
<?php