game/modules_data/_mod.php
Ivor Barhansky 1f6626ea33 Перенос разрозненных файлов в фабрику. Утилизация неиспользуемых функций. #49
Переводы и добавление в ЛД надо писать заново потому что вот зачем ОКАЗЫВАЕТСЯ были нужны сокращения, которые удалялись из логов последние два года - для сортитровки выдачи вот в этом файле. :(
2023-12-09 14:14:33 +00:00

921 lines
48 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
use Moderation\AdmFactory;
use Moderation\Announcement;
use Moderation\Moderator;
use Moderation\ModFactory;
use User\ItemsModel;
/** @var User $u */
if (!defined('GAME')) {
die();
}
$m = new Moderator($u->info['id']);
$rang = 'Модератор';
if (isset($_GET['remod'])) {
if ($_GET['remod'] == 1) {
$_SESSION['remod'] = 3;
} else {
$_SESSION['remod'] = 1;
}
}
$zv = [1 => 'light', 2 => 'admin', 3 => 'dark'];
$merror = '';
$mod_login = $u->info['login'];
if ($u->info['invise'] > 0) {
$mod_login = "<i>Невидимка</i>";
}
$uer = '';
if (!empty($_POST['logingo'])) {
$moderation = new ModFactory(
strip_tags($_POST['logingo']),
empty($_POST['modReason']) ? '' : $_POST['modReason'],
$u->info['room'],
);
$administration = new AdmFactory(
strip_tags($_POST['logingo'])
);
if (!empty($_POST['silence']) && !empty($_POST['time'])) {
$moderation->silence($_POST['time']);
} elseif (!empty($_POST['unsilence'])) {
$moderation->unsilence();
} elseif (!empty($_POST['prison']) && !empty($_POST['time'])) {
$moderation->prison($_POST['time']);
} elseif (!empty($_POST['unprison'])) {
$moderation->unprison();
} elseif (!empty($_POST['depersonalize']) && !empty($_POST['time'])) {
$moderation->depersonalize($_POST['time']);
} elseif (!empty($_POST['undepersonalize'])) {
$moderation->undepersonalize();
} elseif (!empty($_POST['ban'])) {
$moderation->ban();
} elseif (!empty($_POST['unban'])) {
$moderation->unban();
} elseif (!empty($_POST['addmoderator'])) {
$administration->addmoderator();
} elseif (!empty($_POST['deletemoderator'])) {
$administration->removemoderator();
} elseif (!empty($_POST['changegender'])) {
$administration->changegender();
} elseif (!empty($_POST['changelogin']) && !empty($_POST['newLogin'])) {
$administration->changelogin($_POST['newLogin']);
} elseif (!empty($_POST['giveitem']) && !empty($_POST['itemId'])) {
$administration->additem((int)$_POST['itemId']);
} elseif (!empty($_POST['kickfrombattle'])) {
$administration->kickfrombattle();
} elseif (!empty($_POST['toggleinvisibility'])) {
$administration->toggleinvisibility();
}
if (!empty($moderation->status)) {
$uer = $moderation->status;
} elseif (!empty($administration->status)) {
$uer = $administration->status;
}
}
if (!empty($_POST['marrypartner1']) && !empty($_POST['marrypartner2'])) {
if (!empty($_POST['marry'])) {
$uer = 'marry: Not available';
} elseif (!empty($_POST['unmarry'])) {
$uer = 'unmarry: Not available';
}
}
echo '<script src="/js/jquery.js"></script>';
$p = mysql_fetch_array(mysql_query('SELECT * 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']);
}
if ($go == 3 && $u->info['admin'] > 0) {
?>
<table width="100%">
<tr>
<td align="center"><h3>Редактирование обучающих квестов</h3></td>
<td width="150" align="right"><input type="button" value="&gt;"
onclick="location='main.php?<?= $zv; ?>';"/>
<input type="button" value="Вернуться"
onclick="location='main.php?go=3&amp;<?= $zv; ?>';"/>
<?php if ($u->info['admin'] > 0) { ?>
<input type="button" class="btn btn-success" value="<?php if ($a == 1) {
echo 'Панель паладина';
} else {
echo 'Панель тармана';
} ?>"
onclick="location='main.php?go=1&amp;<?= $zv; ?>&amp;remod=<?= $a; ?>';"/>
<?php } ?>
</td>
</tr>
<tr>
<td><?php
if ($merror != '') {
echo '<font color="red">' . $merror . '</font>';
}
?>
<?php
$sx = ['Мужской', 'Женский', 'Общий'];
if (isset($_GET['eq'])) {
$pl = mysql_fetch_array(
mysql_query(
'SELECT * FROM `an_quest` WHERE `id` = "' . mysql_real_escape_string(
$_GET['eq']
) . '" LIMIT 1'
)
);
if (isset($pl['id'])) {
if (isset($_POST['pl_name'])) {
$pl['name'] = $_POST['pl_name'];
$pl['sex'] = $_POST['pl_sex'];
$pl['ico_bot'] = $_POST['pl_ico_bot'];
$pl['name_bot'] = $_POST['pl_name_bot'];
$pl['info'] = $_POST['pl_info'];
$pl['act'] = $_POST['pl_act'];
$pl['next'] = $_POST['pl_next'];
$pl['win'] = $_POST['pl_win'];
$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'
)
);
}
?>
<form method="post" action="main.php?<?= $zv ?>&go=3&eq=<?= $pl['id'] ?>">
#id: <?= $pl['id'] ?><br/>
Название квеста: <input style="width:200px;" name="pl_name" type="text"
value="<?= $pl['name'] ?>"/><br/>
<hr/>
Пол: <input style="width:20px;" name="pl_sex" type="text"
value="<?= $pl['sex'] ?>"/><br/>
Картинка бота: <input style="width:216px;" name="pl_ico_bot" type="text"
value="<?= $pl['ico_bot'] ?>"/><br/>
Имя бота: <input style="width:253px;" name="pl_name_bot" type="text"
value="<?= $pl['name_bot'] ?>"/>
<hr/>
<br/>
Информация:<br/><textarea style="width:330px;"
name="pl_info"><?= $pl['info'] ?></textarea><br/>
Действие: <input style="width:255px;" name="pl_act" type="text"
value="<?= $pl['act'] ?>"/><br/>
Следующий квест: <input style="width:200px;" name="pl_next" type="text"
value="<?= $pl['next'] ?>"/><br/>
Награда: <input style="width:200px;" name="pl_win" type="text"
value="<?= $pl['win'] ?>"/> (опыт|кр|екр|предметы)<br/>
Дата: <input style="width:200px;" name="pl_data" type="text"
value="<?= $pl['data'] ?>"/><br/>
<hr/>
Комната (требует): <input name="pl_room" type="text"
value="<?= $pl['room'] ?>"/><br/>
Модуль, действие (требует): <input name="pl_module" type="text"
value="<?= $pl['module'] ?>"/>
<hr/>
<input type="submit" value="Сохранить квест"/>
</form>
<?php
} else {
echo '<center>Квест не найден.</center>';
}
} else {
echo '<a href="main.php?' . $zv . '&go=3&add=1">Добавить новый квест</a><hr>';
if (isset($_GET['del'])) {
mysql_query(
'DELETE FROM `an_quest` WHERE `id` = "' . mysql_real_escape_string(
$_GET['del']
) . '" LIMIT 1'
);
} elseif (isset($_GET['add'])) {
mysql_query('INSERT INTO `an_quest` (`sex`) VALUES ("0") ');
}
$sp = mysql_query('SELECT * FROM `an_quest`');
while ($pl = mysql_fetch_array($sp)) {
echo '<div><span style="width:50px;display:inline-block;">#' . $pl['id'] . '</span><b><span style="width:250px;display:inline-block;">' . $pl['name'] . ' (' . $sx[$pl['sex']] . ')</span></b> &nbsp; <a href="main.php?' . $zv . '&go=3&eq=' . $pl['id'] . '">Изменить</a> <a href="main.php?' . $zv . '&go=3&del=' . $pl['id'] . '">Удалить</a></div><hr>';
}
}
?>
</td>
</tr>
</table>
<?php
} elseif ($go == 2 && $u->info['admin'] > 0) {
if (isset($_POST['q_name'])) {
$qd = [];
/* Array ([q_act_atr_1] => 0 [q_act_val_1] => [q_tr_atr_1] => 0 [q_tr_val_1] => [q_ng_atr_1] => 0 [q_ng_val_1] => [q_nk_atr_NaN] => 0
[q_nk_val_NaN] => [q_info] => test описание [q_line1] => 1 [q_line2] => 1 [q_fast] => 1 [q_fast_city] => capitalcity [q_align1] => 1 [q_align2] => 1 [q_align3] => 1 ) */
$qd['name'] = $_POST['q_name'];
$qd['lvl'] = explode('-', $_POST['q_lvl']);
$qd['info'] = $_POST['q_info'];
if ($_POST['q_line1'] == 1) {
$qd['line'] = $_POST['q_line2'];
}
if ($_POST['q_fast'] == 1) {
$qd['city'] = $_POST['q_fast_city'];
$gd['fast'] = 1;
}
if ($_POST['align1'] == 1) {
$qd['align'] = 1;
} elseif ($_POST['align2'] == 1) {
$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] . ':|:';
}
} else {
$i = -2;
$qd['act_date'] = trim($qd['act_date'], ':|:');
}
$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'], ':|:');
}
$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'], ':|:');
}
$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'], ':|:');
}
$i++;
}
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']) . '")'
);
}
?>
<script>
function nqst() {
if (document.getElementById('addNewquest').style.display == '') {
document.getElementById('addNewquest').style.display = 'none';
} else {
document.getElementById('addNewquest').style.display = '';
}
}
var adds = [0, 0, 0, 0];
function addqact() {
var dd = document.getElementById('qact');
adds[0]++;
dd.innerHTML = 'Атрибут: <select name="q_act_atr_' + adds[0] + '" id="q_act_atr_' + adds[0] + '">' +
'<option value="0"></option>' +
'<option value="go_loc">перейти в локацию</option>' +
'<option value="go_mod">перейти в модуль</option>' +
'<option value="on_itm">одеть предмет</option>' +
'<option value="un_itm">снять предмет</option>' +
'<option value="use_itm">использовать предмет</option>' +
'<option value="useon_itm">использовать предмет на</option>' +
'<option value="dlg_nps">поговорить с NPS</option>' +
'<option value="tk_itm">получить предмет</option>' +
'<option value="del_itm">выкинуть предмет</option>' +
'<option value="buy_itm">купить предмет</option>' +
'<option value="kill_bot">убить монстра</option>' +
'<option value="kill_you">убить клона</option>' +
'<option value="kill_user">убить игрока</option>' +
'<option value="all_stats">раставить статы</option>' +
'<option value="all_skills">раставить умения</option>' +
'<option value="all_navik">расставить навыки</option>' +
'<option value="min_online">пробыть минут в онлайне</option>' +
'<option value="min_btl">провести боев</option>' +
'<option value="min_winbtl">провести боев (побед)</option>' +
'<option value="tk_znak">получить значок</option>' +
'<option value="end_quests">завершить квест</option>' +
'<option value="end_qtime">время выполнения квеста (в минутах)</option>' +
'</select>, значение: <input style="width:100px" name="q_act_val_' + adds[0] + '" value=""><br>' + dd.innerHTML;
}
function addqtr() {
var dd = document.getElementById('qtr');
adds[1]++;
dd.innerHTML = 'Атрибут: <select name="q_tr_atr_' + adds[1] + '" id="q_tr_atr_' + adds[1] + '">' +
'<option value="0"></option>' +
'<option value="tr_endq">Завершить квесты</option>' +
'<option value="tr_botitm">Из монстров падают предметы (в пещерах)</option>' +
'<option value="tr_winitm">После победы падают предметы</option>' +
'<option value="tr_zdr">Задержка между выполнением (в часах)</option>' +
'<option value="tr_tm1">Переодичность квеста (начало)</option>' +
'<option value="tr_tm2">Переодичность квеста (конец)</option>' +
'<option value="tr_raz">Сколько раз можно проходить квест</option>' +
'<option value="tr_raz2">Сколько попыток пройти квест</option>' +
'<option value="tr_dn">Нахождение в пещере</option>' +
'<option value="tr_x">Нахождение в координате X</option>' +
'<option value="tr_y">Нахождение в координате Y</option>' +
'</select>, значение: <input style="width:100px" name="q_tr_val_' + adds[1] + '" value=""><br>' + dd.innerHTML;
}
function addqng() {
var dd = document.getElementById('qng');
adds[2]++;
dd.innerHTML = 'Атрибут: <select name="q_ng_atr_' + adds[2] + '" id="q_ng_atr_' + adds[2] + '">' +
'<option value="0"></option>' +
'<option value="add_cr">Добавить Кредиты</option>' +
'<option value="add_ecr">Добавить Екредиты</option>' +
'<option value="add_itm">Добавить предмет</option>' +
'<option value="add_eff">Добавить эффект</option>' +
'<option value="add_rep">Добавить репутации</option>' +
'<option value="add_exp">Добавить опыта</option>' +
'</select>, значение: <input style="width:100px" name="q_ng_val_' + adds[2] + '" value=""><br>' + dd.innerHTML;
}
function addqnk() {
var dd = document.getElementById('qnk');
adds[3]++;
dd.innerHTML = 'Атрибут: <select name="q_nk_atr_' + adds[3] + '" id="q_nk_atr_' + adds[3] + '">' +
'<option value="0"></option>' +
'<option value="lst_eff">Добавить эффект</option>' +
'</select>, значение: <input style="width:100px" name="q_nk_val_' + adds[3] + '" value=""><br>' + dd.innerHTML;
}
</script>
<title>Текстовое поле</title>
<table width="100%">
<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; ?>';"/>
</td>
</tr>
<tr>
<td>
<form method="post" action="main.php?go=2&amp;<?= $zv; ?>&amp;remod=<?= $a; ?>">
<table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#E1E1E1">
<!-- -->
<tr>
<td style="border-bottom:1px solid #CCCCCC;">
<div align="left" style="margin-left:11px;">
<a href="javascript:void(0)" onclick="nqst()">Добавить новое задание</a>
</div>
<div align="left"></div>
</td>
</tr>
<tr id="addNewquest" style="display:none;">
<td bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;"><b>Панель добавления
новых заданий:</b><br/>
<table width="100%" border="0" cellspacing="0" cellpadding="5">
<tr>
<td width="200" valign="top">Название задания</td>
<td><input name="q_name" id="q_name" value="" size="60" maxlength="50"/>
</td>
</tr>
<tr>
<td valign="top">Уровень задания</td>
<td><input name="q_lvl" id="q_lvl" value="0-21" size="10"
maxlength="5"/></td>
</tr>
<tr>
<td valign="top">Действия</td>
<td valign="top" id="qact"><a href="javascript:void(0)"
onclick="addqact()"><small>[+]
добавить</small></a></td>
</tr>
<tr>
<td valign="top">Условия</td>
<td valign="top" id="qtr"><a href="javascript:void(0)"
onclick="addqtr()"><small>[+]
добавить</small></a></td>
</tr>
<tr>
<td valign="top">Награда</td>
<td valign="top" id="qng"><a href="javascript:void(0)"
onclick="addqng()"><small>[+]
добавить</small></a></td>
</tr>
<tr>
<td valign="top">Неудача</td>
<td valign="top" id="qnk"><a href="javascript:void(0)"
onclick="addqnk()"><small>[+]
добавить</small></a></td>
</tr>
<tr>
<td valign="top">Описание задания</td>
<td><textarea name="q_info" id="q_info" style="width:90%"
rows="7"></textarea></td>
</tr>
<tr>
<td align="center" valign="top" bgcolor="#CBCBCB"><input name="q_line1"
type="checkbox"
id="checkbox3"
value="1"/>
Линейное задание
</td>
<td bgcolor="#CBCBCB"><input name="q_line2" id="q_line3" value=""
size="5" maxlength="3"/>
, id линейного сюжета
</td>
</tr>
<tr>
<td align="center" valign="top" bgcolor="#CBCBCB"><input name="q_fast"
type="checkbox"
id="q_fast"
value="1"/>
Быстрое задание&nbsp;
</td>
<td bgcolor="#CBCBCB"><input name="q_fast_city" id="q_fast_city"
value="capitalcity" size="50"
maxlength="50"/>
, город которым ограничен квест <small>(стереть, если не
ограничен)</small></td>
</tr>
<tr>
<td align="center" valign="top" bgcolor="#CBCBCB">
<small>
<input name="q_align1" type="checkbox" id="q_align1" value="1"/>
Свет,
<input name="q_align2" type="checkbox" id="q_align2" value="1"/>
Тьма,<br/>
<input name="q_align3" type="checkbox" id="q_align3" value="1"/>
Нейтрал,
<input name="q_align4" type="checkbox" id="q_align4" value="1"/>
Хаос
</small>
</td>
<td bgcolor="#CBCBCB"><input type="submit" value="Добавить задание"/>
</td>
</tr>
</table>
</td>
</tr>
<!-- -->
</table>
</form>
<table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#E1E1E1">
<!-- -->
<?php
if (isset($_GET['delq'])) {
mysql_query(
'UPDATE `quests` SET `delete` = "' . time() . '" WHERE `id` = "' . mysql_real_escape_string($_GET['delq']) . '" LIMIT 1'
);
}
$sp = mysql_query('SELECT * FROM `quests` WHERE `delete` = 0');
while ($pl = mysql_fetch_array($sp)) {
?>
<tr>
<td style="border-bottom:1px solid #CCCCCC;" width="300">
<div align="left" style="margin-left:11px;"><?= $pl['name'] ?></div>
<div align="left"></div>
</td>
<td width="75" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;">
<div align="center"><a
href="main.php?go=2&amp;delq=<?= $pl['id'] . '&' . $zv; ?>">удалить</a>
</div>
</td>
<td style="border-bottom:1px solid #CCCCCC;">
<small><b>Описание:</b> <?= $pl['info'] ?></small></td>
</tr>
<?php } ?>
<!-- -->
</table>
</td>
</tr>
</table>
<?php
} else {
?>
<style>
.modpow {
background-color: #ddd5bf;
}
.mt {
background-color: #b1a993;
padding: 5px 10px;
}
.md {
padding: 10px;
}
</style>
<script>
function openMod(title, dat) {
const d = document.getElementById('useMagic');
if (d) {
document.getElementById('modtitle').innerHTML = '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top">' + title + '</td><td width="30" valign="top"><div align="right"><a title="Закрыть окно" onClick="closeMod(); return false;" href="#">x</a></div></td></tr></table>';
document.getElementById('moddata').innerHTML = dat;
d.style.display = '';
top.chat.inObj = top.frames['main'].document.getElementById('logingo');
top.frames['main'].document.getElementById('logingo').focus();
}
}
function closeMod() {
const d = document.getElementById('useMagic');
if (d) {
document.getElementById('modtitle').innerHTML = '';
document.getElementById('moddata').innerHTML = '';
d.style.display = 'none';
}
}
</script>
<div id="useMagic"
style="display:none; position:absolute; border:solid 1px #776f59; left: 50px; top: 186px;"
class="modpow">
<div class="mt" id="modtitle"></div>
<div class="md" id="moddata"></div>
</div>
<table width="100%">
<tr>
<td align="center">
<?php if ($u->info['admin'] > 0 || ($u->info['align'] > 1 && $u->info['align'] < 2) || ($u->info['align'] > 3 && $u->info['align'] < 4)) { ?>
<h3>Панель <?php if ($a == 1) {
echo 'Паладина';
} elseif ($a == 3) {
echo 'Тармана';
} else {
echo 'Ангела';
} ?></h3>
<?php } else { ?><h3>Панель <?php if ($u->info['align'] == 1) {
echo 'Света';
} elseif ($u->info['align'] == 3) {
echo 'Тьмы';
} ?></h3><?php } ?>
</td>
<td width="150" align="right"><input type="button" class="btn btn-danger" value="Вернуться"
onclick="location='main.php';"/>
<?php if ($u->info['admin'] > 0) { ?>
<input type="button" class="btn btn-success" value="<?php if ($a == 1) {
echo 'Панель тармана';
} else {
echo 'Панель паладина';
} ?>" onclick="location='main.php?<?= $zv; ?>&amp;remod=<?= $a; ?>';"/>
<?php } ?>
</td>
</tr>
<tr>
<td>
<div align="left"></div>
</td>
</tr>
</table>
<form action="main.php?<?= $zv . '&rnd=' . $code; ?>" method="post" name="F1" id="F1">
<table width="100%">
<tr>
<td align="center"></td>
<td align="right"></td>
<td valign="top" align="right"></td>
</tr>
</table>
<?php
$uer = '';
//используем заклятия
if (isset($_GET['usemod'])) {
$srok = [5 => '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 . ' &quot;' . $u->info['login'] . '&quot; Выдал' . $sx . ' персонажу &quot;' . $user_teleport['login'] . '&quot; вещь &quot;<b>' . $giv_itm['name'] . '</b>&quot;.';
}
}
echo '<font color="red">' . $uer . '</font>';
//Темная склонка, кусается сука!)
?>
<br/>
<?php if ($m->isModerator): ?>
<div style="padding:10px; margin:5px; border-bottom:1px solid #cac9c7;">
<h4>Наложить/Снять наказание</h4>
<form method="post" id="moderation">
<label for="logingo">Логин персонажа:</label>
<input type="text" id="logingo" name="logingo">
<label for="modReason">Причина действия (где применимо):</label>
<input type="text" id="modReason" name="modReason">
</form>
<div>
<label>Время в минутах: <input type="number" min="1" name="time" form="moderation"></label>
<input type="submit" name="silence" value="Молчанка в чате" form="moderation">
<input type="submit" name="unsilence" value="❌ Снять молчанку" form="moderation"><br>
<label>Количество дней: <input type="number" min="1" name="time" form="moderation"></label>
<input type="submit" name="prison" value="Посадить в тюрьму" form="moderation">
<input type="submit" name="unprison" value="❌ Выпустить из тюрьмы" form="moderation"><br>
<label>Количество дней: <input type="number" min="1" name="time" form="moderation"></label>
<input type="submit" name="depersonalize" value="Скрыть профиль" form="moderation">
<input type="submit" name="undepersonalize" value="❌ Раскрыть профиль" form="moderation"><br>
<form method="post">
<label for="marrypartner1">Партнёр 1</label>
<input type="text" id="marrypartner1" name="logingo">
<label for="marrypartner2">Партнёр 2</label>
<input type="text" id="marrypartner2" name="logingo2">
<input type="submit" name="marry" value="💘 Свадьба!">
<input type="submit" name="unmarry" value="💔 Развод!">
</form>
<?php if ($m->canBlockUsers): ?>
<div style="background-color: lightcoral; margin: 5px 1px; border: 1px dashed crimson;">
<input type="submit" name="ban" value="🔒 ️Заблокировать>" form="moderation">
<input type="submit" name="unban" value="🔓 Разблокировать" form="moderation">
</div>
<?php endif; ?>
</div>
<?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>
</div>
<input type="submit" name="addmoderator" value="Назначить модератором>" form="moderation">
<input type="submit" name="deletemoderator" value="❌ Убрать из модераторов" form="moderation">
<input type="submit" name="kickfrombattle" value="⚔️ Вытащить из боя>" form="moderation">
<input type="submit" name="changegender" value="👨🏻‍🤝‍👩🏻 Сменить пол" form="moderation"><br>
<label for="newLogin">Новый логин:</label> <input type="text" id="newLogin" name="newLogin">
<input type="submit" name="changelogin" value="📝 Сменить логин"><br>
<label for="itemId">ID предмета:</label> <input type="number" id="itemId" name="itemId" min="1">
<input type="submit" name="giveitem" value="🎁 Подарить предмет"><br>
<button disabled>Добавить опыта</button> <i style="color: grey">- очень сломанная херня.</i>
<?php endif; ?>
</div>
<?php endif;
if ($u->info['admin'] > 0) {
if (isset($_POST['add_item_to_user2'])) {
$uad = mysql_fetch_array(
mysql_query(
'SELECT `id`,`login` FROM `users` WHERE `login` = "' . mysql_real_escape_string(
$_POST['add_item_to_login']
) . '" LIMIT 1'
)
);
if (isset($uad['id'])) {
ItemsModel::addItem(round((int)$_POST['add_item_to_user']), $uad['id']);
mysql_query(
'INSERT INTO `users_delo` (`onlyAdmin`,`hb`,`uid`,`time`,`city`,`text`,`login`,`ip`) VALUES ("1","0","' . $uad['id'] . '","' . time() . '","' . $uad['city'] . '","' . $rang . ' &quot;' . $u->info['login'] . '&quot; <font color=red>выдал предмет</font>: №' . round(
(int)$_POST['add_item_to_user']
) . ' персонажу <b>' . $uad['login'] . '</b>.","' . $u->info['login'] . '","' . $u->info['ip'] . '")'
);
echo '<b style="color: red">Предмет был доставлен к персонажу</b>';
} else {
echo '<b style="color: red">Персонаж не найден</b>';
}
}
?>
<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">
Выдать предмет <input name="add_item_to_user" value=""/> персонажу <input
name="add_item_to_login" value="<?php if (isset($_POST['add_item_to_login'])) {
echo $_POST['add_item_to_login'];
} ?>"/>
<input type="submit" name="add_item_to_user2" id="add_item_to_user2" class="btn"
value="Выдать"/>
</div>
<?php
}
if ($isAdmin) {
/** Мегафон только для администраторов. */
Announcement::init();
/** Регистрации персонажей только для администраторов. */
$pld520 = date('d.m.Y');
if (isset($_POST['loginLD520'])) {
$pld520 = $_POST['loginLD520'];
}
$pld520TS = strtotime(str_replace(".", "-", $pld520));
$pld520 = date('d.m.Y', $pld520TS);
?>
<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">
<h4>Регистрации персонажей</h4>
Дата регистрации
<input name="pometka520" class="btn btn-success"
onclick="document.getElementById('loginLD520').value='<?= date(
'd.m.Y', ($pld520TS - 86400)
) ?>';" type="submit" value="&laquo;"/>
<input value="<?= $pld520 ?>" name="loginLD520" type="text" id="loginLD520" size="20"
maxlength="10"/>
<input name="pometka520" class="btn btn-success"
onclick="document.getElementById('loginLD520').value='<?= date(
'd.m.Y', ($pld520TS + 86400)
) ?>';" type="submit" value="&raquo;"/>
<input type="submit" name="pometka520" id="pometka520" class="btn" value="Показать"/>
<?php
if (isset($_POST['pometka520'])) {
$sp = mysql_query(
'SELECT `users`.`id`,`users`.`host_reg`,`users`.`banned`,`users`.`battle`,`users`.`online`,`users`.`molch1`,`users`.`bithday` FROM `users` LEFT JOIN `stats` ON `stats`.`id` = `users`.`id` WHERE `users`.`bithday` != "01.01.1800" AND `stats`.`bot` = 0 AND `users`.`timereg` >= ' . $pld520TS . ' AND `users`.`timereg` < ' . ($pld520TS + 86400) . ' ORDER BY `users`.`id` ASC'
);
$i = 1;
echo '<br><b style="color: red;">Персонажи зарегистрированные ' . $pld520 . '</b>';
while ($pl = mysql_fetch_array($sp)) {
$urt5202 = '<br>' . $i . '. ' . User::getLogin($pl['id']);
if ($pl['banned'] > 0) {
$urt5202 = '<font color=red>' . $urt5202 . '</font>';
} elseif ($pl['online'] > time() - 520) {
$urt5202 = '<font color=green>' . $urt5202 . '</font>';
}
if ($pl['molch1'] > time()) {
$urt5202 .= ' <img title="На персонаже молчанка" src=//img.new-combats.tech/i/sleep2.gif width=24 height=15>';
}
if ($pl['battle'] > 0) {
$urt5202 .= ' <a href="/logs.php?log=' . $pl['battle'] . '" target="_blank"><img src=//img.new-combats.tech/i/fighttype0.gif title="Персонаж в поединке"></a>';
}
if ($pl['host_reg'] > 0) {
$urt5202 .= ' &nbsp; <small>(Реферал персонажа ' . User::getLogin($pl['host_reg']) . ')</small>';
}
$urt520 .= $urt5202;
$i++;
}
echo $urt520;
unset($urt520, $i, $pl, $sp);
}
?>
</div>
<?php
/** 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']);
?>
<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">
<h4>Показать лог действий модераторов</h4>
Показать действия за <input name="smod1" type="text" id="smod1" value="<?= $_POST['smod1'] ?>" size="11" maxlength="10">
Логин модератора <input name="smod2" type="text" id="smod2" value="<?= $_POST['smod2'] ?>" size="30" maxlength="30">
<input type="submit" name="delosee3" id="delosee3" class="btn" value="Поиск"/>
</div>
<?php
if (isset($_POST['delosee3'])) {
$sp = mysql_query(
'SELECT * FROM `users_delo` WHERE `login` = "' . mysql_real_escape_string(
$_POST['smod2']
) . '" AND `time` >= ' . $dsee['t1'] . ' AND `time` <= ' . $dsee['t2'] . ''
);
$rdl = '';
while ($pl = mysql_fetch_array($sp)) {
$rdl .= '<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">';
$rdl .= '<div style="display:inline-block;width:150px;color:green">' . date(
'd.m.Y H:i:s', $pl['time']
) . '</div>';
$rdl .= $pl['text'] . ' персонажу ' . User::getLogin($pl['uid']);
$rdl .= '</div>';
}
if ($rdl == '') {
$rdl = 'Модератор не совершал действий за данное число';
}
echo $rdl;
}
} ?>
</form>
<?php
}