|
Отправлено: 28 апреля 2010 — 22:28
|
Покинул форум
Сообщений всего: 0
Дата рег-ции: N/A
Репутация: 0
|
Есть такая проблема. Чисто косметическая. Не все поисковые боты или какие-то дятлы-пинговалки возвращают HTTP_USER_AGENT. Поэтому, когда на форум заходит такой бот, то получаем искажение статистики и ошибки в файле error_log:
CODE:PHP Notice: Undefined index: HTTP_USER_AGENT in /home/my/public_html/site-ru/forum/include/fm.class.php on line XXX
Для исправления открываем файл /include/fm.class.php, находим фрагмент:
CODE:
foreach ($spiders as $spidername){
if (stristr($_SERVER['HTTP_USER_AGENT'], $spidername) !== FALSE){
$this->_IsSpider = $spidername;
break;
}
}
return ;
и меняем на:
CODE:
foreach ($spiders as $spidername){
if (isset($_SERVER['HTTP_USER_AGENT']) && (stristr($_SERVER['HTTP_USER_AGENT'], $spidername) !== FALSE)){
$this->_IsSpider = $spidername;
break;
}
}
return ;
(Отредактировано автором: 28 апреля 2010 — 22:29) |
|
|
Yamaliya |
Отправлено: 7 июля 2013 — 02:51
|
Super Member
Покинул форум
Сообщений всего: 662
Дата рег-ции: Авг. 2012
Откуда: Ямал
Репутация: 20
|
Zeg, в этом же файле ещё в двух местах встречается HTTP_USER_AGENT, которые хоть гораздо реже, но тоже выдают такую же ошибку. Догадываюсь, что можно по аналогии подправить, но боюсь накосячить Поэтому прошу вашей помощи
Вот эти фрагментыCODE:function _OnlineLog($where,$privateID,$show = false) {
global $statvisit, $today;
$this->_IsSpider();
$output = array();
$expire = $this->_Nowtime - ($this->exbb['membergone'] * 60);
$agent = $_SERVER['HTTP_USER_AGENT']; иCODE:$onlinedata[$sessid] = array(
'ip' => $this->_IP,
'n' => $this->user['name'],
'id' => $this->user['id'],
't' => $this->_Nowtime,
'in' => $where,
'pf' => $privateID,
'st' => $status,
'v' => $visible,
'ua' => $_SERVER['HTTP_USER_AGENT'], |
|
|
CAB |
Отправлено: 18 июля 2013 — 21:30
|
Super Member
Покинул форум
Сообщений всего: 629
Дата рег-ции: Февр. 2011
Откуда: Москва
Репутация: 30
|
Исправление сброса количества выводимых пользователей при переходе по страницам списка зарегистрированных пользователей. Для тех у кого есть эта проблема. Мне казалось что где-то на форуме было исправление, но не смог найти. Поэтому сделал сам.
В файле tools.php строкиCODE: $get_param = 'tools.php?action=members&s='.$sort.'&order='.$order.'&p={_P_}';
$per_page = (abs($fm->_Intval('pg', 25) > 100)) ? 100:abs($fm->input['pg']);
$pages = Print_Paginator(count($users),$get_param,$per_page,8,$first,TRUE);
замените на строкиCODE: $per_page = (abs($fm->_Intval('pg', 25) > 100)) ? 100 : abs($fm->input['pg']);
$get_param = 'tools.php?action=members&s='.$sort.'&order='.$order.'&p={_P_}&pg='.$per_page;
$per_page = (abs($per_page) > 100) ? 100 : abs($per_page);
$pages = Print_Paginator(count($users),$get_param,$per_page,8,$first,TRUE);
|
|
|
|