Многим администратора своих проектов всегда хочеться видеть, какие боты у него присутсвуют, и что они там собственно делают. По дефолту в вобле этого не видно, попробуем исправить положение

Итак, вам потребуеться просто отредактировать парочку файлов. Собственоо, начнём
Открываем файл
index.php и в нём находим
ПОСЛЕ него добовляем
Далее, в этом же файле ищим
и ПОСЛЕ этого добавляем
Код:
$numberspiders = 0;
$spiderlist = array();
Всё ещё в этом файле ищим
Код:
$forumusers = $db->query_read_slave("
SELECT
user.username, (user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible, user.usergroupid,
session.userid, session.inforum, session.lastactivity,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "session AS session
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > $datecut
" . iif($vbulletin->options['displayloggedin'] == 1 OR $vbulletin->options['displayloggedin'] == 3, "ORDER BY username ASC") . "
"); ЗАМЕНЯЕМ то что выше вот на ЭТО Код:
$forumusers = $db->query_read_slave("
SELECT
user.username, (user.options & " . $vbulletin->bf_misc_useroptions['invisible'] . ") AS invisible, user.usergroupid,
session.userid, session.inforum, session.lastactivity, session.useragent,
IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid
FROM " . TABLE_PREFIX . "session AS session
LEFT JOIN " . TABLE_PREFIX . "user AS user ON(user.userid = session.userid)
WHERE session.lastactivity > $datecut
" . iif($vbulletin->options['displayloggedin'] == 1 OR $vbulletin->options['displayloggedin'] == 3, "ORDER BY username ASC") . "
"); Теперь, находим вот это
Код:
if (!$userid)
{ // Guest
$numberguest++;
$inforum["$loggedin[inforum]"]++;
} И заменяем вот на это Код:
if (!$userid)
{ // Guest or spider
if (!empty($vbulletin->wol_spiders))
{
if (preg_match('#(' . $vbulletin->wol_spiders['spiderstring'] . ')#si', $loggedin['useragent'], $agent))
{
$numberspiders++;
$agent = strtolower($agent[1]);
$spider = $vbulletin->wol_spiders['agents']["$agent"];
$key = $spider['name'];
if(array_key_exists($key,$spiderlist))
{
$spiderlist[$key] = $spiderlist[$key] + 1;
}
else
{
$spiderlist[$key] = 1;
}
}
else
{
$numberguest++;
}
$inforum["$loggedin[inforum]"]++;
}
} Находим
Код:
$totalonline = $numberregistered + $numberguest;
ЗАМЕНЯЕМ вот на это Код:
$totalonline = $numberregistered + $numberguest + $numberspiders;
И теперь нам надо найти вот ЭТО Код:
if (fetch_online_status($loggedin))
{
$numbervisible++;
eval('$activeusers .= ", ' . fetch_template('forumhome_loggedinuser') . '";');
}
} и
после этого добавить то что ниже
Код:
while ($spidername = current($spiderlist))
{
if ($spidername > 1) {
$loggedin['musername'] = trim(key($spiderlist)) . "(" . $spidername.")";
}
else
{
$loggedin['musername'] = trim(key($spiderlist));
}
$loggedin['userid'] = 0;
eval('$activeusers .= ", ' . fetch_template('forumhome_loggedinuser') . '";');
next($spiderlist);
} Ура! С редактированием файла index.php мы закончали.
Теперь, переходим к файлу
Online.php Находим Код:
while ($users = $db->fetch_array($allusers))
После этого вставляем Код:
$numberspiders = 0;
$numberguests = 0;
Теперь, находим вот это
Код:
$guests["$count"]['spidertype'] = $spider['type'];
и ПОСЛЕ этого вставляем и последнее
Находим
Код:
$totalonline = $numbervisible + $numberguests;
и заменяем это на Код:
$numberguests = $numberguests - $numberspiders;
$totalonline = $numbervisible + $numberguests + $numberspiders;
Ура! Редактирование файлов законченно, теперь их можно загрузить себе на хост. Но, это не всё, нам предстоит редактирование шаблонов

Идём в панель администратора => Стили и Шаблоны => Поиск в шаблонах
туда вбиваем вот это
forumhome_loggedinuser нажимаем редактировать
ВЕСЬ ЭТОТ ШАБЛОН ЗАМЕНЯЕМ ВОТ ЭТИМ Код:
<if condition="$loggedin[userid]"><a href="member.php?$session[sessionurl]u=$loggedin[userid]">$loggedin[musername]</a>$loggedin[invisiblemark]$loggedin[buddymark]<else />$loggedin[musername]</if>
Далее, идём опять в поиск шаблонов и ищим шаблон
FORUMHOME нажимаем редактировать и ищим в нём вот это
Код:
<a href="online.php$session[sessionurl_q]" rel="nofollow">$vbphrase[currently_active_users]</a>: $totalonline (<phrase 1="$numberregistered" 2="$numberguest">$vbphrase[x_members_and_y_guests]</phrase>)
Заменяем то что выше вот на это
Код:
<a href="online.php$session[sessionurl_q]" rel="nofollow">$vbphrase[currently_active_users]</a>: $totalonline (<phrase 1="$numberregistered" 2="$numberguest" 3="$numberspiders">$vbphrase[x_members_and_y_guests]</phrase>)
И наконец последний шаблон остался
WHOSONLINE
В нём ищем
и после этого добовляем
получиться у вас должно что-то типа вот этого
Код:
<strong><phrase 1="$numbervisible"
2="$numberguests"
3="$numberspiders">
$vbphrase[x_members_and_y_guests]</phrase>
</strong>
Ура, это почти что всё

Осталось самая мелочь

нам требуеться отредактировать фразы.
Идём в Языки и Фразы, поиск во Фразах, и вводим в поле поиска вот это (как опцию поиска обязательно выберете "Текст фразы и название переменной фразы")
Код:
x_members_and_y_guests
и либо заменяем то что там, либо прост ов пустое поле вписываем вот это
{1} пользователей и {2} гостей и {3} посковиков (поиковых бота, спайдера и etc) название сами можете вписать любое. Вот собственно и всё...почти

Вам потребуеться заменить один ваш файл вот этот spiders_vbulletin.xml
найти его можно вот по этому адресу на вашем серваке
Код:
includes/xml/spiders_vbulletin.xml
просто перезапишите его файлом из аттача. Всё

теперь поисковики будут отображаться как на нашем форуме. Сматрите пример на главной странице
