Ловит 4 поисковика ( yandex, google, aport, rambler ) и выдаёт кол-во запрошеных ими страниц.
Оформление мода из рук вон плохо, но как есть

Код: Выделить всё
//--- выполним SQL ----
ALTER TABLE phpbb_sessions ADD session_agent VARCHAR( 250 ) NOT NULL ;
// Открыть includes/session.php
//---Найти ----------
function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0)
{
global $db, $board_config;
global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID;
//--- Добавить после
global $_SERVER;
$browser=$_SERVER['HTTP_USER_AGENT'];
//---Найти ----------
//
// Create or update the session
//
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin
WHERE session_id = '" . $session_id . "'
AND session_ip = '$user_ip'";
//---Найти в строке --------
session_admin = $admin
// --- Добавить после --------
, session_agent = '$browser'
//--- Найти -------------
$sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)";
//--- Заменить на -----
$sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin, session_agent)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin, '$browser')";
//---- Сохранить ---------
// Открыть language/lang_russian/lang_main.php
// ---- найти -----------
?>
// ---- перед добавить -----
$lang['search_bots'] = 'Поисковые роботы : ';
$lang['yandex'] = 'Yandex (%d) ';
$lang['rambler'] = 'Rambler (%d) ';
$lang['google'] = 'Google (%d) ';
$lang['aport'] = 'Aport (%d) ';
$lang['nobots'] = 'на форуме не найдены';
//---- сохранить ---------------
// Открыть templates/subSilver/index_body.tpl
// ---- найти -----------
<td class="row1" align="center" valign="middle" rowspan="4"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
// ----- в строе найти
rowspan="2"
// ----- заменить на
rowspan="3"
*********** если у Вас там еще что-то тогда rowspan = + 1 того, что в нём
// --- найти -----------
<tr>
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} [ {L_WHOSONLINE_ADMIN} ] [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
</tr>
// после добавить
<tr>
<td class="row1" align="left"><span class="gensmall">{TOTAL_ROBOT_ONLINE}</span></td>
</tr>
//---- сохранить ---------------
// открываем includes/page_header.php
//---- находим -----
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
//---- в строке находим
s.session_ip
//--- после добавляем
,s.session_agent
//--- находим ----------------
// Skip multiple sessions for one user
if ( $row['session_ip'] != $prev_session_ip )
{
//---- перед добавляем --------
$now_user_agent=$row['session_agent'];
if (eregi("StackRambler",$now_user_agent)){
$bots_rambler_now++;
}
elseif(eregi("Googlebot",$now_user_agent)){
$bots_google_now++;
}
elseif(eregi("Yandex",$now_user_agent)) {
$bots_yandex_now++;
}
elseif(eregi("Aport",$now_user_agent)){
$bots_aport_now++;
}
//------ находим ---------
$l_online_users = sprintf($l_t_user_s, $total_online_users);
//--- перед ней добавляем ----
$now_bot_online=$lang['search_bots'];
$v_bot=false;
if ($bots_rambler_now){
$l_b_rambler = $lang['rambler'];
$now_bot_online.= sprintf($l_b_rambler,$bots_rambler_now);
$v_bot=true;
}
if ($bots_google_now){
$l_b_google = $lang['google'];
$now_bot_online.= sprintf($l_b_google,$bots_google_now);
$v_bot=true;
}
if ($bots_yandex_now){
$l_b_yandex = $lang['yandex'];
$now_bot_online.= sprintf($l_b_yandex,$bots_yandex_now);
$v_bot=true;
}
if ($bots_aport_now){
$l_b_aport = $lang['aport'];
$now_bot_online.= sprintf($l_b_aport,$bots_aport_now);
$v_bot=true;
}
if ($v_bot==false){
$now_bot_online.= $lang['nobots'];
}
//--- найти -----------
'TOTAL_USERS_ONLINE' => $l_online_users,
//--- после добавить ------
'TOTAL_ROBOT_ONLINE' => $now_bot_online,
// ---- сохранить -------------
В принципе уже можно неплохую статистику забабахать. В общем пошел работать. Может более крутой мод накатаю.