[email protected].
Пользователь
Locer, я же уже написал как будет работать.
Ооочень умное решение убрать кешерирование...Можно сделать так, в viewonline.php
меняем наPHP:if(!$bot_active = CACHE('bb_cache')->get('active_bots')) { $bot_active = DB()->fetch_rowset("SELECT bot_name, bb_visit FROM ".BB_BOTS." WHERE bb_visit > ".(time()-300)); CACHE('bb_cache')->set('active_bots', $bot_active, 300); }
PHP:$bot_active = DB()->fetch_rowset("SELECT bot_name, bb_visit FROM ".BB_BOTS." WHERE bb_visit > ".(time()-300));
А зачем оно вообще там нужно, это же не главная страница, а обращение к списку пользователей бывает очень редко, так что смысла брать этих ботов из кэша я не вижу.Ооочень умное решение убрать кешерирование...
KaTana, не работает. Notice: Undefined index: bb_visit in /var/www/data/www/viewonline.php on line 182
'bb_visit' => bb_date($row['bb_visit']),
"IP_ADDRESS" => $guest_ip,
"U_WHOIS_IP" => $bb_cfg['whois_info'] . $guest_ip,
));
}
}
// Детект поисковых ботов
$bot_active = DB()->fetch_rowset("SELECT bot_name, bb_visit FROM ".BB_BOTS." WHERE bb_visit > ".( TIMENOW - 300 ));
$count = count($bot_active);
if($count>0)
{
foreach ($bot_active AS $key=>$row)
{
$template->assign_block_vars('bots', array(
'bb_visit' => bb_date($row['bb_visit']),
'bot_name' => $row['bot_name'],
));
}
}
<!-- END guest_user_row -->
<!-- BEGIN bots -->
<tr class="row2">
<td style="color:gray;">{bots.bot_name}</td>
<td class="tCenter">{bots.bb_visit}</td>
<td class="tCenter" style="color:red;">I'm a bot, I have no IP</td>
</tr>
<!-- END bots -->
PHP Notice: Undefined index: HTTP_USER_AGENT in /home/***/www/includes/page_header.php on line 41
/**
* START Детект поисковых ботов
* Проверка через юзерагент на бота
*/
if($bb_cfg['search_bots'])
{
$template->assign_var('ENABLE_SEARCH_BOTS', true);
$bots = array();
if(!$bots = CACHE('bb_cache')->get('bots'))
{
$bots = DB()->fetch_rowset("SELECT * FROM " . BB_BOTS);
CACHE('bb_cache')->set('bots', $bots, 86400);
}
foreach ($bots AS $bot)
{
if (isset($_SERVER['HTTP_USER_AGENT']))
{
if(strstr($_SERVER['HTTP_USER_AGENT'], $bot['bot_agent']) <> FALSE)
{
DB()->sql_query("UPDATE ".BB_BOTS." SET bb_visit=".TIMENOW." WHERE bot_id={$bot['bot_id']}");
break;
}
}
}
}
/**
* END Детект поисковых ботов
*/