Перенос разрозненных файлов в фабрику. Утилизация неиспользуемых функций. #49

Переводы и добавление в ЛД надо писать заново потому что вот зачем ОКАЗЫВАЕТСЯ были нужны сокращения, которые удалялись из логов последние два года - для сортитровки выдачи вот в этом файле. :(
This commit is contained in:
Ivor Barhansky 2023-12-08 15:20:27 +02:00 committed by Ivor Barhansky
parent 26f28a9be8
commit 1f6626ea33

View File

@ -94,112 +94,13 @@ if (!empty($_POST['marrypartner1']) && !empty($_POST['marrypartner2'])) {
}
}
//возможности (перечисляем)
$vz_id = [
0 => 'm1',
1 => 'mm1',
2 => 'm2',
3 => 'mm2',
4 => 'sm1',
5 => 'sm2',
6 => 'citym1',
7 => 'citym2',
8 => 'citysm1',
9 => 'citysm2',
10 => 'addld',
11 => 'cityaddld',
12 => 'seeld',
13 => 'telegraf',
14 => 'f1',
15 => 'f2',
16 => 'f3',
17 => 'f4',
18 => 'f5',
19 => 'f6',
20 => 'f7',
21 => 'f8',
22 => 'boi',
23 => 'elka',
26 => 'deletInfo',
27 => 'zatoch',
28 => 'banned',
29 => 'unbanned',
30 => 'readPerevod',
31 => 'provItm',
32 => 'provMsg',
35 => 'szatoch',
36 => 'editAlign',
37 => 'priemIskl',
39 => 'marry',
40 => 'ban0',
47 => 'useuntravm',
48 => 'heal',
49 => 'invis',
50 => 'attack',
51 => 'sex',
52 => 'unbtl',
53 => 'nick',
54 => 'testchat',
];
//названия возможностей
$vz = [
'm1' => 'Заклятие молчания',
'mm1' => 'Заклятие молчания (3 дн.)',
'm2' => 'Заклятие форумного молчания',
'mm2' => 'Заклятие форумного молчания (3 дн.)',
'sm1' => 'Снять молчанку',
'sm2' => 'Снять форумную молчанку',
'citym1' => 'Заклятие молчания (междугородняя)',
'citym2' => 'Заклятие форумного молчания (междугородняя)',
'citysm1' => 'Снять молчанку (междугородняя)',
'citysm2' => 'Снять форумную молчанку (междугородняя)',
'addld' => 'Добавить запись в личное дело',
'cityaddld' => 'Добавить запись в личное дело (междугородняя)',
'seeld' => 'Просмотр личного дела',
'telegraf' => 'Телеграф',
'f1' => 'Форум. Ответ в ответе',
'f2' => 'Форум. Удаление ответа',
'f3' => 'Форум. Восстановление темы',
'f4' => 'Форум. Удаление темы',
'f5' => 'Форум. Перемещение темы',
'f6' => 'Форум. Прикрепление / Открепление темы',
'f7' => 'Форум. Возобновление обсуждения',
'f8' => 'Форум. Закрытие обсуждения',
'boi' => 'Модерация боев',
'elka' => 'Модерация ёлки',
'deletInfo' => 'Снять / Наложить Обезличивание',
'zatoch' => 'Заточение персонажа',
'banned' => 'Блокировка персонажа',
'unbanned' => 'Разблокировка персонажа',
'readPerevod' => 'Просмотр переводов',
'provItm' => 'Проверка инвентаря',
'provMsg' => 'Проверка сообщений',
'szatoch' => 'Выпустить из заточения',
'editAlign' => 'Функции управленца',
'priemIskl' => 'Прием / Исключение',
'marry' => 'Обвенчать / Развести',
'ban0' => 'Блокировка [0] уровней',
'useuntravm' => 'Вылечить травму ( 1000 шт. в месяц на всех )',
'heal' => 'Свитки восстановления ( 1000 шт. в месяц на всех )',
'invis' => 'Свиток невидимки',
'attack' => 'Свиток нападения ( 1000 шт. в месяц на всех )',
'sex' => 'Смена пола',
'unbtl' => 'Вытащить персонажа из боя',
'nick' => 'Смена логина',
'testchat' => 'Проверить сообщение',
];
echo '<script src="js/jquery.js"></script>';
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; #########################
}
if ($u->info['admin'] > 0) {
$p['editAlign'] = 1;
}
$a = floor($p['align']);
if ($u->info['admin'] > 0) {
@ -659,138 +560,6 @@ if ($go == 3 && $u->info['admin'] > 0) {
</tr>
</table>
<?php
} elseif ($go == 1 && $p['editAlign'] == 1) {
if (isset($_GET['save'], $_POST['alignSave'])) {
//сохраняем данные
$sv = mysql_fetch_array(
mysql_query(
'SELECT * FROM `moder` WHERE `id` = "' . mysql_real_escape_string(
$_POST['alignSave']
) . '" LIMIT 1'
)
);
if (isset($sv['id']) && ($sv['align'] < $u->info['align'] || $u->info['admin'] > 0)) {
$ud = '';
$i = 0;
while ($i < count($vz_id)) {
if ($i == 33) {
continue;
}
if (($vz_id[$i] != 'editAlign' || $u->info['admin'] > 0) && isset($sv[$vz_id[$i]])) {
$ud .= isset($_POST[$vz_id[$i]]) ? '`' . $vz_id[$i] . '`="1",' : '`' . $vz_id[$i] . '`="0",';
}
$i++;
}
$ud = rtrim($ud, ',');
$upd = mysql_query('UPDATE `moder` SET ' . $ud . ' WHERE `id` = "' . $sv['id'] . '" LIMIT 1');
$merror = $upd ? 'Изменения были сохранены' : 'Ошибка сохранения';
} else {
$merror = 'Ошибка. У Вас нет доступа';
}
}
?>
<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; ?>';"/>
<?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&<?= $zv; ?>&remod=<?= $a; ?>';" /><?php } ?>
</td>
</tr>
<tr>
<td>
<?php
if ($merror != '') {
echo '<font color="red">' . $merror . '</font>';
}
?>
<table width="100%" border="0" cellpadding="5" cellspacing="0" bgcolor="#E1E1E1">
<?php
$sp = mysql_query(
'SELECT * FROM `moder` WHERE `align`<=' . $u->info['align'] . ' && `align`>' . $a . ' ORDER BY `align` DESC LIMIT 20'
);
while ($pl = mysql_fetch_array($sp)) {
?>
<tr>
<td style="border-bottom:1px solid #CCCCCC;" width="250">
<div align="left"
style="margin-left:11px;"><?= '<img src="//img.new-combats.tech/i/align/align' . $pl['align'] . '.gif"> <small><b>' . $u->mod_nm[$a][$pl['align']] . '</b></small>' ?></div>
<div align="left"></div>
</td>
<td width="50" bgcolor="#DADADA" style="border-bottom:1px solid #CCCCCC;">
<div align="center"><?php if ($u->info['align'] > $pl['align'] || $u->info['admin'] > 0) { ?>
<a href="main.php?go=1&edit=<?= $pl['id'] . '&' . $zv; ?>">
ред.</a><?php } else {
echo '<b style="color:grey;">ред.</b>';
} ?></div>
</td>
<td style="border-bottom:1px solid #CCCCCC;">Возможности: <?php
$voz = '';
$i = 0;
while ($i < count($vz_id)) {
if ($pl[$vz_id[$i]] > 0) {
$voz .= '<b>' . $vz[$vz_id[$i]] . '</b>, ';
}
$i++;
}
$voz = trim($voz, ', ');
if ($voz == '') {
$voz = 'красивый значек :-)';
}
echo '<small><font color="grey">' . $voz . '</font></small>';
?></td>
</tr>
<?php if (isset($_GET['edit']) && $pl['id'] == $_GET['edit']) { ?>
<tr>
<td valign="top" bgcolor="#F3F3F3"
style="border-bottom:1px solid #CCCCCC; color:#757575;">Изменение
возможностей:<Br/><a href="main.php?<?= $zv; ?>&go=1"
onClick="document.getElementById('saveDate').submit(); return false;">Сохранить
изменения</a><br/><a href="main.php?<?= $zv; ?>&go=1">Скрыть
панель</a></td>
<td valign="top" bgcolor="#F3F3F3"
style="border-bottom:1px solid #CCCCCC;"></td>
<td valign="top" bgcolor="#F3F3F3" style="border-bottom:1px solid #CCCCCC;">
<form id="saveDate" name="saveDate" method="post"
action="main.php?<?= $zv . '&go=1&save=' . $code; ?>">
<?php
$voz = '';
$i = 0;
while ($i < count($vz_id)) {
if ($vz_id[$i] != 'editAlign' || $u->info['admin'] > 0) {
if ($pl[$vz_id[$i]] > 0) {
$voz .= '<input name="' . $vz_id[$i] . '" type="checkbox" value="1" checked>';
} else {
$voz .= '<input name="' . $vz_id[$i] . '" type="checkbox" value="1">';
}
$voz .= ' ' . $vz[$vz_id[$i]];
$voz .= '<br>';
}
$i++;
}
echo $voz;
?>
<input name="alignSave" type="hidden" id="alignSave"
value="<?= $pl['id']; ?>"/>
</form>
</td>
</tr>
<?php
}
}
?>
</table>
</td>
</tr>
</table>
<?php
} else {
?>
<style>
@ -946,26 +715,6 @@ if ($go == 3 && $u->info['admin'] > 0) {
//Темная склонка, кусается сука!)
?>
<br/>
<div style="padding-left:20px;">
<h4>Возможности</h4>
<?php if ($u->info['align'] >= 3 && $u->info['align'] < 4) { ?>
<a href="#"
onClick="openMod('<b>&quot;Укус вампира&quot;</b>','<form action=\'main.php?<?= $zv ?>&usemod=<?= $code; ?>\' method=\'post\'>Логин жертвы: <input type=\'text\' style=\'width:144px;\' id=\'logingo\' name=\'logingo\'><br> <input style=\'float:right;\' type=\'submit\' name=\'usevampir\' value=\'Исп-ть\'></form>');"><img
src="//img.new-combats.tech/i/items/vampir.gif" title="Укусить"/></a>
<?php } ?>
<?php if ($p['useuntravm'] == 1) { ?>
<a href="#"
onclick="openMod('&lt;b&gt;Лечение травмы&lt;/b&gt;','&lt;form action=\'main.php?<?= $zv . '&usemod=' . $code; ?>\' method=\'post\'&gt;Логин персонажа: &lt;input type=\'text\' style=\'width:144px;\' id=\'logingo\' name=\'logingo\'&gt;&lt;input type=\'submit\' name=\'useuntravm\' value=\'Исп-ть\'&gt;&lt;/form&gt;');"><img
src="//img.new-combats.tech/i/items/cure3.gif" title="Лечение травмы"/></a>
<?php } ?>
<?php if ($p['attack'] == 1) { ?>
<a href="#"
onclick="openMod('&lt;b&gt;Напасть на персонажа&lt;/b&gt;','&lt;form action=\'main.php?<?= $zv . '&usemod=' . $code; ?>\' method=\'post\'&gt;Логин персонажа: &lt;input type=\'text\' style=\'width:144px;\' id=\'logingo\' name=\'logingo\'&gt;&lt;input type=\'submit\' name=\'useatack\' value=\'Исп-ть\'&gt;&lt;/form&gt;');"><img
src="//img.new-combats.tech/i/items/pal_button8.gif" title="Нападение"/></a>
<?php } ?>
</div>
<?php if ($m->isModerator): ?>
<div style="padding:10px; margin:5px; border-bottom:1px solid #cac9c7;">
@ -1063,277 +812,6 @@ if ($go == 3 && $u->info['admin'] > 0) {
<?php
}
if ($p['addld'] == 1 || $p['cityaddld'] == 1){ ?>
<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">
Добавить в "дело" игрока заметку о нарушении правил, накрутке и пр.<br/>
<?php
if (isset($_POST['pometka'])) {
$er = '';
$usr = mysql_fetch_array(
mysql_query(
'SELECT `id`,`login`,`city`,`admin`,`align` FROM `users` WHERE `login` = "' . mysql_real_escape_string(
$_POST['loginLD']
) . '" LIMIT 1'
)
);
if (isset($usr['id'])) {
//Заносим данные в ЛД
$lastD = mysql_fetch_array(
mysql_query(
'SELECT `id` FROM `users_delo` WHERE `login` = "' . $u->info['login'] . '" AND `time`>' . (time() - 3) . ' LIMIT 1'
)
);
if (!isset($lastD['id'])) {
$hbld = 0;
$hbld2 = 0;
if (isset($_POST['hbld'])) {
$hbld = $a;
}
$ins = mysql_query(
'INSERT INTO `users_delo` (`onlyAdmin`,`hb`,`uid`,`time`,`city`,`text`,`login`,`ip`) VALUES ("' . $hbld2 . '","' . $hbld . '","' . $usr['id'] . '","' . time() . '","' . $usr['city'] . '","' . $rang . ' &quot;' . $mod_login . '&quot; <b>сообщает</b>: ' . mysql_real_escape_string(
htmlspecialchars($_POST['textLD'], null)
) . '","' . $u->info['login'] . '","' . $u->info['ip'] . '")'
);
if (!$ins) {
$er = 'Ошибка записи в личное дело';
} else {
$er = 'Запись в личное дело прошла успешно';
}
} else {
$er = 'Писать пометки в личном деле можно не чаще одного раза в 3 секунды.';
}
} else {
$er = 'Персонаж с логином "' . $_POST['loginLD'] . '" не найден.';
}
if ($er != '') {
echo '<b style="color: red">' . $er . '</b><br>';
}
}
?>
Введите логин
<input name="loginLD" type="text" id="loginLD" size="30" maxlength="30"/> Сообщение
<input name="textLD" type="text" id="textLD" size="70" maxlength="500"/>
<input type="submit" name="pometka" id="pometka" class="btn" value="Добавить"/><br/>
<label>
<input name="hbld" type="checkbox" id="hbld" value="1"/>
Записать, как причину отправки в хаос\блокировки
</label>
<?php
}
if ($p['readPerevod'] == 1){
if (isset($_POST['itemID1b'])) {
$its = '';
$its = $u->genInv(
1, '`iu`.`id` = "' . mysql_real_escape_string($_POST['itemID1']) . '" LIMIT 1'
);
if ($its[0] == 0) {
$its = 'Предмет не найден.';
} else {
$its = $its[2];
}
echo '<br><br><b>Предмет <u>id' . $_POST['itemID1'] . '</u>:</b><br>' . $its;
}
?>
<div style="padding-top:10px;">
Проверить наличие предмета у персонажа <small>(не обязательно)</small>
<input name="itemID1login" type="text" id="itemID1login" size="30" maxlength="30"/>
, id предмета
<input name="itemID1" type="text" id="itemID1" size="30" maxlength="30"/>
<input type="submit" name="itemID1b" id="itemID1b" class="btn" value="Проверить"/>
</div>
</div>
<?php
$dsee = [];
$dsee['login'] = $_POST['loginacts1'];
$dsee['date'] = date('d.m.Y', time());
if (isset($_POST['datesee'])) {
$dsee['date'] = $_POST['datesee'];
}
$dsee['date'] = explode('.', $dsee['date']);
$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']);
$i = 2;
while ($i <= 8) {
if ($_POST['hbld' . $i] == 1) {
$dsee[$i] = 1;
} else {
$dsee[$i] = 0;
}
$i++;
}
?>
<div style="padding:0 10px 5px 10px; margin:5px; border-bottom:1px solid #cac9c7;">
<h4>Показать переводы кредитов/вещей</h4>
Просмотр действий персонажа
<input name="loginacts1" type="text" id="loginacts1" value="<?= $dsee['login'] ?>" size="30"
maxlength="30"/>
<div style="display:none">
<br/>
<input name="hbld2" type="checkbox" id="hbld2" value="1"
checked="checked" <?php if ($dsee[2] == 1) {
echo 'checked="checked"';
} ?> />
переводы
,
<input name="hbld3" type="checkbox" id="hbld3" value="1"
checked="checked" <?php if ($dsee[3] == 1) {
echo 'checked="checked"';
} ?> />
банк
,
<input name="hbld4" type="checkbox" id="hbld4" value="1"
checked="checked" <?php if ($dsee[4] == 1) {
echo 'checked="checked"';
} ?> />
покупка / ремонт
,
<input name="hbld5" type="checkbox" id="hbld5" value="1"
checked="checked" <?php if ($dsee[5] == 1) {
echo 'checked="checked"';
} ?> />
работа с инвентарем
,
<input name="hbld6" type="checkbox" id="hbld6" value="1"
checked="checked" <?php if ($dsee[6] == 1) {
echo 'checked="checked"';
} ?> />
поединки ,
<input name="hbld7" type="checkbox" id="hbld7" value="1"
checked="checked" <?php if ($dsee[7] == 1) {
echo 'checked="checked"';
} ?> /> добавление предметов,
<input name="hbld8" type="checkbox" id="hbld8" value="1"
checked="checked" <?php if ($dsee[8] == 1) {
echo 'checked="checked"';
} ?> /> почта <br/>
</div>
За дату
<input name="delosee_1" class="btn btn-success"
onclick="document.getElementById('datesee').value='<?= date(
'd.m.Y', ($dsee['t1'] - 86400)
) ?>';" type="submit" value="&laquo;"/>
<input name="datesee" type="text" id="datesee" value="<?= $dsee['date'] ?>" size="15"
maxlength="10"/>
<input name="delosee_2" class="btn btn-success"
onclick="document.getElementById('datesee').value='<?= date(
'd.m.Y', ($dsee['t1'] + 86400)
) ?>';" type="submit" value="&raquo;"/>
<input type="submit" name="delosee" id="delosee" class="btn" value="Отправить"/>
<?php
if (isset($_POST['delosee']) || isset($_POST['delosee_1']) || isset($_POST['delosee_2'])) {
?>
<div style="padding:0 0 5px 0; border-bottom:1px solid #cac9c7;">
<small>Дата логов: <?= $dsee['date'] ?>, логин: <?= $dsee['login'] ?></small>
</div>
<?php
$dsee['inf'] = mysql_fetch_array(
mysql_query(
'SELECT * FROM `users` WHERE `login` = "' . mysql_real_escape_string(
$dsee['login']
) . '" LIMIT 1'
)
);
if (isset($dsee['inf']['id']) && ($dsee['inf']['admin'] == 0 || $u->info['admin'] > 0)) {
$sp = mysql_query(
'SELECT * FROM `users_delo` WHERE `uid` = "' . $dsee['inf']['id'] . '" AND `time` >= "' . $dsee['t1'] . '" AND `time` <= "' . $dsee['t2'] . '" ORDER BY `time` DESC LIMIT 10000'
);
while ($pl = mysql_fetch_array($sp)) {
$dl = explode('.', $pl['login']);
$se = 1;
if ($dl[0] == 'AddItems' && $dsee[7] == 0) {
$se = 0;
} elseif (($dl[0] == 'Shop' || $dl[0] == 'EkrShop') && $dsee[4] == 0) {
$se = 0;
} elseif ($dl[1] == 'remont' && $dsee[4] == 0) {
$se = 0;
} elseif ($dl[1] == 'shop' && $dsee[4] == 0) {
$se = 0;
} elseif ($dl[1] == 'inventory' && $dsee[5] == 0) {
$se = 0;
} elseif ($dl[1] == 'transfer' && $dsee[2] == 0) {
$se = 0;
}
if ($se == 1) {
$dsee['dv'] .= '<small>' . date(
'd.m.Y H:i', $pl['time']
) . ' / <b>' . $pl['login'] . '</b>:</small> ' . $pl['text'];
$dsee['dv'] .= '<br>';
}
}
if ($dsee[8] == 1) {
$sp1 = mysql_query(
'SELECT * FROM `post` WHERE `uid` = "' . $dsee['inf']['id'] . '" AND `time` >= "' . $dsee['t1'] . '" AND `time` <= "' . $dsee['t2'] . '" ORDER BY `time` DESC LIMIT 10000'
);
echo '<hr/>';
while ($pl1 = mysql_fetch_array($sp1)) {
if (!$pl1['item_id'] == 0) {
$dseetext = "[item:#" . $pl1['item_id'] . "]";
}
$dsee['dv'] .= '<small>' . date(
'd.m.Y H:i', $pl1['time']
) . ' / <b>Почтовая посылка</b>:</small>' . $pl1['text'] . ' ' . $dseetext;
$dsee['dv'] .= '<br>';
$dseetext = "";
}
}
$sp1 = mysql_query(
'SELECT * FROM `clan_operations` WHERE `uid` = "' . $dsee['inf']['id'] . '" AND `time` >= "' . $dsee['t1'] . '" AND `time` <= "' . $dsee['t2'] . '" ORDER BY `time` DESC LIMIT 10000'
);
echo '<hr/>';
while ($pl1 = mysql_fetch_array($sp1)) {
$pl1['text'] = ' Персонаж ';
if ($pl1['type'] == 1) {
$pl1['text'] .= '<b>снял кредиты</b> с казны клана: ' . $pl1['val'] . ' кр.';
} elseif ($pl1['type'] == 2) {
$pl1['text'] .= '<b>положил кредиты</b> в казну клана: ' . $pl1['val'] . ' кр.';
} elseif ($pl1['type'] == 5) {
$pl1['text'] .= '<b>взял</b> предмет &quot;' . $pl1['val'] . '&quot; из хранилища клана.';
} elseif ($pl1['type'] == 4) {
$pl1['text'] .= '<b>пожертвовал</b> предмет &quot;' . $pl1['val'] . '&quot; в хранилище клана.';
} elseif ($pl1['type'] == 7) {
$pl1['text'] .= '<b>получил</b> предмет &quot;' . $pl1['val'] . '&quot; из хранилища клана. (Самостоятельный выход)';
} elseif ($pl1['type'] == 8) {
$pl1['text'] .= '<b>получил</b> предмет &quot;' . $pl1['val'] . '&quot; из хранилища клана. (Был изгнан из клана)';
} elseif ($pl1['type'] == 3) {
$pl1['text'] .= 'изменил <b>баланс</b> клана &quot;' . $pl1['val'] . '&quot; в хранилища клана.';
} elseif ($pl1['type'] == 6) {
$pl1['text'] .= '<b>изъял</b> предмет &quot;' . $pl1['val'] . '&quot;.';
} elseif ($pl1['type'] == 9) {
$pl1['text'] .= '<b>вернул</b> предмет &quot;' . $pl1['val'] . '&quot;. [Выход из клана (Возврат вещей не пренадлежащих персонажу)]';
} else {
$pl1['text'] .= '<u>Незивестная ошибка. Код: ' . $pl1['val'] . ' / ' . $pl1['type'] . '</u>';
}
$dsee['dv'] .= '<small>' . date(
'd.m.Y H:i', $pl1['time']
) . ' / <b style="color:green">Клановая казна</b>:</small>' . $pl1['text'] . ' ' . $dseetext;
$dsee['dv'] .= '<br>';
$dseetext = "";
}
if ($dsee['dv'] == '') {
echo '<span style="color: red; "><b>Действий и переводов за <B>' . $dsee['date'] . '</B> не найдено.</b></span>';
} else {
echo $dsee['dv'];
}
} else {
echo '<b style="color: red">Персонаж не найден, либо его дело нельзя просматривать...</b>';
}
?>
<?php } ?>
</div>
<?php }
if ($isAdmin) {
/** Мегафон только для администраторов. */