ExBB Community » Файловый ExBB » Модификации и дополнения » Мод: Распознавание браузера пользователя

Страниц (2): [1] 2 »
 

1. electron - 25 сентября 2010 — 07:06 - перейти к сообщению
Назначение : мод показывает значек браузера пользователя перед его ником в списке присутствующих на форуме пользователей в блоке статистики и при клике на "Кто он-лайн?":



Опознаваемые браузеры :
- Internet Explorer
- Opera
- Mozilla Firefox
- Netscape
- Safari
- Google Chrome

Модификации Internet Explorer-а (MyIE, MyIE2, Maxton) опознаются как Internet Explorer, браузер Opera AC опознается как Opera.

Установка (Отобразить)




дополнения к моду :
Добавляем поддержку Яндекс-браузера
Отображение иконок на страницах форума
2. yura3d - 25 сентября 2010 — 12:21 - перейти к сообщению
electron
Проверил, работает. Однако, при входе на форум через IE8 появляется значок Mozilla. Не знаю как в других браузерах, а в Опере имеется возможность изменять заголовок HTTP_USER_AGENT с целью маскировки под IE или Firefox (кнопка F12, выбираем Настройки для сайта..., вкладка Сеть, пункт Идентификация браузера). В этом случае, разумеется, информация о браузере будет неверной

Я думаю, подобный мод был бы востребован, ранее уже обращались с просьбой о его создании
3. electron - 25 сентября 2010 — 13:03 - перейти к сообщению
yura3d пишет:
Не знаю как в других браузерах, а в Опере имеется возможность изменять заголовок HTTP_USER_AGENT с целью маскировки под IE или Firefox

ну это уже останется на совести юзверя. Улыбка
основная цель мода - так сказать, немного растворить "сухость" блока статистики.
По поводу ИЕ8 - проверим, под рукой его просто нету. Занимаемся прикруткой браузеров Safari и Гугл-хром.
4. electron - 27 сентября 2010 — 07:57 - перейти к сообщению
На момент написания данного поста имеется поддержка следующих браузеров:
- Opera
- Mozilla Firefox
- Internet Explorer (так же как этот браузер опознаются MyIE, MyIE2, Maxton)
- Netscape
- Apple Safari
- Google Chrome

поддержку браузера Mozilla наверно не стоит делать, т.к. разработка его уже не ведется и ему на смену пришел Mozilla Firefox...
5. altjo - 27 сентября 2010 — 20:54 - перейти к сообщению
протестированно в следующих браузерах
Opera 10.10
Google Chrome 6
Maxthon 2.5
Mozilla Firefox 3.6
6. electron - 2 октября 2010 — 15:50 - перейти к сообщению
инструкция по установке мода добавлена в первый пост темы. спасибо всем, кто принимал участие в тестировании мода
7. hariuss - 4 октября 2010 — 02:14 - перейти к сообщению
Небольшой косячок обнаружил, картинки браузеров, прилагаемые в архиве, не все имеют расширение "png" . У номеров 6 и 0 расширение "gif", из-за этого они не отображаются, измените расширение.
И еще заметил над шапкой форума выскакивает ошибка в 60 сторке файла tools (это на моем форуме), если перейти по ссылке "кто в онлайн" (нужно быть залогиненым) На Styles.exbb.org это 63 строка;
CODE:
Notice: Undefined index: br in /home/web/exbb/exbb.org/styles/tools.php on line 63

Убрал вот это:
CODE:
<img src="im/browsericon/'.$online['br'].'.png">
все вроде стало нормально. Спасибо за мод, electron Улыбка
8. electron - 4 октября 2010 — 05:24 - перейти к сообщению
hariuss пишет:
Небольшой косячок обнаружил, картинки браузеров, прилагаемые в архиве, не все имеют расширение "png" . У номеров 6 и 0 расширение "gif", из-за этого они не отображаются, измените расширение.

сорри, не тот архив прикрепил. исправлено

hariuss пишет:
И еще заметил над шапкой форума выскакивает ошибка в 60 сторке файла tools (это на моем форуме), если перейти по ссылке "кто в онлайн"

совсем забыл , что и по этой ссылке мод работает. инструкция исправлена Улыбка спасибо
9. mastersound - 4 октября 2010 — 17:22 - перейти к сообщению
А у меня вот что, когда хочешь посмотреть "кто в онлайн":
10. electron - 5 октября 2010 — 11:18 - перейти к сообщению
mastersound , проверяйте правильность установки мода. это единственное, что можно сказать. мод без проблем работает уже как минимум на четырех форумах (это только те, о которых я знаю)
11. Zeg - 17 октября 2010 — 05:59 - перейти к сообщению
Тема уже поднималась в других ветках, немного повторюсь: не все возвращают HTTP_USER_AGENT. В результате показ ошибки как "искалке-пауку" об отсутствии переменной, так и получение мусора в виде файла error_log. Поэтому я бы немного оптимизировал. В оригинальном include/fm.class.php в коде:
CODE:
/*
_OnlineLog функция ведет учет on-line пользователей
*/
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'];
$sessid = md5($this->_IP.$agent);//ID в массиве онлайн
$status = (!defined('IS_ADMIN') && $this->user['status'] != 'sm' && in_array($this->user['id'],$this->_Moderators) ) ? 'mo' : $this->user['status'];


подправил строку:

CODE:
$agent = (isset($_SERVER['HTTP_USER_AGENT'])) ? $_SERVER['HTTP_USER_AGENT'] : '';


А уже в коде мода вместо:

CODE:
$browser = 0;
$useragent = $_SERVER['HTTP_USER_AGENT'];
if(strpos($useragent,"MSIE") != false) $browser = 1;
if(substr_count($useragent,"Opera" ) != false) $browser = 2;
if(strpos($useragent,"Firefox") != false) $browser = 3;
if(strpos($useragent,"Netscape") != false) $browser = 4;
if(strpos($useragent,"Safari" ) != false) $browser = 5;
if(strpos($useragent,"Chrome" ) != false) $browser = 6;
$return['BROWSER'] = $browser;


записал:

CODE:
$browser = 0;
if ($agent) {
// $useragent = $_SERVER['HTTP_USER_AGENT']; - уже "сидит" в $agent
if(strpos($agent,"MSIE") != false) $browser = 1;
if(substr_count($agent,"Opera" ) != false) $browser = 2;
if(strpos($agent,"Firefox") != false) $browser = 3;
if(strpos($agent,"Netscape") != false) $browser = 4;
if(strpos($agent,"Safari" ) != false) $browser = 5;
if(strpos($agent,"Chrome" ) != false) $browser = 6;
$return['BROWSER'] = $browser;
}
12. Defenderyk - 6 июня 2011 — 18:21 - перейти к сообщению
странно, у меня не у всех определяет
13. Life-BE - 29 июня 2011 — 11:13 - перейти к сообщению

Всем Спасибо!
Установил. Работает Норм!
14. Lord Dewl - 27 ноября 2013 — 17:59 - перейти к сообщению
Я так предполагаю, распознавание броузера берется из файла onlinedata.php, на момент пребывания пользователя в онлайне.
А есть ли возможность помимо броузера, выводить еще и операционную систему? Ведь в этом же файле, как раз, и операционка тоже заседает...
15. deddedi - 11 августа 2016 — 23:10 - перейти к сообщению
opery определило как mozila

Яндекс.Метрика   

Powered by ExBB
[Script Execution time: 0.0523]     [ ]