Перейти к содержанию
Авторизация  
centrix

Правка Модуля Статистика (stress). Часть 2

Рекомендуемые сообщения

В предыдущей теме спрашивал про хеллбаунд.

Теперь появилась такая необходимость - создать дополнительную вкладку в статистике - "ТОП забаненых". Хотелось бы, чтобы в ней отображался ник, время (всего и оставшееся), причина и ник модератора\админа. Реально это сделать или геморою много?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для начала скинь структуру таблицы, в которой хранятся данные о забаненых, вывести на сайт их не составить труда, но вот с временем и прочей информацией придется подумать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

таблица bans:

 

account_name | obj_Id | baned | unban | reason | GM | enban | karma

Null | id персонажа | 10.03.13 16:38:38 | 10.03.13 17:08:38 | мат | CentriX | Null | Null

 

В общем, выглядит вот так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кинь ещё запрос на добавление данной таблицы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот, держите)

 

DROP TABLE IF EXISTS `bans`;
CREATE TABLE `bans` (
 `account_name` VARCHAR(45) COLLATE utf8_general_ci DEFAULT NULL,
 `obj_Id` INTEGER(10) UNSIGNED NOT NULL DEFAULT '0',
 `baned` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL,
 `unban` VARCHAR(20) COLLATE utf8_general_ci DEFAULT NULL,
 `reason` VARCHAR(200) COLLATE utf8_general_ci DEFAULT NULL,
 `GM` VARCHAR(35) COLLATE utf8_general_ci DEFAULT NULL,
 `endban` INTEGER(10) UNSIGNED DEFAULT NULL,
 `karma` INTEGER(11) DEFAULT NULL
) ENGINE=MyISAM CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Буду писать только что изменять, без комментариев, думаю и так поймешь:

 

1) Открываем \inc\l2db\l2j_l2Dream.php ищем

ORDER BY olympiad_nobles.class_id, olympiad_nobles.olympiad_points DESC",

 

Вставляем ниже:

	"getBans" => "
	SELECT bans.obj_Id, bans.baned, bans.unban, bans.reason, bans.GM, characters.char_name, characters.charId, characters.sex
	FROM `bans` 
	LEFT JOIN characters ON bans.obj_Id = characters.charId
	ORDER BY bans.baned DESC ",

 

2) Открываем \admin\gserver.php ищем:

$conf .= "\$l2db[\"gameserver\"][\"{$i}\"][\"stat\"][\"olympiad\"] = {$_POST["gs_stat_olympiad_$i"]};\n";

Добавляем ниже:

$conf .= "\$l2db[\"gameserver\"][\"{$i}\"][\"stat\"][\"bans\"] = {$_POST["gs_stat_bans_$i"]};\n";

 

Ищем:

<tr>
<td class="tdLeft">Статистика "ОЛИМПИАДА"</td>
<td class="tdRight">' . select("gs_stat_olympiad_$i", $on_off, $l2db["gameserver"][$i]["stat"]["olympiad"], "style='width:100px'") . '</td>
</tr>

 

Вставляем ниже:

<tr>
<td class="tdLeft">Статистика "Тюрьма"</td>
<td class="tdRight">' . select("gs_stat_bans_$i", $on_off, $l2db["gameserver"][$i]["stat"]["bans"], "style='width:100px'") . '</td>
</tr>

 

3) Открываем \engine\stat.php и ищем:

else
{
$tpl->set_block("'\[olympiad\](.*?)\[/olympiad\]'si", "");
}

 

Ниже вставляем:

//prizon
if ($l2db["gameserver"][$_serv_id]["stat"]["bans"])
{
$tpl->set_block("'\[bans\](.*?)\[/bans\]'si", "\\1");
$tpl->set_var('{link_bans}', $_url . "&act=bans&server={$_serv_id}");
}
else
{
$tpl->set_block("'\[bans\](.*?)\[/bans\]'si", "");
}

 

Ищем:

}
$tpl->result["content"] = "<div align='center'>" . $l2_menu . $l2_content . "</div>";

Вставляем Выше!!!

 

	 /**
 * ================================
 * 		Prizon
 * ================================ 
 */
if ($_act == "bans" && $l2db["gameserver"][$_serv_id]["stat"]["bans"])
{


	$l2_content = "
		<div class='l2title'>..:: " . $l2db["gameserver"][$_serv_id]["title"] . " - Список Банов ::..</div>
		<table id='l2top' cellpadding='0' cellspacing='0'>
		<thead>
		<tr>
			<th width='35'></th>
			<th class='name' width='50'>Ник</th>
			<th width='100'>Забанен</th>
			<th width='100'>Выйдет</th>
			<th width='150'>Причина</th>
			<th width='50'>Админ</th>
		</tr>
		</thead>";

	$query = $gdb[$_serv_id]->query($gdb[$_serv_id]->_parse_query($qList[$l2db_gs]["getBans"]));
	$nn = 0;
	while ($BansData = $gdb[$_serv_id]->fetch_array($query))
	{
		$trClass = $nn++ % 2 ? "" : "trRowA";
		$sex = $BansData["sex"] ? "female" : "male";
		$l2_content .= "
			<tr class='{$trClass}'>
				<td>{$nn}</td>
				<td class='name'><span class='{$sex}'><b>{$BansData["char_name"]}</b></span></td>
				<td>{$BansData["baned"]}</td>
				<td>{$BansData["unban"]}</td>
				<td>{$BansData["reason"]}</td>
				<td>{$BansData["GM"]}</td>
			</tr>";
	}
	if ($gdb[$_serv_id]->numrows($query) == 0)
	{
		$l2_content .= "<tr><td colspan='5'><div class='error'>Нет результатов</div></td></tr>";
	}
	$l2_content .= "</table>";
}

 

4) Открываем templates/название/statistic_menu.tpl ищем:

[olympiad]<a href='{link_olympiad}'>Олимпиада</a>[/olympiad]

Вставляем ниже:

[bans]<a href='{link_bans}'>Тюрьма</a>[/bans]

 

5) Идем в админку и там в настройках статистики включаем статистику банов (Тюрьма).

 

Так же прикрепил уже изменённые файлы, если возникнет какое-либо ЧП.

stress_bans.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то забаненных так и не показывает. В админке появилось все.

 

Еще попутно вопрос о скрипте L2top. А как вообще убрать в нем проверку на время?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что за сборка? И есть ли в таблице какие-нибудь данные, сам тупил пару минут, пока не понял что у меня в таблице пусто.

У себе проверял, данные выводились.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...