aceCheckBrowser - новая версия для особо продвинутых

Я уже писал про свой новый плагин aceCheckBrowser. Это плагин, который умеет проверять браузер, поддержку яваскрипта и даже подсовывать посетителю специальный шаблон, если тот зашел с мобильного устройства.

Но некоторым этого показалось мало. Хотелось знать о браузере больше, гораздо больше. Что ж, встречайте — новая версия плагина, который рассказывает о браузере все, что только можно рассказать. А если юзер с мобильника зашел — то и про мобилку его кое-что интересное рассказать может.

Вообще-то, ничего такого особенного я не изобрел, просто поискал, что уже есть на эту тему, и аккуратно закатал в красивую обертку. Итак, что у нас в результате вышло.

Самое главное: если плагин активирован, то во вьюер передаются две переменные — $oBrowser и $oMobileDevice.

И чтобы много не рассказывать, я лучше покажу, чего может дать $oBrowser:


Плюс, для облегчения работы разработчикам, есть функции проверки браузера:


Т.е. любой (абсолютно любой) браузер можно проверить с помощью автометода типа is<название_браузера>() или is<название_браузера_и_мажорная_версия>()

Особо должен отметить такую фичу: все это хозяйство будет работать даже на тех серверах, где файла browscap.ini нет и в помине, либо он не прописан в настройках php.ini. Плагин сам все найдет, где надо, и аккуратно инфу отдаст.

Теперь о мобилках. Кроме того, что плагин вообще определяет, не мобильный ли клиент пришел, он через переменную $oMobileDevice сообщает такие подробности:


Названия, по-мему, говорят сами за себя.

Да, и если кому вдруг нужно будет не во вьюере, а в пхп-скриптах информацию это получить, то эти объекты (Browser и MobileDevice) можно получить так:
$oBrowser = $this->PluginAceCheckBrowser_ModuleBrowser_Get();
$oMobile = $this->PluginAceCheckBrowser_ModuleMobile_Get();


После модерации плагин будет доступен здесь: livestreetcms.com/addons/view/210/
Если неохота дать, то сейчас он есть здесь: sourceforge.net/projects/acecheckbrowser/

И, как водится, админку для него тоже придется обновить. Брать ее либо здесь: livestreetcms.com/addons/view/132/
Либо здесь: sourceforge.net/projects/aceadminpanel/

UPD Забыл сказать: при активации плагина включается экшен по адресу мой_сайт/browser, где выводится информация о браузере пользователя. Скриншоты, которые в этом топике представлены — это как раз с такой страницы

10 комментариев

avatar
Отличная новость! Ещё бы получить возможность создавать произвольные группы браузеров, чтобы одним условием можно было проверять агентов, объединённых по определённым признакам, имеющим существенное значение в контексте конкретного проекта.

Сюда отлично вписался бы и пересмотр механизма сборки и отдачи статики, отвечающей за поведение и представление, основанный на упомянутых группировках или более узких условиях. А там, гляди, додумаемся и до аналога jeanny в Livestreet.

Но даже в этом виде плагин позволяет, например, использовать кастомные неймспейсы для ie в едином шаблоне, отфильтровывая при этом другие браузеры и старшие версии самого ie.

Благодаря этому решению у разработчиков шаблонов для Livestreet может появиться стимул начать, наконец, применять блочную вёрстку, поскольку поддержка отдельных браузеров и платформ теперь станет упорядоченной.
avatar
Вадим, а сильно ли плагин привязан к aceAdminPanel?
avatar
Даже не знаю, как ответить. При создании всех своих плагинов я исхожу, что есть админпанель. Я могу использовать в плагине свою автозагрузку классов, хелперы, общие функции, еще какие-то фичи, которые определены в админпанели. И делаю это, особо не задумываясь. Поэтому не могу сказать, что в таком-то плагине я использую, скажем, два таких-то метода хелпера из админки.

А это серьезная проблема — привязка к aceAdminPanel?
avatar
Не серьезная, просто я админку не использую (ну только функции сброса кеша украл =)), а этот плагин был бы очень полезным инструментом в дальнейших разработках.
avatar
Как сделать проверку просто на любое мобильное устр-во? Т.е., если человек зашёл с любого мобильного устр-ва, выводить часть кода, а если с компьютера — не выводить?
avatar
Уже использую плагин, очень пригодился. Не подскажешь как выводить для запрещённых браузеров определённый шаблон? Хочется сделать, чтобы была чистая страница и предложение скачать браузеры, а не грузился стандартный скин…
avatar
подскажите: под ls 0.5.1 адаптация будет? В каталоге пишут, что не совместим.
avatar
LS 0.4.2
aceadminpanel_1.4.190
При включении в админке acecheckbrowser_1.1.11:

Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template:
admin_info' in /var/www/p-port.ru/engine/modules/viewer/Viewer.class.php:506 Stack trace:
#0 /var/www/p-port.ru/engine/modules/viewer/Viewer.class.php(428): ModuleViewer->DefineTypeBlock('admin_info', NULL) #1 [internal function]: ModuleViewer->AddBlock('right', 'admin_info',
 Array) #2 /var/www/p-port.ru/engine/classes/Engine.class.php(348): call_user_func_array(Array, Array) #3
 /var/www/p-port.ru/plugins/aceadminpanel/classes/actions/ActionAdmin.class.php(2082):
 Engine->_CallModule('Viewer_AddBlock', Array) #4 [internal function]:
 PluginAceadminpanel_ActionAdmin->__call('Viewer_AddBlock', Array) #5 /var/www/p-port.ru/plugins/aceadminpanel/classes/actions/ActionAdmin.class.php(1981):
 PluginAceadminpanel_ActionAdmin->Viewer_AddBlock('right', 'admin_info', Array) #6 /var/www/p-port.ru/engine/classes/Router.class.php(209): PluginAceadminpanel_ActionAdmin->EventShutdown() #7 /var/www/p-port.ru/engine/classes/Router.class.php(67): Rout in /var/www/p-port.ru/engine/modules/viewer/Viewer.class.php on line 506

В чём беда? Версия админки вроде самая поздняя для 0.4.2, она же минимальная для acecheckbrowser.
avatar
Fatal error: Uncaught exception 'Exception' with message 'Can not find the block`s template

ищи проблему в шаблоне.
avatar
Я понимаю, что он на какой-то блок «admin_info» ругается, но дело походу не в шаблоне, поскольку при подключении любого другого шаблона происходит всё тоже самое.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.