1443 lines
75 KiB
PHP
1443 lines
75 KiB
PHP
<?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';
|
||
}
|
||
}
|
||
|
||
|
||
//возможности (перечисляем)
|
||
$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>';
|
||
|
||
$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) {
|
||
$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=">"
|
||
onclick="location='main.php?<?= $zv; ?>';"/>
|
||
<input type="button" value="Вернуться"
|
||
onclick="location='main.php?go=3&<?= $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>';
|
||
}
|
||
?>
|
||
<?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> <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&<?= $zv; ?>&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"/>
|
||
Быстрое задание
|
||
</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&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
|
||
} 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>
|
||
.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; ?>&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 . ' "' . $u->info['login'] . '" Выдал' . $sx . ' персонажу "' . $user_teleport['login'] . '" вещь "<b>' . $giv_itm['name'] . '</b>".';
|
||
}
|
||
}
|
||
|
||
|
||
echo '<font color="red">' . $uer . '</font>';
|
||
//Темная склонка, кусается сука!)
|
||
?>
|
||
<br/>
|
||
<div style="padding-left:20px;">
|
||
<h4>Возможности</h4>
|
||
|
||
<?php if ($u->info['align'] >= 3 && $u->info['align'] < 4) { ?>
|
||
<a href="#"
|
||
onClick="openMod('<b>"Укус вампира"</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('<b>Лечение травмы</b>','<form action=\'main.php?<?= $zv . '&usemod=' . $code; ?>\' method=\'post\'>Логин персонажа: <input type=\'text\' style=\'width:144px;\' id=\'logingo\' name=\'logingo\'><input type=\'submit\' name=\'useuntravm\' value=\'Исп-ть\'></form>');"><img
|
||
src="//img.new-combats.tech/i/items/cure3.gif" title="Лечение травмы"/></a>
|
||
<?php } ?>
|
||
<?php if ($p['attack'] == 1) { ?>
|
||
<a href="#"
|
||
onclick="openMod('<b>Напасть на персонажа</b>','<form action=\'main.php?<?= $zv . '&usemod=' . $code; ?>\' method=\'post\'>Логин персонажа: <input type=\'text\' style=\'width:144px;\' id=\'logingo\' name=\'logingo\'><input type=\'submit\' name=\'useatack\' value=\'Исп-ть\'></form>');"><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;">
|
||
<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 . ' "' . $u->info['login'] . '" <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 ($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 . ' "' . $mod_login . '" <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="«"/>
|
||
<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="»"/>
|
||
<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> предмет "' . $pl1['val'] . '" из хранилища клана.';
|
||
} elseif ($pl1['type'] == 4) {
|
||
$pl1['text'] .= '<b>пожертвовал</b> предмет "' . $pl1['val'] . '" в хранилище клана.';
|
||
} elseif ($pl1['type'] == 7) {
|
||
$pl1['text'] .= '<b>получил</b> предмет "' . $pl1['val'] . '" из хранилища клана. (Самостоятельный выход)';
|
||
} elseif ($pl1['type'] == 8) {
|
||
$pl1['text'] .= '<b>получил</b> предмет "' . $pl1['val'] . '" из хранилища клана. (Был изгнан из клана)';
|
||
} elseif ($pl1['type'] == 3) {
|
||
$pl1['text'] .= 'изменил <b>баланс</b> клана "' . $pl1['val'] . '" в хранилища клана.';
|
||
} elseif ($pl1['type'] == 6) {
|
||
$pl1['text'] .= '<b>изъял</b> предмет "' . $pl1['val'] . '".';
|
||
} elseif ($pl1['type'] == 9) {
|
||
$pl1['text'] .= '<b>вернул</b> предмет "' . $pl1['val'] . '". [Выход из клана (Возврат вещей не пренадлежащих персонажу)]';
|
||
} 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) {
|
||
/** Мегафон только для администраторов. */
|
||
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="«"/>
|
||
<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="»"/>
|
||
<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 .= ' <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
|
||
}
|
||
|